FOCAS简介
FANUC机器人提供的FOCAS可供开发者与设备进行通讯的API函数库及接口说明,FOCAS主要应用于0i和16i/18i/21i系列,而FOCAS2主要应用于30i/31i/32i系列等设备中,通过FOCAS可以实现里面数据的交互和信息的共享。
网络连接方式
一切的数据交互都建立在网络连接的基础之上,所以在进行开发之前我们需要对网络接通,FANUC支持HSSB(快速以太网)和Ethernet(以太网)方式连接,而且不同设备对这两种连接方式的支持也不同,所以在开发之前,你要确定你的设备支持那种连接方式,如cnc_allclibhndl3对以下设备只支持Ethernet连接。
连接流程
FANUC主要通过TCP/IP通讯协议来实现连接的,我们可以通过FOCAS提供了类库通过TCP/IP通讯协议来实现与设备的交互, 我们实现对系统绝大多部分数据的采集以及读写CNC包括刀具偏置、工件坐标系偏置、参数设定、用户宏程序变量以及补偿等信息。
返回状态
FOCAS为我们定义了统一的状态返回信息,通过返回值我们可以快速的判断当前函数执行的结果,并对返回进行了描述告诉用户该状态返回的意义。比如返回EW_OK代码该函数执行成功,同时也可以用数字0来表示。
创建Fanuc项目
这里我们创建一个简单的控制台应用程序,打开Visual Studio 2015,新建一个ConsoleApplication1程序。将文件fwlib32.cs(文件在.\A02B-0207-K737 (F)\Fwlib\Dot NET sample目录中)添加到项目中,并将FOCAS开发包中的Fwlib目录下的动态链接库拷贝到项目的bin\debug目录中,这里主要用到fwlibe1.dll(处理TCP/IP协议)、Fwlib32.dll(CNC数据窗口控制库)这两个库,其他的按需求添加即可。
文档查阅
写个简单的连接示例,首先打开FOCAS开发包,用IE浏览器打开FWLIB32.HTM文件(Focas首页),并允许读取电脑中的ActiveX控件,这样才能正常打开文档,在第10项Function Reference中找对应的功能函数,这里连接设备的函数是cnc_allclibhndl3方法。
应用示例
这里我们可以看到cnc_allclibhndl3的功能描述和对应的参数描述,这个方法有4个参数分别是CNC设备IP、端口号、超时时间以及句柄,接着在Main函数中定义这些参数并赋给cnc_allclibhndl3方法然后对返回信息进行判断,如果link ==Focas1.EW_OK则说明连接成功,否则连接失败。