第5章 系统的软件设计
5.1 系统的软件设计
本系统软件包括3个部分:第1部分是以主机节点为管理中心的上位机的软件设计, 采用VB6.0开发,既可使系统与智能温度节点进行链接,又实现了友好的人机操作界面,用户可以在主控室设置大楼各房间的运行参数,查询各房间的温度及控制设备的运行情况,查看历史运行记录和实时运行费用等;第2部分是以AT89C52为控制核心的下位机的软件设计,采用汇编语言开发,主要完成键盘扫描与输出显示、现场温度数据的采集、超限声光报警、配置8155芯片的工作模式、AT89C52与8155芯片进行通信、温度控制算法及对调温设备的控制等;第3部分是与SJA1000为核心的通信程序设计,采用C51开发,完成与网络其他节点及上位机的信息交互,以及与AT89C52进行通信。
5.2 上位机的软件设计
主节点的整体软件流程图如图5.1所示。
开始接收从节点信息在液晶屏上显示相关信息否是否有异常发生?是显示并保持异常信息
图5.1 主节点整体软件流程图
21
5.2.1 CAN信息的接收
CAN信息的接收也是由CAN控制器自动完成,接收程序只须从接收缓存器中读取接收的数据,再进行相应的处理即可。软件流程如图5.2所示。
N判断是否不生中断Y判断是否是接收中断N请求复位Y判断是否数据溢出YN将新报文放入单片内部存储单元数据溢出处理判断是否数据溢出返回主程序
图5.2 上位机接收子程序
22
5.3 下位机的软件设计
5.3.1 温度测控软件设计
开始复位DS18B20延时发出跳过ROM命令温度值显示发温度转换命令NN转换完毕?Y所有在线DS18B20处理完?Y复位DS18B20i=1发报警搜索命令复位DS18B20有DS18B20温度越限?Y发一个DS18B20序号报警控制N发匹配ROM命令读温度值i=i+1
图5.3 温度测控流程图
23
5.3.2 调温设备控制软件设计
接收控制程序Y检测到报警帧?N发送询问帧1发送询问帧2总线仲裁成功?N启动变频调速进行变风量空调控制N总线仲裁成功?YY检测到状态帧?YN报警发生报警节点错误
图5.4 调温设备控制软件流程图
图5.3、图5.4分别给出了温度测控软件、调温设备控制软件的流程图。为了节能而在温度控制算法模块中采用了增量型PID(比例-积分-微分)控制算法与模糊控制算法相结合:当偏差较大时执行前者,使温度快速回到设定值附近;而当偏差较小时执行后者,以避免控制装置对被控温度过于敏感而频繁动作或振荡。此外,还采取了变新/回风比例自动控制、变频调速变风量空调控制、舒适性空调温度上限设定值提高等节能措施,以达到节能目的。
5.4 CAN的初始化程序设计
系统软件设计的关键在CAN总线通信的设计上,CAN的每一次启动都要进行初始
24
化。微处理器AT89C52负责SJAl000初始化,通过控制SJAl000实现数据的接收和发送等通信任务。单片机对SJAl000进行正确的初始化后,通过访问其内部寄存器实现对CAN的操作。初始化程序主要是在程序运行前通过对CAN控制器SJAl000的控制寄存器写入控制字,从而确定CAN控制器的工作方式等,使其能够按照用户要求的工作方式进行CAN通信工作。
初始化开始发送复位请求进入复位状态设置时钟分频器设置接受代码,接受屏蔽寄存器设置总线时序寄存器设置输出控制寄存器设置模式寄存器进入操作模式开中断 图5.5 CAN初始化子程序
5.5 数字温度传感器的软件设计
数字温度传感器DSl8B20的温度采集程序如图5.6所示。
25