设备驱动与变量定义

为了节省流量采用手动发送,因此不能使用官方驱动,需要使用用户自定义驱动,这里提供百度网盘下载地址(见评论区)。链接:https://pan.baidu.com/s/1ORy2UFOlHeRCXraYKC1xUA 提取码:tl3i

添加用户自定义设备,不能使用官方提供的Modbus RTU驱动,官方驱动不支持手动发送,此例程是基于整点自动发送指令实现的,可以将流量消耗降到最低,若对流量消耗无限制也可使用官方驱动实现,此处不做讲解。

mcgs连接Mysql MCGS连接阿里云_自定义

无论是采用自定义驱动还是官方驱动,对于无线设备都需要适当增加超时时间,在后续实机调试时说明方法。

本例程使用变量表如下:

变量名

描述

类型

初值

注释

collection_run

用于标记通讯执行中

开关型

0

0:空闲

1:忙

meter_IrAt_01

存储电流变比

数值型

1

1-9999

meter_UrAt_01

存储电压变比,使用时需要×0.1

数值型

10

1-9999

meter_state_01

设备状态

开关型

0

0:通讯正常

1:通讯异常

nReturn

Modbus异常码

开关型

0

返回码

meter_value_01

有功电能综合,原始值,不含变比

数值型

0

——

resend_set_value

重发次数配置值

开关型

3

——

resend_value

重发次数运行值

开关型

0

——

采集执行策略(带重发机制)

MCGS嵌入式组态环境的“运行策略”下添加用户策略,具体配置如下:

mcgs连接Mysql MCGS连接阿里云_mcgs连接Mysql_02

 

定时发送

MCGS嵌入式组态环境的“运行策略”下添加循环策略,并添加两个策略行,一个用于总线繁忙时用于延时,一个用于触发采集,配置如下:

mcgs连接Mysql MCGS连接阿里云_mcgs连接Mysql_03

 

脚本程序与调用策略配置如下图所示:

mcgs连接Mysql MCGS连接阿里云_服务器_04

 

人机交互界面制作

添加人机交互界面“HOME”,并在启动策略中添加手动获取变比与有功总功率的Modbus指令发送函数如下:

!SetDevice(设备0,6,"ReadP(4,7,WUB,2,meter_IrAt_01,meter_UrAt_01,nReturn)")

!SetDevice(设备0,6,"ReadP(4,4127,DF,1,meter_value_01,nReturn)")

添加13个“标签”控件,以下仅说明有关联函数“标签”,添加2个“按钮”控件。

mcgs连接Mysql MCGS连接阿里云_服务器_05

 

采集状态,使用两个“标签”控制,分别在变量“meter_state_01”等于1或者0时隐藏。

mcgs连接Mysql MCGS连接阿里云_前端_06

 

通过DTSU666手册提供计算公式,显示当前真实有功总功率。

mcgs连接Mysql MCGS连接阿里云_服务器_07

电流变比与电压变比仅关联对应变量显示,不再说明。

手动采集调用用户自定义策略“采集执行”,该按钮在自动采集过程中不生效。

mcgs连接Mysql MCGS连接阿里云_java_08

更新变比“按钮”控件调用脚本函数实现:

!SetDevice(设备0,6,"ReadP(4,7,WUB,2,meter_IrAt_01,meter_UrAt_01,nReturn)")