基于数据驱动的加工单元虚拟调试可视化平台设计与实现
2024-04-22徐凯曹锦江王瑞琪刘嘉良徐艳林
徐凯,曹锦江,王瑞琪,刘嘉良,徐艳林
(南京工程学院 自动化学院,南京 211167)
0 引言
随着中国提出“中国制造2025”以及德国提出“工业4.0”等制造业发展战略,智能制造成为制造业转型升级的主要发展方向,“智能制造工程”成为“中国制造2025”五大工程之一。数字化设计与仿真及虚实结合的虚拟调试技术得到进一步研究与应用。国内学者对虚拟调试技术做了大量研究并取得了诸多成效。禹鑫燚等[1]提出通过数据库完成控制设备和虚拟模型之间的信号交互,实现加工系统对3D模型的虚拟调试。刘欢连[2]提出结合数字孪生技术,选用OPC、SDK及API技术实现数据采集来驱动仿真模型。林裕程等[3]提出基于西门子SIMIT UNIT单元驱动3D机床模型的数字孪生数控机床虚拟调试技术。
王俊杰等[4]提出一种基于西门子MCD的并行概念设计理念,运用OPC(OLE for Process Control)通信技术作为实时虚拟验证的实现手段。高建超等[5]提出借助西门子Tecnomatix平台对机器人滚边制造过程进行虚拟调试以提高调试效率。王刚等[6]提出采用基于Tecnomatix平台、OPC技术、Siemens的PLCsim建立完全虚拟化的仿真平台,实现完全虚拟化的白车身生产环境仿真,缩短了调试周期,降低了调试成本投入。
白瑞峰等[7]利用Visual Components(VC)搭建的虚拟对象代替了机械对象,通过MES专用模块可与真实的PLC进行数据交互而实现虚拟调试。王宝平等[8]利用FANUC NC GUIDE仿真软件实现数控机床电气虚拟调试。通过上述文献可以看出,有的基于品牌虚拟仿真软件平台完成虚拟调试,成本较高;有的自行开发虚实结合通信软件,通信模块具有专用性;有的是纯虚拟仿真,没有使用数据驱动三维建模,在工程项目和实验中都起到了很好的使用效果。
本文介绍一种通用性更好、虚实相结合的虚拟调试可视化方法,以机械加工行业智能制造设备中常用的数控机床上下料单元为研究对象,开发机器人上下料PLC控制程序,通过构建和开发通用数控机床机器人虚拟调试可视化平台,解决了数控机床上下料单元控制程序直接电气调试风险大、成本高、周期长、不如实物调试直观等问题。
1 平台方案
1.1 虚拟调试概念
在制造业中虚拟调试就是利用数字化技术手段创建出物理制造环境的数字复制品,在整个设备制造完成之前完成部分或全部设备离线调试,可以机械装配虚拟调试,也可以自动化设备控制逻辑虚拟调试。虚拟调试技术可以大幅缩短后续现场调试时间,提高项目实施的效率,降低设计错误带来的风险[9]。设备制造常规设计流程与虚拟调试流程对比如图1所示。从图1可以看出,虚拟调试能够大大节省调试和制造时间,提高了生产效率。
图1 传统设计流程与虚拟仿真调试流程对比关系图
1.2 虚拟调试方案
本课题研究在通用数控机床基础上,追加机器人上下料电气控制功能,在开发控制逻辑过程中,涉及到与外部设备I/O连接,为此把数控机床与外部设备相连的I/O信号连接至以太网I/O模块,然后模块再通过以太网接口与PC电脑相连,再利用3D Max建模软件设计上下料单元实物数字孪生模型,在PC电脑上开发数控机床数据采集交互I/O信号通信程序,利用Untiy 3D引擎软件开发设计虚拟调试动画软件,再通过采集的数据驱动虚拟调试三维建模动画,三维模型执行结果再通过远程物联网I/O模块输出给数控机床输入,虚拟调试硬件方案如图2所示。
图2 上下料单元虚拟调试方案
在数控机床电气控制基础上设计机器人上下料I/O信号,把数控机床需要与机器人连接I/O信号分别连接到以太网I/O输入模块和输出模块,再通过交换机把输入和输出以太网I/O模块及PC电脑互联。然后在PC电脑上对机器人、数控机床、机器人运动导轨、毛坯库、成品库等实物三维建模和集成装配,最后开发数据采集程序和数据驱动模型软件功能。
2 硬件平台
2.1 输入输出以太网I/O模块
项目实施输入输出I/O模块可以总线组网,使I/O数字量点数得到灵活扩展;I/O模块能同时支持以太网和RS485信号通信方式,支持标准的Modbus协议;I/O信号类型可根据现场需要进行灵活配置。
2.2 数控系统PLC接口
项目研究选用FANUC 0i数控系统,数控系统I/O模块为96点入/64点出,该模块输入输出I/O接口除大部分用于数控机床本体功能使用外,还有多余信号接口,因此把多余的I/O接口用于追加机器人上下料互联信号。加工中心与机器人上下料信号如表1所示,分别是门开和门关到位信号,输出门开和门关电磁阀信号,工作台台钳工件夹紧和松开到位信号,输出台钳工件夹紧和松开电磁阀信号,还有与机器人交互输入输出信号。
表1 上下料功能开发用输入输出地址一览表
2.3 数控机床PLC接口与以太网I/O模块连接图
数控机床PLC接口与以太网I/O模块连接如图3所示。从图3看出,数控机床输出控制信号给机器人和机床外围设备,机床外围设备和机器人信号运行状态提供给数控机床。理解信号关系对上下料控制程序的开发至关重要。
图3 数控机床PLC接口与以太网I/O模块连接图
3 软件设计
3.1 软件设计方案
根据虚拟仿真数控机床、机器人、传送带等对象功能和现场实物,拟定了软件开发方案,如图4所示。软件开发主要是数据交互画面模块、数据采集通信模块,采集的数据驱动相关的动画模块,动画画面主要有开门、关门、工作台夹紧和松开、机器人上料和下料动画等。
图4 虚拟仿真软件开发方案软件模块组成
3.2 三维建模和动画设计
课题开发软件平台主要利用3D Max建模软件和Unity 3D 引擎仿真软件。
3.2.1 三维建模方案
在虚拟调试项目开发当中,利用3D Max三维建模软件分别对机器人、数控机床、机器人运动导轨、毛坯库、成品库等实物部件进行1∶1比例三维建模。三维建模方案如图5所示。
图5 三维建模方案实物组成
3.2.2 组件建模
3D Max是基于PC系统的三维建模、动画、渲染的制作软件,拥有许多理想的命令供制作者使用。常用于建筑模型、工业模型、室内设计等行业,基本上能满足一般的3D建模的需求[10]。
根据三维建模方案和建模软件特点,利用建模软件工具分别对加工中心、机器人、地轨、毛坯和成品库实物进行数字化建模。在三维建模时使用相对实物较为精确的数据与比例,保证建模的效果满足实物要求,通过选择基本的几何体、二维线条、复合几何体、布尔运算、三维造型等多种方法综合在一起进行建模[11]。
3.2.3 可视化场景
Unity 3D仿真引擎软件支持多平台发布,可独立运行,能够进行工业数据通信,通过国际通信标准OPC协议或函数、数据库等方法可将工业信号或数据实时传输给Unity 3D,即可根据现实的工业状态进行虚拟仿真,这大大增强了仿真的现实性与准确性,即能实现物理实体与虚拟模型之间的映射[12]。
根据3D Max建模结果,导出Unity 3D仿真软件支持的fbx 格式模型,导出时一定要注意选择“EmbedMedia”(嵌入媒体)、“Auto Generate”(自动烘焙)、“use external materails(legacy)”(外部材质),“from model‘s materails”(取自模型材质)等参数设置。导入模型完成,再利用Unity 3D软件提供的烘焙功能进行场景渲染。还要注意两种软件的左手/右手坐标系转换、比例尺寸关系等[13]。
3.2.4 三维模型动画设计
通过Unity 3D 引擎开发,使用引擎自带的Animate动画插件设计模型动画。开发设计的动画内容如表2所示。
表2 开发的动画清单一览表
3.3 以太网I/O模块数据通信
3.3.1 模块参数设置
以太网I/O模块是把现场设备I/O开关量信号转换成以太网等通信协议的设备模块,供后续软件进行数据采集和监控,因涉及I/O信号的高低电平、输入输出定义、触发方式、以太网IP地址、模块通信方式(RS232/RS485/MODBUS RUT/ MODBUS TCP)、端口号等参数,因此需要根据产品配套软件进行参数设置。其中设置参数部分画面如图6所示。模块还提供了调试工具,可以用于测试I/O与机床连接关系。
图6 以太网I/O模块参数设置画面
3.3.2 数据采集原理框图
项目选用C#作为开发语言,因电脑与以太网I/O模块基于以太网物理连接,根据参数设置,选择MODBUS TCP协议作为项目软件开发通信协议,以太网I/O模块Modbus TCP通信系统由服务器和客户端两部分组成。首先,经过3次握手,TCP连接成功建立。通信软件开发原理如图7所示。客户端向服务器发送数据请求,服务器接收到请求报文后,对报文进行解析,得到客户端所需求的寄存器数据起始地址和数量。然后,启动响应发送包含所需数据对应的应答报文。最后由客户端解析相应报文,得到所请求的数据[14]。当客户端发送的报文格式有误时,服务器返回包含错误码的响应报文,告知客户端请求报文有误。
图7 MODBUS TCP服务器端与客户端通信关系
3.3.3 输入输出数据处理
1)输入信号采集过程。软件开发通过Modbus TCP协议与以太网I/O模块进行通信,软件实时读取以太网I/O模块信息,当输入模块接收到来自机床的输出信号时,以太网I/O模块的输入模块将机床的DI输入信号转换为十六进制的报文指令通过Modbus TCP协议传输PC电脑。PC电脑再经过转换协议进行解析,通过将十六进制报文转换为二进制后获取每一位数字当前值,1为有DI输入,0为没有DI输入(例:0000000000000111,此时为DI1、DI2、DI3有信号)。再根据交互画面参数设置DI定义功能,为虚拟仿真调试做好准备。
2)输出信号处理过程。仿真软件根据输入信号定义的功能播放设计指定动画,系统根据交互画面参数设置DO定义功能,自动驱动模型运行,当模型动画完成到达延时时间后,仿真软件发送报文指令给以太网I/O输出模块,控制以太网I/O输出模块继电器线圈打开,输出信号送给相应的机床输入信号,实现“虚实结合”调试功能。
4 验证与应用
4.1 上下料流程
数控铣床或加工中心追加机器人上下料流程都是大同小异[15-16],项目主要研究从数控机床角度的上下料工艺流程。
根据表1和图3数控机床与上下料机器人信号关系,上料流程如图8所示,开发PMC程序,编制上下料子程序。使用M指令或M98指令调用上下料子程序[16]。
图8 数控机床与机器人上料动作工艺流程
4.2 虚拟仿真调试
4.2.1 硬件连接信号测试
根据图3硬件接线情况下,可以利用以太网I/O模块配置软件及FANUC PMC诊断画面测试输入输出信号连接情况。FANUC数控系统PMC与以太网I/O模块信号关系如图9所示。
图9 数控机床与远程以太网I/O模块输入输出信号关系图
4.2.2 设置输入输出功能参数
交互画面主要是考虑开发软件功能的通用性,当用户按图3施工,但功能定义不同时,交互画面开发了参数设置画面,可以自定义输入输出模块功能。参数设置画面如图10所示。使用时只要鼠标选择输入输出功能即可,且选择功能具有唯一性,即第一个输入输出功能选择完,不会出现在第二项功能选项中。
图10 交互画面功能参数设置画面
4.2.3 数据驱动与动画实现虚拟调试
1)上料过程数据驱动与动画虚拟调试实现关系。以图3硬件连接为例,上料过程数据驱动与三维模型动画实现虚拟调试(如表3)。
表3 上料过程数据驱动虚实调试信号与动画关系一览表
2)下料过程数据驱动与动画虚拟调试实现关系。下料过程数据驱动与动画实现关系与表3类似,主要差别如下:当以太网输入模块收到DI7信号时,启动“机器人从毛坯抓取位置移动到机床工作台下料位置,机器人伸入到机床内台钳工件位置上方,抓取工件”动画;当以太网输入模块收到DI8信号时,启动“机器人从机床内带着工件退回到机床外,移动到毛坯位置”动画。相应的动画调试后通过以太网输出模块相应DO信号输出,其它虚拟调试动画与上料步骤复用。虚拟调试可视化平台场景如图11所示。
图11 虚拟调试可视化平台场景
4.3 平台应用
该项目开发成果应用在江苏省大学生创新创业训练计划项目的虚拟调试环节,解决了学习数控机床电气调试开发上下料程序直接使用机器人调试带来的安全风险问题,同时也解决了智能制造工程专业“智能制造系统集成综合训练”实习的机器人数量不够而影响综合训练实习进程的问题。
5 结论
虚拟调试可视化技术降低了实物调试成本,特别降低了调试可能引起的实物干涉损坏风险和人身安全风险,增强了调试直观性效果,提高了项目开发效率。数字孪生、虚拟调试及可视化等技术是智能制造工程领域的重要技术发展趋势,且会得到更多的应用,通过以太网I/O模块为硬件平台实现虚拟仿真调试,不依赖特定设备和软件平台,通用性强,该研究成果可以为类似智能制造设备调试及开发高危实验环境的教学实验设备平台提供参考。