Page 15 - 电力与能源2022年第一期
P. 15

白纪军: 智能社区电池储能监控系统设计与开发                                       9

              报表的形式显示和存储。                                      事件结构内部采用一个平铺式顺序结构来保证执
                                                               行顺序: 第一步根据用户输出的查询条件, 判断所
              2  电池储能监控系统的软件开发
                                                               要查询的数据库和数据表, 把日期格式转换为查
              2.1  电池储能监控系统的数据库及功能                             询条件字符串; 第二步打开数据库, 查询符合条件

                   电池储能监控系统采用数据库的方式存储数                         的历史数据, 把变体类型数据转换成字符串格式,
              据, 可方便数据的存储和管理, M y SQL 数据库有                     以表格形式显示在用户界面, 同时把变体类型数
              功能完善的数据库管理系统, 能有效组织和管理                           据创建波形数据, 输出给波形图表, 在软件界面上
              大量存储在数据库中的数据。数据库的设计是管                            显示为历史曲线。
              理系统开发的一个重要步骤, 是实现历史数据查                          2.2  数据采集模块功能开发
              询和历史事件分析功能模块的基础                 [ 4-5 ] 。            通信服务器会对所有接入系统的智能终端统
                  PCS有历史数据表, 也可用来保存 PCS 运行                     一管理, 客户端软件在通信链路方面的设计比较
              的实时运行数据。 PCS 的历史数据与事件的查                          简单, 只需要建立和维持与通信服务器之间的一
              询过程基本相似, 设置好查询条件后, 软件根据查                         个链接就可以。召测命令, 即事先写入到一个数
              询条件生成数据库查询语句, 打开数据库链接, 查                         组常量中去, 通过数据索引, 依次得到数组内的每
              询所有符合条件的历史数据, 把返回的结果进行                           一条命令, 根据数组的大小, 也就是数组内命令的
              相应的处理, 然后生成报表或曲线显示在用户界                           条数, 通过每次调用增加索引值来实现这一功能,
              面, 历史数据查询流程如图 3 所示。                              读取召测命令软件实现的程序由 3 条报文组成,
                                                               在无用户界面操作的情况下, 系统会依次执行这
                                                              3 条命令。
                                                                   可以通过输入不同的设备地址、 功能码和寄
                                                               存器地址来动态生成召测命令, 但每一次都要计
                                                               算校验码, 这会增加计算量。当通信协议确定下
                                                               来后, 召测报文就不会改变, 这与参数设置是不同
                                                               的, 因为在参数设置时, 每次用户输入的参数是不
                                                               一样的, 事先不可能把所有可能的情况都事先算
                                                               好, 从系统执行效率方面考虑, 数据召测命令才采
                                                               用这种事先计算好每条命令的校验码, 生成一个
                                                               数组常量, 这样软件每次执行到这一步的工作就
                                                               是取出事先计算好的召测命令, 而不用再花费时
                                                               间和系统资源去生成指令了。
                                                              2.3  数据显示模块功能开发
                                                                   对收到的用户数据簇, 首先检查校验结果, 如
                                                               果校验错误, 则丢弃本数据包, 读取下一组数据;
                                                               如果校验正确, 则根据设备地址、 功能码和字节长
                                                               度, 区分不同设备的数据, 并根据通信协议的约
                                                               定, 进行系数和偏移量的处理, 得到最终显示给用
                                                               户的数据, 并以不同形式显示出来, 如曲线图、 柱
                                                               状图、 表格等直观的形式来展现。
                                                                   电池储能监控系统的主要用户界面显示了功

                                                               能模块, 如储能系统图、 实时曲线、 告警信息、 PCS
                                                               控制、 历史数据、 告警查询等。
                          图 3 PCS历史数据查询流程图
                                                                   电池储能监控系统前面板显示的实时运行数
                   由图 3 可知, 在进行 PCS 历史数据查询时,
                                                                                             ( 下转第 76 页)
   10   11   12   13   14   15   16   17   18   19   20