正泰电表_645协议_TCP智能网关接入
1、准备工作
本次测试所需硬件为正泰电表以及各类线材:
正泰电表,型号:DDSU666
购买地址:
准备好设备后按照厂家相关说明书接线,正泰电表需要接入一组220VAC电源供电以及用双绞线连接智能网关调试。
💡 补充
📎ZTY0.464.1036_DDSU666.004使用说明书-V5_20220715(中文).doc
2、智能网关配置
2-1、登录网关后台
此处为语雀内容卡片,点击链接查看:https://yunteng.yuque.com/avshoi/xiv0kd/yu0ikoze3tp2ulkr
💡 提示
初次使用智能网关可以按照该文档的2-1内容去访问网关后台。
💡 补充
智能网关配置软件:📎IOTRouter-RJ45.zip
2-2、配置串口
💡 提示
本次测试的设备串口配置为波特率2400、停止码2、数据位8、无校验位且连接边缘网关RS485口2,所以串口参数需要按照动图中填写,测试时需要按照实际情况调整。
2-3、指向服务器
💡 提示
测试中使用服务器地址以及端口需要根据实际情况填写。
体验账号
服务器地址:demo.thingskit.com或101.133.234.90
端口号:8088
💡 提示
在智能网关后台界面修改后需要重启设备才能生效。
3、ThingsKit配置
3-1、创建脚本
var temp = params.substr(10, 12);
var arr = [];
var num = 10;
//倒序输出表号数组
for (i = 0;
i < 6;
i++) {
arr[i] = temp.substr(num, 2);
num -= 2;
}
//合并倒序输出的表号数组
var result = arr.join('');
var teleData = {};
teleData.source = params;
slaveDevice = result;
teleData[slaveDevice] = params;
out.datas = teleData;
out.telemetry = true;
//hex值减法函数
function hexSubtraction(hex1, hex2) {
var dec1 = parseInt(hex1, 16);
var dec2 = parseInt(hex2, 16);
var result = dec1 - dec2;
var hexResult = result.toString(16);
return hexResult;
}
var tempVal = params;
var data1 = tempVal.substr(36, 2);
var data2 = tempVal.substr(38, 2);
var teleData = {};
teleData.source = params;
//提取数据标识
var mark = tempVal.substr(28, 8);
//A相电压
if (mark == "33343435") {
data1 = hexSubtraction(data1, 33);
data2 = hexSubtraction(data2, 33);
teleData.aU = parseInt(data2 + data1)/10;
}
out.datas = teleData;
/*必填:true表示设备上报的遥测数据,false表示命令下发的响应数据*/
out.telemetry = true;
💡 提示
“TCP上行-正泰电表解析”应用于网关设备的数据上行脚本处,该脚本会将DLT645设备的表号作为设备标识。“智能网关-645协议接入”应用于网关子设备的数据上行脚本处,并取A相电压。
💡 注意
创建脚本后必须启用该脚本才可以使用。
3-2、创建产品
💡 补充
网关子设备物模型导入文件:
3-3、创建设备
💡 提示
选择组织是没有组织选项可以自行新建。
💡 注意
网关子设备的设备标识为本次测试电表的表号230603037445。
💡注意
网关设备的Access Token修改为了智能网关的SN,SN可以在智能网关后台界面查找。
3-4、创建轮询
💡 提示
新建任务后,必须启用该任务才可以使用。
💡 提示
执行这一步是为了让平台下发采集指令让电表返回对应值。
4、数据验证
💡 提示
动图中展示设备A相电压已按照10s一次的速度进行采集。若需要采集其他数据点,请根据DLT645协议修改物模型以及网关解析脚本,并在任务中心配置对应采集命令。