PLC自动程序的功能是控制设备按照设计的流程进行工作。
PLC自动程序的流程编写也有好几种方法,常见的有以下几种:
SET/RESET方法
使用M变量标识步序,当满足步序跳转条件后,将下一步M变量置位,同时将当前步M变量复位。原理简单,易于上手。
在调试中,增减步序时,会造成M变量的排序混乱,不利于程序维护,易产生错误。在复位操作中,容易有遗漏,增加程序出错几率。常用于动作少,流程简单的流程编写。
步编号方法
使用整型变量作为步序编号,易于理解,便于维护。步序增减,跳转等操作方便,简单,易懂。复位操作时,仅需将变量值改为0。
编程中需注意,当连续步序的条件同时为真时,步序号在一个PLC周期内连续增加,直至最后一条未导通步序指令,而由步序号触发的其它程序则未被执行。调试时容易漏掉此种情况。
WORK & STATE 字方法
设置两个变量字state word,work word。state word中的位作为步序标志,work word作为跳转目标步序标志。
当前步序state word中步序位对应的条件满足时,触发work word中下一步对应的位。而后,在PLC顺序扫描至传送指令时,将work word的值赋值给state word,完成步序跳转。
优点是没有置位,复位操作,同一时刻只有唯一的位置1,跳步时只用将对应的work word 中的位置1即可。复位时,将state word与work word清零,程序会自动将state word中第一位点亮。
当步序大于16时,可改为DWORD或增加word的数量来增加步序。
Wait & Output方法
需要先建立对应的DB块,用来存储每一步对应的跳转条件和输出对应的word代码。
再编写对应的wait程序(步序条件),编写时需将条件逻辑逆转编写(即跳转条件不满足时,对应的wait_pending为导通状态。比如跳转条件为需要一个传感器亮,则wait条件中要写此传感器OFF的指令)
每一步激活wait编码对应的步序条件,当激活的跳转条件完全满足时,wait_pending 会为0,则程序会将步序自动加1,然后激活下一步wait编码对应的条件。程序跳转时,直接改变步序号即可。
使用对应的表格进行编程,速度快,维护简单,维护人员碰到设备停止状况,只要查找那条wait指令为导通状态即可。
但步序条件编程逻辑需要写成反向,初次使用者不容易理解。如无流程记录文件,流程的理解比较困难,对改造,维护并不友好,目前很少看到。
SCL编写方法
SCL语言形式为代码形式,阅读理解不如梯形图直观,需要一定的编程基础,对于日常设备维护不是很友好。
常用于特定功能块的编写,数据的处理等,调试完成后进行封装。
GRAPH 流程图方法
流程图形式编程,不是所有品牌PLC都支持,且只有大型PLC才支持。(1200不支持,仅1500支持)
图形化界面,易于理解。跳步编写简单,对于日常维护非常友好。
复位,单步运行,都有对应的FB接口。
但PLC占用资源较多,根据经验,西门子315 PLC,使用step number方式编程,可多写一倍的顺控..程序。且当graph中步序达到一定数量后,step 7软件监控会出现卡顿,宕机等情况。
DECO 解码指令方法
解码指令DECO,即将整数转换为Dword中对应的位置1,且当步序产生变化时,PLC必定会重新执行一个扫描周期,不会产生连续跳多个步续的情况。避免了程序中步序触发的指令没有被执行的情况。
跳转,复位操作编写简单。
1200PLC可支持DWORD解码(32位),1500可支持LWORD解码(64位)。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!