首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

西门子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

通过以上步骤,创建一个通用的运动控制函数,在运动控制程序中调用此函数,分配对应的各轴相关的变量,就可以实现一劳永逸,大幅减少编程工作量。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200520A0HE7700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券