当前位置:文档之家› JSON数据采集网关

JSON数据采集网关

JSON数据采集网关
JSON数据采集网关

JSON数据采集网关

JSON数据采集网关是一种能够将各种传感器的数据采集后按照JSON格式上传服务器的网关。

图JSON数据采集网关工作原理示意图

JSON(JavaScript Object Notation)是java中的数据格式。例如{“power”:”100”, “time”:”10:12:23”}这样的格式,由于它简单易用,计算机和人都非常容易读懂,所以渐渐成为一种通用的服务器数据交换格式。

介于物联网的发展和云计算机、云服务器的普及,物联网数据采用JSON格式上发服务器越来越受到欢迎。但是数据采集仪表一般采用RS485数据总线,采用Modbus RTU、国标645等仪表协议,底层设备工程师熟悉此类设备协议,但是服务器开发工程师不熟悉;而底层设备工程师又不懂得如何通过网络发送JSON格式数据给服务器开发工程师。所以需要一种设备能够成为这种数据转化的桥梁。

JSON数据采集网关起到这个作用,它实现步骤如下:

1.首先数据采集网关会根据配置,发送查询数据给连接的RS485设备。

2.收到数据以后,网关会提取里面的数据,并转化为指定的格式,比如整型、小数等,

然后将这个指令的返回数据和json关键词相对应存储起来。

3.网关会每隔一定时间上发json格式数据包到服务器。

目前的网关可以实现如下的功能:

1.上位机对接的协议可以为:MQTT协议+JSON、纯JSON TCP/IP数据、HTTP POST+JSON和

HTTP GET JSON数据。

2.下位机协议支持Modbus RTU协议、645仪表协议和非标协议的定制。

3.所有的上发协议JSON格式和下位机协议都可以通过界面化设计,无需编程。

4.支持在JSON格式中可以加入设备ID、时间、任意字符串。支持JSON格式的嵌套书写方

法。

5.上传数据支持无符号数据和有符号数据,支持小数点表示,支持4字节长度数据,支持

布尔型变量。

下面就用实例来演示一下JSON数据采集网关的用法。

1.首先需要确认设备的固件版本在1.581及其以上版本(对于2043),使用ZLVircom5.18

搜索到设备后,进入设备编辑,点击“固件和配置”按钮

2.选择网页目录下载,选择一个空的目录,用于保存配置,然后点击JSON配置。

3.在这里选择上发服务器的时间间隔,以及上发的方式,比如MQTT、POST、GET等,然

后点击“添加/查看”按钮,设计每个JSON和对应的Modbus寄存器。

4.这里输入这个JSON的关键词为power,并且选择它的Modbus地址的站地址、功能码、

寄存器地址,以及采集的数据的数据类型和小数点。这样采集的这个Modbus寄存器内容将会写到power的后面,类似{“power”:”100”}。

5.如果还有设计则点击“设计下一个”,否则点击“保存设计”,在上一级对话框中点击“保

存JSON设置”,然后再上一级对话框中下载配置到设备内部。

之后设备就会自动采集站地址为1、功能码为3、寄存器0的Modbus数据,并主动按JSON格式,每隔5秒钟发送到服务器(当然需要先设置设备连接到服务器)。

使用此方法设备工程师再也不用愁如何将Modbus仪表如何JSON格式对接云端了。

后台转换JSON数据类型,前台解析JSON数据等等例子总结

后台转换JSON数据类型,前台解析JSON数据等等例子总结 JSON对象: JSONObject obj = new JSONObject(); obj.put("result", 0); obj.put("message", message); return obj.toJSONString(); 前台解析: Success:function(data){ var result = data.result; var message = data.message; } json对象中有json对象的写法: Objstr为一个JSONObject obj的String转换 private String getsuccess(String objstr,int number){ JSONObject obj = new JSONObject(); obj.put("result", 1); obj.put("obj", objstr); obj.put("number", number); return obj.toJSONString(); }

前台解析: Picjson为success返回的data var result = picjson.result; if (result==1) { var objdata = picjson.obj; var data = eval('(' + objdata + ')'); var num = picjson.number; picurl = null; showpiclist(data, num); } else{ alert(picjson.message); picurl = null; } list转成json对象 需要的包: https://www.doczj.com/doc/db8859749.html,mons-lang.jar https://www.doczj.com/doc/db8859749.html,mons-beanutils.jar https://www.doczj.com/doc/db8859749.html,mons-collections.jar https://www.doczj.com/doc/db8859749.html,mons-logging.jar

Json数据格式的使用方法入门教程

JSON 数据格式解析 和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object 对象。 String,Number 和 Boolean 用 JSON 表示非常简单。例如,用 JSON 表示一个简单的 String “ abc ”,其格式为: "abc" 除了字符 ",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他 Unicode 字符可以直接输出。下图是一个 String 的完整表示结构: 图 1. String 的完整表示结构 一个 Number 可以根据整型或浮点数表示如下:

图 2. Number 的表示结构 这与绝大多数编程语言的表示方法一致,例如: 12345(整数) -3.9e10(浮点数) Boolean 类型表示为 true 或 false 。此外,JavaScript 中的 null 被表示为 null,注意,true、false 和 null 都没有双引号,否则将被视为一个String 。 JSON 还可以表示一个数组对象,使用 [] 包含所有元素,每个元素用逗号分隔,元素可以是任意的 Value,例如,以下数组包含了一个 String,Number,Boolean 和一个 null: Object 对象在 JSON 中是用 {} 包含一系列无序的 Key-Value 键值对表示的,实际上此处的 Object 相当于 Java 中的 Map,而不是Java 的 Class 。注意 Key 只能用 String 表示。 例如,一个 Address 对象包含如下 Key-Value:

物联网智能网关工业采集网关数据采集网关的功能及应用方案

物联网智能网关工业采集网关数据采集网关的功能及应用方案 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

物联网智能网关、工业采集网关、数据采集网关的功能及应用方案 无线通讯网关,亦称数据采集网关,数据采集、协议转换网关,工业采集网关,可采用GPRS,433,,,wifi及以太网等多种通讯方式,快速实现近距离、中远程数据采集传输,适用于工业、农业、建筑、环保、医疗、运输等领域。目前,比较常用的工业智能网关主要包括XL91智能网关和XL90智能网关。 一、XL91智能网关,也叫无线网关,工业物联网智能网关,,无线传感管理主机等,集通讯管理、数据接收、协议转换、数据处理转发等功能,支持手机现场调试的,属于无线传感器网络产品。 XL91智能网关,可同时接收多个无线传感器数据,支持1路以太网口(Ethernet)、1路RS485串口、无线传输等上行方式,可选GPRS,433MHZ,,WI-FI等无线传输方式。 特点: 1、XL91适用于构建小容量的传感网络; 2、读取、处理、转发传感节点的数据:通讯管理、协议转换、数据处理、数据转发; 3、提供用户要求的协议; 4、1路或490MHz,组成星型或MESH型的网络; 5、可提供用户要求的协议; 构建小型智能传感网络; 协调、管理传感网络节点通讯;

智能传感网络和外部网络枢纽和桥梁:通讯网络转换、通信协议转换;拓扑图如下↓ XL91物联网智能网关应用领域: 1、油田、油井、气田监测; 2、蒸汽管道、供暖管道监测; 3、水泵房的监测; 4、冷藏、仓储环境监测; 5、农业、养殖环境监测。 XL91物联网智能网关应用方案一:拓扑图如下↓ 1、构建小型智能传感网络; 2、传感网络和外部网络的网络转换和协议转换设备。 3、通过433MHz、无线方式读取传感节点的数据; 4、通过GPRS方式将数据上传至云服务器; 5、可在现场加装触摸屏,用于现场监视; 6、能源管理系统(EMS):采集局部传感接点的数据上传。 XL91物联网智能网关应用方案二:拓扑图如下↓ 1、构建小型智能传感网络; 2、传感网络和外部网络的网络转换和协议转换设备。 3、通过433MHz、无线方式读取传感节点的数据; 4、通过Ethernet将数据上传至监控计算机; 5、DCS系统:采集压力、温度、气体等节点数据,通过Ethernet、RS485上传至DCS;

JSON 数据格式

JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。 基础结构 JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。 2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 基础示例 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript 很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。 表示名称 / 值对 按照最简单的形式,可以用下面这样的 JSON 表示 "名称 / 值对" :{ "firstName": "Brett" } 这个示例非常基本,而且实际上比等效的纯文本 "名称 / 值对" 占用更多的空间:firstName=Brett 但是,当将多个"名称 / 值对"串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个"名称 / 值对"的记录,比如: { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }

分布式数据采集系统中的时钟同步[图]

分布式数据采集系统中的时钟同步[图] 在高速数据传输的分布式数据采集系统中,各个组成单元间的时钟同步是保证系统正常工作的关键。由于系统工作于局域网,于是借鉴了IEEE1588时钟同步协议的原理,设计出简易、高效的时钟同步方案,并在基于局域网的分布式数据采集系统中实现微秒级的精确同步。鉴于方案的高可行性和高效性,可将其推广到其他分布式局域网系统中。 引言 随着网络技术的发展,各种分布式的网络和局域网都得到了广泛的应用[1]。分布式数据采集系统广泛应用于船舶、飞机等采集数据多、实时性要求较高的地方。同步采集是这类分布式数据采集系统的一个重要要求,数据采集的实时性、准确性和系统的高效性都要求系统能进行实时数据通信。因此,分布式数据采集系统中的一个关键技术就是实现数据的同步传输。由于产生时钟的晶振具有频率漂移的特性,故对于具有多个采集终端的分布式系统,如果仅仅在系统启动时进行一次同步,数据的同步传输将会随着系统运行时间的增长而失步。因此时钟的同步就是保证数据同步传输的关键所在。2002年提出的IEEE1588标准旨在解决网络的时钟同步问题。它制定了将分散在测量和控制系统内的分离节点上独立运行的时钟,同步到一个高精度和高准确度时钟上的协议。 由于分布式数据采集系统工作于局域网的环境中,于是借鉴IEEE1588标准中的思想,设计出一种针对基于局域网的分布式系统的时钟同步的机制,成功地在分布式数据采集系统中实现了μs级的同步。 1 时钟同步原理及实现 时钟同步原理借鉴了IEEE1588协议中的同步原理。IEEE1588 定义了一个在工业自动化系统中的精确同步时钟协议(PTP 协议),该协议与网络交流、本地计算和分配对象有关。IEEE1588 时钟协议规定,在进行时钟同步时,先由主设备通过多播形式发出时钟同步报文,所有与主设备在同一个域中的设备都将收到该同步报文。从设备收到同步报文后,根据同步报文中的时间戳和主时钟到从时钟的线路延时计算出与主时钟的偏差,对本地的时钟进行调整[2]。 系统由各个单元的系统控制板(简称“系统板”)来完成同步的工作。同步模型与IEEE1588时钟协议一致,采用主从结构。主从单元采用相同频率的晶振,此时时钟同步的关键就是解决时钟相位对准问题和时钟漂移的问题。 系统中采用的时间同步算法,是借鉴IEEE1588的同步原理,主要是采用约定固定周期同步的算法。和IEEE1588同步算法一样,同步过程分为两个阶段: 延迟测量阶段和偏移测量阶段。下面以一主一从模式为例介绍其原理。 1.1 延迟测量 延迟测量阶段用来测量网络传输造成的延迟时间[3]。定义一个延迟请求信息包(Delay Request Packet) ,简称“Delay_Req”。延迟测量示意图。 图1 延迟测量示意图 为了简化程序,采用固定的周期测量网络延迟,一般系统每工作一个小时进行一次测量。从属时钟TSd 时刻发出延迟请求信息包Delay_Req ,主时钟收到Delay_ Req 后再立刻返回一个延时响应包delay_back发送给从属时钟,因此从属时钟就可以非常准确地计算出网络延时: TM2 →TS2∶Delay1 = TS2-Offset-TM2 TS3 →TM3∶Delay2 = TM3-(TS3 - Offset) 其中的Offset为从时钟与主时钟之间的时间偏差。 因为网络延迟时间是对称相等的,所以: Delay =(Delay1 + Delay2)/2=((TS2-TM2)+(TM3-TS3))/2 需要说明的是,在这个测量过程中,假设传输介质是对称均匀的,且线路是对称的[4]。

数据采集接口网关

数据采集接口网关Gateway ForeverCredit Gateway数据采集接口网关是北京华恒信远专门为工业标准通讯接口OPC Server软件、数据采集接口软件配套定制开发的一款嵌入式硬件产品,内置两个标准RS-232串口(其中一个串口可以通过跳线设置成RS-485)和两个RJ45以太网口,型号为Gateway-227B,如下图所示: 此外,还有Gateway-240B、Gateway-230B等嵌入式工控机型号,如下图所示。 该设备操作系统有Windows、Linux两种,其功能与特点如下: 1、OPC服务器:可连接DCS、PLC等控制系统,读写实时数据,包装成OPC Server工业标准通讯接口,提供给实时数据库系统、先进控制系统和MES系统集成商; 2、安全隔离:当数据采集接口网关为实时数据库系统提供实时数据时,它一般位于自动化控制系统和实时数据库服务器之间,由于数据采集接口网关采用了内置单向数据传输技术,可达到自动化控制系统和实时数据库服务器之间的安全隔离目的。 3、该产品操作系统、数据采集程序等均固化,不可修改。一旦被修改,重新启动后,自动恢复到初始状态,可防止病毒以及黑客软件攻击。 4、结构先进、安装方便,该产品高度1U,可以直接安装在

标准机柜中,独特的散热技术,1U机箱有多个磁悬浮风扇散热。 5、数据采集冗余设计:支持双机双网冗余通讯。 6、可作为、PI、PHD等实时数据库系统的数据采集终端,也可写数据至关系数据库,为MIS、ERP等管理信息系统提供生产实时数据。 网闸FC-Safety FC-Safety管控单向物理隔离网闸,又称管控单向物理隔离网关,是专门为企业过程控制系统和管理信息系统之间进行单向物理隔离而开发的一款网络安全隔离设备。 在石油、石化、钢铁、冶金、电力、化工等流程型企业的工业自动化过程中,DCS、PLC、电力综合自动化等过程控制系统越来越广泛地应用在流程型企业的生产控制过程中。流程型企业信息化建设在国内越来越普及,由于担心控制网被攻击,企业往往要求企业信息

不同json数据格式之间的转换

待转换的json数据格式为: [{ "id":1, "text":"菜单", "children":[{ "id":11, "text":"菜单1", "state":"closed", "children":[{ "id":111, "text":"测试11", "attributes":{ "key":"Custom Attribute1" } },{ "id":112, "text":"测试12", "attributes":{ "key":"xx" }, },{ "id":113, "text":"测试13", "attributes":{ "key":"Custom Attribute1" } }] },{ "id":12, "text":"菜单2", "children":[{ "id":121, "text":"测试21", "attributes":{ "key":"Custom Attribute1" } },{ "id":122, "text":"测试22", "attributes":{ "key":"Custom Attribute1" } },{ "id":123,

"text":"测试23", "attributes":{ "key":"Custom Attribute1" } }] }] }] 该json格式为jQuery easyui tree的json数据格式,先要把它转换成微信自定义菜单的json 数据格式,如: { "button": [ { "name": "菜单1", "sub_button": [ { "type": "click", "name": "测试11", "key": "Custom Attribute1", "sub_button": [ ] }, { "type": "click", "name": "测试12", "key": "xx", "sub_button": [ ] }, { "type": "click", "name": "测试13", "key": "Custom Attribute1", "sub_button": [ ] } ] }, { "name": "菜单2", "sub_button": [ { "type": "click", "name": "测试21", "key": "Custom Attribute1", "sub_button": [ ] }, {

基于wifi的数据采集网关的制作流程

本技术涉及信息采集领域,具体涉及基于wifi的数据采集网关,包括用于数据采集的数据采集装置、用于对采集的数据进行处理的处理装置、用于进行远程控制的远程控制终端、用于处理装置与远程控制终端通讯的通讯装置。本技术数据处理能力强、采集精度高、时效性强、运行成本低、便于大规模推广使用。 技术要求 1.基于wifi的数据采集网关,其特征在于:包括用于数据采集的数据采集装置、用于对采集的数据进行处理的处理装置、用于进行远程控制的远程控制终端、用于处理装置与远 程控制终端通讯的通讯装置;所述通讯装置包括wifi信号放大器和wifi无线路由器;所述 处理装置包括用于数据采集装置输入数据的输入接口、连接于输入接口用于储存数据的 储存单元、连接于储存单元用于处理数据的处理单元、连接于处理单元用于向通讯装置 进行数据输出的输出接口、连接于处理单元用于接收通信装置反馈信号的远程信号接 口;所述处理装置的输出接口与wifi无线路由器的信号输入端之间通过wifi无线连接,所 述wifi无线路由器的信号输出端与wifi信号放大器的信号输入端之间通过wifi无线连接,所述wifi信号放大器的信号输出端与处理装置的远程信号接口连接,所述wifi无线路由器的 远程通信端与远程控制终端之间通过互联网连接。

2.根据权利要求1所述的基于wifi的数据采集网关,其特征在于:所述数据采集装置包括数字量输入接口电路装置、模拟量输入接口电路装置、RS485输入装置、RS232输入装置、视频输入装置和时钟装置,所述视频输入装置前端连接用于采集图像的摄像头,所述数字量输入接口电路装置前端连接有用于采集电压的电压传感器、用于采集电流的电流传感器,所述模拟量输入接口电路装置前端连接有用于采集温度信息的温度传感器、用于采集湿度信息的湿度传感器,所述RS485输入装置前端连接有用于采集振动信息的振动传感器,所述RS232输入装置前端连接有用于进行条码扫描的条码传感器、用于进行二维码扫描的二维码传感器,所述时钟装置连接于处理装置以提供实时时钟信号。 3.根据权利要求2所述的基于wifi的数据采集网关,其特征在于:所述wifi无线路由器包括供电模块、CPU模块、4G模块和wifi模块,所述供电模块连接于CPU模块、4G模块和wifi 模块以供电;所述CPU模块通过PCI连接于4G模块,所述4G模块与广域网络通信;所述CPU模块与WIFI模块连接,将4G模块从广域网络接收或者发送的信息转换后通过WIFI模块无线转发。 4.根据权利要求3所述的基于wifi的数据采集网关,其特征在于:所述wifi信号放大器包括wifi模拟信号解调模块、数字信号处理模块、wifi数字信号调制模块和wifi模拟信号放大模块,所述wifi模拟信号解调模块与所述数字信号处理模块相连,所述数字信号处理模块与所述wifi数字信号调制模块相连,所述wifi数字信号调制模块与所述wifi模拟信号放大模块相连。 5.根据权利要求4所述的基于wifi的数据采集网关,其特征在于:所述wifi模拟信号放大模块为线性放大器,所述wifi模拟信号放大模块为RF2126芯片。 6.根据权利要求5所述的基于wifi的数据采集网关,其特征在于:所述远程控制终端为PC 机或手机或PAD,所述远程控制终端包括用于收集服务器反馈信息的信息收集单元、用于进行远程控制的控制单元、用于启动系统的启动单元,所述启动单元内部嵌设有指纹加密协议以及指纹解密协议。 7.根据权利要求6所述的基于wifi的数据采集网关,其特征在于:所述处理装置为实体处理器或云服务器。

标准JSON格式定义与解析注意点

是一种轻量级地数据交换格式.它是基于语法标准地一个子集.是一种轻量级地数据交换格式.采用完全独立于语言地文本格式,可以很容易在各种网络、平台和程序之间传输.地语法很简单,易于人阅读和编写,同时也易于机器解析和生成. 要想熟练地操作数据,就要先了解数据: 地规则很简单:对象是一个无序地“‘名称值’对”集合.一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号);“‘名称值’对”之间使用“,”(逗号)分隔.文档来自于网络搜索 规则如下: 、映射用冒号(“:)表示.名称:值 、并列地数据之间用逗号(“,”)分隔.名称:值,名称:值 、映射地集合(对象)用大括号(“{}”)表示. { 名称:值, 名称:值 } 、并列数据地集合(数组)用方括号(“[]”)表示. [ {名称:值,名称:值}, {名称:值,名称:值} ] 、元素值可具有地类型:, , , , , 文档来自于网络搜索 注意:、用冒号(而不是等号)来赋值.每一条赋值语句用逗号分开.整个对象用大括号封装起来.可用大括号分级嵌套数据.文档来自于网络搜索 、对象描述中存储地数据可以是字符串,数字或者布尔值.对象描述也可存储函数,那就是对象地方法. 、主要有两种数据结构 ()由–对组成地数据结构.这种数据结构在不同地语言中有不同地实现. 例如:在中是一个对象.而在中是一种结构语言中是,其它地语言中可能为、等.文档来自于网络搜索 ()有序集合、这种数据结构在不同语言中可能有、、数组和序列等实现. 、中数据格式地处理 <>转 [] <>( ) {

{ (()); 文档来自于网络搜索( ()) { (, ); (()); } } { ; } } 转<> [] ( ) { { (); 文档来自于网络搜索 ( (())) 文档来自于网络搜索 { (); } } { ; } } 转 [] ( ) { ( ) { ""; } ();

适用于MES的分布式数据采集方案

制造现场的分布式数据收集 解决方案 泽朗电子

简介 ◆随着工业自动化和客户需求的不断提高,基于MES的工业自动化数据采集和控制 以及产品的可追溯性系统越来越多的在各大工厂推广应用,这类系统都需要对生产过程的每个环节进行精确的监测、数据采集、记录和控制,这需要生产设备能通过工业网络及时、准确的报告各项状态和数据。 ◆基于以太网的数据收集节点可以直接、准确、准时、安全、稳定的把各个流程节 点的数据传送到中央数据服务器,而不必使用成本高、维护困难、软件和系统都不稳定的工业计算机,也不用担心计算机病毒对生产制造造成巨大损失。 ◆泽朗电子拥有齐全的适用于工业自动化生产的数据收集设备产品线和系统集成能 力,全心全意的服务于您的要求。

应用场景 数据集传器应用在生产线上每个需要收集数据的节点,对于 MES系统和产品追溯用系统,用于收集产品进入工序的时间等 信息和产品编号条码/部件编号条码等信息。

网络拓扑 WEB服务器 网络交换机 TN-03A 数据集传器 用于配置和监控的PC LAN LAN LAN 网络交换机 TN-03A 生产线A生产线B

我们的数据集传器产品线产品型号: TN-03AW 相对于 TN-03A ,添加Wi-Fi 联网支持。 产品型号:TN-03A 用于接收设备传感器或条码扫描头的数据,集成USB 接口和RJ45网口, 可以把数据和自定义按钮事件通过以太网直接上传至应用服务器,并回显从服务器返回的执行结果。 基于Alliwinner H3高性能处理器 支持Wi-Fi (IEEE 802.11 b/g/n)

系统软件架构 生产设备 DATA TRANSPORTER APP HAL USB Ethernet LwIP Linux OS WEB APP JavaEE Server Database Linux OS Ethernet DATA TRANSPORTER APPLICATION SERVER I/Os 数据采集设备

时间同步在分布式数据采集系统中的实现

邮局订阅号:82-946360元/年技术创新 数采与监测 《PLC 技术应用200例》 您的论文得到两院院士关注 时间同步在分布式数据采集系统中的实现 The Implementation of the time synchronization in the distributed data collection system (空军工程大学) 徐锋樊晓光刘东 XU Feng FAN Xiao-guang LIU Dong 摘要:文中介绍了分布式数据采集系统中精确时间同步的实现方法以及相应的测试结果。该设计方案以IEEE1588标准中的精确时间协议(PTP)为基础,通过使用美国国家半导体公司生产的以太网物理层控制芯片DP83640,使得采用以太网架构的分布式数据采集系统主从节点上的时钟达到精确的时间同步。关键词:精确时间同步;IEEE1588;DP83640中图分类号:TP393文献标识码:A Abstract:The implementation of precise time synchronization in the distributed data collection system and test results is illuminated in this article.By use of DP83640Ethernet PHYTER produced by the National Semiconductor corporation,the design is based on the Precise Time Protocol (PTP)of the IEEE1588standard,and finally implemented the precise time synchronization between the master clock and slave clocks of the distributed data collection system based on standard Ethernet.Key words:precise time synchronization;IEEE1588;DP83640 文章编号:1008-0570(2009)11-1-0091-02 1引言 分布式数据采集系统广泛应用于采集数据多、实时性要求 较高的现场测控领域。 因此,分布式数据采集系统中的一个关键技术就是实现数据的同步传输。但由于网络传输延迟以及晶振频率漂移的原因,如果仅仅在系统启动时进行一次同步,状态数据的同步传输将会随着系统运行时间的增长而失步,因而不能够对系统的全局状态获得准确的掌握。 随着以太网技术逐渐应用于工业自动化测控领域,2002年国际电气和电子工程师协会(IEEE)发布了IEEE1588标准,该标准中的精确时间协议(Precise Time Protocol,简称PTP 协议)定义了一个以太网模式下的时间同步协议,主要应用在分布式测量和控制系统中,目的是提高工业以太网的实时性,使运行于各个独立测控节点上的时钟在系统范围内达到一个较高的同步精度。 本文以IEEE1588标准中的PTP 协议为基础,通过使用以太网物理层控制芯片DP83640,在分布式数据采集系统中实现了精确的时间同步。 2分布式数据采集系统概述 图1分布式数据采集系统结构图 分布式数据采集是带传感器的多个微计算机节点借助现 场总线或工业以太网连接在一起的分布式工业测控系统。传感器采用输出温度、压力、流量、位移等模拟量,再通过模数转换所生成数字量并由微计算机独立地进行处理,最后将局部的处理结果传输到总控单元上进行集中分析处理并得出全局状态的实时信息。拓扑结构如图1所示。 3IEEE1588标准和PTP 协议概述 IEEE1588标准的技术基础最初来源于安捷伦公司,是由安捷伦实验室的John C.Edison 以及来自其它公司和组织的12名成员共同研究的。经过多次修改后于2002年由国际电气和电子工程师协会(IEEE)正式发布。IEEE1588标准全称是:网络测量和控制系统的精密时钟同步协议标准。它定义一种在分布式测量和控制系统中实现高精度时钟同步的精确时间协议PTP 。该协议能够在所有支持多播的网络上实现,特别适合于以太网,但并不局限于以太网,目的是使分布式网络中的所有时钟保持精确的同步。 PTP 协议是一个关于时钟同步的协议标准,它被应用于由多个节点组成的分布式系统中,在系统中每个节点代表一个独立运行的时钟。PTP 协议将整个网络内的时钟分为普通时钟(ordinary clock)和边界时钟(boundary clock),而从通信关系上看又可把时钟分为主时钟(master clock)和从时钟(slave clock),整个系统中的最优时钟为最高主时钟(grandmaster clock),系统只能有一个最高主时钟,而一个PTP 协议的通信子网中只能有一个主时钟,从时钟与主时钟保持同步。 PTP 协议在现有的UDP/IP 协议基础之上实现局域网架构内的时钟同步,有关同步信息的协议报文共有4种,分别是:同步报文Sync,跟随报文Follow_up,延迟请求报文Delay_req,延迟应答报文Delay_Resp 。 PTP 协议的同步过程分为两个阶段:偏移(offset)测量阶段和延迟(Delay)测量阶段。 偏移阶段的工作是修正主时钟和从时钟之间的时间偏差。 徐锋:硕士研究生 91--

【CN110138755A】一种多协议北斗数据采集的网关通信交互服务方法【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910362059.8 (22)申请日 2019.04.30 (71)申请人 广东侍卫长北斗科技股份公司 地址 528300 广东省佛山市顺德区杏坛镇 德富路68号军民融合产业园11楼 (72)发明人 袁泽宇 庄福业 邓维爱 彭文斌  (74)专利代理机构 长沙科明知识产权代理事务 所(普通合伙) 43203 代理人 陈靖 (51)Int.Cl. H04L 29/06(2006.01) (54)发明名称 一种多协议北斗数据采集的网关通信交互 服务方法 (57)摘要 本发明提供一种多协议北斗数据采集的网 关通信交互服务方法,各不同厂商生产的设备将 二进制信息传输至对应的协议解析服务项目,各 个项目根据各自的厂商协议将二进制信息解析 成可读的信息,存入同一个mongo数据库中,平台 获取数据时只需与gRPC功能模块通讯,让gRPC模 块于mongo数据库中查出需要的信息,展示在平 台上,实现了协议和数据的解耦,消去了设备协 议对平台获取定位数据的影响,可扩展性强,硬 件不制约业务扩展;当要接入新设备时,只需建 立新协议服务便可让设备在系统中运作,省去了 建新平台的时间。上层出入口唯一,方便记录管 理。权利要求书1页 说明书3页 附图2页CN 110138755 A 2019.08.16 C N 110138755 A

权 利 要 求 书1/1页CN 110138755 A 1.一种多协议北斗数据采集的网关通信交互服务方法,其特征在于包括如下步骤: S1:车载定位设备将信息上传至北斗数据平台; S2:北斗数据平台对数据处理后进行指令下发。 2.根据权利要求1所述的一种多协议北斗数据采集的网关通信交互服务方法,其特征在于:在S1中,各不同厂商生产的设备将二进制信息传输至对应的协议解析服务项目,各个项目根据各自的厂商协议将二进制信息解析成可读的信息,存入同一个mongo数据库中,平台获取数据时只需与gRPC功能模块通讯,让gRPC模块于mongo数据库中查出需要的信息,展示在平台上,实现了协议和数据的解耦,消去了设备协议对平台获取定位数据的影响。 3.根据权利要求1所述的一种多协议北斗数据采集的网关通信交互服务方法,其特征在于:在S2中,平台按照预整理的设备类型对应指令格式表向gRPC发送指令请求,gRPC将请求存入mysql数据库中,当指令的目标设备上线时,对应的协议解析服务项目从数据库中取得该指令的下发请求,将该条指令按照协议转为二进制编码发送给设备,同时修改该条指令状态为已发送,以供平台查询下发结果,平台不用关心指令是否传至对应的协议解析服务项目或是否成功解析,只需通过gRPC查询下发结果,削弱了协议和平台下发指令的耦合性。 4.根据权利要求2所述的一种多协议北斗数据采集的网关通信交互服务方法,其特征在于:利用gRPC对外提供数据接口,直接读取mongo数据库中由协议解析服务解析出来的设备信息,同时向外提供以下功能:获取设备最新的定位和状态,获取设备历史轨迹,设置报警规则,下发设备指令等,外部的操作都经由gRPC功能模块进入系统。 5.根据权利要求1所述的一种多协议北斗数据采集的网关通信交互服务方法,其特征在于:在S2中,平台将预设的指令码和参数传入gRPC功能模块中,gRPC将其写入指令表中,协议网关根据上线的设备来搜索这张指令表中未下发的对应设备的指令,如果搜到了就解析为字节流推送,并将指令状态改为发送成功,如果该种设备不支持该指令,则将指令状态修改为未推送。 2

数据交换格式XML和JSON对比

数据交换格式XML和JSON对比 1.简介: XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用.具体的可以问Google或百度。相比之JSON这种轻量级的数据交换格式,XML可以称为重量级的了。 JSON : JavaScript Object Notation 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集。JSON概念很简单,就是服务器直接生成Javascript语句,客户端获取后直接用eval()方法来获得这个对象,这样就可以省去解析XML的性损失 2.对比 1)数据交换格式中XML是重量级的,JSON是轻量级的。这个体现在解析上。 XML目前设计了三种解析方式:DOM、SAX和pull; SAX不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析的方法。程序也可以随时终止解析。这样,一个大的文档就可以逐步的、一点一点的展现出来,所以SAX适合于大规模的解析。这一点,JSON目前是做不到得。 所以,JSON和XML的轻/重量级的区别在于:JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果;而XML提供了对大规模数据的逐步解析方案,这种方案很适合于对大量数据的处理。

JSON规范

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 JSON建构于两种结构: ?“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。 ?值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。 JSON具有以下这些形式: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

数据采集与监控系统

第一章数据采集与监控系统 第一节数据采集系统的基本结构 近年来,世界各国的火力发电设备发展方向是采用高参数大容量的单元式机组。机组容量越大,热力系统越复杂,需要监视的参数和操作的对象也就越多。特别是在机组的启停和事故处理过程中,机组处于不稳定的状态下工作,各种参数不断迅速变化,在同一瞬间需要同时进行几个参数的监视和操作,甚至有时要求运行人员在几分钟内完成几十个操作动作,稍有贻误就容易造成重大事故。以一台300MW机组为例,它需要监视的项目在900~1100点左右,如此多的数据如果用常规仪表去监视和测量,无论是在设计还是在运行上都有相当大的困难,一方面将使控制盘的尺寸大幅度增加,另一方面会给运行人员的监盘造成极大困难,劳动强度大,更易造成误操作,直接威协机组的安全运行。为了改变这一状况,在国内外大型火力发电机组上都广泛采用计算机对生产过程进行监视和测量,该计算机系统一般称为数据采集系统(Data Acquisition System 简称DAS),或者将其称为计算机安全监视系统、计算机信息处理系统、数据采集监视和处理系统等。 计算机数据采集系统,可采用小型机、单台微型机、或多台微型机构成。 一、小型计算机数据采集系统 以小型计算机构成的典型数据采集系统如图6-1所示。 小型计算机数据采集系统采用双总线式结构,即内存总线与I/O总线分开。系统中所有的过程变量经过程通道连接在I/O总线上,其中包括各种模拟量输入、开关量输入、脉冲量输入、模拟量输出、开关量输出等。在I/O总线上还挂有专用接口,用以连接其它计算机装置或系统。在I/O总线上挂有硬盘驱动器,用以存贮操作系统、各种文件及数据。磁盘由专门的文件管理系统进行管理。主要人机联系设备有:运行人员操作台、工程师操作台和程序员操作台,亦挂在I/O总线上。 由小型计算机构成的数据采集系统具有以下特点: (1)由于小型机一般设有专门的I/O总线和I/O处理机,所以它与外部或外围设备交换的信息可以由I/O处理机进行处理,这样就可以加快I/O处理的速度和提高外设与主机之间工作的并行程度。 (2)小型计算机具有较高的运算速度和处理能力,可以进行大量的、复杂的运算和数

js操作json

JS操作JSON总结 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON 是JavaScript 原生格式,这意味着在JavaScript 中处理JSON数据不须要任何特殊的API 或工具包。 本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“…名称/值? 对”之间运用“,”(逗号)分隔。名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。例如: var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"}; 2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间运用“,”(逗号)分隔。 例如: var jsonranklist=[{"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitid":12 3456,"topscore":1500,"topplaytime":"2009-11-20"}]; 为了方便地处理JSON数据,JSON提供了json.js包,下载地址:https://www.doczj.com/doc/db8859749.html,/json.js 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如: JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "sex": "man" }; 一、JSON字符串转换为JSON对象 要运用上面的str1,必须运用下面的要领先转化为JSON对象: //由JSON字符串转换为JSON对象 var obj = eval('(' + str + ')'); 或者 var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

物联网智能网关、工业采集网关、数据采集网关的功能与应用方案

物联网智能网关、工业采集网关、数据采集网关的功能及应用方案 无线通讯网关,亦称数据采集网关,数据采集、协议转换网关,工业采集网关,可采用GPRS,433,2.4G,,wifi及以太网等多种通讯方式,快速实现近距离、中远程数据采集传输,适用于工业、农业、建筑、环保、医疗、运输等领域。目前,比较常用的工业智能网关主要包括XL91智能网关和XL90智能网关。 一、XL91智能网关,也叫无线网关,工业物联网智能网关,工业通信网关,无线传感管理主机等,集通讯管理、数据接收、协议转换、数据处理转发等功能,支持手机WiFi现场调试的,属于无线传感器网络产品。 XL91智能网关,可同时接收多 个无线传感器数据,支持1路以 太网口(Ethernet)、1路RS485 串口、无线传输等上行方式,可 选GPRS,433MHZ,2.4GHZ, WI-FI等无线传输方式。

特点: 1、XL91 适用于构建小容量的传感网络; 2、读取、处理、转发传感节点的数据:通讯管理、协议转换、数据处理、数据转发; 3、提供用户要求的协议; 4、1路2.4GHz或490MHz,组成星型或MESH型的网络; 5、可提供用户要求的协议; 构建小型智能传感网络; 协调、管理传感网络节点通讯; 智能传感网络和外部网络枢纽和桥梁:通讯网络转换、通信协议转换;拓扑图如下↓ XL91 物联网智能网关应用领域: 1、油田、油井、气田监测; 2、蒸汽管道、供暖管道监测;

3、水泵房的监测; 4、冷藏、仓储环境监测; 5、农业、养殖环境监测。 XL91 物联网智能网关应用方案一:拓扑图如下↓ 1、构建小型智能传感网络; 2、传感网络和外部网络的网络转换和协议转换设备。 3、通过433MHz、2.4GHz无线方式读取传感节点的数据; 4、通过GPRS方式将数据上传至云服务器; 5、可在现场加装触摸屏,用于现场监视; 6、能源管理系统(EMS):采集局部传感接点的数据上传。

相关主题
文本预览
相关文档 最新文档