一种用设备虚拟样机辅助测试PLC控制程序的方法转让专利

申请号 : CN201510275411.6

文献号 : CN104932405B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林康于兴军梁春平张鹏飞高源

申请人 : 宝鸡石油机械有限责任公司

摘要 :

本发明公开了一种用设备虚拟样机辅助测试PLC控制程序的方法,步骤包括:步骤1、进行程序编制,总共涉及四部分程序,其中需要编制设备虚拟样机程序、OPC客户端程序、PLC控制程序;另外,OPC服务器程序使用PLC控制器厂商提供的OPC服务器程序,只需进行相应的通讯数据配置;步骤2、搭建硬件,搭建PLC控制系统、PC机、通讯网络,通过通讯卡将PLC控制系统与PC机联网;步骤3、安装程序及配置通讯;步骤4、测试程序,并根据测试结果进行修改、优化,即成。本发明的方法,减少单独编制三维模型的成本及时间;同时提高PLC控制程序测试的安全性。

权利要求 :

1.一种用设备虚拟样机辅助测试PLC控制程序的方法,其特征在于,按照以下步骤实施:步骤1、进行程序编制

总共涉及四部分程序,四部分程序分别是:

1.1)PLC控制程序,即实验对象机械设备的PLC控制程序,在PLC控制系统中的PLC控制器上运行;

1.2)OPC服务器程序,使用PLC控制器厂商提供的OPC服务器程序,再通过对应的通讯配置,就能够完成PLC控制程序与OPC客户端程序之间的数据通讯;

1.3)OPC客户端程序,基于OPC基金会或者PLC控制器厂商提供的OPC客户端编制框架编制的通讯接口程序,完成OPC服务器程序与设备虚拟样机程序之间的数据通讯;

1.4)设备虚拟样机程序,设备虚拟样机用于三维模拟机械设备的物理运动情况,以PLC的控制输出作为驱动设备虚拟样机动作的输入,同时把设备的虚拟传感器数据返回给PLC控制程序,编制设备虚拟样机程序又分为处理三维模型及编制三维仿真程序,处理三维模型:首先导出UG或SolidWorks编制平台下设计的产品三维实体精确模型;

然后导入至3DS MAX平台,并在3DS MAX平台中进行模型优化及渲染,把三维实体精确模型转换为三维简模,最后导出三维简模;

编制三维仿真程序:首先将上述的三维简模导入虚拟现实编制平台中;然后通过编写程序,赋予三维模型的设备虚拟样机功能,即三维模拟机械设备的物理运动情况,并能输出虚拟传感器数据;

步骤2、搭建硬件,

硬件的物理架构包括三部分:

2.1)PLC控制系统,包括用于运行PLC控制程序的PLC控制器、相应的按钮、开关、操作手柄构成的操作输入设备、以及上位机监控设备;

2.2)PC机,包括计算机主机及其显示器、键盘鼠标,用于运行OPC服务器程序、OPC客户端程序、设备虚拟样机程序;

2.3)通讯卡,用于PLC控制器与PC机之间的通讯,采用基于PLC控制器厂商提供的OPC服务器支持的工业通讯方式,通过通讯卡将PLC控制系统与PC机联网;

步骤3、安装程序及配置通讯

将步骤1得到的四部分程序分别安装至相应的硬件设备上,并完成数据通讯配置,具体包括:

3.1)安装PLC控制程序

将步骤1.1)编制的PLC控制程序安装至PLC控制器中,并运行;

3.2)安装OPC服务器程序

首先安装PLC控制器厂商提供的OPC服务器程序至PC机上,然后在OPC服务器程序上配置PLC控制程序与OPC客户端程序之间的数据通讯;

3.3)安装OPC客户端程序

首先安装OPC客户端程序至PC机上,然后在OPC客户端程序上配置OPC服务器程序与设备虚拟样机程序之间的数据通讯;

3.4)安装设备虚拟样机程序

安装设备虚拟样机程序至PC机上,并运行;

步骤4、测试程序

在进行机、电、液联调测试之前,采用设备虚拟样机进行辅助测试及验证PLC控制程序的逻辑控制、运动控制算法是否正确、合理,并根据测试结果进行修改、优化,根据信号流向,测试程序的流程分为八个小步骤并循环执行,具体如下:

4.1)程序测试员进行操作指令输入,包括操作按钮、开关、旋钮、手柄输入设备;

4.2)PLC控制程序首先读取检测信号、操作指令输入,然后根据控制需求进行逻辑控制、运动控制运算,最后进行控制输出,包括开关量及模拟量;

4.3)OPC服务器程序读取PLC控制程序的控制输出;

4.4)OPC客户端读取OPC服务器程序上的PLC控制程序的控制输出,并传输给设备虚拟样机程序;

4.5)设备虚拟样机程序依据PLC控制程序的控制输出进行相应仿真动作,程序测试员通过观察、监测设备虚拟样机的运动情况,判断PLC控制程序的逻辑控制、运动控制控制输出是否满足控制要求,若不合理则进行PLC控制程序修改及优化,直至满足控制要求;

4.6)设备虚拟样机程序执行仿真动作的同时,输出虚拟传感器数据;

4.7)OPC客户端程序读取虚拟传感器数据,并传输至OPC服务器程序;

4.8)OPC服务器程序把虚拟传感器数据输出至PLC控制程序,作为PLC控制程序的检测信号输入,即成。

说明书 :

一种用设备虚拟样机辅助测试PLC控制程序的方法

技术领域

[0001] 本发明属于程序测试技术领域,涉及一种用设备虚拟样机辅助测试PLC控制程序的方法。

背景技术

[0002] 目前应用诸如UG、SolidWorks等CAE/CAD/CAM编制平台来辅助设计与制造的机械设备,配备的控制系统多以PLC作为控制器,而PLC控制程序的正确性、合理性直接关系到产品的安全和时效。目前,对于程序的控制功能测试验证,仍普遍采用直接在实际产品上进行控制功能测试的方式。但是,当产品处于机、电、液联调测试阶段,由于编写的PLC控制程序可能存在逻辑控制、运动控制算法上的错误,导致设备出现误操作,因此存在很高的测试风险,特别是大型、复杂的设备,更易造成设备损毁、人身伤害等事故。同时在机、电、液联调测试阶段才进行PLC控制程序的逻辑测试及程序修改,将极大地延长产品的编制周期。

发明内容

[0003] 本发明的目的是提供一种用设备虚拟样机辅助测试PLC控制程序的方法,解决了现有技术中采用直接在实际产品上进行控制功能测试,存在测试风险、逻辑测试及程序修改,极大地延长产品编制周期的问题。
[0004] 本发明所采用的技术方案是,一种用设备虚拟样机辅助测试PLC控制程序的方法,按照以下步骤实施:
[0005] 步骤1、进行程序编制
[0006] 总共涉及四部分程序,其中需要编制设备虚拟样机程序、OPC客户端程序、PLC控制程序;另外,OPC服务器程序使用PLC控制器厂商提供的OPC服务器程序,只需进行相应的通讯数据配置;
[0007] 1.1)编制设备虚拟样机程序
[0008] 编制设备虚拟样机程序又分为处理三维模型及编制三维仿真程序,[0009] 处理三维模型:首先导出UG或SolidWorks编制平台下设计的产品三维实体精确模型;然后导入至3DS MAX平台,并在3DS MAX平台中进行模型优化及渲染,把三维实体精确模型转换为三维简模,最后导出三维简模;
[0010] 编制三维仿真程序:首先将上述的三维简模导入虚拟现实编制平台中;然后通过编写程序,赋予三维模型的设备虚拟样机功能,即三维模拟机械设备的物理运动情况,并能输出虚拟传感器数据;
[0011] 1.2)编制PLC控制程序;
[0012] 1.3)编制OPC客户端程序;
[0013] 步骤2、搭建硬件
[0014] 搭建PLC控制系统、PC机、通讯网络,通过通讯卡将PLC控制系统与PC机联网;
[0015] 步骤3、安装程序及配置通讯
[0016] 将步骤1得到的四部分程序分别安装至相应的硬件设备上,并完成数据通讯配置;
[0017] 步骤4、测试程序
[0018] 在进行机、电、液联调测试之前,采用设备虚拟样机进行辅助测试及验证PLC控制程序的逻辑控制、运动控制算法是否正确、合理,并根据测试结果进行修改、优化,即成。
[0019] 本发明的有益效果是:
[0020] 1)直接以UG、SolidWorks等CAE/CAD/CAM研制平台输出的模型作为设备虚拟样机的三维模型,减少单独编制三维模型的成本及时间。
[0021] 2)用设备虚拟样机测试PLC程序,能够直观形象地观察机械设备的运动情况,以此判断PLC程序的正确性;同时提高PLC控制程序测试的安全性,缩短产品的研制周期,降低研制费用。

附图说明

[0022] 图1为本发明方法所用的物理架构示意图;
[0023] 图2为本发明方法所用的逻辑架构示意图;
[0024] 图3为本发明实施例的机械设备结构示意图;
[0025] 图4为本发明实施例的电气硬件示意图。

具体实施方式

[0026] 以下通过附图和具体实施方式对本发明进行详细说明。
[0027] 本发明的方法,通过设备虚拟样机辅助测试PLC控制程序,包括硬件的物理架构和软件的逻辑架构。
[0028] 如图1所示,硬件物理架构包括三部分:
[0029] 1)PLC控制系统,包括用于运行PLC控制程序的PLC控制器、相应的按钮、开关、操作手柄等构成的操作输入设备、以及上位机监控设备。
[0030] 2)PC机,包括计算机主机及其显示器、键盘鼠标,用于运行OPC服务器程序、OPC客户端程序、设备虚拟样机程序;若机械设备比较复杂,设备虚拟样机就需要更高的三维图形处理能力,此时应相应地配置三维图形处理能力更高的显卡。
[0031] 3)通讯卡,用于PLC控制器与PC机之间的通讯,采用基于PLC控制器厂商提供的OPC服务器支持的工业通讯方式,常用工业通讯方式包括TCP/IP、Profibus、Profinet、工业以太网、MPI等。
[0032] 如图2所示,软件的逻辑架构包括四部分程序:
[0033] 1)PLC控制程序,即实验对象机械设备的PLC控制程序,在PLC控制系统中的PLC控制器上运行。
[0034] 2)OPC服务器程序,使用PLC控制器厂商提供的OPC服务器程序,再通过对应的通讯配置,就能够完成PLC控制程序与OPC客户端程序之间的数据通讯,比如Siemens公司提供的Simatic NET OPC Server程序。
[0035] 3)OPC客户端程序,基于OPC基金会或者PLC控制器厂商提供的OPC客户端编制框架编制的通讯接口程序,完成OPC服务器程序与设备虚拟样机程序之间的数据通讯。
[0036] 4)设备虚拟样机程序,设备虚拟样机用于三维模拟机械设备的物理运动情况,以PLC的控制输出作为驱动设备虚拟样机动作的输入,同时把设备的虚拟传感器数据返回给PLC控制程序。
[0037] 本发明的方法,具体按照以下步骤实施:
[0038] 步骤1、进行程序编制,最好采用并行研制的方式,以提高研制效率。
[0039] 本发明方法中涉及的四部分程序,实际需要开发的是设备虚拟样机程序、OPC客户端程序、PLC控制程序;而OPC服务器程序使用PLC控制器厂商提供的OPC服务器程序,只需进行简单的通讯数据配置即可使用。
[0040] 1.1)编制设备虚拟样机程序
[0041] 编制设备虚拟样机程序又分为处理三维模型及编制三维仿真程序,[0042] 处理三维模型:首先导出UG、SolidWorks等编制平台下设计的产品三维实体精确模型;然后导入至3DS MAX平台,并在3DS MAX平台中进行模型优化及渲染,把三维实体精确模型转换为三维简模,以满足虚拟现实技术中实时渲染的简模要求;最后导出三维简模;
[0043] 编制三维仿真程序:首先将上述的三维简模导入虚拟现实编制平台中;然后通过编写程序,赋予三维模型的设备虚拟样机功能,即三维模拟机械设备的物理运动情况,并能输出虚拟传感器数据;虚拟现实编制平台使用基于OpenGL或DirectX的底层编制平台,或使用3DVIA Virtools、Unity 3D、VR-Platform、Vega等成熟的虚拟现实技术编制平台。
[0044] 1.2)编制PLC控制程序
[0045] 根据机械设备的控制需求编制PLC控制程序。
[0046] 1.3)编制OPC客户端程序。
[0047] 步骤2、搭建硬件
[0048] 按照图1所示,搭建PLC控制系统、PC机、通讯网络,通过通讯卡将PLC控制系统与PC机联网。
[0049] 步骤3、安装程序及配置通讯
[0050] 将步骤1得到的四部分程序分别安装至相应的硬件设备上,并完成数据通讯配置。
[0051] 3.1)安装PLC控制程序
[0052] 将步骤1.2)编制的PLC控制程序安装至PLC控制器中,并运行。
[0053] 3.2)安装OPC服务器程序
[0054] 首先安装PLC控制器厂商提供的OPC服务器程序至PC机上,然后在OPC服务器程序上配置PLC控制程序与OPC客户端程序之间的数据通讯。
[0055] 3.3)安装OPC客户端程序
[0056] 首先安装OPC客户端程序至PC机上,然后在OPC客户端程序上配置OPC服务器程序与设备虚拟样机程序之间的数据通讯。
[0057] 3.4)安装设备虚拟样机程序
[0058] 安装设备虚拟样机程序至PC机上,并运行。
[0059] 步骤4、测试程序
[0060] 此时就可在还未进行机、电、液联调测试之前,采用设备虚拟样机进行辅助测试及验证PLC控制程序的逻辑控制、运动控制算法是否正确、合理,并根据测试结果进行修改、优化;
[0061] 如图1所示,根据信号流向,测试程序的流程分为八个小步骤,并循环执行,具体如下:
[0062] 4.1)程序测试员进行操作指令输入,包括操作按钮、开关、旋钮、手柄等输入设备;
[0063] 4.2)PLC控制程序首先读取检测信号、操作指令等输入,然后根据控制需求进行逻辑控制、运动控制运算,最后进行控制输出,包括开关量及模拟量;
[0064] 4.3)OPC服务器程序读取PLC控制程序的控制输出;
[0065] 4.4)OPC客户端读取OPC服务器程序上的PLC控制程序的控制输出,并传输给设备虚拟样机程序;
[0066] 4.5)设备虚拟样机程序依据PLC控制程序的控制输出进行相应仿真动作,程序测试员通过观察、监测设备虚拟样机的运动情况,判断PLC控制程序的逻辑控制、运动控制等控制输出是否满足控制要求,若不合理则进行PLC控制程序修改及优化,直至满足控制要求;
[0067] 4.6)设备虚拟样机程序执行仿真动作的同时,输出虚拟传感器数据;
[0068] 4.7)OPC客户端程序读取虚拟传感器数据,并传输至OPC服务器程序;
[0069] 4.8)OPC服务器程序把虚拟传感器数据输出至PLC控制程序,作为PLC控制程序的检测信号输入。
[0070] 实施例
[0071] 如图3,测试对象是一种处于编制过程中起重机械设备,假设ABC为设备的基座,AG为设备的机械臂,CD为设备的液压缸支撑臂,G点通过钢丝绳挂有重物。
[0072] 控制目的是,AG机械臂通过CD液压缸支撑臂的伸缩而绕A点上下运动,同时起重重物上下运输。
[0073] 为了满足重物在上下运输过程中的平稳可靠,对起重设备作如下控制要求:AG机械臂的运动速度与操作手柄输入成比例关系;加减速平滑;到达最高点和最低点前进行减速,到达最高点和最低点后停止运动。
[0074] 在该起重机械设备编制过程中,以UG作为起重设备的辅助设计平台,以Siemens S7-315-2DP/PN作为PLC控制器,以Siemens Simatic NET OPC Server作为OPC服务器程序,以TCP/IP作为PLC控制器与PC机之间的通讯网络。
[0075] 参照前述的本发明方法步骤,具体实施过程如下:
[0076] 步骤1、进行程序编制,对需要的三部分程序并行编制,提高编制效率。
[0077] 1.1)编制设备虚拟样机程序
[0078] 选用3DS MAX作为处理三维模型的平台,选用3DVIA Virtools 5.0软件作为编制三维仿真程序的平台。
[0079] 处理三维模型:首先导出UG编制平台下设计的产品三维实体精确模型;然后导入至3DS MAX平台,并在3DS MAX平台中进行模型优化及渲染,把三维实体精确模型转换为三维简模,以满足虚拟现实技术中实时渲染的简模要求;最后导出三维简模。
[0080] 编制三维仿真程序:首先将导出的三维简模导入3DVIA Virtools 5.0编制平台中;然后通过编写程序,赋予三维模型的设备虚拟样机功能,即AG机械臂通过CD液压缸支撑臂的伸缩而绕A点上下运动。
[0081] 1.2)编制PLC控制程序
[0082] 在Simatic Step 7编制平台上,根据控制要求编制起重设备的PLC控制程序。
[0083] 1.3)编制OPC客户端程序
[0084] 基于3DVIA Virtools SDK和Siemens Siamtic NET OPC Sever,使用VC++编制OPC客户端程序。
[0085] 步骤2、搭建硬件
[0086] 如图4所示,搭建PLC控制系统、PC机及通讯网络。
[0087] PLC控制系统由电源模块PS 307、CPU模块S7-315-2DP/PN、模拟量输入AI模块(AI 8x12位)、模拟量输出AO模块(AO 8x12位)、操作手柄组成。由于以TCP/IP作为通讯网络,而S7-315-2DP/PN控制器的PN口具有TCP/IP功能,因此直接使用PN口作为PLC控制器端的通讯网口。
[0088] PC机直接使用普通网卡。
[0089] 步骤3、安装程序及配置通讯
[0090] 将步骤1得到的四部分程序分别安装至相应的硬件设备上,并完成数据通讯配置。
[0091] 3.1)下载PLC控制程序
[0092] 将步骤1.2)编制的PLC控制程序下载至S7-315-2DP/PN控制器中,并运行。
[0093] 3.2)安装OPC服务器程序
[0094] 首先安装Siemens提供的Simatic NET OPC Server程序至PC机上,然后在Simatic NET OPC Server上配置PLC控制程序与OPC客户端程序之间的数据通讯。
[0095] 3.3)安装OPC客户端程序
[0096] 首先安装OPC客户端程序至PC机上,然后在OPC客户端程序上配置OPC服务器程序与设备虚拟样机程序之间的数据通讯。
[0097] 3.4)安装设备虚拟样机程序
[0098] 安装设备虚拟样机程序至PC机上,并运行。
[0099] 步骤4、测试程序
[0100] 依据控制要求进行设备虚拟样机辅助测试起重设备的PLC控制程序。上述对于起重设备具有三个控制要求,每个控制要求的测试流程都一样,以下以AG机械臂的运动速度与操作手柄输入成比例关系控制要求为例,进行测试流程说明:
[0101] 4.1)程序测试员操作手柄进行线性比例控制输入。
[0102] 4.2)PLC控制程序首先读取CD支撑臂的液压缸长度虚拟传感器数据、操作手柄输入,然后根据控制需求进行逻辑控制、运动控制运算,最后进行控制输出。
[0103] 4.3)OPC服务器程序读取PLC控制程序的控制输出。
[0104] 4.4)OPC客户端读取OPC服务器程序上的PLC控制程序的控制输出,并传输给设备虚拟样机程序。
[0105] 4.5)设备虚拟样机程序依据PLC控制程序的控制输出,进行CD液压缸的伸缩运动,进行带动AG机械臂绕A点的上下运动。
[0106] 此时程序测试员通过观察、监测设备虚拟样机的运动情况——AG机械臂的运动速度与操作手柄输入是否成比例关系,若未满足控制要求则进行程序修改及优化。
[0107] 4.6)设备虚拟样机程序执行仿真动作的同时,将CD支撑臂液压缸的伸缩长度以虚拟传感器数据的形式输出。
[0108] 4.7)OPC客户端程序读取CD支撑臂液压缸的伸缩长度虚拟传感器数据,并传输至OPC服务器程序;
[0109] 4.8)OPC服务器程序把CD支撑臂液压缸的伸缩长度虚拟传感器数据输出至PLC控制程序,作为PLC控制程序的检测信号输入,即成。
[0110] 其他操作性能的测试流程以此类推,安全、高效地实现用设备虚拟样机辅助测试PLC控制程序。