CN109635458A - 一种通用物联网软网关的设计方法 - Google Patents
一种通用物联网软网关的设计方法 Download PDFInfo
- Publication number
- CN109635458A CN109635458A CN201811544486.XA CN201811544486A CN109635458A CN 109635458 A CN109635458 A CN 109635458A CN 201811544486 A CN201811544486 A CN 201811544486A CN 109635458 A CN109635458 A CN 109635458A
- Authority
- CN
- China
- Prior art keywords
- address
- read
- write
- things
- internet
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Signal Processing (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种通用物联网软网关的设计方法,其包括:制定设备通讯地址规约方式,以统一地址编码方式,获得读写地址参数;设计读写物联网设备的接口,用于根据读写地址参数对设备地址排序,批量读写不同类型的数据;设计调度模块,批量轮询物联网设备,按固定周期对设备地址执行扫描,比对各地址数据与上一周期数值的异同,获取当前数据发生改变的地址及相关信息,即可批量向上位机推送。本发明解决了当前工业控制及物联网领域缺少通用的通讯方法的问题,规约了各类物联网设备地址、集成了各类通讯协议。
Description
技术领域
本发明涉及电子通信技术领域,特别涉及一种通用物联网软网关的设计方法。
背景技术
网关是物联网和工控系统的核心组件。网关起的是承上启下的作用。上即上位机,电脑/触屏监控系统、MES这些;下即下位机,包括PLC、传感器、嵌入式芯片等。现有软网关多为国外专有技术,面对物联网设备及相关通讯协议的迅速增多,国内目前仍 缺乏自主知识产权的软网关产品。软网关设计需要解决如下几个关键问题:
不同类型的下位机设备,其采用的地址规约方式各异。如西门子S7系列PLC包含DB块、IO输入区等;Modbus 设备包含多种功能码,分别读写保持寄存器和逻辑寄存器等;ABControlLogix 系列PLC 的地址则采用标签命名法则。
各类下位机设备遵循的通讯协议不同。目前主流的通讯协议包括Modbus、Profibus、CCLink、DeviceNet等。不同协议的读写方式差别很大。
通讯的效率问题。各PLC及下位机设备厂商,其自有网关产品对其自有设备均有针对性的读写优化措施,但多数并不公开;而如果通用网关产品不对读写进行优化,其通讯效率是极低的。
发明内容
针对现有技术中存在的上述技术问题,本发明提供一种通用物联网软网关的设计方法,规约各类物联网设备地址、集成各类通讯协议,优化了对物联网设备的读写方法。
为解决上述技术问题,本发明的实施例采用的技术方案是:
一种通用物联网软网关的设计方法,其包括:
步骤1,制定设备通讯地址规约方式,以统一地址编码方式,获得读写地址参数;
步骤2,设计读写物联网设备的接口,用于根据读写地址参数对设备地址排序,批量读写不同类型的数据;
步骤3,设计调度模块,批量轮询物联网设备,按固定周期对设备地址执行扫描,比对各地址数据与上一周期数值的异同,获取当前数据发生改变的地址及相关信息,即可批量向上位机推送。
优选的,步骤1中根据设备地址的共性特征,将设备地址抽象为区域Area、块Block、起始地址Start、位号Bit四个逐级嵌套的层级。
优选的,区域Area,可抽象为不同的地址空间,对应Modbus为Slave地址,对应S7PLC为功能区;
块Block,对应Modbus为功能码,对应S7 PLC为DB块号;
起始地址Start,即区块内的地址偏移量;
位号Bit,即对应地址内的位偏移。
优选的,步骤2中按照设备地址层级以及起始地址、位号的次序,对设备地址排序。
优选的,步骤2中接口包含读32位整数、读16位整数、读浮点数、读逻辑位、读字符串、写32位整数、写16位整数、写浮点数、写逻辑位和写字符串功能,且均带有一个抽象的地址参数。
优选的,步骤3中该调度模块检测物联网设备的连接状态,如当前已连接即可调度,如断开转入异常处理,并对于错误的地址、错误的返回数据可提示并记录日志。
优选的,所述读写物联网设备的接口中,在协议数据单元PDU范围内,按地址顺序批量读/写数据块,实现对设备数据的批量读写。
优选的,特定义接口IBatch,包含ReadMultiple(针对批量读设备地址),WriteMultiple(针对批量写设备地址)两个方法,参数均为设备地址DeviceAddress数组。可根据传来的地址数组排序,归结到尽可能小的PDU块以内,批量读入/写入。
优选的,对于批量读入,因设备返回的数据包将包含连续地址空间的所有数据,需要再根据DeviceAddress数组进行拆包,提取出对应于所需地址的数据。
优选的,调度模块为定时器。
有益效果
本发明解决了当前工业控制及物联网领域缺少通用的通讯方法的问题。通过设计通用的通讯地址规约、通用的批量轮询物联网设备的调度模块、通用的读写物联网设备的接口、通用的读写优化模块,规约了各类物联网设备地址、集成了各类通讯协议。
附图说明
图1是本发明的通用物联网软网关的设计方法流程图。
具体实施方式
本发明提供一种通用物联网软网关的设计方法,其包括:
步骤1,制定设备通讯地址规约方式,以统一地址编码方式,获得读写地址参数。为了实现通用的物联网设备的读写,需要对设备的地址进行规约。定义一个通用的地址规约结构DeviceAddress。该结构的设计原理为:物联网设备的地址结构,一般包含至多不超过四个逐级嵌套的层级:即区域Area,可抽象为不同的地址空间,对应Modbus为Slave地址,对应S7PLC为功能区(如I,O,M,DB区);Area包含区块Block,对应Modbus为功能码,对应S7 PLC为DB块号;起始地址Start,即区块内的地址偏移量;位号Bit,即对应地址内的位偏移。规约之后可实现的功能包括:一种统一的地址编码方式,可作为通用化读写地址的参数;可对地址进行排序,以此为基础可实现通用的批量读写优化手段;可统一对地址进行编码和解码,只要在设备地址中寻找与DeviceAddress结构对应的映射关系,在此基础上设计通用的地址编码/解码组件。
步骤2,设计读写物联网设备的接口,用于根据读写地址参数对设备地址排序,批量读写不同类型的数据。为了设计通用的软网关,首先抽取各类物联网、PLC设备的共性。即:可连接性,可读写性。可连接性即设备之间必须通过总线、网络联接,联接可抽象为一个IConnect接口,包含Connect方法(负责设备的连接),OnErro方法(在设备断开后触发,可自定义处理方式),Dispose方法(用于断开连接,释放资源),IsClosed属性(指示当前设备是否断开连接),TimeOut属性(定义连接超时),Server属性(指定连接对象的地址,如IP地址,服务器名等)。这一接口代表了物联网设备的共性,可实现的功能包括:调用Connect方法,根据Server属性连接设备;根据Timeout属性判断是否连接超时;连接断开或连接出错后转入OnError异常处理;根据IsClosed判断连接是否断开,断开可调用Connect方法重新连接;心跳检测;强制断开连接并释放资源(调用Dispose方法)。可读写性即设备均具备可读、可写的特性。连接成功之后,即可对设备的地址进行读写操作。根据地址包含数据类型的不同,设计接口抽象为IReadWrite接口,包含ReadInt32(读32位整数),ReadInt16(读16位整数),ReadFloat(读浮点数),ReadBool(读逻辑位),ReadString(读字符串),WriteInt32(写32位整数),WriteInt16(写16位整数),WriteFloat(写浮点数),WriteBool(写逻辑位),WriteString(写字符串)。所有上述接口方法,均包含一个抽象的地址参数DeviceAddress。该接口实现的功能即根据设备的地址进行读写。
步骤3,设计调度模块,批量轮询物联网设备,按固定周期对设备地址执行扫描,比对各地址数据与上一周期数值的异同,获取当前数据发生改变的地址及相关信息,即可批量向上位机推送。要实现对物联网设备的读写优化,考虑到物联网设备普遍的读写瓶颈在于通信往返的时间,如对串口通讯而言,性能瓶颈为串口的波特率;对工业以太网通讯而言,性能瓶颈在于设备的读写周期。因此要实现通用的优化手段,应着眼于最大限度减少通讯往返次数,因此必须实现批量读、写功能。但必须考虑地址分布可能是不连续的,地址空间是离散的。而且一次读写的最大单元PDU,各个设备均不相同。为实现批量读写,就需要按照地址规约,对地址进行排序,在PDU范围内包含最大限度的地址数量,保证每次与设备通讯可读入/写入尽可能多的地址。特定义接口IBatch,包含ReadMultiple(针对批量读设备地址),WriteMultiple(针对批量写设备地址)两个方法,参数均为设备地址DeviceAddress数组。可根据传来的地址数组排序,归结到尽可能小的PDU块以内,批量读入/写入。对于读入,因设备返回的数据包将包含连续地址空间的所有数据,需要再根据DeviceAddress数组进行拆包,提取出对应于所需地址的数据。目前绝大部分物联网设备采用请求-响应模式,而非订阅-发布模式,为通用性考虑,对物联网设备的读写采用轮询方式。调度模块按照所需读写的地址集,按照设定的轮询周期,定时请求数据,执行批量读入;根据读入结果,比对上一个轮询周期各地址的数据,即可获取当前数据已改变的地址、数据、时间戳等信息,便于批量向上位机推送;该模块能够检测物联网设备的连接状态,如当前已连接即可调度,如断开转入异常处理。对于错误的地址、错误的返回数据可提示并记录日志。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (10)
1.一种通用物联网软网关的设计方法,其特征在于,包括:
步骤1,制定设备通讯地址规约方式,以统一地址编码方式,获得读写地址参数;
步骤2,设计读写物联网设备的接口,用于根据读写地址参数对设备地址排序,批量读写不同类型的数据;
步骤3,设计调度模块,批量轮询物联网设备,按固定周期对设备地址执行扫描,比对各地址数据与上一周期数值的异同,获取当前数据发生改变的地址及相关信息,即可批量向上位机推送。
2.如权利要求1所述的通用物联网软网关的设计方法,其特征在于,步骤1中根据设备地址的共性特征,将设备地址抽象为区域Area、块Block、起始地址Start、位号Bit四个逐级嵌套的层级。
3.如权利要求2所述的通用物联网软网关的设计方法,其特征在于,
区域Area,可抽象为不同的地址空间,对应Modbus为Slave地址,对应S7 PLC为功能区;
块Block,对应Modbus为功能码,对应S7 PLC为DB块号;
起始地址Start,即区块内的地址偏移量;
位号Bit,即对应地址内的位偏移。
4.如权利要求1所述的通用物联网软网关的设计方法,其特征在于,步骤2中按照设备地址层级以及起始地址、位号的次序,对设备地址排序。
5.如权利要求1所述的通用物联网软网关的设计方法,其特征在于,步骤2中接口包含读32位整数、读16位整数、读浮点数、读逻辑位、读字符串、写32位整数、写16位整数、写浮点数、写逻辑位和写字符串功能,且均带有一个抽象的地址参数。
6.如权利要求1所述的通用物联网软网关的设计方法,其特征在于,步骤3中该调度模块检测物联网设备的连接状态,如当前已连接即可调度,如断开转入异常处理,并对于错误的地址、错误的返回数据可提示并记录日志。
7.如权利要求1所述的通用物联网软网关的设计方法,其特征在于,所述读写物联网设备的接口中,在协议数据单元PDU范围内,按地址顺序批量读/写数据块,实现对设备数据的批量读写。
8.如权利要求7所述的通用物联网软网关的设计方法,其特征在于,特定义接口包含针对批量读设备地址和针对批量写设备地址两个方法,参数均为设备地址数组,并可根据传来的地址数组排序,归结到尽可能小的PDU块以内,批量读入/写入。
9.如权利要求8所述的通用物联网软网关的设计方法,其特征在于,对于批量读入,因设备返回的数据包将包含连续地址空间的所有数据,需要再根据设备地址数组进行拆包,提取出对应于所需地址的数据。
10.如权利要求1所述的通用物联网软网关的设计方法,其特征在于,调度模块为定时器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811544486.XA CN109635458B (zh) | 2018-12-17 | 2018-12-17 | 一种通用物联网软网关的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811544486.XA CN109635458B (zh) | 2018-12-17 | 2018-12-17 | 一种通用物联网软网关的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109635458A true CN109635458A (zh) | 2019-04-16 |
CN109635458B CN109635458B (zh) | 2023-05-12 |
Family
ID=66074885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811544486.XA Active CN109635458B (zh) | 2018-12-17 | 2018-12-17 | 一种通用物联网软网关的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635458B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111416778A (zh) * | 2020-03-16 | 2020-07-14 | 南京荣泰电气自动化有限公司 | 用于多设备物联网的单串口网关平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282016A1 (en) * | 2007-05-10 | 2008-11-13 | Liao Chun-Ting | Method for expediting data access of universal serial bus stoarage device |
CN104199895A (zh) * | 2014-08-26 | 2014-12-10 | 河南中医学院 | 一种基于双体内存系统的大数据实时排序处理器 |
CN106060180A (zh) * | 2016-08-24 | 2016-10-26 | 电子科技大学 | 一种针对IPv6的基于地理位置和应用信息的寻址方法 |
WO2018103579A1 (zh) * | 2016-12-07 | 2018-06-14 | 中兴通讯股份有限公司 | 抄表方法及装置、系统、通信网关 |
-
2018
- 2018-12-17 CN CN201811544486.XA patent/CN109635458B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282016A1 (en) * | 2007-05-10 | 2008-11-13 | Liao Chun-Ting | Method for expediting data access of universal serial bus stoarage device |
CN104199895A (zh) * | 2014-08-26 | 2014-12-10 | 河南中医学院 | 一种基于双体内存系统的大数据实时排序处理器 |
CN106060180A (zh) * | 2016-08-24 | 2016-10-26 | 电子科技大学 | 一种针对IPv6的基于地理位置和应用信息的寻址方法 |
WO2018103579A1 (zh) * | 2016-12-07 | 2018-06-14 | 中兴通讯股份有限公司 | 抄表方法及装置、系统、通信网关 |
Non-Patent Citations (1)
Title |
---|
江勇等: "基于物联网的水文监测系统设计", 《物联网技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111416778A (zh) * | 2020-03-16 | 2020-07-14 | 南京荣泰电气自动化有限公司 | 用于多设备物联网的单串口网关平台 |
Also Published As
Publication number | Publication date |
---|---|
CN109635458B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102802139A (zh) | 一种物联网网关数据适配系统及方法 | |
CN101344773B (zh) | 一种可编程序控制器plc及其扩展方法 | |
CN110166335B (zh) | EtherCAT从站与从站同步通讯方法、控制系统、设备及存储介质 | |
CN101592934A (zh) | 可编程逻辑控制器与扩展模块的通信方法 | |
CN111104272B (zh) | 一种基于rx和tx的can总线控制器测试方法 | |
CN101581964B (zh) | 计算机系统及外围设备驱动方法 | |
CN103957198A (zh) | 一种传感数据接收转换方法及系统 | |
CN104156333A (zh) | 一种基于fpga的uart多接口扩展系统和方法 | |
CN101221550A (zh) | 一种串行通讯的方法及芯片 | |
CN108388372B (zh) | 一种自适应触摸数据的方法、装置、设备及存储介质 | |
CN111459632A (zh) | 一种供终端应用程序调用的串口代理及实现方法 | |
CN1960276B (zh) | 远程控制系统及方法 | |
CN104965676A (zh) | 一种随机存取存储器的访问方法、装置及控制芯片 | |
CN110247936B (zh) | 一种通讯协议转换卡及通讯协议转换系统 | |
CN109635458A (zh) | 一种通用物联网软网关的设计方法 | |
CN103378994A (zh) | 一种通信设备的测试方法及终端 | |
CN101763324B (zh) | 设备模拟的实现方法和装置 | |
CN210155539U (zh) | 一种低成本的plc至数据库直传模块 | |
CN116566762B (zh) | 一种基于Modbus-RTU协议的级联设备及其使用方法 | |
CN102081455B (zh) | 转接器及计算机管理系统 | |
CN103226535A (zh) | 一种微服务器及其管理方法 | |
CN111665778B (zh) | 一种plc控制器与上位机快速通讯传输和数据处理的方法 | |
CN210986125U (zh) | 一种嵌入式工控一体机 | |
CN104123257A (zh) | 通用串行总线装置、通信方法及计算机可读存储介质 | |
CN107346180A (zh) | 一种基于单片机技术的ps2计算机键盘接口设计 |
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 |