CN108763127A - 源数据与目标数据相互转换的Modbus适配器的实现方法 - Google Patents

源数据与目标数据相互转换的Modbus适配器的实现方法 Download PDF

Info

Publication number
CN108763127A
CN108763127A CN201810567636.2A CN201810567636A CN108763127A CN 108763127 A CN108763127 A CN 108763127A CN 201810567636 A CN201810567636 A CN 201810567636A CN 108763127 A CN108763127 A CN 108763127A
Authority
CN
China
Prior art keywords
data
target data
source data
target
modbus
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.)
Granted
Application number
CN201810567636.2A
Other languages
English (en)
Other versions
CN108763127B (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.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
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 Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201810567636.2A priority Critical patent/CN108763127B/zh
Publication of CN108763127A publication Critical patent/CN108763127A/zh
Application granted granted Critical
Publication of CN108763127B publication Critical patent/CN108763127B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Selective Calling Equipment (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种源数据与目标数据相互转换的Modbus适配器的实现方法,通过将Modbus数据作为源数据,将传感/执行数据作为目标数据,实现Modbus数据与传感/执行数据之间的相互转换,方法由目标数据属性描述库、源数据收发模块、目标数据收发模块、收发控制模块以及数据转换模块构成的转换系统实现;方法包括将源数据转换成目标数据以及将目标数据转换成源数据的过程;在源数据与目标数据的相互转换过程中,还包括寄存器映射过程、寄存器分类和排序过程以及源数据收发模块对源数据的收发过程;本发明的方法在源数据与目标数据的相互转换过程中屏蔽了源数据处理的细节,使得应用可以直接使用这些数据所表达的传感/执行信息,简化了应用程序的开发。

Description

源数据与目标数据相互转换的Modbus适配器的实现方法
技术领域
本发明属于物联网及M2M(Machine-to-Machine Man,一种以机器终端智能交互为核心的、网络化的应用与服务)技术领域,用于源数据与目标数据之间的相互转换,尤其涉及一种源数据与目标数据相互转换的Modbus适配器的实现方法。
背景技术
随着物联网概念的不断发展,物联网相关的需求和应用也与日俱增。在物联网平台的相关应用中,处于感知层的终端设备是读写数据的第一个环节,包括传感器和执行器。终端设备数量众多,且种类多种多样,接口和通信协议也千差万别。其中Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。但是不同型号的Modbus设备数据存储的格式不同,因此一旦需要增添不同型号的Modbus设备,就需要对这一特定的设备型号进行开发适配工作。上述缺陷不仅增加了工作量以及成本,而且破坏了物联网平台的适用性。
发明内容
本发明的主要目的在于提供一种源数据与目标数据相互转换的Modbus适配器的实现方法,可以实现Modbus数据和目标数据之间的转换,使得应用可以直接使用这些数据所表达的传感/执行信息,简化了应用程序的开发;具体技术方案如下:
一种源数据与目标数据相互转换的Modbus适配器的实现方法,通过将Modbus数据作为源数据,将传感/执行数据作为目标数据,实现Modbus数据与传感/执行数据之间的相互转换,方法由目标数据属性描述库、源数据收发模块、目标数据收发模块、收发控制模块以及数据转换模块构成的转换系统实现;方法包括将源数据转换成目标数据以及将目标数据转换成源数据的过程;其中,源数据转换成目标数据的过程包括步骤:
S11:查询判断源数据是否为原始数组定义,若是则将源数据透明传输至指定系统的目标数据存储地址中,否则进入下一步;
S12:取指定系统的所述目标数据地址,查询判断是否有基本源数据定义,如果有,系统则获取基本源数据作为目标数据进入下一步;否则系统将此目标数据记为0,并返回步骤S1直至获得目标数据的地址;
S13:查询判断步骤S2中获取的基本源数据是否有高位扩展,有则获取基本源数据的高位扩展数据,然后将目标数据与高位扩展数据合并作为新的目标数据再次进行查询判断所述新的目标数据是否有高位拓展,直至判断出新的目标数据不具有小数扩展数后进入下一步,否则直接进入下一步;
S14:查询判断步骤S2中获取的基本源数据是否有小数扩展,有则获取基本源数据的小数扩展数据,然后合并目标数据和小数扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有小数扩展,直至判断出新的目标数据不具有小数扩展后进入下一步,否则直接进入下一步;
S15:查询判断步骤S2中获取的基本源数据是否有指数扩展,有则获取基本源数据的指数扩展数据,然后合并目标数据和指数扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有指数扩展,直至判断出新的目标数据不具有指数扩展后进入下一步,否则直接进入下一步;
S16:查询判断步骤S2中获取的基本源数据是否有符合扩展,有则获取基本源数据的符号扩展数据,然后合并目标数据和符号扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有符号扩展,直至判断出新的目标数据不具有符号扩展后进入下一步,否则直接进入下一步;
S17:检查判断是否所有的目标数据均处理完,若完成则返回所有目标数据地址以及对应的目标数据,否则重复步骤S2~S6;
目标数据转换成源数据的过程包括步骤:
S21:查询判断目标数据是否为数组定义,若是则按目标数据地址的映射直接发送至Modbus设备,否则进入下一步;
S22:任意取一目标数据,查询判断其是否有基本数据映射,有则将映射的基本数据进行数据处理后进入下一步,否则丢弃该数据,并记录该数据的连续地址;
S23:查询判断步骤S22中的基本数据是否有高位扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S24:查询判断步骤S22中的基本数据是否有小数扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S25:查询判断步骤S22中的基本数据是否有指数扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S26:查询判断步骤S22中的基本数据是否有符号扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S27:检查判断是否取完所有的目标数据,若取完,则进入下一步,否则,重复步骤S21~S26;
S28:判断步骤S21~S26过程中是否有数据需要拼接,若有则综合步骤S22~S26过程中数据处理产生的拼接记录向Modbus设备发出读取命令后读取这些需要拼接的数据,并一一进行拼接操作;
S29:将步骤S28的所有拼接数据拼接完成后,将所有处理完成的数据按地址的映射关系发送至Modbus设备。
进一步的,步骤S22~S26的所述数据处理包括步骤:
将目标数据转换后形成源数据的Modbus地址和数据本身一一对应形成键-值对,并记录保存至存储器;
检查判断所有需要写入的源数据是否为Modbus整字,若不是整字则进入下一步,否则结束数据处理操作;
将源数据地址和需要拼接数据部分的bit序列记录保存至存储器,然后结束数据处理操作。
进一步的,在源数据转换成目标数据,或目标数据转换成源数据前,方法还包括寄存器映射过程,具体步骤为:
通过所述目标数据属性描述数据库查找一个目标数据在所述Modbus设备上的的所有映射寄存器;
将所述寄存器计入寄存器列表中;
检查是否查找完所有的目标数据,是则返回寄存器列表,否则重新从所述目标数据属性描述数据库中查找目标数据的映射寄存器。
进一步的,在源数据转换成目标数据,或目标数据转换成源数据前,方法还包括寄存器分类和排序过程,具体步骤为:
对所述寄存器列表从地址低位至地址高位进行排序;
对寄存器列表中的寄存器地址进行查重,删除所述寄存器列表中重复的寄存器地址;
判断寄存器的地址是否连续,若连续,则将地址连续的寄存器连接进行分割,得到寄存器列表的子列表,并将得到的所述子列表均放入一个新的母列表中,所述母列表中含有若干内部地址连续寄存器的所述子列表,并返回所述母列表。
进一步的,在源数据转换成目标数据,或目标数据转换成源数据前,方法还包括所述源数据收发模块接收源数据的过程,具体步骤为:
设定一时间阈值,判断所述源数据收发模块接收Modbus设备接收源数据后返回的数据是否超时;
若超时,则抛出异常并返回,否则对收到的Modbus设备发送的数据进行解析,源数据收发模块将寄存器与对应读取到的寄存器内部的数值作相关联操作;
将所有解析后得到的数据存储至一数据列表中,并返回数据列表。
与现有技术相比,本发明的有益效果为:能够实现新型号的Modbus设备的快速适配,简化或消除对这一特定的设备型号进行开发适配工作;能够为Modbus终端设备在生命周期内在物联网平台上提供统一的管理,降低了产品使用难度和技术门槛,从而可以促进物联网及其产品的推广;能够将工业上已广泛使用的Modbus设备接入物联网平台,丰富了物联网平台的使用场景,方便物联网应用在工业上的开发与运用,为新的商务模式提供了良好的平台条件。
附图说明
图1为本发明所述源数据与目标数据相互转换的Modbus适配器的实现方法的轮询流程框图示意;
图2为本发明轮询过程中寄存器映射流程框图示意;
图3为本发明轮询过程中寄存器分类排序流程框图示意;
图4为本发明轮询过程中接收源数据的流程框图示意;
图5为本发明所述源数据转换成目标数据的流程框图示意;
图6为本发明所述目标数据转换成源数据的流程框图示意。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
传感/执行应用数据是指一个完整的可供应用系统直接操作的数据;Modbus数据是指用一个数据地址(包括保持寄存器、输入寄存器、继电器和离散输入)、多个数据地址或一个数据地址的一部分来表示的数据,这些Modbus数据包括线圈(Coils)、离散输入(Discrete Inputs)、输入寄存器(Input Registers)、保持寄存器(Holding Registers);本发明将Modbus数据作为源数据,传感/执行数据作为目标数据提供一种源数据与目标数据相互转换的方法,方法由目标数据属性描述库、源数据收发模块、目标数据收发模块、收发控制模块以及数据转换模块构成的转换系统实现;此方法在转换过程屏蔽了源数据处理的细节,使得应用可以直接使用这些数据所表达的传感/执行信息,简化了应用程序的开发,接下来本发明具体结合图1~图6来对提供的源数据与目标数据相互转换的Modbus适配器的实现方法进行描述。
参阅图1,图示为本发明源数据与目标数据相互转换的Modbus适配器的实现方法的轮询流程图,从中可知,轮询过程包括:
寄存器映射:根据要读取的目标数据进行寄存器的映射,结合图2,寄存器的映射的具体过程为,首先,通过目标数据属性描述数据库查找一个目标数据在Modbus设备上的的所有映射寄存器;然后将寄存器计入寄存器列表中;最后检查是否查找完所有的目标数据,是则返回寄存器列表,否则重新从所述目标数据属性描述数据库中查找目标数据的映射寄存器,实现目标数据寄存器的映射。
寄存器地址的分类和排序:在对寄存器映射操作完成后,需要对寄存器地址进行分类和排序,结合图3,具体过程为首先,对所述寄存器列表从地址低位至地址高位进行排序;然后,对寄存器列表中的寄存器地址进行查重,删除所述寄存器列表中重复的寄存器地址;最后,判断寄存器的地址是否连续,若连续,则将地址连续的寄存器连接进行分割,得到寄存器列表的子列表,并将得到的所述子列表均放入一个新的母列表中,所述母列表中含有若干内部地址连续寄存器的所述子列表,并返回所述母列表,完成寄存器地址的分类和排序操作。
接收Modbus设备的返回数据:在对寄存器的地址进行分类和排序后,则可生成Modbus轮询帧,此时,通过源数据收发模块将Modbus轮询帧发送至Modbus设备,Modbus设备会在接收到Modbus轮询帧后向源数据收发模块反馈回一个数据,此时源数据收发模块会接收此数据,具体过程可参阅图4,从图中可知,源数据收发模块接收Modbus设备反馈回来的数据的过程为:设定一时间阈值,判断所述源数据收发模块接收Modbus设备接收源数据后返回的数据是否超时,若超时,则抛出异常并返回,否则对收到的Modbus设备发送的数据进行解析,源数据收发模块将寄存器与对应读取到的寄存器内部的数值作相关联操作;随后,将所有解析后得到的数据存储至一数据列表中,并返回数据列表,完成源数据收发模块对Modbus设备反馈数据的接收操作。
在本发明实施例中,在轮询完成后,则进行数据的组装上传,组装上传可以将源数据转换成目标数据,也可以是将目标数据转换成源数据,其中,源数据转换成目标数据的过程可参阅图5,具体包括步骤:S11:查询判断源数据是否为原始数组定义,若是则将源数据透明传输至指定系统的目标数据存储地址中,否则进入下一步;S12:取指定系统的所述目标数据地址,查询判断是否有基本源数据定义,如果有,系统则获取基本源数据作为目标数据进入下一步;否则系统将此目标数据记为0,并返回步骤S1直至获得目标数据的地址;S13:查询判断步骤S2中获取的基本源数据是否有高位扩展,有则获取基本源数据的高位扩展数据,然后将目标数据与高位扩展数据合并作为新的目标数据再次进行查询判断所述新的目标数据是否有高位拓展,直至判断出新的目标数据不具有小数扩展数后进入下一步,否则直接进入下一步;S14:查询判断步骤S2中获取的基本源数据是否有小数扩展,有则获取基本源数据的小数扩展数据,然后合并目标数据和小数扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有小数扩展,直至判断出新的目标数据不具有小数扩展后进入下一步,否则直接进入下一步;S15:查询判断步骤S2中获取的基本源数据是否有指数扩展,有则获取基本源数据的指数扩展数据,然后合并目标数据和指数扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有指数扩展,直至判断出新的目标数据不具有指数扩展后进入下一步,否则直接进入下一步;S16:查询判断步骤S2中获取的基本源数据是否有符合扩展,有则获取基本源数据的符号扩展数据,然后合并目标数据和符号扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有符号扩展,直至判断出新的目标数据不具有符号扩展后进入下一步,否则直接进入下一步;S17:检查判断是否所有的目标数据均处理完,若完成则返回所有目标数据地址以及对应的目标数据,否则重复步骤S2~S6。
目标数据转换成源数据的过程可参阅图6,具体包括步骤:
S21:查询判断目标数据是否为数组定义,若是则按目标数据地址的映射直接发送至Modbus设备,否则进入下一步;
S22:任意取一目标数据,查询判断其是否有基本数据映射,有则将映射的基本数据进行数据处理后进入下一步,否则丢弃该数据,并记录该数据的连续地址;
S23:查询判断步骤S22中的基本数据是否有高位扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S24:查询判断步骤S22中的基本数据是否有小数扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S25:查询判断步骤S22中的基本数据是否有指数扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S26:查询判断步骤S22中的基本数据是否有符号扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S27:检查判断是否取完所有的目标数据,若取完,则进入下一步,否则,重复步骤S21~S26;
S28:判断步骤S21~S26过程中是否有数据需要拼接,若有则综合步骤S22~S26过程中数据处理产生的拼接记录向Modbus设备发出读取命令后读取这些需要拼接的数据,并一一进行拼接操作;
S29:将步骤S28的所有拼接数据拼接完成后,将所有处理完成的数据按地址的映射关系发送至Modbus设备。
实施例中,在将目标数据转换成源数据的步骤S22~S26中的数据处理具体过程为:首先,将目标数据转换后形成源数据的Modbus地址和数据本身一一对应形成键-值对,并记录保存至存储器;然后,检查判断所有需要写入的源数据是否为Modbus整字,若不是整字则进入下一步,否则结束数据处理操作;最后,将源数据地址和需要拼接数据部分的bit序列记录保存至存储器,结束数据处理操作。
实施例中,源数据与目标数据之间的相互转换过程中可进行扩展的原因是对源数据或目标数据建立了扩展权值计算。
本发明提供的源数据与目标数据相互转换的Modbus适配器的实现方法可以通过组合、分解或者组合/分解结合的方式实现源数据与目标数据之间的相互转换。
在本发明实施例中,一个目标数据至少有一个对应的基本源数据,而一个源数据至少对应一个目标数据,至多对应16份目标数据;并且在多个源数据对应一个目标数据时,源数据的Modbus数据地址既可以是连续的,也可以是不连续的;在源数据转换成目标数据的过程中,当源数据带有符号时,且符号单独作为一个源数据给出时,也可以完整地形成对应的目标数据;而且当源数据为小数时,且源数据分别用小数和整数分别表示时,可以形成完整的包括小数和整数部分的目标数据。
本发明的源数据与目标数据之间的相互转换方法既适用于Modbus-TCP协议,也适用于Modbus-RTU协议。
与现有技术相比,本发明的有益效果为:能够实现新型号的Modbus设备的快速适配,简化或消除对这一特定的设备型号进行开发适配工作;能够为Modbus终端设备在生命周期内在物联网平台上提供统一的管理,降低了产品使用难度和技术门槛,从而可以促进物联网及其产品的推广;能够将工业上已广泛使用的Modbus设备接入物联网平台,丰富了物联网平台的使用场景,方便物联网应用在工业上的开发与运用,为新的商务模式提供了良好的平台条件。
以上仅为本发明的较佳实施例,但并不限制本发明的专利范围,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

Claims (5)

1.源数据与目标数据相互转换的Modbus适配器的实现方法,通过将Modbus数据作为源数据,将传感/执行数据作为目标数据,实现Modbus数据与传感/执行数据之间的相互转换,其特征在于,方法由目标数据属性描述库、源数据收发模块、目标数据收发模块、收发控制模块以及数据转换模块构成的转换系统实现;方法包括将源数据转换成目标数据以及将目标数据转换成源数据的过程;其中,源数据转换成目标数据的过程包括步骤:
S11:查询判断源数据是否为原始数组定义,若是则将源数据透明传输至指定系统的目标数据存储地址中,否则进入下一步;
S12:取指定系统的所述目标数据地址,查询判断是否有基本源数据定义,如果有,系统则获取基本源数据作为目标数据进入下一步;否则系统将此目标数据记为0,并返回步骤S1直至获得目标数据的地址;
S13:查询判断步骤S2中获取的基本源数据是否有高位扩展,有则获取基本源数据的高位扩展数据,然后将目标数据与高位扩展数据合并作为新的目标数据再次进行查询判断所述新的目标数据是否有高位拓展,直至判断出新的目标数据不具有小数扩展数后进入下一步,否则直接进入下一步;
S14:查询判断步骤S2中获取的基本源数据是否有小数扩展,有则获取基本源数据的小数扩展数据,然后合并目标数据和小数扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有小数扩展,直至判断出新的目标数据不具有小数扩展后进入下一步,否则直接进入下一步;
S15:查询判断步骤S2中获取的基本源数据是否有指数扩展,有则获取基本源数据的指数扩展数据,然后合并目标数据和指数扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有指数扩展,直至判断出新的目标数据不具有指数扩展后进入下一步,否则直接进入下一步;
S16:查询判断步骤S2中获取的基本源数据是否有符合扩展,有则获取基本源数据的符号扩展数据,然后合并目标数据和符号扩展数形成新的目标数据,并再次进行查询判断所述新的目标数据是否具有符号扩展,直至判断出新的目标数据不具有符号扩展后进入下一步,否则直接进入下一步;
S17:检查判断是否所有的目标数据均处理完,若完成则返回所有目标数据地址以及对应的目标数据,否则重复步骤S2~S6;
目标数据转换成源数据的过程包括步骤:
S21:查询判断目标数据是否为数组定义,若是则按目标数据地址的映射直接发送至Modbus设备,否则进入下一步;
S22:任意取一目标数据,查询判断其是否有基本数据映射,有则将映射的基本数据进行数据处理后进入下一步,否则丢弃该数据,并记录该数据的连续地址;
S23:查询判断步骤S22中的基本数据是否有高位扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S24:查询判断步骤S22中的基本数据是否有小数扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S25:查询判断步骤S22中的基本数据是否有指数扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S26:查询判断步骤S22中的基本数据是否有符号扩展,有则对改基本数据进行数据处理后进入下一步,否则直接进入下一步;
S27:检查判断是否取完所有的目标数据,若取完,则进入下一步,否则,重复步骤S21~S26;
S28:判断步骤S21~S26过程中是否有数据需要拼接,若有则综合步骤S22~S26过程中数据处理产生的拼接记录向Modbus设备发出读取命令后读取这些需要拼接的数据,并一一进行拼接操作;
S29:将步骤S28的所有拼接数据拼接完成后,将所有处理完成的数据按地址的映射关系发送至Modbus设备。
2.根据权利要求1所述的源数据与目标数据相互转换的Modbus适配器的实现方法,其特征在于,步骤S22~S26的所述数据处理包括步骤:
将目标数据转换后形成源数据的Modbus地址和数据本身一一对应形成键-值对,并记录保存至存储器;
检查判断所有需要写入的源数据是否为Modbus整字,若不是整字则进入下一步,否则结束数据处理操作;
将源数据地址和需要拼接数据部分的bit序列记录保存至存储器,然后结束数据处理操作。
3.根据权利要求1所述的源数据与目标数据相互转换的Modbus适配器的实现方法,其特征在于,在源数据转换成目标数据,或目标数据转换成源数据前,方法还包括寄存器映射过程,具体步骤为:
通过所述目标数据属性描述数据库查找一个目标数据在所述Modbus设备上的的所有映射寄存器;
将所述寄存器计入寄存器列表中;
检查是否查找完所有的目标数据,是则返回寄存器列表,否则重新从所述目标数据属性描述数据库中查找目标数据的映射寄存器。
4.根据权利要求3所述的源数据与目标数据相互转换的Modbus适配器的实现方法,其特征在于,在源数据转换成目标数据,或目标数据转换成源数据前,方法还包括寄存器分类和排序过程,具体步骤为:
对所述寄存器列表从地址低位至地址高位进行排序;
对寄存器列表中的寄存器地址进行查重,删除所述寄存器列表中重复的寄存器地址;
判断寄存器的地址是否连续,若连续,则将地址连续的寄存器连接进行分割,得到寄存器列表的子列表,并将得到的所述子列表均放入一个新的母列表中,所述母列表中含有若干内部地址连续寄存器的所述子列表,并返回所述母列表。
5.根据权利要求1所述的源数据与目标数据相互转换的Modbus适配器的实现方法,其特征在于,在源数据转换成目标数据,或目标数据转换成源数据前,方法还包括所述源数据收发模块接收源数据的过程,具体步骤为:
设定一时间阈值,判断所述源数据收发模块接收Modbus设备接收源数据后返回的数据是否超时;
若超时,则抛出异常并返回,否则对收到的Modbus设备发送的数据进行解析,源数据收发模块将寄存器与对应读取到的寄存器内部的数值作相关联操作;
将所有解析后得到的数据存储至一数据列表中,并返回数据列表。
CN201810567636.2A 2018-06-05 2018-06-05 源数据与目标数据相互转换的Modbus适配器的实现方法 Active CN108763127B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810567636.2A CN108763127B (zh) 2018-06-05 2018-06-05 源数据与目标数据相互转换的Modbus适配器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810567636.2A CN108763127B (zh) 2018-06-05 2018-06-05 源数据与目标数据相互转换的Modbus适配器的实现方法

Publications (2)

Publication Number Publication Date
CN108763127A true CN108763127A (zh) 2018-11-06
CN108763127B CN108763127B (zh) 2021-06-04

Family

ID=63999957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810567636.2A Active CN108763127B (zh) 2018-06-05 2018-06-05 源数据与目标数据相互转换的Modbus适配器的实现方法

Country Status (1)

Country Link
CN (1) CN108763127B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502668A (zh) * 2019-10-08 2019-11-26 福建亿能达信息技术股份有限公司 一种CN-DRGs与C-DRG的自动映射和转换方法
CN114205179A (zh) * 2021-12-14 2022-03-18 国网江苏省电力有限公司常州供电分公司 一种Modbus通信优化方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862391A (en) * 1996-04-03 1999-01-19 General Electric Company Power management control system
CN1482782A (zh) * 2003-06-20 2004-03-17 上海大学 Modbus/tcp工业以太网和设备网现场总线间的协议转换方法和装置
CN101388889A (zh) * 2008-10-23 2009-03-18 上海大学 一种多协议总线之间的转换方法
US20100030935A1 (en) * 2008-07-31 2010-02-04 Ametek, Inc. Modbus Register Data Reformatting
CN101977167A (zh) * 2010-10-25 2011-02-16 深圳市兆讯达科技实业有限公司 无线传感器网络接入Modbus总线的网关通信协议转换方法
CN103457845A (zh) * 2013-09-09 2013-12-18 江南大学 可配置多协议转换技术
CN103825883A (zh) * 2014-01-16 2014-05-28 燕山大学 基于无线ZigBee、CAN总线和MODBUS/TCP的多协议转换设备及其实现方法
CN104506516A (zh) * 2014-12-19 2015-04-08 平顶山中选自控系统有限公司 一种Modbus RTU/ASCII和Modbus TCP通信协议转换的网关及其实现方法
CN104539502A (zh) * 2015-01-26 2015-04-22 北海恒久天成技术开发有限公司 一种自定义添加modbus设备的方法
CN106790222A (zh) * 2017-01-12 2017-05-31 重庆邮电大学 一种modbus/全互联制造网络信息服务适配器及其实现方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862391A (en) * 1996-04-03 1999-01-19 General Electric Company Power management control system
CN1482782A (zh) * 2003-06-20 2004-03-17 上海大学 Modbus/tcp工业以太网和设备网现场总线间的协议转换方法和装置
US20100030935A1 (en) * 2008-07-31 2010-02-04 Ametek, Inc. Modbus Register Data Reformatting
CN101388889A (zh) * 2008-10-23 2009-03-18 上海大学 一种多协议总线之间的转换方法
CN101977167A (zh) * 2010-10-25 2011-02-16 深圳市兆讯达科技实业有限公司 无线传感器网络接入Modbus总线的网关通信协议转换方法
CN103457845A (zh) * 2013-09-09 2013-12-18 江南大学 可配置多协议转换技术
CN103825883A (zh) * 2014-01-16 2014-05-28 燕山大学 基于无线ZigBee、CAN总线和MODBUS/TCP的多协议转换设备及其实现方法
CN104506516A (zh) * 2014-12-19 2015-04-08 平顶山中选自控系统有限公司 一种Modbus RTU/ASCII和Modbus TCP通信协议转换的网关及其实现方法
CN104539502A (zh) * 2015-01-26 2015-04-22 北海恒久天成技术开发有限公司 一种自定义添加modbus设备的方法
CN106790222A (zh) * 2017-01-12 2017-05-31 重庆邮电大学 一种modbus/全互联制造网络信息服务适配器及其实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502668A (zh) * 2019-10-08 2019-11-26 福建亿能达信息技术股份有限公司 一种CN-DRGs与C-DRG的自动映射和转换方法
CN114205179A (zh) * 2021-12-14 2022-03-18 国网江苏省电力有限公司常州供电分公司 一种Modbus通信优化方法

Also Published As

Publication number Publication date
CN108763127B (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN105608088B (zh) 一种基于配置文件的数据库自动创建与数据动态记录方法
CN110309196A (zh) 区块链数据存储和查询方法、装置、设备及存储介质
CN103064933B (zh) 数据查询方法及系统
CN108667725A (zh) 一种基于多种接入及边缘计算的工业软网关以及实现方法
CN103944813A (zh) 一种实现通用适配功能的网关及方法
CN106326243B (zh) 一种数据处理方法及装置
CN104090901A (zh) 一种对数据进行处理的方法、装置及服务器
CN112464632B (zh) 一种excel报表下的表格样式动态存储及转化方法
CN109618250B (zh) 一种光纤网络节点管理方法及系统
CN109634644A (zh) 通过无线通信为传感器进行固件升级的方法及其设备
CN103117881A (zh) 一种物联网资源管理系统
CN107193917A (zh) 基于iid的全站系统配置文件无损数据更新方法
CN110019111A (zh) 数据处理方法、装置、存储介质以及处理器
CN108763127A (zh) 源数据与目标数据相互转换的Modbus适配器的实现方法
AU2024201063A1 (en) A system for improved data storage and retrieval
CN102315930A (zh) 用于在数据同步中减少数据传输量的方法和系统
CA3062397A1 (en) A system for improved data storage and retrieval
CN114513410A (zh) 一种设备快速接入物联网平台的方法和系统
CN109656997A (zh) 工业互联网大数据服务平台系统和服务方法
CN101635711B (zh) 可编程字符通讯方法
CN103457957B (zh) 一种具有自适应功能的网络渗透测试系统及方法
CN106776372B (zh) 基于fpga的仿真数据存取方法及装置
CN116743790A (zh) 设备数据采集、设备数据分析方法、装置和计算机设备
CN101425079B (zh) Nv数据处理方法和装置
CN103023810A (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