3.2 单片机程序设计
在主程序中,先将单片机及其存储器初始化,进入死循环,等待中断程序。中断程序包括:A/D采集中断,他主要是将采集到的电压,电流瞬时信号值处理并保存;另外1个就是串口通信中断程序,他的主要作用是:当接收一个地址时,判断是否是本机地址,若是则判断控制命令,否则结束。继续执行PC机接收的数据命令,分别表示停机、充电、放电等命令。通过字符串比较,判断出执行的命令。具体流程如图5所示。
3.3 PC机程序设计
PC机的人机交互界面由C++Builder语言开发实现的,他主要包含通信模块,数据显示和处理模块。在综合考虑开发效率和程序功能后,选择了Win32API函数来编写通信程序。此函数在C++Builder里面中均已被声明,直接引用即可。为了提高通信程序的响应速度,程序通过Thread类实现多线程通信。在主线程中打开串口并发送数据,另外再建立1个线程来监听串口,若接收到数据后就调用数据分析和处理线程,显示状态曲线并且将数据录入数据库。部分程序代码如下:
以3个站点的充放电实时监测为例,在PC机上可显示如图6所示的实时信息。
4 结 语
基于RS 485的远程充放电装置控制系统可以实现1台PC机上最多可控制32个站点。由于RS 485采用的是平衡驱动和差分接收的方法,因此能从根本上消除信号地线,有很强的抗共模干扰信号的能力。他还具有一对线路驱动器和接收器,能够作长距离的信号传输,最长为1 200 m。且传输结构简单、成本低、实用性强。可以广泛应用与工作环境恶劣,耗时劳民的充放电现场。