编制PLC程序注意的问题说明:网友通过邮件发送来的文章
可编程序控制器(PC)的应用中,我们常会碰到对继电器控制系统的改造问题,这时我们往往要参考原有的继电器控制电路来编制PC的应用程序。因此,在编程时,我们应注意PC控制系统与继电器控制系统工作方式上的一些不同。
下面我们看一个例子:一个继电器控制回路如图1 所示。
因继电器控制系统是以“并行”方式工作的,而且其触点的通断需要一定的动作时间。所以当该电路起动后,时间继电器KT延时时间到时,KT是否能继续保持通电状态,需要同时考虑“并行”的两个动作过程:KT的常闭延时触点断开,KA1失电,KA1常开触点断开;KT的常开延时触点闭合,KA2得电,KA2常开触点闭合。这两个过程作用的结果,来决定KT的状态。同时,触点动作时间的存在,使得电路出现时序竞争。因此该电路不能可*工作。如果加入虚框中的回路,并如图1把KA2的常开触点换成KA3的常开触点(见图1中括号)。结果是KT动作后,KT自身失电,就不会继续保持通电状态。
同样是这个电路,我们用PC来实现,梯形图如图2 所示。
PC是以“串行”方式工作的,也就是以扫描的方式,循环地、连续地、顺序地,逐条执行程度的方式工作。同时,PC中,软触点的动作可认为是瞬时完成的,且其能把本次动作的结果记忆保持到下一次扫描运算时为止。即具有记忆保持功能。按这样一个顺序“串行”的工作方式,梯形图动作顺序如下:当在某一扫描周期中TIM00延时到后,则:
1. TIM00常闭触点断开(OFF),0000 OFF;
2. TIM00常开触点闭合(ON),0001 ON;
3. 0000常开触点OFF,0001常开触点ON,TIM00继续保持通电状态。而且不论我们在0001与TIM00之间再加多少级前面继电器电路所加的虚框中的回路,并把0001常开触点换成所加回路最后一级继电器的常开触点,TIM00仍能继续保持通电状态。
同样的电路,由于继电器控制系统和PC控制系统工作方式上的差异,两者会有不同的动作结果。注意到这一点,我们在编程时,就会避免一些不应有的错误。
CPU故障的排除
当PC控制出现下列优先级错误时会引起CPU停机:CPU WAIT’ G (CPU等待)、MEMORY ERR(存储器错误)、NO END INST(无结束语句)、I/O BUS ERR(I/O总线错误)、I/O SET ERR(I/O设置错误)、I/O UNIT ERR(I/O单元错误)、SYS FAIL FALS(系统出错)等。
用编程器读出出错信息如下:COU WAIT’ G、MEMORY ERR。拆下该CPU,经查看内部线路,发现CPU内部电源部分一集成件SI-9510A已炸开,显然,CPU不能运行。可能原因是当时电源电压高于OMRON产品给定电压最高值(240Va.c)7V左右或该集成件本身质量欠佳造成的。更换同型号CPU,ERROR红灯仍亮,系统不能启动,用编程器读出的出错信息依然如故。
为了防止意外和查看问题方便,我们将备用的存贮器换上,因其RAM中无用户程序。此时,能引发CPU等待的错误主要有两个方面:特殊I/O单元等待及扩展I/O单元等待。首先,我们查看了扩展单元的各部分,其电源供给正常,发现连接电缆插头松动,插好,试机,PC CPU依然停机,但无存贮器错误显示。由于系统未进行I/O地址登记,为查找原因方便,将扩展机架“离线”操作,直接检查主板特殊单元。存贮器中RAM为空白,只要拆下坏的模板后,CPU就应运行,其RUN指示灯亮(编程器置RUN或MONIT状态)。当拆下主板上OD215模板后,RUN亮,将备用的OD215进行状态设置,替换后也亮。此时,再将原来的存贮器换上,结果编程器上蜂鸣器马上声响,又出现MEMORY ERR出错信息,可见存贮器也被烧坏。只能用备用的存贮器,重新输入原始用户程序,分段检查、试车,最后全部重新试车,系统正常,交付使用。
直此,笔者认为引起这次停机故障的可能原因是特殊I/O单元OD215损坏,又由于偶然因素如电压偏高,使CPU烧坏及存贮器损坏。