欢迎进入PLC功能块藏馆 !
AB PLC 以太网通讯三菱PLC
来源:PLC Library 功能块藏馆原创开发 | 作者:PLCLibrary | 发布时间: 2022-03-28 | 1937 次浏览 | 分享到:


一个功能块搞定AB PLC跟三菱 Q系列,R系列,5U系列的通讯


此功能块适用于AB studio5000 编程,通过调用此功能块实现以太网与三菱Q系列,R系列,FX5U的通讯,此功能块的作用类似高级语言的Dll库文件。

此功能块实现了MC 3E、SLMP协议,通过调用MCDll功能块,可以实现对三菱PLC内部变量的读写等。

调用此功能块后,AB PLC和三菱PLC之间将不再需要网关,仅需交换机将PLC的内置以太网口连接起来即可,两PLC需处于同一网段,互相之间可以ping连接。

此MCDll功能块基于标准以太网,属于ISO/TCP IP模型中的应用层,与modbus tcp属于同一级别,实时性和速度都等于modbus tcp。测试PLC扫描周期设定2ms时,通讯在4ms左右,但一般不需要这么快,用程序默认设定一般在10ms即可。


测试采用1769及1756模块与三菱Q系类内置以太网CPU,FX5U进行进行的,PLC无需任何设置,直接调用此功能块即可,由于AB ab PLC的以太网通讯指令必须要求全局变量,无法封装,所以调用此功能块后,部分全局变量需要手动设置参数。


 FX5U内置协议名称为SLMPMC3E协议可兼容,FX5UUDP SLMP通讯时需要设置通讯对象的IP地址。参数设置如下:


QCPU协议名称为MC协议,Q系列PLC内置以太网口通讯时MC协议通讯时无需指定通讯对象的IP地址,参数设置如下:

为节省资源,此功能块支持轮询通讯,所有的输入参数可以在通讯过程中改变,如IPAddressPort 通讯地址及端口可以在通讯过程中通过变量改变,下一个扫描周期即可生效。

通讯完成的反馈脉冲ReadDoneWriteDone报告读写状态,此时的FromNode信息即为当前的通讯节点信息。

当然,也可以多次调用此功能块跟多个PLC通讯,以保证最快的通讯速度。如多次调用需改变内部参数,请联系作者www.plclibrary.com

此功能块内部虽然做了通讯监测,并给出了Warning信号,但是每个应用对网络的连接要求不一样,如有的现场通讯受干扰丢包一次,马上又恢复,仅仅是少了一次刷新,完全不影响应用,此时即可忽略此warning。如需判断网络通断,建议用看门狗监视心跳数据,并根据现场要求调节灵敏度。

管脚说明:


RWStart

on通讯开始,off停止通讯

IPAddressPort

三菱PLCIP地址及端口号,如:192.168.3.30:6000,标点符号均为英文输入法状态下符号

ReadDataType

要读取数据的类型及地址,目前支持DWMLXY地址,格式如:D100,注意三菱的地址有些为16进制,如此处填写‘W100’,实际对应三菱的W64

ReadDataLen

要读取数据的长度,以字(16bit)为单位

INWriteCMD

写数据到对方PLC命令,写数据有高优先级,当没有写命令时自动执行读命令刷新数据

WriteDataType

写数据的类型及地址,目前支持DWMLXY地址,格式如:D100,注意三菱的地址有些为16进制,如此处填写‘W100’,实际对应三菱的W64

WriteDataLen

写取数据的长度,以字(16bit)为单位

WriteDataArry

写取数据的字节数组

Information

报错等提示信息,正常为www.plclibrary.com

NetConnected

端口初始化成功

Error

报错状态,如有此报错,则网络或者程序故障

Warning

警告状态,如有此警告表明对方PLC反馈了错误代码,或者网络有丢包,当网络恢复后,通讯会自动恢复

Circuilttime

估算的刷新周期

ReadDone

读对方PLC数据完成

WriteDone

写对方PLC数据完成

ReceiveData

读对方PLC数据存储池

FromNode

对方PLC网络信息

为了节省PLC资源,程序内部几乎不对管脚输入值做防呆判断,如数据类型请严格按照示例样式去写,如D100而不是D  100或者SD100,虽然编译可以通过,但没有人知道程序会怎样执行。