计算机控制实验讲义2..doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机控制实验讲义2.

《计算机控制》 实验讲义 中国石油大学(华东)信息与控制工程学院 2011年9月 实验目录 实验一 基于NI6008的数据采集 实验二 数字PID控制算法的实现 实验三 PID控制器面板设计 实验四、最小拍控制器设计 实验五、组态软件的学习与应用 实验一 基于NI6008的数据采集 实验目的: 理解基本计算机控制系统的组成,学会使用MATLAB和NI6008进行数据采集。 实验设备: 计算机控制实验箱、NI6008数据通讯卡、Matlab软件、计算机 3. 实验内容: (1)使用计算机控制实验箱搭建二阶被控对象,并测试对象特性 (2)在Matlab中设计数字PID控制器,对上述对象进行控制 4. 实验步骤: 选择合适的电阻电容,参考如下电路结构图,在计算机控制实验箱上搭建二阶被控对象,使得其被控对象传递函数为 建议数值:R1=200kΩ,R2=200kΩ,C1=1μF,R4=300kΩ, R5=500kΩ,C2=1μF. 测试NI6008数据通讯卡,确保数据输入输出通道正常。(如何测试?) 使用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.5,‘ExecutionMode’,‘fixedRate’);%定义定时器 start(t) %打开定时器 out = timerfind; %寻找定时器 stop(out); %停止定时器 delete(out);%删除定时器 编写程序,实现数据的定时采集和显示。 实验二 数字PID算法的实现 实验目的: 熟悉PID控制器,实现PID算法,深入了解PID参数对系统控制效果的影响 实验设备:计算机控制实验箱、NI6008数据通讯卡、Matlab软件、计算机 实验内容: 在实验一基础上编制PID数字控制器, 实现闭环控制。 进行PID参数的整定分析: 取消积分和微分作用,分析比例系数数对系统控制性能的影响 保持比例系数不变,分析积分作用对系统控制性能的影响 保持比例系数和积分时间不变,分析微分作用对控制系统性能的影响 运用所学的PID参数整定方法,确定一组控制性能良好的PID参数 实验要求 实验过程中要记录实验曲线,标注控制系统输出的性能指标 总结PID参数对控制系统性能的影响 分析理论结果与实验结果的差异,如有误差分析原因。 实验三、PID控制器面板的设计 实验目的: 熟悉PID控制器,实现PID算法,深入了解PID参数对系统控制效果的影响 实验设备: 计算机控制实验箱、NI6008数据通讯卡、Matlab软件、计算机 实验内容 使用MATLAB GUI 设计PID控制面板,要求控制面板上实时显示PV,SV,MV值,同时实时绘制曲线,能够达到手自动无扰切换。 实验步骤 首先使用Matlab GUI绘制上述画面,并保存为PIDpanel.fig. 在function PIDpanel_OpeningFcn(hObject, eventdata, handles, varargin)中定义Timer计时器 timer1= timer(TimerFcn,{@PIDControl,handles}, ExecutionMode, FixedRate,Period, 1.0); set(handles.figure1, DeleteFcn, {@DeleteFcn, timer1}); start(timer1); function DeleteFcn(hObject, eventdata, tim

文档评论(0)

s4as2gs2cI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档