由于目前全国电力紧张,导致市电供应不足,设备和电源都通过远程维护,但只是对其电气参数的设置与修改,对油机部分的起停控制没有实现无人值守功能,因此遇到市电停电且蓄电池欠压时需要维护人员驱车赶到远程机房启动油机,来电后又需要去关闭油机,带来很多的不便和巨大的维护费用。为了解决这个问题,保障交换机的可靠运行和减轻维护人员的劳动强度,急需要设计一种可提供远程自动启动、停止控制,并能实时采集油机运行参数,交互方便、运作稳定的智能监控系统。本文主要介绍此智能监控系统中的控制台子系统的设计与实现,采用面向对象和自顶向下的设计方法,以Delphi作为软件编程工具,设计出控制台管理软件,它根据市电和蓄电池的电压情况自动控制油机的启动、停止工作,同时可以通过廉价的通信手段进行组网,实现多台油机的集中控制和远程控制;此外还具有油位告警,运行历史记录等功能。系统设计思想和整体框图油机智能监控系统可分为油机子系统和控制台子系统:油机子系统是一个独立功能系统,其运行可以不依赖于管理子系统(例如:当出现市电供电故障时,限使是管理子系统不对他进行控制,它也能够自行启动油机供电。)相对于控制台子系统,它是被动管理般情况下不主动向管理子系统发送信息,只有管理子系统主动发出查询或设置油机参数命令请求时才被动地发送信息给管理子系统;控制台子系统主要是提供一个和油机子系统交互的管理界面,进行远程控制,提供用户交互界面,进行各个油机任务管理,处理油机信息。系统整体框图如所示。
控制台收到油机数据后通过交互界面提交给用户。自维功能每隔一定时间,控制台就会获取当前系统时间,把该时间与用户设定的某一油机“自维”任务时间比较。若“自维”时间到,则向相应的油机控制器发送“自维”命令。相应的油机控制器收到“自维”命令后就会启动“自维”功能,向油机自身的蓄电池进行充电,并反馈“该操作是否成功”给控制台。控制台通过交互界面向用户提交操作结果。人制功能(界面主线程)用户通过控制台的交互界面可以对某一油机进行人工开/关机,油机参数设置,手工油机状态查询。控制台会发送相应的命令“开/关机”、“参数设置”、“状态查询”给油机控制器。油机控制器进行相应的操作后会反馈“操作是否成功”给控制台。控制台通过交互界面向用户提供操作结果。计算机应用与软件2007年ConHanle中接收一条消息,并解析收到的消息。成功返回True,否则返回False.根据以上这些方法,设计出了的油机类OilClass.该类除了应该包含上述方法外,还包含了各个方法中用到的数据成员(如ConHandle,它用于存放连接建立后的连接句柄)。
控制台子系统主要功能的设计与实现轮询、自维功能的实现用一个单独的任务线程来实现轮询和自维功能。该线程不断地对一个任务链表进行遍历,链表中一个元素就对应了一个油机类对象(OilClass),该线程不断的查询油机对象是否有任务,有则发送对应的控制命令。线程首先获取系统当前时间,检查是否遍历到了任务链表的尾部,如果是则表明已经遍历一次所有油机,线程休眠一段时间后重新开始;如果没遍历到链表尾部,则在查询下一链表元素前判断主线程有没有发送人工控制命令的需求,如果有则应该挂起本线程,进入人工控制(高优先级)。若没被挂起则判断当前链表元素是否有自维任务且自维任务时间到来,有则通过对应的连接方式发送有机自维命令,并接收返回数据,没有则什么也不做。完成链表对象的自维任务后还需要进行状态查询,通过对应的连接方式发送查询状态命令,并接收数据返回。完成后返回,如此不断循环。其流程图如。轮询自维功能实现流程人工控制功能的实现人工控制是通过界面所在的主线程实现的,要求人工控制油机开关比轮询和自维的优先级要高。即当系统发现人工控制命令后,执行完当前油机的轮询、自维任务后就中断任务线程,转入工人控制命令处理。判断任务线程是否被挂起,若没有则显示中断任务线程失败,否则通过对应的连接方式发送人工控制命令,并接收返回数据,恢复任务线程。其功能实现流程如。人工控制功能实现流程结论该柴油发电机智能监控系统是集事件控制、数据实时显示与存储、数据后处理等功能于一体的综合性应用系统,成本低、适用范围广、组网的通信费用低、性能稳定可靠,具有良好的扩展性和兼容性。其控制台子系统在实际运行中运行良好,系统功能基本实现。此系统不仅仅只应用于通信行业,在其他工矿企业、医院、银行、酒店等也需要自动及时地对油机进行控制,以便及时供电,增加经济效益和提高服务质量。