计算机控制技术常用控制程序设计

上传人:好** 文档编号:114722526 上传时间:2019-11-12 格式:PPT 页数:52 大小:472.50KB
返回 下载 相关 举报
计算机控制技术常用控制程序设计_第1页
第1页 / 共52页
计算机控制技术常用控制程序设计_第2页
第2页 / 共52页
计算机控制技术常用控制程序设计_第3页
第3页 / 共52页
计算机控制技术常用控制程序设计_第4页
第4页 / 共52页
计算机控制技术常用控制程序设计_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《计算机控制技术常用控制程序设计》由会员分享,可在线阅读,更多相关《计算机控制技术常用控制程序设计(52页珍藏版)》请在金锄头文库上搜索。

1、第三章 常用控制程序设计,3.1 巡回检测程序,1.系统要求,某厂有一组退火炉,要求用一台IPC计算机对八座炉子进行温度巡回测量,并存入7000H:0开始的单元,其数据采集与存储的格式要求如图:,2 硬件组成,测量温度的传感器为热电偶,由于系统测量温度的范围为0800度,故选用镍铬热电偶,其输出的mV信号,经变送器转换成05V直流信号,供A/D转换用。A/D转换结束信号EOC送IBM计算机的IRQ2中断请求输入端,以便在A/D转换结束后,向CPU发中断请求。选择那个通道的模拟量进行转换,由地址总线A0、A1、A2的状态确定。,3.软件,CODE SEGMENT ASSUME CS:CODE;D

2、S:CODE START: PUSH DS ;保护DS MOV AX,SEG ADINT ;设置A/D中断矢量 MOV DS,AX MOV DX,OFFSET ADINT MOV AX,250AH INT 21H POP DS ;恢复DS IN AL,21H ;保存中断屏蔽字,开放IRQ2 MOV BP,AX AND AL,0FBH OUT 21H,AL MOV CH,5 ;每通道采样5次 MOV BX,7000H ;设采样数据存放段地址 MOV DS,BX,MOV DX,220H ;设1#炉A/D通道地址 MOV CL,8 ;共采样8个通道 MOV BX,0 ;每通道数据起始存放地址 MOV

3、 DI,BX ;每通道数据存放地址 STI ;开中断 L0: OUT DX,AL ;启动A/D 转换 HLT ;等待A/D 转换结束 JMP L0 ADINT PROC NEAR ;A/D 转换中断服务程序 IN AL,DX ;读A/D 值并存储 MOV DI,AL ADD DI,5 ;调整DI,形成下一A/D值存放地址 INC DX ;形成下一A/D通道地址 DEC CL ;8个通道未采完,转L1 JNZ L1 DEC CH ;每通道未采完5次,转L2 JNZ L2 MOV AL,20H ;送“EOI”命令 OUT 20H,AL MOV AX,BP ;恢复中断屏蔽字 OUT 21H,AL,M

4、OV AX,4C00H ;返回DOS INT 21H L1: MOV AL,20H OUT 20H,AL STI ;开中断 IRET ;中断返回 L2: MOV CL,8 ;采样8个通道 MOV DX,220H ;设1#炉A/D通道地址 MOV DI,BX ;形成下次采样存放首地址 INC DI ;形成下次采样存放地址 MOV BX,DI MOV AL,20H OUT 20H,AL STI IRET ADINT ENDP CODE ENDS END START,例:试设计一个数据采集系统 要求该系统能对八路模拟信号(变化频率100Hz)进行连续巡回检测,电压范围0V10V,分辨率为5mV(0.

5、05%),巡回检测周期允许为1s,但为了对采样的数据进行滤波处理,必须对每路信号进行多次采集。因此,A/D转换器选用转换速度较快的AD574。AD574的分辨率12位(0.025),转换误差0.05,转换时间25s ,输入电压的范围均能符合上述要求。多路模拟开关选用CD4051。CD4051导通电阻为200,由于采样保持器的输入电阻一般在10M以上,所以输入电压在CD4051上的压降仅为0.002%左右,符合要求。CD4051的开关漏电流仅为008nA,当信号源内阻为10k时,误差电压约为0.08V ,可以忽略不计。采样保持器选用LF398,LF398采样速度快,保持性能好,非线性度为士0.0

6、1,也符合上述要求。整个系统采用以8086CPU构成的微机系统来实施控制。,八路自动巡回检测系统电路原理图,3.2 数字滤波程序,3.2.1 概述,由于工业控制对象的环境比较恶劣,干扰源比较多,如环境温度、电场及磁场等。因此,为了减少对采样值的干扰,提高系统的性能,一般先对采样值进行数字滤波,再进行数据处理和调节控制。 所谓数字滤波,是通过一定的计算程序对采样信号进行平滑加工,提高其有用信号,消除或减少各种干扰和噪音,以保证计算机系统的可靠性。,一、程序判断滤波 程序判断滤波的方法,是根据生产经验,确定出两次采样输入信号可能出现的最大偏差Y,若超过此偏差值,则表明该输入信号是干扰信号,应该去掉

7、,若小于此偏差值,可将信号作为本次采样值。 程序判断滤波既照顾了采样的实时性,又照顾了不采样时的连续性,是一种折中的方法,可用于变化较慢的参数,如温度、液位等,可克服由于随机干扰和误检测或者变送器不稳定而引起采样信号的严重失真。 程序判断滤波分为限幅滤波和限速滤波两种。,3.2.2 数字滤波方法,2. 限速滤波 设顺序采样时刻t1、t2、t3所采集的参数分别为y1、y2、y3,则当 | y2-y1|Y, 则y2输入计算机, | y2-y1| Y, 则y2不采用,但仍保留,再继续采样一次,得y3。 | y3-y2|Y,则y3输入计算机, | y3-y2| Y,则取(y2 +y3)/ 2输入计算机

8、。,1. 限幅滤波 |Yn-Yn-1|Y, 则Yn = Yn,取本次采样值 |Yn-Yn-1| Y, 则Yn = Yn -1,舍本次采样值,取上次采样值,二、中值滤波 所谓中值滤波就是对某一个被测参数连续采样n次(一般 n 取奇数,数值不宜太大,取35即可),然后把n次的采样值从小到大(或从大到小)排队,再取中间值作为本次采样值。采用本程序滤波,对于去掉脉动性质的干扰比较有效,但对快速变化过程的参数(如流量)则不宜采用。,四、加权平均滤波,将各采样值取不同的比例,然后再相加,六、复合滤波程序 把两种以上的滤波方法结合起来使用。如把中值滤波程序和算数平均值滤波两种结合起来,把n个采样值首先按大小

9、排序,然后分别去掉k个最大值和最小值,再把剩下的值加起来,最后取平均值。即,1. 滤波效果 a. 对于变化比较慢的参数如温度,可选用程序判断滤波以及一阶滞后滤波方法比较好; b.对于变化比较快的脉冲参数,如压力、流量等,则可选用算术平均和加权平均滤波方法; c.对于要求比较高的系统可选用复合滤波方法。 d.在算术平均滤波和加权平均滤波中,其滤波效果与所选择的次数n有关,n越大,则效果越好,但花费时间也越长。 2. 滤波时间 在考虑滤波效果的前提下,尽量采用执行时间比较短的程序,如果时间允许,则可采用更好的复合滤波程序。 3. 注意,并不是在任何一个系统中都需要进行数字滤波!,七、各种滤波方法的

10、比较,3.2.3 数字滤波程序设计 用复合滤波方法将上节中1号退火炉的5个温度采样值(起始存放地址为7000H:0)进行滤波,并存入SAMP单元。,程序设计 1. 将5个数据从小到大排序, 2. 去掉一个最大值和一个最小值, 3. 求剩下3个数的算术平均值。,DOSSEG ;采用DOS简化段定义 .MODEL MIDUM .DATA SAMP DB 0 ;定义滤波结果单元 CNT = 5 ;共5个数 .CODE START: MOV AX,7000H ;指向采样数据段 MOV DS,AX MOV BX,CNT-1 ;置外循环次数 LP1: MOV SI,0 ;指向采样数据首地址 MOV CX,

11、BX ;置内循环次数 LP2: MOV AL,SI ;相邻两数据比较 CMP AL,SI+1 JB BIG ;大于转BIG XCHG AL,SI+1 ;小于两数交换 XCHG AL,SI BIG: INC SI ;调整指针 LOOP LP2 ;本轮未比较完转LP2 DEC BX JNZ LP1 ;未全部比较完转LP1,MOV CX,CNT-2 ;去掉最大最小值并求和存AX LEA SI,1 MOV AX,0 MOV BH,0 LP3: MOV BL,SI ADD AX,BX INC SI LOOP LP3 MOV CL,CNT-2 ;求平均值存CL DIV CL MOV CL,AL MOV A

12、X,DATA ;存入SAMP单元 MOV DS,AX MOV SAMP,CL MOV AX,4C00H ;程序结束返回DOS INT 21H END START,3.3 标度变换程序,3.3.1 线性标度变换,如果被测参数的起点A0(输入信号为0)所对应的A/D转换值为0,即N0=0,这样式(3-6)化简为:,【例】某热处理炉温度测量仪表的量程为200800C,在某一时刻计算机采样并经数字滤波后的数字量为CDH,求此时的温度是多少?(设该仪表的量程是线性的)。,解:A0=200C,Am=800C,Nx=CDH=(205)D,Nm=FFH=(255)D。所以此时的温度为,标度变换程序,DOSSE

13、G ;采用DOS简化段定义 .MODEL SMALL .STACK 100H .DATA AM DW 800 ;测量仪表上限 A0 DW 200 ;测量仪表下限 NM DW 255 ;A/D转换上限 N0 DW 0 ;A/D转换下限 NX DW 205 ;实际A/D转换值 MX DW ? ;实际温度 .CODE START: MOV AX,DATA MOV DS,AX MOV AX,AM ;计算Am-A0 SUB AX,A0 MOV BX,NX ;计算Nx-N0 SUB BX,N0 MUL BX ;计算(Am-A0)*( Nx-N0) MOV BX,NM ;计算Nm-N0 SUB BX,N0,

14、DIV BX ;计算(Am-A0)*( Nx-N0)/( Nm-N0) ADD AX,A0 ;计算(Am-A0)*( Nx-N0)/( Nm-N0)+ A0 CALL HEX_BCD ;调二进制转十进制子程序 MOV MX,AX ;存标度变换结果 MOV AX,4C00H INT 21H HEX_BCD PROC NEAR MOV DX,AX SUB AX,AX MOV CX,16 LP: ADD DX,DX ADC AL,AL DAA XCHG AH,AL ADC AL,AL DAA XCHG AH,AL LOOP LP RET HEX_BCD ENDP END START,3.3.2 非线

15、性参数标度变换,例: 压差流量计,其流量与差压的公式为,所得的流量测量的标度变换公式:,对于流量测量仪表,一般下限均取零,此时G0=0,N0=0:,整数开方的计算方法,令被开方数N = n2,则被开方数的近似计算公式 :,3.3.3 非线性补偿,1. 线性插值法,2. 非线性补偿应用举例,线性化处理程序,DATA SEGMENT K DW K1,K2,K3,K4 ;为保证精度,各段 斜率扩大10倍存储 V DW V1,V2,V3,V4 T DW TD,TC,TB,TA SAMP DB ? TMP DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DX,AX MOV AL,SAMP ; AX=Vi MOV AH,0 CMP AX,V4 ; ViV4转N5,JAE N5 CMP AX,V3 ; ViV3转N4 JAE N4 CMP AX,V2 ; ViV2转N3 JAE N3 CMP AX,V1 ; ViV1转N2 JAE N2 N1: MOV CX,K1 ; ViV1,计算K1Vi MUL CX MOV CX,10 ;计算结果缩小10倍 DIV CX JM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号