文档库 最新最全的文档下载
当前位置:文档库 › 计算机控制技术实验二

计算机控制技术实验二

计算机控制技术实验二
计算机控制技术实验二

一、 实验目的

(1)对PID 数字控制的改进算法用MATLAB 进行仿真。

二、 实验内容

1、积分分离PID 控制算法

在普通PID 控制中,积分的目的是为了消除误差提高精度,但在过程的启动、结束或大幅度增减设定是,短时间内系统输出有很大偏差,会造成PID 运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的超调,甚至引起系统较大的振荡,这在生产中是绝对不允许的。

积分分离控制基本思路是,当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。其具体实现步骤是:

1) 根据实际情况,人为设定阈值ε>0;

2) 当ε>)(k e 时,采用PD 控制,可避免产生过大的超调,又使系统有较快的响应; 3) 当ε≤)(k e 时,采用PID 控制,以保证系统的控制精度。 积分分离算法可表示为:

∑=--++=k

j d

i p T

k e k e k T j e k k e k k u 0

)

1()()()()(β

式中,T 为采样时间,β为积分项的开关系数,??

?>≤=ξ

ξ

β|)(|0|)(|1k e k e

仿真1 设备控对象为一个延迟对象1

60)(80+=-s e s G s

,采样周期为20s ,延迟时间为4个

采样周期,即80s 。输入信号r(k)=40,控制器输出限制在[-110,110]。

3,005.0,8.0===d i p k k k

被控对象离散化为)5()2()1()2()(-+--=k u num k y den k y

仿真方法:仿真程序:ex9_1.m 。当M=1时采用分段积分分离法,M=2时采用普通PID 控制。

%Integration Separation PID Controller clear all ; close all ; ts=20; %Delay plant

sys=tf([1],[60,1],'inputdelay',80); dsys=c2d(sys,ts,'zoh'); [num,den]=tfdata(dsys,'v');

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;

y_1=0;y_2=0;y_3=0;

error_1=0;error_2=0;

ei=0;

% M=1分段积分分离,M=2普通PID

disp('M=1--Using integration separation,M=2--Not using integration separation')

M=input('whether or not use integration separation method:')

for k=1:1:200

time(k)=k*ts;

%输出信号

yout(k)=-den(2)*y_1+num(2)*u_5;

rin(k)=40;

error(k)=rin(k)-yout(k);

ei=ei+error(k)*ts;%积分项输出

if M==1 %使用分段积分分离

if abs(error(k))>=30&abs(error(k))<=40

beta=0.3;

elseif abs(error(k))>=20&abs(error(k))<=30

beta=0.6;

elseif abs(error(k))>=10&abs(error(k))<=20

beta=0.9;

else

beta=1.0;

end

elseif M==2

beta=1.0;

end

kp=0.80;

ki=0.005;

kd=3.0;

u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;

if u(k)>=110 % 控制信号限幅

u(k)=110;

end

if u(k)<=-110

u(k)=-110;

end

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k);

error_2=error_1;

error_1=error(k);

end

figure(1);

plot(time,rin,'b',time,yout,'r');

xlabel('time(s)');ylabel('rin,yout');

figure(2);

plot(time,u,'r');

xlabel('time(s)');ylabel('u');

将仿真获得结果的截图附于如下空白处:

(1)M=1时输入输出信号仿真图:

图1-1 M=1时输入输出信号M=1时控制信号仿真图:

图1-2 M=1时控制信号

(2)M=2时输入输出信号仿真图:

图1-3 m=2时输入输出信号

M=2时控制信号仿真图:

图1-4 M=2时控制信号

仿真结果分析:

积分饱和的防止方法有积分分离法和预限削弱法。积分作用使系统稳定性降低,超调量增大。比较仿真结果,当被控量与设定值偏差较大时,删除积分作用,以使

∑=k

j j e 0

)(不至过

大。只有当)(k e 较小时方引入积分作用,以消除静差,提高控制精度,控制量不宜进入饱和区。

2、抗积分饱和PID 控制算法

所谓积分饱和是指若系统存在一个方向的偏差,PID 控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置Xmax ,若控制器输出u(k)继续增大,阀门开度不可能在增大,此时就称计算机输出控制超出正常运行范围而进入了饱和区。一旦系统出现反向偏差,u(k)逐渐从饱和区推出。进入饱和区越深,则退出饱和区所需时间越长。在这段时间内,执行机构仍停留在极限位置而不能随偏差反向立即作出相应的改变,这时系统就像失去控制一样,造成控制性能恶化。这种现象称为积分饱和现象或积分失控现象。

抗积分饱和的思路是,在计算u(k)时,首先判断上一时刻的控制量u(k-1)是否已超出限制范围。若u(k-1)>u max ,则只累加负偏差;若u(k-1)

仿真2 设被控对象为s

s s s G 1047035.87523500

)(2

3++=

,采样周期1ms 。输入r(k)=30, 0,9,85.0===d i p k k k

仿真方法:

仿真程序:ex10.m 。M=1时采用抗积分饱和算法,M=2时采用普通PID 算法。

%PID Controler with intergration sturation clear all ; close all ;

ts=0.001;

sys=tf(5.235e005,[1,87.35,1.047e004,0]); dsys=c2d(sys,ts,'z'); [num,den]=tfdata(dsys,'v');

u_1=0.0;u_2=0.0;u_3=0.0; y_1=0;y_2=0;y_3=0;

x=[0,0,0]';

error_1=0;

um=6;%控制信号限幅值

kp=0.85;ki=9.0;kd=0.0; rin=30; %Step Signal

% M=1抗积分饱和,M=2普通PID

disp('M=1--Using intergration sturation,M=2--Not using iintergration sturation')

M=input('whether or not use integration separation method:') for k=1:1:800 time(k)=k*ts;

u(k)=kp*x(1)+kd*x(2)+ki*x(3); % PID Controller

if u(k)>=um

u(k)=um;

end

if u(k)<=-um

u(k)=-um;

end

%Linear model

yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4 )*u_3;

error(k)=rin-yout(k);

if M==1 %Using intergration sturation

if u(k)>=um

if error(k)>0

alpha=0;

else

alpha=1;

end

elseif u(k)<=-um

if error(k)>0

alpha=1;

else

alpha=0;

end

else

alpha=1;

end

elseif M==2 %Not using intergration sturation

alpha=1;

end

%Return of PID parameters

u_3=u_2;u_2=u_1;u_1=u(k);

y_3=y_2;y_2=y_1;y_1=yout(k);

error_1=error(k);

x(1)=error(k); % 计算比例项

x(2)=(error(k)-error_1)/ts; % 计算微分项

x(3)=x(3)+alpha*error(k)*ts; % 计算积分项

xi(k)=x(3);

end

figure(1);

subplot(311);

plot(time,rin,'b',time,yout,'r');

xlabel('time(s)');ylabel('Position tracking'); subplot(312);

plot(time,u,'r');

xlabel('time(s)');ylabel('Controller output'); subplot(313);

plot(time,xi,'r');

xlabel('time(s)');ylabel('Integration');

将仿真获得结果的截图附于如下空白处:

(1)M=1时采用抗积分饱和算法的仿真图:

图2-1 M=1时采用抗积分饱和算法(2)M=1时采用抗积分饱和算法的仿真图:

图2-2 M=2时采用抗积分饱和算法

仿真结果分析:

比较仿真结果知,采用普通的算法时,积分项的存在,有时可能会引起积分饱和,增加系统的调整时间和超调量,而采用了抗积分饱和的方法,可以消除静态误差,使控制量不易进入饱和区,即使进入了,也能较快,系统的输出特性得到了一定改善。

3、不完全微分PID 控制算法

在PID 控制中,微分信号的引入可改善系统的动态特性,但也易引入高频干扰,在误差扰动突变时尤其显出微分项的不足。若在控制算法中加入低通滤波器,则可使系统性能得到改善。具体做法就是在PID 算法中加入一个一阶惯性环节(低通滤波器)s

T f +11

,T f 为滤波

器系数。

可得此时的微分项输出为

()())

1()1()()1()1()()1()(-+---=--++-+=

k u k e k e K k e k e T T T k k u T T T k u D D f s D

p

D f

s f D αα,其

中)1(-+=

k u T T T D f

s f α,s

D

p

D T T k K =,T s 为采样时间,T D 为微分时间常数。 仿真3 被控对象为时滞系统传递函数1

60)(80+=-s e s G s

,在对象的输出端加幅值为0.01的

随机信号。采样周期为20ms 。采用不完全微分算法,140,0055.0,3.0===D i p T k k 。 所加的低通滤波器为1

1801

)(+=

s s Q

仿真方法:

仿真程序:ex11.m 。M=1时采用不完全微分,M=2时采用普通PID

%PID Controler with Partial differential clear all ; close all ; ts=20;

sys=tf([1],[60,1],'inputdelay',80); dsys=c2d(sys,ts,'zoh'); [num,den]=tfdata(dsys,'v');

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; %控制信号初值 ud_1=0; %uD(k-1)初值

y_1=0;y_2=0;y_3=0; %输出信号初值 error_1=0; ei=0;

for k=1:1:100 time(k)=k*ts; rin(k)=1.0;

yout(k)=-den(2)*y_1+num(2)*u_5; %输出信号差分方程

D(k)=0.01*rands(1);%干扰信号

yout(k)=yout(k)+D(k); %加入干扰后的输出信号

error(k)=rin(k)-yout(k);

ei=ei+error(k)*ts; %矩形面积求和计算的积分项输出

kp=0.30;

ki=0.0055;

TD=140;

kd=kp*TD/ts;

Tf=180;%Q的滤波器系数

Q=tf([1],[Tf,1]); %低通滤波器

%M=1选择不完全微分,M=2选择普通PID

disp('M=1—Using Partial differential PID,M=2-- Using PID Controler without Partial differential')

M=input('whether or not use Partial differential PID:')

if M==1 %M=1时用不完全微分

alfa=Tf/(ts+Tf);

ud(k)=kd*(1-alfa)*(error(k)-error_1)+alfa*ud_1;

u(k)=kp*error(k)+ud(k)+ki*ei;

ud_1=ud(k);

elseif M==2 %M=2时用普通PID

u(k)=kp*error(k)+kd*(error(k)-error_1)+ki*ei;

end

%输出限幅

if u(k)>=10

u(k)=10;

end

if u(k)<=-10

u(k)=-10;

end

%更新采样值

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_3=y_2;y_2=y_1;y_1=yout(k);

error_1=error(k);

end

figure(1);

plot(time,rin,'b',time,yout,'r');

xlabel('time(s)');ylabel('rin,yout');

figure(2);

plot(time,u,'r');

xlabel('time(s)');ylabel('u');

figure(3);

plot(time,rin-yout,'r');

xlabel('time(s)');ylabel('error'); figure(4);

bode(Q,'r');

dcgain(Q);

将仿真获得结果的截图附于如下空白处:

仿真结果分析:

比较m=1与m=2的图可得知:在标准PID 算式中,当有阶跃信号输入时,微分想输出急剧增加,容易引起调节过程的震荡,导致品质因数下降,为了克服这点才引入不完全微分的PID 算法。其微分作用逐渐下降,微分输出信号按指数规律逐渐衰减到零,因而系统变化比较缓慢,不容易引起振荡。微分控制可以改善动态特性,如超调量减少,调节时间缩短,使稳态误差减少,提高控制精度。

4、微分前行PID 控制算法

微分线性的PID 控制结构如图3-2所示,其特点是只对输出量y(k)进行微分,而对给定值r(k)不进行微分。这样,在改变给定值时,输出不会改变,而被控量的变化通常是比较缓和的,它适用于给定值r(k)频繁升降的场合,可以避免给定值升降时引起的系统振荡,从而改善系统的动态特性。

图3-2 微分先行PID 控制结构图

令微分部分的传递函数为11

1

)()(<++=

γγs T s T s y s u D D D ,式中

1

1

+s T D γ相当于低通滤波

器。

则有y dt

dy

T u dt du T D D D D

+=+γ

由差分得:)()

1()()()1()(k y T

k y k y T k u T k u k u T D D D D D

+--=+--γ

整理得微分部分的输出:)1()()1()(321--+-=k y c k y c k u c k u D D 其中T

T T c T T T T c T

T T c D D

D D D D +=

++=

+=

γγγγ321,, 比例积分部分的传递函数为:

???

?

??+=s T k s E s u I p PI 11)()(,其中T I 为积分时间常数。 离散控制算式为)()()(k u k u k u D PI +=。

仿真4 设被控对象为一个延迟对象1

60)(80+=-s e s G s

,采样周期为20s 。输入信号为带有

高频干扰的方波信号:))03.0sin(05.0)0005

.0sgn(sin()(t t t r ππ+=。普通PID 控制中14,0021.0,36.0===d i p k k k 。微分先行PID 中γ=0.5。

仿真方法:

仿真程序:ex12.m 。M=1时使用微分先行PID ,M=2使用普通PID

%PID Controler with differential in advance clear all ; close all ; ts=20;

sys=tf([1],[60,1],'inputdelay',80); dsys=c2d(sys,ts,'zoh'); [num,den]=tfdata(dsys,'v');

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; ud_1=0;

y_1=0;y_2=0;y_3=0; error_1=0;error_2=0; ei=0;

%M=1使用微分先行PID ,M=2使用普通PID disp('M=1?aUsing PID Controler with differential in advance ,M=2-- Using common PID Controler')

M=input('whether or not use PID Controler with differential in advance:');

for k=1:1:400 time(k)=k*ts;

%Linear model

yout(k)=-den(2)*y_1+num(2)*u_5;

kp=0.36;kd=14;ki=0.0021;

rin(k)=1.0*sign(sin(0.00025*2*pi*k*ts));

rin(k)=rin(k)+0.05*sin(0.03*pi*k*ts);

error(k)=rin(k)-yout(k);

ei=ei+error(k)*ts;

gama=0.50;

Td=kd/kp;

c1=gama*Td/(gama*Td+ts);

c2=(Td+ts)/(gama*Td+ts);

c3=Td/(gama*Td+ts);

if M==1 %PID Control with differential in advance ud(k)=c1*ud_1+c2*yout(k)-c3*y_1;

u(k)=kp*error(k)+ud(k)+ki*ei;

elseif M==2 %Simple PID Control

u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei; end

if u(k)>=110

u(k)=110;

end

if u(k)<=-110

u(k)=-110;

end

%Update parameters

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_3=y_2;y_2=y_1;y_1=yout(k);

error_2=error_1;

error_1=error(k);

end

figure(1);

plot(time,rin,'r',time,yout,'b');

xlabel('time(s)');ylabel('rin,yout');

figure(2);

plot(time,u,'r');

xlabel('time(s)');ylabel('u');

将仿真获得结果的截图附于如下空白处:

(1)M=1时使用微分先行PID输入输出图:

图4-1 M=1时使用微分先行PID输入输出图M=1时使用微分先行PID采样图:

图4-2 M=1时使用微分先行PID采样图(2)M=2使用普通PID输入输出图:

图4-3 M=2使用普通PID 输入输出图

M=2使用普通PID 采样图:

图4-4 M=2使用普通PID 采样图

仿真结果分析:

微分先行PID 算法将微分算法放在前面,适用于给定量频繁升降的场合,可以避免给定值升降时引起的系统振荡,从而改善系统的动态特性。

5、带死区的PID 控制算法

某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区

的PID 控制算法,控制算法为:?

??>≤=B k e k e B

k e k e )()()(0)(,式中e(k)为位置跟踪偏差,B

为可调的死区参数,具体可根据实际控制对象由试验确定。若B 太小,会使控制动作过于

频繁,达不到稳定被控对象的目的;若B 太大,则系统将产生较大的滞后。

仿真5 设被控对象为s

s s s G 1047035.87523500

)(2

3++=

,采样周期为1ms ,对象输出上有

一个幅值为0.5的正态分布的随机干扰信号。采用积分分离式PID 控制算法进行阶跃响应,取ξ=0.2,死区参数B=0.1,采用低通滤波器对对象输出信号进行滤波,滤波器为

1

04.01

)(+=

s s Q ,设计代码对控制系统进行仿真。

仿真代码: %PID Controler with dead zone clear all; close all; ts=0.001;

sys=tf(5.235e005,[1,87.35,1.047e004,0]); dsys=c2d(sys,ts,'z'); [num,den]=tfdata(dsys,'v') u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; y_1=0;y_2=0;y_3=0; yy_1=0;

error_1=0;error_2=0;ei=0;

sys1=tf([1],[0.04,1]); %Low Freq Signal Filter dsys1=c2d(sys1,ts,'tucsin'); [num1,den1]=tfdata(dsys1,'v'); f_1=0;

%M=1选择普通积分分离式PID ,M=2选择带死区的积分分离式PID 算法 disp('M=1--Using common integration seperation PID Controler ,M=2-- Using integration seperation PID Controler with dead zone')

M=input('whether or not use integration seperation PID Controler with dead zone:'); for k=1:1:2000 time(k)=k*ts; rin(k)=1; %Step Signal %Linear model

yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+... num(3)*u_2+num(4)*u_3 D(k)=0.50*rands(1); %Disturbance signal

yyout(k)=yout(k)+D(k);

%Low frequency filter

filty(k)=-den1(2)*f_1+num1(1)*(yyout(k)+yy_1); error(k)=rin(k)-filty(k);

if abs(error(k))<=0.20

ei=ei+error(k)*ts;

else

ei=0;

end

kp=0.50;ki=0.10;kd=0.020;

u(k)=kp*error(k)+ki*ei+kd*(error(k)-error_1)/ts;

if M==1

u(k)=u(k);

elseif M==2 %Using Dead zone

if abs(error(k))<=0.10

u(k)=0;

end

end

if u(k)>=10

u(k)=10;

end

if u(k)<=-10

u(k)=-10;

end

%----------Return of PID parameters------------

rin_1=rin(k);

u_3=u_2;u_2=u_1;u_1=u(k);

y_3=y_2;y_2=y_1;y_1=yout(k);

f_1=filty(k);

yy_1=yyout(k);

error_2=error_1;

error_1=error(k);

end

figure(1);

subplot(211);

plot(time,rin,'r',time,filty,'b');

xlabel('time(s)');ylabel('rin,yout');

subplot(212);

plot(time,u,'r');

xlabel('time(s)');ylabel('u');

figure(2);

plot(time,D,'r');

xlabel('time(s)');ylabel('Disturbance signal');

将仿真获得结果的截图附于如下空白处:

(1)M=1选择普通积分分离式PID算法:

图5-1 M=1选择普通积分分离式PID算法

M=1选择普通积分分离式PID算法干扰信号:

图5-2 M=1选择普通积分分离式PID算法干扰信号(2)M=2选择带死区的积分分离式PID算法:

图5-3 M=2选择带死区的积分分离式PID算法

M=2选择带死区的积分分离式PID算法干扰信号:

图5-4 M=2选择带死区的积分分离式PID算法干扰信号

仿真结果分析:

在控制精度要求不太高,控制过程要求尽量平稳的场合,为了避免控制动作过于频繁,消除由此产生的震荡,可以认为设置一灵敏区。死区是一可调参数,参数太小,调节动作过于频繁,达不到稳定控制的目的,参数太大,又会产生很大的纯滞后。

homework1

《计算机系统基础》Homework HW1:数据的表示 实验目的:熟悉数值数据在计算机内部的表示方式,掌握相关的处理语句。 实验报告要求: 1.说明你做实验的过程(重要步骤用屏幕截图表示)。 2.提交源程序。 3.分析或回答问题。 完成下列实验,提交实验报告: 1.下述两个结构所占存储空间多大?结构中各分量所在位置相对于结构起始位置的偏移 量是什么?要求编写程序以验证你的答案。若使用#pragma pack(2)语句,则结果又如何? struct test1 { char x2[3]; short x3[2]; int x1; long long x4; }; struct test2 { char x2[3]; short x3[2]; int x1; long long x4; }__attribute__((aligned(8))); 2.“-2 < 2”和“-2 < 2u”的结果一样吗?为什么? 3.运行下图中的程序代码,并对程序输出结果进行分析。

4.运行下列代码,并对输出结果进行分析。 #include void main() { union NUM { int a; char b[4]; } num; num.a = 0x12345678; printf("0x%X\n", num.b[2]); } 5.请说明下列赋值语句执行后,各个变量对应的机器数和真值各是多少?编写一段程序代 码并进行编译,观察默认情况下,编译器是否报warning。如果有warning信息的话,分析为何会出现这种warning信息。 int a = 2147483648; int b = -2147483648; int c = 2147483649; unsigned short d = 65539; short e = -32790; 6.完成书上第二章习题中第40题,提交代码,并在程序中以十六进制形式打印变量u的 机器数。 7.编译运行以下程序,并至少重复运行3次。 void main() { double x=23.001, y=24.001, z=1.0; for (int i=0; i<10; i++) { if ((y-x)==z) printf("equal\n"); else printf("not equal\n"); x += z; y += z; printf("%d, %f , %f\n”, i, x, y); } } 要求: (1)给出每次运行的结果截图。 (2)每次运行过程中,是否每一次循环中的判等结果都一致?为什么? (3)每次运行过程中,每一次循环输出的i、x和y的结果分别是什么?为什么?

计算机控制系统设计性实验

计算机控制系统设计性实验报告 学生姓名:学号: 学院:自动化工程学院 班级: 题目:

设计性实验撰写说明 正文:正文内容层次序号为: 1、1.1、1.1.1 2、2.1、2.1.1……。 1、选题背景:说明本课题应解决的主要问题及应达到的技术要求;简述本设计的指导思想。 2、方案论证(设计理念):说明设计原理(理念)并进行方案选择,阐明为什么要选择这个设计方案以及所采用方案的特点。 3、过程论述:对设计工作的详细表述。要求层次分明、表达确切。 4、结果分析:对研究过程中所获得的主要的数据、现象进行定性或定量分析,得出结论和推论。 5、结论或总结:对整个研究工作进行归纳和综合。 6、设计心得体会。 课程设计说明书(报告)要求文字通顺,语言流畅,无错别字,用A4纸打印并右侧装订。

《计算机控制系统》设计性实验 一、通过设计性实验达到培养学生实际动手能力方法及步骤: 对系统设计方法可以从“拿到题目”到“进行分析”再到“确定解决方案”最后到“具体系统的设计的实现”的整个过程进行全方位的启发。让学生掌握对不同的控制系统设计方法和基本思想,从工程角度对待设计题目,尽量做到全面认识理解工程实际与实验室环境的区别,逐步引入工程思想,提高学生设计技巧和解决实际问题的能力。 1、了解和掌握被控制对象的特性; 2、选择合理的传感器(量程、精度等); 3、计算机控制系统及接口的设计(存储器、键盘、显示); 4、制定先进的、合理的控制算法; 5、结合控制系统的硬件系统对软件进行设计; 6、画出系统硬件、软件框图; 7、系统调试。 二、具体完成成品要求: 1、对传感器、A/D、D/A、中央处理器、显示、键盘、存储器的选型大小等; 2、实现系统硬件原理图用Protel或Proteus、MATLAB软件(框图)仿真设计; 3、达到课题要求的各项功能指标; 4、系统设计文字说明书; 5、按照学号循环向下作以下7个题目。 三、系统控制框图: 控制系统硬件框图

《计算机控制系统》课后题答案-刘建昌等科学出版社

第一章计算机控制系统概述 习题与思考题 1.1什么是计算机控制系统?计算机控制系统较模拟系统有何优点?举例说明。 解答:由计算机参与并作为核心环节的自动控制系统,被称为计算机控制系统。与模拟系统相比,计算机控制系统具有设计和控制灵活,能实现集中监视和操作,能实现综合控制,可靠性高,抗干扰能力强等优点。例如,典型的电阻炉炉温计算机控制系统,如下图所示: 炉温计算机控制系统工作过程如下:电阻炉温度这一物理量经过热电偶检测后,变成电信号(毫伏级),再经变送器变成标准信号(1-5V或4-20mA)从现场进入控制室;经A/D 转换器采样后变成数字信号进入计算机,与计算机内部的温度给定比较,得到偏差信号,该信号经过计算机内部的应用软件,即控制算法运算后得到一个控制信号的数字量,再经由D/A转换器将该数字量控制信号转换成模拟量;控制信号模拟量作用于执行机构触发器,进而控制双向晶闸管对交流电压(220V)进行PWM调制,达到控制加热电阻两端电压的目的;电阻两端电压的高低决定了电阻加热能力的大小,从而调节炉温变化,最终达到计算机内部的给定温度。 由于计算机控制系统中,数字控制器的控制算法是通过编程的方法来实现的,所以很容易实现多种控制算法,修改控制算法的参数也比较方便。还可以通过软件的标准化和模块化,这些控制软件可以反复、多次调用。又由于计算机具有分时操作功能,可以监视几个或成十上百个的控制量,把生产过程的各个被控对象都管理起来,组成一个统一的控制系统,便于集中监视、集中操作管理。计算机控制不仅能实现常规的控制规律,而且由于计算机的记忆、逻辑功能和判断功能,可以综合生产的各方面情况,在环境与参数变化时,能及时进行判断、选择最合适的方案进行控制,必要时可以通过人机对话等方式进行人工干预,这些都是传统模拟控制无法胜任的。在计算机控制系统中,可以利用程序实现故障的自诊断、自修复功能,使计算机控制系统具有很强的可维护性。另一方面,计算机控制系统的控制算法是通过软件的方式来实现的,程序代码存储于计算机中,一般情况下不会因外部干扰而改变,因此计算机控制系统的抗干扰能力较强。因此,计算机控制系统具有上述优点。 1.2计算机控制系统由哪几部分组成?各部分的作用如何? 解答:计算机控制系统典型结构由数字控制器、D/A转换器、执行机构和被控对象、测量变送环节、采样开关和A/D转换环节等组成。 被控对象的物理量经过测量变送环节变成标准信号(1-5V或4-20mA);再经A/D转换器采样后变成数字信号进入计算机,计算机利用其内部的控制算法运算后得到一个控制信号的数字量,再经由D/A转换器将该数字量控制信号转换成模拟量;控制信号模拟量作用于执行机构触发器,进而控制被控对象的物理量,实现控制要求。 1.3应用逻辑器件设计一个开关信号经计算机数据总线接入计算机的电路图。

计算机控制技术实验报告

精品文档

精品文档 实验一过程通道和数据采集处理 为了实现计算机对生产过程或现场对象的控制,需要将对象的各种测量参数按 要求转换成数字信号送入计算机;经计算机运算、处理后,再转换成适合于对生产 过程进行控制的量。所以在微机和生产过程之间,必须设置信息的传递和变换的连 接通道,该通道称为过程通道。它包括模拟量输入通道、模拟量输出通道、数字量 输入通道、数字量输出通道。 模拟量输入通道:主要功能是将随时间连续变化的模拟输入信号变换成数字信 号送入计算机,主要有多路转化器、采样保持器和 A/D 转换器等组成。模拟量输出通道:它将计算机输出的数字信号转换为连续的电压或电流信 号,主要有 D/A 转换器和输出保持器组成。 数字量输入通道:控制系统中,以电平高低和开关通断等两位状态表示的 信号称为数字量,这些数据可以作为设备的状态送往计算机。 数字量输出通道:有的执行机构需要开关量控制信号 ( 如步进电机 ) ,计算机 可以通过 I/O 接口电路或者继电器的断开和闭合来控制。 输入与输出通道 本实验教程主要介绍以 A/D 和 D/A 为主的模拟量输入输出通道, A/D 和D/A的 芯片非常多,这里主要介绍人们最常用的 ADC0809和 TLC7528。 一、实验目的 1.学习 A/D 转换器原理及接口方法,并掌握ADC0809芯片的使用 2.学习 D/A 转换器原理及接口方法,并掌握TLC7528 芯片的使用 二、实验内容 1.编写实验程序,将- 5V ~ +5V 的电压作为 ADC0809的模拟量输入,将 转换所得的 8 位数字量保存于变量中。 2.编写实验程序,实现 D/A 转换产生周期性三角波,并用示波器观察波形。 三、实验设备 + PC 机一台, TD-ACC实验系统一套, i386EX 系统板一块 四、实验原理与步骤 1.A/D 转换实验 ADC0809芯片主要包括多路模拟开关和 A/D 转换器两部分,其主要特点为:单 电源供电、工作时钟 CLOCK最高可达到 1200KHz 、8 位分辨率, 8 +个单端模拟输 入端, TTL 电平兼容等,可以很方便地和微处理器接口。 TD-ACC教学系统中的 ADC0809芯片,其输出八位数据线以及 CLOCK线已连到控制计算机的数据线及系统应用时钟1MCLK(1MHz) 上。其它控制线根据实验要求可另外连接(A 、B、C、STR、/OE、EOC、IN0~ IN7) 。根据实验内容的第一项要求,可以设计出如图 1.1-1 所示 的实验线路图。

总线实验

山西大学自动化与软件学院 课程实验报告 实验课程计算机系统基础 实验名称总线与寄存器实验 实验地点线上 实验时间 6.30 学生班级软件工程1808班 学生学号 201802810825 学生姓名 指导教师

一:实验要求 理解并掌握总线与寄存器 二:实验目的 1、熟悉实验软件环境; 2、掌握总线以及数据通路的概念及传输特性。 3、理解锁存器、通用寄存器及移位寄存器的组成和功能。 二、实验内容 1、根据已搭建好的8位数据通路,熟悉总线连接的方法,理解74LS244芯片的作用,理解各相关信号在数据传输过程中起的作用; 2、通过拨码开关置数,将数据传送到各寄存器,将寄存器中数据显示出来,熟悉常用的寄存器。 三、实验器件 1、D触发器(74LS74、74LS175)、三态缓冲器(74LS244)。 2、寄存器(74LS27 3、74LS374 )和移位寄存器(74LS194) 四、实验原理 (见实验指导书) 五、实验步骤 注意:实验过程中应观察总线上及芯片引脚上显示的数据的变化情况,理解数据传送的过程和寄存器存数,从寄存器读数的原理。 实验(1)拨码开关输入数据至总线 ●====1;手动操作总线DIN上的拨码开关,在总线DIN上置位数据0x55,缓冲器244阻断。比较总线DIN与BUS状态的异同。 ●=0,比较总线DIN与BUS状态的异同,记录BUS总线的数据: BUS_7BUS_6BUS_5BUS_4BUS_3BUS_2BUS_1BUS_0BUS总 线 01010101AA 实验(2)D触发器数据锁存实验 ●=0,===1;通过拨码开关改变74LS74的D端(即BUS总线的BUS_0)的状态,按照下表置位74LS74的端、端,观察并记录CLK端上升沿、下降沿跳变时刻Q端、端的状态,填观测结果于表中。 CLK D Qn Qn+1n+1 01××010 110 10××001 101

计算机控制系统实验报告

南京理工大学 动力工程学院 实验报告 实验名称最少拍 课程名称计算机控制技术及系统专业热能与动力工程 姓名学号 成绩教师任登凤

计算机控制技术及系统 一、 实验目的及内容 通过对最少拍数字控制器的设计与仿真,让自己对最少拍数字控制器有更好的理解与认识,分清最少拍有纹波与无纹波控制系统的优缺点,熟练掌握最少拍数字控制器的设计方法、步骤,并能灵巧地应用MATLAB 平台对最少拍控制器进行系统仿真。 (1) 设计数字调节器D(Z),构成最少拍随动控制系统,并观察系统 的输出响应曲线; (2) 学习最少拍有纹波系统和无纹波系统,比较两系统的控制品质。 二、实验方案 最少拍控制器的设计理论 r (t ) c(t ) e*(t) D (z) E (z) u*(t) U (z) H 0(s )C (z) Gc (s ) Φ(z) G(z) R(z) 图1 数字控制系统原理图 如图1 的数字离散控制系统中,G C (S)为被控对象,其中 H(S)= (1-e -TS )/S 代表零阶保持器,D(Z)代表被设计的数字控制器,D(Z)的输入输出均为离散信号。 设计步骤:根据以上分析 1)求出广义被控对象的脉冲传递函数G (z ) 2)根据输入信号类型以及被控对象G (z )特点确定参数q, d, u, v, j, m, n 3)根据2)求得参数确定)(z e Φ和)(z Φ 4)根据 )(1) ()(1)(z z z G z D Φ-Φ= 求控制器D (z ) 对于给定一阶惯性加积分环节,时间常数为1S ,增益为10,采样周期T 为1S 的对象,其传递函数为:G C (S) =10/S(S+1)。 广义传递函数: G(z)=Z [])()(s G s H c ?=Z ?? ?????--)(1s G s e c Ts =10(1-z -1 )Z ??????+)1(12s s =3.68×) 368.01)(1() 717.01(1 111------+z z z z

计算机控制理论答案

第一讲 1、什么是计算机数字控制系统?一般由哪几部分组成?请用框图形式给出实例,并简单说明其工作原理。 计算机控制系统就是利用计算机(通常称为工业控制机)来实现生产过程自动控制的系统;一般由计算机和生产过程两部分组成; 计算机控制系统由工业控制计算机主体(包括硬件、软件与网格结构)和生产过程两大部分组长。其中硬件系统有主机、输入输出通道、外部设备、检测与执行机构组成; 三个步骤原理: ①实时数据采集:对来自测量变送装置的被控量的瞬时值进行检测和输 入。 ②实时控制决策:对采集到的被控量进行分析和处理,并按已定的控制 规律,决定将要采取的控制行为。 ③实时控制输出:根据控制决策,适时地对执行机构发出控制信号,完 成控制任务。 2、实时、在线方式、离线方式的含义是什么? 实时:指信号的输入、计算和输出都要在一定的时间围完成,亦即计算机对输入信息,以足够快的速度进行控制,超出了这个时间,就失去了控制的时机,控制也就失去了意义。 在线方式:在线方式亦称为联机方式,是指生产过程和计算机直接连接,并受计算机控制的方式称为。

离线方式:离线方式亦称为脱机方式,是指生产过程不和计算机相连,且不受计算机控制,而是靠人进行联系并做相应操作的方式。 3、简述计算机数字控制系统的发展趋势。 计算机数值控制系统的发展趋势有控制系统的网络化、扁平化、只能化、综合化。 第二讲 1、简述计算机控制系统中过程通道的基本类型及其作用。 数字量输入通道:接受外部装置或产生过程的状态信号,同时将状态信号经转换、保护、滤波、隔离等措施转换成计算机能够接收的逻辑信号; 数字量输出通道:把计算机输出的微弱数字信号转换成能对生产过程进行控制的数字驱动信号; 模拟量输入通道:把被控对象的过程参数如温度、压力、流量、液位重量等模拟信号转换成计算机可以接收的数字量信号; 模拟量输出通道:把计算机处理后的数字量信号转换成模拟量电压或电流信号,去驱动相应的执行器,从而达到控制的目的。 2、简述计算机控制系统抗干扰技术的基本措施。 克服干扰的措施主要有:硬件措施、软件措施和软硬结合的措施。 其中硬件抗干扰措施包含:①过程通道抗干扰技术;②CPU抗干扰技术;③系统供电与接地技术。针对不同的干扰采用不用的抗干扰技术: ①过程通道抗干扰技术:针对串模干扰,采用滤波器、双积分式A/D转换器、双绞线作信号引线等方法来抑制;针对共模干扰,采用变压器隔离、光电隔离、浮地屏蔽、采用仪表放大器提高共模抑制比等方式;针对长线传输干扰可采用双绞线与同轴电缆进行传输; ②CPU抗干扰技术:使用Watchdog(俗称看门狗)、电源监控(掉电检测及保护)、复位等;

计算机控制技术实验3

1.1、某系统的开环传递函数为 432 20 G(s)= 83640s s s s +++ 试编程求系统在单位负反馈下的阶跃响应曲线,并求最大超调量。 Matlab 命令: clc;clear all ; num=[20];den=[1 8 36 40 0]; [num,den]=cloop(num,den,-1); s=tf(num,den); step(s,20);

Step Response Time (sec) A m p l i t u d e 0.2 0.4 0.6 0.8 1 1.2 1.4 1.2、典型二阶系统 22 2 G()2n n n s s s ωξωω=++ 编程求当ωn =6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0时的单位阶跃响应曲线。 Matlab 命令: clc;clear all ; wn=6;kesi=[0.2 0.4 0.6 0.8 1.0 1.5 2.0];

hold on ; for n=1:7 num=[wn^2];den=[1 2*kesi(n)*wn wn^2]; s=tf(num,den); step(s,20); end hold off ; Step Response Tim e (sec) A m p l i t u d e

1.3、典型二阶系统传递函数为: 2 2 2 2)(n n n s s s G ωξωω++= 绘制当ζ=0.7,ωn 取2、4、6、8、10、12时的单位阶跃响应曲线。 Matlab 命令: clc;clear all ; wn=[2 4 6 8 10 12];kesi=0.7; hold on ; for n=1:6; num=[wn(n)^2];den=[1 2*kesi*wn(n) wn(n)^2]; s=tf(num,den); step(s,20); end hold off ;

计算机控制技术实验二

一、 实验目的 (1)对PID 数字控制的改进算法用MATLAB 进行仿真。 二、 实验内容 1、积分分离PID 控制算法 在普通PID 控制中,积分的目的是为了消除误差提高精度,但在过程的启动、结束或大幅度增减设定是,短时间内系统输出有很大偏差,会造成PID 运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的超调,甚至引起系统较大的振荡,这在生产中是绝对不允许的。 积分分离控制基本思路是,当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。其具体实现步骤是: 1) 根据实际情况,人为设定阈值ε>0; 2) 当ε>)(k e 时,采用PD 控制,可避免产生过大的超调,又使系统有较快的响应; 3) 当ε≤)(k e 时,采用PID 控制,以保证系统的控制精度。 积分分离算法可表示为: ∑=--++=k j d i p T k e k e k T j e k k e k k u 0 ) 1()()()()(β 式中,T 为采样时间,β为积分项的开关系数,?? ?>≤=ξ ξ β|)(|0|)(|1k e k e 仿真1 设备控对象为一个延迟对象1 60)(80+=-s e s G s ,采样周期为20s ,延迟时间为4个 采样周期,即80s 。输入信号r(k)=40,控制器输出限制在[-110,110]。 3,005.0,8.0===d i p k k k 被控对象离散化为)5()2()1()2()(-+--=k u num k y den k y 仿真方法:仿真程序:ex9_1.m 。当M=1时采用分段积分分离法,M=2时采用普通PID 控制。 %Integration Separation PID Controller clear all ; close all ; ts=20; %Delay plant sys=tf([1],[60,1],'inputdelay',80); dsys=c2d(sys,ts,'zoh'); [num,den]=tfdata(dsys,'v');

homework2

《计算机系统基础》Homework HW2:排序程序的编辑、编译和调试 实验目的:熟悉开发环境、掌握开发和调试的基本过程以及工具。 实验要求:对实验步骤中给出的源程序进行编辑、编译、链接,调试。 实验报告: 1. 说明你做实验的过程(重要步骤用屏幕截图表示)。 2. 提交出源程序。 3. 提交可执行目标文件。 4. 分析或回答下列问题。 (1)分析同一个源程序在不同机器上生成的可执行目标代码是否相同。 提示:从多个方面(如ISA、OS 和编译器)来分析。 (2)你能在可执行目标文件中找出函数printf ()对应的机器代码段吗?能的话,请标示出来。(3)为什么源程序文件的内容和可执行目标文件的内容完全不同? 报告提交截止日期:5月24 日 实验步骤: 1、以下程序实现了排序和求和算法,程序源码如下图所示。请根据提供的图片输入源程序文件,并保存为相应的.c 和.h 文件。 bubblesort.h: bubblesort.c:

add.h: add.c: printresult.h: printresult.c:

main.c: 2、将源程序文件进行预处理、编译、汇编和链接,以生成可执行文件。 (1) 使用gcc 直接生成可执行文件 gcc -o main main.c bubblesort.c add.c printresult.c

(2) 首先生成可重定位目标文件(.o 文件),再链接成可执行文件。 首先,使用gcc –c ……命令将所有.c 文件编译成.o 文件(可以用-o 选项命名输出的可重定位目标文件),然后再用ld 命令进行链接,以生成可执行目标文件。 (用ld命令链接时要包含很多系统库,可以用gcc –v main.c来查看系统链接需要哪些库,把collect2 换成ld,生成的/tmp/ccBCU0rh.o 即为mian.c 编译出来的main.o 文件,删掉该句替换成以下命令:-o main main.o bubblesort.o add.o printresult.o -e main) ld -o main main.o bubblesort.o add.o printresult.o -e main --sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux.so.2 -z relro /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o /usr/lib/gcc/i686-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/i686-linux-gnu/4.8 -L/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu -L/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib -L/lib/i386-linux-gnu -L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/i686-linux-gnu/4.8/../../.. -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i686-linux-gnu/4.8/crtend.o /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o 上述过程如下图所示: 3、使用OBJDUMP命令进行反汇编(请自行查阅OBJDUMP命令的使用方法) 例如,可使用“objdump –S”命令进行反汇编 objdump –S main.o:将main.o进行反汇编 4、使用GDB命令进行各种调试(GDB命令参见教材附录C,也可自行查阅网上相关文档) 调试之前首先用“gcc –g”命令生成调试信息,否则调试失败。 gcc -g -o main main.c bubblesort.c add.c printresult.c gdb main 要求用各种GDB命令对程序进行调试(例如用info registers 查看寄存器内容)。 5、选做(加分题) 实现readelf –h main.o的功能

计算机控制系统实验报告2

江南大学物联网工程学院 《计算机控制系统》 实验报告 实验名称实验二微分与平滑仿真实验 实验时间2017.10.31 专业班级 姓名学号 指导教师陈珺实验成绩

一、实验目的与要求 1、了解微分对采样噪音的灵敏响应。 2、了解平滑算法抑制噪音的作用。 3、进一步学习MATLAB 及其仿真环境SIMULINK 的使用。 二、仿真软硬件环境 PC 机,MATLAB R2012b 。 三、实验原理 如图微分加在正反馈输入端,计算机用D(Z)式进行微分运算。R 为阶跃输入信号,C 为系统输出。由于微分是正反馈,当取合适的微分时间常数时,会使系统响应加快。若微分时间常数过大,则会影响系统稳定性。 四、D(Z)设计 1、未平滑时的D(Z) 用一阶差分代替微分运算: )1()()()(1--==Z T T Z X Z Y Z D D 式中T D为微分时间常数,T 为计算机采样周期。 2、平滑后的D(Z) 微分平滑运算原理如图: 取Y *(k)为四个点的微分均值,有 )331(6)()()( )33(6 )5 .15.05.05.1(4)( 321321221*-----------+==∴--+=-+-+-+-= Z Z Z T T Z X Z Y Z D X X X X T T X X X X X X X X T T K Y D K K K K D K K K K D x t + ○R

五、SIMULINK仿真结构图 七、思考题 1、微分噪音与采样噪音和采样周期T有什么关系?与微分时间常数有什么关系? 2、平滑后系统输出有无改善?是否一定需要平滑?

计算机控制技术

《计算机控制技术》课程教学大纲 课程名称:计算机控制技术 英文名称:The Technology of Control Based On The Computer 课程类型:专业基础选修课 总学时:48 讲课学时:40 实验学时:8 学时:48 学分:3 适用对象:自动化专业、测控技术与仪器 先修课程:自动控制原理、现代控制理论、微机原理及应用、单片机原理及应用 一、课程性质、目的和任务 《计算机控制技术》是自动化专业的一门重要的专业基础课。课程的教学目的在于使学生掌握通过计算机来实现自动控制的工作原理和一般的方法,掌握计算机控制系统的分析和设计的基本理论和方法。在本课程的教学过程中,着重突出阐述基本的数字控制器的设计方法,针对计算机控制系统的特点,介绍具体的数字控制器的设计技术。最后,通过对目前国内典型的计算机控制系统的举例及分析,使学生能够更加具体地了解以数字控制器为核心的计算机控制系统的一般设计过程和在控制方法上的特点。通过课程学习,培养学生分析问题与解决问题的能力,培养学生一定的动手能力,为进一步学习专业知识以及毕业后从事专业工作打下必要的基础。 二、教学基本要求 本课程主要以线性离散控制系统为研究对象,进行系统的分析与设计。学完本课程应达到以下基本要求: 1.了解计算机控制系统的组成、特点及分类,典型的计算机控制系统和计算机控制系的发展方向。 2.了解计算机控制系统基本的输入输出接口技术和输入输出通道的组成及其作用。 3.掌握线性离散系统的基本理论和分析方法。 4.掌握数字PID控制算法,并在此基础上能进行计算机控制系统的模拟化设计。 5.熟练掌握计算机控制系统的直接设计方法。 6.了解纯滞后对象的特点及其控制算法——大林算法。 三、教学内容及要求 1.绪论 ①理解计算机控制系统的组成及特点; ②理解计算机控制系统的分类; ③了解典型的计算机控制系统; ④了解机控制系统的发展方向。 2.输入输出接口和通道 ①了解I/O接口与I/O控制方式; ②了解I/O通道的组成、分类及其作用;

计算机控制技术习题—广州工业大学

1.1 什么是计算机控制系统?它由哪几个部分组成? 1.2 计算机控制系统的典型形式有哪些?各有什么优缺点? 1.3 实时、在线方式和离线方式的含义是什么? 1.4 工业控制机的哪几个部分组成?各部分的主要作用是什么?工业控制机的特点有哪些? 1.5 什么是总线、内部总线和外部总线? 1.6 PC总线和STD 总线各引线的排列和含义是怎样的? 1.7 RS-232C 和 IEEE-488 总线各引线的排列和含义是怎样的? 2.1 什么是接口、接口技术和过程通道? 2.2 采用74LS244和74LS273与PC总线工业控制机接口,设计8路数字量(开关量)输入接口和8路数字量(开关量)输出接口,请画出接口电路原理图,并分别编写数字输入和数字输出程序。 2.3 采用8位 A/D 转换器 ADC0809 通过 8255A 与PC总线工业控制机接口,实现8路模拟量采集。请画出接口原理图,并设计出8路模拟量的数据采集程序。 2.4 用12位 A/D 转换器 AD574 通过 8255A 与PC总线工业控制机接口,实现模拟量采集。请画出接口原理图,并设计出A/D转换程序。 2.5 请分别画出一路有源I/V变换电路和一路无源I/V变换电路图,并分别说明各元器件的作用? 2.6 什么是采样过程、量化、孔径时间? 2.7 采样保持器的作用是什么?是否所有的模拟器输入通道中都需要采样保持器?为什么? 2.8 一个8位 A/D 转换器,孔径时间为100μs, 如果要求转换误差在A/D 转换器的转换精度 (0.4 %) 内,求允许转换的正选波模拟信号的最大频率是多少? 2.9 试用 8255A 、AD574、LF398、CD4051 和PC总线工业控制机接口,设计出8路模拟量采集系统。请画出接口电路原理图,并编写相应的8路模拟量的数据采集程序。 2.10 采用DAC0832和PC总线工业控制机接口,请画出接口电路原理图,并编写D/A转换程序。 2.11 采用 DAC1210 和PC总线工业控制机接口,请画出接口电路原理图,并编

实验报告一Linux下的C语言编程

计算机系统基础实验报告 学院信电学院专业计算机班级1401 学号140210110 姓名段登赢实验时间: 一、实验名称:Linux下的C语言编程 二、实验目的和要求: 实验目的: (1)掌握VMware虚拟机的使用及Linux操作系统的安装; (2)熟练Linux操作系统的基本使用; (3)掌握GCC编译环境的使用; 实验要求: 描述你的分析过程;说明你做实验的过程(重要步骤用屏幕截图表示);提交源程序和可执行文件。 三、实验环境(软、硬件): 硬件:个人电脑一台 软件:在虚拟机Vmware上的Ubuntu GCC编辑器:vi编辑器 四、实验内容: 要求:在GCC编译环境下用C语言编程完成下列题目。 (1)人口普查 (2)旧键盘 (3)集体照 1、常用的Linux命令总结 Tab 快捷键,自动补全 切换用户:格式su [用户名];su - root 查看目录和文件:格式ls [-a -l ] [目录和文件],其中-a是显示目录下所有的文件和目录(含隐藏文件)-l是显示目录下的文件和目录的详细信息 改变工作目录:格式cd /目录名;cd .. 返回上一目录 复制文件:格式cp [ -r ] 源文件或目录目标文件和目录,其中-r是复制目录 移动或更名:格式mv 源文件目标文件 删除文件或目录:格式rm [ -r ] 文件名或目录名,其中-r是删除目录 创建目录:格式mkdir 目录名 查看目录大小:格式du 目录名 压缩文件:格式gzip [-d] 文件名,其中-d是解压缩 打包文件:格式tar 目录或文件

解包文件:格式xvf 目录或文件 终止程序:Ctrl+c 后台运行:Ctrl+z Gcc编译:格式gcc [-o -O -c -g -w] 文件名,其中-o是确定输出自定义文件的名字,-O对程序的编译和链接进行优化,-c是不进行链接,生成.o后缀的文件,-g是产生调试工具,-w 不生成警告信息。 2. 在Linux系统中对所给的题目进行编程和分析 (1)打开虚拟机运行ubuntu (2)打开虚拟机终端(ctrl+Alt+T) (3)键入命令cd /home/duan/桌面进入到桌面 (4)键入命令mkdir shiyan,创建名字为shiyan的文件夹,更改用户权限 (5)然后cd /shiyan进入的shiyan文件夹里面 (6)键入命令touch renkou.c创建.c文件。如下图所示 (7)键入命令gcc renkou.c进行编译c程序,生成可执行文件。 (8)键入命令./a.out运行可执行文件,如下图所示。 五、实验结果及分析: 1、人口普查

《计算机控制系统》实验手册

《计算机控制系统》实验手册 上海海事大学电气自动化系施伟锋 上海海事大学电气自动化实验中心李妮娜 目录 1《计算机控制系统》实验指导(Matlab版) (2) 实验一数字PID参数的整定 (3) 实验二Smith算法的运用..........................................5实验三二阶对象数字控制系统设计..............................7实验四达林控制算法的运用 (9) 2 《计算机控制系统》实验指导(DSP版) (11) 实验一实验系统介绍与CCS软件使用入门 (11) 实验二数字I/O实验—交通灯实验 (26) 实验三PWM输出实验1——直流电机控制实验 (30) 3 《计算机控制系统》课程设计指导(Matlab版)………33 4 《计算机控制系统》课程设计指导(DSP版) (35) 5 《计算机控制系统》课程设计报告或小论文格式 (40)

《计算机控制系统》实验指导 (Matlab 版) 一、实验课程教学目的与任务 通过实验设计或计算机仿真设计,使学生了解和掌握数字PID控制算法的特点、了解系统PID参数整定和数字控制系统的直接设计的基本方法,了解不同的控制算法对被控对象的控制特性,加深对计算机控制系统理论的认识,掌握计算机控制系统的整定技术,对系统整体设计有一个初步的了解。 根据各个实验项目,完成实验报告(用实验报告专用纸)。 二、实验要求 学生在熟悉PC机的基础上,熟悉MATLAB软件的操作,熟悉Simuli nk工具箱的软件编程。通过编程完成系统的设计与仿真实验,逐步学习控制系统的设计,学习控制系统方案的评估与系统指标评估的方法。 计算机控制系统主要技术指标和要求: 根据被控对象的特性,从自动控制系统的静态和动态质量指标要求出发对调节器进行系统设计,整体上要求系统必须有良好的稳定性、准确性和快速性。一般要求系统在振荡2~3次左右进入稳定;系统静差小于3%~5%的稳定值(或系统的静态误差足够小);系统超调量小于30%~50%的稳定值;动态过渡过程时间在3~5倍的被控对象时间常数值。 系统整定的一般原则: 将比例度置于交大值,使系统稳定运行。根据要求,逐渐减小比例度,使系统的衰减比趋向于4:1或10:1。若要改善系统的静态特性,要使系统的静差为零,加入积分环节,积分时间由大向小进行调节。若要改善系统的动态特性,增加系统的灵敏度,克服被控对象的惯性,可以加入微分环节,微分时间由小到大进行调节。PID控制的三个特性参数在调节时会产生相互的影响,整定时必需综合考虑。系统的整定过程是一个反复进行的过程,需反复进行。

《计算机控制技术》习题参考答案完整版

《计算机控制技术》 (机械工业出版社范立南、李雪飞) 习题参考答案 第1章 1.填空题 (1) 闭环控制系统,开环控制系统 (2) 实时数据采集,实时决策控制,实时控制输出 (3) 计算机,生产过程 (4) 模拟量输入通道,数字量输入通道,模拟量输出通道,数字量输出通道 (5) 系统软件,应用软件 2.选择题 (1) A (2) B (3) C (4) A (5) B 3.简答题 (1) 将闭环自动控制系统中的模拟控制器和和比较环节用计算机来代替,再加上A/D转换器、D/A转换器等器件,就构成了计算机控制系统,其基本框图如图所示。 计算机控制系统由计算机(通常称为工业控制机)和生产过程两大部分组成。工业控制机是指按生产过程控制的特点和要求而设计的计算机,它包括硬件和软件两部分。生产过程包括被控对象、测量变送、执行机构、电气开关等装置。 (2)

操作指导控制系统:其优点是控制过程简单,且安全可靠。适用于控制规律不是很清楚的系统,或用于试验新的数学模型和调试新的控制程序等。其缺点是它是开环控制结构,需要人工操作,速度不能太快,控制的回路也不能太多,不能充分发挥计算机的作用。 直接数字控制系统:设计灵活方便,经济可靠。能有效地实现较复杂的控制,如串级控制、自适应控制等。 监督计算机控制系统:它不仅可以进行给定值的控制,还可以进行顺序控制、最优控制、自适应控制等。其中SCC+模拟调节器的控制系统,特别适合老企业的技术改造,既用上了原有的模拟调节器,又可以实现最佳给定值控制。SCC+DDC的控制系统,更接近于生产实际,系统简单,使用灵活,但是其缺点是数学模型的建立比较困难。 集散控制系统:又称分布式控制系统,具有通用性强、系统组态灵活,控制功能完善、数据处理方便,显示操作集中,调试方便,运行安全可靠,提高生产自动化水平和管理水平,提高劳动生产率等优点。缺点是系统比较复杂。 计算机集成制造系统:既能完成直接面向过程的控制和优化任务,还能完成整个生产过程的综合管理、指挥调度和经营管理的任务。但是计算机集成制造系统所要解决的不仅是局部最优问题,而是一个工厂、一个企业乃至一个区域的总目标或总任务的全局多目标最优,即企业综合自动化问题。 现场总线控制系统:成本低、可靠性高,而且在同一的国际标准下可以实现真正的开放式互联系统结构。 嵌入式控制系统:嵌入式控制系统是面向特定应用而设计的、对功能、

华中科技大学计算机系统基础实验报告

课程实验报告课程名称:计算机系统基础 专业班级: 学号: 姓名: 指导教师: 报告日期:2016年5月24日 计算机科学与技术学院

目录 实验1: (2) 实验2: (9) 实验3: (23) 实验总结 (32)

实验1:数据表示 1.1 实验概述 本实验的目的是更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。 实验中,你需要解开一系列编程“难题”——使用有限类型和数量的运算操作实现一组给定功能的函数,在此过程中你将加深对数据二进制编码表示的了解。实验语言:c; 实验环境: linux 1.2 实验内容 需要完成 bits.c 中下列函数功能,具体分为三大类:位操作、补码运算和浮点数操作。 1.3 实验设计 源码如下: /* * lsbZero - set 0 to the least significant bit of x * Example: lsbZero(0x87654321) = 0x87654320 * Legal ops: ! ~ & ^ | + <<>> * Max ops: 5 * Rating: 1 */ int lsbZero(int x) { //x右移一位再左移一位实现把最低有效位置0 x = x>>1; x = x<<1; return x; } /* * byteNot - bit-inversion to byte n from word x * Bytes numbered from 0 (LSB) to 3 (MSB) * Examples: getByteNot(0x12345678,1) = 0x1234A978 * Legal ops: ! ~ & ^ | + <<>> * Max ops: 6 * Rating: 2

第四章 计算机控制技术实验

计算机控制技术实验 班级:电信131 姓名:高博言 学号:201301242 7

一.实验目的 1、了解模/数转换器A/D芯片ADC0809转换性能及编程。 2、编制程序通过0809采样输入电压并转换成数字量值。 二.实验说明 模/数转换实验框图见图4-2-1所示。 图4-2-1 模/数转换实验框图 模/数转换器(B8单元)提供IN4~IN7端口,供用户使用,其中IN4、IN5有效输入电平为0V~+5V,IN6和IN7为双极性输入接法,有效输入电平为-5V~+5V,有测孔引出。 二.实验内容及步骤 (1)将信号发生器(B1)的幅度控制电位器中心Y测孔,作为模/数转换器(B7)输入信号: B1单元中的电位器左边K3开关拨下(GND),右边K4开关拨上(+5V)。 (2)测孔联线:B1(Y)→模/数转换器B7(IN4)(信号输入)。 (3)运行、观察、记录: 运行LABACT程序,选择微机控制菜单下的模/数转换实验项目,就会弹出虚拟示波器的界面,点击开始后,在虚拟示波器屏幕上显示出即时模/数转换二进制码及其对应的电压值;再次点击开始,将继续转换及显示,满17次后回到原点显示。 屏幕上X轴表示模/数转换的序号,Y轴表示该次模/数转换的结果。每次转换后将在屏幕出现一个“*”,同时在“*”下显示出模/数转换后的二进制码及对应的电压值,所显示的电压值应与输入到模/数转换单元(B7)的输入通道电压相同。每转换满17次后,将自动替代第一次值。输入通道可由用户自行选择,默认值为IN4。

一.实验目的 1、掌握数/模转换器DAC0832芯片的性能、使用方法及对应的硬件电路。 2、编写程序控制D/A输出的波形,使其输出周期性的三角波。 二.实验说明 数/模转换实验框图见图4-1-1所示。 图4-1-1 数/模转换实验框图 三.实验内容及步骤 在实验中欲观测实验结果时,只要运行LABACT程序,选择微机控制菜单下的数/模转换实验项目,就会弹出虚拟示波器的界面,点击开始后将自动加载相应源文件,可选用虚拟示波器 (B3)单元的CH1测孔测量波形,详见实验指导书第二章虚拟示波器部分。 4.3.1 采样实验 一.实验目的 了解模拟信号到计算机控制的离散信号的转换—采样过程。 二、实验内容及步骤 采样实验框图构成如图4-3-1所示。本实验将函数发生器(B5)单元“方波输出”作为

相关文档
相关文档 最新文档