实验4 RSLinx的OPCDDE动态数据链接实验.docx
实验4 RSLinx的OPC/DDE动态数据链接实验RSLinx是A-B可编程控制器在Windows环境下建立工厂所有通信方案的工具。它为A-B的可编程控 制器与各种 Rockwell Software 及 A-B 应用软件,如RSLogix5/500、RSView32、RSBatch、PLC-5 等软件之 间建立起通信联系。RSLinx的AdvanceDDE接口支持处理器与HMI (人机界面)和组件软件间进行通信, 也可与DDE兼容软件,如Microsoft Excel、Access及其它用户定制的DDE应用软件通信。例如有这样一个系统:图3-1系统示意图上图为系统的示意图。在这个简单系统中,利用网络组态软件 RSLinx将PC机与可编程控制器 MicroLogix1000连接起来,这里RSLinx提供的网络驱动的程序的类型有十多种;利用编程软件RSLogix500 对可编程控制器编程;利用DDE数据连接功能对可编程控制器采集来的数据进行监视,其中这里显示的 数据存放在Microsoft Excel文件中。下面围绕这个简单的例子,介绍网络组态软件RSLinx的使用。系统的网络组态根据PC机与可编程控制器连接方式的不同,RSLinx提供了多种网络驱动程序。常见的有RS-232 DF1 Devices(DF1 网络)、1747-PIC/AIC+ Driver (DH485 网络)、Ethernet devices (以太网)等等十几种网络 组态程序。如下图所示:RS-232 IFl dvicEthernet devicesL784-KT/mCDVPCMK for DH4/DH-485 devicesLT84-KTC (K) for Controlffet devicesDF1 Polling Mait er DriverL784-FCC Eor Contr&lHst dwi cesLT84-FCIC tS) for CcmtrolNet devi cesL747-PIC / AIC+ DriverDF1 Slava DriverS-S SD/SD2 £cr DI+ devicesVirtual Backplane tSoftLogLK56j<K)DeviceNet Drivers (17S4-FCD/FCIDS, 1T70-EFD, SDNTT drivexPLC_5 (DH4) Emul at or dr i verSLC 500 (DK485) Emulator driverSo£tLcigix5 driverEomot口vim Lirm ayDF1网络的组态这里DF1网络采用RS-232串口方式,具体连接图如下:配置DF1网络:-Inl xi使用RSLinx软件对MicroLogix1000进行组态,选择DF1协议。具体的方法如下: 1.点击“开始->程序->Rockwell Software->RSLinx->RSLinx”,启动 RSLinx。RSLinH Gateway - RSWho - 1矗 File Edit View Communications Station DDE/OPC Security Window Help-I可幻房I器I湖剧附I里1|7 AntoLrowse |-®-P ; EEEIJo t Brows irLg-旦| Workstationj PCI+ 景 Lin)c Gateways Ethernet+ 品 AB_DFl-ij Data Highway Plus+ 品 AB_ETH-lj Ethernet+ 晶 EMU 500-b DH-485景 二Linx Gatew.晶AE_DF1-1D.ata High1/-.1.=JFor Helpj press F101/09/03 11:352.点击菜单栏中的“Communications->ConfigureDrivers.”。出现组态驱动程序的对话框。弹出标题 为“ Configure Driver Types” 的窗口。点击“ Available Driver Types” 对话框中的下拉箭头,这些 Driver 是A-B公司的产品在各种网络上的通讯卡的驱动程序,这些通讯卡的驱动程序保证了用户对网络的灵活选择 和使用。可以根据设备的实际情况来适当选择添加驱动程序,注意要和你使用的硬件相匹配。这里我们选 择“ RS-232 DF1 devices”。Ethernet devicesL704-n/KTXCDVPCMK for DH4/DH-485 devicesLT84-KTC (K) for ControLITet devicesDF1 Ptilling Mas t er Driver.LT84-FCC Eof CoTttr&llIet dvi cesL784-FCIC tS) for CcmtrolNet devi cesL747-PIC / AIC+ DriverDF1 Slave DriverS-S SD/SD2 for DI+ devicesVirtual Backplane CSoftLogi.K56iK)DeviceNet Drivers (17S4-FCD/FCID5, 1T70-EFD, SDNTT drivaiPLC-5 CDm-) Emul at or driverSLC 500 (DK485) Emulator driverSo£"tLdgix5 driverEimcit口vim Lirm G 砒白w ay.3.点击“Add New”按钮,将弹出“Add New RSLinx Driver”窗口,填写新驱动的名称,点击OK”, 会弹出下图图所示窗口,在device下拉框中选择:SLC-CHO/Micro/PanelvView其它的选框不用修改,然 后点击 Auto-Configure,若显示“Auto Configuration Successful! ”,则表示组态成功。1, 点击“OK”,在“Configure Driver”窗口下的列表中出现“AB_DF1-2 DH485 Sta:0 COM1: RUNNING”字样表示该驱动程序已经运行。Configure DriversAvailable Driver Type,:JjS-232 DF1 devicesAdd New.Ccmfipired Drivers:N:=jtie :htl HHgcr ip +a+uEAE_DF1T UH如5口 WM1:即IffllHGRunning2.点击“Close”回到RSLinx初始界面,点击“Communications->RSWho”,现在工作区左侧列表中多了 “AB_ DF-2”网络图标,选中右上角“Autobrows”或点击“Refresh”如果正常,点击 该网络图标,会出现所配置好的设备的图标,如图3-8中的PLC及用户PC机。交 RSLinx Gateway - RSWho -1矗 File Edit View Communications Station DDE/OPC Security Window Help _Jfii| x|g品|同剧画粉倒Q Autobr owe eBr ows ing 一 node 1 tcuxLd-鸟 Workstation, ROCK-9+品 Linx GatewaySj Ethernet-晶00, Workstation, DF1-COM101, MicroLogix 1000 w/Analog, UNTITLEC+ 5 SC-1, EthernetJ_dFor Help., press Fl旦I00DF1-COM101UNTITLEDNUM05/15/00 07:51 PMRSLinx的OPC/DDE动态数据链接的组态DDE(Dynamic Data Exchange)是微软公司推出的一种基于Windows NT操作系统的内部程序通讯协 议。凡是支持DDE的应用程序都可以通过DDE进行通讯,彼此交换信息和数据。一个完整的DDE通讯 包括两部分:一部分是产生数据并把数据提供给其他应用程序,完成这部分的应用程序通常叫做 DDE Server;而接受DDE Server数据的应用程序叫DDE Client。需要说明的是DDE动态数据链接需要在RSLinx Gateway中进行,在RSLinx Lite中不能进行DDE链 接。而且要求操作系统必须为NT或以上版本的Windows才能实现(包括Windows NT,Windows 2000, Windows XP)。PLC与Excel的DDE动态数据链接的建立PLC与Excel的链接过程是通过RSLinx的DDE /OPC功能实现的,在链接中,RSLinx作DDE的服 务器,Excel作DDE的客户端。1. Windows 中组态 DDE。(1)打开控制面板中管理工具。Internet Personal Web Server Telnet 服务器 本地安全策管理蛊 Manager Extensions . 管每略数据源 性能蛆件服务计筒机管理(ODBC)(2)双击服务,将Network DDE和Network DDE DSDM启动并设置为自动运行,然后退出服务。在设置过程中,这两项服务并不是自动运行的,所以当第一次配置DDE时,一定要将这两项服务启动。NetMeetinq Remote.允许手动Local5y5temNetwork Connections管理,已启动手动LocalSystermDDE提供,已启动自动LocalSysteMNetwork DDE DSDM管理,已启动自动L匚 alSystem(3)击开始按钮,在运行中输入DDESHARE。打开DDESHARE窗口。共享帮助(出DDE 共享-PC1-InlxJ(4)在DDESHARE中组态新的DDE通讯。点击共享,选择DDE共享,打开了 DDE共享窗口。(5)在新打开的DDE共享窗口中点击添加共享,弹出DDE共享属性窗口,作出如下图所示 的设置。DDE共享届性(6)上面的共享属性窗口设置完毕后,点OK回到DDE共享窗口。点击信任共享口,如下图设置 受信任的共享属性。受信任的共享届性共享名国):|Mi croL 替代md .使用|值炉这样就完成了 Windows中DDE的组态。2.在RSLinx中组态DDE。(1)启动RSLinx Gateway,点击主菜单中的DDE/OPC,选择下拉子菜单中的“Topic Configuration”。弹出 “D DE/OPC Topic Configuration 窗Do(2) 点击新窗口中的亶,建立新的DDE/OPC链接。输入它的名字“ Micro”。(3)其 "Data Source”、“Data Collection”、“Advanced Communication”的设置如下图,设置完后保存。DG-息 iCiiJl'ny j D:i+ a Collec ti otl J Ailv:irLce i ComrrnjiLi cati on 匠 Autobi_owse亘 Worktatiorij ROCK-9+ Ss Linx GatewaySj Ethernet-矗 AB.DFl-L, DH-485旦 0Q? Workstation, DF1-COM1Olj MicrsLagix 1000 州AmlogUNTITLED服“旅wsq Imu Colletti mi | 相加Gwrwij而住抵啊PrQ»£EflT Typ&: |£lc-3+Dai« C qLI «gt i«n pditP F(51L t d Btssagts GnSec) |10()0 厅 UnDlidi ted HessK厂 Sstd *11LitdBat 4 Saorcs | Dali Co-llection Klvanctd Cammuni cat xo-n |fhwfiDs mfg/F-titpTi DU 4hi & t %bgwe1! Gh iGf pvr比i哗p tp 耐,1 GDg-er be cooeeted to Ih电 conect object dd. th? Oats. Sflwce tab.rTunLotL Hr«r: 枫百厂疝底ETC希ST7项丽2Proc itKKof Coitf u pu-d.ti onS 4: Oai i cm Cdeci ItabJ. )' pLtc口 *r Eemdte kd. dr easing荷 Lvcal(4)在RSLinx的主窗口中选择“Edit”菜单下的 0PV DDE Link"Clipb口M,,弹出拷贝DDE数 据链接窗口。我们以“Data Table”中的“T4:0.ACC”为例做数据链接,也可以改为所想要链接的其它数 据,如“ N7:0 ”等。这里我们就链接“ T4:0.ACC”。Cupy DDE/OPC LinkThi = sets up h* Ed.i t/Copj Liriz. 0iKtr programs may use thi 5 ta irii ii ate DDE/OPC coniiec ti on. Use thEir E>li i/Faste Link command.Hat a TableBlockCaluinnE par|m rET4",T.I. L11OE I CancelHelp如上就完成了 RSLinx中的组态。在Excel中组态DDE。(1)打开Excel选择“编辑”子菜单下的“选择性粘贴”。弹出新的窗口。(2)在弹出的“选择性粘贴”的窗口中选择“粘贴链接”、“Unicode文本”,如图。至此就完成了 DDE动态数据链接。Excel中采用VBA实现数据采集的记录。(1)点击Excel主菜单的“工具一宏”,选择“Visual Basic编辑器”。宏(性,,录制新宏(田 安全性一Alt+F8U Visual Basic 端辑器(心Alt+FllS® MicroscFt脚本编辑器(他,.Alt+ShiFt+Fll|_ BC128011121231341451561671731S9190201212223234245雾62672782S(2)双击弹出窗口中的“Sheet 1",编写VB代码。本VBA程序的作用是把OPC/DDE链接过来的数据以历史记录的形式存在Excel表格中,米样周期为1秒,共记录20个数据。文件(日编辑(毋视图插入格式。调试。运行工具(口夕卜接程序®Microort Visual Basic - Bookl国囹, S简电#4 | s = | H 留髓曾答玲园工程-VBAProject圄国亡1± AcrobatFDFIaker CFDFIaker. zla) 白座 VBAProject (Bookl )El-i Microsoft Excel 对象cstl (£113七1)She et2 (Sheet2)Sh e t3 (Sb. = 13)Thi EWurkbcujk(3) 点击VB编辑器窗口中的*,运行所编写的VB代码。得到如右图的数据记录:Sub fhhe()Dim i, x, y As IntegerDim PauseTime, Start i = 3 x = 3 y = 1With SheetlWhile y <= 20While x <= 20,Cells(x, y)="" x = x + 1Wendx = 3 y = y + 1WendWhile i <= 20,Cells(1, 2) = "=RSLINXIMicro!'T4:0.acc,L1,C1'",Cells(1, 3) = "=RSLINXIMicro!'N7:5,L1,C1'"'根据需要,可在此添加类似于上面的语句,语句格式为:'.Cells(1, columnindex+1) ="path”,Cells(i, 2) = .Cells(1, 2).Cells(i, 3) = .Cells(1, 3)'对应于上面的语句,在此添加语句,格式为:'.cells(i,columnindex+1)=.cells(1,columnindex+1)PauseTime = 1Start = TimerDo While Timer < Start + PauseTimeDoEventsLoopi = i + 1WendEnd WithEnd Sub到此为止,此系统就建立起来了。通过建立DDE动态数据链接,我们将可编程控制器中的数据T:40.ACC和N7:5的数值显示在Excel表中,达到了监视数据的效果。通过RSLinx从Excel表格向PLC写数据1、打开RSLinx软件,创建一个OPC/DDE主题。2、如果Excel从PLC中读数据,那么需要Copy 一条通讯链路3、如果Excel向PLC中写数据,需打开VBA编辑器,如下图所示。4、在编辑器中编写如下代码:Sub DDE_Write_RSLinx()DDEChannel = Application.DDEInitiate(app:=''RSLinx", topic:=''PLC")DDEItem = "Timer1.pre"Set RangeToPoke = Worksheets("Sheet1").Range("b1")'Set RangeToPoke = ActiveCell 'Replace above line of code w/ this one to be able to highlight the cell w/ the value to pokeApplication.DDEPoke DDEChannel, DDEItem, RangeToPokeApplication.DDETerminate DDEChannelEnd Sub5、保存并运行。