你现在位置:首页>技术论文>数据通讯>正文
如何在Excel中通过DDE以VBA方式访问AB PLC?
日期:2006-7-10 22:34:27 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
   如何使用Excel通过 DDE VBA方式访问Allen Bradley PLC? 
WWW_PLCJS@_COM%-PLC-技.术_网

首先必须先安装RS Linx创建DDE topic. 比如我们定义一个topic名叫“N1”
WWcW_PLCJS_COM-PLC-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

打开Excel,创建宏命令 ,编写VBA脚本如何读取和写入数据,从而完成与PLC的数据交换.
WWW_P※LCJS_COM-PLC-)技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

<<<<<<<<<<<<<<<<<<<开始>>>>>>>>>>>>>>>>>>
W1WW_P4LCJS_COM-PLC-技.术_网

Sub Start()
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PL※CJS_COM-PLC-技.术_网

Dim lngRow As Long
WWW_PL※CJS_COM-PLC-技.术_网

Dim varCycle As Variant
——可——编——程——控-制-器-技——术——门——户

Dim varLogging As Variant
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Dim varResults As Variant
WWW_PL※CJS_COM-PLC-技.术_网

On Error GoTo Error
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 
WWW_PLC※JS_COM-PmLC-技.术_网

    opens a COLD DDE link
P.L.C.技.术.网——可编程控制器技术门户

    RSIchan = DDEInitiate("RSLinx", "N1")
WWW_PLC※JS_COM-PmLC-技.术_网

    
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    assign PLC bit values to VB variant varibles
——可——编——程——控-制-器-技——术——门——户

    varLogging = DDERequest(RSIchan, "B3/163")
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    varCycle = DDERequest(RSIchan, "B3/161")
WWW_PL※CJS_COM-PLC-技.术_网

    
WWW_PLC※JS_COM-PmLC-技.术_网

    close COLD DDE link
WW.W_PLCJS_COM-PLC-技.术_网

    DDETerminate (RSIchan)
WWW_P※LCJS_COM-PLC-)技.术_网

    
WWW_PLCJS@_COM%-PLC-技.术_网

    check to see if the Cycle bit went to "1" if it did, excute read data
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    If varCycle(1) = "1" And varLogging(1) = "1" Then
WWW_PL※CJS_COM-PLC-技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

        starts at row 3 of sheet
P.L.C.技.术.网——可编程控制器技术门户

        lngRow = 3
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        
——可——编——程——控-制-器-技——术——门——户

        If Range("INDATA!A3").Value > 3 Then
WWW.PLCJS.COM——可编程控制器技术门户

            look up last cell and change position
WWcW_PLCJS_COM-PLC-技.术_网

            lngRow = Range("INDATA!A3").Value
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        End If
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        
plcjs.技.术_网

        check until end of sheet
WW.W_PLC※JS_C,OM-PL,C-技.术_网

        For lngRow = lngRow To 65500
WWW.PLCJS.COM——可编程控制器技术门户

            look for next empty cell
WWW_PLCJS_COM-PLC-技.术_网

            If Cells(lngRow, 1) = "" Then Exit For
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

            
WWW_PL※CJS_COM-PLC-技.术_网

            write current cell location to sheet INDATA
WWW_P※LCJS_CO※M-PLC-技-.术_网

            rather than writing a loop to search on
——可——编——程——控-制-器-技——术——门——户

            every cycle, by the time the log is at row 21,500

本新闻共4页,当前在第11 2  3  4  
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行