恭喜,你发布的帖子
发布于 2025-09-17 08:58:26
3楼
各位大佬我有问题请教,我目前用西门子200SMART拓展的SB CM01模块跟外部设备(天平)走RS232自由口通讯,用的空闲线和消息定时器接收;
然后根据天平说明书,用T38间隔3sec发送一次读天平的重量值指令‘PRT’,天平可以正常回传重当前重量值,这样验证没问题,可以反复读数;
但当PLC发送一个归零指令‘T’给天平后,天平会执行归零动作,但不回传信息,PLC这边监控发现,上述读重量指令PRT就发不出去了,程序上TON还是正常计数,3sec一个周期,但是读重量指令就是出不来,软件提示非致命错误000BH,我想请教下这种情况怎么可以设计规避下?目前发送和接收都用的中断;
8月份的时候解决了,汇报下~
在发送完成中断程序中,增加一条开启接收信息控制字节指令(SMB87或者SMB187,我用的2#10011100) ,程序末端增加一个BGN-TIME指令,时间存入某个VD地址如VD402中,然后在主程序或者子程序中用CALL-TIME指令将VD402存入VD406,做比较,如果VD406大于等于100(ms),认为接收异常或者没有接收到信息,则关闭对应接收信息控制字节(SMB87或者SMB187,2#00011100) ,紧接着重新RCV一次,到中断中,会重新开启接收,如果正常接收,程序正常运行没有问题,如果有异常,则会关断并重启接收;
请填写推广理由:
分享
只看
楼主