以前使用PLC200的时候用过一个modbus主站程序(用的port 0),现在用smart使用一个SB CM01块儿,程序还是一样(系统块儿中也添加了SB CM01),用电脑监控报文时,却一条也收不到,可是PLC上RX/TX的指示灯却是偶尔闪以下,这样说明有数据传输啊,可是为什么监控不到任何报文呢?
是不是因为我少设置了什么东西了,导致PLC没用SB CM01这个块儿发送呢?
问题补充:
前提:使用西门子200 SMART PLC ,另外附加了一个SB CM01的模块,编程软件为STEP 7 MicroWIN SMART,modbus主站编程使用的程序块儿为MBUS_CTRL和MBUS_MSG。
说明下,如图1,我先用网线连接的PLC与电脑(图2),用于编程和下载,然后用一根485转USB的线连接了电脑和PLC的SB CM01模块儿,连接方式为图3。
顺便说一句,有位好心人回答说“通讯参数设置prot0口SMB30中,改为prot1口的SMB130中设置”,可是port口设置在哪儿我都没找到,麻烦告知。
另外,如果谁有用SB CM01模块儿实现的modbus485的主站从站程序,可以的话给我借鉴下,谢谢各位。
图片说明:
最佳答案
端口定义可以用程序赋值定义!
sbcm01 模块组态参数的分配
程序库官网有
Modbus RTU通信相关指令使用的视频教程链接如下:
Modbus RTU通信 从站编程 S7-200 SMART Modbus RTU通信(1):概述及从站编程——跟我学 http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1078
S7-200 SMART Modbus RTU通信(1):概述及从站编程——跟我做 http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1079
主站编程 S7-200 SMART Modbus RTU通信(2):主站编程——跟我学 http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1080
S7-200 SMART Modbus RTU通信(2):主站编程——跟我做 http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1081
下载测试 S7-200 SMART Modbus RTU通信(3):下载测试——跟我学 http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1082
S7-200 SMART Modbus RTU通信(3):下载测试——跟我做 http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1083
西门子热线工程师内部学习讲座-Modbus RTU部分:
S7-200 SMART PLC Modbus RTU(西门子热线工程师内部学习讲座)
详细的参考:参考,西门子 S7-200 SMART PLUS V1.8 技术参考,链接:https://support.industry.siemens.com/cs/document/76488152
里的modbus通讯章节,历程也有。
提问者对于答案的评价:
感谢 “WWCWWC” 和 “左传” 两位的回答,最后看了“左传”发的技术资料里的通信部分,终于知道自己问题出在哪儿了,很弱智的问题,MBUS_CTRL这个模块在200中没有port这个输入,在200smart中加入了这个输入,所以我用曾经200编的程序,编译下载任何问题没有,只是系统默认我选择了port0口,改用新模块就完全没问题了。
专家置评
已阅,最佳答案正确
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc126140.html