需求描述:
实现四个气缸的交替动作:A 伸→B 伸→A 缩→B 缩→C 伸→D 伸→C 缩→D 缩,循环执行,每个动作持续时间 1s,可通过触摸屏修改动作时间参数。
功能分析:
输入输出端口配置
输入端口:
X0:启动按钮
X1:停止按钮
输出端口:
Y0:A气缸
Y1:B气缸
Y2:C气缸
Y3:D气缸
控制逻辑步骤
[if !supportLists]1. [endif]初始状态:所有气缸处于缩回状态,Y0、Y1、Y2、Y3均断电。
[if !supportLists]2. [endif]等待启动:系统等待启动按钮(X0)信号。
[if !supportLists]3. [endif]循环动作:A伸:触发Y0通电,A气缸伸出,持续1秒。B伸:触发Y1通电,B气缸伸出,持续1秒。A缩:触发Y0断电,A气缸缩回,持续1秒。B缩:触发Y1断电,B气缸缩回,持续1秒。C伸:触发Y2通电,C气缸伸出,持续1秒。D伸:触发Y3通电,D气缸伸出,持续1秒。C缩:触发Y2断电,C气缸缩回,持续1秒。D缩:触发Y3断电,D气缸缩回,持续1秒。
[if !supportLists]4. [endif]循环执行:上述动作循环执行。
[if !supportLists]5. [endif]停止控制:按下停止按钮(X1),立即停止所有动作。将所有气缸断电,返回初始状态。
[if !supportLists]6. [endif]重新启动:松开停止按钮后,系统恢复到初始状态,可重新启动。
[if !supportLists]7. [endif]
时序逻辑与无序组合逻辑动作步骤
时序逻辑动作步骤(优先实现)
[if !supportLists]1. [endif]初始状态:所有气缸缩回,Y0-Y3断电
[if !supportLists]2. [endif]启动检测:检测到X0=ON,开始执行动作序列。
[if !supportLists]3. [endif]动作序列:A伸:Y0通电,持续1秒。B伸:Y1通电,持续1秒。A缩:Y0断电,持续1秒。B缩:Y1断电,持续1秒。C伸:Y2通电,持续1秒。D伸:Y3通电,持续1秒。C缩:Y2断电,持续1秒。D缩:Y3断电,持续1秒。
[if !supportLists]4. [endif]循环执行:返回步骤3,继续执行动作序列。
[if !supportLists]5. [endif]停止检测:检测到X1=ON,立即停止所有动作,Y0-Y3断电。
[if !supportLists]6. [endif]重新启动:检测到X1=OFF,返回初始状态,可重新启动。
无序组合逻辑动作步骤
[if !supportLists]1. [endif]实时监测启动信号:无论处于哪个动作阶段,实时检测启动按钮(X0)信号,准备运行。
[if !supportLists]2. [endif]实时监测停止信号:无论处于哪个动作阶段,实时检测停止按钮(X1)信号,一旦检测到立即停止所有动作。
3. 动作时间参数修改:通过触摸屏实时修改动作时间参数(存储于索引0号通用寄存器),系统根据修改后的参数调整动作时间。
资源配置:
输入IO口别名:
X0: X0-启动按钮
X1: X1-停止按钮
输出IO口别名:
Y0: Y0-A气缸
Y1: Y1-B气缸
Y2: Y2-C气缸
Y3: Y3-D气缸
时序环0环指令解释:
第00步:等待<X0 X0-启动按钮>通信号连续保持1次扫描
第01步:触发<Y0 Y0-A气缸>通电
第02步:在此等待1000毫秒,索引0号通用寄存器
第03步:触发<Y1 Y1-B气缸>通电
第04步:在此等待1000毫秒,索引0号通用寄存器
第05步:触发<Y0 Y0-A气缸>断电
第06步:在此等待1000毫秒,索引0号通用寄存器
第07步:触发<Y1 Y1-B气缸>断电
第08步:在此等待1000毫秒,索引0号通用寄存器
第09步:触发<Y2 Y2-C气缸>通电
第10步:在此等待1000毫秒,索引0号通用寄存器
第11步:触发<Y3 Y3-D气缸>通电
第12步:在此等待1000毫秒,索引0号通用寄存器
第13步:触发<Y2 Y2-C气缸>断电
第14步:在此等待1000毫秒,索引0号通用寄存器
第15步:触发<Y3 Y3-D气缸>断电
第16步:在此等待1000毫秒,索引0号通用寄存器
第17步:将第0环运行当前帧跳转至第1帧
时序环1环指令解释:
第00步:等待<X1 X1-停止按钮>通信号连续保持1次扫描
第01步:将第0环设置成停止状态,并返回第0帧
第02步:触发<Y0 Y0-A气缸>至<Y3 Y3-D气缸>断电
第03步:等待<X1 X1-停止按钮>断信号连续保持1次扫描
第04步:将第0环设置成运行状态