系统介绍
如下图所示,网关采集终端数据,经解析,运算,组成网络报文后上送云端服务器。从下而上分别是设备数据采集层,数据缓存计算层,云端对接层。主要功能模块包括虚拟产品、设备管理,数据缓存,变量和数据区管理,系统配置,网络配置,还有Web Server。
网关功能模块
数据采集层
采集层对外接口主要是多路RS485,每一路都是独立的,同一路必须是同一类设备。例如第1路配置为Modbus-RTU,则要求对接的所有终端设备都支持Modbus-RTU,不能连接DLT-645协议的终端设备。假如第1、2路都配置为Modbus-RTU,同一路不能有一样的设备ID,不是同一路则可以。网关也支持Modbus-TCP采集功能,这时候网络接口既作为采集通道,也作为数据上行通道。
串口配置
如上图所示,数据采集层物理接口是串口,需要配置正确串口参数。软件上支持的协议有Modbus-RTU,DLT-645,transparent(透传),也需要用户指定。另外,还要指定外部连接的设备,指定的设备须要与实现环境中连接的设备一一对应。
数据上行层
网关支持多种数据上行协议,可以对接组态软件,上位机,各云物联网平台(可定制)。支持Modbus-TCP,MQTT, HTTP等协议。用户亦可为私有服务端定制对接协议。上行通道相互独立,不同通道可以同时读取同一个设备数据,写操作会进入队列,最终是串行处理,不会冲突,但是从业务一致性来看,用户应当避免多个上层应用写同一个设备数据。
网关核心层负责数据缓存,解析,设备状态管理,用户Web 页面人机交互,网络与系统配置等功能。所有采集的数据会缓存在内存,网络断开时采集的数据也不会丢弃,如果长期断开,可能导致系统资源不足,从而产生数据被丢弃的问题。网关业务数据缓存并不支持掉电保存,用户要避免业务运行过程中频繁重启网关。
用户修改配置后,需要重启相应服务才生效。如果是网络,产品,设备相关,建议一次性修改完成后,重启网关。采集服务,数据上行服务是两个独立的服务,修改相关配置,点击网页的“重启服务”即可生效。
产品与设备
为适配现实中众多不同的设备及种类,参考其它厂商物模型概念,网关实现了虚拟的产品和设备,产品定义了需要访问的设备的类型属性等,相当于设备模板。后面添加设备时,只要指定所属产品,并自动生成设备属性等信息,简化了部署过程。
物模型
用计算机编程的概念更好理解,产品相当于类,设备相当于类对象。产品只是某一类设备的描述,而设备才是真正的实体。如下图,产品的定义主要包括:产品基本描述,数据区,属性,遥测。
产品描述
- 产品基本描述:
包括产品名称,唯一标识,同一个网关多个产品的名称可以一样,标识是全局唯一的,不能重复。 - 数据区:
数据区的概念来自传统工业设备,数据在存储中都是二进制形式,需要有特定的描述软件才能取到在存储中的目标数据。如下图所示,指定了数据区的名称和唯一标识,指定了类型,地址,长度等,软件根据这些信息定位到数据存储位置,用正确的命令操作一定长度的数据内容。数据区配置
- 产品属性和遥测:
数据区的数据都是二进制形式,需要转换为用户能看得懂的内容,在传统工业领域,需要把数据转换为变量(属性)。如下图,每个属性有唯一标识,指定了数据区及位置,获取到数据后,根据值类型,字节数,字节序等描述转换为变量(属性)。产品属性
如下图,把二进制数据转换为浮点类型的温度值,还带有单位,这样普通用户就能理解数据的含义了。需要注意的是,遥测是电力行业和Thingsboard(开源物联网平台)中的概念,与属性大体一致,区别是遥测值只读不可写,遥测值会被物联网平台保存为时间序列,后续用户可以从时间维度上看到该属性的变化。
属性值
如前面描述,同一类设备都对应同一个产品描述,设备是具体的实物,通过RS485接口与网关连接。因为设备是实物,所以设备会有上图中的当前属性值,也有下图中的在线状态。
设备列表
(END)