您当前的位置:五五电子网电子知识plc技术PLC入门揭示plc程序错误的普遍性 正文
揭示plc程序错误的普遍性

揭示plc程序错误的普遍性

点击数:7219 次   录入时间:03-04 11:39:27   整理:http://www.55dianzi.com   PLC入门
10秒缺掉了,东西左转红灯45秒漏了,最后东西直行红灯55秒也漏了。要改变这一情况,需要改变后一程序,同时再引入两个定时器,把红灯控制切分成两段完成。可能人们认为上一个问题不算严重,因为原来程序在启动一分钟之后就能达到正常。但下面的强通控制的错误确是比较严重的。所谓强通是指紧急车辆到达路口时,人工控制按下相应方向的强通开关,使得这一方向的绿灯亮,另一方向亮红灯。紧急车辆过去之后,强通开关方块,强通方向绿灯闪动三下之后,恢复原来的系统运行。程序错误(3):强通按钮放开之后,按规定强通方向绿灯应该闪烁三下,然后熄灭,但实际情况是绿灯没有按照规定闪烁和停止,而是持续发亮。原因分析:我们以东西向直行绿灯控制程序段为例分析这一问题。该程序中100.12为控制东西向绿灯的输出变量。该方向的强通通过hr0.00控制,强通按钮按下之后,该变量为1,从而引起100.12输出为1,绿灯亮。强通按钮放开之后,这条通路切断,hr0.01变为0之后,hr0.03会变为1,过程在这里略去。hr0.03所在的通路将产生一个3秒钟的闪烁脉冲。编程者的意图是通过它在结束强通之后制造一个绿灯闪烁过程。然而,由于变量100.12的反馈存在,一旦该变量为1,它将自动地继续保持为1。只有两种方式可以使它恢复为0,一种是30秒定时器到时(tim010),另一个是另一方向的强通信号hr0.01。在同方向强通信号结束之后,一般情况下,上述两个信号均不会转为1,因此绿灯无法马上停止。系统并不产生规定的效果。这是一个比较严重的错误,因为此处本应经过绿灯闪烁转为红灯,但系统却始终保持绿灯。这样的系统是无法接受的。这一问题的解决比较复杂一点。由于我们的主要任务是发现错误,此地我们不再讨论如何修正这一错误的问题。 图9  东西向直行绿灯控制程序分析图5、第二个十字路口交通灯控制程序本节讨论另一本书上的交通灯控制程序中的错误。这一程序没有处理强通控制这样的复杂问题,但是人行道控制同主干道控制分开处理,结果在人行道控制上出现了错误。题目:交通灯控制程序来源:plc应用开发实用子程序编程平台:西门子s7-200时序控制:(90秒周期)南北主干道  左转绿10秒,绿30秒,绿闪3秒,黄2秒,红45秒;东西人行道:红13秒,绿27秒,绿闪3秒,红47秒;东西主干道: 红45秒,左转绿10秒,绿30秒,绿闪3秒,黄2秒;南北人行道:红58秒,绿27秒,绿闪3秒,红2秒。 注:(1)绿闪包括转向绿灯和转向绿灯;2)东西人行道指东西两端的人行道。测试显示该程序时序上运行正确,但是在关机时出了问题。程序错误:按下系统停止开关,大部分灯都熄灭,但两个方向的人行道上亮起红灯。程序分析:我们以控制东西方向人行道红灯的变量q1.3的计算为例进行分析。下面把相关程序段专门抽出来进行分析(见图10)。  图10  相关程序段分析图图中可见,当m0.4q1.3将输出1。当t7,t80m0.4必定为0。系统停止开关是i0.2,它按下之后会使m0.1变为0,该变量是控制系统活动的主要变量,它变为0将使一系列变量变为0,也包括t7t8。然而这样做却没有关掉东西两端人行道的红灯。南北两端人行道红灯采用的是类似程序,因此也没有关掉。程序修正:只需把m0.1直接加入到人行道红灯的控制中即可。6、结束语本文分析了来自两本plc教材的4个程序例子,从中找出大大小小8个错误,并对这些错误的原因进行了分析。我们希望这个分析能够帮助程序员减少编程错误。本文目的是为了揭示plc程序错误的普遍性。这些错误不能简单归咎于作者的失误,主 要原因是编程模式的复杂性以及测试手段的缺乏。失误是人类的普遍行为。对于计算机程序这样复杂的对象,出错经常出现。程序编制过程本身就是一个不断尝试不断纠正错误的过程。然而,在plc领域,离线的调试工具比较薄弱,迄今为止最好的调试方式依然是现场调试

上一页  [1] [2] [3] [4] 


本文关键字:程序  PLC入门plc技术 - PLC入门

《揭示plc程序错误的普遍性》相关文章>>>