由于项目需要利用C#做上位机与FANUC机器人进行通讯,用的是fanuc的interface。网上相关资料比较少,摸索之后整理出这篇文章并测试通过,希望对大家有所帮助。
注意要用interface实现与fanuc机器人的通信,需要机器人已购买该功能。
自己实现的demo、参考的文档和案例、interface软件可在此下载:
下载地址
一:准备dll文件
安装fanuc的interface软件,在安装目录下找到FRRJIF.dll文件。
二:C#中引用
在自己的C#项目中添加引用,将上述的DLL文件添加进来。
添加完成之后,在 对象浏览器中可以 看到刚刚添加的DLL
三:DLL怎么用
这方面搜集到的资料不多,有用的包括一个英文版的interface文档和一个别人的案例,经过自己研究,目前可以完成自己的需求,下面的步骤也是基于我自己的研究和理解所写,如果有误请指出。
下面这幅图是文档中的读写数据的流程图(文档第二页),自己在写代码的时候也要按照图中的步骤来,否则会出现问题。
(1)定义变量
首先定义一些变量,方便使用,这里基本涵盖了我们能用到的功能
static FRRJIf.Core mobjCore;//
static FRRJIf.DataTable mobjDataTable;//数据表
static FRRJIf.DataTable mobjDataTable2;
static FRRJIf.DataCurPos mobjCurPos;
static FRRJIf.DataCurPos mobjCurPosUF;
static FRRJIf.DataCurPos mobjCurPos2;
static FRRJIf.DataTask mobjTask;
static FRRJIf.DataTask mobjTaskIgnoreMacro;
static FRRJIf.DataTask mobjTaskIgnoreKarel;
static FRRJIf.DataTask mobjTaskIgnoreMacroKarel;
static FRRJIf.DataPosReg mobjPosReg;//PR寄存器
static FRRJIf.DataPosReg mobjPosReg2;
static FRRJIf.DataPosRegXyzwpr mobjPosRegXyzwpr;
static FRRJIf.DataPosRegMG mobjPosRegMG;
static FRRJIf.DataSysVar mobjSysVarInt;
static FRRJIf.DataSysVar mobjSysVarInt2;
static FRRJIf.DataSysVar mobjSysVarReal;
static FRRJIf.DataSysVar mobjSysVarReal2;
static FRRJIf.DataSysVar mobjSysVarString;
static FRRJIf.DataSysVarPos mobjSysVarPos;
static FRRJIf.DataSysVar[] mobjSysVarIntArray;
static FRRJIf.DataNumReg mobjNumReg;