干货丨两轴定位程序案例分析
本文作者:技成杨遇桥
程序截图
注意:此程序非完整运行程序,主要是想让大家理解定位指令配合变址节约程序步,简化程序内容用。且两轴是在同时运行,如是十字滑台,请设定两轴相同频率脉冲输出.开机初始化回原点部分
使用开机脉冲【M8002】和外部输入触点【X11】的脉冲信号来置位【M0】,保持住开机信号或回原点信号;
再使用【M0】的常开触点驱动【ZRN】原点回归指令;
其中K5000表示回归的速度为5000HZ,K200表示爬行速度,当X1或X0触点接通时,即开始以爬行速度回原点。
【M8029】脉冲结束标志位,当【Y0】和【Y1】脉冲口不再发送脉冲,就复位掉【M0】,以便下次驱动原点回归指令。
点位采集部分
使用外部常开输入触点【x3】【x4】【x6】【x7】驱动【DDRVI】32位相对定位指令,达到轴的正反方向运行目的,其中【K999999】表示正向运行,【K-999999】表示反向运行,数值均发送的脉冲数,K999999表示无数脉冲。
使用外部输入触点【X5】的脉冲信号,利用【DMOV】32位传送指令把【Y0】脉冲输出总数寄存器【D8141、D8140】和【Y1】脉冲输出总数寄存器【D8143、D8142】的当前脉冲数传送给【D100Z0】【D200Z1】。同时使用【ADD】加法指令把变址寄存器【Z0、Z1】的值不断加【2】,实现把不同点位所需脉冲数值存放给不同的寄存器
注意:每按一次按钮,就代表存储一个点的数值,固定的框架内,原点到每次按按钮的脉冲数,由【D8141、D8140】【D8143、D8142】提供。
两轴运行部分
使用外部输入触点【X10】的脉冲信号驱动【MOV】传送指令把变址寄存器【Z0、Z1】的数值清零,同时驱动【DDRVA】绝对定位指令。其中【D100Z0】【D200z1】为上面采集到的脉冲数,K5000表示两轴使用同一频率发送脉冲;
使用【M8029】脉冲结束标志位,脉冲发送完成复位【M10】【M12】,使两轴停止,同时驱动【ADD】加法指令改变变址寄存器【Z0、Z1】的数值,从而实现下一次运行时脉冲数的改变;
置位【M13、M14】表示两轴都停止的时候,驱动一个定时器【T0】,停止一秒,一秒后重新驱动定位指令。
注意:此处两轴都停止后,可以实现例如:器材切割、钻孔、或者夹物放物等内容,程序需自己编写添加。
领取学习资料
西门子1200PLC位置控制的通用程序,一劳永逸
西门子1200PLC最多支持4路高速脉冲输出,可以控制四个步进或伺服电机,如果每个轴都调用一次运动控制值,编程工作量就会成倍的增加。那么有没有通用的程序可以一劳永逸呢,今天就介绍一下西门子1200PLC位置控制的通用程序,编写一个函数就可以实现多个轴的控制。
一、 编写运动控制函数
1. 添加函数块。双击“添加新块”、点击“函数块”、输入名称、编程语言LAD、“确定”;
图 1 新建函数块
2. 双击“位置控制”函数块,定义输入/输出变量;
图 2 定义输入输出变量
3. 添加运动控制指令。“指令”、“工艺”、“运动控制”、拖动MC_Power指令到编程区域,分配多重背景数据块,点击“确定”;
图 3 添加MC_Power指令
4. MC_Power分配变量;
图 4 MC_Power
5. 同样的方法添加MC_Reset确认故障指令;
图 5 MC_Reset
6. 添加MC_Home回原点指令;
图 6 MC_Home
7. 添加MC_Halt停止轴指令;
图 7 MC_Halt
8. 添加MC_MoveAbsolute绝对运动定位指令;
图 8 MC_MoveAbsolute_
9. 添加MC_MoveRelative相对运动定位指令;
图 9 MC_MoveRelative
10. 添加MC_Jog点动指令;
图 10 MC_Jog
11. 读取轴当前位置和当前运行速度;
图 11 读取当前位置和速度
二、主程序调用函数块
1. 双击“Main”,打开主程序,拖动“位置控制”到主程序编辑区,分配背景数据块,点击“确定”,完成函数块FB1的调用;
图 12 调用函数块
2. 分配控制命令和状态变量;
图 13 分配变量
三、 点动控制
1. 下载程序到PLC中,打开监控表,输入监控变量;
图 14 监控表
2. “正向点动”赋值1,旋转料库开始正向运行,“当前位置”开始累加,“当前速度”逐渐增大到设置的点动速度,“正向点动”清零即停止,“当前速度”降为零;
图 15 正向点动
3. “负向点动”赋值1,旋转料库开始负向运行,“当前位置”开始负累加,“当前速度”值逐渐增大到设置的点动速度,符号代表方向,“负向点动”清零即停止,“当前速度”降为零;
图 16 负向点动
四、 回原点
1. “回原点”赋值1,回原点模式为0(把当前位置设置为绝对零点),“当前位置”变为零,“回原点完成”有效,表示回零完成;
图 17 回原点
2. “回原点”清零,“回原点完成”清零,不影响绝对零点位置;
五、 相对运动控制
1. “相对运动距离”和“相对运动速度”赋值,注意速度的范围(在启停速度和最大速度之间),运动距离的符号代表方向;
图 18 设置相对运动参数
2. “相对运动触发”赋值1,上升沿触发指令执行,旋转料库按照设置的速度运动设置的距离“相对运动完成”有效时停止;
图 19 相对运动1
3. “相对运动触发”清零,重复以上步骤,每次都运动设定的距离;
图 20 相对运动2
六、绝对运动控制
1. 绝对运动控制之前先执行回原点,确定绝对零点位置;
2. “绝对运动目标位置”和“绝对运动速度”赋值,注意速度的范围(在启停速度和最大速度之间);
图 21 设置绝对运动参数
3. “绝对运动触发”赋值1,上升沿触发指令,旋转料库安装设置的速度运动到目标位置,“绝对运动完成”有效时停止,当前位置等于目标位置;
图 22 绝对运动1
4. 修改目标位置的值,重复以上步骤;
图 23 绝对运动2
通过以上步骤,创建一个通用的运动控制函数,在运动控制程序中调用此函数,分配对应的各轴相关的变量,就可以实现一劳永逸,大幅减少编程工作量。
本文由@豆豆牵着蜗牛在散步 原创,欢迎关注,帮您一起长知识!
西门子1200PLC 配置运动控制工艺,控制面板实现位置控制
西门子1200PLC的运动控制功能
相关问答
plc中的2轴和4轴有什么区别?
2轴4轴=2个输出点4个输出点比如PLC有两个口子可以输出脉冲信号,那么这个PLC就有2轴脉冲输出PLC有4个端口可以输出脉冲信号,那么这个PLC就有4轴输出输入也一样...
plc如何实现两轴的线速度相等?
PLC控制的四台变频器线速度同步方案:变频器带PG卡做伺服控制其中一台做主,PG卡上的脉冲输出口接第二台的脉冲输入,依此类推PLC给几个变频器同时正反转启...
谁知道怎么用PLC控制两轴定位器画圆?
第一,数据插补第二,用专用的指令。好多PLC现在内置的有数控方面的各种便捷指令。没有的话就要进行数据插补了,不过精度较小。第一,数据插补第二,用专用的...
PLC中的2轴和4轴有什么区别?
2轴4轴=2个输出点4个输出点比如PLC有两个口子可以输出脉冲信号,那么这个PLC就有2轴脉冲输出PLC有4个端口可以输出脉冲信号,那么这个PLC就有4轴输出输...
plc控制两台电机运行方法?
1、可以通过模拟量控制,一般采用0~10V信号控制,几套伺服就配几个输出,脉冲控制。你可以选用晶体管输出的PLC,通过发不同的脉冲数来控制伺服系统的速度;2、可...
怎样用三菱PLC配置控制多轴(12轴-32轴)运行?
需要联动插补吗,可以配一个串口运动控制器,PLC通过串口给他发指令就可以了。便宜好用。需要联动插补吗,可以配一个串口运动控制器,PLC通过串口给他发指令...
plc能不能实现几个伺服轴联动?
PLC可以实现多个伺服轴的联动控制。通过PLC编程,可以使用伺服轴模块实现多轴插补控制,使多个伺服轴在同步运动和精确位置控制方面协同工作。PLC不仅可以管理...
PLC怎样通过两点取样做出斜率程序?
做两轴的直线插补就可以了;三菱或者台达都有对应的插补指令的;很方便快捷;做两轴的直线插补就可以了;三菱或者台达都有对应的插补指令的;很方便快捷;
攻丝程序怎么编?
攻丝步骤十点如下,第1步:X、Y定位。第2步:选择主轴转速和旋转方向。第3步:快速移动至R点第4步:进给运动至指定深度。第5步:主轴停止。第6步:主轴...
三菱PLC怎样控制多轴运行?
该三菱PLC怎样控制多轴运行如下:PLC本体的脉冲寄存器点数来说一般不多。例如三菱FX系列本体3个轴速度可调节可以实现相对绝对定位功能,第四个轴要加脉冲适配...