利用VB实现上位机与DX中波发射机通讯探析-1_第1页
利用VB实现上位机与DX中波发射机通讯探析-1_第2页
利用VB实现上位机与DX中波发射机通讯探析-1_第3页
利用VB实现上位机与DX中波发射机通讯探析-1_第4页
利用VB实现上位机与DX中波发射机通讯探析-1_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用VB实现上位机与DX中波发射机通讯探析论文导读::添加几个label控件。在VB中实现调用EXCEL后台数据库。论文关键词:DDE(动态数据交换技术)DX中波发射机,控件,PLCVB,EXCEL一、 前 言DX系列中波发射机是由美国Harris公司制造的全固态数字调幅发射机,由于其运行稳定、各项指标好、整机效率高等优点,在全国各台站得以广泛应用。我台自1999年起开始使用DX-400发射机,在10年左右的使用与维护工作中我们曾对DX-400发射机进行了两次自动化改造。第一次改造是用OMRON C200H PLC加外围电路来实现对发射机和附属设备进行采样和控制的,但在实际的使用过程中我们发现

2、这样的控制系统有其致命的局限性。因为系统是PLC加外围电路实现的控制系统就决定了系统无法显示机器内部数据的实时状态控件,无法与发射机内部实现直接通讯。因此只有实现了工控机与发射机的控制核心- PLC可编程控制器直接通信才能克服这一局限性,真正实现实时掌握机器内部数据状态和对发射机的直接控制。DX-400发射机控制单元使用的是A-B PLC,这种PLC是Rockwell Automation的专利产品,使得第三方的软件不能很好地与A-B PLC进行连接。在实际改造工作中我们找到了一种采用DDE技术与A-B PLC进行数据交换的方法,能够更好的解决这一瓶颈问题。二、 DDE技术的工作机制DDE是动

3、态数据交换技术的缩写,是为在同一台计算机或不同计算机上运行的程序提供动态数据交换的一种新技术,最早由MICROSOFT公司提出的发表论文。动态数据交换DDE技术由于其具有实时性好、网络通信连接实现方便等特点,在控制软件与信息网络集成中得到了广泛应用。 动态数据交换基于WIDNOWS消息机制,各应用程序间通过传递消息进行对话交换信息。WINDOWS DDE消息传递采用CLIENT/SERVER模式,客户CLIENT是数据的请求和接受者,而效劳器SERVER是数据的提供者控件,两者之间通过请求、应答、传输三个步骤来完成数据的传送。DDE协议使用效劳SERVICE、主题TOPIC和数据项ITEM三级

4、命名来标识DDE所传递的数据单元。一般情况下,效劳SERVICE就是应用程序的文件名,主题是对效劳器有意义的信息单元。每次DDE客户与效劳程序之间的对话都是先由客户启动的,所以在每次客户启动之前,DDE效劳器应当首先投入运行。当客户程序需要向效劳器程序请求数据时,客户程序发送一条WM-DDE-INITEATE消息给当前运行的所有WIDNOWS应用程序,这条消息不但包含了它所需要的效劳器名SERVICE和主题名TOPIC,而且指明了它所希望的数据类型,收到WM-DDE-INITEATE消息的应用程序通过判别效劳器名和会话主题决定是否应答,一旦DDE效劳器响应了这条被传播的消息,DDE会话就开始了

5、。DDE的工作方式有冷连接COOL LINK、温连接WARM LINK和热连接HOT LINK等3种。在冷连接方式下,当SERVER中的数据发生变化后不主动通知CLIENT控件,但CLIENT可以随时从SERVER读写数据;在温连接方式下,当SERVER中的数据发生变化后马上通知CLIENT,CLIENT得到通知后将数据取回;在热连接方式下,当SERVER中的数据发生变化后马上通知CLIENT,同时将变化的数据直接送给CLIENT。三、硬件连接与系统配置上位机(工控机)与A-B PLC的连接方式有两种:一种是利用厂家提供的DH+485数据线将上位机通讯卡与A-B PLC CPU模块的DH+接口

6、直接连接;一种是通过自制的R232数据线将上位机COM口与A-BPLC CPU模块的RS232接口直接连接。一、通讯卡连接方式1、安装通讯卡并连线。将Allen Bradley公司出品的1784-PKTX通讯卡安装到上位机上。安装方法如下:请确认已将其中一块通讯卡上的地址跳线帽JP3拔掉。1.翻开工控机机箱,将1784-PKTX通讯卡插入PCI插槽内,固定螺丝,盖好盖板。2.启开工控机,系统检测到硬件。如果用户已经安装RSLogix500软件,那么系统将自动检测到驱动。如果用户尚未安装RSLogix500软件,可先安装该软件,软件安装完毕后控件,系统将自动为通讯卡安装驱动程序发表论文。3.用D

7、H+485数据线将上位机工控机与PLC连接。2、使用RSLinx连接A-B PLC的通讯网络。运行RSLinx Classic软件。点击菜单中通信;选项,在下拉列表中选择配置驱动程序;,弹出如图1所示页面。图1在下拉列表中选择1784KT/KTX(D)/PKTX(D)/PCMK for DH+/DH485 devices后,单击新增;按钮,出现新增RSLINX CLASSIC驱动程序;对话框,选择系统默认值按确定;出现配置 1784-PKTX/PKTXD;对话框,在值;下拉列表中选择PKTX(D)选项,点击确定;后,RSLinx配置完成。二、 R232连接方式1自制编程电缆图2 引自SLC50

8、0 AND MICROLOGIX1000指令集参考手册按照标准电缆1747 CP3的内部接线图如图2自制COM口通信电缆也是能够实现上位机与PLC的通信的,此种电缆的优点:造价低廉、使用方便;缺点:PLC状态需手动切换、组成PLC网络繁琐不易实现多PLC资源共享。2使用RSLinx连接A-B PLC的通讯网络配置方式与前相同只是在 进入配置驱动程序;菜单后选择RS-232 DF1 DEVICES选项,然后点击新增;按钮会出现新增RSLINXCLASSIC驱动程序;对话框控件,选择系统默认值按确定;出现如下对话框如图3:图3点击自动配置;按钮,系统开始对PLC进行自动配置。以上配置完成后点击确定

9、;按钮并关闭对话框此时程序回最小化并没有关闭。三、 进行DDE效劳的配置在菜单栏中翻开DDE/OPC;菜单并选择主题组态;对话框如图4:图4从图左侧我们发现了要找的PLC并在右侧显示了主题列表;中看到程序名。点开数据采集;栏在处理器类型;下拉菜单中选择SLC-503+;项,这一步很重要只有通过它才能正确的加载驱动程序,为通信打下根底如图5。图5同样点开高级通信;栏在通信驱动程序;中选择ABDF1-1 DH485 工作站;项,点击完成;,这样在RSLinx软件中对A-B PLC的通信配置就完成了。四、利用VB开发DDE 客户端VB作为Microsoft 公司软件产品的重要一员,理所当然的对Win

10、dows操作系统下的DDE技术给予支持。VB为一些控件提供了用于DDE动态数据交换的linktopic、linkitem、linktimeout、linkmode等属性,以及linkrequest、linkpoke、linkexecute、linksend等方法。其中,linktopic、linkitem两项属性分别对应于DDE通讯架构中的主题名和数据项名,linktimeout、linkmode分别表示DDE 客户端与DDE效劳器的尝试连接时间和连接模式数据交换方式,linkmode有Manual、Notify、Automatic三种方式控件,而Automatic方式最为常用,它主要用于和D

11、DE server建立热连接hotlink;,即在DDE效劳器数据发生变化时主动发送数据给客户端。linkrequest、linkpoke分别用于DDE 客户端对DDE效劳器数据的读写操作。一、 在VB中实现与A-B PLC的热连接;在Visual Basi建立一个新工程,添加几个label控件,并建立和RSLinx的DDE通讯连接,使其随上一步所设置好的连接的A-B PLC数据B01主系统;数值的变化而变化。其代码如下:PrivateSub Form_Load()Label1.LinkTopic= rslinx| B01主系统Label1.LinkItem= s:42Label1.LinkM

12、ode= 1Label1.LinkRequestLabel3.LinkTopic= rslinx| B01主系统Label3.LinkItem= s:41Label3.LinkMode= 1Label3.LinkRequestLabel5.LinkTopic= rslinx| B01主系统Label5.LinkItem= s:40Label5.LinkMode= 1Label5.LinkRequestLabel10.LinkTopic= rslinx| B01主系统Label10.LinkItem= N60:11Label10.LinkMode= 1Label10.LinkRequestLab

13、el12.LinkTopic= rslinx| B01主系统Label12.LinkItem= N60:130Label12.LinkMode= 1Label12.LinkRequestLabel14.LinkTopic= rslinx| B01主系统Label14.LinkItem= N60:131Label14.LinkMode= 1Label14.LinkRequestEndSub其中,代码中的rslinx;和B01主系统;分别表示应用程序名和主题名,linkmode;值为1表示连接方式为automatic即热连接;方式发表论文。这样当该应用代码被执行时,label的值便随A-B PLC

14、 内存值的变化而变化。具体执行如图6:图6二、在Excel中实现通过DDE方式访问A-BPLC首先必须先安装RSLinx创立DDEtopic.比方我们定义一个topic名叫B01主系统;翻开Excel,创立宏命令,编写VBA脚本如何读取和写入数据控件,从而完成与PLC的数据交换.SubStart()DimlngRowAsLongDimvarCycleAsVariantDimvarLoggingAsVariantDimvarResultsAsVariantOnErrorGoToErrorRSIchan=DDEInitiate(RSLinx, B01主系统)varLogging=DDEReques

15、t(RSIchan,N60/163)varCycle=DDERequest(RSIchan,N60/161) l/?IfvarCycle(1)=1AndvarLogging(1)=1ThenlngRow=3IfRange(INDATA!A3).Value3ThenlngRow=Range(INDATA!A3).ValueEndIfForlngRow=lngRowTo65500IfCells(lngRow,1)=ThenExitForRange(INDATA!A3).Value=lngRow+1NextRSIchan=DDEInitiate(RSLinx,N1)f810data=DDEReque

16、st(RSIchan,F8:10)f811data=DDERequest(RSIchan,F8:11)f812data=DDERequest(RSIchan,F8:12)f816data=DDERequest(RSIchan,F8:16)f818data=DDERequest(RSIchan,F8:18)f817data=DDERequest(RSIchan,F8:17) f820data=DDERequest(RSIchan,F8:20)f821data=DDERequest(RSIchan,F8:21)f822data=DDERequest(RSIchan,F8:22)f823data=D

17、DERequest(RSIchan,F8:23)f824data=DDERequest(RSIchan,F8:24) varResults=DDERequest(RSIchan,F8:25)DDETerminate(RSIchan)Cells(lngRow,1).Value=f810dataCells(lngRow,2).Value=f811dataCells(lngRow,3).Value=f812dataCells(lngRow,4).Value=f816dataCells(lngRow,5).Value=f818dataCells(lngRow,6).Value=f817dataCell

18、s(lngRow,7).Value=f820dataCells(lngRow,8).Value=f821dataCells(lngRow,9).Value=f822dataCells(lngRow,10).Value=f823dataCells(lngRow,11).Value=f824dataCells(lngRow,13).Value=Now()EndIfEndSub三、 在VB中实现调用EXCEL后台数据库五、 结束语VB因其功能强大、操作简洁近几年在诸多领域得到了广泛的应用,尤其因其对DDE技术的完美支持更凸显出在自动控制方面的优势。通过它我们能很方面的实现上位机与PLC的数据通讯,更能与数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论