基于可靠仿真的PLC代码验证方法外文翻译资料
2022-07-22 13:01:37
英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
基于可靠仿真的PLC代码验证方法
Henrik Carlsson,Bo Svensson,Fredrik Danielsson和Bengt Lennartson,IEEE成员
基于抽象仿真法的可编程逻辑控制器(PLC)代码验证是虚拟调试的一个分支,而虚拟调试的原理是控制代码针对应用程序的虚拟原型进行验证。利用今天的通用OPC接口,可轻易地将PLC连接到仿真工具,例如用于验证的目的。然而,这种方法存在一些问题,可能导致不可靠的验证结果。在本文中,描述了OPC接口的四个主要问题,并提出了两个可能的解决问题的方案:一个是基于IEC 61131-3的通用软件解决方案,另一个是新的OPC标准解决方案。
关键词:工业控制系统,可编程逻辑控制器(PLC),仿真,基于仿真的PLC代码验证,虚拟调试。
一、引言
术语“工业控制系统”是用于工业中用于控制机器和过程的可编程控制器的广义定义。当今工业中通常使用的典型工业控制系统为可编程逻辑控制器(PLC)。工业PLC不仅能够处理离散事件和监控控制,它还处理语法反馈,运动控制,定位控制和其他时间关键的功能。因此,在本文中,PLC被用作工业控制系统的通用名称。 PLC最大的特征是由控制代码来描述可重编程控制的功能。 PLC通常被城为硬实时系统,这意味着PLC具有稳定的扫描周期时间,并且控制代码必须在该时间帧内执行[1]。
通常认为,PLC控制应用、机械设计和控制代码编程的发展已相当成熟[2],[3],还有部分在线编程技术,即控制工程师必须等待编程、验证和优化控制代码,直到机械工程师完成自己的工作,还在不断发展中。
一个更有吸引力的方式是以并发方式完全离线,机械和控制工程师并行工作[3],[4]。这种虚拟化和并行过程规划方法的通用名称是虚拟化[3] - [7]。虚拟调试的广义定义可能包括设计(如夹具,机器人工具和工厂布局),编程(如PLC,机器人,CNC机器人,伺服凸轮),验证和优化[8],[9 ]。然而,本文的重点是基于模拟的PLC代码验证,其中真实的PLC与仿真工具一起使用。有几个例子说明工业控制系统和PLC如何连接到模拟工具;这种连接的两个工业事实标准是RRS和OPC。 RRS是仿真工具和机器人控制系统的代表之间的标准化接口,而OPC是与PLC和其他控制设备通信的更通用的方法。 RRS具有同步机制,确保所有机器人运动都被模拟[10]。
更通用的方法,OPC,包括定义PLC和常规计算机应用程序之间的接口的许多规范。如今,最先进的机器人仿真和离散事件系统仿真实现了一个OPC客户端,允许PLC控制仿真模型。然而,OPC具有主要缺点;没有机制存在[10],保证在PLC中执行的所有计算在模拟中被考虑。这可能导致两种类型的问题:1)在模拟世界中没有发现真实世界错误,以及2)发现在现实世界中不存在的错误。
在本文中,确定并讨论了将触发上述OPC问题的四个主要问题。这些问题会导致不可靠的PLC代码验证。为了解决这些问题,建议两个问题的解决方案:1)可以在应用的设计阶段在PLC中实现的基于IEC 61131-3的解决方案,以及2)用于新的OPC接口的建议,其包括机制以保证可靠的PLC代码验证。这些解决方案已经通过NuSMV [11]构建的一个正式模型进行了验证,并证明是有效的。还提供了一个案例研究,以显示不可靠的PLC代码验证的危险影响。
二、PLCS和CAPE工具之间的接口
可用于基于仿真的PLC代码验证的工具通常在计算机辅助生产工程(CAPE)工具下排序。 CAPE是与生产相关的仿真工具的通用术语。有两个主要的子类型的工具[12] - [15]:
- 离散事件系统模拟(生产流模拟),可用于分析性能或产品流动在细胞,工厂或企业。几个月甚至几年的生产可以在短时间内模拟。
- 机器人模拟(几何和运动模拟或计算机辅助机器人),其中机器人和其他移动设备可以离线模拟和编程。
所有这些CAPE工具的共同特征是其在不同级别处理多种类型的生产场景的能力,其中各种机器人,机器,制造资源,控制逻辑表示等被集成在统一的模拟中。然而,CAPE工具中的控制功能的表示通常在一般水平上进行,并且使用真实PLC的主要功能行为的简化模型来描述[16]。CAPE工具中的简化控制函数表示的示例是操作序列列表。因此,利用简化的PLC模型,不执行实际的控制功能,包括运动控制等。
解决CAPE工具的简化PLC模型的缺点是使用硬件在环仿真。在例如[17]和[18]中描述的硬件在环仿真是一种实时仿真方法,其中真实硬件,例如PLC嵌入在仿真中。作为测试控制系统的手段的硬件在环仿真不是新的;航空航天工业一直使用这种技术,因为软件首先成为飞行控制系统的安全关键方面[19]。
Freund et al[20]已经确定和描述了一个真实的PLC和模拟模型的剩余部分之间的集成问题。所确定的主要问题包括缺乏时间同步和实时数据传输机制。时间同步问题是由于与引入的实时运行的PLC相比,模拟模型的CAPE部分在另一个时间空间(虚拟时间)中运行的事实。Ma et al。[15]当仿真的其他部分在虚拟时间内运行时,识别实时取消控制系统功能(例如定时器)的问题。
在模拟中包括一些不同的方法来包括PLC。在[21]中,模拟使用到现场总线的接口与PLC进行通信。更一般的方法是使用本文中详细介绍的OPC接口。
- 现实机器人模拟(RRS)
现实机器人仿真(RRS)是机器人仿真工具和机器人控制系统之间的标准接口。通过使用RRS,可以在真实机器人中使用离线创建的控制程序,而不需要任何校正[22]。
RRS项目的主要驱动力是由于缺乏控制器行为的现实模拟而在模拟机器人路径中引入的误差。
RRS的想法是将负责运动行为的机器人运动控制软件的一部分集成到仿真系统中。因此,模拟由与真实机器人相同的运动控制策略控制[23]。 1998年,开始了RRS-2项目;目的是覆盖机器人控制器的全部功能。
此外,RRS联盟提出了一种用于模拟一般PLC的控制功能的解决方案[10],[23],[24]。这种方法基于由PLC制造商开发的虚拟控制器,连接到仿真工具。然而,根据作者的知识,目前没有使用这种方法的产品。
B.现场总线仿真
现场总线仿真是在仿真中包括目标现场总线的技术。现场总线仿真的主要目的是用正确的地址和实际总线的复杂性测试真实的PLC代码。这将允许验证硬件配置和信号分配。它还将使开发人员能够使用真正的I / O相关变量名称和符号。实际的PLC或仿真的连接到虚拟现场总线,并且在CAPE工具内建模总线节点。现场总线仿真可以在例如WinMOD中找到。大多数现有的现场总线仿真器没有解决由模拟引入的不可靠的验证。但是,SIMBA Pro和SIMIT通过添加额外的硬件来解决这个问题。它们提供了在专用硬件上实现小型模型的可能性。对于较大的型号,它们提供OPC连接到更标准的CAPE工具。此外,SIMBA Pro和SIMIT是Siemens S7特定解决方案,而不是通用。
对于相对较慢的过程和小系统,这可能是一种有效的方法。随着广泛的模拟模型实时内行成为一个问题。可以将本文中提出的同步方法与现场总线仿真技术相结合,以确保在所有情况下的正确行为。现在已经实现了用于Profibus和CAN的现场总线仿真器。然而,这不是本文的重点,因此只提到这一点。
C. OPC
OPC由几个公司在90年代中期成立,以便于交换过程数据[25]。OPC已经并且仍然是由OPC基金会开发的[26]。OPC是基于服务器 - 客户端的,其中服务器是特定于供应商的,而客户端通用。
OPC由几个规范[25] - [27]组成。这些规范包含有关服务器和客户端如何交换数据的信息。OPC DA(数据访问)是第一个规范[28],使任何OPC DA客户端都可以从满足相同规范的OPC DA服务器访问数据。OPC DA用于将实时数据从设备移动到Microsoft Windows应用程序,其中实时这里是指设备中的当前数据,而不是历史数据。没有关于数据如何从设备传输到应用程序的说法,也没有定义实时。
OPC DA基于COM / DCOM,这是一种Microsoft技术。这种选择导致平台依赖性,并且例如,在Linux上没有使用OPC的标准解决方案,即使存在这样的解决方案。OPC的另一个问题是当OPC客户端和服务器位于不同的机器上时防火墙的问题。这是由于DCOM,然而,一个问题可以通过隧道来克服[29]。
在OPC XML-DA规范中首次尝试选择另一个平台而不是COM / DCOM,其中COM / DCOM被web服务替代。然而,与OPC DA [30]相比,性能非常差。为了克服这个弱点,引入了一个新的规范;这个规范被称为OPC统一架构(OPCUA)[31]。OPC UA使用两种不同的传输协议; SOAP over HTTP和TCP [32]。与OPC XML-DA相比,OPC UA还支持数据的二进制编码,而不是产生大量开销数据的XML编码。与OPC DA相比,OPC UA的性能稍慢,在读取值时为1.1和1.6倍之间[32]。
根据Matrikon [33],计划不是用OPC UA替换OPC DA,而是两个规范应该共存并互补。 OPC DA仍是最常见的规范,今天所有OPC产品中的99%是基于OPC DA的实现[32]。由于本文涉及CAPE工具,以及作者的知识,目前没有支持OPC UA的商业CAPE工具,因此仅考虑OPC DA。然而,OPC UA是非常有趣的。 PLCOpen [34]是一个全球性组织,致力于解决与控制编程相关的主题,选择OPC UA作为其数据交换技术。OPC DA的替代方案是OMG [35]规范从工业系统(DAIS)获取数据[36]。DAIS基于实时CORBA [37]。但是,本规范不适用于本文所涉及的应用类型。今天的CAPE工具和PLC通常利用OPC进行互通。
D. OPC与CAPE工具
自90年代中期以来,利用供应商特定的协议,在CAPE工具中包含真实PLC的可能性已经存在。一些常见的目的是离线编程,验证和优化。从过去十年开始,许多CAPE工具都有一个OPC客户端实现,通常是一个OPC DA客户端,这使得它可以连接到任何OPC DA服务器[38]。PLC控制代码中的I / O可用于OPC服务器。CAPE工具通常具有类似于真实机器的某种类型的信号表示,例如,用于机器人的启动信号。这些信号然后通过OPC映射到来自PLC的I / O。因此,可以以与实际相同的方式控制模拟机器或过程。具有OPC功能的CAPE软件的实例包括:Delmia自动化,可视化组件,过程模拟和竞技场。
E. OPC通信
为了便于OPC的进一步讨论,引入了OPC通信的模型,参见图 1。
图1 OPC通信模型
图1示出了具有集成OPC客户端(2)的应用(1)如何能够连接到PLC(8)的一般模型。 在该模型中有三个不同的通信部分:OPC接口(3),即COM / DCOM,OPC服务器(4)和网关(6)之间的通信接口(5) 到PLC。
可能存在其他模型,其中,例如,OPC服务器具有集成网关,但是原理仍然相同。 另一种情况是PLC中的集成OPC服务器,其中(6)和(7)可能是不必要的。 通常,该模型对于标准OPC连接有效。
三、已识别的问题与当前接口
使用今天的通用OPC接口,容易将PLC连接到仿真工具,例如用于验证目的。但是,当使用此方法验证PLC控制代码时,可能会遇到由于自由旋转而导致的几个意外问题。自由轮在本文中定义为PLC和仿真工具的异步执行。这些问题确实会影响结果,导致不可靠的验证。本文中确定的问题可以分为四个主要类别,即:时间延迟,抖动,竞争条件和慢采样。这些将在以下小节中详细描述。前面提到的OPC UA没有引入任何可以解决这个问题的机制,因此本文的其余部分将只处理OPC DA,因为它是当今最常用的规范。
PLC控制的板材剪切将用作解释不同问题类别的示例,参见图2。典型的剪切线用于生产具有所需长度的金属片坯料。在该示例中,两个致动器1和2用于上下驱动剪切刀片。
图2 实例应用示意图
两个传感器,Sensor_1和Sensor_2,用于在上部位置调整剪切刀片。每个致动器配备有位置反馈传感器,以能够控制下限位置。实施所述过程的运动学模拟模型,然后通过OPC连接到真实的PLC以演示现象。PLC的周期时间为TPLC。低电平控制的简化PLC代码示例如图3所示。它将表示图1中描述的模型中的PLC(8)。
图3 在IEC 61131-3梯形图(LD)中实现的PLC程序的一部分,用于
控制钣金剪切,不包括声明部分。ixDown和ixUp是上下运行剪切刀片的信号
为了能够执行准确和可靠的仿真,来自仿真的所有值都应在PLC中考虑,反之亦然。本文中使用的工具(硬件和软件)如下。
bull;CoDeSys软PLC [39]。
bull;BinarBifas 60 PLC [40]。
bull;CoDeSys OPC服务器(支持OPC DA 2.0)[39]。
bull;过程模拟。
bull;集成对象的OPC数据访问客户端SDK(支持OPC DA 2.05)[41]。
bull;钣金剪切模型。
A.自由旋转
为了以异步方式运行PLC和模拟,即PLC相对于模拟速度以其自己的速度运行,在本文中定义为自由旋转。自由旋转似乎是当今真正将PLC连接到CAPE仿真时最常用的场景。续流将引入四个主要问题,即抖动,竞争条件,慢采样和时间延迟。使用OPC或类似技术的模拟不考虑这四
全文共24663字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[145850],资料为PDF文档或Word文档,PDF文档可免费转换为Word