C# FANUC 讀寫fanuc機床 fanuc 0i系列 上傳下載程序 可以運行在.net core跨平台,一套程序支持linux


主要使用的軟件是 HslCommunication 關於這個軟件的本身,詳細可以參考下面的地址:

github地址:https://github.com/dathlin/HslCommunication

官網:http://www.hslcommunication.cn

 

加群咨詢學習信息:http://www.hslcommunication.cn/Cooperation 

在Visual Studio 中的NuGet管理器中可以下載安裝,也可以直接在NuGet控制台輸入下面的指令安裝:

 

Install-Package HslCommunication

  

 

 如果需要教程:Nuget安裝教程:http://www.cnblogs.com/dathlin/p/7705014.html

組件的api地址:http://api.hslcommunication.cn

 

在開始之前,我們先來看看HslCommunication能干什么?

 

 

這是目前版本的demo信息,將來支持更多的功能。

我們來測試下,我這邊使用了虛擬的機床,型號如下:

 

 

具體可以參考demo的源代碼,每個按鈕怎么操作,調用了什么代碼都是有的,此處挑幾個功能說明下、

https://github.com/dathlin/HslCommunication

如果訪問慢的話,可以去gitee下載

https://gitee.com/Richard_Hu/HslCommunication

 

 

好了,我們進入正題,機床的端口都是默認 8193 的

所以我們實例化之前,先引用命名空間

using HslCommunication.CNC.Fanuc;
using HslCommunication;

  

然后實例化

private FanucSeries0i fanuc = new FanucSeries0i( "192.168.0.109", 8193 );

  

然后連接操作

			OperateResult connect = await fanuc.ConnectServerAsync( );

			if(connect.IsSuccess)
			{
				MessageBox.Show( StringResources.Language.ConnectServerSuccess );
			}
			else
			{
				MessageBox.Show( "failed:" + connect.Message );
			}

  

然后就可以愉快的讀寫數據了。我們來看下讀取程序列表:

			OperateResult<int[]> read = fanuc.ReadProgramList( );
			if (read.IsSuccess)
			{
				textBox8.Text = read.Content.ToJsonString( );
			}
			else
			{
				MessageBox.Show( "Read Failed:" + read.ToMessageShowString( ) );
			}

 看一下效果

 

 

 

 


 

我們再看下讀取坐標數據

			OperateResult<SysAllCoors> read = fanuc.ReadSysAllCoors( );
			if (read.IsSuccess)
			{
				textBox8.Text = read.Content.ToJsonString( );
			}
			else
			{
				MessageBox.Show( "Read Failed:" + read.ToMessageShowString( ) );
			}

  

看一下實際的數據

 

 


 

我們再來看一下報警信息

			OperateResult<SysAlarm[]> read = fanuc.ReadSystemAlarm( );
			if (read.IsSuccess)
			{
				textBox8.Text = read.Content.ToJsonString( );
			}
			else
			{
				MessageBox.Show( "Read Failed:" + read.ToMessageShowString( ) );
			}

 實際的效果。

 

 

 

我們最后再來看一個比較重要的功能,程序的讀寫操作,這樣就可以進行遠程修改機床加工程序操作。

			if (!ushort.TryParse( textBox9.Text, out ushort programNum ))
			{
				MessageBox.Show( "主程序號輸入錯誤!" );
				return;
			}
			button28.Enabled = false;
			OperateResult<string> read = await fanuc.ReadProgramAsync( programNum );
			button28.Enabled = true;
			if (read.IsSuccess)
			{
				textBox8.Text = "程序內容:" + Environment.NewLine + read.Content;
			}
			else
			{
				MessageBox.Show( "讀取失敗!" + read.ToMessageShowString( ) );
			}

  只要傳入程序號即可。

 

 

 

文本是有0x0a的換行符的,但是在winform的編輯框里不顯示,只需要拷貝到其他文本框,就可以自動換行操作的。

寫入也是一樣的源代碼。

 

 

如果使用過程中還有什么問題,可以聯系我 QQ200962190

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM