当前位置:文档之家› 计算机控制技术课件.计算机控制系统软件设计

计算机控制技术课件.计算机控制系统软件设计


;A←SUB1_L ;低8位相减 ;保存低8位差值 ;A←SUB1_H ;高8位相减 ;保存高8位差值
程序清单
程序入口:被除数存放在DIV1_H、DIV1_L单元中, 除数存放在 DIV2_H、 DIV2_L单元中; 程序出口:商存放在 DIV1_H、DIV1_L单元中,余数存放在L_L和L_H单元中。
;位 MOV PR_L,#00H ;乘积高8位 ;清零
一阶滞后滤波
MOV PR_H,#00H MOV R7,#11H LOOP1:JNC LOOP2 MOV ADD MOV MOV ADDC MOV LOOP2:MOV A,PR_L A,MUL2_L PR_L,A A,PR_H A,MUL2_H PR_H,A A,PR_H
;数据个数设置 ;数据区首址设置 ;系数存储首址设置 ;累加结果存储区清 ;零
SAMP_L,#00H SAMP_H,#00H A,@R0 ;读采样值 B,A A,@R1 ;读加权平均系数
加权平均滤波
MUL CLR ADD MOV MOV ADDC JNC INC NEXT: MOV INC INC AB C A,SAMP_L SAMP_L,A A,B A,SAMP_H NEXT FLAG SAMP_H,A R0 R1
;设置循环次数 ;进位标志位为零, ;转LOOP2 ;PR+MUL2
;PR右移一 ;位
RRC
A
一阶滞后滤波
MOV MOV RRC MOV MOV RRC MOV MOV RRC MOV DJNZ PR_H,A A,PR_L A PR_L,A A,MUL1_H A MUL1_H,A A,MUL1_L A MUL1_L,A R7,LOOP1
;MUL1右移一位
;循环未结束,继续
第二节 标度变换程序
基本原理
线性标度变换
• 对于一般的线性仪表而言,标度变 N N A A A A 换公式为: N N
x 0 x 0 m 0
• 为了简化程序设计,一般把被测参 数的起点A0所对应的A/D转换值设 定为0,即N0=0,这样上式可以改写 N 为: A A A A
中值滤波
原理 • 所谓中值滤波法就是对某一 被测参数连续采样n次(n一 般取奇数),然后把n次采样 值按顺序排列,取其中间值 做为本次采样值。

流程图:


现场保护
设置数据区首址
设置数据个数

数据排序

排序 完成否?

是 取中值
现场恢复
返 回
中值滤波
PUSH PSW PUSH A SORT: MOV R0,DATA MOV CLR LOOP: MOV MOV INC MOV CLR SUBB
程序清单
INC MOV ACALL MOV MOV ACALL MOV MOV MOV INC MOV MOV INC N0 SUB2_H,N0 SUB2 MUL2_H,DIFF_H MUL2_L,DIFF_L MULTD DIV1_H,PR_H DIV1_L,PR_L SUB1_L,NM NM SUB1_H,NM SUB2_L,N0 N0
概述
软件功能
实时 数据 采集
控制 运算 控制 输出 报警 监视
画面 显示 和报 表输 出
可靠 性功 能
流程 画面 制作 功能
管理 功能
通信 功能
OPC 接口
概述
主要性能指标
各种功能 系统功能 人机接口 可扩展性 能否协调 是否完善? 是否良好? 如何? 运行?
数字滤波
概念 • 所谓数字滤波,是通过一定 的计算程序对采样信号进行 平滑加工,提高其有用信号, 消除和减少各种干扰和噪音, 以保证计算机系统的可靠性。
@R0,FIRST R0 @R0,SECOND ;交换两数 R0 FLAG ;置交换标志位 R7,LOOP ;进行下一次比较 FLAG,SORT ;进行下一轮比较 R0 C A,TIME
中值滤波ห้องสมุดไป่ตู้
RRC A MOV R7,A DEC R0 DJNZ R7,CONT MOV SAMP,@R0 POP A POP PSW RET
算术平均滤波
DIVIDE: MOV
MOV CLR RRC MOV MOV RRC DJNZ MOV POP POP RET
TEMP,A
A,FLAG C A FLAG,A A,TEMP A R7,DIVIDE SAMP,A A PSW
;保存累加器中 ;的内容 ;累加结果除2
;未结束,继续 ;执行 ;保存结果至 ;SAMP中 ;恢复现场
;累加和
;数据区地址加1 ;系数地址加1
加权平均滤波
DJNZ MOV DIV128:CLR MOV RRC MOV MOV RRC MOV MOV RRC R7,LOOP R7,#07H C A,FLAG A FLAG,A A,SAMP_H A SAMP_H,A A,SAMP_L A ;未加完,继续 ;设置循环次数 ;累加结果除2
程序判断滤波
COMPARE: CLR
SUBB JC MOV
C
A,LIMIT ;│Yn-Yn-1│和△y比较 OVER ;如果│Yn-Yn;1│≤△y,DATA2→DATA DATA,DATA1 ;如果│Yn-Yn-1│>△y, ;DATA1→DATA A ;恢复现场 PSW ;返回
OVER:
POP POP RET
Yn 1 X n Yn 1

流程图:


求a
y n 1
求 (1 a ) x n
求 (1 a ) x n a y n 1
y n 1 y n
返 回
一阶滞后滤波
MOV MOV MOV MOV ACALL MOV MOV MOV MOV MUL1_H,COEFF1_H MUL1_L,COEFF1_L MUL2_H,DATA1_H MUL2_H,DATA1_L MULTD BUFF1,PR_H BUFF2,PR_L MUL1_H,COEFF2_H MUL1_L,COEFF2_L
数字滤波
程序判断滤波
原理 • 根据生产经验确定出两次采样输出信号可能 出现的最大偏差,若超过此偏差值,则表明 输入信号是干扰信号,应该去掉;若小于此 一偏差,可将信号作为本次采样值。
应用 • 由于随机干扰和误检测或变送器不稳定而出 现严重失真的情况
程序判断滤波
限幅滤波 • 所谓限幅滤波就是把两次相邻的采样 值进行相减,求出其增量(以绝对值 表示),然后与两次采样允许的最大 差值(由被控对象的实际情况决定) ΔY进行比较,如果小于或等于ΔY , 则取本次采样值;如果大于ΔY ,则 取上次采样值作为本次采样结果 。
程序清单
MOV ACALL MOV MOV ACALL CLR MOV ADDC MOV INC MOV ADDC MOV RET SUB2_H,N0 SUB2 DIV2_H,DIFF_H DIV2_L,DIFF_L DUBDIV C A,DIV1_L A,A0 AX,A A0 A,DIV1_H A,A0 AX,A
x x
m
0
Nm
m
0
0
基本原理
非线性标度变换
•具体情况具体处理
程序清单
标度变换程序 BDCHAN:
MOV INC MOV MOV INC MOV ACALL MOV MOV MOV INC MOV MOV SUB1_L,AM AM SUB1_H,AM SUB2_L,A0 A0 SUB2_H,A0 SUB2 MUL1_H,DIFF_H MUL1_L,DIFF_L SUB1_L,NX NX SUB1_H,NX SUB2_L,N0
第8讲 计算机控制系统软件设计
介绍计算机控制系统软件设计基础
讲师:李东升
主要内容
数字滤波程序 标度变换程序
第一节 数字滤波程序
概述
计算机控制系统软件
系统软 件
开发 平台 操作 平台 监控 平台 软件 基本 控制 软件
应用软件
先进 控制 软件 局部 优化 软件 操作 优化 软件 最优 调度 软件 企业 计划 决策 软件

限幅滤波流程图:


现场保护
读Yn-1,Yn
Yn-1 -Yn≥0 是
否 求 Yn -Yn-1
Yn-1 -Yn > Y 是 取上次采样值

取本次采样值
现场恢复
返 回
程序判断滤波
PUSH PUSH CLR MOV MOV SUBB JNC
CPL INC
PSW ;保护现场 A C ;进位标志位清零 DATA,DATA2 A,DATA1 A,DATA ;求Yn-1 -Yn COMPARE ;如果Yn-1 -Yn≥0,转 ;COMPARE A ;如果Yn-1 -Yn<0, 求补 A
程序判断滤波
限速滤波 • 所谓限速滤波就是把两次相邻的采样值进行 相减,求出其增量(以绝对值表示),然后 与采样允许的最大差值(由被控对象的实际 情况决定)ΔY进行比较,如果小于或等于 ΔY ,则取本次采样值;如果大于ΔY ,则 在采样一次,并重新计算增量,若新计算的 增量小于或等于ΔY ,则取最后一次采样值 为本次采样结果,否则取最后两次采样的平 均值为本次采样结果。
加权平均滤波
MOV SAMP_L,A DJNZ R7,DIV128 ;未除完,继续 MOV SAMP,SAMP_L ;保存滤波后采样值 POP A ;恢复现场 POP PSW RET
一阶滞后滤波
原理 • 上述几种滤波方法只适用于变化过 程比较快的参数,对于慢速随机变 化的参数,其滤波效果则不太明显。 此时可采用一阶滞后滤波方法。
CONT:
;取中值
算术平均滤波
原理 • 所谓算术平均滤波就是把 n个采样值相加,然后取 其算术平均值作为本次有 效的采样信号。
相关主题