一、案例描述
有一批物料均匀的呈阵列排布在一个托盘上面,现在需要把物流均匀的搬运到另外一个位置,通过一个3轴的龙门台控制,需要搭配一个威纶通触摸屏,要求写出控制程序。
要求:
1.手动模式下,可手动控制平台左右前后上下移动。
2.按下回原点按钮,能够自动回原点,回完原点才可进行自动
3.自动模式下,按下启动按钮,会将物流一个一个从第一个坐标系一一搬运到第二个坐标系。
4.给定第一个坐标系第一个坐标点和给定第二个坐标系第一个坐标点,其他点两两之间间隔是10mm,PLC需要自动计算出来。
5.按下急停按钮按钮,步进电机立即停止运行。需重新执行一次原点回归指令。
6.按下暂停按钮时,设备停止,重新按下启动时设备继续动作。
二、电气元件选型
序号
| 元件
| 数量
| 1
| 空气开关
| 6个
| 2
| FX3U-16MT plc
| 1台
| 3
| 威纶通触摸屏 TK8071IP
| 1个
| 4
| 3轴步进电机滑台
| 1套
| 5
| 24V开关电源(100W)
| 1台
|
三、I/O分配
输入点
| 标签
| 输出点
| 标签
| X0
| Y负极限
| Y0
| Z脉冲
| X1
| Y原点
| Y1
| X脉冲
| X2
| Y正极限
| Y2
| Y脉冲
| X3
| X正极限
| Y3
| Y方向
| X4
| X原点
| Y4
| X方向
| X5
| X负极限
| Y5
| Z方向
| X6
| Z正极限
| Y6
|
| X7
| Z原点
| Y7
|
|
触摸屏的界面设置如上,下面把这些点位写成表格,如下图表:
点位
| 标签
| 点位
| 标签
| M0
| 启动
| M10
| 手自动
| M1
| 停止
| M11
| 回原点开始
| M2
| 急停
| M12
| 回原点中
| M3
| X正转
| M13
| 回原点完成
| M4
| X反转
| M14
| X轴回原完成
| M5
| Y正转
| M15
| Y轴回原完成
| M6
| Y反转
| M16
| Z轴回原完成
| M7
| Z正转
| M17
| 确认下降点
|
坐标系的地址如下,启点的X坐标使用D1000开始的连续25个双字寄存器,起点的Y坐标用D1100开始的连续25个双字寄存器;
第一个坐标系第一个点坐标是(D1000,D1100),第2个点是(1002,1102)......
同样的方法,终点的X坐标用D1200开始的连续25个双字寄存器,终点的Y坐标用D1200开始的连续25个双字寄存器;
后面计算就给这些地址赋值可以搭建好坐标系。
四、程序编写
1.原点回归速度和爬行速度设置
为了缩短扫描周期,把回归速度和爬行速度写在子程序P0里面,设置回归速度为2000,爬行速度为500。
2.数据计算
触摸屏只需要给定起点坐标(D1000,D1100),终点坐标(D1200,D1300)其他地址坐标就能自动计算出,这部分的程序比较多,可以写成子程序,这里使用P1的子程序,需要调用的时候再调用。
首先,求出最下面一行,所有点的横坐标,如下通过一段FOR循环和变址,后面的每一个点是前一个点坐标加10mm,通过循环变址,循环4遍,就能求出第一行的10个数据横坐标。
根据第一行的数据,后面每一行的横坐标都和第一行一样,因此,使用8个批量测试指令,就能把后面8排地址的数据计算出来,这样的话横坐标就都计算完毕。
接下来,求出第一列10个点的纵坐标,如下通过一段FOR循环和变址,后面的每一个点是前一个点坐标加10mm,通过循环变址,循环4遍,就能求出第一行的10个数据纵坐标。
然后就可以求出每一列所有点的纵坐标,通过批量传送指令,前5行程序就把第一个坐标系的Y点都计算出来,最后一行,终点坐标也是一样的计算方法,执行完毕,子程序结束。
3.计算调用
上面计算的程序不是需要时时刻刻都执行的,需要当数据发生改变时,再执行一次改变。
起点X坐标D1000的值通过demov指令不断传送给D2000,因此,它们是相等的,这比较指令,会让M51导通(常闭触点断开),只有给了一个新的值给D1000,它们才会不相等,这时,M51就会失点(常闭触点会导通),触发P1指令,执行计算。
其他3个坐标也是同样的控制原理。
4.数据的调用
在自动控制时,每抓取完一个物料每一遍动作,就导通M100的线圈(这部分的程序在后面),每次就让D0加1,抓取25个点的物料,就会增加到25。每一次动作,调用的坐标系点位不同,比如第一次启动时,下面就把D1000Z5(D1000),D1100Z5(D1100),D1200Z5(D1200),D1300Z5(D1300,)坐标给到对应控制的寄存器,执行完毕,M100导通,D1加1,Z5=2;这里调用的坐标是D1000Z5(D1002),D1100Z5(D1102), D1200Z5(D1202),D1300Z5(D1302)
每完成一次,使用的坐标地址就偏移2位,这样就可以切换坐标位置上;
面计算出来的是浮点数的数据,还需要这几个数据转化成脉冲数(已知,丝杆导程是4mm,步进电机设置位800转每圈),可以求出脉冲当量=4mm/800=0.005mm
因此把之前求出的坐标除以0.005得出实际控制脉冲,并把数据转化成整数;
5.正负极限设置
6.原点回归控制
7.手动控制
8.启停控制
9.顺序控制
动作需要逆序写,第一步写在最后,动作完成M8029会导通,使用INC让D100加1,后面每一步都一样;运行到第5步,用M8029导通M10线圈,M10的常开写在这一行程序上面,用MOV指令让D100回到第1步,这样写是为了隔开一个扫描周期,让第5步的动作和第一步的定位指令不在同一个扫描周期里面运行。
10.升降点设置
11.位置显示
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |