• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025全景工博会
PLC

plc自由口编程处理

  2015年02月03日  

  PLC做主站的时候,不管PLC连接的是单从站还是多从站,主站程序都应该考虑到从站会发生故障,从站故障有两种,一种是有故障,但不影响和主站通讯,另一种是有故障,不能和主站通讯,例如从站掉电,通讯线故障或者从站本身故障导致的不能和主站通讯。

  对于后者,主站在发送后,从站是不会回复数据的,主站不能等,而应该结束RCV接收状态,然后发送,那么为什么和如何结束RCV接收状态呢?

  一 为什么要结束RCV接收状态呢?

  发送指令XMT将数据发送出去就完事,而接收RCV不一样,一次完整成功的RCV过程需要以下步骤:

  1 使能位:SM87.7=1/SM187.7=1,执行RCV的时候会检查该位

  2 执行RCV

  3 等待消息起始条件

  4 接收信息

  5 等待消息结束条件

  6 退出接收状态

  RCV指令启动后并不一定就接收消息,如果消息起始条件没有达到,那就一直处于等待接收的状态;

  如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。

  所以要结束接收RCV接收状态后才能执行XMT。

  二:如何结束RCV接收状态?

  手册上给出6种结束条件:

  1.结束字符检测

  2.字符间计时器

  3.信息计时器

  4.最大字符计数

  5.校验错误

  6.用户终止

  方法1:前4种条件在从站发生通讯故障后就失效了,必须要配合用户终止

  一般执行XMT后,在发送完成中断里执行RCV,同时启动定时中断或者启动定时器或者执行开始间隔时间BITIM,计时时间到复位使能位SM87.7/SM187.7,同时执行RCV,这样结束RCV指令,比如定时中断里发送:

  LD SM0.0

  R SM87.7, 1

  RCV VB0, 0

  S SM87.7, 1

  LD SM0.0

  DTCH 10

  LD SM0.0

  XMT VB100, 0

  方法2:设置:SMB87=16#9C, SMW90/SMW190=0,SMW92/SMW192=x

  执行RCV指令x毫秒后自动结束接收状态。

  如果用的是字符中断方式接收信息,那么将中断分离后即可发送

  DTCH 8

  XMT VB100, 0

  用结束字符作为结束条件的时候,如果与设备的通信断了,CPU就会停滞在接受状态,之后的发送也不成功了,通讯也彻底断了。

  后来别人教我在发送前面用复位SMB87.7结束发送就好了。

  自由口用RCV接收,接收到的数据总是一部分,不全,反复检查做实验,才发现原来是结束的定时器时间设短了,导致数据没有接收完,RCV就结束了,增大了时间,一切就OK了。

  刚做自由口编程时,一下载下去,编程软件就无法和CPU通信了,后来打到停止状态,CPU才恢复PPI,可以正常监控,下载了

最新视频
图尔克亮相2025上海工博会精彩花絮   
探馆 | 深化“双元本地化”战略,博世力士乐以全球首发新品兑现承诺   
研祥金码
重新定义可靠传动,共同创造美好未来!
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
研祥金码R-6000系列读码器调研活动
研祥金码R-6000系列读码器调研活动

Regem Marr研祥金码R-6000H智能读码器,拥有高精度AI算法,精准读取各类条码,在多个行业内帮助企业降本增效

立刻注册,赢取好礼!西门子2025工博会系列直播活动
立刻注册,赢取好礼!西门子2025工博会系列直播活动

步入9月,即将迎来工业人一年一度的相聚时刻,9月23-25日,第五届西门子工业论坛 如约而至!通过三日全天候直播,我们将

在线会议
热门标签

社区