三菱FX5U modbus tcp协议 plc做服务器和客户端案例程序提供调试工具程序注解通讯协议功能的配置。先甩个客户端程序片段//读取服务器数据 MOV K1 D100 //从站站号 MOV H0000 D101 //起始地址 MOV K10 D102 //读取数量 ADPRW K1 K0 D100 K4 D200ADPRW指令这里用了4号模式Modbus TCPD200是接收缓存区。重点看K0这个参数——它对应缓冲存储器地址SD21800用来存通讯状态码。调试时直接监控SD21800的值0x0000才是正常出现0x1234之类的赶紧查手册找错误代码。服务器端配置更简单直接在GX Works2里开搞参数-模块参数-以太网端口协议选TCP勾选Modbus服务器设置IP比如192.168.1.88固定端口号502默认值别改重点来了数据映射要对应Modbus功能码线圈状态对应M0~M1999保持寄存器对应D0~D1999实测发现地址偏移坑当用04功能码读D100时实际发过来的地址是十进制100但有些上位机可能按十六进制处理这时候要换算成0x64。三菱FX5U modbus tcp协议 plc做服务器和客户端案例程序提供调试工具程序注解通讯协议功能的配置。调试工具推荐用Modbus Poll连接时注意连接类型选TCPSlave ID填PLC的站号默认是255地址格式选PLC地址不是Modbus地址遇到过最蛋疼的问题——字节顺序。PLC默认是高字节在前但有些上位机用低字节在前。这时候在ADPRW指令后加个字节交换指令BSWAP D200 D300或者直接改PLC的通信参数在SD21801设置0x0002启用字节交换。客户端发送超时处理必须加在ADPRW后面跟个定时器超时3秒没响应就重试。实测网络不稳定时这招能救命ADPRW K1 K0 D100 K4 D200 OUT T0 K3000 LDP T0 INC D500 //记录超时次数最后说个骚操作——让PLC同时做客户端和服务器。需要开两个TCP连接在以太网端口设置里勾选允许同时通信实测最多支持16个连接。但注意别把客户端和服务器的端口号设成一样的建议客户端用5020之类的非标准端口。完整案例程序和参数截图已经打包需要的兄弟直接评论区喊666。下期预告用Python写个Modbus TCP暴力测试工具专治各种PLC通信玄学问题。
三菱FX5U玩Modbus TCP是真香,尤其是自带的以太网口直接支持协议栈。今天咱们直接上硬货,搞个PLC同时当服务器和客户端的骚操作,实测可用
三菱FX5U modbus tcp协议 plc做服务器和客户端案例程序提供调试工具程序注解通讯协议功能的配置。先甩个客户端程序片段//读取服务器数据 MOV K1 D100 //从站站号 MOV H0000 D101 //起始地址 MOV K10 D102 //读取数量 ADPRW K1 K0 D100 K4 D200ADPRW指令这里用了4号模式Modbus TCPD200是接收缓存区。重点看K0这个参数——它对应缓冲存储器地址SD21800用来存通讯状态码。调试时直接监控SD21800的值0x0000才是正常出现0x1234之类的赶紧查手册找错误代码。服务器端配置更简单直接在GX Works2里开搞参数-模块参数-以太网端口协议选TCP勾选Modbus服务器设置IP比如192.168.1.88固定端口号502默认值别改重点来了数据映射要对应Modbus功能码线圈状态对应M0~M1999保持寄存器对应D0~D1999实测发现地址偏移坑当用04功能码读D100时实际发过来的地址是十进制100但有些上位机可能按十六进制处理这时候要换算成0x64。三菱FX5U modbus tcp协议 plc做服务器和客户端案例程序提供调试工具程序注解通讯协议功能的配置。调试工具推荐用Modbus Poll连接时注意连接类型选TCPSlave ID填PLC的站号默认是255地址格式选PLC地址不是Modbus地址遇到过最蛋疼的问题——字节顺序。PLC默认是高字节在前但有些上位机用低字节在前。这时候在ADPRW指令后加个字节交换指令BSWAP D200 D300或者直接改PLC的通信参数在SD21801设置0x0002启用字节交换。客户端发送超时处理必须加在ADPRW后面跟个定时器超时3秒没响应就重试。实测网络不稳定时这招能救命ADPRW K1 K0 D100 K4 D200 OUT T0 K3000 LDP T0 INC D500 //记录超时次数最后说个骚操作——让PLC同时做客户端和服务器。需要开两个TCP连接在以太网端口设置里勾选允许同时通信实测最多支持16个连接。但注意别把客户端和服务器的端口号设成一样的建议客户端用5020之类的非标准端口。完整案例程序和参数截图已经打包需要的兄弟直接评论区喊666。下期预告用Python写个Modbus TCP暴力测试工具专治各种PLC通信玄学问题。