关键词不能为空

当前您在: 主页 > 英语 >

组态王及modbus通信课程设计

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-01 23:52
tags:

-

2021年2月1日发(作者:爱华英语)


测控网络课程设计



一、实践要求



本次实践以开发


DCS


测控系统为最终目的,要求掌握


DCS


测控系统的工作原理,学


习组态王工控组态软件的使用方法,< /p>


根据要求完成工程组态;


掌握


MODBU S


通信协议的原


理,开发具有


MODB US


通讯功能的智能仪表,最终完成和组态工程之间的通讯。



二、实践内容



分为两大部分:


1


、组态王基本操作



2




MODBUS


通讯



具体内容:




1




熟悉组态王软件安装,


基本开发环境,


采用 构建简单的工程


(采用仿真数据和设备,


工程应包含

< p>
PID


功能),计划时间


1


天;




2




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


2


天;




3




掌握


MODBUS


通讯协议的工作原理,在


MSP430F5438


单片机上编程实现

MODBUS


客户


端服务程序,


要 求通过串行口将现场的温度、


泵状态、


流量等参数上传到上位机 上,


计划时间


3


天。

< br>



4




在单片机上编程实现流量、温度上下限及仪表地址和波特率等参数设置功能,同时

< p>
能从上位机对仪表参数进行设置,计划时间


2


天。




5




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

< p>
时间


0.5


天。




6






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





熟悉现场总线测控网络系统,


搭建


PROFIBUS


网络,


实现对


ET200S



S7 -200


的控制。




组态王部分



一、设计要求



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



1


、罐区工艺流程图




1



2-


储油罐进口电动阀;


3-


储油罐排污电动阀;


4-


储油罐出口电动阀;


5-





1


:罐区工艺流程图



2


、具体要求




1


)监测各罐的液位(


0-20m



/ (0-1m)/


温度

< p>
(0-100



)


(现场 仪表


4-20mA


输出)


< p>



2


)根据各罐液位控 制各罐出口电动阀(


H>16m,


关进口阀,选择最低液位的 罐进油;


H<2m,


关出口阀


,


选择最高液位的罐出油)


,手动遥控排污阀。



液位


H>15.5m


高报警

< p>
, H>17m


高高报警;


< br>液位


H<2m


低报警


, H<1.5m


低低报警。



界位


>1m


高报警


,


界位


>1.5m


高高报警


;


界位


<0.5m


低报警


, H<0.2m


低低报警


;


(< /p>


3


)启动泵组设置出入口流量(


100M


/h,200M


/h,250M


/h< /p>




3


3


3


二、设计内容



(一)组态数据库:



数据库


-----


数据词典





2




(二)组态画面



画面


1


:工艺流程总画面




对画面的基本说明:




3


主要功能


:对油罐液位的监测。



泵总开关


控制进口的


3

个泵的总开和总关;



泵总关闭


控 制出口的


3


个泵的总关和总开;



当同时按下


泵提示


和某一个泵的按钮,显示 该泵的详细信息;




液位报警和界位 报警


时记录相应的报警事件;



液位实 时和历史曲线


记录油罐液位的变化情况。


画面


2


:各泵弹出式放大画面(包括参状态


/


型号等)


,点击总画面上的泵弹出此画面

< p>


1


、编写事件命令语言:当同时按下泵提示和某 一个泵的按钮,显示该泵的参数信息。




2


、弹出画面




画面


3


:液 位


/


界位报警画面



报警设置:




4



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




液位报警画面:



< br>画面


4


:液位


/


温度


/


界位各一个实时趋势图和历史趋势图

< p>


实时趋势图:



选择工具箱中的



工具,在画面上绘制 一实时趋势曲线窗口。在曲线定


义选项卡中选择要实时反映的变量。


历史趋势图:



对于要以历史趋 势曲线形式显示的变量,必须设置变量的记录属性。在“定


义变量”

对话框中单击


“记录和安全区”


属性页,

< br>将不记录改为数据变化记录,


变化灵敏为:


0

< p>
。在工程浏览器窗口左侧的“工程目录显示区”中双击“系统配置”中的“历史数据记录”



5


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




实时和历史趋势图:





画面


4< /p>


:报表画面


(


液位


,


温度


,


界位


)


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




6



(< /p>


3


)优化设置



1


、组态操作权限



优先级分



1~999


级,


1


级最低


999


级最高。每个操作者的 优先级别只有一个。系统安全区


共有


64

个,用户在进行配置时。每个用户可选择除“无”以外的多个安全区,即一个用户


可 有多个安全区权限。



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


并设置相应的密


码。



配置




运行现象



登陆界面









2


、通过链接切换画面



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












7



4< /p>


)画面命令语言



变量说明:

< p>
g1



g2


< p>
g3



g4


代表每个油罐 的液位,


in


代表泵总开,


out


代表泵总关,


in1


in2



in3



in4


代表每个油罐的入口阀门,


out1

< p>


out2



out3< /p>



out4


代表每个油罐的出口阀门,< /p>


clear1



clear2

< p>


clear3



cle ar4


代表手动排污阀。


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


&&


g2<=g3


&&


g2<=g4


&&


g2<16)


{


in1=0;


in2=1;


in3=0;


in4=0;


g2=g2+xishu2*num;



}


else


{

< br>如果油罐


3


液位最低,增加油罐


3


的液位




if(g3


{


in1=0;


in2=0;


in3=1;


in4=0;


g3=g3+xishu3*num;



}


else


{

< br>如果油罐


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


{


8


如果油罐


2


液位最高,降低油罐


2


的液位



if(g2>=g1


&&


g2>=g3


&&


g2>=g4


&&


g2>2)


{


out1=0;


out2=1;


out3=0;


out4=0;


g2=g2-xishu2*num1;



}


else


{

< br>如果油罐


3


液位最高,降低油罐


3


的液位



if(g3>=g1


&&


g3>=g2


&&


g3>=g4


&&


g3>2)


{


out1=0;


out2=0;


out3=1;


out4=0;


g3=g3-xishu3*num1;



}


else


{

< br>如果油罐


4


液位最高,降低油罐


4


的液位



if(g4>=g1


&&


g4>=g2


&&


g4>=g3


&&


g4>2)


{


out1=0;


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;


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< /p>


,关闭相应出口阀



if(g1<=2)


{out1=0;}


if(g2<=2)


{out2=0;}


if(g3<=2)


{out3=0;}


if(g4<=2)


{out4=0;}



if(num==0)


{


in1=0;


in2=0;


in3=0;


in4=0;


}


if(num1==0)


{


out1=0;


out2=0;


out3=0;


out4=0;


}


9



(5)


运行总画面






6


)与


PLC


通信设置



在工程浏览器中选择设备



com 1



新建,如下图,配置


com


口跟


PLC


连接。




设置


bengin1,2,3



bengout1,2,3


分别与


Q0.0


等相联系,


可观察到

< br>PLC


输出指示灯会随着这



10


些变量的改变和改变。



三、组态王部分总结



组态王是组态王 软件是一种通用的工业监控软件,


它融过程控制设计、


现场操作 以及工


厂资源管理于一体,


将一个企业内部的各种生产系统和应 用以及信息交流汇集在一起,


实现


最优化管理,操作方便,


界面美观。


组态王软件结构由工程管理器、工程浏览器及运行系统< /p>


三部分构成。通过这次课程设计,我们学会了如何建立一个组态王工程,如何设计界面,编


写命令语言、以及报警事件、趋势曲线和报表的相关制作,权限的设置,以及与实际设备 的


简单通信,


通过本次实习,


我想在以 后工作中,


我们会更好的应用此例软件,


完成工业监控。




智能仪表部分



一、


MODBUS ASCII



MODBUS RTU


通讯协议简介



Modbus


协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、

< p>
控制器经由网络


(例如以太网)


和其它设备之间可 以通信。


此协议定义了一个控制器能认识


使用的消息结构


,


而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其 它设


备的过程,


如果回应来自其它设备的请求,


以及怎样侦测错误并记录。


它制定了消息域格局


和内容 的公共格式。



两种串行传输模式:


RTU


模式和


ASCII


模式。



RTU


传输模式:



当设备使用


RTU


(Remote


Terminal


Unit)


模式在


Modbus


串行链路通信,



报文中每个


8


位字


节含有两个


4


位十六进制字符。


这种模式的主要优点是较高的数据密度,


在相同的波特率下



ASCII


模式有更高的吞吐率。每个报文必须以连续的字符流传送。



RTU


模式每个字节


( 11



)


的格式为


:


编码系统


: 8


位二进制,报文中每个


8


位字节含有两个


4


位十六进制字符< /p>


(0



9



A



F



)


Bits


per


Byte:


1


起始位,


8


数据位,首先发送最低有效位,


1


位 作为奇偶校验,


1


停止位。





ASCII


传输模式




Modbus


串行链路的设备被配置为使用


ASCII (American Standard Code for


Information


Interchange)


模式通信时,



报文中的每个


8


位子节以两个


ASCII


字符发送。



ASCII


模式每个字节


( 10



)


的格式为


:


编码系统


:


十六进制,


ASCII


字符


0-9



A-F



报文中每个


ASCII


字符含有


1


十六进制字符。



Bits per Byte: 1


起始位,


7


数据位,首先发送最低有效位,


1


位奇偶校验,


1


停止位。




11


03


读保持寄存器



上位机发送数据格式:




:



ADDRESS 03 ADDRH ADDRL NUMH NUML LRC 0X0D 0X0A


正确时变频器返回数据格式:




:



ADDRESS 03 BYTECOUNT DATA1 DATA2 DATA3 DATAN LRC 0D 0A


06


写单个保持寄存器值



上位机发送数据格式:




:



ADDRESS 06 ADDRH ADDRL DATAH DATAL LRC 0X0D 0X0A


正确时变频器返回数据格式:




:



ADDRESS 06 ADDRH ADDRL DATAH DATAL LRC 0X0D 0X0A


二、


MODBUS ASCII


编程以及与组态王通信



1


、变量定义



unsigned char ERR[21]=


//


出错时显示字符



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;


//


流量值



unsigned int temperature;


//


温度值



unsigned char LRC;


//


上位机发送数据校验码



unsigned char LRCt;


//


单片机应答数据校验码



2


、通过


UART


中断 完成上位机给单片机发送



编程思路:






通过< /p>


UART


中断,实现上位机给单片机发送数据,当单片机接受到:


,表示上位机要向单


片机发送指令,相应标志位置


1


,当再次发生中断时,就开始接受数据,同时存入


RX[32]



数组里,直到接收到回车换行符,则发送命令结 束。此时发送标志位置


1


,进入应答程序。


#pragma vector=USCI_A1_VECTOR


__interrupt void USCI_A1_ISR(void)


{


while (!(UCA1IFG & UCTXIFG)); //


判断是否发送完毕



if(UCA1RXBUF == ':') //


:为起始标志,如果开始,标志位


flag


置位



{


flag = 1;


}


if(flag==1) //


当标志位


flag


置位说明发送命 令开始,开始接受命令数据



{



12

-


-


-


-


-


-


-


-



本文更新与2021-02-01 23:52,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/595937.html

组态王及modbus通信课程设计的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文