首页 > 范文大全 > 正文

基于DDE技术的工业自动控制组态系统的设计分析

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于DDE技术的工业自动控制组态系统的设计分析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: DDE作为动态数据交换,是Windows平台上的标准通信协议。利用DDE技术对工业自动控制组态系统进行设计,开发了基于dde技术的工业自动控制组态系统,不仅可以利用DDE技术实现对数据采集的传递,同时也可以完成VB与系统操作界面之间的数据交互, 有效扩展工业自动控制组态软件的功能。以下探讨基于DDE技术的工业自动控制组态系统的设计分析,并给出具体的实践方法。

关键字: 工业自动控制组态系统; DDE; 设计分析; 工业自动化

中图分类号: TN830.1?34 文献标识码: A 文章编号: 1004?373X(2014)21?0113?03

Analysis and design of automatic control system configuration based on DDE technology

YAO Wei?hua, LIU Hai?hong

(Shaanxi Electronic Products Supervision And Inspection Institute, Xi’an 710004, China)

Abstract: DDE is the standard communication protocol on the WINDOWS platform. The industry automatic control system configuration was designed with DDE technology. The industrial automatic control configuration system based on DDE technology was developed, which not only can realize the transmission of data acquisition by utilizing DDE technology, but also can complete data interaction between VB and system interface, so as to effectively extend the function of industrial automatic control configuration software. The design of industrial automatic control system configuration based on DDE technology is discussed in this paper. Its specific realization method is given.

keyword: automatic control system configuration; DDE; design analysis; industrial automation

0 引 言

在工业自动生产系统组态软件中应用DDE技术,可以有效实现对工业现场温度、压力以及流量、液位等物理量的实时监控。在工业自动控制系统中,将DDE技术通过高级语言程序与工业组态软件相互链接,不仅可以使其相互传递数据,也可以提升工业自动控制系统性能。以下本文就对此做具体介绍:

1 DDE技术原理

DDE的工作原理为,当甲方需要申请一块全局内存使用时,就可以把内存指针postmessage存放到乙方,那么乙方就可以根据收到的指针去访问甲方的全局内存。DDE有热连接、温连接、冷连接三种连接方式,其中冷连接为客服建立连接后,何时传递数据由客户端决定,客户端需要数据时向服务端发送一个数据请求消息;温连接不同于冷连接,由服务器主动发送数据更新请求,客户端决定是否更新数据;热连接为服务器主动更新数据,不需要客户端确认更新[1]。

DDE作为动态数据交换机制,实现其通信需设置两个Windows应用程序,一个是服务器,用来处理信息;另外一个是客户机,可以从服务器来获得信息。DDE对话主要通过应用程序名、主题、项目标识进行约定:其中应用程序名也就是进行DDE对话的双方名称,项目是被讨论的特定数据对象。

2 工业自动控制组态系统中应用DDE的技术

优势

对于工业自动控制组态系统,DDE技术适用于大量数据的高速数据采集,并且可以为不同计算机之间的数据交换提供可靠的机制,使数据的交换与通信变得开放、高效、安全、可靠,同时也为信息的集成提供了更为合理和简便的方法。基于DDE技术设计工业自动控制组态系统,可以使软件平台以及开发环境更加灵活,为用户提供快速构建系统软件的工具,提高了系统的开发效率,在实际应用中发挥巨大优势。

3 设计基于DDE技术的自动控制组态系统

3.1 设计基于DDE的应用程序

首先设计界面程序;在通信协议设置区设置通信协议,自定义协议的自动化设备则不需要设置;在发送数据区中,需要输入特定的帧格式,也就是在文本框Text1中,输入用户自定义的设备帧格式;在数据自动采集中,还需使用定时器控件,采用分时采集方式来实现对数据的自动采集。

3.2 设置自动控制组态系统中DDE

当自动控制组态系统的接口程序编写完后,建立DDE Server、Topic和item。对于DDE Server参数设置,可以在自动控制组态系统的VB开发环境中,设置窗口Link mode属性为Source;Topic设置为Form1;数据项item是接收数据载体,设置为Text2。

3.3 设置MCGS组态软件的DDE

建立基于MCGS的DDE服务,对DDE数据交换程序进行调试,运行生成的自动控制组态系统接口程序的服务器端;运行工程客户端,采集服务器端的数据,通过双方的数据项变化验证DDE数据通信准确性[2]。DDE数据发送接收示意图如图1所示。

图1 DDE数据发送接收示意图

3.4 工业自动控制组态系统中的数据连接

基于DDE技术的工业自动控制组态系统采用三层识别系统,其中的应用程序名仅仅位于层次结构的顶层,服务器应用程序可支持一个以及或多个主题名;项目名更进一步确定了会话的详细内容,每个主题名可拥有一个或多个项目名。数据会话通道图如图2所示。

图2 DDE会话通道

VB其实是DDE客户与DDE服务器之间实际MCGS链接的载体。作为通用的“软通道”,需要给用户提供命令格式设定窗口等【3】,需要指明希望接收的数据类型;收到消息应用程序后就可以应答。

4 DDE技术应用实例

基于DDE技术设计工业自动控制组态系统,可提升系统性能,优化系统自动化水平,提高系统在实际工作中的灵敏性。通过DDE建立VB与WinCC之间的数据传递,VB通过串口读取某控制仪的重量数值,然后被DDE中的过程变量读取。以下介绍在工业自动控制组态系统中,应用DDE技术的实践。

4.1 用Execute方法传递命令

首先,新建发送端工程,工程名称为发送端,新建接收端工程,工程名任意;设置发送端窗体 LinkTopic 属性为某一字符串,如fasong,LinkMode 属性为 1?vbLinkSource;发送端窗体添加一个文本框 TextS,运行发送端。发送端代码如下:

Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer)

Cancel=0

If Left(CmdStr,3)="cmd" Then

If Mid(CmdStr,4)="exit" Then

End

ElseIf Mid(CmdStr,4)="min" Then

Me.WindowState=1

ElseIf Mid(CmdStr,4)="max" Then

Me.WindowState=2

Else

Cancel=-1

End If

ElseIf Left(CmdStr,3)="msg" Then

MsgBox "接收到一条消息:" & Mid(CmdStr,4)

Else

Cancel = -1

End If

End Sub

对于系统接收端,DDE为工业自动控制组态系统WINCC通信中的驱动程序,将其存放在\siemens\wincc\bin的文件夹之中[3]。接收端窗体添加文本框 TextR,设置(TextR)LinkTopic属性为发送端工程名+管道符+发送端LinkTopic属性,即发送端|fasong;设置LinkItem属性为发送端相应控件名称,如TextS;设置LinkMode属性为1?vbLinkAutomatic。运行接收端,修改发送端文本框数据,接收端会自动改变。代码如下:

Private Sub Form_Load()

Text1.LinkMode = vbLinkManual

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

On Error Resume Next

If KeyAscii = 13 Then

Text1.LinkExecute Text1

End If

End Sub

4.2 用DDE实现VB与Excel通信

在组态系统中新建DDE通道,需要建立一些变量,以此来接收服务器上的数据。可以通过VB窗口中的数据显示Text控件,建立与接收服务器对应的变量[4]。设置发送端的 LinkTopic,通过属性说明自身为源端;然后设置接收端相应控件的LinkTopic指向源端,LinkItem 指针就会指向相应控件,并设置出所需的连接方式,即完成连接设置[5]。打开 Excel′自动模式,自动获取A1,A2,A3,…的值,然后设置如下代码:

Private Sub Command1_Click()

Dim CurRow As String

Static Row ′工作单的行数

Row = Row + 1 ′增加行

If Row = 1 Then ′只第一次

Text1.LinkMode = 0

Text1.LinkTopic = "Excel|Sheet1"

Text1.LinkItem = "R1C1" ′设置LinkItem

Text1.LinkMode = 1 ′设置LinkMode为自动

Else

CurRow = "R" & Row & "C1"

Text1.LinkItem = CurRow ′设置LinkItem

End If

End Sub

Private Sub Command2_Click()

If Text1.LinkMode = vbNone Then ′测试连接模式

Text1.LinkTopic = "Excel|Sheet1" ′设置连接主题

Text1.LinkItem = "R1C1" ′ 设置连接项目。

Text1.LinkMode = vbLinkManual ′设置连接模式

Text1.LinkRequest ′更新正文框内容

Else

If Text1.LinkItem = "R1C1" Then

Text1.LinkItem = "R2C1"

Text1.LinkRequest ′更新正文框内容

Else

Text1.LinkItem = "R1C1"

Text1.LinkRequest ′更新正文框内容

End If

End If

End Sub

Private Sub Command3_Click()

Dim Cmd, I, Q, Row ′声明变量

Q = Chr(34) ′定义引用标记

Cmd = "[ACTIVATE(" & Q & "SHEET1" & Q & ")]" _

& "[SELECT(" & Q & "R1C1:R5C2" & Q & ")]" _

& "[NEW(2,1)][ARRANGE.ALL()]"

If Text1.LinkMode = vbNone Then

Text1.LinkTopic = "Excel|Sheet1" ′设置连接主题

Text1.LinkItem = "R1C1" ′设置连接项目

Text1.LinkMode = vbLinkManual ′设置连接模式

End If

For I = 1 To 5

Row = I ′定义行号

Text1.LinkItem = "R" & Row & "C1"

Text1.Text = Chr(64 + I) ′将值放置在Text中

Text1.LinkPoke ′将值放入单元

Text1.LinkItem = "R" & Row & "C2" ′

Text1.Text = Row ′

Text1.LinkPoke ′将值放入单元

Next I

On Error Resume Next

Text1.LinkExecute Cmd ′执行Microsoft Excel命令

MsgBox "LinkExecute DDE demo with Microsoft Excel finished.", 64

End

End Sub

当VB中数据输出的Text控件名称改变之后,工业自动控制组态系统WinCC中的对应变量条目名称的属性也随之改变。工业自动控制组态系统应用DDE技术通信,不仅具备稳定、数据传输准确、快速传输的优点,也可以降低系统开发的花费及时间,操作简单方便。通过运行工业自动控制组态系统生成运行程序,通过OOE技术得到Excel通信中的实时数据,并将其显示在当前窗口中,实现对工业自动控制组态系统数据信息的实时监控。

5 结 论

DDE技术作为一种较成熟的数据交换方式,不仅可以简化工业自动控制组系统开发过程,同时也可以使工业自动控制组态系统监控不再依赖具体设备,不需考虑底层硬件通信接口的设计问题,大大提升了工业自动控制组态系统的设计效率,具有实际应用价值。

参考文献

[1] 陆建华.基于DDE技术的自动配料监控系统设计[J].广西职业技术学院学报,2010(6):8?10.

[2] 管红超,陈立家,熊文龙.基于OPC和DDE的工业自动控制系统监控网络的设计[J].中国水运:学术版,2006(2):72?74.

[3] 黄康铭.基于OPC/DDE技术的监控软件的研究与开发[D].长沙:中南大学,2010.

[4] 冯常奇.基于Matlab和组态王的温度在线多步预测控制[D].武汉:武汉理工大学,2011.

[5] 钟伟.DDE技术在建筑智能控制中的应用研究[D].长沙:湖南大学,2011.

[6] 鲁亮,周本权.基于DDE技术的温度试验系统[J].现代电子技术,2014,37(9):90?92.