上海跃韦科技集团有限公司
西门子PLC.西门子变频器 , 西门子电机.西门子触摸屏.西门子电缆.西门子变压器.西门子高压变频器。
SIMATIC河南汝州西门子PLC模块代理商

 200smart做了自由口通信,不知道程序哪里出问题了sm87.7为1 (1 = 启用接收消息功能)为什么状态字的sm86.7=1(1 = 接收消息功能终止;用户发出禁用命令)测试程序就是正转反转停止循环读取  

 

       定义了smb88 smb89 .我可以启动反正停止,就是不能读取数据了。


       现在的问题是如果变频器开机状态下,我下载程序,程序运行正常。如果把变频器关了重启,那么smb86一直为0,端口一直被占用,程序运行不了。smw92也试过,时间到了并没有终止接收(没有重新发送XMT)。 将SM87.7置位也没用 smb86还是为0 sm***只是在初始化程序里设置 为什么smb86.7还是为0呢? 还有用了smw92时间到了,sm86.2也应该为1啊

 

       如果出现组帧错误、奇偶校验错误、超限错误或断开错误,则接收消息功能将自动终止。

       必须定义开始条件和结束条件(*大字符数),这样接收消息功能才能运行

 

       方法1:将SM87.7或SM187.7置为0,且需边沿触发RCV接收指令。


       方法2:将SM87.2或SM187.2置为1,超出SMW92或SMW192的时间,终止接收。

 

       SM87.7 = 1,终止接收的可能原因:校验、数据帧、超时、中断等错误引起的自动终止。

 

       接收时间到达,而没有正常接收,说明你的程序还没有完善。


       正确的方法应该是当发送一个数据请求后,进入发送完成中断,等待接收。当接收时间到达后,仍然没有接收到从站的响应,那么,就需要考虑再发送一次数据请求的程序段了。


       SMB86仅仅是接收数据的状态字节,只是反映接收数据的状态,而不是控制字节


展开全文
拨打电话 微信咨询 发送询价