在plc没有像期望的那样开始工作的时候,应该先从plc的外部来进行判断,这样,可以比较轻易地排除那些不是故障的误会。
所有的plc在cpu模块、i/o模块或电源模块上都有led指示灯。通常,红灯表示问题,绿灯表示ok。如果一个led在闪烁,通常表示功能正在执行或者这个模块在等待什么。对led灯状态的正确诠释可以节省你很多故障诊断的时间。所以在故障诊断之前,你应该把制造商的故障诊断指南看一遍并放在手边。
如果plc不能进入运行(run)模式,你可以用下面的方法来看看问题是在硬件还是软件:
a)临时将终止循环指令放在你的用户程序的第一行。如果现在plc可以进入运行模式了,表示问题在你的软件中;而不是plc的硬件问题。(有些plc需要你在进入运行模式之前,先清除所有的错误状态,即使原来的问题已经更正了)。
b)将plc的内存复位(注意!首先,你要将plc的内存的内容做一份拷贝,或者,你确信你愿意丢失内存中所有的程序、数据和组态)。如果plc现在可以进入运行模式,问题就出在组态或者冲突使用的内存上。
如果在检测一个传感器时,你发现plc不能从一个传感器得到信号,首先检查该传感器的输出是否正常,接线是否正确。如果传感器经检查没有问题,则更换一个同型号的输入模块,如果plc能够识别该模块的改变,就表示输入模块故障了(或者你刚才传感器连线错误了),那么,可以按照如下的方法观察plc输入模块的led灯是否与传感器的状态变化一致:
a)如果输入led没有动静,用万用表检查plc输入模块的端子看看信号是否变化。如果没有,将传感器与plc的连接断开,单独对传感器进行测试。看看外接电源是否正常,检查直流电源的极性是否接反。有些plc是漏电流型(sink)的,所以对应的传感器电路必须是正端子接到plc的输入接点上,其它的dc输入模块是电流源型(source)的,则传感器电路要通过电源的地线接到输入接点上。
b)如果led状态是发生变化了,可能是你的程序有问题。在你的用户程序中的第一行加一条终止循环的指令,然后运行程序,观察输入映射表,如果该位现在改变了,问题就在你的程序,很可能是你的程序中有一条指令对输入映射表进行了改写,从而改变了它的值。
如果输入映射表依然不随着输入模块的led的状态而改变,那么,可能是传感器电路有故障。传感器电路的电流能力可能不足以驱动输入状态,虽然它可能足以改变led的状态。检查输入触点有没有不正常的小的电压变化。
如果一个执行器看来无法得到plc试图写给它的信号,观察输出模块的led,确信它们是否随着plc改变输出状态而一起改变:
a) 如果led确实改变,用万用表检查输出模块的端子,是否提供了足以驱动外部电路的信号,同时也检查极性是否正确。如果是,则将执行器从plc上断开,对执行器单独进行测试。(有些输出模块有保险丝,检查一下是否保险丝断了?)
b) 如果led 不变化,检查输出电路的电源,和它与输出模块的接线,(dc 输出可以是源型或漏型的),如果接线正确,将执行器从plc的输出模块断开,看看现在led在不带执行器时是否改变。
更换一个同型号的输出模块,如果plc可以改变仿真的输出状态,那么刚才的模块或接线就有问题。