开关电源监控系统的设计

分享到:

 

     计算机请求命令包格式如图3所示。该命令包采用的是异步通讯格式。4个字节的起始符和结束符分别用来表征命令包的开始和结束,目的站地址就是计算机所希望建立通信的电源地址号,源地址是计算机地址号。命令码是计算机对电源所发出的命令信息,用来表征计算机发出的命令是希望读取电源的输出电压、输出电流值以及开关量的状态值还是希望设置电源的输出电压、输出电流值以及开关量的状态值。校验码和信息长度是用来检验数据传输是否正确、有无数据丢失的信息量。数据信息是命令包的主要部分,包含命令包所要传送的输出电压、输出电流值和开关量的状态值等数据信息(仅设置电源状态命令包含有此项,读取电源状态命令包不含此项)。当电源接收到计算机发出的请求命令包后,执行完计算机命令的相关操作后必须返回计算机一个应答数据包。电源响应计算机的应答数据包也采用相同的数据包格式,只不过目的站地址和源站地址分别为计算机地址号和电源自身的地址号。

4监控系统软件设计
       该监控系统软件设计主要由两部分构成,一部分是安装在电源上的通信模块软件设计,另一部分是用于计算机监控的上位机软件设计。
监控系统通信模块控制芯片是80C52单片机,通信模块软件采用汇编语言编写,实现了数据采集、处理和与计算机通信等功能。软件设计采用中断查询方式。所谓“中断”就是计算机在执行某一段程序的过程中,由于某种原因,有必要中止原程序的执行,而去执行相应的中断处理程序,待处理结束之后,再回来继续执行被中断了的原程序。这种程序在执行过程中由于外界的随机原因而被中间打断的情况即称为“中断”。通信模块在未与计算机建立通信之前,主程序处于等待接收数据状态,不断查询外部串行口中断。一旦计算机发出请求命令包,所有通信模块接收到数据包后均进入串行口中断程序进行判断识别,只有地址号与数据包中所包含的目的站地址相同的电源才与计算机建立通信关系并解读请求命令数据包,根据命令产生相应的启动A/D、D/A或读取开关量、设置开关量等操作,并返回与请求命令数据包格式相同的响应数据包给计算机。通信模块程序框图如图4所示。

       监控系统上位机软件采用C语言编写,实现的功能是发送监控命令包和解读通信模块反馈的应答数据包,并实时显示反应电源状态的输出电流、输出电压值和开关状态量。监控系统采用主从通信方式,首先由计算机给电源发出命令请求数据包,用于发送读取或设置电源状态的命令。当计算机发送的是读取电源状态命令时,计算机接收到从通信模块反馈回来的应答数据包后,将接收到的电源输出电压、输出电流值和开关状态量屏幕输出显示。为了实时更新读取的状态量,同样的读取命令包每间隔1s计算机自动重复发送一次。当计算机发送的是设置电源状态命令时,计算机在接收到通信模块反馈回来的设置成功的应答数据包后,立刻每间隔1s自动重复发送一个读取电源状态的命名包,用于屏幕输出显示设置完成后的电源输出电压、输出电流值和开关状态量。上位机软件框图如图5所示。

5结语
       本监控系统已经用于对作者自行研制的多台12V,5000A电镀用开关电源进行监控,通过在现场与计算机的通信试验,实际监测和设置的各项参数均达到了设计指标,实现了集中监控和遥测多台电源的预定要求,运行情况良好。