编写全自动程序的方法有多种,具体选择哪种方法取决于具体的应用场景和PLC的类型。以下是几种常用的PLC自动程序编写方法:
辅助继电器的置位复位方法
这是最原始和简单的写法,通过置位和复位辅助继电器来实现流程控制。例如,先置位M0,M0接通后控制某个结果,结果实现后复位M0,再置位M1,依次进行流程控制。这种方法通用所有的PLC。
使用步序编号的方法
使用整型变量作为步序编号,易于理解和维护。步序增减和跳转操作方便,简单易懂。复位操作时,仅需将变量值改为0。需要注意的是,当连续步序的条件同时为真时,步序号会在一个PLC周期内连续增加,直至最后一条未导通步序指令,而由步序号触发的其他程序则未被执行。调试时容易漏掉这种情况。
GRAPH(顺序功能流程图语言,也称SFC)
这种方法非常直观,类似于设备工艺流程图。程序结构清晰,易于理解,但编写过程并不简单,需要熟悉这种写法,且并不通用所有的PLC(如西门子S7-1200不支持,仅S7-1500支持)。对PLC性能要求高,也占用较大的工作存储器。
移位指令方法
利用移位指令的移位原理实现步序控制,例如欧姆龙的SFT指令、三菱的ROL、ROR等,西门子的移位指令也类似。这种方法的难点在于理解移位指令的工作原理,但它是通用所有PLC的编程方法。
DECO解码指令的方法
这种方法通过解码指令来实现特定的控制逻辑,适用于一些特定的应用场景。
示例程序
```plaintext
1. 初始化
- DM1000 = 100
2. 启动按钮
- 当启动按钮按下时
- DM1000 = 101
- 进入自动模式
3. 检测箱子
- 当平台上有箱子时
- 启动传送带
- 箱子到达输送机上后
- 启动升降机
- 箱子到位后
- 门气缸缩回,开门
- 升降机构上的后阻挡气缸缩回,放箱子前进
- 箱子前进到平台上后
- 输送电机停止
- 箱子推到升降平台上后
- 输送机反转
- 箱子到位后
- 升降气缸下降
- 升降到位后
- 输送电机反转
- 箱子排除
- 排除确认后
- 升降机构上升
4. 循环
- 重复步骤3和4
```
建议
明确功能需求:首先明确洗衣机的基本功能,如洗涤、漂洗、脱水等,并将每个功能对应到一个阶段。
输入输出设计:确定各项传感器和执行器的输入输出信号,例如水位传感器、门开关、电机控制等。
状态机设计:设计状态机,将洗衣机的工作过程分为不同状态,如待机状态、洗涤状态、漂洗状态、脱水状态等。
PLC编程:根据状态机的逻辑结构,使用梯形图或功能块图等编程方式,将各个状态与输入输出信号联接起来。
调试与测试:完成程序后,进行调试与测试,确保各个功能正常,处理异常情况的逻辑要清晰。
通过以上步骤和方法,可以编写出高效、可靠的全自动程序。