需求描述:要求送料小车运动到最左端限位器装料,经过5秒后,装料结束,小车向右运行,在最右端限位器停下卸料,5秒后反向向左运行。到达最左端装料,重复以上的动作,以此循环自动运行。增加停止
时序逻辑实现步骤:
分配输入输出端口配置
根据需求描述,定义输入输出端口如下:
输入端口:
X0:启动按钮信号。
X1:最左端限位器信号。
X2:最右端限位器信号。
X3:停止按钮信号。
输出端口:
Y0:小车向右运行控制信号。
Y1:小车向左运行控制信号。
提取时序逻辑与无序组合逻辑动作步骤
时序逻辑动作步骤:
初始状态:小车在最左端,等待装料完成信号(X0)。
装料完成:接收到装料完成信号(X0)后,小车向右运行(Y0=1),进入时序环1。
到达最右端:小车到达最右端后(X2=1),停止向右运行(Y0=0),等待卸料完成信号。
卸料完成:接收到卸料完成信号后,小车向左运行(Y1=1),进入时序环2。
到达最左端:小车到达最左端后(X1=1),停止向左运行(Y1=0),回到初始状态,等待下一次装料完成信号。
停止:在任何状态下,按下停止按钮(X3=1),小车停止运行(Y0=0,Y1=0),流程结束。
无序组合逻辑动作步骤:
无序组合逻辑主要涉及信号的直接处理,不依赖于状态变化。在本需求中,主要的无序组合逻辑是判断限位器信号(X1、X2)和停止按钮信号(X3)的状态,以决定小车的运行方向。
优先实现时序逻辑
根据需求描述,时序逻辑是实现小车自动运行的关键部分,因此优先实现时序逻辑。
状态定义:
S0:初始状态,小车在最左端,等待装料完成信号。
S1:装料完成,小车向右运行。
S2:到达最右端,停止向右运行,等待卸料完成信号。
S3:卸料完成,小车向左运行。
S4:到达最左端,停止向左运行,回到初始状态。
S5:停止状态,小车停止运行。
时序环0环指令解释:
第00步:等待<X0 X0>通信号连续保持1次扫描
第01步:等待<X3 X3>通信号连续保持1次扫描
第02步:触发<Y2 Y2>通电
第03步:在此等待0小时0分钟5秒0毫秒
第04步:触发<Y2 Y2>断电
第05步:触发<Y0 Y0>通电
第06步:等待<X4 X4>通信号连续保持1次扫描
第07步:触发<Y3 Y3>通电
第08步:在此等待0小时0分钟5秒0毫秒
第09步:触发<Y3 Y3>断电
第10步:触发<Y1 Y1>通电
第11步:将第0环运行当前帧跳转至第1帧
时序环1环指令解释:
第00步:等待<X2 X2>通信号连续保持1次扫描
第01步:将第0环设置成停止状态,并返回第0帧
第02步:触发<Y0 Y0>至<Y7 Y7>断电
第03步:等待<X2 X2>断信号连续保持1次扫描
第04步:将第0环设置成运行状态