第六章 DDC的基本算法
6.1 DDC基本算法简述
DDC的基本算法是指计算机对生产过程进行PID控制时的几种控制方程。PID调节器在模拟控制系统中应用最为广泛、技术最成熟,参数选择与调整都在长期的应用重积累了丰富的经验,且这些经验与方法维维为广大工程技术人员所熟悉。随着计算机在过程控制重的广泛应用,人们首先想到的是把PID控制规律移植到数字控制系统重,即用数字PID调节器取代模拟调节器。要完成此任务需要做的主要工作是:把PID调节规律数字化,用数字运算来实现它,以及编制PID算法的程序。在这里关键是PID算法的数字化。实践证明,数字化PID能取得近似于PID模拟调节器的控制效果,而且在很多方面具有突出的优势,主要表现在:
ⅰ、可用一台微型计算机控制几十个回路,大量节省设备和费用,提高了系统的可靠性;
ⅱ、不仅用软件代替了物理的PID算法,而且由于变成灵活,可以方便地对PID规律进行各种改进,衍生多种形势的PID算法,如带死区的PID,带自动比率的PID等。PID参数的调整也只要改变程序的数据,十分方便。
因此,在DDC系统中,用还俗子运算实现PID的调节规律呗广泛应用。PID基本算法分为两种:理想PID算法和实际PID算法。 DDC的理想PID算法的两种类型:
位置型控制――主要用于对连续量的控制
增量型控制――主要用于输出为调节阀开度的增量控制
21
6.2 DDC理想PID算法选择
因为控制算法由程序实现,不需附加硬件。所以为了增加灵活性,修改调整方便,程序按照PID算法编程,然后由实际调试确定P、I、D之间的比例。因为执行元件是SCR,因此采用位置式PID算法:
22
第七章 温度控制的程序框图以及编写
7.1 流程图
温度控制程序的设计应考虑如下:1)键盘扫描、键码识别和温度显示;2)炉温采样、数字滤波,数模转换;3) 越限报警; 4) PID计算;5)数模转化,温度控制。
选择中断定时时间是50ms,用DAC0832控制加热状态,,程序流程图如下:
23
7.2 程序编写
#include \#include \#include \#define uchar unsigned char #define uint unsigned int
#define ADC0809 XBYTE[0x0000] #define ADC0809CHO 0xDFEF8 #define Kp 6.5 #define Ki=0.01
24
#define Kd=240 sbit wr1=P3^6;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x90,0x92,0x82,0xf8,0x80,0x90}; unchar set_tempo=0,hao_miao=0;//t0=0 计时变量为0 unchar ce_temp=0; unchar a=0,b,m,key; uint i=0; sbit EOC=P3^2; sbit danger=P2^2; sbit /cs=P2^1; void disp(uchar value) { }
uchar key_scan() {
SBUF=table[(value0)];//个位显示 while (TI==0); TI=0;
SBUF=table[(value0)/10];//十位显示 while(TI==0); TI=0;
SBUF=table[value/100];//百位显示 while(TI==0); TI=0;
P1=0xf0;//高四位行输入,第四位列输出 key=0xff;//默认无按键值 if((P1&0xf0)!0xf0)//判断按下与否 {
//有按下
for (i=0;i<350;i++);//延时去抖动 if((P1&0xf0)!=0xf0) {a=0xfe;//判断P1.4初始值
while((a&0xf0)!=0xf0) {
25