基于SolidWorks的虚拟调试系统设计与实现*
2021-07-14计诗轩
计诗轩,周 驰
(华南理工大学机械与汽车工程学院,广州 510641)
0 引言
在世界各国为实现智能制造争先出台先进制造战略的大背景下,产品制造过程中信息世界和物理世界之间的交融成为了智能制造的主要瓶颈之一。数字孪生技术[1-3]充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映实体装备的全生命周期过程,正成为解决该问题的关键技术。
虚拟调试[4-5]作为数字孪生技术的一个重要分支,可以在设备实体投入生产之前,通过用控制信号驱动CAD三维模型运动来仿真实际设备的工作情况,及早发现和解决机电设计中的问题,缩短自动化设备研发周期,并减少现场调试工作量。虚拟调试技术是国内外学者研究的热门问题。禹鑫燚[6]在RoboDK平台对机器人加工系统进行虚拟调试,改善PLC程序设计的不合理之处。孙萌萌[7]设计了基于CPS格模型和Moore型有限状态机的飞机总装配生产线虚拟调试系统,避免了传统飞机装配工艺存在的问题。胡凡成[8]基于3dMax和Unitu3D平台,采用流程化的方法构建了该企业打样车间的虚拟调试系统,解决了车间生产效率问题。
虚拟调试技术也受到国外的一些软件公司的重视。西门子公司基于NX/MCD、TIA体系,使得设计人员可对机电一体化设备进行3D建模和仿真。达索公司推出了Delmia,配合Catia进行数字化产品虚拟调试。PTC公司研究数字纽带类似概念,在虚拟空间和物理空间构建一个数字纽带系统,为客户提供高效的产品售后服务与支持。
本文对自动化设备虚拟调试系统进行系统架构设计,对信号接口和机构运动学建模和解算等虚拟调试系统核心问题进行研究。在SolidWorks平台上利用二次开发技术,完成对虚拟调试系统的实现。以机器人智能仓储设备为例,完成对虚拟调试系统的实验验证。
1 系统结构设计
虚拟调试系统由PLC控制器、OPC Server、信号数据接口模块、运动仿真模块、移载功能模块、CAD平台模块6部分组成,如图1所示。
图1 虚拟调试系统架构
(1)PLC控制器模块。该模块作为虚拟调试系统的信号输入,可分为PLC控制器和虚拟PLC控制器。本虚拟调试系统支持硬件在环和软件在环两种调试模式。
(2)OPC Server模块。该模块作为虚拟调试系统信号输入的中间层,使用OPC UA标准协议与其他模块进行连接,上承PLC控制器模块,将输入信号传递给信号接口数据模块。该模块使得不同的PLC控制器平台可采用同一套接口与信号数据接口模块进行通讯。
(3)信号数据接口模块。该模块实现了控制信号的获取、将控制信号与运动副、传感器绑定的功能。
(4)运动仿真模块。该模块基于运动副和运动组的约束模型,采用自主开发的机构运动学求解算法,完成机构运动学解算功能。
(5)移载功能模块。采用自主开发的接触模型,建立移载构件间的面面之间的距离传感器,若触发距离传感器,则改变运构件间的连接关系,完成对运动仿真模块约束模型的更新,而实现移载功能。
(6)CAD平台模块。该模块是虚拟调试系统的主体模块。可通过交互选择功能对机构特征的选取,获取构件的几何、位置、属性等信息,创建运动约束和传感器。由运动仿真模块的求解结果完成构件位置更新、显示功能,同时依据CAD平台内部相关干涉检查接口,实现虚拟调试过程中进行干涉检查功能。
虚拟调试系统流程如图2所示。PLC控制器与OPC Server通过OPC UA接口协议进行信号传输,完成PLC控制器信号的输入功能;OPC Server与信号数据接口模块也采用OPC UA接口协议进行信号传输,实现OPC Server中信号读取功能;用户选取CAD平台中的自动化设备的3 D模型特征,创建距离传感器,实现传感器模拟,创建运动副、运动组约束,完成虚拟数字模型的约束模型建立;将I/O信号与运动副、传感器绑定,完成约束模型的驱动和反馈信号创建;使用运动学求解器完成对约束模型的求解,实现3 D模型位置更新;更新位置后利用CAD平台功能接口,实现干涉检查。
图2 虚拟调试系统流程
2 信号数据接口模块
本虚拟调试系统选取KEPServer作为OPC服务器,两个模块间采用OPC UA标准协议进行通讯。OPC协议是便于不同厂商的PLC设备和应用软件进行数据交互的一种标准协议,而OPC UA标准协议是对OPC协议的扩展,包含了OPC的所有接口协议,并且不再依赖过时的COM/DCOM技术,兼容了更多的平台。OPC UA标准协议建立在TCP/IP传输层之上,底层采用Socket进行进程间通讯。
信号数据接口模块需要和OPC Server模块建立通讯连接,完成对OPC Server I/O信号的读取,同时信号数据接口模块获取机构运动学仿真模块中建立的运动副约束信息,最后将实际模型中的对应的I/O信号与运动副进行绑定,同时本虚拟调试系统支持运动副约束与I/O信号的多重映射关系。作为约束的模型输入信号。操作步骤如图3所示。操作界面如图4所示。
图3 信号数据接口模块操作流程
图4 信号数据接口模块界面
3 机构运动学建模与位置解算模块
机构运动学位置求解的本质在于对初始时刻的变换矩阵的计算,本文采用自主研发的运动学引擎进行机构运动学建模与求解。该引擎基于运动副约束、运动组约束、固定约束进行运动学建模和位置求解,约束模型如图5所示。
图5 约束模型
本约束系统的相关定义如下。
(1)运动副约束:描述两个零件间的相对运动约束,表征相对运动关系。两个零件分别被定义为参考零件和运动零件。运动零件绕参考零件所创建的运动轴运动;参考零件的运动轴随参考零件运动。运动副约束可以用运动矩阵的形式表示。两相邻的构件之间有一个公共的轴线,两构件之间构成一个运动副,允许沿轴线或绕轴线作相对运动[9]。该定义表明了定义在两构件间的常见的运动副约束可转化成为其中一构件绕另一个构件的定轴移动或定轴旋转运动,或者其叠加。常见运动副的相对变换矩阵如表1所示。其中T(υ⇀,l)表示沿着单位向量υ⇀平移l距离的变换矩阵,R(υ⇀,θ)表示沿着单位向量旋转θ角的变换矩阵。输入信号控制的即为相对初始时刻的距离位移值和旋转角度值。
表1 常见运动副的几何约束方程和相对变换矩阵
创建运动副约束如图6(a)所示。
图6 创建运动约束
(2)运动组约束:将多个零件合并成运动组后,若组内零件与某一组外零件建立运动副约束,且组内零件为运动副约束中的参考零件,则该运动组内其余零件也会与该组外零件建立相同运动约束。概念上可将创建为运动组后的零件可认为是一个一起运动的一个组件。运动组间的零件创建运动副约束如图6(b)所示。
(3)固定约束:建立运动副过程中,参考零件可选为固定,被选为固定的参考零件,将永远保持固定状态,且该零件将标识为运动链的起点。
(4)运动链:运动链是由零件、运动副组成的约束系统。在虚拟调试系统中,运动链的起点必须为固定约束的零件。将实际运动模型映射到该虚拟调试系统的过程,实际上是建立多条运动链。运动链可分为开环运动链和闭环运动链。
在虚拟调试过程中大部分自动化设备为开环运动链系统或者可以忽略掉闭环传动机构部分。针对开环运动链的虚拟调试系统的运动学位置求解算法如下:
(1)根据建立的运动副约束、运动组约束、固定约束,构造约束无向图;
(2)获取输入信号中的运动副驱动参数值,即获取运动副所对应的绕定轴相对初始时刻旋转角度和沿着定轴相对初始时刻平移距离;
(3)遍历每条运动链,将无向图变为以固定约束构件节点为起点的有向图,则当前时刻运动链中的每个构件相对初始时刻的变换矩阵,为运动副约束有向图中,从固定节点到该节点的每个边(运动副)上的相对变换矩阵的连乘;
(4)根据初始时刻的构件位置信息,由求解出的变换矩阵完成对构件位置的更新。
与开环机构运动学位置求解相比,闭环机构中的部分运动副,可能存在多个输入,其位置不能唯一确定。可借鉴装配问题中的处理方法[10],赋予运动副约束权值,通过最小生成树算法,切除运动副约束,将闭环运动转变成开环运动链,引入切除运动副的约束方程进行求解。
4 系统验证开发与应用
本虚拟调试系统以西门子S7-1500作为PLC控制器,KEPServer作为OPC服务器。以C#作为开发语言,Visual Studio 2015为开发IDE,SolidWorks 2018作为系统运行环境,开发了虚拟调试系统,实现了PLC控制器对SolidWorks中的自动化设备进行控制的功能。系统功能模块如图7所示。
图7 虚拟调试系统功能模块
以智能仓储设备为例,进行虚拟调试。智能仓储设备数字模型如图8所示。该仓储系统的功能为:旋转机械臂通过带传动在水平导轨和垂直导轨上运动,实现货架从存储平台到出库平台、从入库平台到存储平台的移动。虚拟调试系统将通过模拟这一过程,实现PLC控制器直接对SolidWorks中数字模型控制的目的。
图8 智能仓储数字模型
智能仓储调试流程如图9所示。
图9 智能仓储调试流程
本虚拟调试系统对智能仓储进行虚拟调试,需建立运动约束、移载接触、距离传感器。建立运动约束,主要需建立运动副、运动组约束。根据实际模型,建立了3组运动副约束:垂直导轨移动副、水平导轨移动副、机械臂旋转副,3组运动组:垂直导轨运动组、水平导轨运动组、机械臂运动组。
在调试中,还涉及到对货架的移载功能:旋转机械臂运动到一定位置与货架发生接触,机械臂继续上升,本虚拟调试系统的移载功能原理为:旋转机械臂和货架的接触面、货架和存储平台的接触面、货架和出库平台的接触面,这3组接触面建立距离传感器,当构件位置更新后,检测距离传感器数值,若发生新的接触,则删除旧的运动副连接,建立新的运动副连接,完成对约束模型的更新。货架接触到入库平台会触发传感器,作为返回信号发送给PLC控制器,要模拟该过程,需要为感应器表面和货架下表面添加距离传感器,当检测到距离满足触发条件时,将向PLC控制器返回触发信号。
完成调试准备与设定后,搭建了图10所示的智能仓储调试验证平台。通过PLC控制器的控制信号同时控制虚拟数字模型与实体设备。在实验过程中,虚拟调试系统能实现设备运动仿真,反馈传感器信号,记录干涉数据等功能。该实验验证了系统的准确性和可靠性。
图10 智能仓储调试验证平台
5 结束语
本文设计了由PLC控制器、OPC Server、信号数据接口模块、运动仿真模块、移载功能模块、CAD平台模块组成的虚拟调试系统,并基于SolidWorks平台完成对虚拟调试系统的开发实现。在智能仓储设备的虚拟调试过程中,验证了系统的准确性和稳定性。未来可将本系统用于自动化设备调试领域,实现缩短研发周期、降低调试风险、优化控制程序、优化产品生产节拍、提前消除错误的目的。