手动与自动程序
即便是继电连锁控制回路,除去及其简单的控制系统外,一般都要有手动控制与自动控制2种工作模式,通常有选择开关进行选择手动或是自动。当回路数多时,要彻底隔离开手动与自动2种工作模式,要加很多的中间继电器,否则就很可能有“寄生回路”的出现干涉到正常应有的逻辑关系,产生不应有的动作。这也是过去从事这一工作既要实现功能又要用最少的元器件面临的困难所在。
当有了PLC之后,实现这些功能变得容易,但要特别注意到一个问题,由于不同PLC厂商编程“语法”不尽一样,例如基于以继电联锁线路控制开发的编程软件,更加“近似”我们看惯了的电气图纸。语法一致的如程序10,这是work2编程梯形图剪辑下来的,当出现双线圈之后是后者有效。也就是这段程序的运行结果是如果X3闭合Y0才有输出,而跟X0无关。这是编程调试中经常容易出现的一个错误,一个输出被多次驱动。手动自动的彻底隔离当然可以利用PLC内部几乎算是无穷多的触点联锁,就如同硬件的联锁电路一样。但是也有更简洁的编程手段。
如图片程序11中利用条件跳转指令,将手动与自动程序彻底隔离。其中M0是手动、自动选择开关。假设M0不通是手动状态,则是由M10、M12操作Y0,由于M0常闭是闭合状态,程序的第9句是条件跳转到P50,即手动程序结速后跳转至P50。P50是如果M0出现手动、自动转换操作则作部分复位(进入初始状态)。如果M0吸合,程序将条件跳转至P20,Y0的状态由M11、M13操作。就是说手动程序在P0段编,自动程序在P20段编,手动和自动程序就完全分隔开了,你尽可以自如地编完手动程序,再去编辑自动程序。完全避免了双线圈的问题。这是一种程序框架的构思,在搭好了程序框架之后,接下去具体的编程工作就容易多了,是工艺设备动作条件与你的程序结合的问题。这样的程序段你可以在Work2上一试来验证。所以编程调试的过程也是你不停的验证,你所设想的结果有没有得到?你所不想要的意外情况有没有发生?只有在反复调试、运行的基础上才可能有结论,所谓实践是检验真理的标准。
有些编程指令看上去像是用来做手动自动转换处理的,如MC、MCR主控指令,相似于硬接线的逻辑连锁控制回路,如截图中的程序13,Y0只有在M0失电的情况下由M11操作,也是在双线圈输出的情况下后者有效。所以我认为可以调试非常重要,特别是对程序架构的调试,否则在生产现场调试就有可能手忙脚乱。
特别应该注意到自动手动转换和手动自动转换操作时程序应有的反应。通常的逻辑思维是在手动状态下要转换为自动模式,或自动状态下要转换为手动模式,当然是在作必须要的停止后才进行转换操作。但作为编程者就要考虑到误操作和不按规程进行的操作,防止这样的操作带来的不利影响或干脆是事故。
也可访问我的新浪博客001001001a