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

相关推荐

  • PC Access 和 STEP7是否兼容

    如标题所示,我在使用PC Access和S200通信正常后,再安装STEP7 S300的软件,测试客户机时提示An error has&nb…

    SIMATIC S7-200 2017年11月29日
  • S7-200型号上A与B的区别

    请问6ES7223-1PL22-0XB8和6ES7223-1PL22-0XA8,这A和B两字分别代表的什么意思?有什么区别?  最佳答案 西门子只有6ES7223-1PL…

    SIMATIC S7-200 2021年7月5日
  • PLC编程累加量得计算

    累量按日,月,年怎麽计算.怎麽却定每个月里有多少天 最佳答案 1、时间,取用系统时间即可。 2、时间取截至点即可,比如,1月1日的0点,到2日的0点这就是一天的。同理得到…

    SIMATIC S7-200 2021年7月5日
  • S7-200的存储

    我现在用的是CPU224xp,程序编好了保存好之后,一看程序文件为45K,我大部分用的V区,是不是这个程序已经超过了该CPU的存储能力了,如果超过了该怎么解决呢 最佳答案 呵呵,程…

    SIMATIC S7-200 2020年11月1日
  • s7-200有位置模块吗?

    我们知道S7-300有位置模块388模块,它是SSI接口,那么S7-200有位置模块吗?是否也是SSI接口? 问题补充:EM253是定位模块,主要是控制步进电机用的,位置模块是测量…

    SIMATIC S7-200 2018年3月6日
  • S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢

    S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢,伺服使能十几秒才能有反应,有的MBUS-MSG下一个通了但上一个没复位,比方说第2个MBUS-M…

    2021年7月5日
  • S7-200模拟量接线问题

    S7-200的硬件手册上的接线图上,模拟量模块上的接线图上标出未用的模拟量点正负要短接,例如我用了第一个点,那是不是剩下的B+和B-,C+和C-,D+和D-要短接,请问为什么要短接…

    SIMATIC S7-200 2020年11月1日
  • s7 200指令

    在S7 200中有些指令下面有个小红叉是什么意思? 最佳答案 表示你的软件目前所选择的PLC的CPU型号不支持此指令! 提问者对于答案的评价:谢谢你,我明白了!

    SIMATIC S7-200 2021年7月5日
  • S7-200PLC V区数值

    出厂设备,运行2天时间没有断电,运行中突然V区的参数80%都变了,有的变大,有的变小,有的不变,大约30个VD设定值,肯定不是程序问题,同一个程序在其他设备上没有出现此现象。即使程…

    SIMATIC S7-200 2017年8月1日
  • S7-200 DC输出点,在手册上查到是MOSFET管输出,而不是晶体管输出?

    大家好,我今天在S7-200选型手册里发现带直流输出的CPU的输出点里的元件是MOSFET管输出,而我在官网选型里查到是晶体管输出,这MOSFET与晶体管完全是两种不同的东西,这样…

    2017年11月20日

发表回复

登录后才能评论