在物业小区、楼宇大厦、市政交通、河流等诸多业务场景中,为了感知现场的环境的状况,用户会在场地中安装大量的水表、电表等计量设备, 温度、湿度、噪音等传感器,获得现场的各种数字信号。这类在最前端负责感知和测量的电子部件,在行业内被称为传感器。

在上述现场当中,用户安装了各类感知和测量的部件,获得现场的数字信号,但是这些传感器的数字信号不能直接使用的。通常,设备制造商 们,会为传感器制造相关的硬件设备,将传感器和电子设备集成为一个具有独立测量、控制能力,同时具有通信接口,能够被上层应用软件进 行管理的设备,这种自身具备测量、控制和通信的设备,在行业内被称为智能设备。

厂商们会根据具体智能设备和业务场景,开发相应的应用软件,对智能设备和业务进行管理。通过传感器、智能设备、上位机,用户实现从信号 到数据,数据到业务的管理转变。

智能设备和上位机之间的数据传输,需要通过各种通信接口来传输。
智能设备所提供的通信接口,同时包含物理层面和协议层面两个概念。
物理层面:通常称为物理接口,比如有线的RS232/485、以太网,无线的4G、LORA
协议层面:上位机和智能设备之间,光有物理连接是不够的,物理接口只是帮两种传递通信信号,但是对于信号的含义是什么,双方如何进行对话, 这是双方要约定好的。而这种约定,行业中称为通信协议。常见的通信协议有MODBUS、DLT645、CJ188,此外,设备制造商们还是自定义各种各样的 私有通信协议。

上位机和智能设备的接口,往往并不匹配,导致它们不能直接互通,此时,负责项目的集成商们,为了能让它们之间互相对话,通常会在两者之间加 装转换接口,这类负责转换的设备,行业称呼为通信适配器。
比如某智能设备提供的是LORA无线接口,但是上位机只有RS232接口,那么负责项目的集成商会购买LORA/RS232的适配器,接入上位机的RS232接口。 那么形成了智能设备(LORA)<--->(LORA)适配器(RS232)<--->(RS232)上位机的连接方式,这样通过通信适配器的转接,上位机和智能设备就能够通信 上了。
同样,通信协议也有适配器,比如智能设备使用的是DLT645协议,上位机的南向接口只支持MODBUS协议,那么会通过项目的集成商们,会想办法采购 DLT645/MODBUS的通信协议适配器,完成两者之间的协议转换。

在现场的智能设备数量和种类非常多的时候,通常上位机难以对下面的现场智能设备直接进行管理。
上位机的一个接口能够直接拖带的智能设备,物理接口的能力,在数量上是有限的,一般物理通信接口都有数量上的规定。
上位机主要聚焦在业务处理,南向通信只是必须配套的的一环,而现场设备的种类可能非常多,导致通信协议类型就非常之多,即使配上通信适配器, 在通信处理上,七国八制的复杂局面,也捉襟见肘。
上位机是面向业务处理的软件系统,它们并不要求24小时不间断运行。但是下面的智能设备,却要求24小时不间断的被管理。两者之间的要求,互相矛盾。
对于现场智能设备的复杂组网状况,在规模化的商业应用中,通常要在智能网关和上位机之间,有一个能够拖带数量众多,处理各种通信协议,24小时不间断 运行对下面智能设备进行管理的设备。
这类设备,传统自动化行业通常称呼为智能网关,而在互联网行业(物联网)跟它们的云端计算对应,通常称呼为边缘计算。智能网关和边缘计算,实际上 是两个行业对同一类设备的各自称呼习惯。
所以,灵狐在跟传统自动化行业同行交流的时候,一般说智能网关,而在跟互联网同行交流的时候,一般说边缘计算。

上位机和智能设备之间的通信,在物理上呈现为各自通信接口的连接。
但是不管是何种物理通信方式,还是通信协议,它们总是在上位机和智能设备之间,呈现为一条条的逻辑连接。 所以,Fox-Edge将这种逻辑连接,抽象为一个个大的通道概念。 有了这个统一的通道概念之后,不管是用户的理解,还是系统的设计,还是工程的实施,复杂的人通信都将变得非常简化。
企业在使用Fox-Edge的时候,可以在跟智能设备物理连接之后,启动相应的通道服务,就能够跟各种智能设备进行逻辑连接的建立。 在启动相应的Fox-Edge连接服务之后,为智能设备配置必要的通信参数,即可跟设备之间进行通信了
智能设备的协议,它们定义的无论是操作接口,还是数据结构,都是千差万别。
但是无论何种操作都是设备操作,无论何种数据结构都是结构化数据。
所以,Fox-Edge通过后期开发和应用解码器/配置模板的方式,在应用阶段根据设备的具体情况,开发相应的解码器和配置模板,即可以跟设备之间进行互相操作, 并将它们的数据转换为JSON格式。
JSON格式在互联网行业,已经被证明可以支持各种千差万别的数据结构,它是互联网的数据存储和通信的主要规范
企业在使用Fox-Edge的时候,可以根据智能设备的具体状况,选择相应的解码器和通信模板,即可对各种设备的协议对接和数据解析,以及对设备进行操作。
智能设备的形态,无论何种型号和配置,它们在逻辑上总是表现为一个设备和相应的现场配置。
Fox-Edge对设备进行管理的时候,定义了设备实体的概念,用于对各种各样的设备进行管理。
Fox-Edge统一采用JSON格式来保存相应的配置,JSON格式的包容性,可以存储现场各种设备的通信配置。 同样,Fox-Edge统一采用JSON格式来保存获得的设备数据,JSON格式的包容性,可以存储现场各种设备的数据结构。
企业在使用Fox-Edge的时候,可以根据智能设备的现场状况,在设备对象上,指定不同的通信通道和配置不同的通信参数。
智能设备的数据,无论何种型号和配置,它们总是在行为上,呈现状态数据、事件数据、操作记录、日志记录。
状态数据,比如设备的温度,它作为一个数据对象,它的数值在来回变化,但它却总是一个固定的数据对象。
事件数据,比如温度高温告警,同一个温度传感器,在环境温度苛刻的时候,会不断的产生高温告警,它的这个告警数据源头是现场环境的变化,是不断反复产生, 呈现出数量非常多记录的状况,这种记录的数量的增长是不可人为控制的。
操作记录,用户对设备进行人工操作的时候,这种人工操作通常需要被记录,方便进行人员权限的管理和跟踪回溯,它也呈现为增量记录,但是这个记录产生 源头是操作人员,它的数量呈现为可控状况。
日志记录,程序在运行过程之中,经常会遇到设计之外的异常状况,在这些异常状况下,设备和系统总是表现出各种异常状态,此时需要人员进行分析,会产生 日志。
Fox-Edge对设备管理,通过支持状态数据、事件数据、操作记录、日志记录的行为数据,来对各种形态的设备数据进行管理
企业在使用Fox-Edge的时候,可以在状态数据、事件数据、操作记录、日志记录,看到各类基础数据。
有些用户的物联网项目之中,在南向除了智能设备在Fox-Edge处进行现场解析之外,还存在一些视频监控的透传到云端,
部分存量设备在云端侧报文解析之类的场景。
这就形成了一种既有部分设备在Fox-Edge处进行现场解析,又有部分设备云端处理的混合组网方案。
两边的通信方式,往往采用全双工的交互方式,也就是上行和下行是各发各的,在通信层面并没有对应关系。
它们的逻辑对应关系,发生在上层的应用层之中。
Fox-Edge提供了链路的技术方案:链路服务,为北向的上位机/云服务与南向的智能设备之间,建立一个双向透传链路。
这样北向的上层应用/云端服务和南向的智能设备,进行直接会话了。
具体可以看《链路服务》篇
上位机、智能网关对现场设备进行管理的时候,不同项目的业务场景要求是不同的,不同的客户也有不同的要求,甚至同一个客户的要求也是朝令夕改的。
对智能设备的管理行为,无论客户的何种需求,总是表现为各种控制行为,这种管理行为,千差万别。
Fox-Edge的解决办法,是允许企业使用JAVA语言开发控制和管理流程开发控制器服务,然后部署到Fox-Edge之中,对现场设备进行具体的管理和控制。
考虑到大部分企业的控制行为,只是简单的循环操作设备,比如周期性的轮询设备,所以Fox-Edge自带了一个通用性的控制器服务,为它添加具体的定时操作 行为之后,它会不断的对智能设备进行周期性访问,比如任务内容是获得数据,那么就是周期性采集数据。
用户可以参考Fox-Edge的控制器源码,即可根据自己的业务需求,简单、快速的二次开发自己的控制器,可以出厂部署在Fox-Edge设备之上,也可通过云端中央 仓库的发布,让用户自行部署到自己的Fox-Edge之上。