[三菱] 多图预警!多点搬运控制案例详解(内含源程序)

[复制链接]
查看346 | 回复0 | 2024-5-14 07:33:44 | 显示全部楼层 |阅读模式
一、案例描述



有一批物料均匀的呈阵列排布在一个托盘上面,现在需要把物流均匀的搬运到另外一个位置,通过一个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.位置显示








免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则