版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、测控技术与仪器专业课程设计内容及要求(自动测控系统设计)1.要求本次实践以开发计算机测控系统为最终目的,要求掌握计算机测控系统的工作原理,学习组态王工控组态软件的使用方法,根据要求完成工程组态;掌握MODBUS通信协议的原理,开发具有MODBUS通讯功能的智能仪表,最终完成和组态工程之间的通讯。2.设计内容与时间计划(1) 熟悉组态王软件安装,基本开发环境,采用构建简单的工程(采用仿真数据和设备,工程应包含PID功能),计划时间1天;(2) 根据罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控,计划时间2天;(3) 掌握MODBUS通讯协议的工作原理,在MSP430F5438单片机上编
2、程实现MODBUS客户端服务程序,要求通过串行口将现场的温度、泵状态、流量等参数上传到上位机上,计划时间3天。(4) 在单片机上编程实现流量、温度上下限及仪表地址和波特率等参数设置功能,同时能从上位机对仪表参数进行设置,计划时间2天。(5) 优化设计,要求当出现通讯错误时在上位机和单片机上都要做出相应的反应,计划时间0.5天。(6) 上位机采用高级语言编程,实现对现场智能仪表的控制。第6项为有能力者完成,计划时间1.5天。3.详细设计要求3.1 组态王工程部分:见附录13.2 智能仪表部分:(1)仪表支持MODBUS ASCII和MODBUS RTU通讯协议。(2)仪表具有现场参数修改功能(变
3、送器参数、泵参数和通讯参数可以自由设置,且单位可以更改),参数最好掉电不丢失。(3)仪表具有参数上传功能,可以通过上位机实现对仪表参数的设置。(4)当上位机发送的命令有问题时,仪表应进行错误处理;当仪表返回的数据有错误时,上位机也应作出反应。3.3 MODBUS上位机软件:能够正确读写仪表数据。4.考核考核采用逐组考核的方式进行,主要考核内容:(1) 任务期间内综合表现评估;(2) 对设计任务一完成效果进行评估;(3) 设计内容二和三的完成情况评估;(4) 提交的课程设计报告。附录1:组态软件实验内容安排一 罐区工艺流程图2- 储油罐进口电动阀;3- 储油罐排污电动阀;4- 储油罐出口电动阀;
4、5- 泵图1:罐区工艺流程图二 监控要求(1)监测各罐的液位(0-20m)/ (0-1m)/温度(0-100度)(现场仪表4-20mA输出)。(2)根据各罐液位控制各罐出口电动阀(H>16m, 关进口阀,选择最低液位的罐进油;H<2m,关出口阀,选择最高液位的罐出油),手动遥控排污阀。液位H>15.5m高报警, H>17m高高报警; 液位H<2m低报警, H<1.5m低低报警。 界位>1m高报警, 界位>1.5m高高报警; 界位<0.5m低报警, H<0.2m低低报警;(3)启动泵组设置出入口流量(100M3/h,200M3/h,25
5、0M3/h)三 硬件配置泵现场变送器四 组态要求(一)组态逻辑设备。(先用仿真设备,调试完后改用实际设备)(二)组态数据库(三)组态画面画面1:工艺流程总画面画面2:各泵弹出式放大画面(包括参状态/型号等),点击总画面上的泵弹出此画面;画面3:液位/温度/界位各一个实时趋势图和历史趋势图;画面4:报表画面(液位,温度,界位),定时打印(早上8:00);(四)组态操作权限测控网络课程设计 组 员:××× 专业班级:测控技术与仪器专业 一、实践要求本次实践以开发DCS测控系统为最终目的,要求掌握DCS测控系统的工作原理,学习组态王工控组态软件的使用方法,根据要求完成工
6、程组态;掌握MODBUS通信协议的原理,开发具有MODBUS通讯功能的智能仪表,最终完成和组态工程之间的通讯。二、实践内容组态王部分一、设计要求根据罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控。1、罐区工艺流程图2- 储油罐进口电动阀;3- 储油罐排污电动阀;4- 储油罐出口电动阀;5- 泵2、具体要求(1)监测各罐的液位(0-20m)/ (0-1m)/温度(0-100度)(现场仪表4-20mA输出)。(2)根据各罐液位控制各罐出口电动阀(H>16m, 关进口阀,选择最低液位的罐进油;H<2m,关出口阀,选择最高液位的罐出油),手动遥控排污阀。液位H>15.5m高
7、报警, H>17m高高报警; 液位H<2m低报警, H<1.5m低低报警。 界位>1m高报警, 界位>1.5m高高报警; 界位<0.5m低报警, H<0.2m低低报警;(3)启动泵组设置出入口流量(100M3/h,200M3/h,250M3/h)二、设计内容(一)组态画面的建立(总画面) (历史曲线及实时曲线) (数据报表) (报警画面) (泵参数的弹出画面)本次实验是我们第一次要求用组态王软件来进行组态画面的组态,之前用的组态软件是MCGS,虽然大同小异,但是细微的差别,画面操作的差别还是存在的。我们开始从最基本的步骤学起。最后做到了熟练的操作组态王
8、软件并且进行画面演示及编程。这是我们收获最大的地方。(二)组态画面中变量的定义及逻辑关系的连接1、变量定义在画面绘制的过程中,随着问题的深入,我们需要增加变量来完成某些内容(如泵信息的显示需定义泵信息),其他变量中编号14代表油罐1 4的所有内容(包括液位、界位、阀门等),泵13代表入口泵,泵46代表出口泵。这样的分类比较方便变量与画面中油罐的对应。在实现液位历史曲线及实时曲线的时候需定义卷动和跨度。2、逻辑连接油罐液位连接 数据标签的液位显示 泵连接泵提示及画面弹出各泵弹出式放大画面(包括参状态/型号等),点击总画面上的泵弹出此画面此部分需要编写事件命令语言:当同时按下泵提示和某一个泵的按钮
9、,显示该泵的参数信息。对画面的基本说明:主要功能:对油罐液位的监测。泵总开关控制进口的3个泵的总开和总关;泵总关闭控制出口的3个泵的总关和总开;当同时按下泵提示和某一个泵的按钮,显示该泵的详细信息; 液位报警和界位报警时记录相应的报警事件;液位实时和历史曲线记录油罐液位的变化情况。液位/界位报警画面报警设置:低低、低、高、高高报警值设置:液位报警画面:2、通过链接切换画面增加报警画面、趋势图、报表画面,通过右侧链接 (4)画面命令语言25泵输入总流量=泵1*1 + 泵2*2 + 泵3*2.5;泵输出总流量=泵4*1 + 泵5*2 + 泵6*2.5;/设置每个油罐跟液位相关的系数值系数1=0.2
10、5;系数2=0.2;系数3=0.15;系数4=0.3;if(泵总开=1 && 泵输入总流量>0)/如果油罐1液位最低,增加油罐1的液位if(液位1<=液位2 && 液位1<=液位3 && 液位1<=液位4 && 液位1<16)进口阀1=1;进口阀2=0;进口阀3=0;进口阀4=0;液位1=液位1+泵输入总流量*系数1; else /如果油罐2液位最低,增加油罐2的液位if(液位2<液位1 && 液位2<=液位3 && 液位2<=液位4 &&am
11、p; 液位2<16)进口阀1=0;进口阀2=1;进口阀3=0;进口阀4=0;液位2=液位2+系数2*泵输入总流量;else/如果油罐3液位最低,增加油罐3的液位if(液位3<液位1 && 液位3<液位2 && 液位3<=液位4 && 液位3<16)进口阀1=0;进口阀2=0;进口阀3=1;进口阀4=0;液位3=液位3+系数3*泵输入总流量;else/如果油罐4液位最低,增加油罐4的液位if(液位4<液位1 && 液位4<液位2 && 液位4<液位3 &&
12、; 液位4<16)进口阀1=0;进口阀2=0;进口阀3=0;进口阀4=1;液位4=液位4+系数4*泵输入总流量;if(泵总关=1 && 泵输出总流量>0)/如果油罐1液位最高,降低油罐1的液位if(液位1>=液位2 && 液位1>=液位3 && 液位1>=液位4 && 液位1>2)出口阀1=1;出口阀2=0;出口阀3=0;出口阀4=0;液位1=液位1-系数1*泵输出总流量;else/如果油罐2液位最高,降低油罐2的液位if(液位2>=液位1 && 液位2>=液位3 &
13、amp;& 液位2>=液位4 && 液位2>2)出口阀1=0;出口阀2=1;出口阀3=0;出口阀4=0;液位2=液位2-系数2*泵输出总流量;else/如果油罐3液位最高,降低油罐3的液位if(液位3>=液位1 && 液位3>=液位2 && 液位3>=液位4 && 液位3>2)出口阀1=0;出口阀2=0;出口阀3=1;出口阀4=0;液位3=液位3-系数3*泵输出总流量;else/如果油罐4液位最高,降低油罐4的液位if(液位4>=液位1 && 液位4>=液位2
14、 && 液位4>=液位3 && 液位4>2)出口阀1=0;出口阀2=0;出口阀3=0;出口阀4=1;液位4=液位4-系数4*泵输出总流量;if(排污阀1=1 | 排污阀2=1 | 排污阀3=1 | 排污阀4=1)/手动排污液位1=液位1-排污阀1*0.1;液位2=液位2-排污阀2*0.1;液位3=液位3-排污阀3*0.1;液位4=液位4-排污阀4*0.1;/界位1=界位1-0.1*排污阀1;/界位2=界位2-0.1*排污阀2;/界位3=界位3-0.1*排污阀3;/界位4=界位4-0.1*排污阀4;/如果液位大于16,关闭相应的进口阀if(液位1>
15、;=16)进口阀1=0;if(液位2>=16)进口阀2=0;if(液位3>=16)进口阀3=0;if(液位4>=16)进口阀4=0;/如果液位小于2,关闭相应出口阀if(液位1<=2)出口阀1=0;if(液位2<=2)出口阀2=0;if(液位3<=2)出口阀3=0;if(液位4<=2)出口阀4=0;if(泵输入总流量=0)进口阀1=0;进口阀2=0;进口阀3=0;进口阀4=0;if(泵输出总流量=0)出口阀1=0;出口阀2=0;出口阀3=0;出口阀4=0;(5)运行总画面三、组态王部分总结组态王是组态王软件是一种通用的工业监控软件,了解并掌握这个软件对
16、我们以后工作会有很大的帮助。在实习过程中,我能体会到与其他组态软件相比,组态王的优势是集过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理,操作方便,界面美观。通过本次课程设计,我们学会了如何建立一个组态王工程,如何设计界面,如何编写命令语言、以及报警事件、趋势曲线和报表的相关制作,以及与实际设备的简单通信。虽然我知道我所学到的只是冰山一角,但是这给我了一个学习奋斗的方向,使我更加知道前方的路还很漫长。需要学习的东西还有很多。智能仪表部分对于此部分,我们仅做了一些了解,并没能最终实现实验要求,这是我们最遗憾的事情,不过我们对m
17、odbus协议又有了一个更加直观本质的认识。相信对我们日后的学习生活很有很大的帮助。一、MODBUS ASCII和MODBUS RTU通讯协议简介Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。两种串行传输模式:RTU 模式和 ASCII 模式。二、MODBUS ASCII编程以及与组态王通信1、变量定义u
18、nsigned char ERR21= " Input LRC ERROR!" /出错时显示字符unsigned char RX32; /单片机接受数据数组unsigned char TX32; /03功能时单片机发送数据数组unsigned char TX632; /06功能时单片机发送数据数组unsigned char Buf10; /存储数据的数组unsigned int flag; / 上位机发送数据标志位unsigned int flag1; /单片机应答数据标志位unsigned int flow; / 流量值unsigned int temperature;
19、/温度值unsigned char LRC; /上位机发送数据校验码unsigned char LRCt; /单片机应答数据校验码2、通过UART中断完成上位机给单片机发送编程思路: 通过UART中断,实现上位机给单片机发送数据,当单片机接受到:,表示上位机要向单片机发送指令,相应标志位置1,当再次发生中断时,就开始接受数据,同时存入RX32的数组里,直到接收到回车换行符,则发送命令结束。此时发送标志位置1,进入应答程序。#pragma vector=USCI_A1_VECTOR_interrupt void USCI_A1_ISR(void) while (!(UCA1IFG & U
20、CTXIFG); / 判断是否发送完毕 if(UCA1RXBUF = ':') /:为起始标志,如果开始,标志位flag置位 flag = 1; if(flag=1) /当标志位flag置位说明发送命令开始,开始接受命令数据 RX0 = ':' if(UCA1RXBUF != 0x0D && UCA1RXBUF != 0x0A ) /只要不是回车换行符,就依次将数据存入接受数组RX中,同时计数变量tempnumb加1 tempnumb+; RXtempnumb = UCA1RXBUF ; if(UCA1RXBUF = 0x0D) /若是回车 te
21、mpnumb+; RXtempnumb = 'D' ; if(UCA1RXBUF = 0x0A) /若是换行 tempnumb+; RXtempnumb = 'A' ; flag=0; /接受标志位清零 flag1=1; /发送标志位置1 TTXX(); /调用发送数据函数 3、单片机通过UART中断向上位机发送应答指令编程思路: 先计算上位机发送数据的校验码,如果和发送的校验码相同,单片机再应答。设置寄存器地址0001,存储流量数据;设置寄存器0002,存储温度数据。然后判断是03号功能还是06号功能,若是03号功能,按照相应的格式发送数据,若是06号功能,按
22、照命令更改数据,并返回应答命令。void TTXX()int i; int j; unsigned int b; unsigned int c; unsigned int d; In_LRC(); /计数上位机发送命令校验码 if(RX8='1') /如果地址为寄存器0001,发送流量数据 shitohex(flow); if(RX8='2') /如果地址位寄存器0002,发送温度数据 shitohex(temperature); if(RX3='0' && RX4='3') /如果是03号功能 if(LRCHi
23、= RXtempnumb-3) &&(LRCLo = RXtempnumb-2) /如果上位机发送校验码正确 for(b=0;b<=4;b+) TXb = RXb; temp = asciitohex(RXtempnumb-4); /计算单片机要发送数据的字节数 TX5 = hextoascii(temp*2)>>4)&0x0F); TX6 = hextoascii(temp*2)&0x0F); for(i=0;i<temp*4;i+=2) TX7+i = hextoascii(Bufi); /要发送的数据 TX8+i = hextoascii(Bufi+1); tempnumt = 7+i; /统计数据长度,用于计算校验码 Out_LRC(); /计算单片机发送数据校验码 TX7+i = LRCtHi; TX8+i = LRCtLo; TX9+i = 0x0D; TX10+i = 0x0A; for(j=0;j<=(10+i);j+) /单片机发送数据 while (!(UCA1I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家级检验检测机构资质认定评审员考试试题及答案(清远2026年)
- 临床女性生殖健康定义范围及方法
- 2026年心理咨询师考试基础理论试题与答案
- 2026年心理咨询师考试试题与答案
- 创业公司市场营销策略启动
- 2026年湖北省孝感市工程技术职务水平能力测试(电气)强化训练试题及答案
- 2026年湖北省鄂州市水利电力工程技术职务水平能力(水利公共基础知识)测试经典试题及答案
- 【备考2026】河北省中考模拟数学试卷4(含解析)
- 反流性食管炎洛杉矶分级中国专家共识
- 某纸浆厂污水处理办法
- 2026年辽宁省沈阳市中考英语模拟试卷(含详细答案解析)
- 德语专四词汇语法重点梳理指南
- 建筑绿色专项施工方案(3篇)
- 医患关系诗朗诵背景音乐
- 2026-2030中国摩洛哥坚果油行业市场深度调研及前景趋势与投资研究报告
- 2026北京科学中心招聘劳务派遣人员9人笔试备考试题及答案解析
- 2026年4月自考15040习概论试题及答案
- 2026年退役军人服务大厅窗口接待文明用语问答
- 2026年技术经理人及技术转移机构培育题库
- 国家事业单位招聘2025中外文化交流中心应届毕业生招聘笔试历年参考题库典型考点附带答案详解
- 控告申诉业务竞赛综合业务知识考试试卷
评论
0/150
提交评论