1、 1 测控网络课程设计测控网络课程设计 一、实践要求一、实践要求 本次实践以开发 DCS 测控系统为最终目的,要求掌握 DCS 测控系统的工作原理,学 习组态王工控组态软件的使用方法, 根据要求完成工程组态; 掌握 MODBUS 通信协议的原 理,开发具有 MODBUS 通讯功能的智能仪表,最终完成和组态工程之间的通讯。 二、实践内容二、实践内容 分为两大部分:1、组态王基本操作 2、 MODBUS 通讯 具体内容: (1) 熟悉组态王软件安装,基本开发环境,采用构建简单的工程(采用仿真数据和设备, 工程应包含 PID 功能),计划时间 1 天; (2) 根据罐区工艺的要求,完成相应的组态工程
2、,实现对原油储罐的监控,计划时间 2 天; (3) 掌握 MODBUS 通讯协议的工作原理,在 MSP430F5438 单片机上编程实现 MODBUS 客户 端服务程序,要求通过串行口将现场的温度、泵状态、流量等参数上传到上位机上, 计划时间 3 天。 (4) 在单片机上编程实现流量、温度上下限及仪表地址和波特率等参数设置功能,同时 能从上位机对仪表参数进行设置,计划时间 2 天。 (5) 优化设计,要求当出现通讯错误时在上位机和单片机上都要做出相应的反应,计划 时间 0.5 天。 (6) 上位机采用高级语言编程,实现对现场智能仪表的控制。 熟悉现场总线测控网络系统, 搭建PROFIBUS网络
3、, 实现对ET200S和S7-200 的控制。 组态王部分组态王部分 一、设计要求一、设计要求 根据罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控。 1、罐区工艺流程图 2 2- 储油罐进口电动阀;3- 储油罐排污电动阀;4- 储油罐出口电动阀;5- 泵 图 1:罐区工艺流程图 2、具体要求 (1)监测各罐的液位(0-20m)/ (0-1m)/温度(0-100 度)(现场仪表 4-20mA 输出) 。 (2)根据各罐液位控制各罐出口电动阀(H16m, 关进口阀,选择最低液位的罐进油; H15.5m 高报警, H17m 高高报警; 液位 H1.5m 高高报警; 界位=g1 out2=1
4、; 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 | clear4=1) 手动排污 g1=g1-clear1*0.1; g2=g2-clear2*0.1; g3=g3-clear3*0.1
5、; 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 = hextoascii(temp*2) for(i=0;i4) LRCLo = hextoas
6、cii(LRC void Out_LRC() unsigned int c; for(c=1;c4) LRCtLo = hextoascii(LRCt 16 (3 3)进制之间转换程序)进制之间转换程序 由于发送和读取的数据是字符, 而寄存器中数据多按照十六进制存储, 故需要各种进制间的 相互转换。 /十六进制数转换为ASCII码 unsigned char hextoascii(unsigned char hex) if(hex8) CRCHi8 = CRC 单片机向上位机应答数据校验码单片机向上位机应答数据校验码 void Out_CRC() unsigned int c; unsigned char tempCrc_TX32; unsigned short CRCt; for(c=0;c8) CRCtHi8 = CRCt Crc_TXcrcnumt = CRCtHi8; Crc_TXcrcnumt+1 = CRCtLo8;