Labview和三菱FX系列PLC通讯 示范参考程序。 以及安装MX,可批量读取软单元。
三菱FX系列PLC和LabVIEW搭伙干活这事儿,不少工控老铁都挠过头。咱今天就撸起袖子实操一把,手把手教你用MX组件整活。别被那些官方文档唬住,其实关键点就那几个。
先得把MX Component这玩意儿装利索了。安装包扔进电脑后,记得勾选"ActivateX Control"这个选项(安装界面右下角藏得挺深)。装完别急着关,到控制面板里瞅一眼有没有多出个MX图标,没的话八成是杀毒软件抽风拦了驱动。这时候你得上设备管理器手动更新驱动,选那个带三菱logo的COM口驱动。
搞定了硬件配置,LabVIEW这边要整点骚操作。右键前面板选ActiveX容器,从弹出的列表里翻出"ActivateX Class - MELSEC_FXCom"控件。这时候你会看到个长得像计算器的黑框,右键它选"导入MX控件方法",瞬间能调用的函数就铺出来了。重点盯这几个函数:Open、ReadDeviceBlock、Close,咱们的读写全靠它们。
Labview和三菱FX系列PLC通讯 示范参考程序。 以及安装MX,可批量读取软单元。
来段真香代码:
串口配置.vi (波特率:9600, 数据位:7, 停止位:1) MX_Open.vi (站号:0, 超时:5000ms) MX_ReadDeviceBlock.vi (起始地址:D100, 读取数:10) 错误处理.vi (连到每个函数的error out)这串代码的关键在超时设置。很多新手栽在这儿,设个200ms就敢跑,结果PLC还在吭哧吭哧传数据呢,LabVIEW这边就报超时错误了。建议首次调试直接拉到5000ms,稳了再往下调。
批量读取软单元才是重头戏。比如要抓D100到D120这21个寄存器,别傻乎乎地用for循环挨个读。直接构造个读取指令字符串:"D100*21",MX组件看到星号就知道要整块搬数据。实测这种操作能省下2/3通讯时间,特别是用RS485的时候效果拔群。
遇到数据错位别慌,八成是字/字节模式没整对。在ReadDeviceBlock的property节点里,把"DataType"改成WordArray,立马药到病除。要是还抽风,检查PLC的通讯协议设置,FX系列默认是专用协议,别和Modbus搞混了。
最后来个实战技巧:在While循环里套个事件结构,把读取按钮事件和定时读取事件分开处理。这样既能手动点按测试,又能挂着自动采集。记得在循环结束前放个MX_Close.vi,不然下次运行时会报"端口被占用"的幺蛾子。