我们之所以分别定义4个bool数据标签,是为了后面使用的方便。

 2.2.3 供电电压UA UB UC

空调使用三相电供电,并且支持三个相电压的监测。如下表对应的内部地址。并且Modbus返回原始值是实际值的10倍,我们需要先取int16值,然后转换除以10成float值

对应的标签编辑内容如下:

Name=ua  Title=UA

Data type=int16   R/W=Read Only

Address=40024

Transfer=js  Data type=float

return $input/10; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

Name=ub  Title=UB

Data type=int16   R/W=Read Only

Address=40025

Transfer=js  Data type=float

return $input/10; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

 

Name=uc  Title=UC

Data type=int16   R/W=Read Only

Address=40026

Transfer=js  Data type=float

return $input/10; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
2.2.4 回风温湿度

这个空调支持多个回风温湿度,但我们机房由于简单,只有一路。所以新增一个回风温度和一个回风湿度。这个值和电压值一样,需要除10转换为浮点数: 

 Name=bk_temp1  Title=back templature1

Data type=int16   R/W=Read Only

Address=40031

Transfer=js  Data type=float

return $input/10; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

Name=bk_humidity1  Title=back humidity1

Data type=int16   R/W=Read Only

Address=40034

Transfer=js  Data type=float

return $input/10; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
 2.2.5 开关机控制

这是一个读写数据标签,写入0x10表示开机,写入0x1F表示关机。

Name=start_stop  Title=Start Stop

Data type=int16   R/W=Read/Write

Address=40101

2.2.6 远程温度设定

这也是个读写标签,但有特殊情况需要注意,因为读取的原始值除10才是我们需要的温度值,所以,反过来我们写入的温度浮点数也需要乘以10,之后才能写入到设备中。如下图,除了读取需要的transfer JS脚本,我们还需要写入时inverser JS脚本。 

 Name=temp_set  Title=Templature Set

Data type=int16   R/W=Read Only

Address=400104

Transfer=js  Data type=float

transfer js

return $input/10; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

inverser JS

return $input*10; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

2.3 完成之后的标签数据列表

我们机房的空调监控比较简单,监测如上的数据和控制也就够用了。

3 运行测试

先给控制箱通电,使得串口服务器启动。当然空调也需要通电。然后,你启动刚才的项目。如果一切正常,那么你会看到空调的数据都能显示正常。

此时,你可以在start_stop标签 Writer列的输入框中,写入0x10的十进制数16,然后点击右边写入小按钮,看看空调是否能启动。然后写入0x1F十进制数31,查看空调是否能停机。如果测试正常,说明我们在监控软件端已经能够远程控制空调运行和停止了。

对应标签temp_set,你也可以尝试写入温度值,然后到空调的面板进行查看是否写入成功。

至此,我们已经完成了对接空调的工作。下一篇文章我们将要对接每个监控柜的电流信号,这个稍微有点特殊:电流模块输出4-20mA信号,我们通过一个AD模块进行转换,形成Modbus输出的数字信号。

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/qq_40065619/article/details/135360993","extend1":"pc","ab":"new"}">>
注:本文转载自blog.csdn.net的柱子jason的文章"https://blog.csdn.net/qq_40065619/article/details/135360993"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!