登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:西门子1200做ModbusRTU从站失败

点击:1294 回复:10

一、硬件配置为西门子1214扩展CB1241通信板,如下所示
附件 image.jpg
二、前面使用老板ModbusRTU从站指令,通信正常
附件 image.jpg
附件 image.jpg
MB_COMM_LOAD和MB_SLAVE指令的状态码都为16#0000,和ModbusPoll调试助手通信正常
附件 image.jpg
附件 image.jpg
三、后使用新版ModbusRTU从站指令,无法通信
附件 image.jpg
附件 image.jpg
MB_COMM_LOAD的错误代码为16#7001,MB_SLAVE指令的状态码为16#7000和16#8280交替显示
附件 image.jpg

请教一下,新版指令为什么通信失败呢?
23-08-04 11:03
你需要提供你的CPU的固件版本号以及通讯板的固件版本。
Good Luck~
23-08-04 11:57

引用 cvlsam 在 2023/8/4 11:57:19 发言【内容省略】

1214CPU版本是V4.5,CB1241版本是V1.0
附件 image.jpg
附件 image.jpg
23-08-04 12:30

引用 gyn19821205 在 2023/8/4 12:30:13 发言【内容省略】

新版本 Modbus RTU指令通过CM1241通信模块或CB1241通信板进行Modbus RTU通信时,需要满足如下条件:
a. S7-1200 CPU 的固件版本不能低于V4.1;
b. CM1241通信模块或CB1241通信板的固件不能低于V2.1。
Good Luck~
23-08-04 13:01

引用 cvlsam 在 2023/8/4 13:01:45 发言【内容省略】

新版本Modbus RTU指令对CB1241通信板还有要求?CB1241不就1.0一个版本么?
23-08-04 14:29
选下面那个MODBUS指令,MB_Slave
23-08-04 17:00

引用 cvlsam 在 2023/8/4 13:01:45 发言【内容省略】

之前的程序在OB100里调用MB_COMM_LOAD指令,然后MB_Slave指令就报16#8280,提示不能识别CB1241,导致通信失败
后来在OB1里调用MB_COMM_LOAD指令,REQ端使用FirstScan,不报错了,可以通信
CB1241版本为1.0
23-08-04 23:06
还有一种方法通过485转Profinet做Modbus通讯,不需要写程序,直接生成GSD文件之后分配IO地址,简单省事
最后修改:2023/8/5 15:25:40
23-08-05 15:24
异步通信,MB_COMM_LOAD指令不建议在OB100里调用,可以在OB1里使用FirstScan触发。
23-08-05 23:48
可以用IGT-SER模块,西门子网口转ModbusTCP和ModbusRTU从站,不用PLC内编程的:相关案例
最后修改:2023/8/10 9:27:20
23-08-10 09:26

上一页下一页

工控新闻

更多新闻资讯