首页 > 其它 > 正文 FANUC数控系统数据采集记录 浏览 1692 · 点赞 2 · 1年前 (2024-01-01) 记录FANUC数控系统数据采集二次开发.html 目录 一、找到FOCAS1/2开发包,需从厂家处购买,也可在百度上搜索。该开发包提供C++和C#语言接口。 二、在机床面板上设置通信相关参数,电脑端设置相关通信参数; 1、机床面板设置如下面几张图 2、测试通信是否正常 三、通过VS或其它编程软件进行编程和进行测试 1、新建C++控制台应用程序,命名为FanucDemo 2、准备工作 3、实现代码 目的:采集数控系统的数据,并作记录或展示。一、找到FOCAS1/2开发包,需从厂家处购买,也可在百度上搜索。该开发包提供C++和C#语言接口。可在百度自行搜索二、在机床面板上设置通信相关参数,电脑端设置相关通信参数;1、机床面板设置如下面几张图切换内嵌和PCMCIA需要断电重启。再设置电脑IP地址为192.168.3.40,40可改为其它值,不会设置可参考https://zhuanlan.zhihu.com/p/666828133 2、测试通信是否正常在电脑系统命令行中测试一下通信是否正常,电脑需要先安装telnet(可以在百度搜索https://baijiahao.baidu.com/s?id=1713848541788840210&wfr=spider&for=pc),安装好后在命令行输入telnet 192.168.3.39 8193,按回车键如果通信成功则会出现下图样式如果不成功则会出现下图样式通讯不成功需要检查一下网线是否连接好,或者将机床断电重启一下,或者检查数控机床以太网相关参数,这个需要查询FANUC厂家提供的参数参考手册。以太网相关参数编号如下:301 #1 = 1901 =0904 =0970 =0971 =0973 =0974 =0975 =0976 =08706 =011506 =011532 =011533 =014880 =014882 =014885 =024309 =0三、通过VS或其它编程软件进行编程和进行测试编程以VS2022软件读写宏变量为例展示1、新建C++控制台应用程序,命名为FanucDemo在项目-属性中将SDK关闭,如下图2、准备工作需要先将FOCAS1/2开发包中的Fwlib64.h Fwlib64.lib Fwlib64.dll fwlibe64.dll文件放入项目对应文件夹下Fwlib64.h、Fwlib64.lib与main.cpp在一个文件夹下Fwlib64.dll、fwlibe64.dll放入项目的FanucDemo\x64\Debug\文件夹下3、实现代码#include "Fwlib64.h" #include "iostream" using namespace std; #pragma comment(lib,"./Fwlib64.lib") //读宏变量 short rdmacro(unsigned short h, short number) { ODBM macro; char strbuf[12]; short ret; ret = cnc_rdmacro(h, number, 10, ¯o); if (!ret) { sprintf(&strbuf[0], " %09ld", abs(macro.mcr_val)); strncpy(&strbuf[1], &strbuf[2], 10 - macro.dec_val); strbuf[10 - macro.dec_val] = '.'; if (macro.dec_val <= 0) strbuf[strlen(strbuf) - 1] = '\0'; if (macro.mcr_val < 0) strbuf[0] = '-'; printf("%s\n", strbuf); } else printf("**********\n"); return (ret); } //写宏变量 short wrmacro(unsigned short h, short number, long value, short dec) { short ret; ret = cnc_wrmacro(h, number, 10, value, dec); return (ret); } int main(int argc, char* argv[]) { unsigned short h; short ret; ODBST buf; ret = cnc_allclibhndl3("192.168.3.39", 8193, 10, &h); if (!ret) { cnc_statinfo(h, &buf); short iNumber = 100; rdmacro(h, iNumber); wrmacro(h,iNumber,iNumber*437,3); rdmacro(h, iNumber); cnc_freelibhndl(h); printf("OK!(%d)\n", ret); } else { printf("ERROR!(%d)\n", ret); } return 0; } 先将系统宏变更100设置为258.14如下图再运行项目,会弹出如下同时观察系统宏变量100是否已经自动改变成45.1如下图 其它 已有2人点赞 打赏一下作者 上一篇 含指针的类 下一篇 没有了 猜你喜欢 倍福电子凸轮测试步骤 PLC是NPN型还是PNP型的区别 工业相机简介