PLC自动程序的编写是一个涉及多个步骤的过程,以下是一些关键步骤和技巧:
确定程序的总体结构
将系统程序按工作方式和功能分成若干部份,如公共程序、手动程序、自动程序等。
确定系统程序的结构形式,然后分别对每一部分程序进行设计。
分别设计局部程序
公共程序和手动程序相对简单,一般采用经验设计法进行设计。
自动程序相对复杂,对于顺序控制系统一般采用顺序控制设计法,先画出其自动工作过程的功能表图,再选择某种编程方式来设计梯形图程序。
程序的综合与调试
进一步理顺各部分程序之间的相互关系,并进行程序的调试。
常见编程方法
辅助继电器的置位复位方法
这是最基本的方法,通过置位和复位辅助继电器来实现步序控制。例如,第一步置位M0,M0接通后控制某个结果,结果实现后复位M0,再置位M1,依次进行。
使用步序编号的方法
使用整型变量作为步序编号,易于理解,便于维护。步序增减、跳转等操作方便,简单易懂。复位操作时,仅需将变量值改为0。但需注意,当连续步序的条件同时为真时,步序号在一个PLC周期内连续增加,直至最后一条未导通步序指令。
GRAPH(顺序功能流程图语言,也称SFC)
这种方法跟设备工艺流程图非常相似,非常直观。但编写项目程序实际的操作过程并不简单,要熟悉这种写法需要时间,且并不通用所有的PLC。
移位指令方法
利用移位指令的移位原理实现步序的控制,如欧姆龙的SFT指令,三菱的ROL、ROR等,西门子的移位指令也差不多。这种方法的难点在于搞清移位指令的工作原理。
DECO解码指令的方法
解码指令可以将双字/字/字节的指定位置1,并且将其他位置0,用于将数据类型为BYTE、WORD、DWORD或LWORD的变量解析为单个位,并保存在ARRAY of BOOL中。
示例程序编写
初始状态设置
按下启动按钮SB1,小车正转至SQ2处停止,进行装料3秒后继续启动正转向C处出发。
流程步转换条件判断
小车来到SQ3处停止,进行装料,2秒后自动反转至SQ1处停止,然后卸料5秒。
下一个流程步启动
卸料完成后自动正转开始循环。
循环与结束
按下停止按钮SB2,小车停止。
```plaintext
程序段1:通过辅助位实现小车的正反转输出,避免双线圈问题。
程序段2:当按下启动按钮(停止按钮为常闭),置位运行中标志位,若在运行中则再按下启动按钮无效,同时置位“第一步”标志位。
程序段3:小车初始回卸料点,当“第一步”标志位接通后接通辅助点1线圈,碰到“A限位”条件时,复位“第一步”标志同时置位“第二步”标志。后续步骤按此格式编写。
```
编程建议
模块化设计:
将程序分成主程序、子程序、中断程序和功能块,便于管理和维护。
安全保护:
确保程序中有完善的安全保护措施,如急停检测、气压检测等。
调试与测试:
编写完成后进行充分的仿真测试和现场调试,确保程序的正确性和可靠性。
代码简洁:
尽量使程序代码简洁明了,减少不必要的语句,以提高程序的执行效率。
通过以上步骤和建议,可以有效地编写出高效、可靠的PLC自动程序。