艾默生UPS状态监视系统的设计
本文主要针对艾默生UPS电源状态信息的采集与监视进行研究,并对监控信号通讯协议进行分析,开发出艾默生UPS状态监视系统。本文阐述了艾默生UPS状态监视系统开发的三个主要研究方面:
(1)UPS的主要结构;
(2)通过对监控信号通讯协议的分析找到UPS的状态信息的采集点,以及对于采集到的状态信息如何解码;
(3)监控系统的软件设计。
1 艾默生UPS的结构
UL33系列 UPS的结构主要包括:REC(整流模块)和INV(逆变模块)组成的 交流- 直流- 交流变换主回路,旁路静态开关, Q3 BP(维修旁路空开),TR2(输出隔离变压器),逆变静态开关,蓄电池组以及Q1(输入),Q5(输出空开)等。
2 监控信号通讯协议分析
UPS有RS232的串口用于通讯,可以将监控终端通过串口和UPS相连,采用询问应答的方式进行通讯,监控终端向UPS每发送一次命令信息,UPS向监控终端返回一个应答信息。
其中CID1为控制标识码,对于UPS该码值为2AH,CID2为命令信息,对于监控终端向UPS发出的询问信息来说,CID2的值表示监控终端询问的项目,UPS收到监控终端的询问信息后,再根据CID2值所反应的询问项目作出相应的应答。
例如当监控终端发出的命令信息中CID2的值为41H时,表示监控终端想获取模拟量量化数据,然后UPS再向监控终端发出响应信息,并在响应信息中以特定的格式包含模拟量量化数据的信息。
DATAINFO由RTN GROUP,DATAFLAG与DATAF组成,RTN GROUP是与COMMAND GROUP对应一致的,DATAF为UPS遥测量内容。
例如:当监控终端向UPS发送命令信息7E 20 01 40 41 E002 01 FD3C 0D时,表示询问UPS的系统模拟量量化数据。当UPS收到该条命令信息后会以“表4相应信息”中的格式向监控终端返回一条应答信息。
在基本格式中除SOI和EOI这两项是直接以十六进制解释(SOI=7EH,EOI=0DH),十六进制传输外,其余的项目都是以十六进制解释,然后以十六进制转ASCII码的方式进行传输,每个字节用两个ASCII码表示,即低四位用一个ASCII码表示,高四位用一个ASCII码表示。例如: CID2=4BH,传输时先传送高位“4”的 ASCII码34H,再传送低位“B” 的 ASCII码42H。
其信息长度:96个ASCI码
然后从DATAINFO信息中按照表5中的格式依次解析出“交流输入相电压A”、“交流输入相电压B”、“交流输入相电压C”、“交流输出相电压A”、“交流输出相电压B”、“交流输出相电压C”、……等等变量的浮点值。
通过以上分析可知:按照UPS监控信号的通信协议,可以编写监控软件与UPS进行通讯,从而获取UPS的应答信息,然后根据通讯协议编写解码模块对收到的应答信息进行解码,即可获得UPS的状态信息。
3 软件设计
软件选用C#语言进行编程,分为三个主要的功能模块:
3.1 询问模块
该模块对UPS发送询问命令信息,把需要发送的命令放入一个数组中,然后循环从数组中取出命令信息进行发送。
3.2 接收和解码模块
该模块对收到的来自UPS的应答信息进行接收和解码,得到相应的UPS参数。
3.3 |UI模块
该模块把解码后得到的UPS参数在界面中显示出来。
4 结语
本文选用C#语言进行编程,通过对艾默生UPS通讯协议的研究,设计并开发出一套艾默生UPS状态监视系统。可以在一台普通电脑上安装该软件,利用串口连接UPS就能很方便地查看UPS设备运行状况。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
轻松玩转 Scikit-Learn 系列 —— 线性回归及 ML 相关评价标准
线性回归可能是机器学习中最简单、最基础的算法了。但一定不要因为它简单就轻视它的存在,因为它也是很多更高级机器学习算法的基础,比如多项式回归、岭回归、 LASSO 回归等。线性回归的核心归结为求解正规方程(由样本特征x所得预测值y'和实际值y差的平方和,对x求偏导并使其为0所得的方程组),也就是利用最小二乘法求解方程系数。当x为一个n维向量时,方程的物理意义也被扩展为求解一个n维超平面前的系数。在介绍线性回归之前,让我们先了解下衡量线性回归预测结果好坏的指标。 1、相关评价标准 1)均方误差 MSE (Mean Squared Error) : 2)均方根误差 RMSE (Root Mean Squared Error) : 3)平均绝对误差 MAE (Mean Absolute Error) : 4)R方误差 ( R Squared ) : 应根据不同的应用场景和需求来选择不同的评价指标,没有其中一个平白无故的比另一个更好。具体来说,RMSE就是MSE的平方根,但它的量纲与要预测的y值的量纲相同,更有意义,MAE 因为带有绝对值而不方便求导,而 R Squared 因为无量化而更具有通...
- 下一篇
阿里员工都是这样排查Java问题的,附工具单
平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。 Linux命令类 tail 最常用的tail -f grep awk 1 基础命令 2 匹配 3 内建变量 NR:NR表示从awk开始执行后,按照记录分隔符读取的数据次数,默认的记录分隔符为换行符,因此默认的就是读取的数据行数,NR可以理解为Number of Record的缩写。 FNR:在awk处理多个输入文件的时候,在处理完第一个文件后,NR并不会从1开始,而是继续累加,因此就出现了FNR,每当处理一个新文件的时候,FNR就从1开始计数,FNR可以理解为File Number of Record。 NF: NF表示目前的记录被分割的字段的数目,NF可以理解为Number of Field。 find pgm 批量查询vm-shopbase满足条件的日志 tsar tsar是咱公司自己的采集工具。很好用, 将历史收集到的数据持久化在磁盘上,所以我们快速来查...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- CentOS8安装Docker,最新的服务器搭配容器使用