林裕程 韩 勇
(天津市机电工艺学院,天津 300350)
设备的设计开发过程很难预测到生产和使用过程中出现的问题,因此,使用虚拟调试来提前编程和测试产品,可以减少过程停机时间,并降低将设计转换为产品的过程风险。
通过创建出与物理环境相同的数字化映射,来测试和验证产品设计的合理性,推动硬件的设计。相比于传统的现场调试,虚拟调试的主要优势体现在:直接在虚拟环境下对机械设计、工艺仿真和电气控制进行整合,能够诊断早期设计失误和控制程序的错误,为机电一体化设备的调试提供更安全的测试环境,让其在未生产安装之前就已经完成调试,从而降低制造成本,并缩短设备的交付时间。
MCD是基于Siemens PLM Software的NX系列产品,主要用于机电一体化产品零件和组件运动行为的模拟,从而实现机构的虚拟仿真和评估[1]。NX MCD集机械、电气和自动化设计于一体,可以进行多学科协同设计。借助MCD中基于物理场的交互式仿真,动力学模型的运动行为与物理世界中的真实设备行为是一样的,亦即“所见即所得”[2-4]。MCD还具有面向其他工具和学科的开放式接口,支持软件在环和硬件在环的虚拟调试。
TIA博图将工程组态和软件项目环境相结合,以支持基于模型的虚拟调试,并通过控制组件与机器或系统的机电系统之间进行交互。要实现这一目标的关键是S7-PLCSIM Advanced高级仿真器,它支持生成虚拟PLC,以模拟S7-1500或ET200SP硬件,同时支持将虚拟PLC连接到NX MCD仿真平台,在系统或机器环境中对机电一体化设备进行全面验证[5]。
本文以数控机床为研究对象,提出了一种基于MCD的机电一体化软件在环虚拟联调的具体方法。首先在NX MCD中创建数控机床的数字化模型,并添加相应的物理和机电属性;其次,根据机床加工和换刀的工作流程,在TIA博图中进行硬件组态并编写控制程序,将其下载到PLCSIM Advanced所创建的虚拟PLC中,再由MCD中的接口与PLC进行通讯,发送设置信号(如速度设定、位置设定和开关信号等)到MCD。MCD根据接收到的信号仿真机械部分运动,以实现MCD系统、TIA博图和PLC系统的数据交互与控制,从而对数控机床进行虚拟调试和验证,如图1所示。
将数控机床的数字化模型导入NX MCD模块中,根据调试需求和需实现的功能,建立功能模型,如图2所示,并在MCD中设置相应的机电属性。
由于几何体在三维模型中没有被赋予机电对象属性,因此它并不具备物理系统控制下的所有运动属性,只有赋予其基本机电对象特征之后,才能够进行物理属性的运动仿真。本文对机床的主轴、刀架、刀具、刀库门、换刀轮、气缸、物料和工作台等设置了相应的刚体和碰撞体属性,如图3所示。
通过对刚体添加对应的运动副来定义对象的运动方式,从而使其实现相应的运动,本文对数控机床的运动副定义如图4所示。
对于需要运动的几何体而言,要在MCD中对相应的运动副进行位置和速度的定义使其成为执行机构,从而使几何体能够按照目标位置和指定速度到达指定的位置后反馈信息给PLC。由于机床中的X轴、Y轴、Z轴、刀架、换刀轮和气缸等应具备运动属性,因此本文对它们进行了位置控制(包括线性和角度)和速度控制的设置,如图5所示。
在MCD中,信号用于外部控制信息与模型运动的信息交互,具有输入与输出两种类型。此外,信号之间需要逻辑判断与运算,因此需要通过信号适配器对信号的形成逻辑进行组织管理,由其提供的数据参与到运算过程中,为MCD对象提供新的信号,以支持对运动或行为的控制,并将新的信号传送给外界或MCD系统中。由于数控机床的X轴、Y轴、Z轴、刀盘和气缸需要进行逻辑运算和数据交互,本文对它们进行了相应的信号和逻辑处理,具体设置如下。
(1)X轴、Y轴、Z轴。数控机床的X、Y、Z轴的位置和Z轴的速度是由PLC程序控制的,需要在信号适配器中创建XX、YY、ZZ和速度Z这4个信号并设置为输入型,用来接收来自PLC的控制信号。此外,机床模型的X、Y、Z轴的位置信息也要传输到PLC中,因此创建了XX_F、YY_F、ZZ_F信号,将3个轴的位置信息反馈回PLC。还要添加图5中X轴、Y轴、Z轴的“位置控制”为参数,通过公式将3个轴的具体数据赋值到以上创建的信号中,用于数据交互,如图6所示。
(2)刀库门。刀库门的开合实际是由气缸的运动来控制的,由于在运动副中已经定义刀库门和气缸的运动关系,因此只需要对气缸的信号进行设置即可,如图7所示。
刀库门开合是否到位是由气缸的行程来决定的,因此判断门是否开合到位就要将气缸的行程反馈到PLC中,对其行程的判断由逻辑公式给定,如图8所示。以门打开到位为例,其逻辑公式为:If(位置>110)Then(true)Else(false)
其中位置是指气缸的行程位置,由PLC控制。模型中气缸的行程为0~120,气缸运动到110时,刀库门已经完全打开,当气缸位置>110时,则将门打开到位信号反馈给PLC,以执行下一步的指令。
(3)刀盘。对刀盘的控制实际就是对换刀轮的卸刀、换刀和其位置的控制。因此,需要设定刀号、刀盘旋转和刀盘升降等控制信号和反馈信号,如图9a所示。以换刀轮上升到位的信号反馈为例,添加图5中“换刀轮 线性”为参数,并在信号适配器中命名为“升降”,通过逻辑公式:
If(升降>-1)Then(true)Else(false)
当换刀轮线性位置大于-1时,说明换刀轮上升到位,则MCD将信号反馈回PLC,以执行下一步指令。
但由于在PLC中无法完全控制机床的卸刀和装刀动作,需要配合在MCD中定义“运行时参数”,通过“运行时表达式”的运算,将参数传送到“仿真逻辑控制序列”,从而触发换刀动作。
本文根据刀盘换刀的动作,设置了上升到位上升沿、上升到位下降沿、上刀和卸刀等8个运行时参数,并全部由“运行时表达式”进行运算,如图9b所示。
以Runtime Expression_6“刀盘·上升到位下降沿”为例,对机床的卸刀动作进行说明。Runtime Expression_6的公式为:
If(!上升到位&刀盘)Then(true)Else(false)
其中用到了“上升到位”与“刀盘·升降记忆”这两个参数,其含义是:当刀盘处于原点的位置,且刀盘上升到位的信号为false时,则采集到了下降沿脉冲,从而触发“刀盘·卸刀”这一参数,此时“刀盘·卸刀”的值为true,且当刀盘旋转至刀1(刀1为机床主轴上的刀)卸刀位时,紧接着会驱动仿真序列中“刀1与刀架断开”和“刀1与刀架链接”两个行为,从而完成卸刀动作,如图9c和9d所示。
本文基于西门子S7-1500系列PLC进行组态设计,以确保数据安全和通讯的稳定。在TIA博图中添加CPU1511-1 PN PLC和普通PC站,在PC站中添加OPC服务器和通用IE网卡,连接PLC与IE网卡端口,建立S7连接,完成组态,如图10所示。由于信号较多,为保证后续在MCD中信号映射的准确和便捷,本文导出了MCD中设置好的信号,并将其导入到TIA博图中,定义变量地址与数据类型,如图11所示。
根据图2所示的功能模型以及MCD中定义的机床运动控制情况,编写PLC程序,部分PLC梯形图如图12所示。
本文使用S7-PLCSIM Advanced V2.0创建虚拟PLC,由于本文探究软件在环虚拟调试,因此在Online Access选项中选择PLCSIM,在Instance name中输入PLC1,点击Start,完成PLC的创建,如图13所示。
在完成上述设置后,将TIA博图中的组态和程序下载到虚拟PLC1中,PLCSIM Advanced中的绿灯亮起,则表示TIA博图与虚拟PLC1连接成功,在TIA博图中的主程序和变量启用监视。
在MCD中进行虚拟调试,信号的连接是关键的一步。
在建立映射之前,需要将PLC中的信号在MCD中的“外部信号配置”中进行连接,完成上述配置后,将外部信号与MCD信号建立信号映射,如图14所示。
信号连接完成之后,就可以实现MCD与虚拟PLC程序的运动信号交互。可以将指定对象的信号添加到“运行时查看器”中,对实时数据进行观察分析。本文将“启动”、“XYZ”和“刀盘”等信号添加到了“运行时查看器”,在“运行时查看器”中找到启动信号,双击将false改为true以启动机床,点击“播放”按钮,可以观察到机床模型的实时行为在MCD中得到了虚拟验证;同时在TIA博图的主程序窗口和变量窗口可以看到,MCD在仿真的同时与博图进行了数据交互,如图15所示。
此外,可以在“运行时查看器”中检测到实时数据和运动曲线,如图16所示。
本文提出来一种基于NX MCD软件在环系统的虚拟调试方法,并以数控机床样机为实例,对机床的机械结构、PLC程序及其运行逻辑进行了验证。此外,通过研究“位置-时间”的关系,可以看出Z轴速度由0增加到设计速度的过程和工件接近刀具的时候的减速过程更为真实可靠。因此,可以得出结论:使用本文提出的方法对机电一体化设备进行虚拟调试,能够快速地发现设备设计缺陷和程序异常,通过不断地调试修改以达到设计要求,从而降低现场调试风险,节省成本,调试结果也更为准确和真实。