编写PLC自动程序有多种方法,以下是一些常见的方法及其特点:
辅助继电器的置位复位方法
最原始和简单的写法,通过置位和复位辅助继电器(M变量)来实现步序控制。
适用于所有PLC,但调试和维护时可能较为繁琐,容易出错。
步序编号方法
使用整型变量作为步序编号,易于理解和维护。
步序增减、跳转等操作方便,但需要注意连续步序条件同时为真时的情况。
GRAPH(顺序功能流程图语言,SFC)
类似于设备工艺流程图,直观易懂。
不通用所有PLC(如西门子S7-1200不支持),且对PLC性能要求高,占用较多工作存储器。
移位指令方法
利用移位指令(如欧姆龙的SFT指令、三菱的ROL/ROR、西门子的移位指令)实现步序控制。
需要搞清移位指令的工作原理,适用于所有PLC。
DECO解码指令方法
使用DECO指令将双字/字/字节的指定位置1,并将其他位置0。
适用于将数据类型解析为单个位,常用于特定功能块的编写和数据处理。
SET/RESET方法
使用M变量标识步序,当满足步序跳转条件后,将下一步M变量置位,同时将当前步M变量复位。
原理简单,易于上手,但调试和维护时可能较为混乱,容易产生错误。
WORK & STATE 字方法
设置两个变量字state word和work word,state word中的位作为步序标志,work word作为跳转目标步序标志。
优点是没有置位和复位操作,同一时刻只有唯一的位置1,跳步时只需将对应的work word中的位置1即可。
适用于步序大于16时,可改为DWORD或增加word的数量来增加步序。
梯形图(LD)编程
通过梯形图来编写控制程序,使用符号和图形表示控制逻辑,直观易懂。
适用于简单的逻辑控制,如电机的启动和停止。
建议
初学者:建议从步序编号方法或辅助继电器的置位复位方法开始,因为这些方法相对简单,易于理解和上手。
复杂逻辑:对于复杂的控制逻辑,可以考虑使用GRAPH(SFC)或移位指令方法,这些方法虽然需要更多的时间学习,但提供了更直观的流程控制。
维护性:在编写程序时,注意程序的模块化和结构化设计,以便于后期的维护和调试。
性能考虑:如果对PLC性能有较高要求,可以考虑使用DECO解码指令方法,以减少存储器占用和提高程序执行效率。