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

主题:smart200做Modbus通讯

点击:1347 回复:9

用Smart200做modbus通讯,从站是一个温控表,要设定温控表的温度,功能码是06,需要smart200发送报文:01 06 00 02 00 12 A8 07(00 12是发送数据,即温度设定值18度)
想问一下06功能码对应哪一类寄存器(1X、2X、3X、4X、5X、6X)?请做过的兄弟指导下。仪表地址见图片
附件 360截图16510924564268.jpg
最后修改:2020/12/4 8:39:54
20-12-04 08:20
06对应4XXXXX,把表中的00002H转成40003,用自带的指令写40003
20-12-04 08:50
06功能码应该只能写单个寄存器,所以MSG指令的Count那里只能填1吧?
20-12-04 09:44

引用 7583124 在 2020/12/4 9:44:31 发言【内容省略】

寄存器填写4开头的寄存器,比如400003,读写属性为写,
如果Count填写1,那么PLC发出的报文中的功能码就是06
如果Count填写大于1,那么PLC发出的报文中的功能码就是10
20-12-04 11:49
200smart的报文功能码是自适应的,这个用调试软件能看出来的。
20-12-04 15:17
明天试试,谢谢了
20-12-04 15:33

引用 7583124 在 2020/12/4 15:33:16 发言【内容省略】

好的,有问题再沟通。
20-12-04 18:33
问题已解决,确实是当时Count那里的数值搞错了,通讯上了,非常感谢!
20-12-07 09:11

引用 7583124 在 2020/12/7 9:11:31 发言【内容省略】

OK!有问题再来论坛。
20-12-07 11:18
用smart库指令时,写多个寄存器时功能码是10H,count大于1的时候功能码就是10H,地址加40001
20-12-08 08:06

工控新闻

更多新闻资讯