编码器比较控制
控制要求:
按下清零键,编码器开始计长度,Y01通,大于第一段设定值W10时,触发Y10断,Y02通,大于第二段设定值W11时,触发Y02断,触发Y03通,大于第三段设定值W12时,触发Y03断。
组合逻辑:
(实现增量位置计算及清零功能)
帧号 指令
群0 帧0 [00]>:检测标志-<M[20]=断>----[00]
群0 帧1 [01]>:赋值运算-V[1]=E[1]-V[0]-[00]
群0 帧2 [02]>:---------------------------|
群0 帧3 [03]>:赋值运算-V[2]=V[1]/G[0]-[00]
群0 帧4 [04]>:---------------------------|
第00组:(组长)如果<M20>无信号,M20做一个绝对断的标志用,则此组将一直执行
第00组:(组员)中间变量V1 = 编码器采集数据E[1] - 中间变量V0, 得出的结果则是编码器当前位置到零点记录位置V0的差值
第00组:(组员))中间变量V2= 中间变量V1除以比例G0,如果是直接用脉冲数,则预置G0=1;
群0 帧5 [05]>:检测标志-<M[21]=通>-----[05]
群0 帧6 [06]>:触发标志-<M[21]=断><->--[05]
群0 帧7 [07]>:赋值运算-V[0]=E[1]-D[0]--[05]
群0 帧8 [08]>:----------------------------|
第05组:(组长)如果<M21 清零>有信号
第05组:(组员)触发<M21 清零>断电
第05组:(组员)零点记录中间变量V0 = 编码器采集数据E[1] -0
时序逻辑:
(比较位置触发动作运行)
帧号 指令
环0 帧0 [00]>:等待标志_[M021]通[]_*[F**]
环0 帧1 [01]>:触发输出_[Y001]通 >
第00步:等待<M21 清零>通信号
第01步:触发<Y1>通电
环0 帧2 [02]>:逻辑比较-V[2]>W[10]
环0 帧3 [03]>:触发输出_[Y001]断 >
环0 帧4 [04]>:触发输出_[Y002]通 >
第02步:等待编码器增量位置中间变量V2大于32位寄存器W[10]的值
第03步:触发<Y1>断电
第04步:触发<Y2>通电
环0 帧5 [05]>:逻辑比较-V[2]>W[11]
环0 帧6 [06]>:触发输出_[Y002]断 >
环0 帧7 [07]>:触发输出_[Y003]通 >
第05步:等待编码器增量位置中间变量V2大于32位寄存器W[11]的值
第06步:触发<Y2>断电
第07步:触发<Y3>通电
环0 帧8 [08]>:逻辑比较-V[2]>W[12]
环0 帧9 [09]>:触发输出_[Y003]断 >
第08步:等待编码器增量位置中间变量V2大于32位寄存器W[12]的值
第09步:触发<Y3>断电

