下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、环境温度网络化控制实验一、实验目的 /在 2 档1. 熟悉研华ADAM551(诸模块及其实验平台。2 加强 C 语言实际应用能力。3. 了解温度控制的基本步骤及流程,熟悉 PID 算法。二、实验器材1. 研华ADAM551实验模块及其实验平台(实验箱 1台)2. 装有研华LABS1000文件(使用说明手册)及配套应用程序的PC机一台3. 串口数据线 1 根三、实验原理和电路1. 硬件部分1.1 ADAM5510 模块简介与本实验有关的 ADAM5510 中的模块有 5018、5024、5050、4080D 等四个。( a) ADAM-505016 通道通用数字量输出 /输入模块5050 具有
2、16 个数字量输入 /输出通道,每个通道可通过 DIP 开关分别配置成输入或输 出。数字量输出为集电极开路输出,可用来控制固态继电器(SSR),进而控制加热器、泵及动力设备 ;数字量输入可用来监测限制、安全开关等信号。(b)ADAM-5018通道热偶输入模块ADAM-5018 是16位7通道热偶输入模块, 所有通道的输入范围均可程控。 输入范围包括: mV(土 15mV ± 50mV,± 100mV,± 500mV ,V( ± 1V,± 2.5V),电流输入(土 20mA,需要 250 Q热偶)及热电偶输入(J, K, T, E, R, S,
3、B)。模块的接线端子接有 CJC电路。(c)ADAM-5024 4通道模拟量输出模块ADAM-5024是 4通道模拟量输出模块,用来将数字量信号转换成模拟量信号。通过配置 软件可定制斜率和启动电流,输出可配置成电流或电压。(d)ADAM-4080D 计数器 / 频率输入模块ADAM-4080D 具有两个 32位的计数器输入通道(计数器 0 和计数器 1),带有频率测量用的内置可编程计时器。选用此模块,你就能方便地监视计数/测频数据。ADAM-4080D的5位LED显示器使你能现场监视计数器值。只要计数器超过编程设定的计数值就能够立刻显示出上下限报警信息(直接显示) 。另一个可选特性是显示由主计
4、算机送来的数据。模块先 将要变换或计算的数据送到计算机,主机送回数据到ADAM-4080D然后模块将该数据在其LED显示器上显示出来(遥控显示方式)。1.2 ADAM5510 各模块的作用(1) 5018模块:其每一个口均可以程控,5018其中的一口 ch不断跟踪环境温度 (Heater 的温度),程序运行过程中不断读取这个温度值并对其进行比较处理。(2) 5024模块:其中的0 口和3 口分别控制加热继电器(Heater)和风扇(Fan),通过 对这两个口的通道数值的设置来改变加在加热继电器或风扇上的电压值以实现对电 压的智能调节。(3)5050 模块:通过程序改变其 8通道(控制红灯)或
5、9 通道(控制黄灯)的值控制红 灯或黄灯的亮灭。(4) 4080D模块:计测电扇的运转次数。1. 3 ADAM5510内部硬件电路(由研华公司提供)1. 3. 1模拟量输出电路(5024)如图1所示把針式電錶A01A02f 24C24AC -r>FAN.SWIA24C3+FAN.SW2A24C3-4 r i?图iLABS-1000/1001有4路模拟量电压输出,由ADAM-5024模块提供,其中第一路直接接LABS-1000/1001上的电压表,第一路的电压值可以直接通过此仪表显示出来。如上图所示。第二路和第三路直接与 LABS-1000/1001的接线端子连接,可以作为用户的终端设备
6、驱动输出电压,通过接线端子用户可以外接各种电压驱动设备。第四路与 LABS-1000/1001上的风扇电源输入端相连, 通过输出电压,可以控制风扇的启动的停止。1. 3. 2风扇控制电路如图2(1) 所示CNT.GND('NTJ >1 ITVCt?GND4在LABS-1000/1001学习套件 上,风扇的供电和启动 有两种方式,一种是直 接由LABS-1000/1001上的AI0端输出电压来驱动,另一种方式是通过5024的V3+和V3-输出电压来 驱动输出。这两种方式的选择由LABS-1000/1001上的拨码开关FANON/OF来控制。当拨码开关处于FANON位置时,由AI0直
7、接控制。当处于 FANOFF寸,可以由5024的3通道来驱动输出。 同时风扇在运行时, 产生一路脉冲,接入ADAM-4080勺脉冲输入通道, 使得ADAM-408开始记 数。其接法如下图所示:图2 (2)R116 BK'IW.SR12GNDh24WCDN4Alli AHAl帥COIN4电路VIFAMAT丄忖亍P.冊亠fm "ET1 3* 3 4匸 i: -NJCNT.OUTCNT.GNDRAM叫FAN_1N+FAIJ PULSL OUTCO12m川t-ICOUNT 十IL2处闕连线示:達图图 2 (2)1. 3. 3温度测量和加热控制电路LABS-1000/1001上的温度测
8、量是通过 ADAM-5018勺第一个输入通道 V0+和V0-来接上相应的热电偶来实现温度的测量的如上图所示。LABS-1000/1001的加热升温是通过ADAM-5024的V0+和VO-通道输出电压,驱动继电器然后使水泥电阻加热,达到升温的目的。 降温是通过风扇的启动来实现的。如图 3所示谓窿测量24C0-图32. 软件部分2. 1系统模块图及模块代码系统模块图可以由下面简图表示:图4图4其各部分的代码及其说明如下:(1)风扇模块 控制风扇启停由于风扇模块直接接到ADAM-5510M 上的5024模块,据电路图可知,接到5024的3通道,可以仅用一个函数就可以控制其启动和停止。如下:int C
9、LOSE=0;OPEN=5000Set5024(&CLOSE,Slot5024,3); /* 关闭风扇 */Set5024(&OPEN,Slot5024,3); /* 启动风扇 *( 2)加热继电器模块 用于加热加热继电器接到 ADAM 5510M 的 5024 模块上, 可以接到 0 通道上, 可以用于加热, 具体 可以仅用一个函数即可以表示,其代码如下:int CLOSE=0,OPEN=5000;Set5024(&CLOSE,Slot5024,0); /* 关闭加热继电器 */ Set5024(&OPEN,Slot5024,0); /* 启动加热继电器 */
10、 (3)显示模块 PC 机及 4080D显示当前采集到的温度、采集温度的模块的通道以及比较的结果。4080D模块显示电扇的运转次数。(4)热电偶模块 采集运行过程的温度值通过热电偶模块 5018的ch通道不断跟踪采集环境温度(Heater的温度),程序运行过程中不断读取这个温度值并对其进行比较处理。其使用代码如下:Get501718(Slot5018,ch,&temp);/* 将 5018 模块的 ch 通道采集的数赋给 temp*/22软件需用的模块函数(研华提供)ADAMdelay语法 : void ADAMdelay(unsigned short msec)描述 : 使程序延迟特
11、定的毫秒数。Get_BoardID语法 : unsigned char Get_BoardID(int Board)描述 : 获得控制器中所插模块类型AiUpdate语法 : int AiUpdate(int Board, int *channel)描述:检查低速模拟量输入模块 ,比如ADAM-5017,ADAM-501和ADAM-5013,是否准备好. Get501718语法 : void Get501718(int Board, int Channel, void *pValue)描述: 读 I/O 模块数据 .Init501718语法 : void Init501718(int Slot
12、)描述:初始化 ADAM-5017或 ADAM-5018.Get5050语法 : void Get5050(int Board, int Bit, int Size, void *pValue)描述 : 读 I/O 模块数据值 .Set5050语法 : void Set5050(void *pValue, int Board, int Bit, int Size)描述:设置ADAM-5050模块输出值.Init5024语法 : void Init5024(int Slot, int ch0_val, int ch1_val, int ch2_val, int ch3_val)描述:初始化ADA
13、M-5024模块Set5024语法 : void Set5024(void *pValue, int Board, int Channel)描述:设置ADAM-5024输出值。2. 3 PID算法本实验中采用的是增量式PID算法,其流程图表示如下:1T计算控制参数1f< 开始 设初始值 e(k-1)=e(k-2)被控对象包括步进电动机hA/D本次采样输入c(k)计算偏差值e(k)=r(k)-c(k)计算控制量:u(k)u(k)二 Ae(k) - Be(k -1) Ce(k -2)D/A输出二u(k)为下一时刻作准备e(k -1) > e(k -2),e(k) > e(k -1
14、)3、系统总实验原理图PID算法图6四、实验内容及步骤1.实验内容设计一个环境的温度检测控制网络化实验系统,具体要求如下:(1)使用模拟量输入模块采集热电偶温度;(2)模拟量输出模块输出电压,控制风扇和继电器的启停;(3)使用简单算法判断温度范围,决定控制策略;(4)采用数字量输出模块实现高低温度报警;(5)当温度大于35度时高温报警(红灯亮)并且打开风扇,当温度低于25度时,低温报警(黄灯亮)并打开加热继电器。2、实验步骤1、 参照研华文件中的模块函数及示例程序,用C语言完成温度控制程序的设计。2、在编制 C 程序时,需要在其中添加研华函数库中的 lib551 0DRV .h 文件,而且需要
15、 把它的路径选择正确,否则会由于没有加入库文件,而使得会出现很多的错误,如: getboard_id 函数,由于它的定义就是在 551 0DRV.h 文件中,若不改变路径名的话,会出现 无法打开文件的错误。用 C 语言完成编制程序后,需要组建一个工程,工程组建好后,需 要向其中添加 4 个文件:研华函数库 lib 中的 HIOS.LIB 、 LIOS.LIB 、 UTILITYS.LIB 三个文 件以及编制好的 C 程序。3、当工程组建好之后,一 定要保存在安装了 C 语言程序的那个分 区盘中。工程保存好 后再次打开工程,选中其中的 C 程序界面,选择编译( Compile ),没有出现错误时
16、再选择联 接(Link),生成目标文件(OBJ),没有出现错误就选择生成( Make),产生了可执行文件( EXE )。4、在PC机上打开研华软件 ADAM-5510 Utility ,同时打开研华实验机的电源,连接好 其与 PC 机之间的串行口数据通道。 在研华软件中选择 COM1 口,然后将由工程生成的可执 行文件(EXE )导入到研华实验机中,再双击导入的可执行文件,系统就开始执行了。在PC 机上可以看到实验的过程和结果。五、实验总程序#include <conio.h>#include <stdio.H>/* 根据安装位置确定 */*对应后面 5024 模块的
17、0 通道 */*对应后面 5024 模块的 3通道 */#include "E:Ex35510DRV .h"#include <dos.h>#include <math.h>#define ON 0#define OFF 1#define Heater 0#define FAN 3 double uk=0,ek=0,ek_1=0,ek_2=0,uk_1=0,u=0;unsigned char IOModuleName,Slot5050=8,Slot5024=8,Slot5018=8;unsigned int i;unsigned int close=
18、5000;/ 没用的程序float f;/*用于接收 PID 运算的结果 */int temp=0,ch;/*temp 表示模块测得的内部温度; ch 表示通道 */float ftemp;/* 表示实际温度 */int slot,AOH,AOL=0 ; /*AOH 记录高电平由程序中指定, AOL 为低电平故设置为 0*/ void automation(void);/* 自动控制 */double PIDautomation1(void);/* 用 PID 控制算法,需要带返回值 */double PIDautomation2(void);void HighAlarm(unsigned c
19、har slot,char status);void LowAlarm(unsigned char slot,char status);void main()for(i=0;i<4;i+)if(IOModuleName=ADAM5018_ID) Slot5018 = i;3if(IOModuleName=ADAM5024_ID) Slot5024 = i;1if(IOModuleName=ADAM5050_ID) Slot5050 = i;0if( Slot5050 = 8 ) /*控制器中尚未安装 5050模块 */printf(" Can not find ADAM5050
20、 available on the ADAM5510");exit(1);/* 跳出整个程序 */ elseprintf("Slot5050= %dn;slot5024 = %dn; slot5018=%dn",Slot5050,Slot5024,Slot5018);Init5024(Slot5024,0,0,0,0);Init501718(Slot5018);for (i=0;i<5;i+)AOH=i*1000;Set5024(&AOH,Slot5024,0);Set5024(&AOH,Slot5024,3);ADAMdelay(3000)
21、;Set5024(&AOL,Slot5024,0);Set5024(&AOL,Slot5024,3);ADAMdelay(2000);AOH=5000; automation(); / 结果为温度底/* Initialize the low-speed AO module*/* 缓增电压 */void automation(void)while(1)while(AiUpdate(Slot5018,&ch)!=0); if(ch=0)Get501718(Slot5018,ch,&temp); ftemp=(float)temp/10;printf("ch
22、=%d,5018=%.1fn",ch,ftemp); if(ftemp>35.0)/* 当程序在运行中 */* 不等于 0 就没有 ready 一直重复做这句 */*ch 为 0 已经 ready*/*将5018模块的ch通道采集的数赋给temp*/*将内部测得温度转换成实际的温度 */* 显示采集通道及实际温度 */printf("Temperature is high!n");HighAlarm(Slot5050,ON);LowAlarm(Slot5050,OFF);f=PIDautomation1();AOL=0;Set5024(&AOL,Sl
23、ot5024,0);ADAMdelay(1000);AOH=f;Set5024(&AOH,Slot5024,3);ADAMdelay(2000);elseif(ftemp<25.0)printf("Temperature is low!n");HighAlarm(Slot5050,OFF);LowAlarm(Slot5050,ON); f=PIDautomation2();AOH=f;AOL=0;Set5024(&AOL,Slot5024,FAN);Set5024(&AOH,Slot5024,Heater);elseprintf("T
24、emperature is ok!n"); HighAlarm(Slot5050,OFF); LowAlarm(Slot5050,OFF);AOL=0;Set5024(&AOL,Slot5024,Heater);Set5024(&AOL,Slot5024,FAN);/* close Heater*/* open FAN*/* close FAN*/*open Heater*/void HighAlarm(unsigned char slot,char status)/*High Alarm*/int Data;if(status=ON)Data=0x01; /* 红灯
25、( bit8 )亮,黄灯( bit9 )灭: else Data=0x00;Set5050(&Data,slot,8,ABit);/* red light on */void LowAlarm(unsigned char slot,char status)/*Low Alarm*/*红灯( bit8 )灭,黄灯( bit9 )亮:/* yellow light on */2*/double PIDautomation1(void)double kp=0.8,ki=0.3,kd=0.5,k;/* PID proccess control temperature /*处理温度大于 35 情况*/*/int Data; if(status=ON)Data=0x01; else Data=0x00;Set5050(&Data,slot,9,ABit); /double uk=0,ek=0,ek_1=0,ek_2=0,uk_1=0,u=0; / 这样才能记忆 ek=(ftemp-35.0);if(ek>2.0) uk=5.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公场地租赁押金管理细则协议2025年
- 2024年中考道德与法治(上海)第二次模拟考试(含答案)
- 2025年海南省公需课学习-重点排污单位自动监测数据标记规则第344期
- 冰点文库捞铁牛课件
- 2025年中考沈阳历史试卷及答案
- 2025年共同条例考核试卷及答案
- 景区轮船维修合同范本
- 2025年高热度智商测试题及答案
- 2025年行政管理常识题库及答案
- 矿山承包协议合同范本
- 男性性教育课件
- 艺术鉴赏教程课件
- 三级医院临床科室医疗质量管理考核标准
- 2025 年高职酒店管理(人力资源管理)试题及答案
- 危重患者的容量管理
- 2025秋四年级上册劳动技术期末测试卷(人教版)及答案(三套)
- 2025年应急物资准备安全培训试卷及答案:物资管理人员应急物资使用测试
- 电商售后客服主管述职报告
- 2025昆明市呈贡区城市投资集团有限公司及下属子公司第一批招聘(12人)笔试考试参考试题及答案解析
- 受控文件管理流程
- 2025年黑龙江省哈尔滨市中考数学真题含解析
评论
0/150
提交评论