一、案例描述
有一批物料均匀的呈阵列排布在一个托盘上面,现在需要把物流均匀的搬运到另外一个位置,通过一个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.位置显示
星三角降压启动电路是一个比较经典的电路
简易电子万年历的制作方法
透气包装材料微生物屏障分等试验仪
亚马逊将联手Microchip开发IoT设备安全芯片
功率因数表超前与滞后是什么意思
多图预警!多点搬运控制案例详解
CCD和CMOS传感器:论两大最常见图像传感器的异同
华林科纳半导体告诉你PFA管接头有哪些类型
什么是Digital Twins技术?
工业机器人视觉技术平台阿丘科技已完成千万美元A+轮融资
CDMA系统中的功率控制技术及过程分析
当5G网络到来时,爱立信将进一步提升增长和盈利能力
无锡惠山新签约一个半导体核心装备项目
70英寸以上超大屏电视大盘点,看看有没有你喜欢的那一款呢?
STM32 GPIO工作原理及LED电路原理
hsdpa是什么意思
三星S8真机美如画! 与小米6争抢高通835首发,网友看法竟然是一边倒
有源钳位正激电路分析之钳位PMOS
支持5G的iPhone 12将拳打三星脚踢华为
2020年职场的你,如何选择高效办公的智能语音鼠标?