摘要:介绍了一种由一台计算机实时监控多台大功率开关电源的实现方法,采用了RS?232C和RS?485双串行通信总线标准接口,实现了计算机可以实时采样和设置电源输出电压、输出电流和各个开关量的状态。关键词:通信;监控;总线
1引言近几年来,开关电源技术得到了迅猛发展,对开关电源的智能化要求也越来越高。开关电源监控系统作为实现开关电源系统智能化要求的一部分,也越来越得到广泛的应用。开关电源监控系统的重要功能是通过电源与计算机的通信模块完成与监控中心的信息交换,接收监控中心的各种监测与遥控命令,并将电源的各种状态信息反馈给监控中心。监控系统通信模块的设计是组建开关电源监控系统的关键所在,该系统中所设计的监控系统通信模块与计算机通信的重要特点是实现了计算机与电源的主从总线1∶N通信方式,并且采用了RS?232C和RS?485双串行通信总线标准接口。本文所介绍的开关电源监控系统实际应用于对作者自行研制的多台12V,5000A电镀用开关电源进行实时监控,实现了由一台计算机对多台电镀电源的远程监测与遥控。2监控系统通信模块设计为了组建开关电源监控系统,系统中的每台电源配置了一个独立的监控系统通信模块。监控系统通信模块采用的控制芯片是MCS?51系列单片机80C52。80C52具有8k的内部ROM和256字节的内部RAM。监控系统通信模块电路结构图如图1所示。计算机通过该通信模块可以实时读取电源的输出电压、输出电流值以及输出过压、输入过压、输入欠压、过流、过热、运行/停止等8路开关量的状态值,并可以在输出值允许的范围内任意设置电源的输出电压、输出电流值和复位、合闸、分闸、机控/本控4路开关量的状态值。从监控系统通信模块电路结构示意图可以看出,假如计算机要读取电源模块的输出电压、输出电流值和开关量的状态时,单片机收到请求命令后启动A/D转换芯片MAX182对电源的输出电压、输出电流两路模拟量进行转换,转换后的数据送入单片机进行数据处理。同时表征电源运行状态的8路开关量从双总线收发器74LS245读入送至单片机寄存器存贮。单片机将所有处理后的数据按预定数据传送格式发送给计算机输出显示。计算机要设置电源的输出电压、输出电流值和4路开关量的状态时,计算机将设置好的数据按预定格式发送给单片机。单片机接收处理后启动D/A转换芯片MAX532和输出锁存器74LS573将处理后的输出电压、输出电流值和开关量状态值输出给电源。监控系统通信模块从而实现了计算机对电源的实时监控。为了保证设计人员的安全和防止通信模块受电源影响而损坏,电源与通信模块之间的信号传递均通过光耦隔离。
为了确保电源与计算机在不同应用场合的准确通信,该监控系统通信模块采用了RS?232C和RS?485双串行通信总线标准接口。RS?232C是由美国电子工业协会(EIA)正式公布的、在异步串行通信中应用最广泛的标准总线,适于短距离或带调制解调器的通信场合。其逻辑电平对地是对称的,与TTL、MOS逻辑电平完全不同。逻辑0电平规定为+5V~+15V之间,逻辑1电平为-5V~-15V之间,模块中采用了MAX232驱动芯片进行电平转换。RS?232C标准接口的重要缺点是数据传输速率慢、传送距离短,抗干扰能力差。模块配备RS?232C标准接口使得任何含有串行通信口的计算机均可以实现和电源的通信,具有广泛的适应性。RS?485标准接口为差分驱动结构,它通过传输线驱动器把逻辑电平变换为电位差,完成信号的传递。RS?485具有传输速率快、传送距离长、抗干扰能力强等优点,模块中采用了MAX485驱动芯片进行电平转换。MAX485输出的差分信号需经RS?232与RS?485转换模块转换后才能送至计算机,所以所有使用RS?485与电源进行通信的计算机必须安装232/485转换接口卡。本模块配备的RS?485通信总线标准接口使得监控系统通信模块可以适用于环境干扰比较大的工业现场的长距离通信。3监控系统通信协议设计开关电源监控系统要实现一台计算机对多台电源的实时监控,必须制定准确的通信协议。通信协议是通信双方为实现正常通信所作的约定,所制定的规则。两进程要相互通信,就必须遵守这些约定规则。该监控系统设定的通信协议优点是实现了一台计算机可以同时监控多台电源的主从总线1∶N通信方式。在总线结构上有一个主站、即计算机,N个电源做为总线结构上的从站。主从总线1∶N通信方式可以采用多种通信协议实现总线使用权的分配,本系统中使用的地址查询方式,主从总线1∶N通信方式的监控系统结构示意图如图2所示。系统给每个电源分配唯一的一个地址号,计算机分配一个固定的地址号。当计算机要和某台电源建立通信时,计算机发出一个含有该电源地址号的请求命令包。挂在总线上的所有电源一直处于等待接收数据状态,计算机所发出的请求命令包将被所有的电源所接收。每个电源将接收到的请求命令包中所包含的电源地址号与本模块的地址号相比较,只有地址号与计算机所发出的请求命令包中所包含的地址号相同的电源才与计算机建立通信,响应计算机所发出的请求命令。其它地址号不相同的电源将拒绝响应计算机的请求命令,继续保持接收数据状态,等待响应计算机发出的下一个请求命令包。系统中的这种地址查询方式实现了任何时候总线上最多只有一台电源与计算机通信,其它电源处于等待接收数据状态,从而有效地防止了总线使用权的冲突。
计算机请求命令包格式如图3所示。该命令包采用的是异步通讯格式。4个字节的起始符和结束符分别用来表征命令包的开始和结束,目的站地址就是计算机所希望建立通信的电源地址号,源地址是计算机地址号。命令码是计算机对电源所发出的命令信息,用来表征计算机发出的命令是希望读取电源的输出电压、输出电流值以及开关量的状态值还是希望设置电源的输出电压、输出电流值以及开关量的状态值。校验码和信息长度是用来检验数据传输是否正确、有无数据丢失的信息量。数据信息是命令包的重要部分,包含命令包所要传送的输出电压、输出电流值和开关量的状态值等数据信息(仅设置电源状态命令包含有此项,读取电源状态命令包不含此项)。当电源接收到计算机发出的请求命令包后,执行完计算机命令的相关操作后必须返回计算机一个应答数据包。电源响应计算机的应答数据包也采用相同的数据包格式,只不过目的站地址和源站地址分别为计算机地址号和电源自身的地址号。
4监控系统软件设计该监控系统软件设计重要由两部分构成,一部分是安装在电源上的通信模块软件设计,另一部分是用于计算机监控的上位机软件设计。监控系统通信模块控制芯片是80C52单片机,通信模块软件采用汇编语言编写,实现了数据采集、处理和与计算机通信等功能。软件设计采用中断查询方式。所谓“中断”就是计算机在执行某一段程序的过程中,由于某种原因,有必要中止原程序的执行,而去执行相应的中断处理程序,待处理结束之后,再回来继续执行被中断了的原程序。这种程序在执行过程中由于外界的随机原因而被中间打断的情况即称为“中断”。通信模块在未与计算机建立通信之前,主程序处于等待接收数据状态,不断查询外部串行口中断。一旦计算机发出请求命令包,所有通信模块接收到数据包后均进入串行口中断程序进行判断识别,只有地址号与数据包中所包含的目的站地址相同的电源才与计算机建立通信关系并解读请求命令数据包,根据命令出现相应的启动A/D、D/A或读取开关量、设置开关量等操作,并返回与请求命令数据包格式相同的响应数据包给计算机。通信模块程序框图如图4所示。
监控系统上位机软件采用C语言编写,实现的功能是发送监控命令包和解读通信模块反馈的应答数据包,并实时显示反应电源状态的输出电流、输出电压值和开关状态量。监控系统采用主从通信方式,首先由计算机给电源发出命令请求数据包,用于发送读取或设置电源状态的命令。当计算机发送的是读取电源状态命令时,计算机接收到从通信模块反馈回来的应答数据包后,将接收到的电源输出电压、输出电流值和开关状态量屏幕输出显示。为了实时更新读取的状态量,同样的读取命令包每间隔1s计算机自动重复发送一次。当计算机发送的是设置电源状态命令时,计算机在接收到通信模块反馈回来的设置成功的应答数据包后,立刻每间隔1s自动重复发送一个读取电源状态的命名包,用于屏幕输出显示设置完成后的电源输出电压、输出电流值和开关状态量。上位机软件框图如图5所示。5结语本监控系统已经用于对作者自行研制的多台12V,5000A电镀用开关电源进行监控,通过在现场与计算机的通信试验,实际监测和设置的各项参数均达到了设计指标,实现了集中监控和遥测多台电源的预定要求,运行情况良好。
参考文献
[1]侯永涛,王殿魁.电源监控系统对智能电源设备基本要求的探讨[J].邮电设计技术.1999(7).[2]薛均义,张彦斌.单片机微型计算机及其应用[M].西安交通大学出版社.1997.[3]邱公伟.可编程控制器网络通信及其应用[M].清华大学出版社.2000.