1200 PLC运动控制功能基于三轴设备(如图1所示)实现绘制50mm×50mm正方形的目标:
1. 功能解析: 详细讲解1200 PLC的运动控制核心功能,包括轴控制模式、位置模式设置及相关指令应用。
2. 设备配置: 说明三轴设备的硬件连接方式,包括驱动器参数设置、电机与PLC的信号交互配置。
3. 路径规划: 设计50mm×50mm正方形的运动轨迹,明确各轴的坐标参数、速度规划及加减速设置。
4. 程序编写: 提供完整的PLC梯形图或SCL程序示例,包含初始化、运动指令调用及状态监控逻辑。
5. 调试指导: 列出常见故障排除方法,如原点回归异常、运动精度偏差等问题的解决步骤。
Ø 在HMI上(如图2所示)可以手动实现轴使能、手动X轴正负方向运行;手动Y轴正负方向运行;手动Z轴正负方向运行、示教基准位置点等。自动时,按下“启动”按钮即自动绘制长宽为50mm的正方形。
一个控制系统功能:
1. 手动控制功能:
* 实现轴使能控制
* 支持X轴正负方向的手动运行
* 支持Y轴正负方向的手动运行
* 支持Z轴正负方向的手动运行
* 具备示教基准位置点功能
2. 自动运行功能:
* 当按下"启动"按钮时,系统能自动绘制一个长和宽均为50mm的正方形轨迹
图1
图2
1.程序设计思路:
1)可以设置一个基准点(如图3),然后依次算出其他的位置点。
2)使用绝对定位指令,到达相关位置点。
图3
2.程序设计:
1)创建工艺对象:创建X轴的工艺对象(如图4至图10所示)。Y轴和Z轴的工艺对象类似,在此不赘述。
图4
图5
图6
图7
图8
图9
图10
2)因为我们设备上有X、Y、Z三轴轴,每个轴都有位置值,所以可以建立 “UDT数据类型”,用于存储三个轴的位置值。UDT的数据类型名称为“Pos”,如图11及图12所示.
3)手动控制程序(FC1),如图13至16所示,主要实现的功能是轴使能,三个轴的点动控制、三个轴的回原点、三个轴的故障复位等。
图13
图14
图15
图16
4)位置计算(FC2),要计算zheng方形的4个位置点,可以使用SCL语言编写。当“"inst_Pos".HMI_SetBase”的值(来源于HMI上的按钮)为1时计算4个位置点。如图17及18所示,
图17
图18
计算出来的位置值存储在数组变量中,如图19所示。四个点的坐标值对应图3的四个位置值。
图19
3)主程序
①程序段1主要是调用手动控制程序。并且如何按下了HMI上的“"inst_Pos".HMI_Start”这个按钮之后把状态步MW36设置为1。
②逻辑要求,编写一段程序代码来实现触摸屏基准点设置及正方形绘制的位置数据处理:
a. 功能描述:当按下触摸屏上的"inst_Pos".HMI_SetBase按钮时,执行以下位置数据处理:
- 将"inst_Pos".Pos[1]赋值给"inst_Pos".FinalPos[1]
- 将"inst_Pos".Pos[2]赋值给"inst_Pos".FinalPos[2]
- 将"inst_Pos".Pos[3]赋值给"inst_Pos".FinalPos[4](注意:第3个点与第4个点交换)
- 将"inst_Pos".Pos[4]赋值给"inst_Pos".FinalPos[3](注意:第4个点与第3个点交换)
- 将"inst_Pos".Pos[1]赋值给"inst_Pos".FinalPos[5](起始点和结束点为同一个点)
b. 变量说明:
- "inst_Pos".Pos[]:原始位置数组(至少包含4个元素)
- "inst_Pos".FinalPos[]:处理后的最终位置数组(至少包含5个元素)
- "inst_Pos".HMI_SetBase:触发执行的按钮信号
c. 实现要求:请根据您使用的编程语言(如PLC梯形图、C#、Python等)编写相应代码,确保逻辑正确且符合工业控制编程规范。如图20
图20
③调用位置计算程序
④轴的当前位置
⑤状态步判断,然后到达不同的位置