ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:779.13KB ,
资源ID:7197884      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7197884.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(中国石油大学华东测控专业课程设计实习报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

中国石油大学华东测控专业课程设计实习报告.docx

1、中国石油大学华东测控专业课程设计实习报告测控技术与仪器专业课程设计内容及要求(自动测控系统设计)1.要求本次实践以开发计算机测控系统为最终目的,要求掌握计算机测控系统的工作原理,学习组态王工控组态软件的使用方法,根据要求完成工程组态;掌握MODBUS通信协议的原理,开发具有MODBUS通讯功能的智能仪表,最终完成和组态工程之间的通讯。2.设计内容与时间计划(1) 熟悉组态王软件安装,基本开发环境,采用构建简单的工程(采用仿真数据和设备,工程应包含PID功能),计划时间1天;(2) 根据罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控,计划时间2天;(3) 掌握MODBUS通讯协议的工作

2、原理,在MSP430F5438单片机上编程实现MODBUS客户端服务程序,要求通过串行口将现场的温度、泵状态、流量等参数上传到上位机上,计划时间3天。(4) 在单片机上编程实现流量、温度上下限及仪表地址和波特率等参数设置功能,同时能从上位机对仪表参数进行设置,计划时间2天。(5) 优化设计,要求当出现通讯错误时在上位机和单片机上都要做出相应的反应,计划时间0.5天。(6) 上位机采用高级语言编程,实现对现场智能仪表的控制。第6项为有能力者完成,计划时间1.5天。3.详细设计要求3.1 组态王工程部分:见附录13.2 智能仪表部分:(1)仪表支持MODBUS ASCII和MODBUS RTU通讯

3、协议。(2)仪表具有现场参数修改功能(变送器参数、泵参数和通讯参数可以自由设置,且单位可以更改),参数最好掉电不丢失。(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)根据各罐液位控制各罐出口电动阀(H16m, 关进口阀,选择最低液位的罐进油;H15.5m高报警, H17m高高报警; 液位H2m低报警, H1m高报警, 界位1.5m高高报警; 界位0.5m低报警, H16m, 关进口阀,选择最低液位的罐进油;H15.5m高报警, H17m高高报警; 液位H2m低报警, H1m高报警, 界位1.5m高高报警; 界位0.5m低报警, H0)/如果油罐1液位最低,增加油罐1的液位

5、if(液位1=液位2 & 液位1=液位3 & 液位1=液位4 & 液位116)进口阀1=1;进口阀2=0;进口阀3=0;进口阀4=0;液位1=液位1+泵输入总流量*系数1; else /如果油罐2液位最低,增加油罐2的液位if(液位2液位1 & 液位2=液位3 & 液位2=液位4 & 液位216)进口阀1=0;进口阀2=1;进口阀3=0;进口阀4=0;液位2=液位2+系数2*泵输入总流量;else/如果油罐3液位最低,增加油罐3的液位if(液位3液位1 & 液位3液位2 & 液位3=液位4 & 液位316)进口阀1=0;进口阀2=0;进口阀3=1;进口阀4=0;液位3=液位3+系数3*泵输入总

6、流量;else/如果油罐4液位最低,增加油罐4的液位if(液位4液位1 & 液位4液位2 & 液位4液位3 & 液位40)/如果油罐1液位最高,降低油罐1的液位if(液位1=液位2 & 液位1=液位3 & 液位1=液位4 & 液位12)出口阀1=1;出口阀2=0;出口阀3=0;出口阀4=0;液位1=液位1-系数1*泵输出总流量;else/如果油罐2液位最高,降低油罐2的液位if(液位2=液位1 & 液位2=液位3 & 液位2=液位4 & 液位22)出口阀1=0;出口阀2=1;出口阀3=0;出口阀4=0;液位2=液位2-系数2*泵输出总流量;else/如果油罐3液位最高,降低油罐3的液位if(液

7、位3=液位1 & 液位3=液位2 & 液位3=液位4 & 液位32)出口阀1=0;出口阀2=0;出口阀3=1;出口阀4=0;液位3=液位3-系数3*泵输出总流量;else/如果油罐4液位最高,降低油罐4的液位if(液位4=液位1 & 液位4=液位2 & 液位4=液位3 & 液位42)出口阀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;/

8、界位1=界位1-0.1*排污阀1;/界位2=界位2-0.1*排污阀2;/界位3=界位3-0.1*排污阀3;/界位4=界位4-0.1*排污阀4;/如果液位大于16,关闭相应的进口阀if(液位1=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

9、=0;出口阀3=0;出口阀4=0;(5)运行总画面三、组态王部分总结组态王是组态王软件是一种通用的工业监控软件,了解并掌握这个软件对我们以后工作会有很大的帮助。在实习过程中,我能体会到与其他组态软件相比,组态王的优势是集过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理,操作方便,界面美观。通过本次课程设计,我们学会了如何建立一个组态王工程,如何设计界面,如何编写命令语言、以及报警事件、趋势曲线和报表的相关制作,以及与实际设备的简单通信。虽然我知道我所学到的只是冰山一角,但是这给我了一个学习奋斗的方向,使我更加知道前方的路还很

10、漫长。需要学习的东西还有很多。智能仪表部分对于此部分,我们仅做了一些了解,并没能最终实现实验要求,这是我们最遗憾的事情,不过我们对modbus协议又有了一个更加直观本质的认识。相信对我们日后的学习生活很有很大的帮助。一、MODBUS ASCII和MODBUS RTU通讯协议简介Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局

11、和内容的公共格式。两种串行传输模式:RTU 模式和 ASCII 模式。二、MODBUS ASCII编程以及与组态王通信1、变量定义unsigned 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; /单片机应答数

12、据标志位unsigned int flow; / 流量值unsigned int temperature; /温度值unsigned char LRC; /上位机发送数据校验码unsigned char LRCt; /单片机应答数据校验码2、通过UART中断完成上位机给单片机发送编程思路: 通过UART中断,实现上位机给单片机发送数据,当单片机接受到:,表示上位机要向单片机发送指令,相应标志位置1,当再次发生中断时,就开始接受数据,同时存入RX32的数组里,直到接收到回车换行符,则发送命令结束。此时发送标志位置1,进入应答程序。#pragma vector=USCI_A1_VECTOR_int

13、errupt void USCI_A1_ISR(void) while (!(UCA1IFG & UCTXIFG); / 判断是否发送完毕 if(UCA1RXBUF = :) /:为起始标志,如果开始,标志位flag置位 flag = 1; if(flag=1) /当标志位flag置位说明发送命令开始,开始接受命令数据 RX0 = :; if(UCA1RXBUF != 0x0D & UCA1RXBUF != 0x0A ) /只要不是回车换行符,就依次将数据存入接受数组RX中,同时计数变量tempnumb加1 tempnumb+; RXtempnumb = UCA1RXBUF ; if(UCA1

14、RXBUF = 0x0D) /若是回车 tempnumb+; RXtempnumb = D ; if(UCA1RXBUF = 0x0A) /若是换行 tempnumb+; RXtempnumb = A ; flag=0; /接受标志位清零 flag1=1; /发送标志位置1 TTXX(); /调用发送数据函数 3、单片机通过UART中断向上位机发送应答指令编程思路: 先计算上位机发送数据的校验码,如果和发送的校验码相同,单片机再应答。设置寄存器地址0001,存储流量数据;设置寄存器0002,存储温度数据。然后判断是03号功能还是06号功能,若是03号功能,按照相应的格式发送数据,若是06号功能

15、,按照命令更改数据,并返回应答命令。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 = RXtempnumb-3) &(LRCLo = RXtempnumb-2) /如果上位机发

16、送校验码正确 for(b=0;b4)&0x0F); TX6 = hextoascii(temp*2)&0x0F); for(i=0;itemp*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 (!(U

17、CA1IFG & UCTXIFG); / 判断是否发送完毕 UCA1TXBUF=TXj; else /如果校验码不正确,返回错误代码 Input LRC ERROR!只能通过串口调试看到 ERR19=8; ERR20=TX4; for(d=0;d=20;d+) while (!(UCA1IFG & UCTXIFG); / 判断是否发送完毕 UCA1TXBUF=ERRd ; else if(RX3=0 & RX4=6) /如果是06号功能 for(c=0;c=tempnumb;c+) TX6c = RXc; while (!(UCA1IFG & UCTXIFG); / 判断是否发送完毕 UCA1

18、TXBUF=TX6c; selflow(TX610); /设置流量值 seltemp(TX611); /设置温度值 flag1=0; /单片机发送标志位清零 tempnumb=0; /上位机发送数据计算值清零上述程序非原创,我们在查看相关资料后初步的了解了要实现实验要求的基本思路。实习心得总结: 通过本次的课程设计,我觉得这是一个将理论与实践联合的过程,通过我们学习的知识,加上具体的软硬件,实现要求的功能。这也是我们在以后的工作中经常遇到的问题。这给了我们一个学习锻炼的机会。也更加深入的了解了我们专业的发展趋势及需要我们解决发现的问题。我们主要的成果仅在组态王部分,对于组态部分,我们充分的掌握并且能够独立应用完成任务,这就是我们最大的收获。对于MSP430单片机的MODBUS通讯协议,我们通过老师的讲解和网上的一些资料,进一步的有一些了解,总之,通过本次课程设计,我们锻炼了自学能力,发现问题和解决问题的能力,收获了知识,收获了我们大学时光中美好的回忆!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1