摘 要: 电力调度电话要求具备很高的可靠性,不仅在正常情况下,而且在恶劣的气候条件下和电力系统发生事故时,都要保证调度电话畅通。在这种情况下,设计了一套电力调度电话自动检测系统,它可以实现自动拨号、话音播放、话音记录、拨号周期设置以及线路故障记录等功能,通过周期性地采集目前调度电话的运行状况,再配合使用语音识别,能够尽早发现调度电话存在的缺陷,及时消缺,从而有效地避免调度电话同时瘫痪的情况,提高了通信运行维护能力,节省人力投入。
关键词:单片机;串口通信;Java;RS-232;comm.jar开发包;通信协议
0 引言
电力调度电话是实现电力调度有效指挥生产的重要手段,通常条件下,每个变电站都会开通两路或两路以上的独立调度电话通道。在使用过程中,由于个人习惯或便于记忆,一般大多固定一路电话来使用,特别是对于操作不多的站点,这就使得其余路电话长时间处于闲置的状态。如果两路电话中,有一路因为长期闲置出现故障并且没有及时处理,此时另外一路再出现故障时,将会造成整个站点全部调度电话的瘫痪[1]。
为了解决上述问题,本文提出并设计了一套电力调度电话自动检测系统,通过软件控制的方式在调度中心周期性地拨打所有入库的调度电话,检查线路状态,保证每一路调度电话的畅通,一旦发现故障记录在案,无需人为操作,从而有效地避免调度电话同时瘫痪的情况,有力保障调度电话线路畅通。
1 检测系统组成
电力调度电话自动检测系统包括检测系统硬件和自动拨号控制软件两部分。检测系统硬件由摘挂机检测模块、DTMF编解码模块、录放音模块、呼叫进程检测模块、核心处理模块和串口通信模块组成;自动拨号控制软件由串口通信模块、拨号管理模块、拨号进程管理模块、电话本管理模块、状态记录模块、安全管理模块和数据库模块组成。
检测系统通过硬件电路完成对数据的发送和接收,使用软件完成对硬件电路的控制和对数据的处理。设置好拨号周期与串口参数后,调用数据库中电话号码进行自动拨号,若拨通,播放录音,检测线路质量;若不通,判断故障类型,记录线路状态。软件部分实现对硬件电路的控制,如控制系统进程、开始、暂停、播放录音等;还实现对数据的处理,如编辑电话号码、记录线路状态、存储数据等。图1是电力调度电话自动检测系统结构框图[2]。
主要模块的功能如下:
(1)DTMF编解码模块。DTMF信号编码是将按键或数字信号转化成双音信号,DTMF信号解码是检测双音信号中的信息。系统使用DTMF编解码模块实现数字信号与模拟信号的转换。
(2)摘挂机检测模块。摘挂机检测电路用来检测电话机是否摘机,如果摘机则退出放大振铃或主叫话音的工作状态,进入通话状态。它是通过监测电话线路上的电压值来判断是否有摘挂机行为的。
(3)安全模块。该模块用于验证用户信息以及数据备份,工作人员凭用户、密码登录系统,防止其他无关人员进入,保证系统安全。同时实现数据库数据备份,在发生意外停机或数据丢失时,及时恢复数据。
(4)数据库模块。数据库采用MySQL设计,主要用于存储各个变电站调度电话的号码信息和状态信息。与电话本管理模块结合,用于记录调度电话信息,可以实现文件导入、号码编辑等功能;与状态记录模块配合,可以对当前线路状态进行记录。
(5)串口模块。串口模块主要完成控制软件和检测系统硬件之间的数据通信。软件形成相应指令,并通过串口传送给硬件,硬件接收指令后进行相应的操作,如自动拨号、播放录音等,硬件再将操作产生的数据通过串口返回给系统软件,进行解析处理[3]。
电力调度电话自动检测系统在电力通信网络中的应用系统如图2所示。整个系统由变电站、调度中心和通信网络组成,调度中心与变电站之间通过电力通信网络连接,电力调度电话自动检测系统放置在调度中心,通过电话线与电力通信设备相连。自动检测系统周期运行,按一定频率拨打各个调度电话,能够尽早发现调度电话存在的缺陷并及时消除,避免由于人为因素造成损失[4]。
2 关键技术
2.1 通信的实现
系统利用comm.jar包实现串口RS-232通信,串口采用监听方式检测数据,SerialPort的监听器继承于SerialPortEventListener接口,当有任何SerialPort事件发生时,将自动调用监听器中的serialEvent方法,一旦有数据返回,马上进行处理[5]。
本系统采用交互方式为全双工异步串行通信,通信速率为2 400 b/s。帧的每个字节由1位起始位、8位数据位和1位停止位组成。
一个完整的消息帧由帧起始、消息个数、消息类型、消息内容和校验和组成,消息帧格式如图3所示。消息内容可以是单字节也可以是多字节,有来电号码、摘机、挂机、振铃开始、振铃停止、重拨号码等。此外还有确认帧、重发帧、复位帧和按键帧等单字节帧。系统运行时,在接收到一个正确的消息帧后,回复一个确认帧以确认消息发送成功;每一个消息帧的发送是连续的,当收到一个字节后,在50 ms内没有收到下一个字节,则认为本次传输失败,接收方可以发重发帧请求重发,接收到重发帧时,不需要回复确认帧,直接重新发送上一个消息帧即可;发送复位帧则可以进行系统复位。
在正常情况下消息帧的传输过程是:发送方向接收方发出一个完整的消息帧,接收方接收到消息帧经校验正确后,向发送方返回一个确认帧,发送方在接收到确认帧后,确认消息发送成功,完成本次消息帧的传输;若100 ms内没有收到确认帧,需重发消息帧,当连续发送3次重发帧后仍未收到确认帧,则停止发送消息帧同时提示用户通信故障,并告知故障号。消息发送流程如图4所示。
2.2 线路状态检测
系统设计需要实时显示当前线路状态,主要通过检测系统回铃音实现。回铃音等电话进程音是载波为450 Hz的信号,各种信号的不同只是调制的周期、占空比不同,所以通过检测信号的占空比等数据就可以判断信号类型。
在单个呼叫进程中,可能出现的状态有故障、占线、无人接听和系统摘机4种状态,而4种状态对应的回铃音类型分别为无回铃音、忙音、有回铃音和回铃音中断。4种状态的波形如图5所示。设计电路,通过检测4种状态的波形来确定当前的线路状态。
2.3 录放音处理
在检测线路状态时,若检测到系统摘机信号,则需要播放录音,管理员通过话音判断线路质量。录放音模块就是实现这个功能,它可以进行10 s左右的语音录制,并将话音信息存储起来;在接到播放指令后,可以实现高质量自然的语音播放。此外,它还具有循环播放、点动播放、单遍播放等功能。
录音模块硬件上选择电平控制,高电平播放,低电平停止。控制可以实现开始、暂停、停止、循环播放等。
录音播放流程如图6所示,录音播放前控制状态需要为低电平。
电源电压为3~5 V,在录放模式下,按住REC录音键不放即开始录音,RECLED灯会亮起,录音在松开按键时停止,完成录制。
2.4 呼叫进程控制
系统软件流程大致如图7所示,系统运行后,加载Excel文件,将电话号码加载到数据库中,方便软件调用。选择通信串口,并设置波特率、数据位、停止位、校验位等参数。点击开始,程序从数据库中调取电话号码,并将电话号码按照一定格式编码。系统发送指令打开免提,调用编码后的电话号码进行拨号。拨号完成后,通过回铃音判断线路状态,若故障,则要根据返回消息确定故障类型;若摘机,则要播放录音,检测线路质量;若无人接听或者占线,则等待下一次呼叫。判断完成后,关闭免提,将每个号码的状态记录在数据库中,同时显示在表格里。待操作完所有号码后,程序结束,系统关闭,等待下一次运行。通过串口发送相应指令,系统可以控制呼叫进程,在系统运行时实现开始、暂停、停止、免提开关、重播、闪断、录音播放等。
3 结论
本文提出了一种应用于电力调度中自动检测的技术,整个系统实现了数据的采集、处理、传输、显示、通信、存储、查询和显示等功能。它周期性地采集目前调度电话的运行状况,再配合使用语音识别,把调度电话的状态实时记录下来,以便相关人员及时查看,能够尽早发现调度电话存在的缺陷,及时消除缺陷,从而有效地避免调度电话同时瘫痪的情况。整个系统具有高效、准确、及时的特点,满足调度电话自动检测故障的需求。
参考文献
[1] 曹洋.电力调度交换网组网研究[D].南昌:南昌大学电子与通信工程,2010.
[2] 戴峻峰.多功能电话监控系统的实现[J].工业计量示例,2010,20(3):21-23.
[3] 周海涛,高兴锁,江晓峰.基于java数据采集串口通讯的设计和实现[J].微计算机信息,2006,22(2-1):141-142.
[4] 王亓昌,李正明.基于电话网的配电负荷综合监测信息管理系统[J].电力系统自动化,2001,25(19):61-63.
[5] ECKEL B.Java编程思想(第4版)[M].陈昊鹏,译.北京:机械工业出版社,2007.