[小 迪 导读]:
本教程首先通过全链路虚拟环境讲述如何用DG-IoT开源工业物联网平台完成电力集抄项目,在掌握基础概念和业务流程之后,先通过虚拟的电表和DTU来进行模拟演练。
系统需要使用的三个软件:
- 虚拟串口软件:在电脑上模拟com口,用来连接虚拟电表和dgiot_DTU
- 虚拟电表软件:用来模拟电表软件进行状态和电量上报到DTU
- dgiot_DTU模拟软件:通过虚拟串口连接虚拟电表和dgiot_DTU进行串口通信,通过TCP协议模拟dgiot_DTU和dgiot平台进行通信
系统架构逻辑图如下,包括设备模拟,通道通信,模型设置,应用显示部分

操作步骤:
1.创建虚拟串口
点击了解虚拟串口使用
2.创建虚拟电表
点击获取并了解虚拟电表
3.创建虚拟DTU
1.获取软件
软件下载链接: dgiot-DTU
软件源代码链接:dgiot_DTU source
2.运行软件
- 在dgiot_dtu 选择上一步创建的成对串口 com4,波特率:115200,校验位:无,数据位:8 停止位:1
- 在dgiot_dtu 选择tcp 客户端通道,服务器地址为平台地址,服务器端口为电表通道端口。
注:模拟器开启了61888端口,需要在云服务开启防火墙端口。

![Uploading file...]()
- 点击扫描,扫描成功后点击连接。建立com4的tcp桥接

4.创建采集通道
1.创建电表采集通道。位置在通道管理-创建通道

2.选择电表采集通道并配置


模式说明: |
nosearch |
不扫描,需要用户自行抄表 |
quick |
只扫描一次,适合一个dtu挂一个电表场景 |
normal |
扫描256次,适合一个dtu挂多个电表的场景 |

3.产品添加通道后需对通道进行重启
4.通道日志查看


5.创建产品
1.要连接DL645电表,需创建两种产品

2.产品信息
电表

DTU

3.产品物模型配置
将以下物模型代码直接复制即可
电表
{
"events": [],
"properties": [
{
"accessMode": "r",
"dataForm": {
"address": "0X10",
"afn": "",
"byteType": "",
"bytelen": "",
"collection": "%{s}",
"control": "%{d}",
"countcollection": "%{s}",
"countround": "all",
"countstrategy": 20,
"da": "",
"data": "null",
"dt": "",
"iscount": "0",
"offset": 0,
"operatetype": "readCoils",
"order": 0,
"originaltype": "short16_AB",
"protocol": "DLT645",
"rate": 1,
"round": "all",
"slaveid": "0X10",
"strategy": "20"
},
"dataSource": {
"": [],
"_dlinkindex": 1,
"afn": "11",
"di": "00010000",
"length": 2,
"type": "bytes"
},
"dataType": {
"das": [],
"specs": {
"max": 9999,
"min": 0,
"precision": 3,
"step": 0,
"unit": " KW·H"
},
"type": "float"
},
"devicetype": "电表",
"identifier": "energy",
"isaccumulate": false,
"isshow": true,
"isstorage": true,
"moduleType": "properties",
"name": "有功总电能",
"required": true,
"updateAt": "1672899860160",
"index": 0
}
],
"services": [],
"tags": []
}
4.如何复制物模型
在产品管理-配置-物模型-查看物模型处

将物模型代码复制粘贴即可

6.电表注册成功
1.电表扫描成功

2.电表上线成功

3.设备地图显示成功

7.电表采集成功
1.电表实时数据

2.电表历史数据

[小 迪 点评]
- dgiot支持DLT645协议的电表接入,方便没有电表的用户尝试进行模拟电表设备接入演练。
电力集抄原文地址:https://doc.dgiotcloud.cn/docs/practical_tutorial/docs/Meter/dlt645
想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。