组态王及modbus通信课程设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

测控网络课程设计

一、实践要求

本次实践以开发DCS测控系统为最终目的,要求掌握DCS测控系统的工作原理,学习组态王工控组态软件的使用方法,根据要求完成工程组态;掌握MODBUS通信协议的原理,开发具有MODBUS通讯功能的智能仪表,最终完成和组态工程之间的通讯。

二、实践内容

分为两大部分:1、组态王基本操作2、MODBUS通讯

具体内容:

(1)熟悉组态王软件安装,基本开发环境,采用构建简单的工程(采用仿真数据和设备,工程应包含PID功能),计划时间1天;

(2)根据罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控,计划时间2天;

(3)掌握MODBUS通讯协议的工作原理,在MSP430F5438单片机上编程实现MODBUS客户端服务程序,要求通过串行口将现场的温度、泵状态、流量等参数上传到上位机上,计划时间3天。

(4)在单片机上编程实现流量、温度上下限及仪表地址和波特率等参数设置功能,同时能从上位机对仪表参数进行设置,计划时间2天。

(5)优化设计,要求当出现通讯错误时在上位机和单片机上都要做出相应的反应,计划时间0.5天。

(6)①上位机采用高级语言编程,实现对现场智能仪表的控制。

②熟悉现场总线测控网络系统,搭建PROFIBUS网络,实现对ET200S和S7-200的控制。

组态王部分

一、设计要求

根据罐区工艺的要求,完成相应的组态工程,实现对原油储罐的监控。

1、罐区工艺流程图

2- 储油罐进口电动阀;3- 储油罐排污电动阀;4- 储油罐出口电动阀;5- 泵

图1:罐区工艺流程图

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高高报警;

界位<0.5m低报警, H<0.2m低低报警;

(3)启动泵组设置出入口流量(100M3/h,200M3/h,250M3/h)

二、设计内容

(一)组态数据库:数据库-----数据词典

(二)组态画面

画面1:工艺流程总画面

对画面的基本说明:

主要功能:对油罐液位的监测。

泵总开关控制进口的3个泵的总开和总关;

泵总关闭控制出口的3个泵的总关和总开;

当同时按下泵提示和某一个泵的按钮,显示该泵的详细信息;

液位报警和界位报警时记录相应的报警事件;

液位实时和历史曲线记录油罐液位的变化情况。

画面2:各泵弹出式放大画面(包括参状态/型号等),点击总画面上的泵弹出此画面1、编写事件命令语言:当同时按下泵提示和某一个泵的按钮,显示该泵的参数信息。

2、弹出画面

画面3:液位/界位报警画面

报警设置:

低低、低、高、高高报警值设置:

液位报警画面:

画面4:液位/温度/界位各一个实时趋势图和历史趋势图

实时趋势图:选择工具箱中的工具,在画面上绘制一实时趋势曲线窗口。在曲线定义选项卡中选择要实时反映的变量。

历史趋势图:对于要以历史趋势曲线形式显示的变量,必须设置变量的记录属性。在“定义变量”对话框中单击“记录和安全区”属性页,将不记录改为数据变化记录,变化灵敏为:0。在工程浏览器窗口左侧的“工程目录显示区”中双击“系统配置”中的“历史数据记录”

选项,弹出“历史记录配置”对话框。

实时和历史趋势图:

画面4:报表画面(液位,温度,界位)

报表分为实时数据报表和历史数据报表。

(3)优化设置

1、组态操作权限

优先级分1~999 级,1 级最低999 级最高。每个操作者的优先级别只有一个。系统安全区共有64 个,用户在进行配置时。每个用户可选择除“无”以外的多个安全区,即一个用户可有多个安全区权限。

设置油罐用户组,将管理员、操作员看成用户,并设置管理员优先级最高,并设置相应的密

码。配置运行现象登陆界面

2、通过链接切换画面

增加报警画面、趋势图、报表画面,通过右侧链接

(4)画面命令语言

变量说明:g1、g2、g3、g4代表每个油罐的液位,in代表泵总开,out代表泵总关,in1、in2、in3、in4代表每个油罐的入口阀门,out1、out2、out3、out4代表每个油罐的出口阀门,clear1、clear2、clear3、clear4代表手动排污阀。bengin1,2,3和bengout1,2,3代表进口泵和出口泵。

num代表泵输入总流量的比

num=bengin1*1 + bengin2*2 + bengin3*2.5; num1代表泵输出总流量的比

num1=bengout1*1 + bengout2*2 + bengout3*2.5;

设置每个油罐跟液位相关的系数值

xishu1=0.25;

xishu2=0.2;

xishu3=0.15;

xishu4=0.3;

if(in==1 && num>0)

{

如果油罐1液位最低,增加油罐1的液位if(g1<=g2 && g1<=g3 && g1<=g4 && g1<16)

{

in1=1;

in2=0;

in3=0;

in4=0;

g1=g1+num*xishu1;

}

else

{

如果油罐2液位最低,增加油罐2的液位if(g2

{

in1=0;

in2=1;

in3=0;

in4=0;

g2=g2+xishu2*num;

}

else

{

如果油罐3液位最低,增加油罐3的液位if(g3

in1=0;

in2=0;

in3=1;

in4=0;

g3=g3+xishu3*num;

}

else

{

如果油罐4液位最低,增加油罐4的液位if(g4

in1=0;

in2=0;

in3=0;

in4=1;

g4=g4+xishu4*num;

}

}

}

}

}

if(out==1 && num1>0)

{

如果油罐1液位最高,降低油罐1的液位if(g1>=g2 && g1>=g3 && g1>=g4 && g1>2)

{

out1=1;

out2=0;

out3=0;

out4=0;

g1=g1-xishu1*num1;

}

else

{

相关文档
最新文档