THJK计算机控制技术实验软件使用指导书.docx
- 文档编号:27472408
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:34
- 大小:477.30KB
THJK计算机控制技术实验软件使用指导书.docx
《THJK计算机控制技术实验软件使用指导书.docx》由会员分享,可在线阅读,更多相关《THJK计算机控制技术实验软件使用指导书.docx(34页珍藏版)》请在冰豆网上搜索。
THJK计算机控制技术实验软件使用指导书
目录
第一章THJK计算机控制技术实验软件使用说明1
第一节系统概述1
第二节实验软件的安装3
第三节实验软件的使用4
第二章计算机控制技术编程实验7
实验一A/D与D/A转换7
实验二数字滤波器8
实验三离散化方法研究10
实验四数字PID调节器算法的研究12
实验五串级控制算法的研究14
实验六解耦控制算法的研究16
实验七最少拍控制算法研究18
实验八具有纯滞后系统的大林控制20
实验九模糊控制系统22
实验十具有单神经元控制器的控制系统24
实验十一单闭环直流调速系统26
实验十二步进电机转速控制系统28
实验十三单闭环温度恒值控制系统29
实验十四单容水箱液位定值控制系统31
第一章THJK计算机控制技术实验软件使用说明
第一节系统概述
一、系统说明
“THJK计算机控制技术实验软件”是基于VC++Win32Console下进行开放式设计的实验软件,该软件完全采用ANSCC语言进行编程,以API函数的形式对外部功能函数进行调用,以达到学校针对“计算机控制技术”课程进行课程设计的目的。
另外,为了便于实验数据的实时显示,该软件还配套提供了基于计算机的示波器显示,共两个示波器,一个用来进行常规示波器的使用,而另一个则用于各种控制实物的显示和动画。
二、实验软件的特点
由于计算机控制技术实验软件的原代码完全开放,故具有许多其它实验软件不具有的特点,主要有以下几点:
1)编程语言采用标准C语言进行编程,这样对于学校的工科专业(一般均会进行C语言的教学)在进行C语言学习时,可以进行项目的课程设计,而现在市场上还没有这样的实验软件;
2)学生可以通过全开放的C语言编程,了解和学习各种控制算法(如数字滤波、PID控制、最少拍控制、大林算法、模糊控制等)的编程与调试;
3)整个软件是基于工业采集卡的应用型软件,学生在进行编程过程中,无形之间就掌握了数据采集卡数据输入输出的编程与使用;
4)由于软件和显示之间采用静态库,并以WinSock进行数据通讯,有兴趣的学生还可以进一步进行数据库方面的学习和编程,并掌握WinSock客户端的编程;
5)学生可以掌握流媒体定时器(定时精度可以达ms级,多用于工业上数据采集定时编程)的使用与编程;
三、实验准备
1)由于“THJK计算机控制技术实验软件”是基于计算机控制技术这门课程而设计的,因此该实验软件适合用于天煌“THBDC-1型控制理论·计算机控制技术实验平台”、“THBCC-1型信号与系统·控制理论及计算机控制技术实验平台”、THKKL-5型控制理论·计算机控制技术实验箱等采用USB数据采集卡的相关产品的实验教学。
因此该实验软件在实验过程中,实验人员必须依托以上相关产品实验指导书中“计算机控制技术实验”的理论知识进行实验。
2)由于“THJK计算机控制技术实验软件”是基于VC++Win32Console下进行C语言编程的实验软件,因此实验人员除了熟悉Windows操作系统外,还应在实验前具备以下知识:
ANSCC语言的编程
熟悉VC++Win32Console的编程环境
对计算控制控制算法有一定的理论知识
3)软件安装
在进行THJK计算机控制技术软件编程实验前,实验人员必须先安装以下软件:
THJK-Server软件,主要用于实验过程中的数据显示
MicrosoftVisualC++6.0软件,主要用于实验编程
USB数据采集卡的驱动软件
第二节实验软件的安装
一、USB数据采集卡驱动软件的安装
USB数据采集卡驱动软件的安装与常用计算机的USB安装方法一样,也可参考天煌“THBDC-1型控制理论·计算机控制技术实验平台”、“THBCC-1型信号与系统·控制理论及计算机控制技术实验平台”、THKKL-5型控制理论·计算机控制技术实验箱等产品实验指导书中有关USB数据采集卡驱动软件的安装部分。
二、THJK-Server软件的安装
“THJK-Server”软件的安装目录中setup.exe将出现如下画面:
点击“下一步”,如下图所示
选择好软件的安装路径后,然后再依次多次点击“下一步”,待安装结束后,点击“关闭”按钮即可。
三、MicrosoftVisualC++6.0软件的安装
MicrosoftVisualC++6.0软件的安装请查阅相关专业书籍,也可参考随实验软件附带的“vc++安装.exe”、“VCSP5.exe”演示文件。
第三节实验软件的使用
一、实验软件系统说明
实验软件由两部分组成,分为客户端和服务器端。
客户器软件名为“THJK”,该软件是基于VC++下的Win32ConsoleApplication的编程环境,全部采用C语言进行编程,代码全开放,主要用于实现USB数据采集卡的输入输出和控制算法的编程;而服务器端软件名为“THJK-Server”,则主要用于客户端程序运行时输入输出变量的数据显示。
注:
在进行实验时,必须要先启动服务器端程序,然后再运行客户端软件。
二、客户端使用函数说明
1)USB采集卡相关使用函数
CreateDevice();
InitDeviceAD();
ReadSingleAD();
ADDataTransform();
WriteDA();
ReleaseDeviceAD(hDevice);
ReleaseDevice(hDevice);
注:
函数的具体使用说明请参考“UsbCard接口函数说明”文档。
在进行编程时,应将UsbCardDll.lib库加入到VC++菜单project->Settings->Link->Object/libraymodule下的编辑中。
2)数据传输与显示
①intTH_ChartY1(intscope,intchannel,doubledt,doubleValue);
主要用于数据的单点显示,控制程序运行一次,就传递一次数据至服务器端进行显示。
其变量说明如下:
Scope:
显示的示波器选择,服务器端有两个示波器,示波器1一般作为通用示波器使用,而示波器2一般用来对实际对象工程变量的显示;
Channel:
显示的通道,一个变量对应一个通道,一次最多使用4个通道(第1~4通道对对应的颜色为蓝、红、绿、粉红);
dt:
服务器端数据显示时每两点之间的dt时间,单位为s,一般较小;
Value:
需显示的变量,double型;
②intTH_ChartY2(intscope,intchannel,doubledt,double*Buffer,intnLength);
主要用于数据段显示,可以将一段数据一次性传输至服务器端进行显示。
其变量说明如下:
Scope:
显示的示波器选择,服务器端有两个示波器,示波器1一般作为通用示波器使用,而示波器2一般用来对实际对象工程变量的显示;
Channel:
显示的通道,一个变量对应一个通道,一次最多使用4个通道(第1~4通道对对应的颜色为蓝、红、绿、粉红);
dt:
服务器端数据显示时每两点之间的dt时间,单位为s,一般较小;
Buffer:
需显示的数据指针;
nLength:
需显示的数据长度;
3)客户端与服务器端的通讯
①intTH_Init()
两个软件之间通讯初始化,并建立通讯;
②voidTH_Realese()
关闭两个软件之间通讯。
注:
在进行客户端与服务器端的通讯编程时,应将TH_Scope.lib库加入到VC++菜单project->Settings->Link->Object/libraymodule下的编辑中。
4)控制算法调用函数
①intTH_SetTimer(intuElapse,LPTIMECALLBACKlpTimeProc,void*Arg);
调用控制算法,并确定算法的控制周期;
②voidTH_KillTimer(void);
结束调用控制算法函数。
注:
在SetTimer函数进行编程时,应将winmm.lib库加入到VC++菜单project->Settings->Link->Object/libraymodule下的编辑中。
三、服务器端软件的使用
“THJK-Server”服务器端软件是计算机控制技术实验编程时的配套软件,该软件通过WinSock与客户端软件进行数据通讯,该软件属服务器端,在实验前必须要先于客户端软件运行,软件上显示数据的显示与停止受客户端控制,但自身也具有以下功能:
1)工具栏
工具栏上有两个示波器的快捷操作方式,具体说明如下:
:
两个示波器的数据显示暂停按钮;
:
实验时界面的保存(含两个示波器和数据显示部分);
:
实验时界面的复制(含两个示波器和数据显示部分);
:
示波器显示数据的全部清除,工具栏有两个清除按钮,分别对应示波器1和示波器2的操作;
:
示波器X轴放大,工具栏有两个X轴放大按钮,分别对应示波器1和示波器2的操作;
:
示波器Y轴放大,工具栏有两个Y轴放大按钮,分别对应示波器1和示波器2的操作;
:
示波器XY轴同时放大,工具栏有两个XY轴放大按钮,分别对应示波器1和示波器2的操作;
:
示波器曲线的移动,工具栏有两个曲线移动按钮,分别对应示波器1和示波器2的操作;
:
示波器曲线的测量游标,工具栏有两个测量按钮,分别对应示波器1和示波器2的操作;
2)菜单栏
菜单栏上除了工具栏上对应的按钮功能外,还有以下功能:
示波幅值设置:
即可以同时设置两个示波器的最大值和最小值;
温度实验、液位实验、直流电机实验:
即在进行温度、液位、转速实验时,可直接在示波器2上设置对应实验的量程范围和名称;
4)测量显示区
在服务器软件界面的右边有一块专用的测量显示区,当实验实验曲线暂停显示时,只要按下示波器1或示波器2的“
”按钮,并移动游标,此时即可在测量显示区内显示游标对应的X、Y轴坐标值和两个游标间的增量值。
5)动画区
为了实验结果显示更形象,在服务器软件界面的左边有四个对应的动画显示条,它们分别是示波器1和示波器2第一、二条曲线对应数据的动态显示。
四、客户端软件的使用
客户端软件是由是在VC++的Win32ConsoleApplication的编程环境下,进行完全基于C语言编程的实验软件,该软件代码全开放,学校可进行课程设计训练。
使用时,在“experiment”文件夹下选择对应的exp1~exp14实验,它们分别对应如下:
实验一A/D与D/A转换
实验二数字滤波器
实验三离散化方法研究
实验四数字PID调节器算法的研究
实验五串级控制算法的研究
实验六解耦控制算法的研究
实验七最少拍控制算法研究
实验八具有纯滞后系统的大林控制
实验九模糊控制系统
实验十具有单神经元控制器的控制系统
实验十一单闭环直流调速系统
实验十二步进电机转速控制系统
实验十三单闭环温度恒值控制系统
实验十四单容水箱液位定值控制系统(该实验项目只有天煌“THBDC-1型”产品才有)
当选中某个实验expX(X为1~14)后,在对应实验文件夹下双击“THJK.dsw”,即可打开在VC++环境下所编辑的软件代码,然后进行相关的实验(具体的实验过程请参考第二章)。
注:
在运行客户端的软件前,必须要先启动服务器端程序,而关闭时则相反,先关闭客户端的运行程序,再关闭服务器端程序,否则USB采集卡会溢出(可重新拔插USB数据线进行恢复)。
第二章计算机控制技术编程实验
实验一A/D与D/A转换
一、实验目的
1、通过编程熟悉VC++的Win32ConsoleApplication的编程环境;
2、通过编程熟悉USB数据采集卡的数据输入输出;
3、了解采集卡AD双极性转换芯片的转换性能;
4、通过实验了解字节数与二进制数的转换。
二、实验编程
1、打开“MicrosoftVisualC++6.0”软件,在“Win32ConsoleApplication”环境下建立一个带“HelloWorld!
”输出的“THJK”工程;
2、利用“第一章第三节”中USB数据采集卡的相关函数进行数据的采集和数据的输出编程,并进行调试;
三、实验调试
1、启动实验台(箱)的电源开关,利用实验台上的“阶跃信号发生器”单元输出一个1V的电压,并利用2号弱电线将“阶跃信号发生器”的输出端与USB数据采集接口的AD1通道输入端相连,同时将USB数据采集接口的DA1通道通过2号弱电线与实验平台上的交直流数字电压表(选取直流档)的输入端相连;
2、在VisualC++编程环境中点击“
”按钮,编译并执行“步骤二”中所编写的程序代码,然后在出现的DOS显示界面上确认自己所读写的数据是否正确;
四、实验结果
1、在运行程序后的DOS界面上应显示AD第一通道输入值为1V(左右),同时并显示出转换后对应的二进制码为00001100000111(后几位可能不同);
2、在程序中使用输出函数通过DA1通道输出一个2V的电压,然后使用THBDC-1型实验平台(也可是它相关设备)上的交直流数字电压表进行测量,并确认输出值是否正确。
实验二数字滤波器
一、实验目的
1、通过编程熟悉VC++的Win32ConsoleApplication的编程环境;
2、通过编程熟悉USB数据采集卡的数据输入输出;
3、掌握数字滤波器的编程;
4、熟悉定时器的使用以及服务器端数据的显示方法;
二、实验编程
1、打开“MicrosoftVisualC++6.0”软件,在“Win32ConsoleApplication”环境下建立一个带“HelloWorld!
”输出的“THJK”工程;
2、利用USB数据采集卡输出函数在“THJK”工程中编程输出一个幅值为2V的正弦信号;
3、利用USB数据采集卡输入函数,采集数据采集卡AD1通道值,并进行滤波处理;
4、利用“第一章第三节”中客户端与服务器端的通讯的相关函数进行编程,将AD1通道采集到的信号和滤波处理后的信号在服务器显示出来;
三、实验电路连接与调试
1、启动实验台(箱)的“电源开关”,将“低频函数信号发生器”单元输出端(输出频率调至10Hz,幅值为8V左右)连接到“脉冲产生电路”单元输入端,产生一个尖脉冲信号;
2、利用通用电路单元设计一个有两个输入端的加法器,将尖脉冲信号和USB采集卡DA1输出信号通过2号弱电线分别接至加法器的两个输入端,同时将加法器的输出端接至USB数据采集卡的AD1输入端。
3、启动THJK-Server服务器端软件;
4、在VisualC++编程环境中点击“
”按钮,编译并执行“步骤二”中所编写的程序代码,然后在服务器上观测数字滤波器滤波前后的波形。
5、在实验结束后,在键盘上按下“e”和“Enter(回车键)”键,程序退出。
四、实验结果
按下服务器上的“
”按钮,暂停数据的显示。
同时还可按下“
”按钮,对实验曲线进行保存。
实验三离散化方法研究
一、实验目的
1、通过编程熟悉VC++的Win32ConsoleApplication的编程环境;
2、通过编程熟悉USB数据采集卡的数据输入输出;
3、了解模拟控制器D(S)离散化方法;
4、了解闭环控制系统的概念与控制方法;
5、熟悉定时器的使用以及服务器端数据的显示方法;
二、实验编程
1、打开“MicrosoftVisualC++6.0”软件,在“Win32ConsoleApplication”环境下建立一个带“HelloWorld!
”输出的“THJK”工程;
2、利用USB数据采集卡输入函数,采集数据采集卡AD1通道值;
3、将模拟控制器D(S)进行离散化处理,并进行数字控制器的编程;
4、利用USB数据采集卡输出函数,将数字控制器的输出值经USB采集卡DA1通道输出;
5、利用“第一章第三节”中客户端与服务器端的通讯的相关函数进行编程,将AD1通道采集值和控制器的给定值在服务器端显示出来;
三、实验电路连接与调试
1、模拟对象的模拟电路图(具体请参考THBDC-1等相关产品实验指导书的相关实验)如下图所示:
2、按上图在实验平台(或实验箱)上连接一个二阶被控对象的模拟电路;
3、用2号弱电线将二阶模拟电路的输入端连接到USB数据采集卡的“DA1”输出端,电路的输出端与数据采集卡的“AD1”输入端相连;
4、待检查电路接线无误后,打开实验平台(或实验箱)的电源开关,并按下“锁零按钮”,使其处于“锁零”状态,以便对电路中积分电容进行放电;。
5、启动THJK-Server服务器端软件;
6、在VisualC++编程环境中点击“
”按钮,编译并执行“步骤二”中所编写的程序代码,同时再一次按钮实验平台(或实验箱)上的“锁零按钮”,使其处于“解锁”状态,然后在服务器上观测控制器给定值和测量值的波形。
7、在实验结束后,在键盘上按下“e”和“Enter(回车键)”键,程序退出。
四、实验结果
按下服务器上的“
”按钮,暂停数据的显示。
同时还可按下“
”按钮,对实验曲线进行保存。
实验四数字PID调节器算法的研究
一、实验目的
1、通过编程熟悉VC++的Win32ConsoleApplication的编程环境;
2、通过编程熟悉USB数据采集卡的数据输入输出;
3、掌握PID控制器的编程方法;
4、了解闭环控制系统的概念与控制方法;
5、熟悉定时器的使用以及服务器端数据的显示方法;
二、实验编程
1、打开“MicrosoftVisualC++6.0”软件,在“Win32ConsoleApplication”环境下建立一个带“HelloWorld!
”输出的“THJK”工程;
2、利用USB数据采集卡输入函数,采集数据采集卡AD1通道值;
3、将根据增量式PID的原理进行PID控制器的编程;
4、利用USB数据采集卡输出函数,将PID控制器的输出值经USB采集卡DA1通道输出;
5、利用“第一章第三节”中客户端与服务器端的通讯的相关函数进行编程,将AD1通道采集值和PID控制器的给定值在服务器端显示出来;
三、实验电路连接与调试
1、模拟对象的模拟电路图(具体请参考THBDC-1等相关产品实验指导书的相关实验)如下所示:
2、按上图在实验平台(或实验箱)上连接一个二阶被控对象的模拟电路;
3、用2号弱电线将二阶模拟电路的输入端连接到USB数据采集卡的“DA1”输出端,电路的输出端与数据采集卡的“AD1”输入端相连;
4、待检查电路接线无误后,打开实验平台(或实验箱)的电源开关,并按下“锁零按钮”,使其处于“锁零”状态,以便对电路中电容进行放电;
5、启动THJK-Server服务器端软件;
6、在VisualC++编程环境中点击“
”按钮,编译并执行“步骤二”中所编写的程序代码,同时再一次按钮实验平台(或实验箱)上的“锁零按钮”,使其处于“解锁”状态,然后在服务器上观测PID控制器测量值和给定值的波形。
7、在实验结束后,在键盘上按下“e”和“Enter(回车键)”键,程序退出。
四、实验结果
按下服务器上的“
”按钮,暂停数据的显示。
同时还可按下“
”按钮,对实验曲线进行保存。
实验五串级控制算法的研究
一、实验目的
1、通过编程熟悉VC++的Win32ConsoleApplication的编程环境;
2、通过编程熟悉USB数据采集卡的数据输入输出;
3、在熟悉PID控制器的基础上掌握串级控制算法的编程;
4、了解双闭环控制系统的概念与控制方法;
5、熟悉定时器的使用以及服务器端数据的显示方法;
二、实验编程
1、打开“MicrosoftVisualC++6.0”软件,在“Win32ConsoleApplication”环境下建立一个带“HelloWorld!
”输出的“THJK”工程;
2、利用USB数据采集卡输入函数,采集数据采集卡AD1通道值;
3、将根据增量式PID的原理进行PID控制器的编程;
4、根据串级控制算法的原理,进行串级控制算法的编程;
5、利用USB数据采集卡输出函数,将串级控制算法中副控制器的输出值经USB采集卡DA1通道输出;
6、利用“第一章第三节”中客户端与服务器端的通讯的相关函数进行编程,将串级控制测量值和给定值在服务器端显示出来;
三、实验电路连接与调试
1、模拟对象的模拟电路图(具体请参考THBDC-1等相关产品实验指导书的相关实验)如下所示:
2、按上图在实验平台(或实验箱)上连接一个二阶被控对象的模拟电路;
3、用导线将上图中的“u1”输出点与USB数据采集卡的输入端“AD1”相连,“u2”输出点与数据采集卡的输入端“AD2”相连,该电路的输入端则与数据采集卡的输出端“DA1”相连;
4、待检查电路接线无误后,打开实验平台的电源总开关,并按下“锁零按钮”,使其处于“锁零”状态,以便对电路中电容进行放电;
5、启动THJK-Server服务器端软件;
6、在VisualC++编程环境中点击“
”按钮,编译并执行“步骤二”中所编写的程序代码,同时再一次按钮实验平台(或实验箱)上的“锁零按钮”,使其处于“解锁”状态,然后在服务器上观测串级控制测量值和给定值的波形。
7、在实验结束后,在键盘上按下“e”和“Enter(回车键)”键,程序退出。
四、实验结果
按下服务器上的“
”按钮,暂停数据的显示。
同时还可按下“
”按钮,对实验曲线进行保存。
实验六解耦控制算法的研究
一、实验目的
1、通过编程熟悉VC++的Win32ConsoleApplication的编程环境;
2、通过编程熟悉USB数据采集卡的数据输入输出;
3、在熟悉PID控制器的基础上掌握解耦控制算法的编程;
4、熟悉定时器的使用以及服务器端数据的显示方法;
二、实验编程
1、打开“MicrosoftVisualC++6.0”软件,在“Win32ConsoleApplication”环境下建立一个带“HelloWorld!
”输出的“THJK”工程;
2、利用USB数据采集卡输入函数,采集数据采集卡AD1通道值;
3、将根据增量式PID的原理进行PID控制器的编程;
4、根据解耦控制算法的原理,进行解耦控制算法的编程;
5、利用USB数据采集卡输出函数,将解耦控制器的输出值经USB采集卡DA1、DA2通道输出;
6、利用“第一章第三节”中客户端与服务器端的通讯的相关函数进行编程,将解耦控制测量值和给定值在服务器端显示出来;
三、实验电路连接与调试
1、模拟对象的模拟电路图(具体请参考THBDC-1等相关产品实验指导书的相关实验)如下所示:
2、按上图在实验平台(或实验箱)上连接一个二阶被控对象的模拟电路;
3、用导线将上图中的“u1”输出点与USB数据采集卡的输入端“AD1”相连,“u2”输出点与数据采集卡的输入端“AD2”相连,该电路的输入端则与数据采集卡的输出端“DA1”相连;
4、待检查电路接线无误后,打开实验平台的电源总开关,并按下“锁零按钮”,使其处于“锁零”状态,以便对电路中电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- THJK 计算机控制 技术 实验 软件 使用 指导书