APP下载

基于状态机方法的国网专变终端控制模块设计与实现

2022-08-12周军武

现代信息科技 2022年8期
关键词:合闸电控定值

周军武

(宁波三星智能电气有限公司,浙江 宁波 315034)

0 引 言

状态机提供一种以系统状态为中心、以事件为变量的设计方法,它专注于各个状态的特点以及状态之间的相互转换关系。状态的转换是由事件引起的,在研究某个具体状态的时候,我们必然会考虑任何一个事件对这个状态有什么样的影响。这样,每一个状态中发生的每一个事件都会在我们的预料之中,也就不会留下逻辑漏洞。逻辑完备性是状态机编程最大的优点。专变终端控制模块各项子功能之间存在关联性,其在运行调度的过程中需要良好的协调能力。采用状态机方法进行设计可使控制逻辑结构更加清晰,大大提高了程序的鲁棒性,降低异常情况发生的概率,对保证产品品质具有很大的帮助。

1 功能需求

专变终端控制模块的功能主要分为功率定值控制、电量定值控制、保电控制、遥控这四种。

1.1 功率定值控制

终端功率定值控制按照控制参数的不同可分为厂休控、时段控、营业报停控,下浮控。终端在接收到主站下发的控制投入命令和设置参数后,当未处于保证用电的状态时,如果所监测的实时用电功率超过限定额度,就会发出告警并根据基于控制条件的判断结果和设置参数执行跳闸动作,直到控制解除之后才允许用户合闸,并对过程状态信息进行记录和提示。

1.2 电量定值控制

电量定值控制主要分为月电控和购电控两种。终端在接收到主站下发的控制投入命令和设置参数后,如果采集到的月电量或剩余电量超过使用额度,就会发出告警并根据基于控制条件的判断结果和设置参数执行跳闸动作。月电控在控制解除或月末24时允许用户合闸;购电控在控制解除或重新购电使剩余电量大于跳闸门限时允许用户重新合闸,控制状态、过程等信息应有记录和提示。

1.3 保电控制

保电即保证用电需求,终端在接收到保电投入命令或与主站通信中断后,则解除原有控制状态且在任何情况下都不再执行跳闸命令,直至通信恢复或收到解除命令。终端保电在投入和解除前后记录控制状态信息。

1.4 遥控(远程控制)

终端在接收到主站的跳闸控制命令后,会立即对按照设定参数确定的被执行对象进行拉闸动作。直至接收到允许合闸控制命令后才允许用户合闸。控制状态信息应有记录和提示。

2 设计实现

2.1 总体设计框架概述

控制模块主要为专变终端提供负荷管理控制功能,主要包括功率控制、电量控制、遥控、保电、催费报警等功能。控制模块以独立任务的形式进行业务判断和实时处理,与其他外部模块完全独立,但需要外部模块提供总加组等数据。控制内部模拟多任务方,保电、功控、电控等功能由主函数负责业务判断,然后由专门的控制、保电等切换状态函数负责最终的拉合闸、声光、液晶显示等硬件状态切换。设计框图如图1所示,整体实物效果如图2所示。

图1 控制模块设计框图

图2 终端控制功能运行效果示意图

2.2 控制状态切换状态图

功控和电控控制状态的转换统一为一个状态切换函数对状态迁移进行集中管理。控制整体状态切换图如图3所示。

图3 控制状态切换图

3 控制子模块设计

3.1 功率控制

3.1.1 功控设计说明

功率控制的种类包括时段控、厂休控、营业报停控、功率下浮控:

(1)时段控是指在一天当中,将24小时最多分成8个时段,并设定各个时段的功率定值,以此为依据对用户进行用电控制。一般用于错峰用电,按最近一次时段投入参数的总加组滑差功率进行控制。功率时段控最多有3套方案,每套定值方案最多可配置8个时段功控定值,不同方案的时段可有不同的功率定值,终端根据主站下发的方案号进行功率控制。

(2)厂休控是指对一周内的某几天设定控制定值,并以此为依据对用户进行用电控制。一般用于诸如停三开四之类的负荷控制。

(3)营业报停控是指在用户申请停业期间对用户进行用电控制。

(4)功率下浮控一般用于临时限电,以当前滑差功率为基准求得限值。

功控存在四个控制类型,均取滑差功率进行判断,仅限值及控制时间条件不一致的情况,因此整个功控功能仅需一个功控检测函数即可实现,将获取功率定值以及进行时间检查两部分剥离出来,根据不同的功控类型来判断控制条件,取功控定值。

3.1.2 功控实现流程图

控制模块内部模拟多任务异步执行,功控检测函数仅负责控制业务逻辑判断,不执行具体的跳合闸及液晶显示、声光报警工作,只需将对应状态置位,由统一的控制状态切换函数来实现最终的状态切换。功控检测函数流程图如图4所示。

图4 功控实现流程图

3.2 电量控制

3.2.1 电控设计说明

当地闭环电量控制有月电控、购电控两种控制方式。两种电量控制具有相同优先级,可同时执行。在参数修改、控制投入或解除以及控制执行时有蜂鸣器告警通知客户。电控的失效和生效原理与功控相同,电控的必要条件为总加组已配置且轮次已设置。电控投入后根据主站新设置参数而自动调整的方式与功控相同。所有电量控制一旦超过定值,无需延时,LED、蜂鸣器、LCD同步动作。

控制模块内部模拟多任务异步执行,电控将月电控及购电控逻辑判断函数分两个业务函数执行,该函数不执行具体的跳合闸及液晶显示、声光报警工作,只需将对应控制状态置位,由统一的控制状态切换函数实现最终状态。

电控非跳闸前告警,由专门的告警函数实现,区分控制状态切换函数中拉闸前告警功能。

3.2.2 月电控流程

月电控业务函数根据外部模块提供的总加组、月电量等数据,执行业务层面的判断并置位控制标志,月电控业务流程如图5所示。

图5 月电控流程图

3.2.3 购电控流程

购电控业务函数根据外部模块提供的总加组、月电量和剩余电量等数据,执行业务层面的判断并置位控制标志,购电控业务流程如图6所示。

图6 购电控流程图

3.3 遥控

3.3.1 设计说明

遥控又称为远方控制,主要用于现场调试,即负荷管理的情况下实时下发拉合闸命令。遥控支持控制过程中突然停电重新上电后,终端依然可以正常检测判断,所有之前的控制命令及参数不会丢失。如果终端已经跳闸,则开始对用户限电,突然断电再上电后,终端从可以跳闸开始接着计算(终端上电可能有保电)限电时间,直至到达规定时间则解除用户跳闸状态。如果终端还在告警中,突然断电,则重新上电后重新告警延时。

3.3.2 功能状态图

遥控状态主要分为以下几种:收到主站的拉闸命令而执行拉闸状态、收到主站的合闸命令而执行合闸状态、拉闸前告警状态、控制超时解除状态(未控制)、检测是否控制超时状态。遥控主函数主要负责各状态切换,以及各状态下的相关声光、液晶显示操作。在控制模块中,模拟多任务方式,遥控主函数主要负责遥控状态切换,UTM模块收到拉合闸命令,只需将当前遥控状态作为参数传递给遥控主函数即可。遥控状态切换如图7所示。

图7 遥控功能状态图

3.4 保电

3.4.1 设计说明

保电状态下终端在任何情况下都不执行跳闸命令,如果已有跳闸则立即合闸。

3.4.2 功能状态图

保电状态主要分为以下几种:收到主站的保电投入命令而执行投入保电状态、收到主站的保电解除命令而执行保电解除状态、未投入状态、自动保电解除状态、自动保电投入、保电检测状态等。保电主函数模拟状态机,主要负责各状态切换,以及各状态下的液晶显示操作。保电状态切换如图8所示。

图8 保电功能状态图

3.5 催费告警

3.5.1 设计说明

主站下发催费告警命令可实时提醒用户及时缴费购电,蜂鸣器和LCD同步动作。支持读取控制状态和参数设置状态,该状态与终端参数及命令下发状态一致,保电情况下支持催费告警。在用户重新缴费之后,根据主站下发的解除命令解除告警。

3.5.2 功能状态图

催费告警功能相对简单,主要体现在几个状态切换,涉及告警态、告警检测态、告警投入态、告警命令解除态、告警解除态;因此也同保电处理,模拟状态机方式,在主函数中实现,外部负责参数更新及更新控制投入解除状态,催费告警接口函数负责状态切换及具体业务判断及功能实现。催费告警状态切换如图9所示。

3.6 控制数据保存

控制中部分关键的命令,尤其是剩余电量计算中相关的关键数据均需妥善保存,该子模块主要负责控制模块中数据的保存及处理机制。控制功能涉及拉合闸可能会产生严重影响,所有控制命令、剩余电能量等关键数据均采用了非易失性的铁电和EEPROM存储器备份存储,防止数据丢失。同时存储控制命令整体采取16位CRC效验,备份存储也采取CRC效验。设计控制存储机制时考虑了存储设备的寿命特性,针对铁电采取每1分钟存储一次,针对EEPROM每5分钟或停电时存储一次。终端上电之后,按参数、电量、命令从不同存储介质中获取相关数据,用全局变量缓存,方便控制模块判断使用情况以及进行相应更新。

图9 催费告警功能状态图

4 结 论

专变采集终端本身业务功能设计较为复杂,总体代码量多达几十万行,这对产品代码的后期维护带来不小的挑战,因此在产品的开发阶段就必须要建立业务流程清晰,功能模块彼此独立又可以灵活扩展的设计框架,实现这一目的则需采用一种高效可靠的设计方法,应用有限状态机设计控制模块的总体程序框架不失为一种优良的方案,其在产品的实际运营中也取得了维护投入低、客户投诉少的良好成效。因此,基于状态机思想的设计方法对电网自动化信息采集设备在一些业务场景中的具体应用具有极其重要的指导和借鉴意义。

猜你喜欢

合闸电控定值
断路器合闸线圈烧毁原因分析
500kV断路器配PCS-9830型选相合闸装置现场带电调试技术
利用基本不等式破解最值问题
例说几何定值的证明方法
与圆锥曲线定值问题交交手
PLC技术在煤矿提升机电控制系统中的应用
两个有趣定值
电控汽油发动机故障诊断误区浅析
断路器分合闸线圈保护方案
简析井口操车电控与操车信号系统