杨 旭,刘忠超,李跃阳
(南阳理工学院智能制造学院 河南 南阳 473004)
生产线自动化水平的高低,直接影响工业生产的精准度、产品的生产周期、人力物力成本等,进而决定企业的经济效益[1]。传统的生产线控制只能在生产现场对设备进行监控,使得控制系统的灵活性和实时性大大受限,影响生产的管理水平和生产效率[2-3]。随着“中国制造2025”和“工业4.0”概念的提出和发展,工业制造领域的转型升级成为工业物联网发展的重要驱动力,传统的生产线已经往物联网、云平台、智能化和信息化方向转型[4]。
本文借助于手机移动监控的实时性、便利性,通过物联网云平台,开发实现了对装配生产线的远程实时监控。系统借助Node-RED平台,在云平台与生产线PLC控制器之间进行数据交换,将云平台作为数据共享平台,手机通过APP访问云平台,实现与控制现场系统的实时数据交互,提高了自动化生产线的智能化、安全化和高效化[5]。
自动化装配生产线由6个工作站组成,分别是供料站、搬运站、加工站、搬装站、装配站、分拣站,其中供料站为主站,其余站为从站[6]。整个生产线完成中空圆柱体加工和顶盖的装配,圆柱体由主料件(中空圆柱体)和辅料件(顶盖)组成。
6个工作站的控制系统均选择西门子S7-1511 PN 控制器,其是一款经济型PLC,具有卓越的控制性能,处理速度快,联网能力强,集成了PROFINET接口和强大的工艺功能,支持与PROFINET子站和HMI设备通讯,能够完成复杂的逻辑控制、人机界面交互等[7]。
供料站为系统主站,负责装配生产线现场数据的上传、下发、接收等操作。供料站由旋转料盘与上料台组成。搬运站由双杆气缸的机械手机构组成。加工站由旋转工作台、加工机构、颜色识别机构组成。搬装站由转台机构和步进传动机构组成。装配站由简易料仓、供料机构、机械手爪机构组成。分拣站由分拣机构和料槽机构组成。
为了通过云平台监控装配生产线设备稳定运行及库存情况,利用可视化编程软件Node-RED平台,建立腾讯云物联网开发平台与PLC的数据交互通道,将现场运行数据存入数据库管理系统[8]。
Node-RED平台与PLC之间通过PROFINET协议进行通讯,利用Node-RED平台中所提供的西门子s7节点,通过IP地址访问PLC。Node-RED平台与MySQL数据库之间通过TCP/IP协议访问本机地址,实现历史数据的存储。Node-RED平台与腾讯云之间通过MQTT协议进行通信,通过设置腾讯云物联网平台中所创建产品的三元组信息,进行订阅与发布节点的设置,即可进行通信。该装配生产线的网络架构设计如图1所示。
图1 网络架构设计
该生产线采用每一工作站由一台S7-1511-PN PLC承担其控制任务,主站为供料站,搬运站、加工站、搬装站、装配站、分拣站为从站,其各个站的地址分别为192.168.0.1、192.168.0.2、192.168.0.3、192.168.0.4、192.168.0.5、192.168.0.6,接入到同一个交换机,通过西门子的S7协议进行通讯,并通过软件系统中的GET/PUT模块进行数据交换。主从站架构如图2所示。
图2 主从站架构设计
该自动化装配生产线中,总共由6个工作站组成,直流电机、步进电机与各类传感器是各个站的重要组成部分,一方面保证物料在生产线上的运输,另一方面对物料进行搬运与装配,保证产品的正常加工。生产线控制系统主要由6台西门子S7-1511 PN的PLC进行控制,程序设计使用西门子TIA博途V16.0平台[9]。TIA 博途是西门子工业自动化集团发布的一款全新的全集成自动化软件,根据装配生产线实际生产工艺编写相应的PLC控制程序。装配生产线控制逻辑流程如图3所示。
图3 生产线控制逻辑流程
图3中,当开始工作时,由供料站进行物料的供给,通过转盘将物料运输至上料台,由传感器检测是否到达,由搬运站的机械爪将物料搬运至加工站。到达加工站后,加工站的光电传感器检测物料位置,由加工站的直流电机控制转盘旋转,进行铣槽机构和冲压机构的加工,加工完毕后到达颜色检测工位。检测完毕后,由搬装站的机械手将物料运输至装配站,其中搬装站机械臂的移动依靠该站的步进电机。到达装配站后,根据加工站传输的物料颜色数据进行顶盖的分配,分配完毕后由装配站的机械手进行顶盖的安装。安装完成后再由搬装站的机械手与步进传动机构将物料运输至分拣站,分拣站根据物料颜色进行分拣。
Node-RED是IBM公司发布的可视化物联网开发工具,提供了一个基于浏览器的流程编辑器,可以将硬件设备、API和在线服务连接在一起。它是一个可视化的项目,使用NodeJS事件驱动且完全开源,提供Web页面用来编写Flow。创建Flow主要方式是在浏览器中选择节点列表,可以方便地通过拖拽节点的方式完成[10]。
系统设计用到的节点有contrib-s7、node-mysql、contrib-iot-explorer、debug、function等,所用节点通信方式及功能如表1所示。
表1 节点通信方式及功能
在上位PC机中通过CMD命令进入Node-RED平台,通过浏览器访问本地IP,进入Node-RED界面。通过西门子提供的contrib-s7节点实现与PLC进行连接,该系列节点包含了s7-in、s7-out与s7-control节点,s7-in节点功能为连接PLC与读取PLC中的变量,s7-out节点功能为写入PLC变量,s7-control节点功能为启用高级控制,可在其中设置发送与读取数据的周期。
在Node-RED中安装contrib-s7节点,并将其拖拽至流程中,在s7节点中与PLC进行连接,并进行变量表的配置。连接成功后在数据流中可以看到online提示(如图4所示)。
图4 Node-RED上报数据流
系统使用MySQL保存生产线的运行数据和相关状态。MySQL数据库与Node-RED平台通过TCP/IP协议进行连接,在MySQL节点中进行IP地址以及端口等设置。将s7-in节点、function节点、mysql节点进行连接,构成一个完整的数据流,并在function中编写MySQL的插入语句,即可从调试窗口中读取PLC变量的当前值,并将当前值存储至MySQL中作为历史数据(如图5)。
图5 MySQL数据流
腾讯云与Node-RED平台交互传输采用的是MQTT协议。MQTT协议是一种消息列队传输协议,采用订阅、发布机制,订阅者只接收自己已经订阅的数据,非订阅数据则不接收,既保证了必要的数据交换,又避免了无效数据造成的储存与处理[11]。
Node-RED平台中提供了腾讯云物联网开发平台的节点,通过该节点来进行产品连接,根据所需参数分别填写设备信息、连接服务信息,以及订阅/发布节点Topic设置,即可进行通讯。连接成功后会提示已连接。
在腾讯云物联网平台定义属性、事件和功能,进入交互界面开发,通过界面的设计可以让用户在腾讯连连小程序或者APP上获得当前数据,在腾讯连连APP中可以进行启动、停止、复位等操作,并可以在APP界面中获取当前运行时间、总运行时间、成品类型等数据。当数据上传至腾讯云平台后,腾讯云平台能够将这些数据发送腾讯连连APP与小程序中,在APP中可以实时监控生产线运行状态。
在腾讯云物联网开发平台的数据开发中进行报警设置,通过读取产品设备中的数据,以及逻辑运算,获得设备报警或设备通知信息。系统设计中使用了两个数据流,分别为库存不足通知以及设备卡死报警。当设备库存数量小于等于5时或设备长时间没有新的工件产生时,均会向用户的APP与微信中发送通知,提醒用户当前异常情况。
基于亚龙YL-301A装配生产线,对生产线中6台PLC编程实现了装配生产线的自动化控制。系统实现了现场PLC的多协议通讯,并通过Node-RED平台将现场生产数据上传至数据库和云端,实现了利用智能手机对装配生产线的跨地域、实时远程监控。通过测试,自动化装配生产线控制灵活,工作效率高。系统可以实现对生产线控制现场的远程监控、历史数据读取、微信报警等功能,实现了通过云端服务器对远程工业生产线的监控,对传统制造业的转型升级具有较高的应用和参考价值。