实验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(以太网)等等十几种网络组态程序。如下图所示:
DF1网络的组态
这里DF1网络采用RS-232串口方式,具体连接图如下: 配置DF1网络:
使用RSLinx软件对MicroLogix1000进行组态,选择DF1协议。具体的方法如下: 1. 点击“开始->程序->Rockwell Software->RSLinx->RSLinx”,启动RSLinx。
2. 点击菜单栏中的“Communications->Configure Drivers…”。出现组态驱动程序的对话框。 弹出标题为“Configure Driver Types”的窗口。点击“Available Driver Types”对话框中的下拉箭头,这些Driver是
A-B公司的产品在各种网络上的通讯卡的驱动程序,这些通讯卡的驱动程序保证了用户对网络的灵活选择和使用。可以根据设备的实际情况来适当选择添加驱动程序,注意要和你使用的硬件相匹配。这里我们选择“RS-232 DF1 devices”。
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”字样表示该驱动程序已经运行。
2. 点击“Close” 回到RSLinx 初始界面,点击“Communications->RSWho”,现在工作区左侧列表中多了“AB_ DF-2”网络图标,选中右上角“Autobrows”或点击 “Refresh” 如果正常,点击该网络图标,会出现所配置好的设备的图标,如图3-8中的PLC及用户PC机。
RSLinx的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)打开控制面板中管理工具。
(2)双击服务,将Network DDE和Network DDE DSDM启动并设置为自动运行,然后退出服务。在设置过程中,这两项服务并不是自动运行的,所以当第一次配置DDE时,一定要将这两项服务启动。
(3)击开始按钮,在运行中输入DDESHARE。打开DDESHARE窗口。
(4)在DDESHARE中组态新的DDE通讯。点击共享,选择DDE共享,打开了DDE共享窗口。
(5)在新打开的DDE共享窗口中点击的设置。
,弹出DDE共享属性窗口, 作出如下图所示
(6)上面的共享属性窗口设置完毕后,点OK回到DDE共享窗口。点击受信任的共享属性。
,如下图设置
这样就完成了Windows中DDE的组态。 2. 在RSLinx中组态DDE。
(1)启动RSLinx Gateway,点击主菜单中的DDE/OPC,选择下拉子菜单中的“Topic Configuration”。弹出“DDE/OPC Topic Configuration”窗口。
(2)点击新窗口中的
,建立新的DDE/OPC链接。输入它的名字“Micro”。
(3)其“Data Source”、“Data Collection”、“Advanced Communication”的设置如下图,设置完后保
存。
(4)在RSLinx的主窗口中选择“Edit” 菜单下的,弹出拷贝DDE数据链接窗口。我们以“Data Table”中的“T4:0.ACC”为例做数据链接,也可以改为所想要链接的其它数据,如“N7:0”等。这里我们就链接“T4:0.ACC”。
如上就完成了RSLinx中的组态。 在Excel中组态DDE。
(1)打开Excel选择“编辑”子菜单下的“选择性粘贴”。弹出新的窗口。 (2)在弹出的“选择性粘贴”的窗口中选择“粘贴链接”、“Unicode 文本”,如图。
至此就完成了DDE动态数据链接。
Excel中采用VBA实现数据采集的记录。 (1)点击Excel主菜单的“工具-宏”,选择“Visual Basic编辑器”。
(2)双击弹出窗口中的“Sheet 1”,编写VB代码。本VBA程序的作用是把OPC/DDE链接过来的数据以历史记录的形式存在Excel表格中,采样周期为1秒,共记录20个数据。
(3)点击VB编辑器窗口中的
,运行所编写的VB代码。得到如右图的数据记录:
Sub fhhe()
Dim i, x, y As Integer Dim PauseTime, Start i = 3 x = 3 y = 1
With Sheet1 While y <= 20 While x <= 20 .Cells(x, y) = \" \" x = x + 1 Wend x = 3 y = y + 1 Wend
While i <= 20
.Cells(1, 2) = \"=RSLINX|Micro!'T4:0.acc,L1,C1'\" .Cells(1, 3) = \"=RSLINX|Micro!'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 = 1 Start = Timer
Do While Timer < Start + PauseTime DoEvents Loop i = i + 1 Wend End With End 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\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 poke
Application.DDEPoke DDEChannel, DDEItem, RangeToPoke Application.DDETerminate DDEChannel End Sub
5、保存并运行。
因篇幅问题不能全部显示,请点此查看更多更全内容