S7-200自由口通讯的监视分析方法

以下程序,执行过程中发生无规律的通讯中断且不自行恢复,STOP后RUN,再次M0.0置1后恢复通讯。将INT0中的ATCH挪到ENI前面后有改善,未再出现。但是不知道是不是根源。如何监视和分析自由口通讯的过程。请指教,是否有指令,寄存器或者程序,能够监视自由口通讯过程,如何使用的。源程序来自下面链接的发送程序,http://www.ad.siemens.com.cn/service/article/S7-200/S7-200freeport/Default.aspx#1_3。

图片说明:

S7-200自由口通讯的监视分析方法    S7-200自由口通讯的监视分析方法    S7-200自由口通讯的监视分析方法   

最佳答案

ENI是开中断指令。
一般常规编写程序的做法是先定义,定义通讯控制字节,定义通讯频率、定义通讯数据等,最后开中断。
如果把ENI写在前面,从理论上是不符号西门子编程环境的,西门子的思想是先定义后使用的原则,符合欧洲人的思维逻辑。
程序大致含义是:
首先定义通讯(自由口通讯参数)
定义通讯数据,由M0.0上升沿触发发送指令,即把上面定义好的数据发送出去
当发送完成进入发送完成中断,执行接收并再次定义接收完成中断(实际上这个完全可以在初始化程序段中编辑),你的问题是重新定义接收完成中断后,仍然需要定义ENI指令一次。
当接收完成后进入接收完成中断,你重新又再次定义定时中断_0 = 20,(mS)这里同样没有再次定义ENI。
当定时中断激活后,会在20mS的间隔发送你第一次定义好的数据。
我感觉你整体的程序架构不严谨,应该是初始化时,先定义好发送完成中断、接收完成中断,开中断,不需要定义定时中断的原因是自由口通讯是半双工通讯,一条通讯链路上只能有唯一的一条指令有效,而定义定时中断(它又不管你到底那条指令正常运行,或者指令没有运行,到点一定会发送一条指令的),这样会造成错误的几率会大。
正常应该是先定义通讯数据,完成后执行发送,在发送中断中编辑接收指令,在接收中断中再次编辑需要的发送指令,如此循环进行。
上述仅仅只是我是一点看法。

提问者对于答案的评价:
谢谢指教。收益匪浅。改过后偶尔会卡在发送中断,如何跳出,并恢复通讯?谢谢 。

最佳答案作者回复:
按我的思路,在发送完成中断中编写接收程序,在接收完成中断写发送程序,这个是我在编辑自由口通讯的工作经历,按此方法可以,不会产生指令之间的冲突。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc371026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午4:41
下一篇 2021年7月5日 下午4:42

相关推荐

  • 关于TD400C文本问题

    TD400C报非严重故障,运行时间错误000A;各位大神该如何解决呢?谢谢 问题补充:程序已经用了半年多了,今天才出现的这个故障 最佳答案 这个故障是PLC运行时间错误信息显示在T…

    SIMATIC S7-200 2021年7月5日
  • EM253 DIS输出及LMT输入问题

    我在使用EM253的过程中,脉冲在输出,但DIS使能不输出,需要怎么设置才能让DIS输出,还是需要什么语句输出能它,它的地址在哪儿看,还有LMT,STP等输入的地址在哪儿看?谢谢各…

    2020年10月31日
  • S7200PLC中使用RCV指令为什么报红?

    工程使用托利多电子秤与S7200PLC 224CPU进行自由口485通讯,在配置完自由口后,程序中使用了RCV指令,监控程序时显示我对端口同时使用了RCV/XMT指令,可…

    2017年8月15日
  • PLC200 I0.1输入50HZ的脉冲 Q0.0输出100HZ 或200HZ的脉冲能实现吗?

    如题 假设I0.0输入脉冲为50HZ的数字量 希望在Q0.0输出一个频率为100HZ 或200HZ的数字量输出 能否实现? 如果能…

    SIMATIC S7-200 2017年11月4日
  • PSE200U根因细查找

    PSE200U运用中不停地跳故障,影响机器运转,根因继续查找 图片说明:          最佳答案 负载不稳定 提问者…

    2021年7月5日
  • 增量式编码器调电保持

    增量式编码器实时脉冲用MOVD保存到VD0中,断电后由于脉冲为零导致上电后VD0还是为零!我的想法是上电后脉冲累计记数 应该如何处理? 最佳答案 第一次断电 上…

    SIMATIC S7-200 2021年7月5日
  • S7200ppi串口通讯电缆驱动

    S7200ppi串口通讯电缆驱动和USB驱动一样吗?不一样的话,谢谢哪位给我发下! 最佳答案 不一样,串口的无需驱动。 提问者对于答案的评价:好的!谢谢!

    SIMATIC S7-200 2017年11月16日
  • S7-200 通讯 PG/PC step7-Micro\Win

    笔记本操作系统是Win7 64bit旗舰版,安装了MicroWin v4.0 SP9.软件的安装和打开查看程序,都是没有问题的,但是,MicroWin…

    SIMATIC S7-200 2021年7月5日
  • S7-200与TP177A通讯不上为什么

    S7-200与触摸屏TP177A通讯不上怎么办 问题补充:我自己做的连线9针插头3对3,8对8,刚通电时数据会读出但1,2秒后马上就通信不上,请问是什么原因?谢谢 最佳答案 1,S…

    SIMATIC S7-200 2020年11月1日
  • 接收脉冲和周期有无关系

    接收脉冲和程序执行的周期有无关系 最佳答案 1、正常情况下是没有关系的。假如你的脉冲频率特别高而扫描周期又特别短,可能就会出现丢失脉冲的情况。 提问者对于答案的评价:hao

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论