PLC(可编程逻辑控制器)的行列程序编写主要涉及以下几种方法:
SET/RESET方法
使用M变量标识步序,当满足步序跳转条件后,将下一步M变量置位,同时将当前步M变量复位。
原理简单,易于上手,但调试中增减步序时容易造成M变量排序混乱,不利于程序维护,且易产生错误。
步编号方法
使用整型变量作为步序编号,易于理解,便于维护。
步序增减、跳转等操作方便,简单易懂,但需注意当连续步序的条件同时为真时,步序号在一个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的数量来增加步序。
SCL编写方法(CASE语句)
SCL语言形式为代码形式,阅读理解不如梯形图直观,需要一定的编程基础。
常用于特定功能块的编写和数据的处理,调试完成后进行封装。
DECO解码指令方法
解码(DECO)指令可以将双字/字/字节的指定位置1,并且将其他位置0。
用于将数据类型为BYTE、WORD、DWORD或LWORD的变量解析为单个位,并保存在ARRAY of BOOL中,每走一步move传送一位给date。
GRAPH流程图方法(顺序功能流程图语言,简称SFC)
这种方法跟设备工艺流程图非常相似,也是最直观的一种程序。
适用于描述复杂的控制流程,便于理解和维护。
建议
初学者:建议从步编号方法开始,因为这种方法直观易懂,适合初学者快速上手。
复杂流程:对于复杂的控制流程,建议使用WORK & STATE字方法或GRAPH流程图方法,以便更清晰地描述和控制程序的执行顺序。
特定功能:在需要编写特定功能块或数据处理时,可以考虑使用SCL编写方法。
调试与维护:无论使用哪种方法,编写完成后都应进行充分的调试和定期维护,以确保程序的稳定性和可靠性。