1、1测控网络课程设计一、实践要求本次实践以开发 DCS 测控系统为最终目的,要求掌握 DCS 测控系统的工作原理,学习组态王工控组态软件的使用方法,根据要求完成工程组态;掌握 MODBUS 通信协议的原理,开发具有 MODBUS 通讯功能的智能仪表,最终完成和组态工程之间的通讯。二、实践内容分为两大部分:1、组态王基本操作 2、 MODBUS 通讯具体内容:(1) 熟悉组态王软件安装,基本开发环境,采用构建简单的工程(采用仿真数据和设备,工程应包含 PID 功能),计划时间 1 天;(2) 根据罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控,计划时间 2天;(3) 掌握 MODBUS
2、通讯协议的工作原理,在 MSP430F5438 单片机上编程实现 MODBUS 客户端服务程序,要求通过串行口将现场的温度、泵状态、流量等参数上传到上位机上,计划时间 3 天。(4) 在单片机上编程实现流量、温度上下限及仪表地址和波特率等参数设置功能,同时能从上位机对仪表参数进行设置,计划时间 2 天。(5) 优化设计,要求当出现通讯错误时在上位机和单片机上都要做出相应的反应,计划时间 0.5 天。(6) 上位机采用高级语言编程,实现对现场智能仪表的控制。 熟悉现场总线测控网络系统,搭建 PROFIBUS 网络,实现对 ET200S 和 S7-200 的控制。组态王部分一、设计要求根据罐区工艺
3、的要求,完成相应的组态工程,实现对原油储罐的监控。1、罐区工艺流程图22- 储油罐进口电动阀;3- 储油罐排污电动阀;4- 储油罐出口电动阀;5- 泵图 1:罐区工艺流程图2、具体要求(1)监测各罐的液位(0-20m)/ (0-1m)/温度(0-100 度)(现场仪表 4-20mA 输出) 。(2)根据各罐液位控制各罐出口电动阀(H16m, 关进口阀,选择最低液位的罐进油;H15.5m 高报警, H17m 高高报警; 液位 H1m 高报警, 界位1.5m 高高报警; 界位0)如果油罐 1 液位最低,增加油罐 1 的液位if(g10)如果油罐 1 液位最高,降低油罐 1 的液位if(g1=g2
4、out2=0;out3=0;out4=0;g1=g1-xishu1*num1;else9如果油罐 2 液位最高,降低油罐 2 的液位if(g2=g1 out2=1;out3=0;out4=0;g2=g2-xishu2*num1;else如果油罐 3 液位最高,降低油罐 3 的液位if(g3=g1 out2=0;out3=1;out4=0;g3=g3-xishu3*num1;else如果油罐 4 液位最高,降低油罐 4 的液位if(g4=g1 out2=0;out3=0;out4=1;g4=g4-xishu4*num1;if(clear1=1 | clear2=1 | clear3=1 | cl
5、ear4=1)手动排污g1=g1-clear1*0.1;g2=g2-clear2*0.1;g3=g3-clear3*0.1;g4=g4-clear4*0.1;/jiewei1=jiewei1-0.1*clear1;/jiewei2=jiewei2-0.1*clear2;/jiewei3=jiewei3-0.1*clear3;/jiewei4=jiewei4-0.1*clear4;如果液位大于 16,关闭相应的进口阀if(g1=16)in1=0;if(g2=16)in2=0;if(g3=16)in3=0;if(g4=16)in4=0;如果液位小于 2,关闭相应出口阀if(g14)TX6 = he
6、xtoascii(temp*2)for(i=0;i4)LRCLo = hextoascii(LRCvoid Out_LRC()unsigned int c;for(c=1;c4)16LRCtLo = hextoascii(LRCt (3)进制之间转换程序由于发送和读取的数据是字符,而寄存器中数据多按照十六进制存储,故需要各种进制间的相互转换。/十六进制数转换为ASCII码unsigned char hextoascii(unsigned char hex)if(hex8)CRCHi8 = CRC单片机向上位机应答数据校验码void Out_CRC()unsigned int c;unsigne
7、d char tempCrc_TX32;unsigned short CRCt;for(c=0;c8)CRCtHi8 = CRCtCrc_TXcrcnumt = CRCtHi8;Crc_TXcrcnumt+1 = CRCtLo8;(3)、计算字节的程序void Bytenum()unsigned int i;Crc_TX2 = Crc_RX5*2;for(i=0;i Crc_RX5*2;i+)Crc_TX3+i = Bufi 24crcnumt = 3+i;6、实验现象: 与组态王通信测试结果为:实习心得总结:在本次课程设计中,我觉得三个词接触最多的,那就是:组态王、MSP430、Modbus 。学会了组态王的画面的制作,理解了 Modbus的通信协议,加强了MSP430的编程和调试能力。在这两周的时间里,接触的东西都比较新,一般是先从网上下载资料,仔细研读,然后编程实践。在整个过程中,也遇见了很多问题。像字符与十六进制之间的转换问题,其实难度不在于怎么收发,而在于对这些数据的处理。而且一开始虽然程序在串口调试软件上好用,并不代表在组态王上也有用,有些格式还是要变化的。而且组态王会自动将读到的数据转换位十六进制数,因此要获取原来的数据,可以在单片机里处理十进制转十六进制,也可以在上位机里处理十六进制转十进制。总之,通过本次课程设计,锻炼了自学能力,收获了知识!