加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线18475208684

西门子代理商-河南一级代理-PLC伺服电机驱动变频器一级代理

更新时间
2024-09-30 08:00:00
价格
请来电询价
西门子变频器
西门子触摸屏
西门子伺服电机
西门子PLC
西门子直流调速器
西门子电缆
联系电话
13922889745
联系手机
18475208684
联系人
向小姐
立即询价

详细介绍
案例一:字符接收缺失


故障现象


某现场使用S7-200 SMART 自由口通讯协议接收仪表数据。以常用的字符间定时器作为接收消息的结束条件。程序中规定定时器时间寄存器SMW92=5ms,传输7个数据位,偶校验。实际测试时发现当通讯波特率为4800bps、9600bps、2400bps时均可以正常接收到仪表数据。但是当波特率设置为1200bps时,却只能接收到首字节的数据。 



案例分析


1200bps波特率代表每秒可以传输1200bit,1秒等于1000000us,可以计算出每一个bit需要的时间约为833.33us。 


传送的数据由多个字符组成。每个字符由1位起始位+7位数据位+1位校验位+1位停止位=10位构成。 


可以计算出传送1个字符需要的时间为8333.3us,即8.333ms,也就是说传输1个字符至少需要8.3ms。 


如图1所示。如果字符间定时器SWM92小于8.333ms,则接收到一个字符后终止,后面的字符无法接收到。 


图片

图1.计算发送一个字符需要的时间



图2为字符间定时器作为接收结束条件的示意图。接收到每个字符的停止位时重新启动字符间定时器,字符间的时间超出 SMW92中指定的毫秒数,接收消息功能将终止。之后接收到的字符被忽略。因此会出现以上的故障现象。


解决的方法是:调整波特率或者调整定时器SMW92的时间。想必您对自由口参数以及接收条件了解之后,对以上问题便有了深刻的理解,当然也就更好排查。 


图片

图2. 使用字符间定时器作为接收结束条件



案例二:接收无法终止

故障现象

某现场,当从站故障或者通讯电缆损坏时, 接收端CPU 的通讯端口始终处于接收状态。并且无法发送数据。由于一直接收不到数据,后续的读写操作也无法进行。


当遇到这种情况,我们该如何结束当前端口的接收状态,以便继续执行后续自由口的发送和接收操作呢?


案例分析

有两种处理该问题的方法: 

1. 使用任意字符检测作为接收消息的起始条件,选择消息定时器和其它结束条件组合作为接收消息的结束条件。 


原理如图3所示,这种接收条件下,RCV接收指令触发的同时开始计时,计时时间到则结束信息接收。也就是说这种方式下,接收操作只和接收时刻和消息定时器两个因素相关。 


当触发RCV指令并且到达消息定时器设定的时间后,即使没有接收到任何数据,也会结束当前的接收状态。反之,如果消息定时器的时间到达,但是实际接收数据还没有结束,晚于定时时间到达的信息将被忽略。

图片

图3 使用任意字符开始消息接收和消息定时器终止消息接收 


2. S7-200 SMART CPU 在发送完成中断中执行 RCV 指令并捕捉信息接收的开始时间。如果捕捉间隔时间超出一定时间依然未接收到信息,则认为信息接收超时,通过程序人为终止信息的接收。 


使用图4中的BGN_ITIME指令记录执行RCV时的起始时间,图5中的CAL_ITIME指令记录执行RCV的经过时间,当执行RCV的时间超过100ms,则禁止RCV接收消息。 

图片

图4 使用捕捉时间间隔指令处理程序 


图片

图5 使用捕捉时间间隔指令处理程序 


通过以上两种方法,就可以帮助我们解决当从站故障或通讯电缆损坏时,通讯接口一直处于接收状态的问题。


特别是由于某些情况下PLC发送的数据,仪表并没有接收到时。此时仪表也不会反馈数据给PLC,则PLC会一直处于等待状态。即使此时仪表或者线路恢复正常,仪表由于没有再次接收到PLC的数据请求,也不再会反馈数据的问题。 



4321398834.jpg

4323444687.jpg

4324999529.jpg


相关产品

联系方式

  • 电  话:13922889745
  • 经理:向小姐
  • 手  机:18475208684
  • 微  信:18475208684