PLC协议测试的数据交互通道的构建方法及模型与流程

文档序号:14252957阅读:342来源:国知局
PLC协议测试的数据交互通道的构建方法及模型与流程

本发明涉及plc协议测试的技术领域,尤其是指一种plc协议测试的数据交互通道的构建方法及模型。



背景技术:

plc协议测试,主要包括了性能测试、协议一致性测试、互操作性测试,具体的测试过程由测试系统执行相应的测试用例进行。所述测试系统整体又可划分为测试用例、硬件设备环境、测试用例与硬件设备环境间的数据交互通道。其中所述数据交互通道承担着重要的角色,其主要功能包括:和外部硬件设备连接并进行报文交互、对数据报文进行处理、和上层测试用例进行内部数据交互。

随着plc协议的发展,plc协议的测试工作变得更加复杂,对测试系统的数据交互通道的要求更高:不仅需要处理的报文量大、报文种类多,而且需要连接的硬件设备多。通常针对不同测试场景需要和不同的设备建立连接(比如性能测试和互操作性测试需要连接不同种类和数量的硬件设备),另外对数据处理的实时性,数据交互的灵活性都有较高要求。传统plc协议测试系统的数据交互通道,大多采用c++或java等编程语言实现,测试用例的编写受限于已经实现的固有的硬件设备连接,对协议报文的处理和与上层测试用例间的报文交互实现不但较为复杂,而且对硬件设备连接的增删修改不够灵活。



技术实现要素:

为此,本发明所要解决的技术问题在于克服现有技术中使用数据交互通道时报文交互的实现复杂且维护和扩展困难的问题从而提供一种报文交互简单且对硬件设备连接的增删修改较灵活的plc协议测试的数据交互通道的构建方法及模型。

为解决上述技术问题,本发明的一种plc协议测试的数据交互通道的构建方法,其中在所述plc协议测试中,测试用例和各硬件设备建立连接后通过所述数据交互通道进行数据交互,包括如下步骤:步骤s1:创建独立的通道管理模块;步骤s2:在所述通道管理模块内实时创建多个并行工作组件;步骤s3:将所述测试用例需要下发的数据通过相应的并行工作组件传递给所述硬件设备或者将所述硬件设备上报的数据通过相应的并行工作组件传递给所述测试用例。

在本发明的一个实施例中,所述步骤s1中,采用ttcn语言创建独立的通道管理模块。

在本发明的一个实施例中,所述创建多个并行工作组件的方法为在所述通道管理模块内添加若干初始化方法,每个初始化方法对应一个并行工作组件。

在本发明的一个实施例中,所述并行工作组件的指定端口和所述测试用例所在的mtc的相应端口相互对应。

在本发明的一个实施例中,所述并行工作组件的指定端口通过系统接口组件和所述硬件设备相互对应。

在本发明的一个实施例中,将所述测试用例需要下发的数据通过相应的并行工作组件传递给硬件设备时,先将所述并行工作组件接收到的用例数据进行编码,然后将编码后的数据通过系统接口组件传递到硬件设备。

在本发明的一个实施例中,将所述硬件设备上报的数据通过相应的并行工作组件传递给所述测试用例时,先对所述硬件设备上报的原始数据进行解码,然后将解码后的数据传递到所述测试用例。

在本发明的一个实施例中,数据进行编码时,将plc协议编码为字节流填充到通道交互协议结构体中,其中所述通道交互协议是上位机与所述硬件设备之间约定的交互协议。

本发明还提供了一种plc协议测试的数据交互通道的构建模型,其中在所述plc协议测试中,测试用例和各硬件设备建立连接后通过所述数据交互通道进行数据交互,包括独立的通道管理模块,所述通道管理模块内设有多个并行工作组件,所述测试用例通过所述并行工作组件与所述硬件设备进行数据交互。

在本发明的一个实施例中,所述通道管理模块内还设有编解码模块。

本发明的上述技术方案相比现有技术具有以下优点:

本发明所述的plc协议测试的数据交互通道的构建方法及模型,能够快速构建出用于plc协议测试的数据交互通道,良好的满足测试系统对数据交互处理的需求;同时,该构建方法构建出的数据交互通道维护和扩展方便,统一在所述通道管理模块中进行维护,通过复制修改或删除相应的并行工作组件和端口定义就可完成硬件设备数据交互通道的新增和删除。

附图说明

为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中

图1是本发明plc协议测试的数据交互通道的构建方法流程图;

图2是本发明plc协议测试的数据交互通道的构建模型示意图。

具体实施方式

实施例一:

如图1所示,本实施例提供一种plc协议测试的数据交互通道的构建方法,其中在所述plc协议测试中,测试用例和各硬件设备建立连接后通过所述数据交互通道进行数据交互,包括如下步骤:步骤s1:创建独立的通道管理模块;步骤s2:在所述通道管理模块内实时创建多个并行工作组件(ptc);步骤s3:将所述测试用例需要下发的数据通过相应的并行工作组件传递给所述硬件设备或者将所述硬件设备上报的数据通过相应的并行工作组件传递给所述测试用例。

本实施例所述plc协议测试的数据交互通道的构建方法,其中在所述plc协议测试中,测试用例和各硬件设备建立连接后通过所述数据交互通道进行数据交互,所述步骤s1中,创建独立的通道管理模块,由于所有的测试用例均使用同一个数据交互通道管理模块,从而方便统一维护和扩展;所述步骤s2中,在所述通道管理模块内实时创建多个并行工作组件,由于plc协议测试过程中,所述测试用例需要和各硬件设备建立连接并进行数据交互,不同的测试用例对应连接的硬件设备及其数量不同,通过多个并行工作组件有利于保证不同的测试用例能够灵活的选择需要建立的连接的类型和数量,从而实现硬件设备数据交互通道的新增和删除;所述步骤s3中,将所述测试用例需要下发的数据通过相应的并行工作组件传递给所述硬件设备或者将所述硬件设备上报的数据通过相应的并行工作组件传递给所述测试用例,实现所述测试用例与所述并行工作组件之间数据的交互以及所述并行工作组件和所述硬件设备之间数据的交互,从而可以不间断的进行数据的处理与传递,满足测试系统对数据交互处理的需求。

随着ttcn(testingandtestcontrolnotation)标准测试语言的发展,其越来越多的被应用于协议测试领域,其主要优点在于测试用例编写快捷方便。对于plc协议的测试,也可采用ttcn语言进行测试用例的编写。因此所述步骤s1中,采用ttcn语言创建独立的通道管理模块。所述通道管理模块需要满足多种测试用例的需求,包括:连接设备的类型、通道传输的数据类型等。

所述步骤s2中,所述创建多个并行工作组件的方法为在所述通道管理模块内添加若干初始化方法,每个初始化方法对应一个并行工作组件。由于不同的测试用例对应连接的硬件设备及其数量不同,具体地,在某协议一致性测试用例中,需要所述测试用例和测试台体、透明接入单元、载波侦听单元、模拟集中器建立连接;但在另一个互操作性测试用例中,所述测试用例还需要和多个模拟电表设备建立连接。为了保证不同的测试用例能够灵活的选择需要建立的连接的类型和数量,需要实时创建与销毁并发连接。具体地,统一在所述通道管理模块添加若干初始化方法,每个初始化方法对应一个并行工作组件,所述并行工作组件的指定端口和所述测试用例所在的mtc的相应端口相互对应,从而有利于所述测试用例根据需求调用相应的初始化方法,使所述测试用例与所述并行工作组件建立连接;另外,所述测试用例与所述并行工作组件之间的数据交互即是通过这些端口进行,本方法采用ttcn的报文匹配机制,在所述并行工作组件与所述测试用例之间进行数据交互时,直接传递plc协议定义的对象(即报文结构体),如信标帧、网间协调帧、ack等;所述并行工作组件的指定端口通过系统接口组件(stc)和所述硬件设备相互对应,使所述并行工作组件与所述硬件设备建立连接。由于所述并行工作组件作为桥梁,在测试用例运行生命周期内,不间断的将硬件设备上报的数据传递给测试用例,将测试用例需要下发的数据传递给硬件设备,实现循环运行的数据处理流程。再者,上述结构体根据协议描述定义,当所述并行工作组件收到所述硬件设备上报的原始报文时,将其解码为协议结构体,直接通过相应的端口传递给上层用例;上层测试用例也可直接将协议结构体传递到所述并行工作组件,此种内部数据交互方式,极大的简化了测试用例自身业务逻辑的编写。

本实施例中,由于所述并行工作组件是实时创建,可在所述测试用例中获取并行工作组件的引用,停止并行工作组件的运行,其和所述硬件设备的连接将同时被断开。对于多个同类型硬件设备连接的场景,通过复制并行工作组件的初始化方法,修改方法名和硬件设备的ip与端口定义(其中硬件设备ip和端口可在配置文件中灵活配置),就可快速形成一个同类型的数据交互通道,在所述测试用例初始化时,通过调用多个并行工作组件的初始化方法,即可同时建立和多个硬件设备之间的连接。

所述步骤s3中,将所述测试用例需要下发的数据通过相应的并行工作组件传递给硬件设备时,先将所述并行工作组件接收到的用例数据(即符合plc协议的结构体)进行编码,然后将编码后的数据通过系统接口组件传递到硬件设备。具体地,将所述测试用例需要下发的数据编码为字节流填充到通道交互协议结构体中,再将通道交互协议结构体进一步编码为字节流,通过与硬件设备间的数据通道进行传输。其中所述通道交互协议是上位机与所述硬件设备之间约定的交互协议。

将所述硬件设备上报的数据通过相应的并行工作组件传递给所述测试用例时,在所述相应的并行工作组件内将接收到的原始数据进行解码,然后将解码后的数据传递给所述测试用例,从而不间断的进行数据的编解码处理与传递。具体地,对所述硬件设备上报的报文字节流,解码为通道交互协议结构体,进一步解析为测试用例需要使用到的与协议相关的报文结构体,从而有利于确保传输数据的完整性,具体地,当所述硬件设备上的原始报文经过所述并行工作组件解码,得到一包完整数据之后,再根据这包数据的特征,将其解析为对应的plc协议,如信标帧,网间协调帧,ack等。其中开发人员可自行根据所使用的ttcn编译器的特征,编写相应的编解码器,或使用现有的一些编解码器,从而有利于实现将一包完整报文解析为相应的协议结构体以及将协议结构体编码为字节流。

实施例二:

如图2所示,本实施例提供一种plc协议测试的数据交互通道的构建模型,根据实施例一提供的构建方法创建,包括独立的通道管理模块12,所述通道管理模块内12设有多个并行工作组件,所述测试用例11通过所述并行工作组件与所述硬件设备13进行数据交互。

本实施例所述plc协议测试的数据交互通道的构建模型,包括独立的通道管理模块12,由于所有的测试用例均使用同一个数据交互通道管理模块,从而方便统一维护和扩展,所述通道管理模块12内设有多个并行工作组件,由于plc协议测试过程中,所述测试用例11需要和各硬件设备13建立连接并进行数据交互,不同的测试用例对应连接的硬件设备13及其数量不同,通过多个并行工作组件有利于保证不同的测试用例能够灵活的选择需要建立的连接的类型和数量,从而实现硬件设备数据交互通道的新增和删除;所述测测试用例11通过所述并行工作组件与所述硬件设备13进行数据交互,实现所述测试用例11与所述并行工作组件之间数据的交互以及所述并行工作组件和所述硬件设备13之间数据的收发,从而可以不间断的进行数据的处理与传递,满足测试系统对数据交互处理的需求。

所述通道管理模块12内还设有编解码模块,通过所述编解码模块有利于保证数据传输的完整性以及准确性。具体地,当所述测试用例11将下发的数据通过相应的并行工作组件传递给硬件设备13时,先将所述并行工作组件接收到的测试用例数据进行编码,最后将编码后的数据传递给所述硬件设备13。当所述硬件设备13上报的数据通过相应的并行工作组件传递给所述测试用例11时,在所述相应的并行工作组件内将接收到的数据进行解码,然后将解码后的数据传递到所述测试用例11,从而不间断的进行数据的编解码处理与传递。

如图2所示,所述测试用例11运行所在的组件为mtc,该mtc包括如下端口:port_mtc_shelf、port_mtc_tx、port_mtc_rx以及port_mtc_x(其中,所述port_stc_x代表其它端口)时,所述硬件设备13对应系统接口组件(stc)的如下端口:为port_stc_shelf、port_stc_tx、port_stc_rx以及port_stc_x,则所述通道管理模块12内对应设置有四个并行工作组件,分别为:ptc_shelf、ptc_tx、ptc_rx以及ptc_x,通过创建所述ptc_shelf并行工作组件可以将所述port_mtc_shelf与所述port_stc_shelf相连,通过创建所述ptc_tx并行工作组件可以将所述port_mtc_tx与所述port_stc_tx相连,通过创建所述ptc_rx可以将所述port_mtc_rx与所述port_stc_rx相连,通过创建所述ptc_x可以将所述port_mtc_x和所述port_stc_x相连。以并行工作组件ptc_tx为例,其包括两个端口:port_ptc_tx_conn_mtc和port_ptc_tx_map_stc,这两个端口分别与测试用例所在的mtc中的端口port_mtc_tx以及硬件设备对应的stc端口port_stc_tx进行数据传递,同时这两个端口在ptc内部相连,直接进行内部数据传递,而其它pct也是类似的构造,这里不在一一论述。

本发明中,所述硬件设备13包括但不限于:测试台体、透明接入单元、载波侦听单元、模拟集中器、模拟电表、任意波形发生器、频谱分析仪等。本发明所述数据交互通道,支撑了所有测试需求,含性能测试、协议一致性测试、互操作性测试等。

显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1