基于VB的分布式监控系统通信设计 基于VB的分布式监控系统通信设计 信息技术论文 更新:2006-4-8 阅读: 基于VB的分布式监控系统通信设计
基于VB的分布式监控系统通信设计
郭爱文 (武汉大学动力工程系自动化专业)
王 静 (武汉大学电力工程系通讯专业)
武汉 430072
摘
要
本文介绍了利用VB的多种通信手段实现分布式监控系统的多种通信功能,对每一种通信手段给出其原理和应用实例。
关键词
VB
通信
串行口
控件
DDE API
The Communication Design of Distributed Control System Based on VB
Abstract: This article introduces the realization of many communication functions of Distributed Control System with the application on lots of communication methods of VB.
Key Words: VB
,
Communication
,
Serial Port
,
Control Box
,
DDE
,
API
1. 概论
分布式监控系统已在工业领域得到广泛应用,许多企业对于中小规模的设备,如中小型热电厂和水电站,出于硬件软件投资利润率和性能价格比的考虑,常常是自行开发或参与开发本企业的监控系统。而许多企业在成套引进大型DCS系统后,也常因实际情况而需要自行开发或改进其监控系统。
分布式监控系统以微机为基础,用数据通信将微机连在一起实现数据共享,从而对工业过程进行集中监视管理和分散控制。因此,分布式监控系统中通信的设计与实现是至关重要的环节。Visual Basic开发语言具有简洁明了、编程效率高、开发周期短的特点,利用VB中的多种通信手段,可实现分布式监控系统的多种通信功能。
2. 与下位机的通信
分布式监控系统的数据采集站可直接与现场带有标准RS—232C接口的智能仪表、PLC和单片机等链接,并可通过扩展控制卡形成一个数据采集子网,以高速准确地获取数据。VB的MSCOMM通信控件具有完善的串口数据发送和接受功能,利用它可以屏蔽对硬件的操作,简易快捷地进行串行通信编程。
关于VB的MSCOMM控件可参考相关资料。本例通信程序摘要如下:
(1)
初始化程序
Mscomm1.Inputlen=0 ’ 读入接收缓冲区全部字符
Mscomm1.PortOpen=True ’打开COM2
(2)
发送命令程序
比如读取节点号03的PLC中IR000到IR009的内容,并放到tag1字符串变量中,此时有:
Dim Command, node, begin, number as string
Dim Answerlen as integer
node=”03” ’节点号
Command=”RR” ’命令为读IR区
begin=”0000” ’从IR000开始
number=10 ’读取长度
Answerlen=51 ’计算接收字符串长度
进行命令发送和接收应答处理:
Dim FCS, I as integer
Dim s ,f as string
s=”@”+node+Commad+begin+number
FCS=0
For i=1 to Len(s)
FCS=FCS xor Asc(Mid$(s,i,
1) ) ’帧校验码FCS
Next i
f=Hex$(FCS)
If Len(f)=1 Then f=”0”+f
Commfrm.MSComm1.Output=s + f + ”*” + CHR$
(1
3) ’命令帧发送
Do
&