在这个案例中,主要让大家学习1200PLC的运动控制功能,我们借助这个三轴设备(如图1所示)实现长宽为50mm的正方形的绘制。
在HMI上(如图2所示)可以手动实现轴使能、手动X轴正负方向运行;手动Y轴正负方向运行;手动Z轴正负方向运行、示教基准位置点等。自动时,按下“启动”按钮即自动绘制长宽为50mm的正方形。
程序设计思路
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所示.
图12 图11
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。
②“"inst_Pos".HMI_SetBase”为触摸屏上设置基准点按钮,当按下这个按钮则可以设置1个基准点,依次基准点画一个正方形。由于计算出来的位置值的第3个点和第4个位置点是相反的,所以地址中的值做个交换。"inst_Pos".Pos[1]给到"inst_Pos".FinalPos[1],"inst_Pos".Pos[2]给到"inst_Pos".FinalPos[2],"inst_Pos".Pos[3]给到"inst_Pos".FinalPos[4],"inst_Pos".Pos[4]给到"inst_Pos".FinalPos[3],起始点和结束点是同一个点,所以"inst_Pos".Pos[1]给到"inst_Pos".FinalPos[5]。其中"inst_Pos".FinalPos变量如图20
图20
③调用位置计算程序
④轴的当前位置
⑤状态步判断,然后到达不同的位置