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

主题:smar200二次调用MBUS_CTRL问题

点击:1185 回复:9

因为我有些仪表不能修改奇偶校验方式,所以想在程序里调用二次MBUS_CTRL,做法是第一组CTRL和MSG指令结束后10多秒,才开始第二组调用,但第二组一直不成功,MSG指令的错误代码都是3.现在想请教下,200smart里面允不允许这种调用方式?可以的话该怎样重复调用?我目前方法是切断第一个CTRL的EN和FIRST端,然后才接通第二个的。二组CTRL和MSG单独测试都是可以正常通讯的。
20-01-08 17:14

引用 truezhang 在 2020/1/8 17:14:29 发言【内容省略】

错误代码3是超时无响应啊!你单独测试两个站没有问题吧?!程序能不能发出来看看再说。
20-01-08 18:45
附件:
[本地下载]
这是我那个源程序,程序稍微做些改动,M0.0和M0.1分别的MODBUS指令采集数据都正常,二个一起循环运行,M0.1后面的就报错
20-01-08 20:27
悄悄告诉你,最好用M2.0以后的位做触发控制,别问为什么,应为我也和你遇到过差不多的问题。
具体原因我也不知道,反正我换成2.0以后的位后问题解决了
20-01-08 20:47

引用 truezhang 在 2020/1/8 20:27:26 发言【内容省略】

1、T33延时时间是500ms,你把时间延长至大于1000ms试试:
附件 image.jpg
2、不要用V0.1去驱动下一个MSG指令,V0.1接通后复位V0.0、V0.1,置位V2.0,用V2.0驱动下一个MSG试试:
附件 image.jpg
20-01-09 07:24
好的,以上方法我都试试
20-01-09 14:23

引用 truezhang 在 2020/1/9 14:23:28 发言【内容省略】

有问题再跟帖交流就是。
20-01-09 14:35
附件 QQ拼音截图20200110105051.jpg
谢谢各位大大指教,昨天方法都试了遍还是不行.后换成上面测试方式,手动接通M0.0,M0.1,观察PORT0 口的奇偶校验标志位SM30.6和SM30.7,发现系统只接受第一次接通的指令,后面即使断开再接通下一个,奇偶标志位还是不会变化的,除非重启CPU,所以试问问能否有改变系统奇偶标志位的方法?
20-01-10 10:58

引用 truezhang 在 2020/1/10 10:58:03 发言【内容省略】

不行加一个中间转换装置,把校验方式统一一下。
20-01-10 19:14
分享下解决办法,调用指令前先修改SM30里面的值就可以多次调用了
20-01-13 11:22

工控新闻

更多新闻资讯