计算机控制技术基础实验指导书-.pdf

上传人:索**** 文档编号:78265117 上传时间:2023-03-17 格式:PDF 页数:37 大小:4.78MB
返回 下载 相关 举报
计算机控制技术基础实验指导书-.pdf_第1页
第1页 / 共37页
计算机控制技术基础实验指导书-.pdf_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《计算机控制技术基础实验指导书-.pdf》由会员分享,可在线阅读,更多相关《计算机控制技术基础实验指导书-.pdf(37页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、计算机控制技术基础实验指导书1第 1 章计算机测控系统实验基础1.1Borland C+Builder 6.0应用指导1.1.1Borland C+Builder 6.0 简介Borland C+Bilder 6.0 是 Interprise(Borland)公司推出的基于C+语言的快速应用程序开发(Rapid Application Development,RAD)工具,它是最先进的开发应用程序的组件思想和面向对象的高效语言C+融合的产物。C+Bilder 充分利用了已经发展成熟的Delphi的可视化组件库(Visual Component Library,VCL),吸收了Borland C

2、+6.0 这个优秀编译器的诸多优点。C+Builder结合了先进的基于组件的程序设计技术,成熟的可视化组件库和优秀编译器,调试器。发展到6.0 版本,C+Builder已经成为一个非常成熟的可视化应用程序开发工具,功能强大而且效率高。C+Builder 的特色如下:C+Builder是高性能的C+开发工具C+Builder 是基于 C+的,它具有高速的编译,连接和执行速度。同时,C+Builder 具有双编译器引擎,不仅可以编译C/C+程序,还能编译Object Pascal语言程序。C+Builder 是优秀的可视化应用程序开发工具C+Builder 是一完善的可视化应用程序开发工具,使程序

3、员从繁重的代码编写中解放出来,使他们能将注意力重点放在程序的设计上,而不是简单的重复的劳动中。同时,它提供的完全可视的程序界面开发工具,从而使程序员对开发工具的学习周期大大缩短。C+Builde r 具有强大的数据库应用程序开发功能C+Builder提供了强大的数据库处理功能,它使的程序员不用写一行代码就能开发出功能强大的数据库应用程序,这些主要依赖于C+Builder 众多的数据库感知控件和底层的BDE数据库引擎。C+Builder 除了支持MicroSoft 的 ADO(Active Data Object)数据库连接技术,还提供了一种自己开发的成熟的数据库连接技术BDE(Borland

4、DatabaseEngine)数据库引擎。1.1.2C+Builder6.0 的集成开发环境(1)C+Builder 6.0 的 IDE 主界面第 1 章计算机控制技术实验2(2)组件面板标准组件选项卡上的组件是构成Windows 应用程序窗口最常用的标准元素,它们包括15种组件。主要有:主菜单(MainMenu),右键菜单(PopMenu),标签(Label),备注(Memo),命令按钮(Button),单选按钮(GroupBox),复选按钮(CheckBox),列表框(ListBox),下拉式列表框(ComboBox),滚动条(ScrollBar),组框(GroupBox)和单项按钮组框(

5、RadioGroup)。附加组件选项卡上的组件是Windows 应用程序常用的专门控制元素,它包括14 种组件。主要有:位图按钮(BitBtn),加速按钮(SpeedButton),格式编辑框(MaskEdit),字符网格(StringGrid),数据网格(dataGrid),图片框(Image),形状(Shape),和控制栏(ControlBar)。Win32 组件选项卡上的组件是32 位 Windows 应用程序的常用元素,它们具有32 位应用程序的新特征,Win32 组件选项卡共包括18 种组件。分页面控制(PageControl),图片列表(ImageList),多文本编辑器(Rich

6、Edit),列表视图框(ListView),树状目录视图框(TreeView),工具栏(ToolBar)和状态栏(StatusBar)。除了以上 3 个主要的组件选项卡以外,还有其他相应的组件选项卡,这里不再一一介绍。(3)对象查看器计算机控制技术基础实验指导书3对象名称用于选择和查看当前对象的名称,属性选项卡用于设置对象设计时的可见属性,事件选项卡用来设置对象的事件句柄或者在代码编辑器中定位对象事件句柄。1.1.3创建和运行应用程序(1)创建应用程序在主菜单中选择【File】中的【New】,在 New对话框中选择Application,按OK。(2)运行应用程序在菜单中选择【Run】中的【R

7、un】,或者直接按快捷菜单上的运行按钮,还有是按快捷键 F9,就可以运行当前程序。1.1.4保存程序在主菜单中选择【File】中的【SaveAll】选项。再把所有文件(包括*.cpp,*.bpr)都保存到同一个目录下面。第 1 章计算机控制技术实验41.1.5加载 ActiveX 控件众所周知,ActiceX 控件因为其可以跨平台的特性使得ActiveX 在很多环境下被广泛地使用。在 C+Builder 中引用 ActiveX 很简单。具体操作是在主菜单【Component】中选【ImportActiveX Control】,弹出【Import ActiveX】的对话框,在对话框中选择你要引用

8、的ActiveX控件。(1)控件类明(Class name)可以包括多个,表示这个ActiveX 控件包里面有多个ActiveX 控件,这里只加入了一个TMSComm 控件。(2)组件在 Component Palette(组件面板)的页面(Palette page)在本例中,我们把引入的ActiveX 控件放在 ActiveX 页面中。(3)组件的源文件(cpp),一般不用修改(Unit dir name)(4)当前搜索路径,一般不用修改(Search path)以上四个步骤完成以后,按【Install】键,ActiveX 控件就可成功的引入到C+Builder 组件面板的ActiveX 页

9、面中。注意:TMSComm 控件的具体用法见教材P195。1.1.6多页面窗口设计多页面窗口就是指可以在同一个窗口上建立好几页重叠的画面,并且可以利用顶端的 标签头 在各页中间切换,C+Builder 的组件面板就是一个多页面的对象。用多页面设计的用户界面,是非常好用的界面,因为我们可以将一大堆功能或选项利用这中界面分类,而且只占用整个屏幕的其中一小部分,既美观又省平面空间,更重要的是我们可以一眼看到整个窗口。计算机控制技术基础实验指导书5C+Builder 提供了两种多页面的窗口组件,一种是新的Windows xp 和 Windows 2000 界面的 PageControl 组件(在组件面

10、板的Win32 上)。另一种是Windows3.1 操作界面的TabbedNotebook 组件(在组件面板的Win3.1 页上),我们这里只讲前者。首先新建一个工程,把一个PageControl 组件加到Form1 上,在 PageControl1 上点击鼠标右键,弹出右键菜单,选择【New Page】功能来增加页面,【Next Page】或者【Previous Page】功能选项来前后变换当前页面,选择【Delete Page】功能删除当前页面。不过必须先把焦点定在页面组件上,再按【Del】键,那么选中页面就会被删除;如果你不小心把焦点定在PageControl上,整个 PageContr

11、ol 组件都会从Form1 中删除掉,所以在删除页面的时候要多加小心(见下图)。多页面组件(PageControl)的几个常用属性:(1)ActivePage当前激活的页面,可以在设计时设置,则为程序 运 行 时 的 默 认 当 前 页面;也可以在程序运行中动态改变其值,使想要的页面自动变成当前激活页面。例如:PageControl1-ActivePage=TabSheet2;/把第二页设置为当前页(2)PageIndex页面排列顺序,修改此栏可以改变页面排列的顺序。可以在设计时设置,也可以在程序运行中修改。例如:PageControl1-Pages2-PageIndex=0;/把第三页调到最

12、前面。(3)MultiLine多页面显示类型。如果是false,则当你增加的页面超过Form 的宽度,会在Form 的右上角显示一对左右方向的箭头符号,可以点选箭头符号来查看超过窗口范围的页面;如是true,则可以把所以的页面标签都显示通通显示在同一个Form 的窗口范围内第 1 章计算机控制技术实验61.1.7在 C+Builder 中使用图形C+Builder 的 VCL 图形组件封装了Windows 图形设备接口(GDI,Graphics DeviceInterface),使得在Windows 程序设计中添加图形也变得很容易。在 C+Builder 应用程序中绘制图形,应该在图形对象(如

13、 Form,Image 等)的画布(Canvas)中绘制,而不是直接在对象中绘制。画布是图形对象的属性,同时它本身又是对象。画布对象的一个主要的优点是它能够有效地处理资源并且能管理设备场境。所以应用程序可以用相同的方法在屏幕、打印机、位图或者图元文件中绘图。直接在控件的画布上绘图,该图就会立即显示。画布(Canvas)的主要属性和方法如下表所示:属性说明Font指定在图象中写入文本时使用的字体。设置TFont 对象的属性可以指定字体、字体的颜色、大小和样式。Brush决定画布在填充图形形状和背景时使用的颜色和图案。设置TBrush 对象的属性可以指定在填充画布的空间使用的颜色、样式或位图。Pe

14、n指定画布在绘制线条和边框时使用的画笔类型。设置TPen 对象的属性可以指定画笔的颜色、样式、宽度和模式。PenPos指出画笔当前的位置。Pixels指出当前的画笔所在的位置的象素的颜色值。(1)使用画笔(Pen)画布的 Pen属性控制线条出现的方式,包括用来绘制形状外框的线条。画笔本身有四个属性:Color,Width,Style 和 Mode:Color 属性:更改画笔的颜色Canvas-Pen-Color=color;值说明clBlack黑色clWhite白色clBlue蓝色clRed红色clGreen绿色计算机控制技术基础实验指导书7还可以用 rgb 的各分量的值来表示一种颜色:Can

15、vas-Pen-Color=RGB(214,214,200);Width 属性:更改画笔的宽度Canvas-Pen-Width=n;Style 属性:更改画笔的样式Canvas-Pen-Style=psDash;值说明psSolid实线psDash虚线psDot点画线psDashDot点虚线PsClear清除线Mode属性:更改画笔的模式Canvas-Pen-Style=pmCopy;值说明pmBlack总是黑色pmWhite总是白色pmNop颜色不变pmNot转成背景颜色pmCopy指定颜色(默认值)(2)使用画刷(Brush)画布的 Brush 属性控制填充区域的方式,包括形状的内部区域。

16、画刷有三个属性:Color 属性:更改填充颜色Canvas-Brush-Color=color;Style 属性:更改画刷样式Canvas-Brush-Style=bsSolid;使用位图作为画刷模式BrushBmp-LoadFromFile(MyBitmap.bmp);第 1 章计算机控制技术实验8Form1-Canvas-Brush-Bitmap=BrushBmp;Form1-Canvas-FillRect(Rect(0,0,100,100);(3)单独设置和获取单个象素点读取:color=Canvas-Pixelsxy;/读取位置为(x,y)的象素的点的颜色值。Canvas-Pixels

17、xy=clRed;/把位置为(x,y)的象素值设置为红色。(4)使用 Canvas 的方法来绘制图形对象绘制直线Canvas-MoveTo(0,0);Canvas-LineTo(X,Y);/从(0,0)到(X,Y)画一条直线。绘制矩形、椭圆形和圆角矩形矩形:Canvas-Rectangle(0,0,100,400);椭圆形:Canvas-Ellipse(0,0,Image1-Width,Image1-Height);圆角矩形:Canvas-RoundRect(x,y,x+Dx,y+Dy,Dx/2,Dy/2);绘制多边形Windows:TPoint points4;points0=Point(1

18、0,10);points1=Point(30,10);points2=Point(130,30);points3=Point(240,120);Canvas-Polygon(points,3);1.1.8C+Builder画面设计实例用 C+Builder 编程实现下图所示的显示画面,实时趋势所需的数据由内部函数值代替。解:上图所示的画面设计称之为窗体设计,是用C+Builder 中的控件绘制的。曲线和棒计算机控制技术基础实验指导书9图的动态显示则是通过程序实现的。(1)窗体设计趋势曲线和棒图的刻度盘采用Image 控件装入预先绘制好的位图文件。两个 Image 控件标记为 Image1 和

19、Image2。趋势曲线和棒图的刻度、工位号、工位名称、SP、PV、MV 及参数名称等画面上的可视文字信息,均利用 Label 控件直接显示。该画面所使用的Label 控件标记为Label1Label35。最新报警点的点号及报警类型也由Label 控件实现,但由程序控制其显示状态。这两个Label 控件标记为Label36 和 Label37。所有可变数值的显示使用Edit 控件实现,各控件标记为Edit1Edit14。使用 PageControl 控件实现不同类画面的切换。使用 Button 控件实现同类画面的翻页操作及某些控制功能。使用 Timer 控件实现数据、曲线、棒图的实时刷新操作。(

20、2)参考程序#include#include#pragma hdrstop#include XIMU.h#pragma package(smart_init)#pragma resource*.dfmfloat t30sp=138.5,t30pv=130.5,t30mv=50.2;/假设值int t30trend480;/曲线有 480 个点int t1;TForm1*Form1;/窗体程序_fastcall TForm1:TForm1(TComponent*Owner):TForm(Owner)/定时器处理程序void _fastcall TForm1:Timer1Timer(TObject

21、*Sender)t30pv=120+50*sin(t1*5*3.1415/360);/建立实时数据,Y=A+B*SIN(C)t1+;for(int i=0;iPicture-LoadFromFile(bangtu.bmp);/重调背景,清楚当前棒图Image2-Canvas-Pen-Color=clRed;/给定值棒图为红色Image2-Canvas-Pen-Width=3;/棒条宽度Image2-Canvas-MoveTo(20,181);/给定值棒条起点Image2-Canvas-LineTo(20,181-t30sp*177/300);/比例变换Image2-Canvas-Pen-Col

22、or=clBlue;/测量值棒图为兰色Image2-Canvas-MoveTo(26,181);/测量值棒条起点Image2-Canvas-LineTo(26,181-t30pv*177/300);/比例变换Image2-Canvas-Pen-Color=clGreen;/输出阀位为绿色Image2-Canvas-MoveTo(46,181);/阀位棒条起点Image2-Canvas-LineTo(46,181-t30mv*177/300);/比例变换Image1-Picture-LoadFromFile(qushi.bmp);/重调趋势背景,清除当前趋势曲线第 1 章计算机控制技术实验10I

23、mage1-Canvas-Pen-Width=1;/曲线粗细程度Image1-Canvas-Pen-Color=clRed;/测量值曲线为红色Image1-Canvas-MoveTo(0,300);/曲线起点for(int i=0;iCanvas-LineTo(i,300-t30trendi);/两点之间连一直线Image1-Canvas-Pen-Color=clBlue;/给定值曲线为兰色Image1-Canvas-MoveTo(0,300);/曲线起点for(int i=0;iCanvas-LineTo(i,300-t30sp);/两点之间连一直线Edit1-Text=FloatToStr

24、F(t30sp,0,4,4);/给定值显示,取4 位有效数Edit2-Text=FloatToStrF(t30pv,0,4,4);/测量值显示,取4 位有效数Edit3-Text=FloatToStrF(t30mv,0,3,3)+%;/阀位值显示,取3 位百分数形式计算机控制技术基础实验指导书111.2AC6611 PCI 过程板卡及其应用AC6611是北京双诺测控技术有限公司一款廉价通用A/D、D/A 板和 I/O 卡,AD工作在查询方式,采用PCI 总线支持即插即用、无需地址跳线。AC6611 具有 16路单端模拟输入、1路 12 位 D/A 和 32 路开关量(16 路输入及 16 路输

25、出)。1.2.1AC6611 性能参数(1)模拟量输入(A/D)A/D转换器:120KHZ,12 位A/D,ADS7816,A/D内置采样保持器。工作方式:软件查询。16路单端输入,输入阻抗:1M 最大输入耐压电压:+12V/5.5V,瞬时输入耐压:-25V-+30V连接器:DB25 孔式输入连接器。A/D最大通过率:70KHZ,输入通道建立时间 2.5V,低电压 0.5V,最大输出电流:8mA输入电流:暂定为全局变量,自定义时,可以自己传递参数unsignedlongErrorOf6611;int_stdcall(*AC6611_CreateDevice)(int,unsignedlong*

26、);/创建驱动句柄int_stdcall(*AC6611_CloseDevice)(int);/关闭驱动句柄int_stdcall(*AC6611_DI)(int,int,unsignedchar*);/输入数字量int_stdcall(*AC6611_DO)(int,int,unsignedchar);/输出数字量int_stdcall(*AC6611_DiBit)(int,int,unsignedlong);/输入数字量int_stdcall(*AC6611_DoBit)(int,int,unsignedlong,int);/输出数字量int_stdcall(*AC6611_DA)(int

27、,unsignedlong);/DA输出;/DA 电压转换函数,将电压转换成0-4095,mode=0,1 对应0-10V,+-10Vint_stdcall(*AC6611_VoltageToDA)(floatVoltage,intmode)/自动作延时 10uS,返回 AD 数值0-4095int_stdcall(*AC6611_AD)(int,int,unsignedlong*);int_stdcall(*AC6611_AD_CHN)(int,unsignedlong);/设置通道 0-15int_stdcall(*AC6611_ADS)(int,unsignedlong*);/直接采样,

28、返回 AD 数值0-4095/转换成实际电压的数据 mode=0,1,2对应转换为 5V,10,+-5Vfloat_stdcall(*AC6611_ADToVoltage)(intAD,intmode);注意:可以通过拷贝和粘贴范例程序的上述代码避免繁琐输入。(3)主要API函数及其应用(均以C+Builder 为例)1)AC6611_CreateDevice函数功能:创建AC6611设备驱动句柄函数原型:HANDLE AC6611_CreateDevice(DWORDinstance,PDWORD pError);参数:instance:板卡的编号0,1,2 根据选择的板卡号,即第一、二、三

29、块AC6611卡;pError:出错代码;返回值:获得的驱动句柄由此返回;备注:当获得有效句柄,说明该编号的AC6611存在;若句柄无效,则该编号的句柄不存在;这样比较方便进行多板卡操作;实例:void_fastcallTForm1:FormCreate(TObject*Sender)hDLL=LoadLibrary(ac6611.dll);if(hDLL!=NULL)Label6-Caption=AC6611.dllloadok!;/Label6 因程序而异/创建驱动句柄(FARPROC&)AC6611_CreateDevice=GetProcAddress(hDLL,AC6611_Crea

30、teDevice);/关闭驱动句柄(FARPROC&)AC6611_CloseDevice=GetProcAddress(hDLL,AC6611_CloseDevice);计算机控制技术基础实验指导书21/数字量输入,port=0-1 两个通道,8位数据由 DiData返回(FARPROC&)AC6611_DI=GetProcAddress(hDLL,AC6611_DI);/数字量输出,port=0-1 两个通道,8位数据由 DoData输出(FARPROC&)AC6611_DO=GetProcAddress(hDLL,AC6611_DO);/数字量输入,port=0-1 两个通道,指定位输入

31、(FARPROC&)AC6611_DiBit=GetProcAddress(hDLL,AC6611_DiBit);/数字量输出,port=0-1 两个通道,指定位输出(FARPROC&)AC6611_DoBit=GetProcAddress(hDLL,AC6611_DoBit);/DA输出,0-4095(FARPROC&)AC6611_DA=GetProcAddress(hDLL,AC6611_DA);(FARPROC&)AC6611_VoltageToDA=GetProcAddress(hDLL,AC6611_VoltageToDA);/通用AD 采样(FARPROC&)AC6611_AD=

32、GetProcAddress(hDLL,AC6611_AD);/设置AD 通道0-15(FARPROC&)AC6611_AD_CHN=GetProcAddress(hDLL,AC6611_AD_CHN);/直接AD 采样,为单通道 AD 采样设计(FARPROC&)AC6611_ADS=GetProcAddress(hDLL,AC6611_ADS);(FARPROC&)AC6611_ADToVoltage=GetProcAddress(hDLL,AC6611_ADToVoltage);hDevice=AC6611_CreateDevice(0,&ErrorOf6611);/创建驱动,选择第 0

33、块卡if(hDevice!=-1)Label5-Caption=AC6611 Card IsExist!;/Label6 因程序而异elseLabel5-Caption=AC6611 Card IsnotExist!;注意:可以通过拷贝和粘贴范例程序的上述代码避免繁琐输入,以后雷同。2)AC6611_CloseDevice函数功能:关闭AC6611 驱动句柄;函数原型:int AC6611_CloseDevice(HANDLEhDevice);参数:hDevice:欲关闭的驱动句柄;返回值:出错信息,0 为成功执行,其他为错误代码(由GetLastError()函数获得);实例:void _f

34、astcall TForm1:FormClose(TObject*Sender,TCloseAction&Action)if(hDevice!=NULL)AC6611_CloseDevice(hDevice);/关闭设备驱动if(hDLL!=NULL)FreeLibrary(hDLL);第 1 章计算机控制技术实验223)AC6611_DI函数功能:输入数字量;函数原型:intAC6611_DI(HANDLEhDevice,intport,unsignedchar*data);参数:hDevice:驱动句柄;port:端口号0,1,每通道有8 个 IO 点,8bit。数据分别对应8 个 DI

35、输入;data:输入的数据由此指针返回;返回值:出错信息,0为成功执行,其他为错误代码(由GetLastError()函数获得);备注:获得每位的操作,可以用该位为1,其他位为0 的数相与,即可获得该位是1 还是 0;实例:unsigned char didata0,didata1;AC6611_DI(hDevice,0,&didata0);/数字量输入0 口,数据存放在变量di_data0 中AC6611_DI(hDevice,1,&didata1);/数字量输入1 口,数据存放在变量di_data1 中Label1-Caption=IntToHex(didata0,2);Label2-Ca

36、ption=IntToHex(didata1,2);4)AC6611_DO函数功能:输出数字量;函数原型:intAC6611_DO(HANDLE hDevice,intport,unsignedchardata);参数:hDevice:驱动句柄;port:端口号0,1,每通道有8 个 IO 点,8bit;data:输出的数据(8Bit数据,代表8 个 IO 点);数据分别对应输出的8 位数据;返回值:出错信息,0为成功执行,其他为错误代码(由GetLastError()函数获得);备注:为将某位输出为1,可以将该位为1,其他位为0 的数据和原来输出的数据进行或操作,这样其他位不变的情况下,该已

37、经成为1 了;为将某位输出为0,可以将该位为0,其他位为1 的数据和原来输出的数据进行与操作,这样其他位不变的情况下,该已经成为0 了;实例:AC6611_DO(hDevice,0,0 xaa);/数字量输出0 口,aa()AC6611_DO(hDevice,1,0 x55);/数字量输出1 口,55()5)AC6611_DiBit函数功能:读出数字量端口中指定的BIT;函数原型:AC6611_DoBit(HANDLE hDevice,intport,unsignedchar WhatBit,);参数:hDevice:驱动句柄;port:IO 端口号,0、1;计算机控制技术基础实验指导书23W

38、hatBit:8BIT 中的那个BIT 需要改变状态;取值为0-7;返回值:指定位的值,1为高电平,0 为低电平;备注:方便开发人员直接读取端口中的某位的状态;实例:for(i=0;i8;i+)didata=didata|(1Caption=FloatToStrF(da_data,ffFixed,10,3);Label11-Caption=IntToStr(AC6611_VoltageToDA(da_data,1);8)AC6611_VoltageToDA函数功能:将(0-10V/10V)实际电压的数据转换成0-4095;函数原型:AC6611_V oltageToDA(float Volta

39、ge,int mode);参数:Voltage:实际的浮点电压值(0-10v/10V);Mode:0,1 两种模式(0:0-10V/1:10V);返回值:转换成为0-4095 的 DA 输出值;备注:提供用户方便使用,省略了烦琐的数值转换。电压转换公式:DAData=(输出电压+10)/20*4095(10V);例子:见 AC6611_DA9)AC6611_AD函数功能:对指定通道chn 进行采样,返回AD数值 0-4095;函数原型:AC6611_AD(HANDLEhDevice,intchn,unsignedlong*AD);参数:hDevice:驱动句柄;chn:AD转换通道号,0-15

40、共 16 个通道;AD:AD转换的数值有此指针返回,范围位0-4095;返回值:出错信息,0为成功执行,其他为错误代码(由GetLastError()函数获得);备注:做普通采集使用,加入了通道转换之间的延时。电压转换公式:AD 实际电压=ADData/5.0*4095.0(0-5V)电压转换公式:AD 实际电压=ADData/10.0*4095.0(0-10V)电压转换公式:AD 实际电压=(ADData-2048)/5.0*2048.0(5V)转换时注意浮点和整型的关系问题;或者根据需要选择提供的转换函数进行转换。AC6611_ADToVoltage()如果信号源或者信号传输通道有噪声,影

41、响准确采样,而在硬件上又无法解决,可以考虑采用多次测量求平均值的方法来解决。测量的时候要注意:不用的模拟输入端要接地。使用的信号端一定要保证地线接触良好,否则不同电源系统地线之间的电压差将严重损坏AC6611板卡。注意:为检测 AC6611 采样是否准确,请使用一节1.5V的干电池接入输入端或使用精密电压源,进行测量;不建议使用一般供电电源(使用一般电源有两个缺点:易损坏AC6611;普通电源的电压精度太差,和AC66110.1%的精度比差太远);使用对比用的电压表应考虑使用精度高于 0.1%的高档仪表。计算机控制技术基础实验指导书25实例:unsigned longad_data;AC661

42、1_AD(hDevice,0,&ad_data);/0 通道 AD 采样,数据存储于ad_data中(0-4095)/转换成 0-5V 显示Label7-Caption=FloatToStrF(AC6611_ADToVoltage(ad_data,0),ffFixed,10,3)+V;/转换成 0-10V 显示/Label7-Caption=FloatToStrF(AC6611_ADToVoltage(ad_data,1),ffFixed,10,3)+V;/转换成-5V-+5V 显示/Label7-Caption=FloatToStrF(AC6611_ADToVoltage(ad_data,2

43、),ffFixed,10,3)+V;10)AC6611_ADS函数功能:直接采样,返回AD数值 0-4095;函数原型:AC6611_ADS(HANDLEhDevice,unsignedlong*AD);参数:hDevice:驱动句柄;AD:AD转换的数值有此指针返回,范围位0-4095;返回值:出错信息,0为成功执行,其他为错误代码(由GetLastError()函数获得);备注:直接采样,不考虑AD通道转换的电压建立延时问题,主要针对单通道采样。详细解释见AC6611_AD函数的备注实例:unsigned long ad_data;unsigned long chn=0;AC6611_AD

44、_CHN(hDevice,chn);/设置 AD转换通道为0 通道AC6611_ADS(hDevice,&ad_data);/直接采样/转换成 0-5V 显示/Label9-Caption=FloatToStrF(AC6611_ADToVoltage(ad_data,0),ffFixed,10,3);/转换成 0-10V 显示Label9-Caption=FloatToStrF(AC6611_ADToVoltage(ad_data,1),ffFixed,10,3);/转换成-5V-+5V 显示/Label9-Caption=FloatToStrF(AC6611_ADToVoltage(ad_d

45、ata,2),ffFixed,10,3);11)AC6611_AD_CHN函数功能:设置AD通道;函数原型:AC6611_AD_CHN(HANDLE hDevice,intchn);参数:hDevice:驱动句柄;chn:AD转换通道号,0-15共 16 个通道;返回值:出错信息,0为成功执行,其他为错误代码(由GetLastError()函数获得);备注:配合AC6611_ADS 使用实例:见 AC6611_ADS第 1 章计算机控制技术实验2612)AC6611_ADToVoltage函数功能:转换成实际电压的数据0-5V/0-10V/-5V-+5V;函数原型:AC6611_ADToVol

46、tage(intAD,int mode);参数:AD:AD 采样值(0-4095)Mode:0,1,2 分别对应0-5V/0-10V/-5V-+5V返回值:已经转换为0-5V 的实际电压值;备注:提供用户方便使用,省略了烦琐的数值转换。实例:见AC6611_AD计算机控制技术基础实验指导书27第 2 章计算机测控系统实验项目实验一A/D和D/A应用实验一、实验目的认识工业 PC(IPC),了解其和 PC 的异同点;认识工业过程通道及其安装规则。二、实验设备工业PC 样机、个人电脑样机、和教材配套的ISA总线过程板卡及其端子板。三、实验方法以老师讲解、演示,学生观看实物为主。四、内容及实验步骤(

47、思考题)1.认识工业 PC(1)工业PC 机箱的材质、结构、尺寸,正压机箱的原理及其作用(2)安装了几个风扇,哪个是,哪个是出风?(3)何为总线结构,有什么优势?(4)IPC 的元器件有何要求(5)IPC 的主板有何特点(6)IPC 在维护方面有何优势2.认识过程板卡(1)和教材配套的板卡是基于ISA总线还是 PCI总线?,看到实物如何识别其是ISA卡还是 PCI卡?(2)端子板有何用?(3)过程板卡和主板是如何连接和实现数据交换的。(4)AC6611的主要特点、连接关系及其安装。实验二A/D和D/A应用实验一、实验目的认识IPC,了解其和 PC 的异同点;认识工业过程通道;了解AC6611

48、的接线及其性能指标,掌握AC6611 的测试;了解基于 DLL 调用的 AC6611 的A/D和D/A程序设计的一般方法。二、实验设备1台IPC或PC、1块AC6611、1块AC157 及其电缆、1块万用表、1把小螺丝刀、25根导线、CB6环境、测试软件等。三、实验方法(接线)第 1 章计算机控制技术实验28将AC157 端子板的 P23端子和 CH0(或CH1 CH15 中的其它任何一个)连接,此时在进行 A/D实验时相当于利用 AC6611 的D/A输出作为电压信号源;而在进行D/A实验时,相当于利用其 A/D作为万用表使用。四、实验内容1.认识IPC,了解其和 PC 的异同点;2.认识工

49、业过程通道;3.了解AC6611 和AC157、AC142 的链接4.验证AC6611 的功能是否正确5.测试AC661 的A/D和D/A的精度和线性度6.自编A/D和D/A程序,分别使用编辑框输入D/A代码和显示 A/D代码(选做)7.写实验报告,解答思考题。五、实验步骤1.认识IPC,了解其和 PC 的异同点,主要是观察老师操作、演示和讲解;2.认识工业过程通道,现场观察未教材上的ISA总线板卡及其配套的端子板;3.了解AC6611 和AC157、AC142 的连接情况4.启动测试程序,验证 AC6611 的功能是否正确5.测试AD6611 的A/D转换的精度和线性度,改变D/A输出,将

50、10次不同测量数据或显示数据填入下表中。A/D代码A/D显示值万用表测量值显示值:测量值显示值测量值6.测试AD6611 的D/A转换的精度和线性度,改变D/A输出,将 10次不同测量数据或显示数据填入下表中。D/A显示值万用表测量值显示值:测量值显示值测量值7.程序设计界面设计如下图所示,要求单击D/A按钮,输出 D/A代码;单击 A/D,读 1次CH0的A/D 转转值。可以按以下步骤进行:参考 1.1 节,设计一个界面,工程文件名存为ADPRJ.BPR,窗体文件名存为 ADCPP.CPP计算机控制技术基础实验指导书29打开 ADCPP.H 文件,在其末尾 AC6611 所要求的头文件,添加

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com