智能仪表原理与应用技术
9.2.5 软件总体方案设计
更新于2009-06-16 14:38:56

1.信息流
按照需求分析的要求,系统的功能由各功能模块程序实现,模块之间的信息流动如图9-2-4 所示。


图9-2-4 系统的信息流图


2.各模块之间传递的信息

1)测量的温度信息
温度测量模块经过采样,滤波和标度变换形成测量的温度数据:
int Temperature;

该数据的范围为0.0~99.9℃,用整形表示,每位二进制数对应0.1℃

2)按键信息
经过对3个按键的测量,判断、滤波,确定键值作为按键的信息:
char Key_value;

键值按照状态变量法设计,在三种状态下共有4种数据:
0x00 无键按下
0x01 UP键按下
0x02 DOWN键按下
0x03 SET键按下

其它数据为无效值。

若有多键按下的情况,处理为键值最小的键。

3)当前状态

仪表共有4种工作状态,通过按键操作和定时来控制,该信息表示如下:

char state;
状态值如下:
0x00 测控状态
0x10 参数设置项选择状态
0x20 参数设置状态
0x30 调试状态

其它数据为无效值。

4)显示信息

由监控和数据处理模块将要显示的内容传输到显示数据变量,形成显示信息。包括

a)数码信息

int display_datum 显示的数据
char display_format 显示的格式
数据可以是当前测量温度,可以是设置的参数,也可以是调试测量的数据。

格式分为:
0x01 温度数据格式,三位数字,小数点后1位。
0x02 标志显示格式,数据的高8位是字符,显示在第1位;低8位为数据,显示在第2位;第3位不显示。
0x03 设置数据显示格式,三位数字,小数点后2位。

b)测控状态信息

char run_state;
8个位数据显示8个开关量状态如下:
第0位表示温度处于第1阶段,1有效;
第1位表示温度处于第2阶段,1有效;
第2位表示温度处于第3阶段,1有效;
第3位表示温度处于第4阶段,1有效;
第4位表示温度处于报警阶段,1有效;
第5位表示对加热继电器的吸合状态,1有效;
第6位表示冷却继电器吸合状态,1有效;
第7位表示控制方式,0:为开关控制方式,1:为连续控制方式;

5)开关量输出信息

表示为:char switch_out;
8个位数据显示8个开关量状态如下:
第0位表示第1阶段指示灯控制,1点亮;
第1位表示第2阶段指示灯控制,1点亮;
第2位表示第3阶段指示灯控制,1点亮;
第3位表示第4阶段指示灯控制,1点亮;
第4位表示报警指示灯的控制,1点亮;
第5位表示对加热继电器的控制,1吸合;
第6位表示对冷却继电器的控制,1吸合;
第7位未用;

6)模拟量输出信息

按照闭环控制的方式,经过PID计算的结果,表示为:
int control;
该数值的范围从205~1023,对应着4~20mA电流的量程。

7)参数存取信息

该信息就是设置的参数,包括:

a)开关控制阶段1的数值,int Set_T1,在数码管上显示为T1 ;
b)开关控制阶段2的数值,int Set_T2,在数码管上显示为T2;
c)开关控制阶段3的数值,int Set_T3,在数码管上显示为T3;
d)开关控制阶段4的数值,int Set_T4,在数码管上显示为T4;
e)温度报警阶段的数值,int Set_T5,在数码管上显示为T5;
f) 连续控制设定温度的数值,int Set_T,在数码管上显示为T-
g)开关控制输出延时的时间,char Set_time,在数码管上显示为t-;
h)连续PID控制P参数,int Set_P,在数码管上显示为P;
i)连续PID控制I参数,int Set_I,在数码管上显示为I;
j)连续PID控制D参数,int Set_D,在数码管上显示为D;
k)连续PID控制或开关控制的标志,char Set_control,在数码管上显示为C;

…… ……

网友留言