船用柴油机中央冷却系统水温的智能控制
(4)Output:问缓冲区中写数据,可以是文本文件或者二进制文件,本系统设置为二进制数据;
(5)Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位等。系统缺省设置为9600,N,8,1,表示波特率为9600,不进行奇偶校验,8位数据位,l位停止位。
(6)CommEvent :返回最近的通讯事件或者错误。在与单片机通信时用到的串口事件如下表4-3所示
表4-3串口通信事件
常数 ComEvSend ComEvReceive ComEvCD ComEvRing ComEvEOF 值 1 2 5 6 7 属性描述 发送数据事件 接受数据事件 检测到CD载波信号 检测到振铃 文件结束标志 当CommEVent属性的数值发生变化时,则触发OnComm事件,通过编程了解通信事件的类型后进行相应的处理。整个上位机软件的实现过程是这样的:在上位机上设定一个按钮“接收”,当按钮按下时,计算机便向单片机发出一个请求信号,单片机收到信息后,通过串口向计算机发送温度“设定值”和“测量值”。当计算机一旦检测到有数据过来。就触发MsComm通信控件的OnComm事件,通过检查CommEvent属性中ComEvReceive数值的变化,将收到的数据在计算机监控平台界面上显示出来。
2.异常报警
当计算机监测到系统发生异常时(实时温度值超过了设定的范围)报警电路产生报警信号,计算机报警。
3.参数设定
用户可以用键盘对温度进行设定,设定值通过8279芯片输送给单片机。 4.数据的显示
用户可以随时查看当前程序的运行状态。可以直接从LED面板中了解到当前柴油机冷却水的温度。
29
船用柴油机中央冷却系统水温的智能控制
4.3单片机的软件设计
单片机软件的程序比较复杂,主要包括:主程序、A/D转换子程序、带Smith预估器补偿的PID子程序、键盘及显示子程序、RS-232串行通讯子程序、警报子程序等模块。其程序流程图如下所示:
结 束?键盘管理 数据处理 Smith补偿 PID运算 显示程序 看门狗 系统调度程序 主程序 N Y 返回主程序 图4-3 程序流程图
30
船用柴油机中央冷却系统水温的智能控制
4.3.1主程序
主程序的流程图如图4-31所示,初始化程序包括元器件的初始化,PID参数的初始化。 开始 元器件初始化 堆栈初始化 参数初始化 自检
图4-31
开T0中断 是否按N 键? Y 按键处理 显示 单片机主程序流程图
31
船用柴油机中央冷却系统水温的智能控制
4.3.2T.0中断服务子程序
T0中断服务子程序是本温度控制系统的主体程序,读入采样数据、进行数字滤波、用于启动A/D转化、温度报警和处理、带smith补偿的PID计算和控制信号输出等。如图4-32所示。 读入采样数据 启动AT89C51 数字滤波 Y 高温报警 T>T1 Y 低温报警 N T 过热保护 取最大PID输出 控制信号输出 温度显示 恢复现场 返回 图4-32 T0中断程序流程图 32