当前位置:文档之家› 流程控制实验报告

流程控制实验报告

流程控制实验报告
流程控制实验报告

C语言程序设计实验报告

一、实验名称流程控制实验

二、实验目的

1.掌握复合语句、if语句、switch语句的使用,熟练掌握for、while、do-while三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句。

2.练习循环结构for、while、do-while语句的使用。

3.练习转移语句和标号语句的使用。

4.使用codeblocks开发环境中的调试功能:单步执行、设置断点、观察变量值。

三、实验任务

1.源程序改错题

下面是计算s=n!的源程序,在这个源程序中存在若干语法和逻辑错误。要求在计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务。例如,8!=40320。

#include

void main()

{

int i,n,s=1;

printf("Please enter n:");

scanf("%d",n);

for(i=1,i<=n,i++)

s=s*i;

printf("%d! = %d",n,s);

}

2.源程序修改替换题

(1)修改第1题,分别用while 和do-while 语句替换for 语句。

(2)修改第1题,输入改为“整数S ”,输出改为“满足n !≥S 的最小整数n ”。例如输入整数40310,输出结果为n=8。

3.编程设计题

(1)假设工资税金按以下计算方法计算:x<1000元,不收税金;1000<=x<2000,收取5%的税金;2000<=x<3000,收取10%的税金;3000<=x<4000,收取15%的税金;4000<=x<5000,收取20%的税金;x>5000, 收取25%的税金。编写一个程序,输入工资金额,输出应收取的税金,要求用if 和switch 语句来实现。

(2)编写一个程序,将输入的一行字符复制到输出,复制过程中将一个以上的空格字符用一个空格字符代替。

(3)打印如下辉三角形。

1 /*第0行 */

1 1 /*第1行 */

1 2 1 /*第2行 */

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1

每个数据值可以由组合j i C 计算(表示第i 行第j 列位置的值),而j i C 的计算

如下:

10=i C (i=0,1,2,…)

j / 1)j -(i *1+=-j i j i C C (j=0,1,2,3, (i)

本程序中为了打印出金字塔效果,要注意空格的数目。一位数之间是3个空格,两位数之间有2个空格,3位数之间只有一个空格,程序编制过程中要注意区分。

(4)编写一个程序,将用户输入的任意正整数逆转,例如,输入1234,输出4321。

四、 实验步骤及结果

1.源程序改错题

更改后的正确程序:

#include

int main(),

{

int i,n,s=1;

printf("Please enter n:");

scanf("%d",&n);

for(i=1;i<=n;i++)

s=s*i;

printf("%d!=%d",n,s);

}

2.源程序修改替换题

(1)while语句型替换程序

#include

int main()

{

int i=1,n,s=1;

printf("Please enter n:");

scanf("%d",&n);

while(i<=n)

{

s=s*i;

i++;

}

printf("%d!=%d",n,s);

return 0;

}

(2)do-while语句型替换程序

#include

int main()

{

int i=1,n,s=1;

printf("Please enter n:");

scanf("%d",&n);

do

{

s=s*i;

i++;

}while(i<=n);

printf("%d!=%d",n,s);

return 0;

}

3.编程设计题

(1)税金收取问题程序:

If语句型:

#include

{

double income,tax,a,b;

inx:

printf("Please enter the income:\n"); scanf("%lf",&income);

a=income/1000;

if(a>=0)

{if(a>=5)

b=0.25;

if(a>=4)

b=0.20;

if(a>=3)

b=0.15;

if(a>=2)

b=0.10;

if(a>=1)

b=0.05;

else

b=0.00;

tax=income*b;

printf("the tax is %.1lf",tax); }

else

{

printf("Enter error!\n");

goto inx;

}

}

运行结果:

Switch语句型:

#include

int main()

{

double income,tax,a,b;

inx:

printf("Please enter the income:\n");

scanf("%lf",&income);

a=income/1000;

if(a<0)

{

printf("Enter error!\n");

goto inx;

}

else

switch((int)(a)){

case 0:b=0.00;break;

case 1:b=0.05;break;

case 2:b=0.10;break;

case 3:b=0.15;break;

case 4:b=0.20;break;

default:b=0.25;break;

} tax=income*b;

printf("The tax is %.1lf",tax);

return 0;

}

运行结果:

(2)字符复制输出和多个空白字符删除:

#include

int main()

{

int flag=1;

char c;

printf("please intput some chars:\n");

while((c=getchar())!='\n')

{

switch(c)

{case' ':if(flag){putchar(c);

flag=0;}

break;

default:putchar(c);flag=1;

}

}

if((c=getchar())=='\n')

printf("%c",c);

return 0;

}

运行结果:

(3)辉三角:

#include

#define M 10

#define N 10

int main()

{

int a[M][N],i,j;

for(i=0;i

{

for(j=N;j>=i;j--)

printf("%2c",' ');

for(j=0;j<=i;j++)

{

if(i==j||j==0)

a[i][j]=1;

else

a[i][j]=a[i-1][j]+a[i-1][j-1]; printf("%3d ",a[i][j]);

if(i==j)

printf("\n");

}

}

}

运行结果:

(4)数字逆转:

#include

int main()

{

long x, digit;

printf("please input a positive integer:\n");

scanf("%ld",&x);

do

{

digit=x%10;

printf("%ld",digit);

x/=10;

}while(x!=0);

printf("\n");

return 0;

}

运行结果:

五、实验体会

通过这次C语言实验,我更进一步认识到了C语言学习理论、实践相结合的重要性。同时我也深深认识到if语句、if-else语句、switch、for、while以及do-while等在c语言实现中的重要作用,我会更加努力学习理论知识,时不时的上机实践来查找自己的不足进而是自己在C语言的学习上取得很大的进步,提高自己的实践能力。

燕山大学控制工程基础实验报告(带数据)

自动控制理论实验报告 实验一 典型环节的时域响应 院系: 班级: 学号: 姓名:

实验一 典型环节的时域响应 一、 实验目的 1.掌握典型环节模拟电路的构成方法,传递函数及输出时域函数的表达式。 2.熟悉各种典型环节的阶跃响应曲线。 3.了解各项参数变化对典型环节动态特性的影响。 二、 实验设备 PC 机一台,TD-ACC+教学实验系统一套。 三、 实验步骤 1、按图1-2比例环节的模拟电路图将线接好。检查无误后开启设备电源。 注:图中运算放大器的正相输入端已经对地接了100k 电阻。不需再接。 2、将信号源单元的“ST ”端插针与“S ”端插针用“短路块”接好。将信号形式开关设为“方波”档,分别调节调幅和调频电位器,使得“OUT ”端输出的方波幅值为1V ,周期为10s 左右。 3、将方波信号加至比例环节的输入端R(t), 用示波器的“CH1”和“CH2”表笔分别监测模拟电路的输入R(t)端和输出C(t)端。记录实验波形及结果。 4、用同样的方法分别得出积分环节、比例积分环节、惯性环节对阶跃信号的实际响应曲线。 5、再将各环节实验数据改为如下: 比例环节:;,k R k R 20020010== 积分环节:;,u C k R 22000== 比例环节:;,,u C k R k R 220010010=== 惯性环节:。,u C k R R 220010=== 用同样的步骤方法重复一遍。 四、 实验原理、内容、记录曲线及分析 下面列出了各典型环节的结构框图、传递函数、阶跃响应、模拟电路、记录曲线及理论分析。 1.比例环节 (1) 结构框图: 图1-1 比例环节的结构框图 (2) 传递函数: K S R S C =) () ( K R(S) C(S)

linux进程控制 实验报告

长安大学 操作系统实验报告 实验课程:操作系统 实验名称:linux进程控制 学院:信息学院 专业:软件工程 学号:2406090106 姓名:刘建 日期:2012-5-09

一、实验目的 熟悉进程的创建过程,了解系统调用函数fork() 和execl()。 二、实验内容 1、阅读实例代码fork1,并编辑、编译、运行,记录程序的运行结果,尝试给出合理的解释,查阅有关资料,掌握系统调用fork( )的用法,返回值的意义。 2、阅读实例代码fork2,并编辑、编译、运行,记录程序的运行结果,尝试给出合理的解释,查阅有关资料,掌握在程序中运行一个操作系统命令和运行一个程序的方法。 3、修改fork2,使之能把运行的命令和程序作为参数传给fork2。 三、设计思想 1、程序框架

pid = -1 pid = 0pid> 0 2、用到的文件系统调用函数 fork() 和execl() 四、调试过程 1、测试数据设计 (1)fork1 命名程序1: 编写程序1:

编译程序1: 运行程序1: (2)fork2

编写程序2: 运行程序2:

(3)修改fork2 编写修改程序2: 修改后的运行结果: 2、测试结果分析 (1)对于程序1:因为系统调用fork()函数是一次调用两次返回值,而且先生成子进程还是父进程是不确定的,所以第一次执行生成子进程的时候返回的pid = 0,判断pid!=-1,所以输出了I’m the child. I’m the parent. 第二次,执行父进程的时候,返回的是子进程的进程号pid> 0,即pid的值仍然不为-1,所以又输出了一次I’m the child. I’m the parent。 (2)对于程序2:第一次调用fork()函数时,由于执行的是子进程还是父进程是随机的,所以第一次对父进程返回的是子进程的进程号(大于0),即pid> 0,所以输出I’m the parent. Program end.当第二次执行子进程时返回值是0,即pid = 0,所以输出I’m the child. 并调用了execl()函数,查看了指定路径中的文件。

自动控制原理实验报告

《自动控制原理》 实验报告 姓名: 学号: 专业: 班级: 时段: 成绩: 工学院自动化系

实验一 典型环节的MATLAB 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、实验原理 1.比例环节的传递函数为 K R K R R R Z Z s G 200,1002)(211 212==-=-=- = 其对应的模拟电路及SIMULINK 图形如图1-3所示。 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G ; ② 惯性环节11)(1+= s s G 和1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节s s G =)(1 ⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G ⑥ 比例+积分环节(PI )s s G 11)(1+=和s s G 211)(2+= 四、实验结果及分析 图1-3 比例环节的模拟电路及SIMULINK 图形

① 仿真模型及波形图1)(1=s G 和2)(1=s G ② 仿真模型及波形图11)(1+= s s G 和1 5.01)(2+=s s G 11)(1+= s s G 1 5.01 )(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节

南理工机械院控制工程基础实验报告

实验1模拟控制系统在阶跃响应下的特性实验 一、实验目的 根据等效仿真原理,利用线性集成运算放大器及分立元件构成电子模拟器, 以干电池作为输入信号,研究控制系统的阶跃时间响应。 二、实验内容 研究一阶与二阶系统结构参数的改变,对系统阶跃时间响应的影响。 三、实验结果及理论分析 1.一阶系统阶跃响应 a. 电容值1uF,阶跃响应波形: b. 电容值2.2uF,阶跃响应波形:

c. 电容值4.4uF,阶跃响应波形: 2?—阶系统阶跃响应数据表 U r= -2.87V R°=505k? R i=500k? R2=496k 其中

T = R2C U c C:)=「(R/R2)U r 误差原因分析: ①电阻值及电容值测量有误差; ②干电池电压测量有误差; ③在示波器上读数时产生误差; ④元器件引脚或者面包板老化,导致电阻变大; ⑤电池内阻的影响输入电阻大小。 ⑥在C=4.4uF的实验中,受硬件限制,读数误差较大3?二阶系统阶跃响应 a.阻尼比为0.1,阶跃响应波形: b.阻尼比为0.5,阶跃响应波形:

4.二阶系统阶跃响应数据表 E R w ( ?) 峰值时间 U o (t p ) 调整时间 稳态终值 超调(%) 震荡次数 C. d. 阻尼比为0.7,阶跃响应波形: 阻尼比为1.0,阶跃响应波形: CHI 反相 带宽限制 伏/格

四、回答问题 1.为什么要在二阶模拟系统中 设置开关K1和K2 ,而且必须 同时动作? 答:K1的作用是用来产生阶跃信号,撤除输入信后,K2则是构成了C2的 放电回路。当K1 一旦闭合(有阶跃信号输入),为使C2不被短路所以K2必须断开,否则系统传递函数不是理论计算的二阶系统。而K1断开后,此时要让 C2尽快放电防止烧坏电路,所以K2要立即闭合。 2.为什么要在二阶模拟系统中设置 F3运算放大器? 答:反相电压跟随器。保证在不影响输入和输出阻抗的情况下将输出电压传递到输入端,作为负反馈。 实验2模拟控制系统的校正实验 一、实验目的 了解校正在控制系统中的作用

进程管理实验报告

实验2过程管理实验报告学生号姓名班级电气工程系过程、过程控制块等基本原理过程的含义:过程是程序运行过程中对数据集的处理,以及由独立单元对系统资源的分配和调度。在不同的数据集上运行程序,甚至在同一数据集上运行多个程序,是一个不同的过程。(2)程序状态:一般来说,一个程序必须有三种基本状态:就绪、执行和阻塞。然而,在许多系统中,过程的状态变化可以更好地描述,并且增加了两种状态:新状态和终端状态。1)就绪状态,当一个进程被分配了除处理器(CPU)以外的所有必要资源时,只要获得了处理器,进程就可以立即执行。此时,进程状态称为就绪状态。在系统中,多个进程可以同时处于就绪状态。通常,这些就绪进程被安排在一个或多个队列中,这些队列称为就绪队列。2)一旦处于就绪状态的进程得到处理器,它就可以运行了。进程的状态称为执行状态。在单处理器系统中,只有一个进程在执行。在多处理器系统中,可能有多个进程在执行中。3)阻塞状态由于某些事件(如请求输入和输出、额外空间等),执行进程被挂起。这称为阻塞状态,也称为等待状态。通常,处于阻塞状态的进程被调度为-?这个队列称为阻塞队列。4)新状态当一个新进程刚刚建立并且还没有放入就绪队列中时,它被称为新状态。5)终止状态是

什么时候-?进程已正常或异常终止,操作系统已将其从系统队列中删除,但尚未取消。这就是所谓的终结状态。(3)过程控制块是过程实体的重要组成部分,是操作系统中最重要的记录数据。控制块PCB记录操作系统描述过程和控制过程操作所需的所有信息。通过PCB,一个不能独立运行的程序可以成为一个可以独立运行的基本单元,并且可以同时执行一个进程。换句话说,在进程的整个生命周期中,操作系统通过进程PCB管理和控制并发进程。过程控制块是系统用于过程控制的数据结构。系统根据进程的PCB来检测进程是否存在。因此,进程控制块是进程存在的唯一标志。当系统创建一个进程时,它需要为它创建一个PCB;当进程结束时,系统回收其PCB,进程结束。过程控制块的内容过程控制块主要包括以下四个方面的信息。过程标识信息过程标识用于对过程进行标识,通常有外部标识和内部标识。外部标识符由流程的创建者命名。通常是一串字母和数字。当用户访问进程时使用。外部标识符很容易记住。内部标识符是为了方便系统而设置的。操作系统为每个进程分配一个唯一的整数作为内部标识符。通常是进程的序列号。描述性信息(process scheduling message)描述性信息是与流程调度相关的一些有关流程状态的信息,包括以下几个方面。流程状态:表

仪表自动控制实验报告

一、实验目的 1、通过实验对自控仪表和控制元器件有一具体认识。 2、了解自控原理,锻炼动手能力。学习并安装不同的温度自控电路。 3、通过对不同电路的调试和数据测量,初步掌握仪表自控技术。 4、要求按流程组装实验电路,并测量加热反应釜温度随加热时间的变化。 5、要求待反应釜加热腔温度稳定后测量加热釜轴向温度分布规律。 二、实验原理 仪表自动控制在现代化工业生产中是极其重要的,它减少大量手工操作,使操作人员避免恶劣、危险环境,自动快速完成重复工作,提高测量精度,完成远程传输数据。本实验就是仪表自动控制在化工生产和实验中非常重要的一个分支——温度的仪表自动控制。 图-1所示是本实验整套装置图。按图由导线连接好装置,首先设置“人工智能控制仪”的最终温度,输出端输出直流电压用于控制“SSR”(固态继电器),则当加热釜温度未达到最终温度时“SSR”是通的状态,电路导通,给加热釜持续加热;当加热釜温度达到最终温度后“SSR”是不通的状态,电路断开,加热釜加热停止。本实验研究的数据对象有两个:其一,测量仪表在加热釜开始加热后测量的升温过程,即温度随时间变化;其二,当温度达到最终温度并且稳定后,测量温度沿加热釜轴向的分布,即稳定温度随空间分布。 图-1 实验装置图

1、控温仪表,2测温仪表,3和4、测温元件(热电偶),5电加热釜式反应器, 6、保险 7、电流表,8固态调压器,9、滑动电阻,10、固态继电器(SSR),11、中间继电器,12、开关 实验装置中部分仪器的工作原理: 1,控温仪表:输出端输出直流电压控制SSR,当加热釜温度未达到预设温度时SSR使电路导通,持续加热;当达到最终温度后SSR使电路断开,加热停止。 2,测温仪表:与测温的热电偶相连,实时反馈加热釜内温度的测量值。 3、4,热电偶:分别测量加热腔和反应芯内的温度。工作原理:热电阻是利用金属的电阻值随温度变化而变化的特性来进行温度测量。它是由两种不同材料的导体焊接而成。焊接的一端插入被测介质中,感受被测温度,称为热电偶的工作端或热端。另一端与导线连接,称为自由端或冷端。若将其两端焊接在一起,且两段存在温度差,则在这个闭路回路中有热电势产生。如在回路中加一直流毫伏计,可见到毫伏计中有电势指示,电势的大小与两种不同金属的材料和温度有关,与导线的长短无关。 图2 热电偶工作原理 8,RSA固态调压器原理:通过电位器手动调节以改变阻性负载上的电压,来达到调节输出功率的目的(相当于一个滑动变阻器)。输出端接加热回路,输入端接控温仪表。 10,SSR 固态继电器工作原理:固态继电器是一种无触点通断电子开关,为四端有源器件。其中两个端子为输入控制端,另外两端为输出受控端。在输入端加上直流或脉冲信号,输出端就能从关断状态转变成导通状态(无信号时呈阻断状态),从而控制较大负载。可实现相当于常用的机械式电磁继电器一样的功能

清华大学精仪系--控制工程基础--实验内容与实验报告

实验内容 (一)直流电机双环调速系统实验,此时必须松开连轴节!不带动工作台! 1. 测试电流环特性 ,由于外接霍尔传感器只有一套,有五套PWM 放大器有电流输出(接成跟随器方式,其电流采样输出为25芯D 型插座的17(模拟地),19脚,但模拟地是电流环的模拟地,不是实验箱运算放大器OP07的地!所以,只能用万用表量测。多数同学可用手堵转,给定微小的输入电压(小于±50mV )加入到电流环输入端,再加大就必须松开手,观察电机转速能否控制?为什么?如果要测试电流环静态特性,必须用台钳夹住电机轴,保证电机堵转。所以此项实验由教师按图22进行,这里只给出以下数据: 图 22 电流环静态特性实验接线图 (1)霍尔传感器的校准 利用直流稳压电源和电流表校准霍尔传感器,该 传感器为LEM-25,当原边为1匝时,量程为25A ,而原边采用5匝时, 量程为5A ;现在按后者的接法实验,M R 约500Ω。 (2)然后利用它来测试PWM 功率放大器的静态传递系数。电流环的静态特性如表2所示。注意电机是堵转的!

1V;得到通频带400Hz. 2.根据给定参数,利用MATLAB设计速度环的校正装置参数,画出校正前后的Bode图调,到实验室自己接线,教师检查无误后,可以通电调试;首先,正确接线保证系统处于负反馈,如果正反馈会产生什么现象?如何通过开环特性判断测速反馈是负反馈?对此有正确定答案后方能够开始实验。 (1)在1 β和β=0.4~0.5时分别调试校正装置的参数,使其单位阶跃输入的 = 响应曲线超调量最小,峰值时间最短,并记录阶跃响应曲线的特征值; 能够用A/D卡把数据采集到计算机中更好! (2)断开电源,记录最佳的校正装置参数; (3)测试速度环静态特性,为加快测试速度,可直接测试输入电压和测速机电压的关系;在转速低的情况下用手动阻止电机的转动,是否会影响转速? 为什么?分析速度环的机械特性(转速与负载力矩的关系曲线称为机械特 性),从而说明系统的刚度。 (4)有条件的小组可测试速度环频率特性(只测量幅频特性)。 (二)电压-位置伺服系统实验 开始,也必须脱开电机与工作台的连轴节!直到位置环调试好后,再把连轴节连接好! 1.断开使能,手动电机转动,检查电子电位计工作的正确性! 2.让位置环开环,利用调速系统,观察电子电位计在大范围工作的正确性,可利用示波器或万用表测试电位计的输出。 3.位置环要使用实验箱的头2个运算放大器,所以必须注意注意位置反馈的极性;为保证位置反馈是负反馈,必须通过位置系统开环来判断,这时位置调节器只利用比例放大器,如果发现目前的接线是正反馈后,怎么接线? 4.将位置环的位置反馈正确接到反馈输入端,利用给定指令电位计,移动它,使电机位置按要求转动。正确后,即可把连轴节连接好,连接连轴节时用专用内六角扳手。这时应该断电! 5.按设计的校正装置连接好,再上电。测试具有比例放大器和近似比例积分调节器时的阶跃响应曲线,并记录之; 6.测试输入电压-位置的传递特性曲线; 7.用手轮加小力矩估计系统的(电弹簧)刚度。 三、实验报告要求 (一)速度环实验 1.对速度环建模,画出速度环方块图,传递函数图 2.画出校正前后的Bode图,设计校正装置及其参数; 3.写出实验原始数据,整理出静态曲线和动态数据; 4.从理论和实际的结合上,分析速度环的特点,并写出实验的收获和改进意见; (二)位置环实验 1.对位置环建模,画出位置环方块图,传递函数图;

进程管理实验报告

进程的控制 1 .实验目的 通过进程的创建、撤消和运行加深对进程概念和进程并发执行的理解,明确进程与程序之间的区别。 【答:进程概念和程序概念最大的不同之处在于: (1)进程是动态的,而程序是静态的。 (2)进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。 (3)1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。 (4)进程和程序的组成不同。从静态角度看,进程由程序、数据和进程控制块(PCB)三部分组成。而程序是一组有序的指令集合。】2 .实验内容 (1) 了解系统调用fork()、execvp()和wait()的功能和实现过程。 (2) 编写一段程序,使用系统调用fork()来创建两个子进程,并由父进程重复显示字符串“parent:”和自己的标识数,而子进程则重复显示字符串“child:”和自己的标识数。 (3) 编写一段程序,使用系统调用fork()来创建一个子进程。子进程通过系统调用execvp()更换自己的执行代码,新的代码显示“new

program.”。而父进程则调用wait()等待子进程结束,并在子进程结束后显示子进程的标识符,然后正常结束。 3 .实验步骤 (1)gedit创建进程1.c (2)使用gcc 1.c -o 1编译并./1运行程序1.c #include #include #include #include void mian(){ int id; if(fork()==0) {printf(“child id is %d\n”,getpid()); } else if(fork()==0) {printf(“child2 id %d\n”,getpid()); } else {id=wait(); printf(“parent id is %d\n”,getpid()); }

微程序控制实验报告 北京交通大学

微程序控制器实验报告 北京交通大学 一、实验目的 通过看懂教学计算机中已经设计好并正常运行的数条基本指令(例如:ADD、MVRR、RET等指令)的功能、格式和执行流程,然后自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。其最终要达到: 1.深入理解计算机微程序控制器的组成和运行原理; 2.深入地学习计算机各类典型指令的执行流程; 3.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念; 4.学习微程序控制器的设计过程和相关技术。 二、实验内容 综合型实验 思考题1:在进行56页到59页的实验时,你可能已经发现不同指令在执行的过程中都会经过相同的微地址,也就是说,不同指令的微程序也有公用部分。请你找出这些公共的微指令,说明它们所做的工作。 答:公共指令如下: (1)微址为00下址为00的指令,所做工作为:给出微程序的首地址并在启动时执行; (2)微址为30下址为3A的指令,所做工作为:完成检查中断请求。 思考题2:总结机器指令和微程序之间的关系。 答:机器指令和微程序之间的关系总结如下: (1)一条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。即,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令编成的微程序进行解释和执行; (2)从指令与微指令,程序与微程序,地址与微地址的一一对应关系上看,前者与内存储器有关,

而后者与控制存储器有关,与此相关也有相对应的硬设备; (3)机器指令是把程序员编写的程序经编译以后成为机器能执行的以二进制码形式表示的指令;在微程序控制的计算机中通过执行一串微指令完成一条指令的功能; 思考题3:总结指令的一般流程。 答:流程如下图:

自动控制实验报告1

东南大学自动控制实验室 实验报告 课程名称:自动控制原理 实验名称:闭环电压控制系统研究 院(系):仪器科学与工程专业:测控技术与仪器姓名:学号: 实验室:常州楼五楼实验组别:/ 同组人员:实验时间:2018/10/17 评定成绩:审阅教师: 实验三闭环电压控制系统研究

一、实验目的: (1)通过实例展示,认识自动控制系统的组成、功能。 (2)会正确实现闭环负反馈。 (3)通过开、闭环实验数据说明闭环控制效果。 二、实验原理: (1)利用各种实际物理装置(如电子装置、机械装置、化工装置等)在数学上的“相似性”,将各种实际物理装置从感兴趣的角度经过简化、并抽象成相同的数学形式。我们在设计控制系统时,不必研究每一种实际装置,而用几种“等价”的数学形式来表达、研究和设计。又由于人本身的自然属性,人对数学而言,不能直接感受它的自然物理属性,这给我们分析和设计带来了困难。所以,我们又用替代、模拟、仿真的形式把数学形式再变成“模拟实物”来研究。这样,就可以“秀才不出门,遍知天下事”。实际上,在后面的课程里,不同专业的学生将面对不同的实际物理对象,而“模拟实物”的实验方式可以做到举一反三,我们就是用下列“模拟实物”——电路系统,替代各种实际物理对象。 (2)自动控制的根本是闭环,尽管有的系统不能直接感受到它的闭环形式,如步进电机控制,专家系统等,从大局看,还是闭环。闭环控制可以带来想象不到的好处,本实验就是用开环和闭环在负载扰动下的实验数据,说明闭环控制效果。自动控制系统性能的优劣,其原因之一就是取决调节器的结构和算法的设计(本课程主要用串联调节、状态反馈),本实验为了简洁,采用单闭环、比例调节器K。通过实验证明:不同的K,对系性能产生不同的影响,以说明正确设计调节器算法的重要性。 (3)为了使实验有代表性,本实验采用三阶(高阶)系统。这样,当调节器K值过大时,控制系统会产生典型的现象——振荡。本实验也可以认为是一个真实的电压控制系统。 三、实验设备: THBDC-1实验平台 四、实验线路图: 五、实验步骤:

南京理工大学控制工程基础实验报告

《控制工程基础》实验报告 姓名欧宇涵 914000720206 周竹青 914000720215 学院教育实验学院 指导老师蔡晨晓 南京理工大学自动化学院 2017年1月

实验1:典型环节的模拟研究 一、实验目的与要求: 1、学习构建典型环节的模拟电路; 2、研究阻、容参数对典型环节阶跃响应的影响; 3、学习典型环节阶跃响应的测量方法,并计算其典型环节的传递函数。 二、实验内容: 完成比例环节、积分环节、比例积分环节、惯性环节的电路模拟实验,并研究参数变化对其阶跃响应特性的影响。 三、实验步骤与方法 (1)比例环节 图1-1 比例环节模拟电路图 比例环节的传递函数为:K s U s U i O =)()(,其中1 2R R K =,参数取R 2=200K ,R 1=100K 。 步骤: 1、连接好实验台,按上图接好线。 2、调节阶跃信号幅值(用万用表测),此处以1V 为例。调节完成后恢复初始。 3、Ui 接阶跃信号、Uo 接IN 采集信号。 4、打开上端软件,设置采集速率为“1800uS”,取消“自动采集”选项。 5、点击上端软件“开始”按键,随后向上拨动阶跃信号开关,采集数据如下图。 图1-2 比例环节阶跃响应

(2)积分环节 图1-3 积分环节模拟电路图 积分环节的传递函数为: S T V V I I O 1 -=,其中T I =RC ,参数取R=100K ,C=0.1μf 。 步骤:同比例环节,采集数据如下图。 图1-4 积分环节阶跃响应 (3)微分环节 图1-5 微分环节模拟电路图 200K R V I Vo C 2C R 1 V I Vo 200K

浙工大过程控制实验报告

浙工大过程控制实验报告 202103120423徐天宇过程控制系统实验报告 实验一:系统认识及对象特性测试 一实验目的 1了解实验装置结构和组成及组态软件的组成使用。 2 熟悉智能仪表的使用及实验装置和软件的操作。 3熟悉单容液位过程的数学模型及阶跃响应曲线的实验方法。 4学会有实际测的得单容液位过程的阶跃响应曲线,用相关的方法分别确定它们的参数,辨识过程的数学模型。二实验内容 1 熟悉用MCGS组态的智能仪表过程控制系统。 2 用阶跃响应曲线测定单容液位过程的数学模型。三实验设备 1 AE2000B型过程控制实验装置。 2 计算机,万用表各一台。 3 RS232-485转换器1只,串口线1根,实验连接线若干。四实验原理 如图1-1所示,设水箱的进水量为Q1,出水量为Q2,水箱的液面高度为h,出水阀V2固定于某一开度值。根据物料动态平衡的关系,求得: 在零初始条件下,对上式求拉氏变换,得:

式中,T为水箱的时间常数(注意:阀V2的开度大小会影响到水箱的时间常数),T=R2*C,K=R2为单容对象的放大倍数, R1、R2分别为V1、V2阀的液阻,C 为水箱的容量系数。 阶跃响应曲线法是指通过调节过程的调节阀,使过程的控制输入产生一个阶跃变化,将被控量随时间变化的阶跃响应曲线记录下来,再根据测试记录的响应曲线求取输入输出之间的数学模型。本实验中输入为电动调节阀的开度给定值OP,通过改变电动调节阀的开度给定单容过程以阶跃变化的信号,输出为上水箱的液位高度h。电动调节阀的开度op通过组态软件界面有计算机传给智能仪表,有智能仪表输出范围为:0~100%。水箱液位高度有由传感变送器检测转换为4~20mA的标准信号,在经过智能仪表将该信号上传到计算机的组态中,由组态直接换算成高度值,在计算机窗口中显示。因此,单容液位被控对象的传递函数,是包含了由执行结构到检测装置的所有液位单回路物理关系模型有上述机理建模可知,单容液位过程是带有时滞性的一阶惯性环节,电动调节阀的开度op,近似看成与流量Q1成正比,当电动调节阀的开度op为一常量作为阶跃信号时,该单容液位过程的阶跃响应为 需要说明的是表达式(2-3)是初始量为零的情况,如果是在一个稳定的过程下进行的阶跃响应,即输入量是在原来的基础上叠加上op的变化,则输出表达式是对应原来输出值得基础上的增

自动控制原理MATLAB仿真实验报告

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

南理工 机械院 控制工程基础实验报告

页眉 实验1 模拟控制系统在阶跃响应下的特性实验一、实验目的 根据等效仿真原理,利用线性集成运算放大器及分立元件构成电子模拟器,以干电池作为输入信号,研究控制系统的阶跃时间响应。 二、实验内容 研究一阶与二阶系统结构参数的改变,对系统阶跃时间响应的影响。 三、实验结果及理论分析 1.一阶系统阶跃响应 a.电容值1uF,阶跃响应波形: b.电容值2.2uF,阶跃响应波形: 页脚 页眉

,阶跃响应波形:电容值c.4.4uF 阶系统阶跃响应数据表2.一稳态终值U(∞)(V)时间常数T(s) 电容值c(uF)理论值实际值实际值理论值0.50 2.87 1.0 0.51 2.90 1.07 2.90 2.2 2.87 1.02 2.06 2.90 2.87 4.4 2.24 元器件实测参数=505kU= -2.87V R? R=496k? =500kR?2o1r其中 T?RC2U(?)??(R/R)U rc21页脚 页眉 误差原因分析: ①电阻值及电容值测量有误差;

②干电池电压测量有误差; ③在示波器上读数时产生误差; ④元器件引脚或者面包板老化,导致电阻变大; ⑤电池内阻的影响输入电阻大小。 ⑥在C=4.4uF的实验中,受硬件限制,读数误差较大。 3.二阶系统阶跃响应 a.阻尼比为0.1,阶跃响应波形: b.阻尼比为0.5,阶跃响应波形: 页脚 页眉 ,阶跃响应波形:0.7c.阻尼比为

,阶跃响应波形:阻尼比为1.0d. 阶系统阶跃响应数据表4.二ξR(?)峰值时间U(t) 调整时间稳态终值超调(%)震荡次数pow M()t)t(s V()(s UV)N psps6 62.7 2.8 0.3 0.1 2.95 454k 4.8 1 0.5 0.5 3.3 52.9k 2.95 11.9 0.4 1 0.7 0.3 0.4 24.6k 3.0 2.7 2.92 1.0 1.0 2.98 1.0 2.97k 2.98 页脚 页眉 四、回答问题

过程控制实验报告

《过程控制实验》 实验报告

第一章、过程控制实验装置的认识 一、过程控制实验的基本内容及概述 本次过程控制实验主要是对实验室的水箱水位进行控制。水箱液位控制系统是一个简单控制系统,所谓简单液位控制系统通常是指由一个被控对象、一个检测变送单元(检测元件及变送器)、以个控制器和一个执行器(控制阀)所组成的单闭环负反馈控制系统,也称为单回路控制系统。 简单控制系统有着共同的特征,它们均有四个基本环节组成,即被控对象、测量变送装置、控制器和执行器。 图1-1 水箱液位控制系统的原理框图 这是单回路水箱液位控制系统,单回路调节系统一般指在一个调节对象上用一个调节器来保持一个参数的恒定,而调节器只接受一个测量信号,其输出也只控制一个执行机构。本系统所要保持的恒定参数是液位的给定高度,即控制的任务是控制水箱液位等于给定值所要求的高度。 二、主要设备 1)水路装置的认识 过程控制实验用的水路装置图如下

图1-2 水路图 由水路装置图我们看到,装置主要有水箱,交流电动泵,热炉,管道,电动阀,电磁阀,流量计,液位传感器,温度传感器组成,可以构成一个完整的过程控制实验平台。从上图我们可以看出,装置主要分为两大部分,第一水路,管道,热炉,水箱等等物理对象,第二是传感器,执行机构等等的控制部分的装置。 实验装置具体介绍如下:

b)电气连接图 由电气装置的图我们可以看到,所有的电器连接都在这里,主要是一些传感器信号,电动驱动信号,用于电动装置的驱动。 见附件 c)操作面板图: 从操作面板上我们可以看到主要是由四个表,由P909构成,用于测量控制压力、流量、液位、温度的测量以及控制,PV代表反馈测量,外给定可以用于串级控制,OUT用于输出信号,以上接口均使用4-20mA标准 见附件 第二、三章、实验系统的认知(包括力控软件,P909,实验装置) a)力控软件的安装 首先使用光盘里的Setup.exe安装力控软件的主题部分,然后将IO Servers文件夹拷到力控软件的安装目录下,安装IO Servers驱动 然后打开力控软件,寻找到力控软件的目录,点击开发模式,然后找到COM设置的部分,如图

过程控制设计实验报告压力控制

过程控制设计实验报告 压力控制 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

目录 第一章过程控制仪表课程设计的目的 (1) 设计目的 (1) 课程在教学计划中的地位和作用 (1) 第二章液位控制系统(实验部分) (2) 控制系统工艺流程 (2) 控制系统的控制要求 (4) 系统的实验调试 (5) 第三章水箱压力控制系统设计 (7) 引言 (12) 系统总体设计 (13) 系统软件部分设计 (16) 总结 (19) 第四章收获、体会 (24) 参考文献 (25) 第一章过程控制仪表课程设计的目的意义 设计目的 本课程设计主要是通过对典型工业生产过程中常见的典型工艺参数的测量方法、信号处理技术和控制系统的设计,掌握测控对象参数检测方法、变送器的功能、测控通道技术、执行器和调节阀的功能、过程控制仪表的PID控制参数整定方法,进一步加强对课堂理论知识的理解与综合应用能力,进而提高学生解决实际工程问题的能力。基本要求如下:

1. 掌握变送器功能原理,能选择合理的变送器类型型号; 2. 掌握执行器、调节阀的功能原理,能选择合理的器件类型型号; 3. 掌握PID调节器的功能原理,完成相应的压力、流量、液位及温度控制系统的总体设计,并画出控制系统的原理图和系统主要程序框图。 4.通过对一个典型工业生产过程(如煤气脱硫工艺过程)进行分析,并对其中的一个参数(如温度、压力、流量、液位)设计其控制系统。 课程设计的基本要求 本课程设计是为《过程控制仪表》课程而开设的综合实践教学环节,是对《现代检测技术》、《自动控制理论》、《过程控制仪表》、《计算机控制技术》等前期课堂学习内容的综合应用。其目的在于培养学生综合运用理论知识来分析和解决实际问题的能力,使学生通过自己动手对一个工业过程控制对象进行仪表设计与选型,促进学生对仪表及其理论与设计的进一步认识。课程设计的主要任务是设计工业生产过程经常遇到的压力、流量、液位及温度控制系统,使学生将理论与实践有机地结合起来,有效的巩固与提高理论教学效果。 课程设计主要是通过对典型工业生产过程中常见的典型工艺参数的测量方法、信号处理技术和控制系统的设计,掌握测控对象参数检测方法、变送器的功能、测控通道技术、执行器和调节阀的功能、过程控制仪表的PID控制参数整定方法,进一步加强对课堂理论知识的理解与综合应用能力,进而提高学生解决实际工程问题的能力。基本要求如下: 1. 掌握变送器功能原理,能选择合理的变送器类型型号; 2. 掌握执行器、调节阀的功能原理,能选择合理的器件类型型号;

自动控制系统实验报告

自动控制系统实验报告 学号: 班级: 姓名: 老师:

一.运动控制系统实验 实验一.硬件电路的熟悉和控制原理复习巩固 实验目的:综合了解运动控制实验仪器机械结构、各部分硬件电路以及控制原理,复习巩固以前课堂知识,为下阶段实习打好基础。 实验内容:了解运动控制实验仪的几个基本电路: 单片机控制电路(键盘显示电路最小应用系统、步进电机控制电路、光槽位置检测电路) ISA运动接口卡原理(搞清楚译码电路原理和ISA总线原理) 步进电机驱动检测电路原理(高低压恒流斩波驱动电路原理、光槽位置检测电路)两轴运动十字工作台结构 步进电机驱动技术(掌握步进电机三相六拍、三相三拍驱动方法。) 微机接口技术、单片机原理及接口技术,数控轮廓插补原理,计算机高级语言硬件编程等知识。 实验结果: 步进电机驱动技术: 控制信号接口: (1)PUL:单脉冲控制方式时为脉冲控制信号,每当脉冲由低变高是电机走一步;双 脉冲控制方式时为正转脉冲信号。 (2)DIR:单脉冲控制方式时为方向控制信号,用于改变电机转向;双脉冲控制方式 时为反转脉冲信号。

(3)OPTO :为PUL 、DIR 、ENA 的共阳极端口。 (4)ENA :使能/禁止信号,高电平使能,低电平时驱动器不能工作,电机处于自由状 态。 电流设定: (1)工作电流设定: (2)静止电流设定: 静态电流可用SW4 拨码开关设定,off 表示静态电流设为动态电流的一半,on 表示静态电流与动态电流相同。一般用途中应将SW4 设成off ,使得电机和驱动器的发热减少,可靠性提高。脉冲串停止后约0.4 秒左右电流自动减至一半左右(实际值的60%),发热量理论上减至36%。 (3)细分设定: (4)步进电机的转速与脉冲频率的关系 电机转速v = 脉冲频率P * 电机固有步进角e / (360 * 细分数m) 逐点比较法的直线插补和圆弧插补: 一.直线插补原理: 如图所示的平面斜线AB ,以斜线起点A 的坐标为x0,y0,斜线AB 的终点坐标为(xe ,ye),则此直线方程为: 00 00Y Ye X Xe Y Y X X --= -- 取判别函数F =(Y —Y0)(Xe —Xo)—(X-X0)(Ye —Y0)

南理工控制工程基础实验报告

南理工控制工程基础实验报告 成绩:《控制工程基础》课程实验报告班级:学号:姓名:南京理工大学2015年12月《控制工程基础》课程仿真实验一、已知某单位负反馈系统的开环传递函数如下G(s)?10 s2?5s?25借助MATLAB和Simulink完成以下要求:(1) 把G(s)转换成零极点形式的传递函数,判断开环系统稳定性。>> num1=[10]; >> den1=[1 5 25]; >> sys1=tf(num1,den1) 零极点形式的传递函数:于极点都在左半平面,所以开环系统稳定。(2) 计算闭环特征根并判别系统的稳定性,并求出闭环系统在0~10秒内的脉冲响应和单位阶跃响应,分别绘出响应曲线。>> num=[10];den=[1,5,35]; >>

sys=tf(num,den); >> t=[0::10]; >> [y,t]=step(sys,t); >> plot(t,y),grid >> xlabel(‘time(s)’) >> ylabel(‘output’) >> hold on; >> [y1,x1,t]=impulse(num,den,t); >> plot(t,y1,’:’),grid (3) 当系统输入r(t)?sin5t时,运用Simulink搭建系统并仿真,用示波器观察系统的输出,绘出响应曲线。曲线:二、某单位负反馈系统的开环传递函数为:6s3?26s2?6s?20G(s)?4频率范围??[,100] s?3s3?4s2?2s?2 绘制频率响应曲线,包括Bode图和幅相曲线。>> num=[6 26 6 20]; >> den=[1 3 4 2 2]; >> sys=tf(num,den); >> bode(sys,{,100}) >> grid on >> clear; >> num=[6 26 6 20]; >> den=[1 3 4 2 2]; >> sys=tf(num,den); >> [z , p , k] = tf2zp(num, den); >> nyquist(sys) 根据Nyquist判据判定系统的稳定性。

北邮-大三-操作系统-进程管理实验报告

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码如下: #include #include<> #include<> #include <> #include <> int main(int argc,char* argv[]) { pid_t pid1,pid2; pid1 = fork(); if(pid1<0){ fprintf(stderr,"childprocess1 failed"); exit(-1); } else if(pid1 == 0){

printf("b\n"); } else{ pid2 = fork(); if(pid2<0){ fprintf(stderr,"childprocess1 failed"); exit(-1); } else if(pid2 == 0){ printf("c\n"); } else{ printf("a\n"); sleep(2); exit(0); } } return 0; } 结果如下: 分析原因: pid=fork(); 操作系统创建一个新的进程(子进程),并且在进程表中相应为它建立一个新的表项。新进程和原有进程的可执行程序是同一个程序;上下文和数据,绝大部分就是原进程(父进程)的拷贝,但它们是两个相互独立的进程!

生产过程控制实验实验报告

生产过程控制实验实验报告 姓名:陆继辉 学号: 913101140122 专业:机械设计制造及其自动化 实验日期:2016年9月12日 实验室:机械院楼430 南京理工大学

实验三PLC常用指令的使用 一、实验目的 1.熟悉SYSMAC-CPT软件的主要操作功能。 2.进一步掌握SYSMAC-CPT软件对PLC的编程和监控。 3.熟悉PLC的常用指令:LD、LD NOT、AND、AND NOT、OR、OR NOT、 OUT、OUT NOT、END。 4.熟悉PLC的定时器指令功能。 5.学会编制一些简单的程序并运行通过。 二、实验设备 1.安装有Windows操作系统和SYSMAC-CPT软件的PC机一台。 2.PLC(Omron CPM1A)一台。 3.PC与PLC的通信电缆一根。 4.按钮开关板(输入)及指示灯板(输出)(即六站中任一站上的控制面 板)。 三、实验步骤 1.将PC与PLC按正确的方法连接。 2.启动SYSMAC-CPT软件,用鼠标单击工具栏上的“新建”按钮,选择 所使用PLC类型(CPM1A),再单击“OK”。 3.编制一程序完成流程(附图A): 4.将编制好的程序送入PLC,运行通过,并将程序存盘。 5.上述程序运行通过后,再编制一程序完成如下功能: 6.按复位,先L1闪,5秒后,L1亮、L2闪,再5秒后,L1、L2同闪, 再5秒后,L1、L2同亮 如此往复。 7.先自行画出程序框图,试着编写程序,写入PLC,运行看看能不能达到 所要求的功能,然后再对照程序框图(附图B)编写程序。 8.将编制好的程序写入PLC,运行通过,并将程序存盘。

相关主题
文本预览
相关文档 最新文档