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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(中国石油大学(华东)测控专业课程设计实习报告.docx)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

中国石油大学(华东)测控专业课程设计实习报告.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 组态王工程部分:见附录1 3.2 智能仪表部分: (1)仪表支持MODBUS ASCI

3、I和MODBUS RTU通讯协议。 (2)仪表具有现场参数修改功能(变送器参数、泵参数和通讯参数可以自由设置,且单位可以更改),参数最好掉电不丢失。 (3)仪表具有参数上传功能,可以通过上位机实现对仪表参数的设置。 (4)当上位机发送的命令有问题时,仪表应进行错误处理;当仪表返回的数据有错误时,上位机也应作出反应。 3.3 MODBUS上位机软件:能够正确读写仪表数据。 4.考核 考核采用逐组考核的方式进行,主要考核内容: (1) 任务期间内综合表现评估; (2) 对设计任务一完成效果进行评估; (3) 设计内容二和三的完成情况评估; (4) 提交的课程设计报告。

4、 附录1: 组态软件实验内容安排 一 罐区工艺流程图 2- 储油罐进口电动阀;3- 储油罐排污电动阀;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低低报警。

5、 界位>1m高报警, 界位>1.5m高高报警; 界位<0.5m低报警, H<0.2m低低报警; (3)启动泵组设置出入口流量(100M3/h,200M3/h,250M3/h) 三 硬件配置 泵 现场变送器 四 组态要求 (一)组态逻辑设备。(先用仿真设备,调试完后改用实际设备) (二)组态数据库 (三)组态画面 画面1:工艺流程总画面 画面2:各泵弹出式放大画面(包括参状态/型号等),点击总画面上的泵弹出此画面; 画面3:液位/温度/界位各一个实时趋势图和历史趋势图; 画面4:报表画面(液位,温度,界位),定时打印(早上8:00); (四)组态操作权限

6、 测控网络课程设计 组 员:××× 专业班级:测控技术与仪器专业 一、实践要求 本次实践以开发DCS测控系统为最终目的,要求掌握DCS测控系统的工作原理,学习组态王工控组态软件的使用方法,根据要求完成工程组态;掌握MODBUS通信协议的原理,开发具有MODBUS通讯功能的智能仪表,最终完成和组态工程之间的通讯。 二、实践内容 组态王部分 一、设计要求 根据

7、罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控。 1、罐区工艺流程图 2- 储油罐进口电动阀;3- 储油罐排污电动阀;4- 储油罐出口电动阀;5- 泵 2、具体要求 (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高高报警; 界位

8、<0.5m低报警, H<0.2m低低报警; (3)启动泵组设置出入口流量(100M3/h,200M3/h,250M3/h) 二、设计内容 (一)组态画面的建立 (总画面) (历史曲线及实时曲线) (数据报表) (报警画面) (泵参数的弹出画面) 本次实验是我们第一次要求用组态王软件来进行组态画面的组态,之前用的组态

9、软件是MCGS,虽然大同小异,但是细微的差别,画面操作的差别还是存在的。我们开始从最基本的步骤学起。最后做到了熟练的操作组态王软件并且进行画面演示及编程。这是我们收获最大的地方。 (二)组态画面中变量的定义及逻辑关系的连接 1、变量定义 在画面绘制的过程中,随着问题的深入,我们需要增加变量来完成某些内容(如泵信息的显示需定义泵信息),其他变量中编号1—4代表油罐1 —4的所有内容(包括液位、界位、阀门等),泵1—3代表入口泵,泵4—6代表出口泵。这样的分类比较方便变量与画面中油罐的对应。在实现液位历史曲线及实时曲线的时候需定义卷动和跨度。 2、逻辑连接 油罐液位连接

10、 数据标签的液位显示 泵连接 泵提示及画面弹出 各泵弹出式放大画面(包括参状态/型号等),点击总画面上的泵弹出此画面 此部分需要编写事件命令语言:当同时按下泵提示和某一个泵的按钮,显示该泵的参数信息。 对画面的基本说明: 主要功能:对油罐液位的监测。 泵总开关控制进口的3个泵的总开和总关; 泵总关闭控制出口的3个泵的总关和总开; 当同时按下泵提示和某一个泵的按钮,显示该泵的详细信息; 液位报警和界位报警时记录相应的报警事件; 液位实时和历史曲线记录油罐液位

11、的变化情况。 液位/界位报警画面 报警设置: 低低、低、高、高高报警值设置: 液位报警画面: 2、通过链接切换画面 增加报警画面、趋势图、报表画面,通过右侧链接 (4)画面命令语言 25 泵输入总流量=泵1*1 + 泵2*2 + 泵3*2.5; 泵输出总流量=泵4*1 + 泵5*2 + 泵6*2.5; //设置每个油罐跟液位相关的系数值 系数1=0.25; 系数2=0.2; 系数3=0.15; 系数4=0.3; if(泵总开==1 && 泵输入总流量>0) { //如果油罐1液位最低,增加油罐1的液位 if(液位1<

12、液位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 && 液位2<16) { 进口阀1=0; 进口阀2=1; 进口阀3=0; 进口阀4=0; 液位2=液位2+系数2*泵输入总流量; } else { //如果油罐3液位最低,增加油罐3的液位 if(液位3<液位1 && 液位

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

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

15、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 && 液位4>=液位3 && 液位4>2) { 出口阀1=0; 出口阀2=0; 出口阀3=0; 出口阀4=1; 液位4=液位4-系数4*泵输出总流量; } } }}} if(排污阀1==1 || 排污阀2==1 || 排污阀3==1 || 排污阀4==1) //手动排污

16、 { 液位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>=16) {进口阀1=0;} if(液位2>=16) {进口阀2=0;} if(液位3>=16) {进口阀3=0;} if(液位4>=16) {进口阀4=0;} //如果液位小于2,关闭相应出

17、口阀 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)运行总画面 三、组态王部分总结 组态王是组态王软件是一种通用的工业监控软件,了解并掌握这个软件对我们以后工作会有很大的帮助。在实习过程中,我能

18、体会到与其他组态软件相比,组态王的优势是集过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理,操作方便,界面美观。通过本次课程设计,我们学会了如何建立一个组态王工程,如何设计界面,如何编写命令语言、以及报警事件、趋势曲线和报表的相关制作,以及与实际设备的简单通信。虽然我知道我所学到的只是冰山一角,但是这给我了一个学习奋斗的方向,使我更加知道前方的路还很漫长。需要学习的东西还有很多。 智能仪表部分 对于此部分,我们仅做了一些了解,并没能最终实现实验要求,这是我们最遗憾的事情,不过我们对modbus协议又有了一

19、个更加直观本质的认识。相信对我们日后的学习生活很有很大的帮助。 一、MODBUS ASCII和MODBUS RTU通讯协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 两种串行传输模式:RTU 模式和 ASCII 模式。 二、MODBUS ASCII编程以及与组态王通信 1、变量定义

20、unsigned char ERR[21]= " Input LRC ERROR!"; //出错时显示字符 unsigned char RX[32]; //单片机接受数据数组 unsigned char TX[32]; //03功能时单片机发送数据数组 unsigned char TX6[32]; //06功能时单片机发送数据数组 unsigned char Buf[10]; //存储数据的数组 unsigned int flag; // 上位机发送数据标志位 unsigned int flag1; //单片机应答数据标志位 unsigned int flow; // 流量值

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

22、 void USCI_A1_ISR(void) { while (!(UCA1IFG & UCTXIFG)); // 判断是否发送完毕 if(UCA1RXBUF == ':') //:为起始标志,如果开始,标志位flag置位 { flag = 1; } if(flag==1) //当标志位flag置位说明发送命令开始,开始接受命令数据 { RX[0] = ':'; if(UCA1RXBUF != 0x0D &&

23、 UCA1RXBUF != 0x0A ) //只要不是回车换行符,就依次将数据存入接受数组RX中,同时计数变量tempnumb加1 { tempnumb++; RX[tempnumb] = UCA1RXBUF ; } if(UCA1RXBUF == 0x0D) //若是回车 { tempnumb++; RX[tempnumb] = 'D' ; } if(UCA1RXBUF == 0x0A) //

24、若是换行 { tempnumb++; RX[tempnumb] = 'A' ; flag=0; //接受标志位清零 flag1=1; //发送标志位置1 TTXX(); //调用发送数据函数 } } } 3、单片机通过UART中断向上位机发送应答指令 编程思路: 先计算上位机发送数据的校验码,如果和发送的校验码相同,单片机再应答。设置寄存器地址000

25、1,存储流量数据;设置寄存器0002,存储温度数据。然后判断是03号功能还是06号功能,若是03号功能,按照相应的格式发送数据,若是06号功能,按照命令更改数据,并返回应答命令。 void TTXX() { int i; int j; unsigned int b; unsigned int c; unsigned int d; In_LRC(); //计数上位机发送命令校验码 if(RX[8]=='1') //如果地址为寄存器0001,发送流量数据 shitohex(flow); if(RX[8]=='2') //如果地址位寄存器0

26、002,发送温度数据 shitohex(temperature); if(RX[3]=='0' && RX[4]=='3') //如果是03号功能 { if((LRCHi == RX[tempnumb-3]) &&(LRCLo == RX[tempnumb-2])) //如果上位机发送校验码正确 { for(b=0;b<=4;b++) { TX[b] = RX[b]; } temp = asciitohex(RX[tempnumb-4]); //计算单片机要发送数据的字节数 TX[5] = he

27、xtoascii(((temp*2)>>4)&0x0F); TX[6] = hextoascii((temp*2)&0x0F); for(i=0;i

28、CtLo; TX[9+i] = 0x0D; TX[10+i] = 0x0A; for(j=0;j<=(10+i);j++) //单片机发送数据 { while (!(UCA1IFG & UCTXIFG)); // 判断是否发送完毕 UCA1TXBUF=TX[j]; } } else //如果校验码不正确,返回错误代码 Input LRC ERROR!只能通过串口调试看到 { ERR[19]='8'; ERR[20]=TX[4]; for(d=0;d<=20;d++)

29、 { while (!(UCA1IFG & UCTXIFG)); // 判断是否发送完毕 UCA1TXBUF=ERR[d] ; } } } else if(RX[3]=='0' && RX[4]=='6') //如果是06号功能 { for(c=0;c<=tempnumb;c++) { TX6[c] = RX[c]; while (!(UCA1IFG & UCTXIFG)); // 判断是否发送完毕 UCA1TXBUF=TX6[c]; }

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

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服