zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    json 拼二维json数组
    lnmp 环境搭建
    lnmp git ruby sass 安装
    制定clone的用户名
    git branch 重命名
    sql命令创建数据库
    layerui
    弹出确认框,打开新窗口
    Ajax请求小结
    .net core注入服务
  • 原文地址:https://www.cnblogs.com/dathlin/p/15010993.html
Copyright © 2011-2022 走看看