《VB和InTouch_的通信软件的实现》由会员分享,可在线阅读,更多相关《VB和InTouch_的通信软件的实现(8页珍藏版)》请在金锄头文库上搜索。
1、.word可编辑.浅谈在VB和InTouch 的通信软件的实现文章出处:gfs0521 发布时间: 2011/09/01 | 1524 次阅读1、前言本文是以笔者参与的某啤酒厂的监控系统实现的项目为背景。监控系统主要由前端监视设备、传输设备、后端控制显示设备这三大部分组成,其中后端设备可进一步分为中心控制设备和分控制设备。前、后端设备有多种构成方式,它们之间的联系(也可称作传输系统)可通过电缆、光纤或微波等多种方式来实现。由于现场的PLC或单片机控制系统的资源、功能有限,不能长期保存数据,人机界面差,上位机丰富的资源可以对采集到的数据进行分析,存盘,运算、打印、报警并进行各种相应显示。上位机形
2、象的人机界面可使操作员更直观,全面的了解现场的情况。采用Intouch、VB来实现。vb是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Wi
3、ndows环境下功能强大、图形界面丰富的应用软件系统。2、系统结构笔者参与的监控系统呈两层分布式体系结构:数据采集层和监控层。数据采集层主要采用数据通信标准接口;监控层属于局域网,遵循局域网的协议标准。数采层进行数据的采集、处理将数据传递到上一层;监控层共享数采层传来的数据。该系统的数采层由多台测控装置组成。这些测控装置采用RS-485标准总线与数采管理站通信。在软件方面采用VB来实现测控装置数采程序,它主要完成上位机与测控装置之间的数据通信和所采集数据的DDE(动态数据交换)转换功能。在工控机上的人机界面则采用监控平台软件来实现。工控机即工业控制计算机,但现在,更时髦的叫法是产业电脑或工业电
4、脑,英文简称IPC,全称Industrial PersonalComputer.工控机通俗的说就是专门为工业现场而设计的计算机。 工业控制软件系统主要包括系统软件、工控应用软件和应用软件开发环境等三大部分。其中系统软件是其他两面者的基础核心,因而系统软件设计的开发质量。工控应用软件主要是根据用户工业控制和管理的需求而生成的,因此具有专用性。目前较为流行的监控平台软件有Heuristics公司的ONSPEC、InTouch公司的FIX和Wonderare公司的InTouch等。Intouch 一种工业自动化组态软件,Wonderware公司产品。InTouch HMI软件用于可视化和控制工业生产
5、过程。它为工程师提供了一种易用的开发环境和广泛的功能,使工程师能够快速地建立、测试和部署强大的连接和传递实时信息的自动化应用。InTouch软件是一个开放的、可扩展的人机界面,为定制应用程序设计提供了灵活性,同时为工业中的各种自动化设备提供了连接能力。它具有开发周期短、可以生成复杂的、友好的交互式图形界面,组态灵活的优点,是目前工业控制领域中简便易用的快速应用程序生成器.但它必须采用DDE的数据交换方式与DDE服务器连接来获得数据。如图一所示。将VB和Intouch结合起来,协同工作,可以发挥各自优点。3、系统DDE实现该啤酒长系统在Windows环境下以动态数据交换机制实现系统的实时数据共享
6、。如图2所示:首先,数采层采集处理后的数据送到数采管理站,转换成DDE型数据;然后,借助于NETDDE机制,数采管理站把实时数据送至工程师站。工程师站作为NT域控制器,再借助于NETDDE机制实现与其他各监视站之间的动态数据交换。netdde.exe是微软Windows的网络动态数据Exchange服务。它用于帮助exchange数据在网络传输。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。在用户安装了某些分布式控制系统软件(DCS)通用监控软件来说后,系统中会出现netdde.exe或netdde进程服务,但此处netdde或netdde.exe为是通过网络借助DDE(DYN
7、AMIC DATA EXCHANGE)进行数据交互的一种方式。由于各站之间建立了热连接链路,作为服务器一方总是在数据变化时主动发送数据给客户方。即当数采管理站采集的数据发生变化时自动反应到工程师站。在现场实时数据的传送上,工程师站既作为数采管理站的客户,又作为其它各监视站的服务器。系统的动态数据交换实现分为三个方面: 采管理站的DDE数据类型的数据产生。 监控层应用程序的DDE组态。 构造NETDDE应用程序。3.1 用VB 编制DDE程序VB 是开发Windows应用程序的一种面向对象程序设计语言,他支持Windows环境下的DDE通信机制。VB提供了动态数据交换的LinkTopic连接主题
8、 ,LinkItem连接项 ,Link Timeout连接等待时间 和Linkmode(连接模式)四项属性。在应用程序编制时,根据DDE原理,把应用程序的可执行文件名去掉EXE后缀,则成为DDE中的Topic.Linkmode有Manual手工 ,Notify通知 ,和Automatic自动三种方式。在这个系统中我们采用Automatic自动方式。数采管理站的巡测数采程序的流程图如下:测控装置采用RS-485接口标准,因此某一时刻只能有一个站发送数据,其余站只能接口。在该测控装置的通信协议中,由主机以召唤方式向测控装置发送送数命令和相应机号,只有与主机发送的机号一致的测控装置才允许发送数据。此
9、VB程序作为DDE服务器,在VB中只有窗体可以作为服务器,在程序的初始化部分应进行DDE设置,程序段如下:form1.linkmode=1form1.linktopic=form1在窗体上放置了mscomm控件用于控制串行端口传输和接受数据,为应用程序提供串行通信功能。Mport=2Mscomm1.settings=9600n81设定该通信口的波特率、奇偶校验、奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中1的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中1的个数为奇数或偶
10、数。若用奇校验,则当接收端收到这组代码时,校验1的个数是否为奇数,从而确定传输代码的正确性。数据位、停止位Mscomm1.inputlen=0 使用Input将使Mscomm控件读取接收缓冲区中全部的内容Mscomm1.Portopen窗体上的定时器控件timer1,用于定时两秒,当定时到时,发送FE命令,要求测控装置发送数据。其程序实现如下:mscomm1.output=fe+chr13输出FE命令mscomm1.output=tanktank为机号当数据由测控装置送到数采站时将触发mscomm控件的oncomm事件,在此事件处理句柄中完成读入数据的功能。Bufferstring=mscom
11、m1.input 读入缓冲区内容If Bufferstringff thenText2.text= Bufferstring+text2.text这样读入的数据就显示在Text2文本框中。3.2监控层应用程序的DDE组态监控层应用程序主要执行InTouch中的WonderViewer,而InTouch正是借助DDE与其它软件联合工作。InTouch是用于建立人机接口的一种软件包。它包括WonderViewer和WonderMaker两大部分。使用InTouch软件只需建立一个标记名字典,再利用WonderMaker的图形功能把被控对象形象的画出来,在PC机上就可以把整个对象描绘出来。InTou
12、ch只需在标记名字典中指明标记名为DDE特性,同时指定应用程序的服务名和话题名,WonderViewer可自动执行获取数据点的全部操作。InTouch既可以作为客户又可以作为服务器。通过NETBIOS DDE的网络接口,可使机制建立起3个层次,因此监控层应用程序的DDE组态分为两大部分: 工程师站的DDE组态DDE用项名、主题名、应用程序名三个层次来标识客户与服务器之间传递的数据单位,通常表示为:应用程序名|主题名项名;对于客户,应按三个层次去连接相应的数据。工程师站作为数采站的DDE客户。在InTouch的标签库中,提供了DDE设置框,使得DDE组态简便、易行。工程师站中的层次标识为:shu
13、caidde1|form1text2.text数采站的节点,dde1为数采站上的VB应用程序名。 其它各监视站的DDE组态这主要是建立各监视站与工程师站的DDE 连接。此时工程师站作为DDE服务器,其它各监视站作为客户从工程师站上取数据。建立DDE连接的过程与上述类似。4、 结论VB是一种优秀的面向对象程序设计语言,采用它编制Windows环境下的上位机串行通信软件,程序实现简单,减轻了软件开发的工作。用InTouch监控程序软件完成复杂的图形截面,方便快捷。VB应用程序一方面作为DDE服务器同InTouch进行数据交换,另一方面通过Windows提供的串行通信设备驱动程序与低层的测控装置进行串行通信。对于用户只与InTouch友好人机界面打交道。实际运行证明该通信软件可靠,操作方便。. 专业.专注 .