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

相关推荐

  • 200PLC模拟量库转换到200Smart失败

    SMART200没有模拟量库文件,只有从200里面转换,为什么我建了之后不行,估计没建立好,哪位师傅有具体的链接或者说明最好,但为什么会出现这样呢?如图 最佳答案 200smart…

    SIMATIC S7-200 2021年7月5日
  • plc 扩展em231模块 梯形图

    扩展了plc的em231模块接入4个热电阻,plc接收了数据再除以10就是温度,可是刚开始的梯形图要怎么花?哪个指令代表接收了,因为我有四个,是要画四个指令来接收嘛?? 最佳答案 …

    2021年7月5日
  • PID给定值的设定

    请问一下各位。我在一段程序里看到PID给定值是0.388所对的温度值是23.5度,是怎么算出的,VD104 问题补充:程序输出时有这么一段,低于20度(11520)输出最大值.高于…

    SIMATIC S7-200 2021年7月5日
  • S7-200存储器地址

    请问:1,S7-200的存储器地址哪些位是掉电后保持掉电前状态的?         &nb…

    SIMATIC S7-200 2021年7月5日
  • STEP7 MICROWIN V4.0 SP6到哪里下载

    到哪里下载STEP7 MIROWIN V4.0 SP6编程软件 钻石用户推荐最佳答案 直接用 SP9 ,原来的项目文件完全可以打开…

    SIMATIC S7-200 2021年7月5日
  • EM253实现等长切割

    使用EM253运动控制模块控制伺服电机,需要实现手动的正点、反点,需要实现自动运行时对钢板的等长切割和触摸屏输入更改长度、速度功能。请问各位需要用到EM253程序的哪几个子程序啊?…

    SIMATIC S7-200 2017年12月7日
  • BCD码转换成整数指令 请教大神,我又来提问了

    BCD码转换成整数,视频讲解员强制赋值 IW0    为2#1001 0001 0001 0000&…

    2021年7月5日
  • 西门子200和西门子小型伺服V80的案例

    本人想用西门子200和西门子小型伺服V80实现位置控制,想请懂的给个建议或者提供下案例 最佳答案 目前详细的解决方案还在编写中吧。。 给你这个看一下,有一个连接举例:&n…

    SIMATIC S7-200 2021年7月5日
  • s7-200cpu无法下载

    s7-200系列的224cpu无法下载,我上载一次之后就无法在连接上,不知道是点到什么地方了,电脑、通讯线和PCPG设置我常用不会有错,多次测试还是连接不上,通讯设置总是提示地址不…

    SIMATIC S7-200 2020年10月31日
  • 请教一个关于s7-200里的计数器的问题

    按理说,s7-200里计数器在达到计数设定值后,C1应该置1,不过今天我遇到这样的情况:原来我设定C1计数20,当C1计数到17时,直接把计数值改成10,并下载到plc,结果C1计…

    SIMATIC S7-200 2020年11月5日

发表回复

登录后才能评论