但是我们给PLC设计硬件输入时,停止按钮SB3却不能像继电器控制电路那样使用常闭触点而是使用的常开触点,见图5。这是为什么呢?这是因为继电器控制电路里按钮开关直接控制接触器的线圈,而在PLC控制程序里,按钮开关控制的却是与之对应的输入继电(I),而由这个输入继电器再去控制其触点,不能把硬件按钮开关看出程序里的软触点,就相当是拐了个弯一样。程序里的软触点受相应的输入继电器控制,而输入继电器的状态又受外部所接的输入信号元件(比如按钮开关)的控制。这是初学者容易搞混淆的地方。
假设这个例子里的停止按钮SB3我们像继电器控制电路一样,使用常闭触点的话,那么PLC一上电,SB3对应的输入继电器I0.2立即为ON,则相应的软触电I0.2就会改变状态常闭触点立即就断开了,如果再按下启动按钮SB1,输出继电器Q0.0或Q0.1就不会有输出,即一直为OFF。
通过前面的两个例子我们知道同样的电路,由于继电器控制系统和PLC控制系统工作方式上的差异,两者会有不同的动作结果。注意到这一点,我们在编程时,就会避免犯不应该的错误。同时学会PLC这样一些特点,会编出功能更强、更好的程序。
PLC编程最容易犯的错
在编制plc程序时,不管是新手还是老手,都会犯下这种低级错误。因为这种错误是非语法上的,所以用编程软件也不能检查出错误之处。此错误一旦发生,自己有时还很难发现,直至上机调试运行时,所控设备不能运行或运行到某个位置停止不前,才察觉出来有问题,再对PLC程序逐条逐句查找分析,或采取对程序逐条逐句执行,费时费工。
那么究竟是什么问题易使我们犯下这种低级错误呢?
继电器电气控制的固有思维,在编制程序时,某个或几个输入点采用物理常闭触点(如停止开关、行程限位开关),在程序中,仍延续继电器电气控制方式编制,即仍采用常闭接点作为导通条件使用。
下面用一个简单的启停与自锁电路示例来说明。
根据上图编制的不能运行的错误PLC程序如下:
PLC上电后,X000、X002常闭点就会断开。即逻辑值为“0”
Y0=(Y0 X001)×X000×X002
从上面数字逻辑表达式可知,在按下启动按钮SB1后,X001的逻辑值为“1”,而Y0的逻辑值永远不会变化,始终为“0”。原因是与PLC内部输入电路有关,以下是PLC内部输入等效电路: