CN111796805B - 一种aml语言性能验证方法 - Google Patents
一种aml语言性能验证方法 Download PDFInfo
- Publication number
- CN111796805B CN111796805B CN201910569249.7A CN201910569249A CN111796805B CN 111796805 B CN111796805 B CN 111796805B CN 201910569249 A CN201910569249 A CN 201910569249A CN 111796805 B CN111796805 B CN 111796805B
- Authority
- CN
- China
- Prior art keywords
- aml
- data
- language
- time
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004458 analytical method Methods 0.000 claims abstract description 35
- 230000000007 visual effect Effects 0.000 claims description 25
- 238000004519 manufacturing process Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 19
- 238000004088 simulation Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000009776 industrial production Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004886 process control Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008140 language development Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010327 methods by industry Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提出了一种AML语言性能验证方法,包括以下步骤:步骤一:通过语言来验证生成和解析的效率;步骤二:通过增加数据量的方式对比差异性,确定AML语言性能是否因数量而出现瓶颈。所述生成效率验证包括以下步骤:步骤A:输入AML文件大小;步骤B:读取AML格式文件;步骤C:插入节点数据,构造所输入AML文件的数据,并记生成开始时间;步骤D:生成标准大小AML数据,并记录生成结束时间;步骤E:通过时间计算器计算生成时间。所述解析效率验证包括以下步骤:步骤I:读取文件,同时记录读取时间;步骤II:解析内容,同时记录结束时间;步骤III:通过时间计算器计算解析时间。
Description
技术领域
本发明涉及AML语言技术领域,尤其涉及一种AML语言性能验证方法。
背景技术
自动化标记语言Automation Markup Language(以下简称AML)是符合GB/T XXX系列标准的基于XML语言的工厂工程数据交换格式,GB/T XXX系列标准中定义的数据交换格式(自动化标识语言,AML)是一种基于可扩展语言(XML)架构的数据格式,它被用于支持异构工程工具之间的数据交换。
AML旨在建立不同领域的工程工具之间的联系,例如机械装备工程、电气设计、过程工程、过程控制工程、人机界面开发、PLC编程和机器人编程等。
AML遵循面向对象的方法存储工程信息,并且允许用封装有不同方面内容的数据对象对工厂的物理和逻辑组成部分进行建模。一个对象可包含其他子对象,也可隶属于一个更大的组合或聚合。工厂自动化项目中一个典型对象包含拓扑信息、几何信息、运动信息以及逻辑信息,而逻辑信息涵盖了序列、行为和控制。因此,面向对象的数据结构、几何信息、运动信息和逻辑信息就成为了工程领域中数据交换的一个重要焦点。
AML整合了现有的用来存储和交换工程信息中不同方面内容的工业数据格式。这些数据格式按照各自的规范独立实施,并不属于AML的分支。
AML的核心是联系各种数据格式的顶层数据格式CAEX。因此,AML有其固有的分布式文档结构。
AML整合现有用来在不同领域内存储和交换工程信号的工业数据格式,因此在智能制造体系框架下,有着非常广泛的应用。AML以面向对象范型的方式储存工程信息,并且允许对工厂的实际组成部分进行建模,将它们转化为封装有不同方面内容的数据对象。
AML工作主要由IEC/TC65工业过程测量、测量和自动化标准化技术委员会分技术委员会SC65E企业系统中的设备和集成下设的WG9:AML(工程数据交互格式)工作组负责,该工作组为不同工程工具间的数据工程设计规定工程数据交互格式。目前SC65E已经发布了IEC62714关于AML的系列标准,并明确该系列标准将由针对AML不同方面的几个部分组成:
——第1部分:架构和通用要求(IEC 62714-1:2014);
——第2部分:角色库(IEC 62714-2:2015);
——第3部分:几何和运动信息(IEC 62714-3Ed.1.0);
——第4部分:逻辑信息。
在工业自动化处理过程中,会以工业生产中的各种参数为控制目的,实现对设备的各种过程控制,AML即为描述设备的拓扑、几何、运动、行为和序列信息等工程元素的信息和关系的载体,通过描述语言,确定设备在生产过程中如何协同,接收和反馈信息从而达到预期的处理目标。
由德国的汽车制造商Daimler发起,联合了ABB、KUKA、Rockwell Automation、Siemens等工业企业以及一些软件和服务商,成立了AutomationML(Automation MarkupLanguage)组织,为的就是通过共同定义数字化工厂的一种中间格式——自动化标记语言AML,并进行标准化。AML标准是一种免费的开放标准,主要用于制造自动化,包括机器人和物流,但不局限于此。其创新主要在于:在一个单一的根格式(XML格式)下将许多重要工程方面所接受的标准综合起来予以应用。
在工业自动化处理过程中,会以工业生产中的各种参数为控制目的,实现对设备的各种过程控制,AML即为描述设备的拓扑、几何、运动、行为和序列信息等工程元素的信息和关系的载体,通过描述语言,确定设备在生产过程中如何协同,接收和反馈信息从而达到预期的处理目标。
发明内容
本发明提出了一种AML语言性能验证方法,通过语言来验证生成效率和解析的效率,通过增加数据量的方式对比差异性,了解AML语言本身的性能是否会因数据量而出现瓶颈。
本发明提出的AML语言性能验证方法中,由于数据在传输过程中不可避免的会涉及到数据组装,传输,解析三个阶段,由于传输受制于协议和网络的控制,而AML格式的数据量并不大,因此传输环节基本可以忽略不计,主要考虑生成和解析的效率。
本发明提出的AML语言性能验证方法,包括以下步骤:
步骤一:通过语言来验证生成效率和解析效率;
步骤二:通过增加数据量的方式对比差异性,确定AML语言性能是否因数据量而出现瓶颈。
其中,所述验证生成效率包括以下步骤:
步骤A:输入想要生成AML文件大小量;
步骤B:读取AML格式文件;
步骤C:插入节点数据,构造所输入AML文件的数据,并记录生成开始时间;
步骤D:生成标准大小AML数据,并记录生成结束时间;
步骤E:通过时间计算器计算生成时间。
其中,所述验证解析效率包括以下步骤:
步骤I:读取所述AML文件,同时记录读取时间;
步骤II:解析所述AML文件内容,同时记录结束时间;
步骤III:通过时间计算器计算解析时间。
本发明中,所述增加数据量的方式为:对不同大小的样本数据进行验证,分多个不同大小的数据样本进行扩充,以大小等差递增方式进行验证。
本发明中,所述AML语言包括:JAVA、C、Visual Basic。用JAVA、C、Visual Basic等3种语言编写的程序来校验。
本发明中,用AutomationMLEditor解析1到10M的AML文件,便于直观查看程序生成的AML文件。
本发明中,所述AML语言性能验证方法通过3种语言编写的程序按照AML格式的规则去自动生成相应大小的文件,实现了根据AML工程数据格式标准自动生成相应数据大小的AML文件。校验程序可以自动计算生成和解析时间,存储解析时间的结果。实现了用3种语言模拟多种异构设备生成和解析AML文件的性能技术效果。
本发明还提出了一种AML语言性能验证系统,具体为工业模拟环境下AML语言性能验证系统,其流程图如图1所示,包括:
工程信息存储中心;
人机界面,通过所述人机界面获取网络拓扑结构下所有联机设备的状态信息,查看设备的运行状态,实现对工厂设备信息采集的模拟;通过所述人机界面查看所有设备存储在所述工程信息存储中心的历史运行信息,从而追踪单个设备的运行状态;
控制总机,所述控制总机控制场景,负责终端上报数据、下发给指定的多台终端,能够实现网络环境下的工程数据交换从而实现对工厂设备间信息通信的模拟;
设备,通过所述设备发出错误的AML数据,所述控制总机能够识别错误数据,并反馈到所述人机界面。
本发明中,所述设备列表由C语言编码;所述控制总机由JAVA语言编写;,所述人机界面由PC浏览器构成;所述工程信息存储中心由数据库服务器构成。
本发明中,所述设备和所述控制总机均具备AML数据生成及解析能力。
本发明中,所述控制总机由以下模块构成:与人机界面通信模块,指令下发模块,指令处理模块,信息接收模块,与信息存储中心通信模块。
本发明中,客户端工作台的信息通过人机界面显示。
目前在整个验证系统中,客户端通过终端控制台来显示,如果能把客户端工作台的信息通过人机界面显示的话,验证效果会更加直观。
本发明提出的AML语言性能验证系统能够实时显示并记录收集设备状态信息,运动信息,故障信息。若发生故障或者异常,控制中心可以发出报警和启动其他控制措施。以便进行系统运行状态的实时检测评估和对比分析;设备均实现了通讯连接,生产的信息和机器状态被生产线控制核心的信息存储中心收集起来。建立web监控网络,可以方便的实现外部接入的拓展传达生产控制信息;可以在PC端配置设备运行顺序,实现设备的调度生产。对生产装配的参数进行动态调整,可以优化生产过程。验证装置可配置,可通过参数配置实现多种流程的校验;对生产管理和过程控制均有良好的表现,实现最小成本的生产控制过程模拟。
C语言模拟的设备和JAVA语言模拟的总机通过更加底层的tcp方式交互数据以保障数据的稳定性、可靠性和高效性,信息下发过程以多线程异步方式来规避下发任务的阻塞问题。系统架构为DCS分布式控制系统,外部设备通过“心跳”方式来传输设备状态信息给控制总机显示到人机界面上,可以近实时的查看历史数据。上报数据以异构方式存储到工程数据存储中心,工程数据存储中心可以根据实际需求动态扩容。
本发明还提出了一种AML语言校验方法,包括一致性校验和健壮性校验;
所述一致性校验,其流程图如图14所示,包括以下步骤:
步骤一:AutomationMLEditor生成,语言解析;
步骤二:语言生成,AutomationMLEditor加载;
步骤三:语言生成,语言解析。
所述步骤一通过AutomationMLEditor工具进行手动编辑,生成标准的AML格式,并保存为.aml格式文件;读取.aml格式文件以后,按流程进行解析并构建响应的对象和关系信息,实现类似于AutomationMLEditor工具的展示效果进行对比数据结构。
所述步骤二,参考AutomationMLEditor工具构建对象和关系结构,以此生成.aml文件,并通过AutomationMLEditor工具加载;如果可以正常加载,则说明生成的数据是可用的,完整的。
所述步骤三,参考AutomationMLEditor工具构建对象和关系结构,以此生成.aml文件,并通过Visual Basic程序进行解析,对照数据结构差异。
所述健壮性校验,其流程图如图15所示,包括以下步骤:
步骤A:在按照错误样本的数据情况下进行解析,以校验其健壮性;
步骤B:XML利用DTD和XSD来校验健壮性。
所述步骤A包括:
步骤A1:准备不完整的AML数据;
步骤A2:工具/解析器校验;
步骤A3:抛出错误信息。
所述步骤A1包括:
步骤A11:在原有正确的AML数据中修改语法或标签信息;
步骤A12:删除必要的结构,形成不完整的AML数据。
所述步骤A11包括:
a)删除必要的闭合信息;
b)开始和结束标签不一致;
c)修改设备与设备的关系;
d)制定错误的标签和属性的对应关系。
所述步骤B中利用DTD进行校验通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。
所述步骤B中利用XSD进行校验包括:
用一个指定的XML Schema来验证XML文档,以检查该XML文档是否符合其要求;
通过XML Schema指定一个XML文档所允许的结构和内容,并据此检查XML文档是否有效;
用通用的XML解析器解析。
本发明中,所述AML语言校验方法通过AutomationMLEditor工具生成的AML文件和3种语言生成和解析的AML文件是保持结构和逻辑内容一致的。实现了3种语言模拟的异构系统根据规则生成AML文件一致的指标,也实现了异构系统生成AML文件的一致性指标。实现了通过DTD以实现生成AML文件的正确性规范,通过不按照AML规则的生成的文件不能被程序和工具解析的效果。
本发明中,AML文件的一致性指标和生成效率和解析效率对于AML语言至关重要。
目前,对AML的验证业界没有工程实践突破了AML文件在异构语言之间解析的准确性传输与存储的安全性,突破了AML文件验证的环境单一的限制,本发明通过C语言来模拟异构设备,并且对通过工业模拟环境下工业生产控制过程对语言的适应性进行性能验证。
本发明的有益效果在于,本发明提出的AML语言性能验证方法及装置,可以由产率、质量、精度和效率的提高,能耗、原材料、工序的节省,加工、操作、控制、使用的简便,环境污染的治理或者根治,以及有用性能的出现等方面反映出来(技术指标)。
信息传输以令牌的方式保证设备间传输信息的一致性。通过冗余终端来提高系统的容灾性。通过动态配置外部设备的方式模拟多种工业生产控制场景,以并行执行方案的方式来提高系统运行效率,解析器通过强大的文档预解析控制保证文件传输的不失真。
附图说明
图1为本发明AML语言性能验证系统的流程图。
图2为本发明所述验证方法的总体思路。
图3为实施例1中的场景设计示意图。
图4为实施例1中内存存储的示意图。
图5、6、7、8、9、10、11、12、13为实施例1中各步骤的示意图。
图14为本发明AML语言一致性验证的流程图。
图15为本发明AML语言健壮性验证的流程图。
图16为AutomationMLEditor工具校验的示意图。
图17为Visual Basic解析器校验的示意图。
图18、19、20为对AML语言性能验证方法的流程图。
图21为拓扑结构示意图。
图22、23、24、25、26、27、28、29、30、31、32、33为实施例4中各步骤的示意图。
图34、35、36、37、38、39、40、41、42、43为实施例5中各步骤的示意图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明验证方法的总体步骤如图2所示:
规范AML文件作为统一数据源,通过AutomationMLEditor工具生成规范和标准的AML文件,通过JAVA,C,Visual Basic等语言进行解析。同理,语言按规范生成的规范AML文件也可以被AutomationMLEditor工具和其他语言解析。
通过AutomationMLEditor工具和JAVA,C,Visual Basic等语言进行双向生成和解析,从而消除语言影响,测试AML语言的性能。
1、通过AutomationMLEditor工具,生成AML格式的数据后给JAVA,C,Visual Basic等语言进行解析;
2、通过JAVA,C,Visual Basic语言,生成AML格式的数据后给等AutomationMLEditor工具进行解析。
在接收和反馈信息时,必须保持信息的一致性和完整性。
本实施例的验证流程,如图3所示为场景设计,设计的场景为用户通过生成器和解析器对AML数据源生成标准的AML文件和解析的过程。该流程是一个循环、闭环流程,AML数据可以被任意生成器生成和解析,保证数据不丢失。
1.标准AML数据源:是一系列的数据集合,包括实体属性,关系等内容,这些内容并没有转换为标准的AML格式,存入内存中,如图4所示。
对象之间的关系通过被逻辑定义后,通过具体的语言和生成器转换成具体的AML格式表达。
2.读取数据源:生成器将对象和关系的逻辑定义获取以后,通过语言开发,人为绘制来完成数据源和物理结果的信息对应。
3.构建AML数据:被读取的数据源通过AML的生成规则进行构建,将数据源进行分析和组合,形成AML格式的数据,并存放在内存中。
4.生成AML文件:将构建完成的AML数据进行输出,生成实体的.aml格式的文件。
5.读取AML文件:解析器读取和识别.aml文件,并判断文件是否合法。
6.解析AML文件:读取AML文件以后,通过文件读取功能,将数据流读入内存,并通过语言控制内存的进行整理和组合,按AML的规则抽取数据并组合成新的数据结构。
7.构建数据:数据被解析后,按语言的特性会构建成特殊的数据结构存入内存中,并形成标准的AML数据源,以供再次生成AML格式的数据。
本实施例中的一致性验证方法如下:
1、AutomationMLEditor生成,语言解析
基于上述场景,本实施例验证采用AutomationMLEditor工具和JAVA,C,VisualBasic三种语言模拟了汽车装配流水线设备控制过程采用AML语言进行控制的场景,这三种语言在小型设备的指令传输和控制上都有成熟的应用。首先通过AutomationMLEditor工具进行手动编辑,生成标准的AML格式,并保存为.aml格式的文件,如图5所示。
生成的数据格式为文本格式,可以通过文本编辑器打开查看,如图6。
以Visual Basic程序为例,读取.aml文件以后,可以按流程将文件进行解析并构建响应的对象和关系信息,实现类似于AutomationMLEditor工具的展示效果,如图7。
图8为对比效果图,基本可以完全还原数据结构。
2、语言生成,AutomationMLEditor加载
以Visual Basic程序为例,参考AutomationMLEditor工具构建对象和关系结构,以此生成.aml文件,并通过AutomationMLEditor工具加载。如图9所示。
按数据格式生成的.aml文件,如图10所示:
将生成的AML数据在AutomationMLEditor工具中加载,如果可以正常加载,则说明生成的数据是可用的,完整的。如图11所示。
3、语言生成,语言解析
以Visual Basic程序为例,参考AutomationMLEditor工具构建对象和关系结构,以此生成.aml文件,并通过Visual Basic程序进行解析,对照差异。如图9。
按数据格式生成的.aml文件,如图10所示。
使用Visual Basic自我生成和解析后的结果如图12所示。
如图13,通过对照可知。
通过以上验证可以得知,AML语言无论是采用AutomationMLEditor工具或者是JAVA,C,Visual Basic语言进行生成和解析,通过上述三种方式的生成和解析可以得知遵从AML语言生成的.aml文件都可以被解析,并没有语言限制,保证了在产生和解析过程中的一致性。
本实施例中的健壮性校验,健壮性又称为容错性,用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
AML是基于XML进行的拓展,XML的语法规则要求比较结构,严格的语法和结构就是保证健壮性的一种机制。XML解释器是对XML文档进行语法解析和错误检测的应用程序。
由于AML的特性是一种描述性语言,本身不可执行,因此针对AML的健壮性测试,主要以AML的错误样本解析来校验其健壮性。
针对AML的健壮性校验,本身继承了XML的健壮性,因此可以利用XML的通用校验方法处理。现有的语言中对于XML的解析都具有很严格的校验,比如JAVA,C,Visual Basic等都提供了相应的解析器。
本实施例校验,选定了三种语言进行校验,分别是JAVA,C,Visual Basic,也会采用XML自身的校验模式。
本实施例中的健壮性校验验证方法:
一、AutomationMLEditor工具和JAVA,C,Visual Basic三种语言通过提供的XML解析工具,在按照错误样本的数据情况下进行解析,以校验其健壮性。
1:在原有正确的AML数据中修改语法或标签信息。
a)删除必要的闭合信息。
b)开始和结束标签不一致。
c)修改设备与设备的关系,如从属或父子关系倒置。
d)制定错误的标签和属性的对应关系,如设备的描述中加入动作执行的属性信息。
2:删除必要的结构,形成不完整的AML数据
例如在生成的.aml脚本中,将InstanceHierarchy标签替换为InstanceHierarchy_TMP,通过工具和语言解析的效果如下:
1、AutomationMLEditor工具校验
AutomationMLEditor工具无法加载被修改成错误标签的数据,如图16所示。
2、Visual Basic解析器校验
Visual Basic解析程序无法加载被修改成错误标签的数据,如图17所示。
二、XML利用DTD和XSD来校验其健壮性。
1:XML文件的验证模式保证了XML文件的正确性,而比较常用的验证模式有两种:DTD和XSD。
a)采用DTD进行校验
DTD(Document Type Definition)即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。DTD是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。
b)采用XSD进行校验
XML Schema语言就是XSD(XML Schemas Definition)。XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
在AML规范中可以看到引入的XSD为CAEX_ClassModel_V2.15.xsd,通过CAEX_ClassModel_V2.15.xsd就可以校验文档的合法性和完整性。
数据在传输过程中不可避免的会涉及到数据组装,传输,解析三个阶段,由于传输受制于协议和网络的控制,而AML格式的数据量并不大,因此传输环节基本可以忽略不计,主要考虑生成和解析的效率。
通过语言来验证生成和解析的效率,通过增加数据量的方式对比差异性,了解AML语言本身的性能是否会因此数量而出现瓶颈。
对AML语言性能验证方法的流程图如图18-20所示。
(1)生成时间跨度:从生成开始到形成.aml文件的时间消耗;
(2)解析时间跨度:从读取.aml文件到展示数据的时间消耗。
表1:工具、开发语言和场景选择
序号 | 语言或工具名称 | 开发内容 | 备注 |
1 | AutomationMLEditor | 生成和解析大文件 | 查看加载的时间消耗。 |
2 | JAVA | 生成和解析程序 | 记录生成和解析时间消耗。 |
3 | C | 生成和解析程序 | 记录生成和解析时间消耗。 |
4 | Visual Basic | 生成和解析程序 | 记录生成和解析时间消耗。 |
本实施例中的样本数据需要提供不同大小的进行验证,分10个不同大小的进行扩充,初始值为1M,第二次是10M,以后每次增加10M进行验证。
本实施例中的AML语言性能验证方案及效果如下表:
表2:C语言
表3:VB语言
表4:JAVA语言
本实施例对工业自动化系统工程用工程数据交换格式的验证提出了方法,并且根据汽车装配生产线的实际应用场景进行AML数据的通信模拟。
在自动化工厂设备运转过程中,各种设备之间需要通过企业的通信网络来协同运作。在这个过程中会涉及到数据的生成、传输、处理、存储、显示等。
本实施例根据常见的工厂自动化设备网络拓扑结构,来模拟搭建设备结构并通过设备间的数据传输来模拟工业自动化生产当中的实际使用场景。
该中央控制系统由c语言编码的设备列表,JAVA语言编写的控制总机,PC浏览器构成人机界面,数据库服务器构成工程信息存储中心等构成。其中设备和控制总机均具备AML数据生成及解析能力。拓扑结构如图21所示。
本实施例中的工业模拟环境下AML语言性能验证系统,其包括:工程信息存储中心;人机界面;控制总机;设备。所述验证装置验证步骤如下表:
在该设备网络结构下做如下几个场景试验:
(1)设备读取所有设备状态信息,并显示到终端页面
通过PC端人机操作界面,我们可获取该网络拓扑结构下所有联机设备的状态信息,查看设备的运行状态。从而实现对工厂设备信息采集的模拟。
启动服务端后,在浏览器输入:http://127.0.0.1:8080/aml/home进入人机操作界面.如图22所示。
启动各个客户端,如图23。终端启动完成后,人机控制界面显示,如图24。
(2)设备和总机间的双向通信
控制台模拟总机控制场景,负责终端上报数据、下发给指定的多台终端,能够实现网络环境下的工程数据交换从而实现对工厂设备间信息通信的模拟。
选择终端,点“发送文件到设备”向终端下发数据,如图25。
终端收到请求后,启动解析器解析,并显示解析结果,如图26。
C解析器解析文件,如图27。
(3)通过人机界面可以查看所有设备的历史动作信息
通过人机界面可以查看所有设备存储在服务器的的历史运行信息,从而追踪单个设备的运行状态。
终端上报正确的aml,如图28。
终端上报错误的aml文件,如图29。
控制台查看终端上报的数据,如图30。
(4)设备生成错误的AML数据,主机能够识别并且在人机界面发出报错警告
通过设备1发出错误的AML数据,主机能够识别错误数据,并反馈到人机界面。
校验:
×表示上传的是错误的aml文件,√是正确的aml文件能正常解析,如图31。
点查看让java解析器解析错误的文件,提示解析失败,如图32。
查看正确的aml,解析界面,如图33。
汽车装配线生产控制过程的验证
在工业自动化生产过程中,会以工业生产中的各种参数为控制目的,实现对设备的各种过程控制,AML即为描述设备的拓扑、几何、运动、行为和序列信息等工程元素的信息和关系的载体,通过描述语言,确定设备在生产过程中如何协同,接收和反馈信息从而达到预期的处理目标。
JAVA,C两种语言在设备的指令传输和控制上都有成熟的应用。本实施例验证模拟汽车装配流水线设备控制过程采用AML语言进行的控制场景。
根据该生产过程控制过程进行建模如图21所示。其中:设备1代表传送带,设备2代表转向设备,设备3代表装配设备。
模拟验证步骤如下:
(1)通过人机界面和控制总机向设备1发送AML文件来启动设备1工作,模拟传送带的启动传送。
通过人机界面,选择终端设备(转向设备,装配设备),再选择生产设备,模拟传送带,点“向设备发送生产请求”发送,如图34。
(2)设备1收到控制台指令后,触发传送带工作,并且经过一段时间后向设备2发送AML文件,设备2接到信息后进行语言解析,来模拟实现车体的转向。进而向设备3发出AML文件。
IP为:192.168.8.78(设备1)的终端模拟传送带,再收到请求后,触发生产,完成后向192.168.8.59(设备2)的“转向设备”发送请求,如图35。
(3)设备3收到并解析AML文件可以模拟汽车车轮的配装过程,配装完成后向控制台推送装配完成后的AML数据。
(设备2)收到请求后,开始装配,装配完后向192.168.8.77(设备3)装配设备发送请求,如图36。
(4)控制台收到设备3终端合成的数据后,可以把装配完成的AML信息在人机界面显示出来,展示生成的产品信息。
(设备3)收到请求后,执行合成数据,合成完毕后发送给控制台,如图37。
(5)可通过人机界面上设置装配过程中单次装配轮子个数来逐步进行上述流程,来验证本系统及AML语言的适应性。
查看结果,如图38、39。
本次测试使用的aml文件,下发前InternalElement设备列表只有一个节点,如图40;装配完成后,多了4个节点,与预期的一致,如图41。
装配合成:把终端上报上来的数据,组合成一个文件,再发送给java解析器解析,如图42。
能正确解析,如图43。
通过以上几个步骤可以实现AML数据在汽车装配生产控制中的运输、转向、装配等过程的合成、传输的模拟。其设计思想可以推广至工业现场控制的其他场合。
本发明实施例4、5均采用计算机控制,网络及信息处理技术,在工业生产控制过程中具备一定的代表性。通过JAVA语言和C语言模拟构成终端设备来测试AML语言在模拟的工业生产环境下的数据生成、存储、传输、合成显示等性能表现。
方案中涉及到对设备状态信息、过程信息、动作信息的的采集和处理,确定设备在生产过程中如何协同信息来达到预期处理目标,所以对AML作为信息载体来实现工业生产控制过程中生产信息的传递实验可以较高程度的模拟真实生产过程,本发明验证方案具备现实意义,可初步验证AML在实际工业生产中的性能。
表5:结果分析
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (2)
1.一种AML语言性能验证方法,其特征在于,包括以下步骤:
步骤一:通过语言来验证生成效率和解析效率;
步骤二:通过增加数据量的方式对比差异性,确定AML语言性能是否因数据量而出现瓶颈;所述增加数据量的方式为:对不同大小的样本数据进行验证,分多个不同大小的数据样本进行扩充,以大小等差递增方式进行验证;所述AML语言包括:JAVA、C、Visual Basic;用JAVA、C、Visual Basic 三种语言编写的程序来校验;
其中,所述验证生成效率包括以下步骤:
步骤A:输入AML文件大小量;
步骤B:读取AML格式文件;
步骤C:插入节点数据,构造所输入AML文件的数据,并记录生成开始时间;
步骤D:生成标准大小AML数据,并记录生成结束时间;
步骤E:通过时间计算器计算生成时间;
其中,所述验证解析效率包括以下步骤:
步骤I:读取所述AML文件,同时记录读取时间;
步骤II:解析AML文件内容,同时记录结束时间;
步骤III:通过时间计算器计算解析时间;
所述AML语言性能验证方法通过三种语言编写的程序按照AML格式的规则去自动生成相应大小的文件,实现根据AML工程数据格式标准自动生成相应数据大小的AML文件;校验程序自动计算生成和解析时间,存储解析时间的结果,实现用三种语言模拟多种异构设备生成和解析AML文件的性能。
2.如权利要求1所述的AML语言性能验证方法,其特征在于,用AutomationMLEditor解析AML文件,便于直观查看程序生成的AML文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910569249.7A CN111796805B (zh) | 2019-06-27 | 2019-06-27 | 一种aml语言性能验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910569249.7A CN111796805B (zh) | 2019-06-27 | 2019-06-27 | 一种aml语言性能验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796805A CN111796805A (zh) | 2020-10-20 |
CN111796805B true CN111796805B (zh) | 2024-05-07 |
Family
ID=72805402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910569249.7A Active CN111796805B (zh) | 2019-06-27 | 2019-06-27 | 一种aml语言性能验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796805B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025546A (zh) * | 2010-12-16 | 2011-04-20 | 大唐移动通信设备有限公司 | 一种网络设备性能文件的生成、传输、读取方法及设备 |
WO2012167633A1 (zh) * | 2011-06-08 | 2012-12-13 | 中兴通讯股份有限公司 | 性能报表的生成方法及装置 |
CN105304140A (zh) * | 2014-06-13 | 2016-02-03 | 北京安兔兔科技有限公司 | 电子设备的存储器性能的测试方法及装置 |
CN106126504A (zh) * | 2016-08-26 | 2016-11-16 | 重庆红江机械有限责任公司 | A2l语法解析器及方法 |
CN106445763A (zh) * | 2016-09-09 | 2017-02-22 | 中国南方电网有限责任公司电网技术研究中心 | 配用电大数据平台测试方法和系统 |
CN107391373A (zh) * | 2017-07-19 | 2017-11-24 | 西安精雕软件科技有限公司 | 基于AutoIT的性能自动化测试方法 |
CN109783345A (zh) * | 2018-12-03 | 2019-05-21 | 百度在线网络技术(北京)有限公司 | 一种小程序性能测试方法和系统 |
CN109800162A (zh) * | 2019-01-02 | 2019-05-24 | 郑州云海信息技术有限公司 | 一种软件性能测试分析装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685511B2 (en) * | 2003-08-29 | 2010-03-23 | Sun Microsystems, Inc. | Framework for providing and using schema data for markup languages |
-
2019
- 2019-06-27 CN CN201910569249.7A patent/CN111796805B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025546A (zh) * | 2010-12-16 | 2011-04-20 | 大唐移动通信设备有限公司 | 一种网络设备性能文件的生成、传输、读取方法及设备 |
WO2012167633A1 (zh) * | 2011-06-08 | 2012-12-13 | 中兴通讯股份有限公司 | 性能报表的生成方法及装置 |
CN105304140A (zh) * | 2014-06-13 | 2016-02-03 | 北京安兔兔科技有限公司 | 电子设备的存储器性能的测试方法及装置 |
CN106126504A (zh) * | 2016-08-26 | 2016-11-16 | 重庆红江机械有限责任公司 | A2l语法解析器及方法 |
CN106445763A (zh) * | 2016-09-09 | 2017-02-22 | 中国南方电网有限责任公司电网技术研究中心 | 配用电大数据平台测试方法和系统 |
CN107391373A (zh) * | 2017-07-19 | 2017-11-24 | 西安精雕软件科技有限公司 | 基于AutoIT的性能自动化测试方法 |
CN109783345A (zh) * | 2018-12-03 | 2019-05-21 | 百度在线网络技术(北京)有限公司 | 一种小程序性能测试方法和系统 |
CN109800162A (zh) * | 2019-01-02 | 2019-05-24 | 郑州云海信息技术有限公司 | 一种软件性能测试分析装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111796805A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Papadopoulos et al. | Model-based synthesis of fault trees from matlab-simulink models | |
CN108351636B (zh) | 工程设计工具、系统及模块 | |
Vogel-Heuser et al. | Modularity and architecture of PLC-based software for automated production Systems: An analysis in industrial companies | |
CN110502808B (zh) | 面向SysML的系统安全性分析方法和装置 | |
CN114123482A (zh) | 一种主厂站信息联调解耦方法 | |
EP3779623A1 (en) | A system for generation of a holistic digital twin | |
CN111103861B (zh) | 开发基于车辆售后诊断需求的集成系统的方法和装置 | |
Cupek et al. | “Digital Twins” for highly customized electronic devices–Case study on a rework operation | |
CN111242470B (zh) | 一种基于智能合约的制造资源建模与调用方法 | |
Hopsu et al. | On portability of IEC 61499 compliant structures and systems | |
Moser et al. | Efficient automation systems engineering process support based on semantic integration of engineering knowledge | |
Jetley et al. | Applying software engineering practices for development of industrial automation applications | |
CN112416336B (zh) | 一种面向航天嵌入式系统的软件架构设计方法 | |
CN116088846A (zh) | 一种持续集成代码格式的处理方法、相关装置及设备 | |
CN111796805B (zh) | 一种aml语言性能验证方法 | |
CN111796998B (zh) | 一种aml语言性能验证系统 | |
US8042024B2 (en) | Method, system, and computer program product for reconstructing a data stream | |
US8051048B2 (en) | System and method for automated transfer and evaluation of the quality of mass data of a technical process or a technical project | |
CN111796828A (zh) | 一种aml语言校验方法 | |
Runde et al. | EDDL and semantic web—From field device integration (FDI) to Future Device Management (FDM) | |
CN113050925A (zh) | 区块链智能合约修复方法及装置 | |
CN112416367A (zh) | 基于软件逆向拆解和分析的应用资源变更影响分析系统 | |
CN111414440A (zh) | 一种利用数据流同构验证控制系统算法组态图的方法及系统 | |
Jang et al. | Design of an Algorithm for the Validation of SCL in Digital Substations | |
CN114755990B (zh) | 一种工业自动化产线低代码控制系统及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |