- 2018西门子工业专家会议论文集(上)
- 杨光
- 3131字
- 2025-02-17 11:47:09
西门子S7-1500在机器人与视觉定位中的应用
王升
(码捷(苏州)科技有限公司 苏州)
The application of SIEMENS S7-1500 in robot and visual positioning
[摘要] 本文介绍了S7-1500系列PLC在机器人与视觉定位中的应用,对手动测试工位进行自动化升级改造,使得工位的效率提高,减少了人力成本,且生产数据可追溯。
[关键词] 机器人、视觉、开放式通信、S7、PROFINET IO、GRAPH
[Abstract] This paper introduces that the application of S7-1500 series PLC in robot and visual positioning,It automates and upgrades the manual test station,which improves the efficiency of the workstation,reduces labor costs,and makes production data traceable.
[Key Words] Robot、Vision、OUC、S7、PROFINET IO、GRAPH
一、项目简介
1.背景介绍
码捷(苏州)科技有限公司创建于1968年,总部位于美国新泽西州,是世界领先的激光全息条码扫描设备生产商之一,现已加入霍尼韦尔集团。当前为了减少人力成本,提高生产效率,决定对测试1900系列扫码枪PCB工位进行自动化升级改造。原有手工站如图1所示,升级后的自动化生产如图2所示。

图1 手工生产

图2 自动化生产
2.项目工艺介绍
聚焦机将PCB上的透镜调整至最佳位置,然后进行点胶、UV固化。原有流程是人工将PCB放入聚焦机聚焦,聚焦结束后人眼判断点胶效果,手动分拣良品、不良品。改造后的流程是人工一次将8个PCB放入载具,机器人从载具抓取PCB并依次放入4台聚焦机聚焦,聚焦结束后通过相机判断胶量,并对良品、不良品进行码垛放置。升级后流程最为关键的工艺是机器人把PCB的定位孔插入聚焦机的销钉,如图3所示,而机器人抓取PCB不可避免地会出现轻微的偏移,要保证PCB定位精度在0.2mm,就必须使用相机对其进行位置调整。

图3 PCB放入聚焦机
全局概览如图4所示,具体流程如下:
1) 上料与翻转:人工将8个PCB水平放入载具中,气缸将载具推至工作位,带有夹爪气缸的伺服依次抓取PCB,并放置在翻转气缸处进行90°翻转。
2) 机器人与相机:机器人抓取垂直的PCB至相机处拍照算出偏移值X、Y、θ,随后机器人对PCB进行偏移,最终放入聚焦机。
3) 上托盘:托盘通过传动带自动传入良品区,机器人将合格的PCB通过码垛放入良品的托盘中,不合格的PCB放入不良品区,托盘传送如图5所示。

图4 全局概览

图5 托盘传送
4) 下料:伺服对装满合格品的托盘进行垂直堆叠,满盘后由人工取走。
二、控制系统构成
1.硬件配置
1) S7-1500系列PLC:整个控制系统的核心,具有强大的通信能力,使用GRAPH语言编写设备间的动作逻辑顺序。
2) S7-1200系列PLC:小型经济的PLC用于伺服的脉冲控制。
3) ABB机器人:对PCB进行抓取与放置。
4) 2台康耐视相机与1台工控机:1台相机抓取PCB定位图像,另1台抓取PCB点胶范围图像,工控机根据图像分析出PCB偏移量与点胶量。
5) 4台聚焦机与4台PC:PC控制聚焦机对PCB进行聚焦与点胶固化。
6) TP700触摸屏:对整个项目设备进行控制、故障与通信诊断、数据存储。
2.网络结构图
网络采用星形结构,如图6所示,S7-1500与1台工控机、1个机器人采用开放式通信,与4台聚焦PC采用S7通信,与1个S7-1200采用PROFINET通信。

图6 网络概览
三、控制系统完成的功能
1.相机定位的实现
(1) 相机定位原理
机器人与相机总览如图7所示。
1) 平移。工件发生平移时,在拍照位置进行拍照后,与开始训练标准位置对比,Mark点成像会产生偏移;Mark点偏移量MDx=CDx、MDy=CDy;如图8所示即相机计算出的Mark点偏移量,可以直接补偿。
2)平移和旋转。工件发生平移和旋转时,在拍照位置进行拍照后,与开始训练标准位置对比,Mark点成像会产生偏移。
因为Mark点偏移量MDx≠CDx、MDy≠CDy,所以相机计算出的Mark点偏移量,不能直接补偿给机器人,需要计算出CDx和CDy及CDr和MDr 然后补偿给机器人,机器人补偿后才能进行抓取,如图9所示。

图7 发生平移

图8 发生平移与旋转

图9 机器人与相机总览
3) 实际流程。首先要对相机坐标系与机械手坐标系进行标定,保证相机计算出的坐标与机器人一致。相机的位置要保持固定不变,机器人抓取的PCB在相机拍照处位置为Pos1并且相机拍取照片为Pic1,PCB定位孔准备水平放入聚焦机的销钉的位置为Pos2,PCB定位孔最终放入聚焦机的销钉的位置为Pos3。
进行校正的PCB在Pos1拍取照片Pic2,工控机通过比较Pic1与Pic2中Mark点之间的差异计算出偏移的X、Y、θ,换算出新的Pos2′,放入最终Pos3。如图10所示为实际拍摄的PCB照片。

图10 相机拍摄PCB照片
(2) 相机的工控机与PLC通信
PLC与工控机之间通过开放式通信发送与接收固定长度的BYTE(字节)数组,定义好对应BYTE的含义则可进行信息交互,如表1所示。对于浮点型数据,PLC需要通过SWAP指令对DWORD(双字)进行数据顺序更改,如图11所示,程序如图12所示。
表1 PLC与工控机通信格式

(续)


图11 DWORD字节顺序

图12 SWAP指令使用
2.通过PROFINET实现对PLC的控制
S7-1200作为PROFINET IO设备,S7-1500作为IO控制器。这样S7-1500可以通过S7-1200的脉冲控制伺服,智能设备组态如图13所示。因为传输中的类型包含字符串,需要将状态I传至DB,DB命令覆盖至Q,轴的通信内容如图14所示,程序如图15所示。

图13 智能设备组态

图14 轴的通信内容

图15 DB对IQ存储区读写
3.聚焦PC与PLC通信
聚焦PC主动与S7-1500建立S7连接,聚焦PC对定义好的DB字节数组读与写,双方起到交换信息的作用,通信格式见表2。
表2 与聚焦PC通信格式

(续)

4.项目中的难点分析
1) S7-1500支持多种工业以太网协议。选用哪种通信协议最简单、最经济、最安全是非常关键的。
① 与相机的工控机通信采用开放式通信,因为仅相机数据传输,那么开放式通信无疑是最简单的。
② 与4台聚焦机PC通信采用S7通信,因为机器人要将PCB放入聚焦机内聚焦,那么聚焦机的当前安全状态需要实时了解,通过S7协议,PC可以将当前状态不断写入PLC的DB,让PLC进行判断。
③ 与S7-1200采用PROFINET通信,因为S7-1200支持PROFINET IO,而且PROFINET实时性非常高(可以达到5ms以内),S7-1200组态IO映射后,S7-1500程序中可以直接使用IO,非常简单。
2) 项目中使用多种通信协议,针对不同协议诊断的方法也不一样。
① 对于开放式通信,通过调用系统T-DIAG功能块进行诊断,对于读出的Result.State进行判断,程序如图16所示,State说明如表3所示。

图16 开放式通信诊断程序
表3 State说明

② 对PROFINET IO设备诊断,通过调用系统DeviceStates功能块进行诊断,程序如图17所示,因为设备编号为1,位1为True代表IO设备存在,如图18所示。

图17 IO设备诊断程序

图18 诊断缓存
③ 对S7通信诊断,因为S7通信为单边通信,所以PC需要不断地对固定字节进行累加写入,PLC通过判断字节累加与否从而得知连接状态,如表2聚焦机反馈至PLC字节B0所示。
3) PLC需同时协调多种设备的流程动作与通信,GRAPH语言是最佳选择,如何快速诊断出GRAPH中的互锁、监控、跳转条件,是保证生产稳定性的关键。
① 使用HMI中GRAPH总览控件,可以看到当前的步号,互锁、监控条件以及转换条件、动作的名称,如图19上半部分所示。
② 使用HMI中PLC代码视图控件,直接显示GRAPH源程序,互锁、监控条件一条条列出来,如图19下半部分所示。
4) 生产数据的可追溯对于故障分析、工艺改进起至关重要的作用。但对于没有 MES和 SCADA的项目来说,如何通过简单的方式让生产工程师查看生产数据就成了难点,以往的解决方法是通过HMI将数据存入U盘,但查看数据需要HMI反复上电插拔 U 盘,这样很不方便。PLC 中的数据记录功能可以通过编程选择时间点来记录多条数据,PC或者手机通过CPU集成的 Web服务器功能查看,生成的数据日志如图20所示,访问数据日志的 CSV文件如图21所示。

图19 GRAPH诊断

图20 生成数据日志

图21 生成的CSV文件
四、项目运行
1900系列测试PCB工位自动化改造于2018年1月15日完成,系统投入试运行。
项目完成后减少了3个操作员的人力成本,人工操作得到简化,避免了人为产生的错误,提高了生产效率,同时自动化生产一致性高,生产数据可追溯。
五、应用体会
如今工业以太网逐渐代替传统的现场总线,西门子PLC在工业以太网通信中灵活、稳定、安全、实时性高。1900系列项目经过半年的实际使用,通信稳定性极高,还未出现过任何错误,如图22所示。项目使用的CPU1511是S7-1500系列CPU最经济的一款,同时连接8台设备,使用4种不同协议,仅占到通信资源的20%,剩余资源依旧富余,如图23所示,这充分体现了西门子公司产品通信性能的强大。

图22 通信统计

图23 连接资源
参考文献
[1] 西门子(中国)有限公司SIEMENS AG.TIA Portal V14帮助[Z].2017.
[2] 西门子(中国)有限公司SIEMENS AG.Machine and Plant Diagnostics with ProDiag[Z].2017.