CN114741293B - 一种工业控制系统的Modbus通信自动化测试方法 - Google Patents

一种工业控制系统的Modbus通信自动化测试方法 Download PDF

Info

Publication number
CN114741293B
CN114741293B CN202210351861.9A CN202210351861A CN114741293B CN 114741293 B CN114741293 B CN 114741293B CN 202210351861 A CN202210351861 A CN 202210351861A CN 114741293 B CN114741293 B CN 114741293B
Authority
CN
China
Prior art keywords
modbus
industrial controller
test
data
client
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
Application number
CN202210351861.9A
Other languages
English (en)
Other versions
CN114741293A (zh
Inventor
赵丽莉
刘永斌
郑志方
陈耀方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongkong Technology Co ltd
Original Assignee
Zhejiang Supcon Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN202210351861.9A priority Critical patent/CN114741293B/zh
Publication of CN114741293A publication Critical patent/CN114741293A/zh
Application granted granted Critical
Publication of CN114741293B publication Critical patent/CN114741293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明涉及一种工业控制系统的Modbus通信自动化测试方法,方法应用于工业控制系统的Modbus通信自动化测试系统,包括:若针对第一工业控制器的Modbus客户端进行测试时,分别根据用户向Modbus服务器模块发送的预先设定的第一测试数据测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果,以及根据用户向Modbus客户端中所写的第一位号写值测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果,所述第一工业控制器预先下载有在控制器组态软件中编辑测试Modbus客户端所需的组态。

Description

一种工业控制系统的Modbus通信自动化测试方法
技术领域
本发明涉及工业控制系统Modbus通信测试技术领域,尤其涉及一种工业控制系统的Modbus通信自动化测试方法。
背景技术
随着工业控制系统迭代速度的加快,对Modbus通信功能测试的频次也随之提高。控制系统进行Modbus通信时,可有客户端和服务器两种角色,通信时包含线圈、离散输入、保持寄存器和输入寄存器四种输出类型的数据块,控制器需要通信的位号包含BOOL、INT、UINT、SINT、USINT、DINT、UDINT、WORD、DEORD、REAL、LREAL等多种数据类型,数据位规则包含字转换、字内转换、字节转换和无转换,测试时需要覆盖所有角色、数据块类型、位号数据类型、数据位规则、通信命令。
传统Modbus通信功能的测试方法需要测试人员使用真实的通信设备作为Modbus服务器或客户端搭建测试环境,并手动逐条执行测试用例,然后人工校验测试结果。在这种传统的测试方法中,不仅需要测试人员手工搭建复杂的测试环境,还需要花费较多的时间进行测试执行,每次产品迭代后需要重复测试操作,导致测试速度较慢、效率较低。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本发明提供一种工业控制系统的Modbus通信自动化测试方法,其解决了现有的工业控制系统的Modbus通信功能测试环境搭建复杂、测试执行繁琐且低效的技术问题。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
一方面,本发明实施例提供一种工业控制系统的Modbus通信自动化测试方法,所述方法应用于工业控制系统的Modbus通信自动化测试系统,所述系统包括:控制系统组态软件、Modbus测试驱动和自动化测试框架Robotframework;所述Modbus测试驱动包括:控制器位号读写模块,用于启动与该系统连接的工业控制器的调试和读/写位号值;Modbus客户端模块用于模拟与该系统连接的工业控制器的Modbus客户端执行读命令的过程和写命令的过程;Modbus服务器模块用于模拟与该系统连接的工业控制器的Modbus服务器响应读命令的过程和响应写命令的过程;所述方法包括:
若针对第一工业控制器的Modbus客户端进行测试时,在所述系统与第一工业控制器按照预先设定的连接方式连接后,接收用户向Modbus服务器模块输入的预先设定的第一测试数据,分别测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果,以及根据用户向Modbus客户端中所写的第一位号写值测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果;
所述第一工业控制器预先下载有在控制器组态软件中编辑测试Modbus客户端所需的组态。
优选地,所述方法还包:
若针对第二工业控制器的Modbus服务器进行测试时,在所述系统与第二工业控制器按照预先设定的连接方式连接后,接收用户向第二工业控制器的Modbus服务器中所写的第二位号写值,分别测试测试第二工业控制器的Modbus服务器的响应读命令的过程获取第三测试结果,以及根据用户向Modbus客户端模块发送第二测试数据测试第二工业控制器的Modbus服务器的响应写命令的过程获取第四测试结果;
所述第二工业控制器预先下载有控制器组态软件中编辑测试Modbus服务器所需的组态。
优选地,
所述预先设定的连接方式包括第一连接方式和第二连接方式;
所述第一连接方式为:所述系统与第一工业控制器或第二工业控制器通过网线接入同一局域网中;
所述第二连接方式为:所述系统通过亚当模块与第一工业控制器或第二工业控制器连接。
优选地,
所述系统通过亚当模块与第一工业控制器或第二工业控制器连接,具体包括:
亚当模块的一端的接线接于第一工业控制器或第二工业控制器的COM上,亚当模块另一端的接线接于系统所在的上位机的USB接口上。
优选地,
所述第一工业控制器和第二工业控制器为同一个工业控制器或不同的工业控制器。
优选地,
所述针对第一工业控制器的Modbus客户端进行测试时,在所述系统与第一工业控制器按照预先设定的连接方式连接后,测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果,具体包括:
S103、接受用户通过自动化测试框架Robotframework向Modbus测试驱动的Modbus服务器模块发送的预先设定的第一测试数据;
S104、所述控制器位号读写模块通过自动化测试框架Robotframework读取第一工业控制器的Modbus客户端的第一位号数据;
所述第一位号数据为所述第一工业控制器的Modbus客户端基于所述第一测试数据实际完成读命令的过程后所得到的位号数据;
S105、采用自动化测试框架Robotframework将所述预先设定的第一测试数据与第一工业控制器的Modbus客户端的第一位号数据进行对比,获取第一测试结果;
若所述第一测试结果为所述第一测试数据与第一位号数据相同,则确定所述第一工业控制器的Modbus客户端的读命令的过程正常。
优选地,
在所述系统与第一工业控制器按照预先设定的连接方式连接后,测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果,具体包括:
S106、接受用户采用自动化测试框架Robotframework向第一工业控制器的Modbus客户端中所写的第一位号写值;
S107、采用自动化测试框架Robotframework读取Modbus测试驱动的Modbus服务器模块中的第二数据;
所述第二数据为所述第一工业控制器的Modbus服务器模块基于所述Modbus客户端中的第一位号写值模拟完成响应写命令的过程的数据;
S108、采用自动化测试框架Robotframework将第一工业控制器Modbus客户端中的第一位号写值与Modbus服务器模块所读取的数据进行对比,获取第二测试结果;
若所述第二测试结果为所述第一位号写值与所述第二数据相同,则确定所述第一工业控制器的Modbus客户端的写命令的过程正常。
优选地,
若针对第二工业控制器的Modbus服务器进行测试时,在所述系统与第二工业控制器按照预先设定的连接方式连接后,测试第二工业控制器的Modbus服务器的响应读命令,获取第三测试结果,具体包括:
S203、接受用户采用自动化测试框架Robotframework向第二工业控制器的Modbus服务器中所写的第二位号写值;
S204、采用自动化测试框架Robotframework读取Modbus测试驱动的Modbus客户端模块中的第三数据;
所述第三数据为Modbus测试驱动的Modbus客户端模块基于所述第二位号写值模拟完成读命令过程的数据;
S205、采用自动化测试框架Robotframework将第二工业控制器的第二位号写值与读取的Modbus客户端模块中的第三数据进行对比,获取第三测试结果;
若所述第三测试结果为所述第二位号写值与所述第三数据相同,则确定所述第二工业控制器的Modbus服务器的响应读命令过程正常。
优选地,
在所述系统与第二工业控制器按照预先设定的连接方式连接后,测试第二工业控制器的Modbus服务器的响应写命令,获取第四测试结果,具体包括:
S206、接受用户通过自动化测试框架Robotframework向Modbus测试驱动的Modbus客户端模块发送第二测试数据;
S207、通过自动化测试框架Robotframework读取第二工业控制器的Modbus服务器中的第二位号数据;
所述第二位号数据为第二工业控制器的Modbus服务器基于所述第二测试数据实际完成响应写命令过程后产生的数据;
S208、采用自动化测试框架Robotframework将发送给Modbus客户端模块的第二测试数据与第二工业控制器的Modbus服务器中的第二位号数据进行对比,获取第四测试结果;
若所述第四测试结果为所述第二位号数据与所述第二测试数据相同,则确定所述第二控制器的Modbus服务器的响应写命令过程。
第二方面,本实施例还提供一种工业控制系统的Modbus通信自动化测试系统,所述系统执行上述任一所述的工业控制系统的Modbus通信自动化测试方法。
(三)有益效果
本发明的有益效果是:本发明的一种工业控制系统的Modbus通信自动化测试方法,由于采用Modbus客户端模块模拟与该系统连接的工业控制器的Modbus客户端执行读命令的过程和写命令的过程;Modbus服务器模块模拟与该系统连接的工业控制器的Modbus服务器响应读命令的过程和响应写命令的过程,通过用户向Modbus服务器模块输入的预先设定的第一测试数据和接收用户向第二工业控制器的Modbus服务器中所写的第二位号写值,实现了工业控制器Modbus通信功能的自动化测试,克服了现有手动测试流程对测试人员技术要求高、测试过程效率低、测试组态不易复用的不足,使测试工作更加高效、简便、易操作。
附图说明
图1为本发明实施例中的一种工业控制系统的Modbus通信自动化测试方法流程图;
图2为本发明中的Modbus测试驱动与工业控制器之间的连接关系图;
图3为本发明实施例中启动控制器调试功能和Modbus测试驱动的Modbus服务器的具体指令示意图;
图4为本发明实施例中启动控制器调试功能和Modbus测试驱动的Modbus服务器的具体指令示意图;
图5为本发明实施例中测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果的流程图;
图6为测试第一工业控制器Modbus客户端读命令的具体指令示意图;
图7为本发明实施例中测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果的流程图;
图8位测试第一工业控制器Modbus客户端写命令的具体指令示意图;
图9为启动控制器调试功能和Modbus测试驱动的Modbus客户端模块的具体指令示意图;
图10为启动控制器调试功能和Modbus测试驱动的Modbus客户端模块的具体指令示意图;
图11为本发明实施例中测试第二工业控制器的Modbus服务器的响应读命令获取第三测试结果的流程图;
图12为测试第二工业控制器Modbus服务器响应读命令的具体指令;
图13为本发明实施例中测试第二工业控制器的Modbus服务器的响应写命令获取第四测试结果的流程图;
图14为测试第二工业控制器Modbus服务器响应写命令的具体指令。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
参见图1,本实施例提供一种工业控制系统的Modbus通信自动化测试方法,所述方法应用于工业控制系统的Modbus通信自动化测试系统,参见图2,所述系统包括:控制系统组态软件、Modbus测试驱动和自动化测试框架Robotframework;所述Modbus测试驱动包括:控制器位号读写模块,用于启动与该系统连接的工业控制器的调试和读/写位号值;Modbus客户端模块用于模拟与该系统连接的工业控制器的Modbus客户端执行读命令的过程和写命令的过程;Modbus服务器模块用于模拟与该系统连接的工业控制器的Modbus服务器响应读命令的过程和响应写命令的过程;(本实施例中,Modbus测试驱动、自动化测试框架Robotframework和控制器组态软件安装于计算机中,在Modbus测试驱动、Robotframework和控制器组态软件的安装完成后,以及计算机和控制器之间的接线后即可进行测试),所述方法包括:
若针对第一工业控制器的Modbus客户端进行测试时,在所述系统与第一工业控制器按照预先设定的连接方式连接后,接收用户向Modbus服务器模块输入的预先设定的第一测试数据,分别测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果,以及根据用户向Modbus客户端中所写的第一位号写值测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果;
所述第一工业控制器预先下载有在控制器组态软件中编辑测试Modbus客户端所需的组态。
在具体应用中,Modbus测试驱动、自动化测试框架Robotframework和控制器组态软件安装于计算机中。
参见图1,在本实施例的实际应用中,所述方法还包:若针对第二工业控制器的Modbus服务器进行测试时,在所述系统与第二工业控制器按照预先设定的连接方式连接后,接收用户向第二工业控制器的Modbus服务器中所写的第二位号写值,分别测试第二工业控制器的Modbus服务器的响应读命令的过程获取第三测试结果,以及根据用户向Modbus客户端模块发送第二测试数据测试第二工业控制器的Modbus服务器的响应写命令的过程获取第四测试结果;
所述第二工业控制器预先下载有控制器组态软件中编辑测试Modbus服务器所需的组态。
在本实施例的实际应用中,所述预先设定的连接方式包括第一连接方式和第二连接方式。
所述第一连接方式为:所述系统与第一工业控制器或第二工业控制器通过网线接入同一局域网中,具体以ModbusTCP连接方式连接,为了测试ModbusTCP通信功能。
所述第二连接方式为:所述系统通过亚当模块与第一工业控制器或第二工业控制器连接,具体以ModbusRTU连接方式连接,为了测试ModbusRTU通信功能。
实际上,RTU是一种串口通信,通过RS232/RS485传输二进制码,数据封装、硬件接口、通信协议均与TCP不同。Modbus RTU通信组态中包含客户端和服务器。
Modbus TCP通过以太网口传输TCP码,它是面向连接的、端到端的可靠通信,在传输数据前需要先建立数据连接,然后再传输数据,最后释放连接。
Modbus TCP通信组态中包含客户端和服务器。客户端可以在Modbus总线上发布查询命令,主动从其他控制器(作为服务器角色)中获取数据。服务器不能发布查询命令,只能响应,即发送数据给其他控制器(作为客户端角色)。
在本实施例的实际应用中,所述系统通过亚当模块与第一工业控制器或第二工业控制器连接,具体包括:
亚当模块的一端的接线接于第一工业控制器或第二工业控制器的COM上,亚当模块另一端的接线接于系统所在的上位机的USB接口上。
在本实施例的实际应用中,所述第一工业控制器和第二工业控制器为同一个工业控制器或不同的工业控制器。
在完成Modbus测试驱动、自动化测试框架Robotframework和控制器组态软件的安装,以及系统(计算机)和控制器之间的接线后即可进行测试。
在本实施例的实际应用中,当测试对象为第一工业控制器的Modbus客户端时,首先,通过自动化测试框架Robotframework执行启动控制器调试功能和Modbus测试驱动的Modbus服务器的具体指令以启动第一控制器调试功能和Modbus测试驱动的Modbus服务器模块。
其中,若所述系统与第一工业控制器或第二工业控制器,以第一方式连接连接时,启动控制器调试功能和Modbus测试驱动的Modbus服务器的具体指令如图3所示。
若所述系统与第一工业控制器或第二工业控制器,以第二方式连接连接时,启动控制器调试功能和Modbus测试驱动的Modbus服务器的具体指令,如图4所示。
然后,启动第一控制器调试功能时需要填写第一控制器组态的保存地址;若所述系统与第一工业控制器或第二工业控制器,以第一方式连接连接时,启动Modbus测试驱动的Modbus服务器模块时可填写服务器IP地址和端口号;
若所述系统与第一工业控制器或第二工业控制器,以第二方式连接连接时,启动Modbus测试驱动的Modbus服务器模块时需要设置COM口、波特率、数据位、停止位和校验方式,其中,Modbus测试驱动的COM口应该与计算机的设备管理器-端口中亚当模块所占COM口保持一致,Modbus测试驱动和亚当模块所占端口的波特率、数据位、停止位和校验方式应该与控制器的参数保持一致。
参见图5,所述针对第一工业控制器的Modbus客户端进行测试时,在所述系统与第一工业控制器按照预先设定的连接方式连接后,测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果,具体包括:
S103、接受用户通过自动化测试框架Robotframework向Modbus测试驱动的Modbus服务器模块发送的预先设定的第一测试数据。
其中,所述第一测试数据为:图6所示,Modbus服务器模块给指定数据区置值时需要填写的参数(也就是第一测试数据)依次为:设备号、数据块号、指定数据区的地址、需要设置的位号数值、位号数据类型、是否字转换和是否字内转换。
S104、所述控制器位号读写模块通过自动化测试框架Robotframework读取第一工业控制器的Modbus客户端的第一位号数据。
所述第一位号数据为所述第一工业控制器的Modbus客户端基于所述第一测试数据实际完成读命令的过程后所得到的位号数据。
具体的,如图6所示,第一工业控制器位号读写模块读取第一位号数据时需要填写需要读取的位号名称,可以是一个或多个位号,读取后保存于列表中。
S105、采用自动化测试框架Robotframework将所述预先设定的第一测试数据与第一工业控制器的Modbus客户端的第一位号数据进行对比,获取第一测试结果。
若所述第一测试结果为所述第一测试数据与第一位号数据相同,则确定所述第一工业控制器的Modbus客户端的读命令的过程正常。
参见图7,在本实施例的实际应用中,在所述系统与第一工业控制器按照预先设定的连接方式连接后,测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果,具体包括:
S106、接受用户采用自动化测试框架Robotframework向第一工业控制器的Modbus客户端中所写的第一位号写值;
具体的,如图8所示,第一位号写值包括:第一工业控制器位号读写模块修改位号数值时需要填写的参数依次为:位号名、位号数据类型和位号值。
S107、采用自动化测试框架Robotframework读取Modbus测试驱动的Modbus服务器模块中的第二数据。
所述第二数据为所述第一工业控制器的Modbus服务器模块基于所述Modbus客户端中的第一位号写值模拟完成响应写命令的过程的数据。
如图8所示,第二数据包括:Modbus服务器模块在指定数据区取值时需要填写的参数依次为:设备号、数据块号、指定数据区的地址、需要获取的数据长度、位号数据类型、是否字转换和是否字内转换。
S108、采用自动化测试框架Robotframework将第一工业控制器Modbus客户端中的第一位号写值与Modbus服务器模块所读取的数据进行对比,获取第二测试结果。
若所述第二测试结果为所述第一位号写值与所述第二数据相同,则确定所述第一工业控制器的Modbus客户端的写命令的过程正常。
在本实施例的实际应用中,当被测对象为第二工业控制器的Modbus服务器时,首先,通过自动化测试框架Robotframework执行启动控制器调试功能和Modbus测试驱动的客户端指令以启动第二控制器调试功能和Modbus测试驱动的Modbus客户端模块。
本实施例中,若所述系统与第一工业控制器或第二工业控制器,以第一方式连接连接时,测试Modbus通信功能时具体指令如图9所示。
若所述系统与第一工业控制器或第二工业控制器,以第二方式连接连接时,测试ModbusRTU通信功能时具体指令如图10所示。
其中,启动第二控制器调试功能时需要填写控制器组态的保存地址;启动Modbus测试驱动的Modbus客户端时需要填写控制器的IP地址和端口号。
启动Modbus测试驱动的Modbus客户端模块时需要设置COM口、波特率、数据位、停止位和校验方式,其中,Modbus测试驱动的COM口应该与计算机的设备管理器-端口中亚当模块所占COM口保持一致,Modbus测试驱动和计算机中亚当模块所占端口的波特率、数据位、停止位和校验方式应该与控制器的参数保持一致。
参见图11,若针对第二工业控制器的Modbus服务器进行测试时,在所述系统与第二工业控制器按照预先设定的连接方式连接后,测试第二工业控制器的Modbus服务器的响应读命令,获取第三测试结果,具体包括:
S203、接受用户采用自动化测试框架Robotframework向第二工业控制器的Modbus服务器中所写的第二位号写值。
具体的,如图12所示,第二位号写值包括:第二工业控制器位号读写模块修改位号数值时需要填写的参数依次为:位号名、位号数据类型和位号值。
S204、采用自动化测试框架Robotframework读取Modbus测试驱动的Modbus客户端模块中的第三数据。
所述第三数据为Modbus测试驱动的Modbus客户端模块基于所述第二位号写值模拟完成读命令过程的数据。
举例说明,如图12所示,第三数据包括:Modbus客户端执行命令时需要填写的参数依次为:设备号、开始地址、寄存器数量、位号数据类型、是否字转换和是否字内转换。
S205、采用自动化测试框架Robotframework将第二工业控制器的第二位号写值与读取的Modbus客户端模块中的第三数据进行对比,获取第三测试结果。
若所述第三测试结果为所述第二位号写值与所述第三数据相同,则确定所述第二工业控制器的Modbus服务器的响应读命令过程正常。
参见图13,在本实施例的实际应用中,在所述系统与第二工业控制器按照预先设定的连接方式连接后,测试第二工业控制器的Modbus服务器的响应写命令,获取第四测试结果,具体包括:
S206、接受用户通过自动化测试框架Robotframework向Modbus测试驱动的Modbus客户端模块发送第二测试数据。
举例说明,如图14所示,第二测试数据包括:Modbus客户端模块执行命令时需要填写的参数依次为:设备号、开始地址、输出值列表、位号数据类型、是否字转换和是否字内转换。
S207、通过自动化测试框架Robotframework读取第二工业控制器的Modbus服务器中的第二位号数据。
所述第二位号数据为第二工业控制器的Modbus服务器基于所述第二测试数据实际完成响应写命令过程后产生的数据。
如图14所示,第二位号数据包括:第二工业控制器位号读写模块读取位号数据时需要填写需要读取的位号名称。
S208、采用自动化测试框架Robotframework将发送给Modbus客户端模块的第二测试数据与第二工业控制器的Modbus服务器中的第二位号数据进行对比,获取第四测试结果。
若所述第四测试结果为所述第二位号数据与所述第二测试数据相同,则确定所述第二控制器的Modbus服务器的响应写命令过程。
本实施例中的一种工业控制系统的Modbus通信自动化测试方法,由于采用Modbus客户端模块模拟与该系统连接的工业控制器的Modbus客户端执行读命令的过程和写命令的过程;Modbus服务器模块模拟与该系统连接的工业控制器的Modbus服务器响应读命令的过程和响应写命令的过程,通过用户向Modbus服务器模块输入的预先设定的第一测试数据和接收用户向第二工业控制器的Modbus服务器中所写的第二位号写值,实现了工业控制器Modbus通信功能的自动化测试,克服了现有手动测试流程对测试人员技术要求高、测试过程效率低、测试组态不易复用的不足,使测试工作更加高效、简便、易操作。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”,可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”,可以是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”,可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度低于第二特征。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行改动、修改、替换和变型。

Claims (10)

1.一种工业控制系统的Modbus通信自动化测试方法,其特征在于,所述方法应用于工业控制系统的Modbus通信自动化测试系统,所述系统包括:控制系统组态软件、Modbus测试驱动和自动化测试框架Robotframework;所述Modbus测试驱动包括:控制器位号读写模块,用于启动与该系统连接的工业控制器的调试和读/写位号值;Modbus客户端模块用于模拟与该系统连接的工业控制器的Modbus客户端执行读命令的过程和写命令的过程;Modbus服务器模块用于模拟与该系统连接的工业控制器的Modbus服务器响应读命令的过程和响应写命令的过程;所述方法包括:
若针对第一工业控制器的Modbus客户端进行测试时,在所述系统与第一工业控制器按照预先设定的连接方式连接后,接收用户向Modbus服务器模块输入的预先设定的第一测试数据,并分别测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果,以及根据用户向Modbus客户端中所写的第一位号写值测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果;
所述第一工业控制器预先下载有在控制器组态软件中编辑测试Modbus客户端所需的组态;
若所述第一测试结果为所述第一测试数据与第一位号数据相同,则确定所述第一工业控制器的Modbus客户端的读命令的过程正常;第一位号数据为所述第一工业控制器的Modbus客户端基于所述第一测试数据实际完成读命令的过程后所得到的位号数据;若所述第二测试结果为所述第一位号写值与所述第二数据相同,则确定所述第一工业控制器的Modbus客户端的写命令的过程正常;第二数据为所述第一工业控制器的Modbus服务器模块基于所述Modbus客户端中的第一位号写值模拟完成响应写命令的过程的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包:
若针对第二工业控制器的Modbus服务器进行测试时,在所述系统与第二工业控制器按照预先设定的连接方式连接后,接收用户向第二工业控制器的Modbus服务器中所写的第二位号写值,并分别测试第二工业控制器的Modbus服务器的响应读命令的过程获取第三测试结果,以及根据用户向Modbus客户端模块发送第二测试数据测试第二工业控制器的Modbus服务器的响应写命令的过程获取第四测试结果;
所述第二工业控制器预先下载有控制器组态软件中编辑测试Modbus服务器所需的组态。
3.根据权利要求1或2所述的方法,其特征在于,
所述预先设定的连接方式包括第一连接方式和第二连接方式;
所述第一连接方式为:所述系统与第一工业控制器或第二工业控制器通过网线接入同一局域网中;
所述第二连接方式为:所述系统通过亚当模块与第一工业控制器或第二工业控制器连接。
4.根据权利要求3所述的方法,其特征在于,
所述系统通过亚当模块与第一工业控制器或第二工业控制器连接,具体包括:
亚当模块的一端的接线接于第一工业控制器或第二工业控制器的COM上,亚当模块另一端的接线接于系统所在的上位机的USB接口上。
5.根据权利要求4所述的方法,其特征在于,
所述第一工业控制器和第二工业控制器为同一个工业控制器或不同的工业控制器。
6.根据权利要求5所述的方法,其特征在于,
所述针对第一工业控制器的Modbus客户端进行测试时,在所述系统与第一工业控制器按照预先设定的连接方式连接后,测试第一工业控制器的Modbus客户端的读命令的过程获取第一测试结果,具体包括:
S103、接受用户通过自动化测试框架Robotframework向Modbus测试驱动的Modbus服务器模块发送的预先设定的第一测试数据;
S104、所述控制器位号读写模块通过自动化测试框架Robotframework读取第一工业控制器的Modbus客户端的第一位号数据;
S105、采用自动化测试框架Robotframework将所述预先设定的第一测试数据与第一工业控制器的Modbus客户端的第一位号数据进行对比,获取第一测试结果。
7.根据权利要求6所述的方法,其特征在于,
在所述系统与第一工业控制器按照预先设定的连接方式连接后,测试第一工业控制器的Modbus客户端的写命令的过程获取第二测试结果,具体包括:
S106、接受用户采用自动化测试框架Robotframework向第一工业控制器的Modbus客户端中所写的第一位号写值;
S107、采用自动化测试框架Robotframework读取Modbus测试驱动的Modbus服务器模块中的第二数据;
S108、采用自动化测试框架Robotframework将第一工业控制器Modbus客户端中的第一位号写值与Modbus服务器模块所读取的数据进行对比,获取第二测试结果。
8.根据权利要求7所述的方法,其特征在于,
若针对第二工业控制器的Modbus服务器进行测试时,在所述系统与第二工业控制器按照预先设定的连接方式连接后,测试第二工业控制器的Modbus服务器的响应读命令,获取第三测试结果,具体包括:
S203、接受用户采用自动化测试框架Robotframework向第二工业控制器的Modbus服务器中所写的第二位号写值;
S204、采用自动化测试框架Robotframework读取Modbus测试驱动的Modbus客户端模块中的第三数据;
所述第三数据为Modbus测试驱动的Modbus客户端模块基于所述第二位号写值模拟完成读命令过程的数据;
S205、采用自动化测试框架Robotframework将第二工业控制器的第二位号写值与读取的Modbus客户端模块中的第三数据进行对比,获取第三测试结果;
若所述第三测试结果为所述第二位号写值与所述第三数据相同,则确定所述第二工业控制器的Modbus服务器的响应读命令过程正常。
9.根据权利要求8所述的方法,其特征在于,
在所述系统与第二工业控制器按照预先设定的连接方式连接后,测试第二工业控制器的Modbus服务器的响应写命令,获取第四测试结果,具体包括:
S206、接受用户通过自动化测试框架Robotframework向Modbus测试驱动的Modbus客户端模块发送第二测试数据;
S207、通过自动化测试框架Robotframework读取第二工业控制器的Modbus服务器中的第二位号数据;
所述第二位号数据为第二工业控制器的Modbus服务器基于所述第二测试数据实际完成响应写命令过程后产生的数据;
S208、采用自动化测试框架Robotframework将发送给Modbus客户端模块的第二测试数据与第二工业控制器的Modbus服务器中的第二位号数据进行对比,获取第四测试结果;
若所述第四测试结果为所述第二位号数据与所述第二测试数据相同,则确定所述第二工业控制器的Modbus服务器的响应写命令过程。
10.一种工业控制系统的Modbus通信自动化测试系统,其特征在于,所述系统执行上述权利要求1-9中任一所述的工业控制系统的Modbus通信自动化测试方法。
CN202210351861.9A 2022-04-02 2022-04-02 一种工业控制系统的Modbus通信自动化测试方法 Active CN114741293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210351861.9A CN114741293B (zh) 2022-04-02 2022-04-02 一种工业控制系统的Modbus通信自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210351861.9A CN114741293B (zh) 2022-04-02 2022-04-02 一种工业控制系统的Modbus通信自动化测试方法

Publications (2)

Publication Number Publication Date
CN114741293A CN114741293A (zh) 2022-07-12
CN114741293B true CN114741293B (zh) 2024-07-23

Family

ID=82278363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210351861.9A Active CN114741293B (zh) 2022-04-02 2022-04-02 一种工业控制系统的Modbus通信自动化测试方法

Country Status (1)

Country Link
CN (1) CN114741293B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412601A (zh) * 2022-08-26 2022-11-29 浙江中控技术股份有限公司 数据获取方法、装置、电子设备及非易失性存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020164263A1 (zh) * 2019-02-11 2020-08-20 平安科技(深圳)有限公司 librgw的性能测试方法、装置和计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10107716B2 (en) * 2015-08-17 2018-10-23 General Electric Company Systems and methods for testing a gas turbine
CN108322356A (zh) * 2017-01-18 2018-07-24 重庆邮电大学 一种基于mqtt的工业网络网关兼容测试方法
CN109873737B (zh) * 2019-01-31 2020-10-09 杭州迪普科技股份有限公司 一种测试方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020164263A1 (zh) * 2019-02-11 2020-08-20 平安科技(深圳)有限公司 librgw的性能测试方法、装置和计算机设备

Also Published As

Publication number Publication date
CN114741293A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN103746882B (zh) 智能变电站站控层测试的方法
CN112817872B (zh) 开发测试系统及方法
CN104298224A (zh) 车载电子控制单元can总线通信自动化测试装置及系统
CN204116943U (zh) 车载电子控制单元can总线通信自动化测试装置
CN104267715A (zh) 车载电子控制单元lin总线通信自动化测试装置及系统
CN113190454A (zh) 一种车载终端软件实车测试方法及系统
CN108322348B (zh) 变电站监控信息自动验收信号触发运行子系统及方法
CN210666480U (zh) 一种车辆测试系统
CN107370637B (zh) 车载ecu通信功能自动化测试系统及方法
CN114741293B (zh) 一种工业控制系统的Modbus通信自动化测试方法
CN113189970A (zh) Can总线控制器的硬件在环自动测试方法、系统及存储介质
CN117251381B (zh) 用于匀胶显影系统的软件虚拟系统、调试方法及存储介质
CN110764036B (zh) 一种智能配变终端测试方法及系统
CN113064618B (zh) 一种模拟新能源车辆符合性检测的系统及方法
CN113126993B (zh) 应用于车辆检测软件的自动化测试方法及其系统
CN110706537A (zh) 基于虚拟芯片和无线管理的数字电路实训平台及应用方法
CN113590471B (zh) 一种通讯终端设备模拟系统及其使用方法
CN110825617B (zh) 一种用于模拟设备间通讯交互的方法及装置
CN108965053A (zh) 上位机软件压力测试方法、装置及系统
CN114879647A (zh) Ecu故障码测试系统、电子控制器及汽车
CN111965587B (zh) 一种电能表稳定性自动测试方法及其自动测试平台
CN109684661B (zh) 基于iec62056协议的计量仪表的仿真方法
CN110209142B (zh) Plc模块的连接、检测方法、装置及检测设备
CN112181726A (zh) 冗余后备测控与四统一测控一致性验证测试系统及方法
CN110688299A (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
CP03 Change of name, title or address

Address after: No. 309 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province (High tech Zone)

Patentee after: Zhongkong Technology Co.,Ltd.

Country or region after: China

Address before: No. six, No. 309, Binjiang District Road, Hangzhou, Zhejiang

Patentee before: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address