2,程序执行阶段
PLC从程序0步开始,按先上后下,先左后右的顺序扫描用户程序并进行逻辑运算。PLC按输入映象区的内容进行逻辑运算,并把运算结果写入到输出映象区,而不是直接输出到端子。
3,输出刷新阶段
PLC根据输出映象区的内容改变输出端子的状态。这才是PLC的实际输出。
以上简单说明了PLC的工作原理,下面我们再以实例说明为什么编写梯形图程序,不宜重复使用线圈。如下图所示,设输入采样时,输入映象区中X001=ON,X002=OFF,Y003-ON,Y004=ON被实际写入到输出映象区。但继续往下执行时,因X002=OFF,使Y003=OFF,这个后入为的结果又被写入输出映象区,改变原Y003的状态。所以在输出刷新阶段,实际外部输出Y003=OFF,Y004=ON。许多新手就碰到过这样的问题,为什么X001已经闭合了,而Y003没有输出呢?逻辑关系不对。其实就是因为双线圈使用造成的。
注意:我们所说的是不宜(最好不要)使用双线圈,双线圈使用并不是绝对禁止的,在一些特殊的场合也可以使用双线圈,这时就需要你有较丰富的编程经验和技巧了。下面我们会谈到这一点。但对于初学者还是不要冒这个险。其实,从以上的例子可以看出,重复利用线圈之所以会造成Y003的输出混乱,是由于程序是从上到下顺序执行的缘故造成的。但如果我们可以改变程序执行的顺序,保证在任何时刻两个线圈只有一个驱动逻辑发生,就可以使用双线圈。其中,最常用的方法就是使用跳转指令。如下图所示:
程序分析:M0闭合,程序跳至P0处(不执行X001语句),M0常闭断开,CJ P1不会发生,执行下一语句。此时,Y003将X002状态进行驱动。M0断开时,程序顺序执行并按X001的状态对T003进行驱动,M0常闭闭合,跳至P1按X003状态对Y004进行驱动,即跳过了X002驱动Y003的语句。可见,在同一时刻,Y003驱动只有一个可以发生。此时,双线圈利用是可以的。
但在梯形图编程时,我们还是要尽量避免使用双线圈,而引入辅助继电器是一个常用的方法。如下图所示:
图(b)中,X001和X002接点控制辅助继电器M000,X003~X005接点控制辅助继电器M001,再由两个继电器M000,M001接点的并联组合去控制线圈Y000。这样逻辑关系没变,却把双线圈变成单线圈。 |