本文章是一个项目系列文章的第五篇,如果你还不了解前面的内容,请参考
前面的文章,我们完成了温湿度和漏水传感器的安装和配置,并且在你现场实施调试的笔记本上通过监控箱中的串口服务器完成了数据获取。
接下来,我们开始对接现场的空调设备。
1 空调连接电路
机房选用的空调设备为VERTIV Liebert DME精密空调。此空调提供RS485接口的Modbus RTU或YDN23电总协议。
和之前的温湿度和漏水传感器不同,空调自己供电独立运行,所以只需要一根两芯屏蔽电缆就可以接入到我们控制箱中的串口服务器中。我们把空调直接对接上串口服务器的COM2 RS485口。打开机柜,找到控制板对应的J14-A,J14-B就是此空调的外接RS485接口。
2 空调Modbus协议资料和软件连接调试
2.1 配置接入、通道和设备
由于串口服务器COM2 RS485对应IP和端口是192.168.5.11:8002。我们只需要通过此地址配置接入即可。在配置之前,我们需要在空调的面板上查找空调出厂时的RS485通信波特率,我们可以通过面板选择并设置波特率为9600。另外,由于我们串口服务器单独使用一个独立的RS485口对接,总线上除了串口服务器作为Modbus主设备,空调地址使用缺省的1就行。
在项目管理主界面中,点击"Connectors",在菜单中选择“Tcp Client”,或者在"Tcp Client"分组上鼠标右键,选择"Add Connection",这都可以弹出一个Tcp Client接入编辑对话框,我们填写内容如下:
然后,我们在中间项目根it_room上鼠标右键,选择“New Channel” ,编辑新的通道ch2,并且选择驱动为Modbus RTU。
然后,我们点击echcom2右边的连接方框,不松开移动到ch2节点左边的连接方框,松开鼠标,建立ethcom2到ch2的关联。
接下来,我们新建空调设备。在ch2通道上鼠标右键, 选择“New Device”,填写设备Name=air,其他都可不填写:
点击air这个设备节点,右边选择[Tags]选项卡,我们就可以在里面点击"+Add Tag"按钮添加数据标签了——后续的标签数据编辑界面就不做此操作说明了,直接给你显示编辑内容。
由于空调设备比较复杂,我这边根据厂家的参数和我们的需要,选取典型的几个内部数据来使用,这些典型的标签数据涉及数据转换、支持写入控制和只读几种情况。
2.2 配置空调设备数据
这种专业的空调,内部控制很复杂,协议定义内部的数据非常多,光设备报警状态预留的数据空间就达到18个字,每个字16bit,每个bit对应一种报警状态。当然,我们不需要提取显示这么多数据。因为,这些报警参数大多数都是在复杂的工业环境下,配套外置了各种传感器才能达到的效果。而我们的机房环境非常好,只需要部分空调的运行参数即可。
2.2.1 空调运行状态
首先,我们需要通过40021这个地址判断空调是否运行,需要取这个值int16,然后通过判断转换为是否等于0的运行状态(bool)。
我们新增标签run_b,窗口如下(后续如果非特殊情况,就不展示编辑界面了):
其中:
Name=run_b Title=空调运行状态
Data type=int16 R/W=Read Only
Address=40021
Transfer=js Data type=bool
return $input==0;
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
评论记录:
回复评论: