1.概述

之前我们已经介绍了Modbus RTU仪表实现JSON格式上发云服务器的方法,类似的现在也可以支持645协议的仪表通过JSON格式上发服务器。

卓岚实现645仪表转JSON网关的特点有:

1.提供透传、MQTT、POST、GET等上位机协议,结合JSON格式进行传输。

2.下位机完全符合国标97版645协议规范,支持一个网关总线连接32台电表。

3.设计方法完全界面话操作,无需专业的编程知识,简单易用。

卓岚的MQTT网关种类繁多,有如下几种类型:

设备类型 通讯类型 型号
成品设备 4G+以太网方式 ZLAN8303-7 ↴
成品设备 以太网 ZLAN5143 ↴
成品设备 Wifi+以太网 ZLAN7144 ↴
成品设备 Wifi ZLAN7146 ↴
成品设备 Zigbee方式 ZLAN9543+ZLAN9500 ↴
成品设备 Lora方式 ZLAN9743+ZLAN9700 ↴
内嵌模块 内嵌网关模块(以太网) ZLSN2043S ↴
内嵌模块 内嵌网关模块(wifi) ZLSN7046T ↴
内嵌模块 内嵌网关模块(wifi+以太网) ZLSN7044 ↴
芯片 网关单芯片 ZLAN1043 ↴
2.645协议转JSON
2.1.配置步骤

由于在《JSON数据采集网关》中已经介绍了Modbus RTU转JSON的配置方法,这里只做简要介绍。首先使用ZLVircom5.18及其以上版本。配置步骤如下,在设备编辑界面,点击“固件与配置”按钮,进入“网页/程序下载”对话框,选择“网页目录下载”,选择一个空目录,然后点击“JSON配置”。

这里主要设置一下定时上发的时间间隔,这里为10秒。

2.2.645配置详解

在以上“JSON转Modbus RTU设置”对话框中点击“添加/查看”可以进入645节点配置。

假如我们需要添加正向有功总电能,那么查645协议的相关资料可以找到正向有功总电能的单位、数据长度、数据格式、标识编号,如下表:

645协议内容 数据项名称 单位 数据长度 数据格式 标识编码
645协议一项 正向有功总 kWh 4 XXXXXX.XX 9010
举例 电能        
对应zlvircom配置参数 JSON关键词:ActiveTotalE 数据后增加单位kWh 数据长度4 小数点位数2位 645数据类型:9010

我们看来如何根据645协议的内容来填写配置信息:

1.对应JSON关键词:这个就是上传到云端的数据中正向有功总电能对应的JSON关键词,根据云端要求设计。例如{“ActiveTotalE”:”005190.77kWh”}中的ActiveTotalE。

2.数据来源选择:这里选择645协议。

3.设备ID:这个是645仪表的站号,可以从表的标签上获得。

4.数据类型:也就是645协议的标识编码,例如正向有功总电能就是9010。

5.数据长度:不同的标识编码有不同的长度,请查询手册后选择。

6.保留小数点位数:XXXXXX.XX的数据格式就是2个小数点。

7.数据后增加单位:上传的数据005190.77后面增加的单位kWh。

8.数据用引号包含:即”005190.77kWh”的引号,不勾选则没有引号。

9.串口轮询间隔:每个标识量查询的间隔由于这里是1200bps的波特率,较低,所以一般需要用1000ms的查询间隔。

10.设计下一个:如果还有645的标识(即JSON关键词)需要设计点击“设计下一个按钮”,否则点击“完成设计”按钮。一个对话框设计一个标识编号+JSON关键词。

11.如果点击“完成设计”,则回到上一个对话框,点击“保存JSON设置”,再回到上一个对话框,点击“下载”将配置信息下载到设备内部。这样设备就会按照设计的方式工作。当然如果需要发送到云端,还需要在“设备设置”界面将工作模式改为“TCP客户端”,填写服务器的IP到“目的IP或域名”,并填写正确的目的端口。

2.3.645转JSON测试

这里我们在计算机上用TCP调试工具SocketDlgTest来测试这个功能,发现每隔10秒钟会收到设备发来的JSON数据,{“ActiveTotalE”:”005190.77kWh”},其中的正向有功总电能005190.77kWh对应电表当前数据。

2.4.总结

本文介绍的方案和产品可以实现645电表的自动采集和云端对接,可应用节能、能耗监控、集中抄表等领域。

原文链接:http://www.zlmcu.com/document/645_Instrument_JSON.html

645仪表以JSON格式上发方法的更多相关文章

  1. C#picturebox控件图片以json格式上传java后台保存

    关于winform上传图片到Java后端,保存到数据库,有多种方法,本文主要介绍利用picturebox控件,点击按钮上传图片,将图片转化为base64格式,以json格式上传到Java后台,再从ja ...

  2. Android中解析JSON格式数据常见方法合集

    待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name&quo ...

  3. c# 将匿名类或者集合转Json格式数据一些方法

    要说写这个功能呢也是因为工作需要,白天呢上班写个Web页面需要ajax请求后台并将数据以Json格式传会前端,由于公司特殊性吧,不能连外网(很苦比).所以只有等到晚上回家上网边查边写! public ...

  4. 转:PHP 生成复杂JSON格式 简单快速方法

    PHP 生成JSON 格式主要使用json_encode()函数.这个函数的输入参数支持PHP数组和对象类型. 查阅网上的例子通常都是使用数组的,也有个别使用对象生成.但实际项目中,我们要生成的JSO ...

  5. JS实现的一个query字符串转Json格式数据的方法

    输入字符串的格式是 a=1&b=2&c=3 $.par2Json = function (string, overwrite) { var obj = {}, pairs = stri ...

  6. php里少用到的session_module_name,以及session的key值限制,简单将session存储为json格式数据的方法

    这个函数的作用就是动态的设置php.ini里的session_save_handler,配合session_set_savepath可以在程序里自由配置session的后台方式. session_ca ...

  7. JS中的数组转变成JSON格式字符串的方法

    有一个JS数组,如: var arr = [["projectname1","projectnumber1"],["projectname2" ...

  8. eclipse 自动生成json格式的toString()方法

    文本代码 {"${member.name()}":"${member.value}", "${otherMembers}"}

  9. 3.自定义返回json格式的数据给前台(自定义Controller类中的Json方法)

    在mvc的项目中,我们前台做一些操作时,后台要返回一些结果给前台,这个时候我们就需要有一个状态来标识到底是什么类型的错误, 例如: 执行删除的时候,如果操作成功(1行受影响),我们需要返回状态为1并输 ...

  10. Golang:将日志以Json格式输出到Kafka

    在上一篇文章中我实现了一个支持Debug.Info.Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手.有兴趣的可以通过这个链接前往:https://github.com/ ...

随机推荐

  1. 比cat更好用的命令!

    大家好,我是良许. 作为程序员,大家一定对 cat 这个命令不陌生.它主要的功能就是用来显示文本文件的具体内容. 但 cat 命令两个很重大的缺陷:1. 不能语法高亮输出:2. 文本太长的话无法翻页输 ...

  2. Clean DDD 技术沙龙 2025 杭州站

    整洁领域驱动设计(Clean DDD)第一次线下活动来了,这是: 一个软件设计的全新视角 一次复杂度掌控感的深度体验 一场软件工程效率的探索之旅 活动时间:2025年4月13日星期日 下午 13:00 ...

  3. 🎀maven 版本管理

    简介 Maven的versions插件提供了一系列用于处理项目版本的命令 相关命令 mvn versions:set 版本设置 mvn versions:set -DnewVersion=1.0.0- ...

  4. Android编译时动态插入代码原理与实践

    本文同步发布于公众号:移动开发那些事:Android编译时动态插入代码原理与实践 Android开发中,编译时动态插入代码是一种高效,并且对业务逻辑是低侵入性的方案,常用于增加通用的埋点能力,或者插入 ...

  5. [转自洛谷]洛谷KateX公式大全【LateX】

    前言 由于在洛谷,有很多人对于\(\KaTeX\)和\(\LaTeX\)之间的关系并不清楚,导致很多人去搜\(\LaTeX\)的资料,然后发现有许多指令无法在洛谷运行. 但是事实上,\(\KaTeX\ ...

  6. webapi里调用grpc

    参照:ASP .NET Core 6.0使用Grpc配置服务和调用服务_asp.net core grpc 服务-CSDN博客 demo:https://files.cnblogs.com/files ...

  7. LSposed hook(学习分享)

    Xposed模块编写 参考: https://www.52pojie.cn/thread-1740944-1-1.html https://www.52pojie.cn/thread-1748081- ...

  8. linux 安装jdk8

    参考:https://www.cnblogs.com/raoyulu/p/13265419.html 一.卸载现用的JDK 1.查看Linux自带的JDK是否已安装 查看是否安装openjdk jav ...

  9. C/C++双叹号!!运算符

    1.问题引入 在阅读https://github.com/amhndu/SimpleNES源代码中ppu.cpp中发现如下代码 m_bgPage = static_cast<CharacterP ...

  10. 新纪元:"老"新人

    博客园注册很久了,但从未发布过内容.终于开通博客,记录自己,也支持博客园! 另外,这次苹果秋季发布会真的好无聊!︎