DDE与COM技术在组态软件开发中的应用.

合集下载

基于MCGS组态软件的通用DDE“软通道”的研究与实现

基于MCGS组态软件的通用DDE“软通道”的研究与实现
Lik n Mo e d
统才将 D E Ci t D l n 的请求传达 给 D E Sre。服 e D vr e 务器应用程序可支持一个或多个 主题名[l 3。
1 2 MC S的 D E特 性 . G D

f,右 嚣 lIn x ,…T o 、。 t ,、 臻 H A u I : h I y
D E S riΒιβλιοθήκη D evc e名 应 具 有 唯 一 性 , 一 个 D E 当 D
表2 V B作为 D DE客户 /匣 月 务器 的 DDE属 性设置
Ci t ln 向一个 D E Sre 请求 数据时 , D ln e D e r v D E Ci t e 必须向系统报告 D E Sre 的 S r c 名和 T p D v r ev e e i oi c 名, 只有与 D E Sre 内部设定 的名称一致 时, D vr e 系
系统数据的通信更具有优越性 。笔者在此探讨 了

种通用的 D E 软通道” D “ 建立模 式 , 即留出可设
置 的窗 口, 使应用者根据实际的现场设备进行相关 的通信设置 , 无须重新编程 , 大大提高 了工作效率 。 下面将 以用 V B开发的通用 D E控制程序为例说 D
明这种 模 式 。
批注本地保存成功开通会员云端永久保存去开通
维普资讯
第 2 卷第 6 5 期
Vo. 5, 12 No. 6
西 华 大 学 学 报 ・ 自 然 科 学 版
J u a fXiu iest o r l h aUnv riy・Nau a ce c n o t rlS in e
作量大 , 开发周期长 ; 问接通信指 组态软件不直接 接触硬件设备 采用 D E等“ 2, D 软通道 ” 的方 式与

组态软件与VB间DDE通信的实现方法

组态软件与VB间DDE通信的实现方法

组态软件与VB间DDE通信的实现方法朱晓敏;唐洪【摘要】基于DDE(Dynamic Data Exchange)技术采用组态软件与下位机串口通信服务程序的实现方法,解决了组态软件没有提供某些现场设备通信驱动程序的问题.服务程序利用串口通信控件MSComm与下位机进行通信,同时采用DDE技术与组态软件进行数据交换.工程实践表明:该方法通用性强,实现简便.【期刊名称】《四川水力发电》【年(卷),期】2014(033)0z1【总页数】3页(P158-160)【关键词】组态软件;串口通信;动态数据交换【作者】朱晓敏;唐洪【作者单位】国电四川电力股份有限公司南桠河发电厂,四川石棉625400;四川中鼎科技有限公司,四川成都610045【正文语种】中文【中图分类】TV736;TV71 概述组态软件,又称组态监控软件。

译自英文SCADA,即 Supervisory Control and Data Acquisition(数据采集与监视控制),是指一些用于数据采集与过程控制的专用软件。

它们处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,是一种为用户提供具有快速构建工业自动控制系统监控功能、通用层次的软件工具。

组态软件的应用领域很广,可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。

在电力系统以及电气化铁道上又称远动系统(RTU System,Remote Terminal Unit)。

例如国外的CIMPLICITY、IFIX、INTOUCH、CITECT、wincc;国内的组态王、紫金桥、力控、易控等均是组态软件的优秀代表。

在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,其开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。

组态王通过DDE方式从VB或Excel取得数据

组态王通过DDE方式从VB或Excel取得数据
5.在组态王建立变量”VB2”(参见图-14),连接设备为”VBDDE”,项目名为”VB1”(即为VB程序TexTBox控件的名称)。
图-14
6.在画面里建立与变量”VB2”的动画连接。
7.运行组态王的运行系统(加载演示本演示工程),运行前面建立的VB应用程序(组态王画面的点”VB2的值不变化,选择菜单中的特殊”重新建立DDE连接”即可)。参见图-15。本例VB应用程序获得组态王变量”B”的数值并将此数值返回到组态王变量”VB2”中并在画面显示此值。
北京亚控科技发展有限公司技术部pageddevbexcel组态王支持通过dde方式与其它应用程序进行数据交换通过dde方式用户自编的应用程序可以无缝的与组态王进行数据交换扩充组态王的功能为用户提供更为灵活的应用空间
组态王通过
组态王支持通过DDE方式与其它应用程序进行数据交换,通过DDE方式用户自编的应用程序可以无缝的与组态王进行数据交换,扩充组态王的功能,为用户提供更为灵活的应用空间。
图-15
图-12
3.设置VBDDE程序为DDE发布 Nhomakorabea。设置窗体属性的DDE属性,参见图-13。
设置LinkMode的值为”1”(表示应用程序为DDE的发布端);
设置LinkTopic的值为”VBDome”((DDE话题名)。
设置完成并确认无误后即可编译生成应用程序文件。
图-13
4.在组态王建立IO变量,并以前面所创建的VB用程序作为数据源。添加DDE设备的方法同前(定义的DDE设备名为VBDDE),DDE的应用程序名和话题名为前面设置的名称,即应用程序名为”VBDDE”,话题名为”VBDome”。
现就组态王与VB应用程序、Excel程序通过DDE方式进行数据交换的使用方法进行简要的说明:

DDE技术在自动化系统中的有效利用

DDE技术在自动化系统中的有效利用

DDE技术在自动化系统中的有效利用作者:程磊来源:《中小企业管理与科技·上中下旬刊》 2017年第5期程磊(浙江天蓝环保技术股份有限公司,杭州311202)摘要 DDE 技术的本质是数据通信中的一种交换机制,其主要功能和作用是对信息进行采集和处理,完成数据在两个应用程序之间的交换传递和自动实时更新。

将DDE 技术应用于自动化系统中,为系统组态软件之间良好通信的实现提供了技术支撑,能够为自动化系统的稳定运行及科学控制提供可靠依据,对提高工业自动化系统的运行及控制水平具有重要作用。

关键词 DDE 技术;自动化系统;工作机制;应用优势;有效利用【中图分类号】F407.67 【文献标志码】A 【文章编号】1673-1069(2017)05-0160-02【作者简介】程磊(1985-),男,浙江永康人,工程师,从事环保工程电气仪控设计研究。

1 DDE 技术简介DDE 技术中文名称为动态数据交换技术,它是一种数据交换机制,主要应用于通信领域。

在实际应用过程中,需要将两个应用程序分别作为服务器和客户机,用于提供数据和接收数据,其中信息的处理是在服务器中完成的,而用户能够根据自己的实际需求,通过客户机向服务器发送信息获取的请求指令,处于激活状态的服务器便会根据指令内容,向客户机传递相应的信息,进而完成数据在两个应用程序之间的传输。

DDE 技术的工作机制为:当甲方需要申请一块全局内存使用时,就可以把内存指针postmessage 存放到乙方,那么乙方就可以根据收到的指针去访问甲方的全局内存[1]。

当前DDE 技术的连接方式主要有热连接、温连接和冷连接三种,其数据传递及更新的控制方式不同,在热连接方式中,数据的传输由用户的请求指令决定;在温连接方式中,数据的传输是服务器自动完成的,并由客户机对数据进行更新;在冷连接方式中,服务器可以不经过客户端确认,对数据进行自动更新。

所以,在具体应用过程中,需要根据实际需求选择最为合适的连接方式。

DDE和OPC方式实现MATLAB与MCGS数据交换比较研究

DDE和OPC方式实现MATLAB与MCGS数据交换比较研究

2.建 立 MCGS中 的 液 位 控 制 系 统 首先在MCGS组态环境下,新建一个液位控制工程,设置7 个变量,包括p、i、d控制参数,进液阀、出液阀流量waterin、waterout,储物罐液位给定值和实时值setvalue、realvalue,完成动画 组态,运行环境下的效果图如图1所示。运行时可以对p、i、d值 以及进液阀、出液阀流量,液位给定值六个数值量进行设置,同 时,可以显示出MATLAB运算后返回的液位实际值,还有显示 给定值、实际值实时变化趋势。 3. DDE方式MCGS与MATLAB数据交换 3.1 MCGS的DDE设置 在MCGS组态环境窗口中点“工具”—“DDE连接管理”,设 置 各 输 出 量“P、I、D、setvalue、waterin、waterout”的 DDE 输 出 ,把 液位实时值“realvalue”设置为输入,选择“DDE输入”,并进行 “服务节点配置”。 然后新建一个EXCEL文件“new.xls”,然后在EXCEL里做相 应的设置,鼠标左键点EXCEL文件new.xls中r1c1,在上方“fx=” 输 入 框 中 输 入“=McgsRun|DataCentre!setvalue”,用 相 似 的 方 法 即可以完成其他5个输出量在EXCEL文件中的设置。 3.2 MATLAB/SIMULINK仿真模型 打开MATLAB,利用MATLAB中的SIMULINK工具箱选取适 当的模块进行编辑,先新建一个仿真模型:如图2所示,即可以 完成根据MCGS工程中所设定的6个参数,在SIMULINK中进行 仿真得到系统液位实际值。
关键词:图像增强 Retinex 色彩恒常性 doi:10.3969/j.issn.1006- 8554.2009.12.002
引言 传统的色彩视觉理论认为:人眼的色彩感觉主要取决于光 的波长, 不同频率的光会给人不同的色彩感觉, 物体的颜色是 由物体反射光的频率和强度决定的。然而,美国物理学家 Edwin Land在20世纪50年代发现有些现象是传统的色彩理论 无法解释的,经过近20多年的科学实验和分析,他发现在视 觉信息的传导过程中人类的视觉系统对这些信息进行了某种 处理,只保留了反映物体本质特征的信息,如反射系数等, 而去除了光源强度和照射不均匀等一系列不确定因素。当这 些描述物体本质特征的相关信息传递到大脑皮层后,经过更 加复杂的信息处理,才最终形成了人的视觉。基于这样的认 识,1977年,Edwin Land首次提出了一种被称为Retinex的色

自动化1302班2013001597 冯颖 组态软件组成,应用及通信技术

自动化1302班2013001597     冯颖        组态软件组成,应用及通信技术

太原理工大学毕业设计(论文)设计说明书设计(论文)题目:浅谈组态软件的组成、应用及通信技术学生:冯颖专业:自动化班级:1302指导教师:闫高伟设计日期:2015年11月24日浅谈组态软件的组成、应用及通信技术摘要组态软件就是一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的通用层次的软件工具。

组态软件的组成划分有多种标准,这里以使用软件的工作阶段和软件体系的成员构成两种标准讨论其体系结构。

1.组态软件的组成划分:(1)系统开发环境(2)系统运行环境 2. 组态软件的成员组成:(1)应用程序管理器(2)图形界面开发程序(3)图形界面运行程序(4)实时数据库系统组态程序(5)实时数据库系统运行程序(6)I/O驱动程序(7)扩转可选组件。

组态软件一般用于自动控制系统的监控层,各种可编程控制器、仪表等组成系统的控制层。

在实现通信过程时,包括两种方式:本地方式和远程方式。

通过介绍组态软件相关的组成和应用,能够充分了解认识到组态软件的构成及发展,能够对通信技术有更深刻的理解和认知。

通过了解组态软件在生活中的应用,也可以帮助我们提高学习的兴趣,结合通信技术能让我们更好的应用。

关键词:组成;应用;通信技术Introduction to the composition of configuration software, the application and communication technologiesAbstractConfiguration software is some of the data acquisition and process control of specialized software, they are in the level of automatic control system monitoring layer software platform and development environment, the use of flexible configuration mode, to provide users with rapid build industrial automatic control system for monitoring function of the general level of software tools. Configuration software composition of the division has a variety of standard, here to use the software work stage and a member of the software system constitute two standard its architecture are discussed. 1. Configuration software component classification: (1) the system development environment (2) the system running environment 2. Members of the configuration software of: (1) (2) a graphical interface application manager development program (3) the graphical interface to run the program (4) the real-time database system configuration program (5) the real-time database system to run the program (6) the I/O driver (7) expansion of optional components. Configuration software is commonly used in automatic control system monitoring layer, all kinds of PLC, instrument and so on system control layer. In the communication process, including two ways: local mode and remote mode. Through the introduction of the composition and application of configuration software related, to fully comprehend the composition and development of configuration software, the communication technology can have a more profound understanding and cognition. By understanding the application of configuration software in the life, also can help us to improve the learning interest, combined the technology of communication can make us better applications.Key words:Composition; Application; Communication technology目录摘要 (II)Abstract (III)第1章绪论 (I)1.1 组态软件的简介 (I)1.2 组态软件的特点 (I)1.3 组态软件的背景 (I)第2章组态软件的组成 (III)2.1 组态软件的系统组成 (III)2.1.1 组态软件的结构划分 (III)2.1.2 组态软件的成员划分.................................................................................... I V 第3章组态软件的通信技术................................................................................................ V I3.1 组态软件通信概述................................................................................................... V I3.2 组态间通信技术....................................................................................................... V I3.2.1 本地通信........................................................................................................ V I3.2.2 远程通信....................................................................................................... V II3.2.3 结合实例 (VIII)第4章组态软件的应用 (X)4.1 组态的发展历史 (X)4.2 组态的功能 (X)4.3 组态在生活中的应用例子...................................................................................... X II 结论. (XIII)参考文献 (XIV)致谢 (XV)第1章绪论1.1组态软件的简介(RTU System,Remote Terminal Unit)。

常用组态软件DDE配置

常用组态软件DDE配置

常用组态软件DDE配置背景:动态数据交换(Dynamic Data Exchange,DDE)也是一种进程间通信形式。

它最早是随着Windows 3.1由美国微软公司提出的。

DDE技术通信原理:两个同时运行的程序间通过DDE方式交换数据时是客户/服务器关系,一旦客户和服务器建立起来连接关系,则当服务器中的数据发生变化后就会马上通知客户。

通过DDE方式建立的数据连接通道是双向的,即客户不但能够读取服务器中的数据,而且可以对其进行修改。

DDE有三种数据交换方式,即(1)冷连接(Cool Link):数据交换是一次性数据传输,与剪贴板相同。

当服务器中的数据发生变化后不通知客户,但客户可以随时从服务器读写数据;(2)温连接(Warm Link):当服务器中的数据发生变化后马上通知客户,客户得到通知后将数据取回;(3)热连接(Hot Link):当服务器中的数据发生变化后马上通知客户,同时将变化的数据直接送给客户。

DDE 客户程序向DDE 服务器程序请求数据时,它必须首先知道服务器的名称(即DDE Service名)、DDE主题名称(Topics名),还要知道请求哪一个数据项的项目名称(Items名)。

DDE Service名应该具有唯一性,否则容易产生混乱。

通常DDE Service就是服务器的程序名称,但不是绝对的,它是由程序设计人员在程序内部设定好的,并不是通过修改程序名称就可以改变的。

Topics名和Items名也是由DDE Service在其内部设定好的,所有服务程序的Service名、Topics名都是注册在系统中,当一个客户向一个服务器请求数据时,客户必须向系统报告服务器的Service名和Topics名。

只有当Service名、Topics名与服务器内部设定的名称一致时,系统才将客户的请求传达给服务器。

当服务名和Topics名相符时,服务器马上判断Items名是否合法。

如果请求的Item名是服务器中的合法数据项,服务器即建立此项连接,建立连接的数据发生数值变化后,服务器会及时通知客户。

组态软件与DDE应用程序的连接

组态软件与DDE应用程序的连接

性能问题
虽然DDE可以提供实时数据传输,但在处理大量数据或复杂逻辑时,可能会对系统性能产生一定的影响。因此,在使用DDE连接时需要注意优化数据传输量和逻辑处理能力。
缺点分析
06
组态软件与dde连接的发展趋势与展望
技术创新
多样化应用
安全性提升
发展趋势分析
展望未来发展
要点三
深度融合
随着信息化和数字化转型的加速推进,组态软件与DDE应用程序的连接将更加紧密。未来,组态软件与DDE应用程序之间的数据交互和共享将更加频繁,实现更加深度融合的发展态势。
ODBC(Open Database Connectivity)是一种通用的数据库连接方式,可以连接多种关系型数据库,包括Oracle、SQL Server、MySQL等。
总结词
组态软件通过ODBC方式连接DDE应用程序时,需要先在组态软件中配置ODBC数据源,然后使用ODBC数据源的名称或别名来连接DDE应用程序。连接时需要指定DDE服务程序名和主题名。
详细描述
案例三:化工生产过程中的应用
05
组态软件与dde连接的优缺点分析
实时性
灵活性
可扩展性
优点分析
复杂性
DDE连接的设置和维护相对复杂,需要一定的技术知识和经验。此外,不同的组态软件和DDE应用程序之间的连接可能需要不同的配置步骤,增加了操作的难度。
安全性
DDE连接缺乏统一的安全机制,数据传输的安全性需要额外关注。如果数据传输涉及到敏感信息,如用户密码或系统配置,需要采取额外的安全措施来保护数据的安全性。
要点一
要点二
智能化发展
人工智能和大数据等技术的不断发展,将为组态软件与DDE应用程序的连接提供更加智能化的支持。未来,组态软件与DDE应用程序的连接将更加智能化,能够实现更加自主的数据分析和决策支持。

dde使用技巧

dde使用技巧

dde使用技巧使用DDE(Dynamic Data Exchange,动态数据交换)技巧可以提高Windows操作系统中应用程序之间的通信效率和数据共享能力。

下面是一些DDE使用技巧:1. DDE链接和DDE宏:可以使用DDE链接将数据从一个应用程序传输到另一个应用程序。

DDE宏可以自动执行特定的操作,如打开文件、运行命令等。

2. DDE命令:DDE命令用于控制和操作DDE通信过程。

常用的DDE命令包括[Open()]、[Close()]、[Execute()]等。

3. DDE初始化和终止:在进行DDE通信前,需要先进行DDE初始化,并在通信结束后进行DDE终止。

这样可以确保通信的正常进行。

4. DDE错误处理:在使用DDE时,可能会出现一些错误,如DDE超时、无效的DDE命令等。

需要进行适当的错误处理,以确保程序的稳定性和可靠性。

5. DDE数据格式:使用DDE通信时,需要明确数据的格式,以便发送方和接收方正确解析和处理数据。

可以使用标准的数据格式如文本、数值等,也可以使用自定义的数据格式。

6. DDE返回值:在DDE通信完成后,可以通过返回值获取通信结果。

根据返回值的具体内容,可以进行相应的处理,如判断通信是否成功、是否发生错误等。

7. DDE安全性:由于DDE通信是通过Windows消息来实现的,存在一定的安全风险。

可以通过在程序中添加安全性验证、使用防火墙等措施来加强DDE通信的安全性。

8. DDE性能优化:为了提高DDE通信的性能,可以采取一些优化措施。

例如,减少不必要的DDE命令、使用缓存机制等。

9. DDE日志记录:在进行DDE通信时,可以记录日志信息,包括通信开始时间、通信命令、返回结果等。

这样有助于问题排查和性能分析。

10. 相关工具和资源:在使用DDE时,可以使用一些相关的工具和资源来辅助开发和调试。

例如,DDE监控工具、DDE帮助文档等。

总结:DDE是一种强大的数据交换技术,可以在Windows操作系统中实现应用程序之间的通信和数据共享。

工控组态软件及其应用

工控组态软件及其应用

工控组态软件及其应用本文介绍了工控组态软件的基本组成和特点,并结合一个工程实际详细阐述了如何利用组态软件构建一个监控系统。

1、引言组态一词来源于英文单词Configuration,“组态软件”作为一个专业术语,到目前为止,并没有一个统一的定义。

从组态软件的内涵上说组态软件是指在软件领域内,操作人员根据应用对象及控制任务的要求,配置(包括对象的定义、制作和编辑,对象状态特征属性参数的设定等)用户应用软件的过程,也就是把组态软件视为“应用程序生成器”。

从应用角度讲组态软件是完成系统硬件与软件沟通、建立现场与监控层沟通的人机界面的软件平台,它的应用领域不仅仅局限于工业自动化领域。

而工业控制领域是组态软件应用的重要阵地,伴随着集散型控制系统DCS (Distributed Control System)的出现组态软件已引入工业控制系统。

在工业过程控制系统中存在着两大类可变因素:一是操作人员需求的变化;二是被控对象状态的变化及被控对象所用硬件的变化。

而组态软件正是在保持软件平台执行代码不变的基础上通过改变软件配置信息(包括图形文件、硬件配置文件、实时数据库等),适应两大不同系统对两大因素的要求,构建新的监控系统的平台软件。

以这种方式构建系统既提高了系统的成套速度,又保证了系统软件的成熟性和可靠性,使用起来方便灵活,而且便于修改和维护。

图12、工控组态软件的组成及特点2.1 工控组态软件的组成无论是美国Wonderware公司推出的世界上第一个工控组态软件Intouch还是现在的各类组态软件,从总体结构上看一般都是由系统开发环境(或称组态环境)与系统运行环境两大部分组成。

系统开发环境是自动化工程设计师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境,通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。

系统运行环境是将目标应用程序装入计算机内存并投入实时运行时使用的,是直接针对现场操作使用的。

OLE、DDE、OPC、ODBC、SCADA几个概念简单介绍

OLE、DDE、OPC、ODBC、SCADA几个概念简单介绍

1 OLE及DDE自从Windows操作系统流行以来,“剪贴板”(Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是“死”数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换(Dynamic Data Exchange,DDE)的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的“数据格式”转换仍然是程序员沉重的负担。

对象的链接与嵌入(Object Linking and Embedded,OLE)的诞生把原来应用程序的数据交换提高到“对象交换”,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容,其实OLE是Microsoft的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本OLE2中,导入了COM。

2 OPCOPC(OLE for Process Control)是一个软件标准,它可以使自动化应用程序方便地读取工业企业的工厂级数据。

OPC是基于Microsoft的组件对象建模(COM)技术定义一个标准接口,允许自动化和控制应用程序、控制设备、以及商业和办公应用软件之间相互操作。

OPC is open connectivity via open standards. They fill a need in automation like printer drivers did for Windows. See the summary of current and emerging OPC Specifications and OPC Certification.OPC is open connectivity in industrial automation and the enterprise systems that support industry. Interoperability is assured through the creation and maintenance of open standards specifications. There are currently seven standards specifications completed or in development.Based on fundamental standards and technology of the general computing market, the OPC Foundation adapts and creates specifications that fill industry-specific needs. OPC will continue to create new standards as needs arise and to adapt existing standards to utilize new technology.3 ODBC开放式数据库连接(ODBC) 技术为访问不同种类的SQL 数据库提供了通用接口。

最新-COM组件技术在现场总线控制系统组态软件中的应用

最新-COM组件技术在现场总线控制系统组态软件中的应用

COM组件技术在现场总线控制系统组态软件中的应用摘要简要介绍现场总线控制系统的组成以及组成软件的功能,重点讲述了组件技术在组态软件中的应用及驱动程序的开发。

关键词现场总线组态软件组件技术是构造二进制兼容软件的规范,通过它可以建立能够相互传输数据的组件,其服务器-客户机结构非常适合工控软件应用程序的开发。

由于工控软件不仅包括机上的人-机界面程序,还包括与各种基于或总线的数据采集卡进行数据交换的程序,这部分程序对开人员的硬件水平要求较高,而且开发难度较大,与程序是相互独立的,所以可以把工控软件分成两部分,即把程序作为客户机端程序,把与硬件进行数据交换的程序作为服务器端程序。

基于这种思想,本文将服务器-客户机结构应用到现场总线控制系统的组态软件中,着重介绍客户机和服务器的功能及实现。

首先介绍现场总线控制系统的组成。

1系统组成现场总线控制系统主要由机、或总线智能适配器、智能测控模块、组态软件、软件、服务器、用户软件等构成。

现场总线系统中所有信息的传递都是双向的,服务器介于智能适配器和上位机软件之间,负责完成数据的传输。

上位机软件相当于客户机端应用软件,它使用服务器提供的接口来操作适配器,对适配器进行初始化及向特定单元写入和读出数据。

由于在保护模式下不能直接访问存储器,所以需要编写驱动程序,将物理地址转换成线性地址,然后就可以象使用一样调用的函数,完成对或总线智能适配器的操作。

从测控模块到上位机软件自下而下的数据传输完成了用户对测控模块的监测;而上层软件通过将数据送往适配器,再由适配器送往测控模块,实现了用户对测控模块工作参数的设置及工作状态的管理。

图1给出了系统软件结构框图。

2组态软件的功能现场总线控制系统组态软件是一套基于98和2000平台或更高版本、用于快速构造和生成上位机监控系统的组成软件,它提供了从数据采集到数据处理、远程控制、报警处理、报表输出等实际工程问题的完整解决方案。

它使用服务器提供的接口与适配器进行数据交换,是客户机端的程序。

DDE通讯在_组态王_中的应用_下_

DDE通讯在_组态王_中的应用_下_

哈 尔 滨 商 业 大 学 学 报 ( 自 然 科 学 版 ) 第 19 卷
dwData1 , DWORD dwData2) { char szItem[ 10 ] ,szPopulation[ 16 ] ; UINT wparam ; switch (wType)
{ case XTYP ADVDATA : ΠΠ通知客户数据已经改变 if (wFmt ! = CF TEXT) return DDE FNOTPROCESSED ; DdeQueryString(dwDDEInst ,ΠΠ业务标志符 hsz2 ,ΠΠ待拷贝字符串句柄 szItem ,ΠΠ接收缓冲区指针 sizeof (szItem) ,0) ;ΠΠ拷贝字符串到缓冲区 Dde2 GetData (hData , ΠΠ包含待拷贝数据的 DDE 对象句柄 ( unsigned2 char 3 ) szPopulation ,ΠΠ目的缓冲区指针 sizeof ( szPop2 ulation) ,0) ; ΠΠ拷贝数据到指定缓冲区 ΠΠ上面两个函数用 来直接拷贝需要数据ΠΠ下面是本程序用消息传递 , 告诉 VC + + ΠΠ程序启动下位机计时 ,读者可以不 必理会. wparam = atoi ( szPopulation) ; PostMessage ( theApp . m pMainWnd - > GetSafeHwnd () , WM SENDDATA ,ΠΠ自定义消息 wparam ,0) ; return ( HDDEDATA) DDE FACK; case XTYP DISCONNECT: DdeDisconnect (hConv) ; default : return NULL ; } return NULL ; } 第 8 步结束会晤 ,释放字符串据柄. DdeDisconnect (hConv) ; DdeNameService (dwView ,hszS ,NULL , DNS UNREGISTER) ; DdeFreeStringHandle (dwView ,hszS) ; DdeFreeStringHandle (dwView ,hszT) ; DdeFreeStringHandle (dwView ,hszI) ; DdeUninitialize (dwView) ; 至此客户程序完成. 上面程序中变量没有给出 定义 ,如果读者想直接应用本程序只需要定义相应

组态王与Delphi的DDE通信应用

组态王与Delphi的DDE通信应用

第27卷第6期河北工业科技V ol.27,No.62010年11月H ebei Jour nal of Industr ial Science and T echno log yN ov.2010文章编号:1008-1534(2010)06-0503-02组态王与Delphi 的DDE 通信应用樊劲辉1,陆 薇2(1.河北科技大学电气信息学院,河北石家庄 050018;2.石家庄医学高等专科学校,河北石家庄 050071)摘 要:在污水处理控制系统中,组态王通常用于上位机开发,但在很多情况下,组态王需要与其他应用程序进行数据交换。

给出组态王与Delphi 进行动态数据交换(DDE )实现实时通信的具体设计方法,从而实现上位机数据处理能力的扩展,解决了单纯通过组态王获取数据途径有限的问题。

关键词:组态王;Delphi;动态数据交换;实时通信中图分类号:T P391.8 文献标志码:AA pplication of DDE communication betw een K ing V iew and DelphiFAN Jin -hui 1,LU Wei2(1.Colleg e o f Electr ical Engineering and Info rmatio n Science,H ebei U niv ersity o f Science and T echno lo gy ,Shijiazhuang H ebei 050018,China;2.Shijiazhuang M edical College,Shijiazhuang Hebei 050071,China)Abstract:In the sewag e treatment co nt rol sy stem,K ing V iew is usually used in the upper comput er development.But in manyco nditions,K ing V iew needs dynamic data exchang e (DDE)w ith other applicatio ns.T he paper g iv es in detail a met ho d of data ex chang e betw een King V iew and Delphi.T his met ho d ex pands the data pro cessing ability of upper computer ,and it also br eaks thr ough the lim itatio ns of K ing V iew.Key words:King view ;D elphi;dynamic dat a ex chang e;r ea-l time co mmunicatio n收稿日期:2010-08-06;修回日期:2010-09-10责任编辑:王士忠作者简介:樊劲辉(1976-),男,河北抚宁人,讲师,博士研究生,主要从事控制理论与控制工程、智能机器人导航定位等方面的研究。

动态数据交换(DDE)在组态软件编程中的使用

动态数据交换(DDE)在组态软件编程中的使用

动态数据交换(DDE)在组态软件编程中的使用
范海震;徐洪建
【期刊名称】《电光系统》
【年(卷),期】2005(000)003
【摘要】组态软件的使用,使得工业控制系统的人机界面开发更加方便和快捷;但是对于只有自定义通讯协议接口的自动化产品,就很难进行方便的连接。

本文通过分析组态软件进行外部变量读写时所使用的Windows支持的动态数据交换(DDE)协议,提出了用面向对象语言开发DDE协议通讯服务程序的方案,成功解决了问题。

并给出了Delphi程序的示例。

【总页数】3页(P63-65)
【作者】范海震;徐洪建
【作者单位】中国电子科技集团公司第二十七研究所,郑州450005
【正文语种】中文
【中图分类】TP319
【相关文献】
1.基于动态数据交换的组态软件与Visual Basic间的通信 [J], 梁杰;刘文贵;刘振方;郑荣杰;王璐;张丽娟
2.动态数据交换(DDE)在ZJ19E机组数采编程中的使用 [J], 陈霖
3.基于DDE、NETDDE技术解决不同组态软件通讯的方法 [J], 张继军;桂芳
4.INTOUCH组态软件动态数据交换 [J], 无
5.动态数据交换(DDE)协议在组态软件中的应用 [J], 高麟;杨为民;高军
因版权原因,仅展示原文概要,查看原文内容请购买。

组态王软件详细教程 第八讲 DDE与OPC

组态王软件详细教程  第八讲 DDE与OPC

第八讲DDE与OPC➢组态王如何通过DDE方式与其他的应用程序交换数据。

➢组态王如何通过OPC方式与其他的应用程序交换数据。

➢第一节组态王和EXCEL之间的动态数据交换动态数据交换(DDE)的概念DDE是WINDOWS平台上的一个完整的通讯协议,它使应用程序之间能彼此交换数据和发送指令。

进行DDE通讯的应用程序相互间是通过三个标识名来约定的:即一方的应用程序要想获取另一方的数据,必须定义另一方的三个标识:应用程序名:即进行DDE对话的双方的名称,组态王的应用程序名为“VIEW”,EXCEL 应用程序名为“Excel”。

等等主题:即被讨论的数据对象。

组态王的主题规定为“tagname”,EXCEL规定为“sheet1”“sheet2”……项目:即被讨论的特定的数据对象。

若工程人员把组态王作为服务器向另一个应用程序提供数据时,在数据词典里进行I/O变量定义后,其“设备名.寄存器名”就作为项目名;若把excel作为服务器向另一个应用程序提供数据时,则其项目是单元:如“r1c1”(表示第一行第一列的单元),具体说明可参看下面讲解。

组态王作为服务器向EXCEL提供数据在组态王中定义好要向excel发送数据的变量,如“原料油液位”,其变量属性如下图所示:注意: 要进行DDE数据交换,读写属性后面的“允许DDE访问”一定要选中!在画面中建立相应变量的模拟值输出动画连接,然后运行组态王。

启动excel,在其中一个单元格,如r1c1中输入=view|tagname!新IO设备.DECREA100然后按下回车键,则组态王的数据即可动态连接到EXCEL表的r1c1单元格中。

上面的式子中,view 对应组态王的应用程序名;tagname 对应组态王的话题名;新IO设备.DECREA100 对应组态王的项目名新IO设备对应原料油液位的连接设备;DECREA100 对应原料油液位的寄存器名;组态王作为客户端从EXCEL获取数据组态王若从EXCEL中获取数据,需要把EXCEL作为DDE设备在组态王中先加以定义。

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

DDE与COM技术在组态软件开发中的应用
摘要:介绍了VC和Matlab通过COM与DDE技术在组态软件开发中的应用方法,发挥了Matlab在数值计算中的强大功能和InTouch在人机对话界面开发中的独特效果。

关键词:Matlab lnTouch COM DDE 组态软件
随着各类嵌入式系统和现场总线的蓬勃发展,组态软件越来越成为工业自动化系统中的灵魂。

它在实时数据存储、检索和图形显示及人机对话等方面都具有独特的效果。

但是组态软件的脚本语言非常简单,在数据处理、算法实现等方面相对薄弱。

这从一定程度上限制了组态软件在工业自动化中的应用。

Matlab作为一款优秀的数值计算软件,提供了应用于信号处理、工业控制、应用数学等各个领域的工具箱,但是它对运行环境的要求非常高,而且占用了庞大的系统资源,生成实用的人机对话界面的能力不强。

为了开发出具有友好人机对话界面、实现多种控制算法并完成实时数字信号处理的组态软件,可以使用Matlab进行数值计算,将处理后的数据传输给组态软件进行人机对话界面开发,以此发挥它们各自的优点。

这样,开发软件之间的数据交换和处理就成为问题的关键。

本文根据Matlab和应用非常广泛的组态软件In—Touch提供的编程接口和数据通信协议,提出了一种使用DDE和COM技术进行组态软件开发的方法。

1 基本思路与系统构架
动态数据交换(DDE)是一个由Microsoft开发的通信协议。

该协议允许在Windows环境中的应用程序之间彼此发送/接收数据和指令。

它在两个同时运行的应用程序之间实现客户服务器关系。

服务器应用程序提供数据并接收对这些数据感兴趣的其它应用程序的请求。

发请求的应用程序叫做客户。

InTouch 可以利用Microsoft的DDE与其他Windows程序通信,并可同时作为客户或服务器程序。

Matlab提供了多种混合编程的方法,但是这些方法大都不能脱离Matlab 的运行环境,也不方便其它应用程序调用。

为了摆脱Matlab运行环境,并在其基础上进行功能模块设计,方便其它应用程序调用,MathWorks公司推荐使用COM builder在Matlab环境下开发COM。

COM是Component Object Module的简称,它是一种通用的对象接口,任何语言只要按照这种接口标准就可以调用它。

这样,可以使用Matlab开发COM组件,在VC下开发DDE服务程序,使其与InTouch进行数据通信,而这个DDE服务程序调用Matlab开发的COM进行数
值处理和算法实现。

在实际工业自动化的组态软件开发中,可以使用VC进行数据的采集、命令的发送和复杂的流程控制;使用Matlab下开发的COM完成复杂的算法实现和数字信号处理编程;在InTouch下实现人机对话界面并接收使用者的命令。

具体的系统构架如图1所示。

2 应用实现
Windows DDE功能应用的核心是DDE事务管理库(DDEML),它负责管理Windows操作系统下应用程序间的DDE会话和通信,还向用户提供了一系列的应用程序接口API函数。

DDE实现程序间的通信是通过三个标识约定的:
应用程序名(Application):进行DDE对话双方的名称;
主题(Topic):被讨论的数据域;
项目(Item):被讨论的特定数据对象。

在DDE服务程序中首先使用DdeInitialize进行初始化,然后调用DdeCreateStringHandle建立应用程序名、主题和项目等标识的句柄,再通过DdeNameService在操作系统中注册DDE服务程序的名字。

根据这些句柄,客户程序就可以使用它提供的DDE服务了。

在VC++中的程序实现如下:
#include<ddeml.h>……
DWORD idInstc=0,iData;//iDate是项目对应的数据
HSZ hszSvr,hszTopic,hszIrem;
DdeInitialize(&idInst,(PFNCALLBACK)DdeCallback,CBF_
FAIL_EXECUTES┃CBF_SKIP_ALLNOTIFICATIONS,0L);
//建立应用程序名、主题和项目等标识的句柄
hszSvr=DdeCreateStringHandle(idInst,“DDEApp”,0);
hszTopic=DdeCreateStringHandle(idInst,“DDEAppTopic”,0);
hszItem=DdeCreateStringHandle(idInst,“DDEApphem”,0);
//在操作系统中注册该DDE服务
DdeNameService(idInst,hszSvr,0L,DNS_REGISTER);
……
DDE服务程序的核心部分是一个回调函数,它处理所有DDE消息及相应数据请求。

DDE服务程序回调函数的代码如下:
HDDEDATA CALLBACK DdeCallback (WORD usType,WORD usFmt,HCONV hConv,HSZ hsz1,HSZ hsz2, HDDE—DATA hData,DWORD 1Datal,DWORD
1Data2){CHAR sz[5]
if(usType==XTYP_CONNECT){ //得到连接请求
return((HDDEDATA)TRUE);
}
//校验主题、项目的句柄及数据格式
if(hszl==hszTopic && hsz2==hszItem && usFmt==CF_TEXT){
if(usType==XTYP_REQUEST‖usType==XTYP_ ADVREQ){//得到数据请求
_itoa(iData,sz,10);//将数据转换为文本格式
return DdeCreateDataHandle(idInst,(LPBYTE)sz,
strlen(s2)十1,0L,hszItem,CP_TEXT,0);
}
if(usType==XTYP_POKE){//得到客户端发送来的数据
DdeGetData(hData,(LPBYTE)sz,strlen(sz)十1,0L);
iData=atoi(sz);//保存数据
DdePostAdvise(idInst,hszTopic,hszItem);
return((HDDEDATA)DDE_FACK);
}
}
return 0;
}
在任何需要向DDE客户端发送数据时使用Dde-PostAdvise触发
XTYP_ADVREQ,从而达到向客户程序发送数据的目的。

在InTouch的标记名字典中定义I/O类型变量,以此调用DDE服务程序发送过来的数据。

在声明I/O类型的访问名时只要确定DDE服务程序的应用程序名、主题名和项目名即可。

组态软件中的数值计算和实时数字信号处理部分在Matlab中实现并以COM 组件的方式提供。

这个部分的关键是Matlab下M文件的编写、COM组件的形成和DDE服务程序中对COM的调用。

COM组件实际是一个C十十类,但接口都是纯虚类,组件从接口派生而来。

在Matlab下通过键人comtool启动combuilder,根据提示设置类的名字和一些其它选项。

为这个类添加方法(methods)通过向工程中添加M文件实现。

这个M文件不是脚本文件而是函数文件。

添加属性(Properties)则是在M文件中通过Global定义。

至于事件(events)则需要用到语法%#event。

举例说明如下:
%mymethod.m文件源代码%myevent.m文件源代码
function mymethod function myevent
global mValue;%#event
……
将以上两个文件添加到这个工程中则添加了一个方法mymethod、属性mValue和事件myevent。

通过编译生成一个d11文件。

这个dll就是COM的发布形式。

在VC中调用此COM与调用其它COM是一样的,所不同的是需要在VC的工程中包含Matlab提供的文件,具体操作是在Include files中添加<Matlab>\externclude\和<Matlab>\externn\cpp,在Library files中添加<Matlab>\extern\win32和<Matlab>\extern\win32\Mi-crosoft。

Combuilder也提供了COM组件的打包工具,它生成一个自解压文件,通过它实现必要的DLL安装和COM注册。

在DDE服务程序中调用COM组件进行数值计算和信号处理并向InTouch提供DDE服务,在InTouch中通过调用DDE传来的数据充实人机对话界面并接收操作者的命令以完成系统的功能。

3 实际开发中细节问题的考虑
Matlab下的COM组件开发是Matlab6.5才有的功能,早期的版本并没有这个模块。

另外,并不是所有的Matlab工具箱都支持COM编译,这时可以考虑使用其它的函数代替,也可以使用DDE调用Matlab函数,但是这样不能脱离Matlsb的运行环境。

在组态软件中使用DDE和COM技术可以充分发挥Matlab在数值计算中的功能和InTouch在人机对话界面开发中的独特效果,适用于功能模块设计和大规模组态软件的开发。

相关文档
最新文档