第一篇:数据采集计算机控制实验报告(共)
课程名称:
电气装备计算机控制技术
指导老师:
成绩:
实验名称:
数据采集计算机控制
实验类型:
同组学生姓名:
一、实验目的和要求(必填)
二、实验内容和原理(必填)
三、主要仪器设备(必填)
四、操作方法和实验步骤 五、实验数据记录和处理
六、实验结果与分析(必填)
七、讨论、心得
一、实验目的和要求 1.初步了解数据采集卡在电气装备中的应用 2.了解计算机在数据采集和处理方面的应用 3.采用 C++ Builder 对数据采集卡 PCI1202 进行编程,控制实验数据的采集数据预处理以及系统的测量模式 4.理解数据采集系统的硬件原理 5.掌握简单的数据采集软件编写方法 二、实验内容和原理 1.实验内容(1)
通过上位机控制三相异步电机的运行及停车(2)
使用数据采集系统进行各路数据采集对数据采集的结果进行记录好分析 2.实验原理 实验原理图如图所示:
电流传感器2电流传感器1电流传感器3电压传感器3电压传感器2电压传感器1三相调压器AVM3~
数据采集主电路实验接线图DB-16P数字输入DI+DI-DB-16R数字输出JNCCOM+-24VDCC220VAC
C— 主电路接触器的接点
J— 中间继电器的接点
NC— 为数字输出的常开接点
COM— 为数字输出的常开常闭公共点JCCC5~24VDC数字输入开关量信号CJ— 主电路接触器的线圈— 中间继电器的线圈注 注: 220V 三相交流电源经过各种接触器连接到三相异步电动机上,为控制电机的运行,必须控制三相交流电源的接入和断开,接触器即可实现此项功能。因为主接触器通入强电,不能直接进行操作,所以我们通过控制上位机产生的信号,继而控制中间继电器,然后由中间继电器控制主接触器。
电路中并联了三个电压传感器,串联了三个电流传感器,但是在实际过程中,由于电机的运转为空转,所以电机的线电流非常小,由电流传感器测出来的数据并不具有代表性,所以实际实验中我们连接了电压传
感器。
传感器测出来的信号经过数据采集实验箱中的调理电路处理后送入 PCI1202 中,经过 A/D 以及 D/A 转换后在上位机运行界面显示,实现基本的数据采集。采集信号的显示模式等均可通过程序进行改变。
三、主要仪器设备 一台 PC 机、交流电源、电动机、传感器板、PCI1202 控制板、继电器板、导线若干 四、操作方法与实验步骤 1.根据实验内容要求以及实验连接电路图所示,利用实验平台各装置设计硬件连接电路 2.运行 C++ Builder 软件,熟悉该软件的使用方法 3.通过软件平台进行编程、调试(可参照示例程序),实现对硬件电路的控制 4.软件调试成功后通过上位机运行系统,并对实验要求的数据进行采集和记录 五、实验数据记录和处理 1.实验例程 //---------------------------------------------------------------------------#include
hdrstop
#include
“Unit2.h” #include
“P1202.h” #include
“P1202u.cpp” //---------------------------------------------------------------------------#pragma
package(smart_init)#pragma
resource “*.dfm” TForm1 *Form1;
Word
TotalBoards;//上面这段程序包含了相关头文件的引用(#include **.h)以及编译预处理(#pragma **)指令,同时定义了Word型变量TotalBoards,用于存储板卡总数
//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){ } //---------------------------------------------------------------------------//form的构造函数,在初始化窗体的时候执行,是最先执行的一个函数
void __fastcall TForm1::FormCreate(TObject *Sender){
Word
RetValue;//定义了一个Word类型的变量RetValue
RetValue = P1202_DriverInit(&TotalBoards);//板卡驱动初始化函数 //向系统要求分配资源,测试是否已经安准成功,并且回传给安装板卡的数量
if(RetValue!= 0)//板卡程序运行成功后返回0,否则报错
{
ShowMessage(“ErrorCode:” + IntToStr(RetValue)
+ “nDriver Initial Error!”);
Button1->Enabled = False;
}
//显示错误代码
eSelect->Text = “0”;//eSelect初始化选择为第一个板卡,第一个板卡定义为0
eTotal->Text
= IntToStr(TotalBoards);//eTotal初始化为板卡数量,此时从整形变量转化为字符型变量
UpDown1->Max
=(Word)(TotalBoards-1);//规定可选择板卡数量最多为板卡总数量减一
UpDown1->Min
= 0;//规定可选择板卡数量最低为0(第一个板卡)
if(TotalBoards < 2)//如果总板卡书小于2,则不能进行选择
{
UpDown1->Enabled = False;
eSelect->Enabled = False;
} } //---------------------------------------------------------------------------//该程序为窗口初始化函数以及P1202的初始化。P1202_DriverInit()这个函数是板卡驱动初始化函数,从来检测办卡的数量,并将值赋给Word变量RetValue,如果RetValue不等于0的时候,就会用ShowMessage函数显示错误信息。其中IntToStr函数的功能是将整形变量转换为字符串显示,同时button1不使能。eSelect用于板卡选择,从0开始一直到最大值减一,0表示第一个板卡。eTotal用于记录一共有多少板卡,值为板卡总数。UpDown1->Max用于记录板卡数量的最大数。UpDown1->Min用于记录板卡数最小值。如果板卡总数小于2,则将eSelect和UpDown1均不使能,不允许选用板卡。
void __fastcall TForm1::Button2Click(TObject *Sender)//描述按钮2(Exit)的关闭功能 {
Close();//关闭窗体 } //---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
Word
Didata;//变量定义
Word
RetValue, DF, DW, AC, Dodata, k;
float DA;
wAdNumber
=(Word)StrToInt(eC0AdNums->Text);
DF
=(Word)StrToInt(eC0DaFreq->Text);
DW
=(Word)StrToInt(eC0DaWave->Text);
AC
=(Word)StrToInt(eC0AdClock->Text);//频率
DA
= StrToFloat(eC0DaAmp->Text);//振幅
XMax->Caption = IntToStr(wAdNumber);//最大量程
RetValue
= P1202_ActiveBoard((Word)StrToInt(eSelect->Text));//调用函数激活板卡,同时将
值返回给RetValue
if(RetValue!= 0)//检验返回值是否错误
{
ShowMessage((AnsiString)“Active Borad Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
Dodata
=(Word)StrToInt(“0x” + eC0DO->Text);//把变量转换为16进制word类型,并且赋给Dodata
RetValue
= P1202_Do(Dodata);//传送一个16位的值到Digital Output
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Digital Output Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
RetValue = P1202_Di(&Didata);//从Digital Output里面读取16位数
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Digital Input Error!” + “nErrorCode:” + IntToStr(RetValue));
return;
}
eC0DI->Text = IntToHex(Didata,4);
RetValue = P1202_M_FUN_1(DF, DW, DA, AC, wAdNumber, 0, fAdBuf,-10, 10);//连续平滑的A/D、D/A转换
if(RetValue!= 0)
{
ShowMessage((AnsiString)“M_Fun_1 Error!”
+ “nErrorCode:” + IntToStr(RetValue));
return;
}
DrawWaveF(-5, 5, fAdBuf, 0, wAdNumber, C0Image);//连续的监视数据
lbC0Log->Items->Clear();
for(k=0;k<=wAdNumber-1;k++)//根据采集的数据画波形
lbC0Log->Items->Add(FloatToStr(fAdBuf[k]));} //说明:这个程序用于说明点击按钮Button1的时候动作——监视、采集数据,并且根据采集到的数据画波形。
//---------------------------------------------------------------------------void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action){
P1202_DriverClose;//关闭板卡
} //说明:这个程序用于关闭板卡 //---------------------------------------------------------------------------
三相电压采集例程 //---------------------------------------------------------------------------#include
#include “Unit2.h” #include “P1202.h” #include “P1202u.cpp” //---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource “*.dfm” TForm1 *Form1;
Word
TotalBoards;//该程序段包含相关头文件的说明与编译预处理指令,同时定义Word变量TotalBoards,用于技术把卡总数 //---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){ } //---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender){
Word RetValue;
RetValue = P1202_DriverInit(&TotalBoards);
if(RetValue!= 0)
{
ShowMessage(“ErrorCode:” + IntToStr(RetValue)
+ “nDriver Initial Error!”);
Button1->Enabled = False;
}
eSelect->Text = “0”;
eTotal->Text
= IntToStr(TotalBoards);
UpDown1->Max
=(Word)(TotalBoards-1);
UpDown1->Min
= 0;
if(TotalBoards < 2)
{
UpDown1->Enabled = False;
eSelect->Enabled = False;
} } //改程序为窗口初始胡函数以及P1202的驱动初始化,具体注释参考上一个程序 //---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender){
Close();} //该程序用于说明Button2功能,即关闭窗体 //---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){
Word
RetValue, DF, DW, AC, k;
float
DA;
wAdNumber
=(Word)StrToInt(eC0AdNums->Text);
DF
=(Word)StrToInt(eC0DaFreq->Text);
DW
=(Word)StrToInt(eC0DaWave->Text);
AC
=(Word)StrToInt(eC0AdClock->Text);
DA
= StrToFloat(eC0DaAmp->Text);
for(k=0;k<=31;k++)
{
wChannel[k]
= 0;
wConfigCode[k] = 0;
}
wChannel[0]
= 1;
wChannel[1]
= 1;wChannel[2]
= 1;//设定输出到analog output Channel1、Channel2、Channel3
XMax->Caption
= IntToStr(wAdNumber);
XMax2->Caption = XMax->Caption;
XMax3->Caption = XMax->Caption;
RetValue
= P1202_ActiveBoard((Word)StrToInt(eSelect->Text));//激活板卡,并把返回值送给RetValue
if(RetValue!= 0)
{
ShowMessage((AnsiString)“Active Borad Error!” + “nErrorCode:” + IntToStr(RetValue));
return;
}
RetValue = P1202_M_FUN_3(DF, DW, DA, AC, wAdNumber, wChannel, wConfigCode, fAdBuf,-10, 10);//连续平滑的A/D、D/A转换
if(RetValue!=0)
{
ShowMessage((AnsiString)“M_Fun_1 Error!” + “ErrorCode:” + IntToStr(RetValue));
//return;
}
DrawWaveF(-5, 5, fAdBuf, 0, wAdNumber, C0Image0);
DrawWaveF(-5, 5, fAdBuf, wAdNumber, wAdNumber, C0Image1);
DrawWaveF(-5, 5, fAdBuf, wAdNumber * 2, wAdNumber, C0Image2);//连续的监视数据
lbC0Log->Items->Clear();
for(k=0;k<=wAdNumber-1;k++)//根据采集的数据画波形
lbC0Log->Items->Add((AnsiString)“Ch0: ” + FloatToStr(fAdBuf[k]).SubString(1,5)
+ “
Ch1: ” + FloatToStr(fAdBuf[wAdNumber + k]).SubString(1,5)
+ “
Ch2: ” + FloatToStr(fAdBuf[wAdNumber * 2 + k]).SubString(1,5));} //说明:该程序功能用于说明Button1的功能以及实现,动态监视并采集数据,根据采集到的数据绘制波形。
//---------------------------------------------------------------------------void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action){
P1202_DriverClose;} //说明:该程序用于P1202的驱动关闭动作
六、注意事项 1.连线检查无误后方可上电,接线尽量用短线; 2.因为异步电机高压直接启动容易过流报警,所以可将交流输入电压调至160V左右; 3.主接触器线圈工作时需要220V交流电源(三相输出电压U、V、W为可调电压,其下方三个输出电压U’、V’、W’为不可调电压,其任意两相之间线电压均为380V,每一相对地相电压为220V,因此可选择其中一相作为主接触器电源,切不可用两相之间的线电压!)
4.数字隔离端子板配有多个继电器,这些继电器的通断由数码管显示,上位机输入的数字量可以由数码管以对应的二进制格式表示,因此应该弄清实验中使用的端子板继电器对应哪些数字为通,哪些数字为断。
5.实验中未出现过流过压报警时,电机的通断电通过上位机软件实现。
七、实验结果与分析
单相传感器
三相传感器 八、思考与分析 1.三相异步电动机的启动与调速方式有哪几种? 答:启动方式有直接启动(电机直接接额定电压启动)与降压启动(分为定子串电抗降压启动、星形三角形启动、软启动器启动以及自耦变压器启动等);调速方式有变极调速、变频调速与改变电动机转差率调速。
2.A/D 和 D/A 转换的性能指标主要有哪些? 答:主要性能直白哦有位数、量化误差、分辨率、精度、建立时间、转换时间、转换速率、环境指标等 3.电流传感器和电压传感器分别有哪几种接线方式? 电流传感器是串联,电压传感器是并联 4.简述霍尔传感器的基本原理?
答:当主回路有一个电流通过时,在导线上产生的磁场被聚磁环狙击兵感应到霍尔奇奸商,所产生的信号输出用于驱动相应的功率管,并使其导通从而后的一个补仓电流 Is,这一个电流再通过多匝绕组,产生磁场,该磁场与被测电流产生的磁场正好相反,因而补偿了原来的磁场,使霍尔器件的输出逐渐减小。当与Ip 与匝数相乘所产生的磁场磁场相等时,Is 不再增加,这是霍尔器件起到指示零磁通的作用,此时而已通过 Is 来平衡。被测电流的任何变化都会破坏这一平衡。一旦磁场失去平衡,霍尔器件有信号输出。经过功率放大后,立即就有相应的电流通过磁激绕组进行补偿,副边电流 Is 精确反映原边电流。
5.电气装备计算机控制系统主要分为哪几类? 数据采集系统、监督控制系统、直接数字控制系统、分散型控制系统 九、讨论、心得 1.本次实验的实验内容是通过计算机控制来实现对电机运行与停止的控制。本次实验用到的相关器件包括 PC 机、PCI1202 板、电压传感器、中间继电器等器件。
2.本次实验用到的传感器有电压传感器和电流传感器,由于电机运行为空载运行,电流较小,用电流传感器的意义不大,所以这次实验就只用了电压传感器 3.实验器材上有两个交流电压源的插口,上面一排为可调电源,本次实验只需调至 150-170V 左右就可以让电机运行起来,而在控制中间继电器里面的交流电源为 220V 交流电源,需要连接下面的插口才能实现。并且注意实验时不要触碰交流电源插口,非常危险。
4.实验连接线路时尽量用短线。因为是强电实验,连接线路过程中一定要断电连接,用的线路不能是裸露导体的导线,必须是将导体放在绝缘体之内的导线。
5.实验硬件电路中,对于控制电动机的启动并不是一步完成的,因为电动机工作在 380V 线电压的高压电路中,而控制计算机实际工作的电压远小于这个值,两者不能直接连接,应该逐级降压,DB-16P 与数字量开关信号相连,连接在 5-24VDC 的低压电路中,DB-16R 把输出的信号与继电器相连,工作在 24VDC电压下,最终继电器吸合后使电动机线路上的继电器工作,电机才得以转动。
6.异步电机的连接方法为三角-星型启动,可以有效降低启动电压。虽然如此,实验开始时仍然要逐级升压启动,才可以使电机运行平缓。
7.三相传感器的结果中可以看到三相频率基本一致,相位差大约差 120°,符合预期结果。
8.通过本次实验,初步了解数据采集卡在电气装备中的应用;了解计算机在数据采集和处理方面的应用;理解硬件的原理,为之后的实验打下了基础,对 C++ Builder 软件有了一定了解,为编程打下基础。
第二篇:计算机控制实验报告
中国石油大学计算机控制实验报告 实验日期:2011.11.30 成 绩:
班级:自动化08-4 姓名:陈方光 学号:08071402
实验一 基于NI6008的数据采集
1.实验目的:
理解基本计算机控制系统的组成,学会使用MATLAB和NI6008进行数据采集。2.实验设备:
计算机控制实验箱、NI6008数据通讯卡、Matlab软件、计算机 3. 实验内容:
(1)使用计算机控制实验箱搭建二阶被控对象,并测试对象特性(2)在Matlab中设计数字PID控制器,对上述对象进行控制 4.实验步骤:
(1)选择合适的电阻电容,参考如下电路结构图,在计算机控制实验箱上搭建二阶被控对象,使得其被控对象传递函数为
建议数值:R1=200kΩ,R2=200kΩ,C1=1μF,R4=300kΩ, R5=500kΩ,C2=1μF.(2)测试NI6008数据通讯卡,确保数据输入输出通道正常。(3)使用MATLAB和OPC通讯技术进行数据采集:(4)编写程序,实现数据的定时采集和显示。5.实验结果
1)测试NI6008数据通讯卡
首先将NI6008数据采集卡的AI负端与GND端短接,然后通过usb数据线连接计算机,打开opc端口调试工具,添加NI数据采集卡,添加自己所需的输入、输出端口,通过向输入端强制写入1,观察AO端口显示数据,能较精确的跟踪输入数据,该数据采集完好。
2)使用matlab和opc进行数据采集及其显示
在Matlab中读写数据:
da = opcda(‘localhost’, ‘NI USB-6008.Server’);% 定义服务器 connect(da);
%连接服务器 grp = addgroup(da);
%添加OPC 组 itmRead = additem(grp,‘Dev1/AI0’);
%在组中添加数据项 itmWrite = additem(grp,'Dev1/AO0');
%在组中添加数据项
r=read(itmRead);
y(1)=r.Value;
%读取数据项的值 Write(itmWrite,1);
%向数据项中写值 disconnect(da);
%断开服务器 关于定时器的问题
t = timer(‘TimerFcn’,@myread, ‘Period’, 0.2,‘ExecutionMode’,‘fixedRate’);%定义定时器 start(t)%打开定时器 out = timerfind;%寻找定时器
stop(out);%停止定时器
delete(out);%删除定时器
将读取的数据存储并动态显示于图中: function myread(obj,event)
global tt k y da grp itmRead Ts itmWrite r=read(itmRead);k=k+1;tt(k)=(k-1)*Ts;y(k)=r.Value;hold on plot(tt,y)if k>70/Ts Write(itmWrite,0);num=[1.484];den=[46.4067,15.994,1];[y,t]=step(tf(num,den),1:0.2:70);plot(t,y)out = timerfind;stop(out);
delete(out);disconnect(da);end
表1:数据采集表
采集数采集数采集数时间 据 时间 据 时间 据 时间 0.00 0.00 4.00 1.67 8.00 1.67 12.00 0.20 0.02 4.20 1.67 8.20 1.66 12.20 0.40 0.74 4.40 1.67 8.40 1.68 12.40 0.60 1.30 4.60 1.67 8.60 1.67 12.60 0.80 1.52 4.80 1.67 8.80 1.67 12.80 1.00 1.62 5.00 1.66 9.00 1.67 13.00 1.20 1.64 5.20 1.67 9.20 1.68 13.20 1.40 1.66 5.40 1.66 9.40 1.67 13.40 1.60 1.67 5.60 1.67 9.60 1.66 13.60 1.80 1.66 5.80 1.65 9.80 1.67 13.80 2.00 1.67 6.00 1.64 10.00 1.67 14.00 2.20 1.66 6.20 1.66 10.20 1.68 14.20 2.40 1.68 6.40 1.66 10.40 1.68 14.40 2.60 1.67 6.60 1.66 10.60 1.66 14.60 2.80 1.67 6.80 1.66 10.80 1.67 14.80 3.00 1.66 7.00 1.67 11.00 1.67 15.00 3.20 1.67 7.20
1.67
11.20 1.67
15.20 采集数
据 时间 1.68 16.00 1.66 16.20 1.66 16.40 1.68 16.60 1.66 16.80 1.67 17.00 1.67 17.20 1.66 17.40 1.66 17.60 1.66 17.80 1.66 18.00 1.66 18.20 1.67 18.40 1.67 18.60 1.67 18.80 1.67 19.00 1.68
19.20 采集数
据 1.67 1.66 1.67 1.67 1.66 1.67 1.66 1.66 1.67 1.67 1.67 1.64 1.67 1.67 1.67 1.67 1.65 3.40 3.60 3.80 4.00 1.67 1.67 1.67 1.67 7.40 7.60 7.80 8.00 1.67 1.66 1.67 1.67 11.40 1.68 11.60 1.66 11.80 1.68 12.00 1.68 15.40 1.65 15.60 1.66 15.80 1.66 16.00 1.67 19.40 1.67 19.60 1.67 19.80 1.67 20.00 1.67 Matlab绘图如下:
图表 1 开环数据读取显示曲线
6.实验总结:
通过本次实验我理解基本计算机控制系统的组成,学会使用MATLAB和NI6008进行数据采集,以及实验电路的搭建,如何设计PID算式使二阶对象完成相应的功能,并且测试了对象的特性。复习了以前学习的东西,能做到活学活用,搭建实际模型来完成模拟实验。中国石油大学计算机控制实验报告 实验日期:2011.11.30 成 绩:
班级:自动化08-4 姓名:陈方光 学号:08071402
实验二 数字PID算法的实现
1.实验目的:
熟悉PID控制器,实现PID算法,深入了解PID参数对系统控制效果的影响 2.实验设备:计算机控制实验箱、NI6008数据通讯卡、Matlab软件、计算机 3.实验内容:
(1)在实验一基础上编制PID数字控制器,实现闭环控制。
Te(k)2e(k1)e(k2)uu(k)u(k1)kpe(k)e(k1)e(k)T()dTiT (2)进行PID参数的整定分析:
a)取消积分和微分作用,分析比例系数数对系统控制性能的影响 b)保持比例系数不变,分析积分作用对系统控制性能的影响
c)保持比例系数和积分时间不变,分析微分作用对控制系统性能的影响 d)运用所学的PID参数整定方法,确定一组控制性能良好的PID参数 4.实验要求
(1)实验过程中要记录实验曲线,标注控制系统输出的性能指标(2)总结PID参数对控制系统性能的影响
(3)分析理论结果与实验结果的差异,如有误差分析原因。5.实验结果 a)纯比例控制
分析:
对比分析上图可知:Kp越大,比例作用越强,比例动作越快,上升时间和延迟时间越短,调节时间峰值时间也相应减少,且稳态误差减小,但超调量增大,系统易发生振荡,甚至发散。
由于是纯比例作用,故系统稳定后存在余差,被控变量不可能回到原来的值上(在本系统中不可能稳定到1),且由于仿真电路干扰的存在,响应曲线存在较大的毛刺。
b)比例不变,变积分控制
分析:
从表中可知,在Kp相同,Ti不同的情况下, Ti越大,积分作用越强,系统的上升时间,延迟时间,调节时间和峰值时间均越大,系统的响应越慢,动态性能越差,但是系统的超调量却越小,甚至小到不存在,系统地稳定性能提高。加入积分环节后,对比表中数据可知,积分环节可以使系统的上升时间,调节时间,延迟时间,峰值时间变长,系统的动态性能变差,而超调量减小,稳态性能得到提高。
c)比例、积分不变,变微分控制
分析:
从表中数据可知,第一,由于微分作用的存在,响应曲线的起始阶段呈现尖锐的波峰,之后曲线也呈衰减振荡;第二,保持Kp、Ti不变,增大Td,系统的上升时间上升,微分控制不直接影响稳态误差,但它增加了系统的阻尼,因为容许采用比较大的增益K值,这将有助于系统稳态精度的改善。
PID具有PD和PI双重作用,能够较全面地提高系统的控制性能,是一种应用比较广泛的控制器。PID控制器除了提高系统型别之外,还提供了两个负实零点,从而较PI控制器在提高系统的动态性能方面有更大的优越性。因此,在工业控制设计中,PID控制器得到了非常广泛的应用。一般来说,PID控制器参数中,I部分应发生在系统频率特性的低频段,以提高系统的稳态性能;D部分发生在系统频率特性的中频段,以改善系统的动态性能。
6.实验总结
通过这次实验,我熟悉了PID控制器,实现了PID算法,深入了解了PID参数对系统控制效果的影响,宏观的了解了参数影响的效果,可以对于实际出现的各种图形进行分析,确定是那一个或者哪几个参数问题,便于实际应用,进一步熟悉了MATLAB软件的使用。
第三篇:无线数据采集模块实验报告
无线数据采集模块
实验报告
姓名:张兆伟
班级:13 班
学号:2015042130 日期:2016年8月25日
无线数据采集模块实验报告
一、实验背景
数据是指用来描述客观事物的数字、字母和符号等等。数据传输在人类活动中的重要性是不言而喻的。它是计算机与外部物理世界连接的桥梁。数据采集,或称数据获取,既利用一种装置,从系统外部采集数据输入到系统内部。
随着计算机、通信和网络技术的飞速发展,无线传感器网络应运而生。传感测试技术正朝着多功能化、微型化、智能化、网络化、无线化的方向发展。工业无线网络是从新兴的无线传感器网络发展而来的,具有低成本、低能耗、高度灵活性、扩展性强等特点,已经成为继现场总线技术后的又一个研究热点。无线数据采集既要在复杂,恶劣的现场环境下将物理量完整的进行采集,更要将采集到的数据传给远端的主控室。其主要应用领域包括:工业遥控、遥测;石油钻井张力无线监测;短距离无线数据传输;安防设备无线监控;无线RS485、无线PLC;城市管网压力、温度监测;电力线无线报警等。
二、实验过程
无线数据采集既要在复杂,恶劣的现场环境下将物理量完整的进行采集,更要讲采集到的数据传给远端的主控室。DTD110系列无线数传模组广泛应用于无线数传领域,典型应用包括遥控、遥感、遥测系统中的数据采集、检测、报警、过程控制等环节。
DTD110系列无线PLC有4路开关量的传输,4路模拟量的传输,距离100米~3000米均可。即可以实现点对点通信,也可以实现点对多点通信,不需要编写程序,不需要布线,一般电工就可以调试使用。对于工业现场的遥测遥控实施简单、方便、便宜。
1、适用范围
无线数据采集模块具有数据采集、控制、GPRS无线远程通信等功能。采用低功耗设计。该产品可接入各种串口仪表、各种模拟信号输出的变送器、各种脉冲信号输出的雨量计、水表等。广泛用于水务、环保、气象、市政、环境、地质、农业、公安等行业远程监控系统。特别适用于太阳能供电方式的现场应用,可大大降低太阳能供电成本。
2、无线数据采集的特征:
多种配置应用方案,可以满足用户不同的需要;4个开关输入通道,4个开关OC门输出通道;4个模拟量输入通道,4个模拟量输出通道;可以直接代替有线的PLC设备;一体化设计,结构紧凑;多种产品规格适应于不同的传输距离;射频输出功率10mW、500mW、1000mW;GFSK调制,高效前向纠错信道编码技术;软件无线电技术保证高抗干扰能力和低误码率;ISM 频段433MHz,无需申请频点;工业标准设计,能工作于各种恶劣环境;直流9~24V供电,电流小于800mA。
3、主要功能
1)远程通信:GPRS网络和短消息双通道传输数据,支持专线、VPN专网多种组网方式。
2)通讯协议:支持UDP、TCP 协议,支持多中心数据通信。
3)模拟量输入:可采集4-20mA、0-5V等多种电流、电压信号输出模拟量。
4)开关量输入:可采集干接点、有源接点开关量输出信号,可定时采集以降低能耗。
5)脉冲量输入:可采集干接点脉冲信号,用于采集脉冲发讯水表。6)智能仪表接入:提供2路RS232/485串口,可以采集各种智能仪表,如流量计、照相机等。
7)开关量输出:提供三极管集电极信号输出。
8)电源输出:可定时为变送器供电,输出电压:同输入电源电压。9)远程控制:接受远程指令,实现控制。
10)数据显示:可支持2×8中文汉字液晶显示,配有4个数字键盘。
11)数据查询:可本机按键查询,同时支持就地串口查询,远程查询。
12)远程通信:支持RS232/485总线、GPRS、SMS等多种通信。
13)配套软件:配套提供参数设置软件。
4、主要特点
1)工作电流低:GPRS实时在线,平均工作电流<10mA。
2)数据存储容量大:本机循环存储监测数据,掉电不丢失,存储容量:4M。
3)维护方便:支持远程参数设置,远程软件升级。
4)体积小:外型尺寸145×100×65mm
5、技术指标
1)硬件配置:GPRS/GSM无线通信接口、4路AI、4路DI、6路PI、3路DO、2路串口、中文液晶显示和无显示可选、1个4按键键盘可选。
2)采集精度:模拟量采集精度:0.5%,脉冲计数误差:0.01%
3)通信协议:支持标准MODBUS协议,可嵌入其它通信协议。
4)通信接口:GPRS/GSM无线通信接口,1路串口用于维护,2路串口采集仪表,232/485可选。
5)通信速率:300~19200 bit/s
6)工作环境:温度:-25~+70℃、湿度:≤95%、无腐蚀气体、无导电尘埃、无爆炸环境。
7)安装方式:一般采用导轨式安装,特殊场合,可将控制器固定在安装底板上。
8)供电电源:10~28VDC
6、系统功能
系统主要分三层,第一层为服务器,第二层为过渡层,由 Zigbee 协调器和 Zigbee节点构成,第三层为任务层,由 54 个监测单元和 1 个显示单元构成。系统的主要功能为:服务器有选择地查询 54 个监测单元的数据,然后根据需要将某个监测单元的数据发送到显示单元上,让其显示,中间的传输全部由 Zigbee 组网无线通讯。
其服务器主要功能:
1)开辟多个线程,每个线程主动轮询各个节点;与每个节点的通讯必须“有问 必答”,具有超时控制机制; 2)具有广播,组播配置参数功能;
3)对每个节点可以实时监测重量,温度,湿度参数。并且以曲线形式显示; 4)实时采集每个节点的参数并显示;
5)服务器采用 Windows 7 操作系统,开发工具为 C#和 SQL 数据库,最终生成安装文件。
三、实验结果
直观看到显示单元上面显示的值,什么都不选时,数码管上显示 0000,当输入节点编号,并双击鼠标选中温度、湿度或者重量时,点击确定后,数码管
会立即显示具体数值,并且给显示单元发送显示命令。
四、认识与体会
数据采集是整个工厂自动化的最前端,测试精度、速度与实现该功能的成本是几个重要因素,数据采集也正朝着这几个方向发展。高速、实时数据采集在运动控制、医疗设备、快速生产过程和变电站自动化等领域都有非常重要的应用。这些行业中,对高速数据采集的需求远远超过目前实际可以实现的程度。用户的需求促进了技术的发展和新产品的出现,随着工业发达国家和新兴崛起国家为提高其产品在全球市场的竞争力,他们更进一步希望降低包括能源消耗、原材料消耗和劳务成本。对于发达国家来讲,其劳务成本远远高于新兴崛起国家,因此特别重视促进创新和技术进步,采用新的技术手段。正是在这样竞争日益激烈的大背景下,无线数据采集技术在工业中的推广应用则受到了特殊的重视。
第四篇:计算机控制实验报告(推荐)
计算机控制实验报告
班级:
姓名:
学号:
实验二 最少拍控制系统
1.实验结果
图2-1 单位阶跃输入下最少拍有纹波控制系统仿真结构模型
图2-2 单位阶跃输入下最少拍有纹波控制器输出
图2-3单位阶跃输入下最少拍有纹波系统输出
图2-4 单位阶跃输入下最少拍无纹波控制系统仿真结构模型
图2-5单位阶跃输入下最少拍无纹波控制器输出
图2-6 单位阶跃输入下最少拍无纹波系统输出 2.思考与分析
(1)最少拍受什么限制而使调整节拍增加?
答:设计出来的最少拍控制系统,在有限拍后进入稳态,只保证了在最少的几个采样周期后系统的响应在采样点时是稳态误差为零,而不能保证在任意两个采样点之间的稳态误差为零,即最少拍控制系统在采样时间精确的跟踪输入信号。所以最少拍受输入函数阶数的限制而使调整节拍增加,即输入函数的阶数越高,调解时间越长。
(2)无纹波系统对控制器有何要求? 答:最少拍无波纹对控制器有如下约束条件:
1.被控对象G(S)有足够的积分环节。若输入为速度输入函数,被控对象G(s)的稳态输出也应为速度函数,因此就要求G(s)中至少有一个积分环节。若输入为加速度输入函数,则被控对象G(s)的稳态输出也应为加速度函数,要求G(s)中至少有两个积分环节。所以最少拍无纹波控制能够实现的条件是被控对象G(S)有足够的积分环节。2.(z)必须包含G(z)中的圆外圆内全部零点N(z)。
(3)分析不同输入信号对最小拍控制系统的影响。
答:在单位阶跃函数作用下,输出响应经过一个采样周期T,输出与输入完全跟踪,即调整时间为一拍。同理在单位速度作用下经过两个采样周期T,输出与输入完全跟踪,即调整时间为二拍。在单位加速度作用下经过三个采样周期T,输出与输入完全跟踪,即调整时间为三拍。即输入函数的阶数越高,调整时间越长。
实验三 纯滞后控制实验
1.实验结果
图3-1纯滞后控制系统仿真结构模型
图3-2 纯滞后系统控制器输出
图3-3 纯滞后控制系统输出
2.思考与分析
(1)纯滞后控制系统对阶跃信号有无超调?为什么?
答:纯滞后控制系统对阶跃信号有超调。因为被控对象中的纯滞后部分作用在时间坐标上推移了一个时间
仅将控制,被控对象具有纯滞后特性,时间常数很大,而被控对象的滞后时间会使系统的稳定性降低,动态性能变坏,即会引起超调和持续的振荡,因而纯滞后控制系统对阶跃信号也有一定的超调。(2)纯滞后控制与PID控制有什么本质区别?
答:1.纯滞后控制:由于对象存在较大的纯滞后,采用单回路PID控制效果不佳。但常规单回路PID控制对一般对象控制效果较为理想,是生产过程中常用的一种控制方法。2.PID控制:比例控制能迅速反应误差,从而减小稳态误差。但是,比例控制不能消除稳态误差。比例放大系数的加大,会引起系统的不稳定。积分控制,只要系统有误差存在,积分控制器就不断地积累,输出控制量,以消除误差。但是积分作用太强会使系统超调加大,甚至使系统出现振荡。微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。应用PID控制,必须适当地调整比例放大系数KP,积分时间TI和微分时间TD,使整个控制系统得到良好的性能。纯滞后控制部分的达林算法是基于离散系统的设计方法,按照期望的传递性能设计控制器达到改善性能的目的,PID控制算法是基于连续系统的设计方法。
第五篇:地震数据采集实验报告参考材料
实验一 地震数据采集实验
红色字体部分根据具体实验参数自行修改
一 实验目的和要求
通过实验了解地震数据的采集方法和观测系统的设计方法。二 实验内容
1、了解地震数据的采集方法。
2、地震观测系统的设计。
3、实验观测结果的分析。三 实验仪器设备
Summit或Geopen数字地震仪、100hz地震检波器12串、锤击震源1个、地震采集站2个(Summit为6个)。四 实验原理
参考课本和上课老师讲的内容,自己总结。五 实验步骤
1、画出合适的观测系统(单边激发,每炮12道接收,每炮向前滚动1道,共12炮,道间距为1m),合理设置仪器参数。
2、将检波器、采集站、击发锤、炮线和仪器连接,检查仪器的相关参数。
3、用击发锤多次敲击地面,产生地震波,由检波器接收并转化为电信号,通过电缆传输到仪器中,进行重复叠加后记录到磁盘上,获得一张地震记录。
4、根据直达波时距曲线为直线、反射波时距曲线近似为双曲线的特点,在地震记录中识别出直达波、反射波和面波。
5、向前移动检波器排列,并重复2、3、4和5步骤。五 实验结果
根据不同类型地震波的特点在下图所示的地震记录中识别直达波、反射波、折射波和面波,并指出直达波、反射波和折射波时距曲线的关系。
六 实验小结体会