《2022年风速控制实验教学方案 .pdf》由会员分享,可在线阅读,更多相关《2022年风速控制实验教学方案 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、人机功效与环境实验室风速计算机控制系统设计与实现实验教学方案实验教学1实验课的目的和要求通过计算机控制以及对I8000数据采集模块的使用,实现小型风洞风速(010m/s)的自动控制,并分析各控制参数下的控制效果,掌握VC+6.0 软件的计算机控制系统基本的应用,了解I8000数据采集与工业控制计算机系统的工作原理和使用方法。培养学生设计简单的计算机控制系统软硬件的能力。2实验原理2.1 系统硬件介绍RS232/RS485串口模块变频器风机电机122.12.2图 1图1中:2风速传感器。 420mA 信号输出,对应风速010m/s。3控制模块。2.1) 信号采集模块,类型:0 x8017。420
2、mA信号串 250电阻,对应实现 15V 电压信号采集。2.2) 信号输出模块,类型:0 x8024。 050Hz频率信号,模拟量输出。2.2 软件框架介绍名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 1)基于 VC+6.0 的软件控制程序流程图如图2所示。开始系统初始化参数赋值电压信号风速信号转换结束否调用输入函数采集风速电压信号是否停止试验?PID 控制量计算停止试验数据调用输出函数是图 22)程序框架基于图 2所示的控制
3、流程和程序框架如下。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - GetValue(&value)value=function1(value)uk=function2(ask,value)AnalogIn_8K()SendValue(uk)AnalogOut_8K()end!=0?ControlProc()YOnInitDialog()图 3 void CMyDlg:OnInitDialog(); / 系统初始化BOOL Ge
4、tValue(float* get) / *设置通信参数 * / AnalogIn_8K(dwBuf,fBuf,szSend,szReceive); / 与I8000通信 BOOL SendValue(float send) / *设置通信参数 * / AnalogOut_8K(dwBuf,fBuf,szSend,szReceive); / 与I8000通信 UINT ControlProc(LPVOID pParam) / 主程序部分 for(cycle=0;!end;cycle+) / 循环控制GetValue(&value); / 采集风速电压信号/ *电压信号与风速信号转换* / /
5、*PID控制量计算 * / SendValue(uk); / 调用输出函数 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 3实验内容 实现 010m/s风速信号的采集功能实验方法:在 PC总线工控机上使用RS485接口数据模块的一般使用方法;掌握市售数据采集板I8000的板载 A/D 芯片控制方法和应用。主要掌握AD 驱动函数 AnalogIn_8K 的使用方法。主要掌握传感器的标准信号处理方式。1)AnalogIn_8K 函
6、数参数为:(驱动函数,A/D 转换)Exp8K WORD CALLBACK AnalogIn_8K(DWORD dwBuf, float fBuf, char szSend, char szReceive); /-input- / dwBuf0; / RS-232 port number: 1/2/3/4./255/计算机串口号/ dwBuf1; / module address: 0 x00 to 0 xFF/模块地址/ dwBuf2; / module ID: 0 x8017/18/模块类型 ID / dwBuf3; / checksum: 0=disable, 1=enable/校验和/
7、 dwBuf4; / TimeOut constant: normal=100/通讯时间/ dwBuf5; / channel number for multi-channel/通道号/ dwBuf6; / flag: 0=no save, 1=save send/receive string / dwBuf7; / Slot Number: 0 to 3 /-output- / fBuf0=analog input value / char szSend / 发送数据/ char szReceive /接收数据函数调用实例:BOOL GetValue(float* get) WORD wRn
8、t; DWORD dwBuf8=3,1,0 x8017,0,100,0,0,0; float fBuf8; char szSend20=; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - char szReceive20=; wRnt=AnalogIn_8K(dwBuf,fBuf,szSend,szReceive); for(int i=0;wRnt!=0;i+) Sleep(50); wRnt=AnalogIn_8K(dwBu
9、f,fBuf,szSend,szReceive); if(i=1) return FALSE; *get=fBuf0; return TRUE; 2) 风速转换将计算机采集到的1-5v电压转换为 0-10m/s的风速:线性标度变换的公式:Amin 为被测参数量程的最小值;Amax为被测参数量程的最大值;Ax 为被测参数值;Nmax为Amax 对应的 A/D 转换后的数值或变送器输出值;Nmin 为Amin 对应的 A/D 转换后的数值或变送器输出值; Nx为被测量 Ax对应的 A/D 转换后的数值或变送器输出值。实现 050Hz频率信号的模拟量输出功能实验方法:在 PC总线工控机上使用RS48
10、5接口数据模块的一般使用方法;掌握市售数据采集板I8000的板载 D/A 芯片控制方法和应用。主要掌握DA 驱动函数 AnalogOut_8K 的使用方法。主要掌握控制的标准信号的计算机处理方式。AnalogOut_8K 输出函数为(驱动函数,D/A 转换)Exp8K WORD CALLBACK AnalogOut_8K(DWORD dwBuf, float fBuf, char szSend, char szReceive); /-input- / dwBuf0; / RS-232 port number: 1/2/3/4./255 / dwBuf1; / module address: 0
11、 x00 to 0 xFF / dwBuf2; / module ID: 0 x8024,8022,8026 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - / dwBuf3; / checksum: 0=disable, 1=enable / dwBuf4; / TimeOut constant: normal=100 / dwBuf5; / Channel No.(0 to 3) / dwBuf6; / flag: 0=no
12、 save, 1=save send/receive string / dwBuf7; / slot / f70000; / analog output value /-output- / void 函数调用实例:BOOL SendValue(float send) WORD wRnt; DWORD dwBuf8=3,1,0 x8024,0,100,0,0,3; float fBuf8; char szSend20=; char szReceive20=; fBuf0=send; wRnt=AnalogOut_8K(dwBuf,fBuf,szSend,szReceive); for(int i
13、=0;wRnt!=0;i+) Sleep(50); wRnt=AnalogOut_8K(dwBuf,fBuf,szSend,szReceive); if(i=1) return FALSE; return TRUE; 编写 VC+6.0 的软件控制程序界面实验方法: VC+6.0 。编写对话框程序,并加入硬件驱动函数。编写采样周期为T的计算机数据采集及控制名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 程序。增加采样周期T、P比
14、例系数 kp、I积分系数 ki、D微分系数 kd参数的修改界面编写 PID 控制算法用c语言将下面实现方式编成程序实现控制功能,变量系数自定。实验方法:掌握在PID控制算法计算机语言的实现方式。主要利用以下公式: dttdeTdeTteKtudtip)()(1)()(0要求编函数实现PID控制,并编程实现方式:en, en-1,en-2是连续 3次采样的风速差。微分先行(快速控制) ,积分环节调节误差如何实现?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - -
15、 - - - - - - - 对 PID 控制算法的控制结果进行实验验证实验方法:每人上机2次。使用已有的 PID参数对编写程序加以验证:1微分先行的控制方法2增大或减小 P 3增大或减小 D 4增大或减小采样周期T 可以任选两种方法加以验证,结果写入实验报告。4. 实验要求1)实现控制算法。2)实现微分先行快速控制,积分环节调节误差。3)实现输入信号量到风速大小的转换。4)完成界面设计(曲线显示除外)。实现界面上实时控制采样周期、PID参数,显示控制量及当前误差。5)分析不同控制参数的实际控制效果,并对未做实验的参数值控制效果做理论预测。6) 每人形成一份实验报告。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -