欢迎光临散文网 会员登陆 & 注册

编码器比较控制

2022-07-28 11:58 作者:jenasi  | 我要投稿

控制要求:

按下清零键,编码器开始计长度,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>断电


编码器比较控制的评论 (共 条)

分享到微博请遵守国家法律