计算机控制

viod delay(void) {

for(k=0;k<255;k++) }

5.5某压力测试系统,测量范围:0mm H2O柱到1000mmH2O,经A/D转换后,对应数字量为00H到FFH,当压力为600mmH2O时,其数字量是多少? 解:利用线性标度变换公式:

Ax?A0Nx?N0?

Am?A0Nm?N0代入: 解得:Nx?99H

5.6 某炉温控制系统热电偶测温范围0-1200℃,经温度变送器输出电压为1V-5V,再经A/D0809,A/D输入范围为0-5V,当采样值为9BH时,对应炉温。

解:ADC0809模拟上下限为1-5V,对应数字量上下限为33H-FFH。利用线性标度变换公式:

600?0Nx?0?

100?00F?FH0Ax?A0Nx?N0?Am?A0Nm?N0

即有

Ax-09BH?33H?1200?0FFH?33H

变换到炉温:T=611.76 ℃。

5.7 为什么采用量程自动转换技术

答:计算机控制系统中,生产中各个参数有着不同数值和量纲,这些数据参数都要经过变送器转换成为1-5V的统一电压信号,在经过A/D转换成相应数字量,供计算机控制系统使用。

5.8线性插值法有什么特点?使用中是否分段越多越好?

答:实质是找出一种简单、便于计算处理的近似表达式代替非线性参数。 分段插值法分段越多当然精度越高,但是同时伴随着计算量的大大增加。所示并不是越多越好,实际应用中,应该综合需要的精度和计算机处理能力合理的选取分段数。

5.9 利用单片机C语言实现对分查表法。

解:

#include

int binfind(int val[], int num, int value) {

int start = 0;

int end = num - 1;

int mid = (start + end)/2;

while(val[mid] != value && start < end) {

if (val[mid] > value) {

end = mid - 1; }

else if (val[mid] < value) {

start = mid + 1; }

mid = ( start + end )/2; }

if (val[mid] == value) return mid; else return 0; }

int main( ) {

int nums[] = {1 , 3 , 4 ,7 ,8 , 12 ,45 ,67 ,97 ,123 ,456 ,675 ,1111 , 4534 , 4563}; int result ;

result = binfind(nums , sizeof(nums) , 45); if( result != 0)

printf(\else

printf(\}

第六章作业

6.1 什么是积分饱和?积分饱和有哪几种方式?选择一种进行分析。

答:PID积分项的存在造成的PID运算的饱和。

在数字PID控制系统中,当系统启动、停止或大幅度改变给定值时,系统输出会出现较大的偏差,经过积分项累积后,可能使控制量u(k)>umax或u(k)

即超出执行机构由机械或物理性能所决定的极限。此时,控制量不能真正取得计算值,而只能取umax或umin,从而影响控制效果。 1)积分分离法

积分分离法的基本思想是,当偏差大于某个规定的门限值时,取消积分作用,从而

>>灞曞紑鍏ㄦ枃<<
12@gma联系客服:779662525#qq.com(#替换为@)