基于物联网的工业定制化生产系统设计*
2018-10-22谢仁栩徐哲壮刘安国高佩裕
谢仁栩,陈 丹,徐哲壮,刘 兴,刘安国,高佩裕
(福州大学 电气工程与自动化学院 自动化系,福建 福州 350108)
0 引言
随着工业物联网等技术的快速发展[1-2],工业制造的信息化与智能化已成为工业发展的必然趋势[3-6]。工业定制化生产作为智能制造的典型应用,能够满足用户个性化定制产品的需求,已经得到了越来越多研究者的关注[7-9]。
然而工业定制化生产系统的实现仍面临一系列挑战。首先是定制生产订单管理系统与生产控制系统的衔接问题,用户的定制信息要能够自动解析并直接传输至生产控制系统,实现从提交定制信息到定制化生产全流程的自动化。然而现有系统大多数仍需人工导入与确认[10],延长了生产周期,增加人力成本。另一方面,用户提交定制信息亟需直观高效的提交手段,现有方案仍需客服与用户沟通确定定制信息,不仅效率低下,也很难达到所见即所得的效果。
针对上述需求和挑战,本文设计了一套基于物联网的工业定制化生产系统。该系统通过工业物联网和云平台等技术实现了终端用户与定制生产控制系统的互联互通,进而实现了定制化生产全流程的自动化。同时该系统还利用微信小程序为终端用户提供了简洁直观的信息定制服务,让用户在提交定制信息的同时,也能够实时看到定制产品的成品预览图与生产进度,提升了用户体验与产品制造的透明度。另外,小程序的定制模板可随产品生命周期进行灵活调整。该系统以激光刻字定制产品为案例进行实验,并对于该系统数据传输的实时性进行了分析。实验结果证明,该系统能够在10 s内完成从提交定制信息到启动定制生产线的物联网通信流程,具有可行性和良好的实时性;同时定制化生产全流程无需人员参与,能够提高生产效率和降低人力成本。
1 工业定制化生产系统方案设计
基于物联网的工业定制化生产系统框架如图1所示,该系统主要由五部分组成:机械臂及工控机、可编程逻辑控制器(Programmable Logic Controller,PLC)、工业物联网模块、云平台、微信小程序。其中微信小程序面向终端用户,通过移动互联网与定制生产云平台相连,用于上传定制信息与查询生产状态;云平台则负责存储定制订单信息,并实时地将订单生产任务进行分解,随后将分解后的生产任务分别发送至工控机与工业物联网模块;工业物联网模块一方面通过4G或WiFi与云平台建立数据连接,另一方面通过工业以太网或现场总线与PLC相连,由此实现了工业生产线与云平台的数据直连;PLC根据云平台分配的生产任务,完成物料进出仓与流水线运行等控制工作;机械臂则负责完成定制信息的激光雕刻工作,其中定制信息通过工控机从云平台获取,并通过工控机完成运动轨迹的解算。
图1 工业定制化生产系统框架图
该系统方案主要具备以下优势:(1)能够实现工业定制化生产全流程的自动化,无需人员参与;(2)与定制化生产相关的程序集中在云平台端,无需修改现场控制程序,便于维护和更新;(3)基于微信小程序的定制信息服务与移动互联网技术紧密结合,高效便捷。系统各模块的详细介绍如下。
1.1 机械臂及工控机
本文使用的机械臂是一款具有3自由度的智能协作机械臂,可以通过更换不同的功能模块来执行激光雕刻和蚀刻、3D打印、雕刻/研磨、取放等任务。在本文搭建的定制化生产演示系统中,其作为定制化生产的执行机构,主要作用为利用其轨迹规划和激光雕刻功能,实现定制化产品的雕刻工作。
机械臂控制器通过USB接口与工控机相连,通过I/O口与控制生产线中PLC相连,并实时检测实验台I/O信号,实现机械臂与生产线联动的联动控制。同时机械臂通过工控机定时获取和处理云平台中的定制产品的数据信息,以实现定制产品的生产。
1.2 可编程逻辑控制器(PLC)
PLC是工业现场控制执行机构的关键设备[11],在该定制化生产系统中使用Siemens的S7-300CPU315-2PN/DP作为主站的控制器,主要作用是控制各从站的生产状态,负责收集各从站PLC的订单状态数据并通过以太网利用物联网模块将数据上传至云平台;使用S7-200CPU226CN作为从站的控制器,主要作用是响应主站PLC的控制指令,对各定制化生产流程执行器进行控制,同时将工业设备的状态数据经由RS485总线发送至主站PLC中,实现定制化流程的订单跟踪。
1.3 工业物联网模块
工业物联网模块是连接工业现场总线与云平台的核心设备,该模块需要支持RS485、以太网、WiFi和4G等通信方式。工业物联网模块通过云平台接收的定制化生产指令,并将其转发至PLC执行;另一方面,工业物联网模块也要周期性地采集PLC各寄存器的数据,并将其通过WiFi/4G等通信方式发送到云端数据库,移动设备再从云平台数据库中下载数据,从而将PLC采集的数据信息实时传输给移动设备。通过工业物联网模块实现云平台与PLC的直连,缩减了订单管理与生产流程衔接过程中的人工确认和分配环节,能有效减少人力和管理成本。
1.4 云平台
本系统所采用的云平台搭建于华为云服务器上,主要用于定制化生产流程中的数据存储、转换和传输。云平台接收小程序端发送的定制生产数据,并将其存入云平台数据库中。定制生产数据经过功能分解后,将分别发送生产指令信息至工控机和工业物联网模块,用于控制机械臂和生产线的工作。另一方面,云平台也定时接收并保存工业物联网模块所获取的生产线状态数据,这些数据还可在小程序端发起订单查询时使用。重要的是,批量定制订单生产的管理与优化仅需在云平台修改即可实现,无需修改工业现场模块,便于实施与推广。
1.5 微信小程序
微信小程序[12]是腾讯公司开发的一种全新的连接用户与服务方式。该系统中微信小程序完成两大功能:1)作为定制化信息上传与下载的可视化端口,通过移动设备可联网的属性,利用WiFi/4G通信进行数据传输,建立与云平台的连接。(2)作为订单查询和监控生产线状态信息的可视化端口。小程序将定制信息采用图片的形式上传给云平台,并且将实时读取的云平台中的生产线状态信息反馈给用户,使得用户能实时跟踪到生产状态信息。
2 工业定制化生产系统软件设计
工业定制化生产系统软件设计主要为机械臂控制程序设计、PLC控制程序设计、工业物联网模块设计、云平台设计、微信小程序设计。微信小程序作为系统的可视化入口,用于发送和接收云平台中的定制信息;机械臂控制程序接收到云平台的控制信息后进行定制信息的处理;同时由PLC控制的生产线系统接收到定制信息后启动生产线,进行定制产品的生产。通过以上的物联网通信和协同控制,完成定制化生产过程。
2.1 机械臂控制程序设计
机械臂与工控机相连,当云平台中有需要打印的信息时,云平台客户端会定时将需要雕刻的消息队列保存到工控机本地日志中。机械臂开始工作后就开始检测实验台I/O的输入信号,接收到信号表示工件已经就位,并停止生产线的传送电机。工控机从服务器读取需要加工的图片,获得的图片经过处理后进行激光雕刻。加工完输出结束信号,并给生产线PLC发送信号,启动该流程的传送电机送走已加工完成的定制化工件,并等待下一个开始信号。其工作流程如图2所示。
图2 机械臂工作流程图
机械臂控制程序定时访问保存在本地的定制日志内容,获取图片并处理得出像素平滑轮廓,转化成机械臂工作需要的路径PVT点并优化后作为激光雕刻加工的实际路径。图3为测试文字经过处理后的激光雕刻路径。
图3 图片轨迹优化界面
同时,机械臂通过输入的轨迹试教点,利用插补算法获得运动学逆解,通过关节角控制和激光雕刻模块,实现激光雕刻工作。轨迹规划的常规流程如图4所示。
图4 轨迹规划常规流程
2.2 PLC控制程序设计
本文工业定制化生产系统中系统控制分为主从站控制和主从站之间的通信。主站和从站PLC之间采用工业总线进行通信[13],各从站通过V变量寄存器作为中间变量,实现生产线中从站与主站的连接与通信过程。
S7-300作为整个系统的主站,需要其做好对各个从站的联调联控以及数据采集中转。当生产线开始工作时,主站会定时检测订单信号,当有订单信号到达时,生产线自动开始工作,定制产品自动从物料仓库出仓,同时检测下一站是否正常工作,到达检测站时,若无其他订单信号则自动停止上一工作站,其他工作站的工作情况类似,工作站的工作均受主站控制。通过各站点之间的联动控制,若有连续订单信号,但下一站工作未完成时,上一站则不会放行工件,避免发生冲突。主站PLC控制程序流程如图5所示。
图5 S7-300程序流程图
S7-200利用V变量作为中间变量,将从站程序中需要传输控制的变量赋给变量存储器,再通过工业总线传输给主站;主站将该变量转化成输入量,执行程序后得到输出量后再进行变量转化,发送回从站程序中并进行控制。
站之间的通信程序也写在主站PLC程序里面,例如物件检测单元中检测到托盘,在从站程序中I0.1的电位由‘0’变‘1’,V3.0的电位也由‘0’变‘1’。V3.0传输到主站程序中对应I5.0变量,执行程序段后,Q3.0的电位也由‘0’变‘1’,Q3.0对应的V1.0传输到物件检测单元,电磁吸铁Q0.2失电复位。这个通信过程的作用是当下一站在加工时,上一站不能往下一站传送加工工件,必须将工件阻拦在上站。
2.3 工业物联网模块
工业物联网模块的软件配置工作包含工业数据采集和工业远程通信网关两个部分。将工业物联网模块接入到电脑,在浏览器中登录其默认地址192.168.23.1进入用户界面,通过LAN配置中网关配置IP地址,选择网管配置,点击选择启用;上传固件后打开采集器配置程序,选择打开目标工程,就可以编辑配置物联网模块对应的采集器编号信息。相关参数配置如图6所示。
图6 采集器配置
工业数据采集模块通过Modbus-TCP协议通信方式接入到定制生产线的PLC(S7-300)中,并实时读取和采集定制生产线中PLC采集的各种信号。通过工业远程通信模块生成出对应的文本文件并将日志打包后发送到服务器中,利用HTTP协议与云平台进行对接,通过WiFi/4G上传到平台服务器中。
2.4 云平台设计
云平台从Web页面登入后可以通过物联通信网关对设备进行远程控制。用户连接后会在本地分配一张虚拟网卡的IP地址,同时创建VPN路由到服务器,再由服务器下发地址及路由信息到网关中,网关根据对应的信息与客户端间搭建起对应的VPN通道。
构建好VPN通道后,平台通过HTTP协议定时接收定制小程序端发送的JSON格式数据(数据包含了发送的订单编号、文字、定制模板编号、用户个人信息等数据),并将数据包解压后存入云平台的Oracle数据库中。数据库字段信息如图7所示。
图7 数据库字段
同时,云平台通过工控机的客户端定时发送HTTP POST请求,获取用户的订单信息,并下载到本地日志中,用于机械臂控制程序的读取。
物联网模块中利用Modbus-TCP协议通信方式与S7-300 PLC进行在线通信,根据不同的订单用户获取对应点位的数值,终端设备的程序会生成出对应的文本文件并将日志打包后发送到服务器中,服务器会将数据包处理完成后将数据入库。当用户在小程序监控页面查询相应订单时,通过订单号的匹配,实现生产线状态和小程序端监测状态的动态更新。
2.5 微信小程序设计
微信小程序是终端用户提交定制信息的可视化入口,同时生产状态也可以实时在微信小程序上显示,图8为小程序设计的框架图。
图8 定制化生产的小程序设计框架图
如图9所示,用户利用微信“扫一扫”功能作为入口,扫描定制小程序二维码,完成定制信息填写后上传。小程序将确认后的定制产品信息组成JSON格式,并写入必要的参数(如URL、data、header等),由wx.request发起HTTP请求上传到云平台数据库。
图9 定制化生产信号流图
小程序通过wx.uploadFile上传定制信息,POST上传的表单可包含文件及其他键值数据。小程序利用此方法将定制信息传给后台服务器,服务器则通过文件流获取定制信息。
小程序提交定制信息界面如图10所示。
图10 小程序的定制信息界面
3 测试与结果
为了验证本文所设计的工业定制化生产系统的可行性,该系统被部署于激光刻字定制产品的演示生产线中。终端用户在微信小程序上选择喜欢的模板、编辑个性定制的文字后,通过该系统物联网通信和定制化控制程序的支持后,机械臂便能够与生产线配合完成定制文字的雕刻工作。机械臂激光雕刻演示如图11所示。
图11 机械臂激光雕刻演示
另一方面,生产线的当前状态能够通过工业物联网模块上传到云平台,用户可以通过小程序订单查询界面实时查看定制物品的生产状态。小程序生产流程查询页面如图12所示。
图12 小程序生产流程查询页面
为了本系统数据传输的实时性,通过程序分别标记订单信息上传时间与生产线接收时间,两者时间差就是该系统上传定制信息的时延。在进行50次实验条件下,获取数据时延如图13所示。
图13 小程序发送定制数据时延
类似地,通过程序分别记录订单信息完成时间与生产线工作结束时间,两者时间差就是该系统返回生产状态数据的时延。在进行50次实验条件下,获得数据时延如图14所示。
图14 小程序接收生产状态数据时延
从图13和图14中可以看出,本文所设计的工业定制化生产系统能够在较短时延内完成定制信息上传与生产状态数据的反馈。具体而言,上传定制信息的时延在3.5 s左右,而接收生产状态的时延在7.5 s左右。
定制信息传输的时延受到以下三个因素的影响:网络传输时延、数据处理时间、查询等待时延。网络传输时延则取决于物联网通信的带宽和数据拥塞情况;数据处理时延则取决于小程序和服务器的算法复杂度;查询等待时延则受到数据查询周期的影响,采用低查询周期或主动推送的模式可以减少这部分时延。
本实验中上传定制信息和接收生产状态的时延差异主要是受到查询等待时延的影响。但整体而言,总体时延都被严格控制在12 s以内。现有大多数定制化生产方案需要人工介入,从提交定制信息到生产执行的等待时间通常长达数小时。相比之下,本文所述系统在实时性上具有明显的优势。
4 结论
本文设计并实现了基于物联网的工业定制化生产系统,该系统通过工业物联网和云平台等技术实现了终端用户与定制生产控制系统的互联互通;同时,利用微信小程序技术为终端用户提供了简洁直观的信息定制服务,并能够查看定制产品的成品预览图与生产进度。该系统以激光刻字定制产品为案例进行了实验,通过实验证明了该系统能够在10 s内完成从提交定制信息到启动定制生产线的物联网通信流程,具有可行性和良好的实时性,能够有效提高生产效率和降低人力成本。