今天给大家分享一篇两轴定位案例分析
注意:此程序非完整运行程序,主要是想让大家理解定位指令配合变址节约程序步,简化程序内容用。且两轴是在同时运行,如是十字滑台,请设定两轴相同频率脉冲输出.
开机初始化回原点部分
-
使用开机脉冲【M8002】和外部输入触点【X11】的脉冲信号来置位【M0】,保持住开机信号或回原点信号;
-
再使用【M0】的常开触点驱动【ZRN】原点回归指令;
-
其中K5000表示回归的速度为5000HZ,K200表示爬行速度,当X1或X0触点接通时,即开始以爬行速度回原点。
-
【M8029】脉冲结束标志位,当【Y0】和【Y1】脉冲口不再发送脉冲,就复位掉【M0】,以便下次驱动原点回归指令。
点位采集部分
1.使用外部常开输入触点【x3】【x4】【x6】【x7】驱动【DDRVI】32位相对定位指令,达到轴的正反方向运行目的,其中【K999999】表示正向运行,【K-999999】表示反向运行,数值均发送的脉冲数,K999999表示无数脉冲。
2.使用外部输入触点【X5】的脉冲信号,利用【DMOV】32位传送指令把【Y0】脉冲输出总数寄存器【D8141、D8140】和【Y1】脉冲输出总数寄存器【D8143、D8142】的当前脉冲数传送给【D100Z0】【D200Z1】。同时使用【ADD】加法指令把变址寄存器【Z0、Z1】的值不断加【2】,实现把不同点位所需脉冲数值存放给不同的寄存器
3.注意:每按一次按钮,就代表存储一个点的数值,固定的框架内,原点到每次按按钮的脉冲数,由【D8141、D8140】【D8143、D8142】提供。
两轴运行部分
1.使用外部输入触点【X10】的脉冲信号驱动【MOV】传送指令把变址寄存器【Z0、Z1】的数值清零,同时驱动【DDRVA】绝对定位指令。其中【D100Z0】【D200z1】为上面采集到的脉冲数,K5000表示两轴使用同一频率发送脉冲;
2.使用【M8029】脉冲结束标志位,脉冲发送完成复位【M10】【M12】,使两轴停止,同时驱动【ADD】加法指令改变变址寄存器【Z0、Z1】的数值,从而实现下一次运行时脉冲数的改变;
3.置位【M13、M14】表示两轴都停止的时候,驱动一个定时器【T0】,停止一秒,一秒后重新驱动定位指令。
注意:此处两轴都停止后,可以实现例如:器材切割、钻孔、或者夹物放物等内容,程序需自己编写添加。
电子开发网,一个电子技术和工控网站。评论处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。。。