欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

技術頻道

利用VB實現上位機與DX中波發射機通訊

  前言

  dx系列中波發射機是由美國harris公司制造的全固態數字調幅發射機,由于其運行穩定、各項指標好、整機效率高等優點,在全國各臺站得以廣泛應用。我臺自1999年起開始使用dx-400發射機,在10年左右的使用與維護工作中我們曾對dx-400發射機進行了兩次自動化改造。第一次改造是用omron

  c200hplc加外圍電路來實現對發射機和附屬設備進行采樣和控制的,但在實際的使用過程中我們發現這樣的控制系統有其致命的局限性。因為系統是plc加外圍電路實現的控制系統就決定了系統無法顯示機器內部數據的實時狀態,無法與發射機內部實現直接通信。因此只有實現了工控機與發射機的控制核心——plc(可編程控制器)直接通信才能克服這一局限性,真正實現實時掌握機器內部數據狀態和對發射機的直接控制。dx-400發射機控制單元使用的是a-bplc,這種plc是rockwell automation的專利產品,使得第三方的軟件不能很好地與a-bplc進行連接。在實際改造工作中我們找到了一種采用dde(動態數據交換技術)技術與a-bplc進行數據交換的方法,能夠更好的解決這一瓶頸問題。

  dde技術的工作機制

  dde是動態數據交換技術的縮寫,是為在同一臺計算機或不同計算機上運行的程序提供動態數據交換的一種新技術,最早由microsoft公司提出的。動態數據交換(dde)技術由于其具有實時性好、網絡通信連接實現方便等特點,在控制軟件與信息網絡集成中得到了廣泛應用。

  動態數據交換基于widnows消息機制,各應用程序間通過傳遞消息進行對話交換信息。windowsdde消息傳遞采用client/server模式,客戶(client)是數據的請求和接受者,而服務器(server)是數據的提供者,兩者之間通過請求、應答、傳輸三個步驟來完成數據的傳送。dde協議使用服務(service)、主題(topic)和數據項(item)三級命名來標識dde所傳遞的數據單元。一般情況下,服務(service)就是應用程序的文件名,主題是對服務器有意義的信息單元。每次dde客戶與服務程序之間的對話都是先由客戶啟動的,所以在每次客戶啟動之前,dde服務器應當首先投入運行。

  當客戶程序需要向服務器程序請求數據時,客戶程序發送一條wm-dde-initeate消息給當前運行的所有widnows應用程序,這條消息不但包含了它所需要的服務器名(service)和主題名(topic),而且指明了它所希望的數據類型,收到wm-dde-initeate消息的應用程序通過判別服務器名和會話主題決定是否應答,一旦dde服務器響應了這條被傳播的消息,dde會話就開始了。

  dde的工作方式有冷連接(cool link)、溫連接(warm link)和熱連接(hotlink)等3種。在冷連接方式下,當server中的數據發生變化后不主動通知client,但client可以隨時從server讀寫數據;在溫連接方式下,當server中的數據發生變化后馬上通知client,client得到通知后將數據取回;在熱連接方式下,當server中的數據發生變化后馬上通知上位機(工client,同時將變化的數據直接送給client。

  硬件連接與系統配置

  控機)與a-b plc的連接方式有兩種:一種是利用廠家提供的dh+485數據線將上位機通訊卡與a-b plc cpu模塊的dh+接口直接連接;一種是通過自制的r232數據線將上位機com口與a-b plc cpu模塊的rs232接口直接連接。

  通訊卡連接方式

  將allen bradley公司出品的1784-pktx通訊卡安裝到上位機上。安裝方法如下:

  請確認已將其中一塊通訊卡上的地址跳線帽(jp3)拔掉。參見圖1。

  (1)打開工控機機箱,將1784-pktx通訊卡插入pci插槽內,固定螺絲,蓋好蓋板;

  (2)啟動工控機,系統檢測到硬件。如果用戶已經安裝rslogix500軟件,則系統將自動檢測到驅動。如果用戶尚未安裝rslogix500軟件,可先安裝該軟件,軟件安裝完畢后,系統將自動為通訊卡安裝驅動程序;

  (3)用dh+485數據線將上位機(工控機)與plc連接;

  (4)使用rslinx連接a-b plc的通訊網絡,運行rslinx

  classic軟件。點擊菜單中“通信”選項,在下拉列表中選擇“配置驅動程序”:(參見圖2)。

  點擊該選項后,彈出如圖3所示頁面,在下拉列表中選擇1784-kt/ktx(d)/pktx(d)/pcmk for dh+/dh485devices后,單擊【新增…】按鈕:此時彈出確認框,如圖4所示。

  點擊“確定”后,彈出如下頁面,如圖5所示,在“值”下拉列表中選擇pktx(d)選項:

  點擊“確定”后,rslinx配置完成。

  r232連接方式

  (1)按照標準電纜1747

  cp3的內部接線圖(如圖6)自制com口通信電纜也是能夠實現上位機與plc的通信的,此種電纜的優點:造價低廉、使用方便;缺點:不能通過這種數據線組成plc網絡,實現多plc資源共享。

  (2)使用rslinx連接a-b plc的通訊網絡

  配置方式與前相同只是在進入config dirvier菜單后彈出如圖7所示頁面。

  在下拉列表中選擇rs-232 df1 devices選項,然后點擊“新增”按鈕會出現如下對話框,如圖8所示。

  點擊“確定”,出現如下對話框,如圖9所示。

  點擊“自動配置”按鈕,系統開始對plc進行自動配置。以上配置完成后點擊“確定”按鈕并關閉對話框(此時程序回最小化并沒有關閉)。

  進行dde服務的配置

  在菜單欄中打開“dde/opc”菜單并選擇“主題組態”對話框,如圖10所示。

  從圖左側我們發現了要找的plc并在右側顯示了“主題列表”中看到程序名。點開“數據采集”欄在“處理器類型”下拉菜單中選擇“slc-503+”項,這一步很重要只有通過它才能正確的加載驅動程序,為通信打下基礎,如圖11所示。

  點開“高級通信”欄在“通信驅動程序”中選擇“ab df1-1 dh485 工作站”項,如圖12所示。

  這樣在rslinx軟件中對a-b plc的通信配置就完成了,建立與plc數據聯結既可以完成與plc的數據交換。

  利用vb開發dde客戶端

  vb作為microsoft公司軟件產品的重要一員,理所當然的對windows操作系統下的dde技術給予支持。vb為一些控件提供了用于dde動態數據交換的linktopic、linkitem、linktimeout、linkmode等屬性,以及linkrequest、linkpoke、linkexecute、linksend等方法。其中,linktopic、linkitem兩項屬性分別對應于dde通訊架構中的主題名和數據項名,linktimeout、linkmode分別表示dde客戶端與dde服務器的嘗試連接時間和連接模式(數據交換方式),linkmode有manual、notify、automatic三種方式,而automatic方式最為常用,它主要用于和dde server建立“熱連接(hot link)”,即在dde服務器數據發生變化時主動發送數據給客戶端。linkrequest、linkpoke分別用于dde客戶端對dde服務器數據的讀寫操作。

  在vb中實現與a-b plc的“熱連接”

  在visual basi建立一個新工程,添加幾個label控件,并建立和rslinx的dde通訊連接,使其隨上一步所設置好的連接的a-b plc數據“b01主系統”數值的變化而變化。

  其代碼如下:

  private sub form_load()

  label1.linktopic = “rslinx|” & “b01主系統”

  label1.linkitem = “s:42”

  label1.linkmode = 1

  label1.linkrequest

  label3.linktopic = “rslinx|” & “b01主系統”

  label3.linkitem = “s:41”

  label3.linkmode = 1

  label3.linkrequest

  label5.linktopic = “rslinx|” & “b01主系統”

  label5.linkitem = “s:40”

  label5.linkmode = 1

  label5.linkrequest

  label10.linktopic = “rslinx|” & “b01主系統”

  label10.linkitem = “n60:11”

  label10.linkmode = 1

  label10.linkrequest

  label12.linktopic = “rslinx|” & “b01主系統”

  label12.linkitem = “n60:130”

  label12.linkmode = 1

  label12.linkrequest

  label14.linktopic = “rslinx|” & “b01主系統”

  label14.linkitem = “n60:131”

  label14.linkmode = 1

  label14.linkrequest

  end sub

  其中,代碼中的“rslinx”和“b01主系統”分別表示應用程序名和主題名,“linkmode”值為1表示連接方式為automatic(即“熱連接”)方式。這樣當該應用代碼被執行時,label的值便隨a-b plc內存值的變化而變化。具體執行如圖13所示。

  在excel中實現通過dde方式訪問a-b plc

  首先必須先安裝rs linx創建dde topic.

  比如我們定義一個topic名叫“b01主系統”,打開excel,創建宏命令,編寫vba腳本如何讀取和寫入數據,從而完成與plc的數據交換。

  sub start()

  dim lngrow as long

  dim varcycle as variant

  dim varlogging as variant

  dim varresults as variant

  on error goto error

  rsichan = ddeinitiate(“rslinx”, “ b01主系統”)

  varlogging = dderequest(rsichan, “n60/163”)

  varcycle = dderequest(rsichan, “n60/161”)

  l/?

  if varcycle(1) = “1” and varlogging(1) = “1” then

  lngrow = 3

  if range(“indata!a3”).value 》 3 then

  lngrow = range(“indata!a3”).value

  end if

  for lngrow = lngrow to 65500

  if cells(lngrow, 1) = “” then exit for

  range(“indata!a3”).value=lngrow + 1

  next

  rsichan = ddeinitiate(“rslinx”, “n1”)

  f810data = dderequest(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 = dderequest(rsichan, “f8:23”)

  f824data = dderequest(rsichan, “f8:24”)

  varresults = dderequest(rsichan, “f8:25”)

  ddeterminate (rsichan)

  cells(lngrow, 1).value = f810data

  cells(lngrow, 2).value = f811data

  cells(lngrow, 3).value = f812data

  cells(lngrow, 4).value = f816data

  cells(lngrow, 5).value = f818data

  cells(lngrow, 6).value = f817data

  cells(lngrow, 7).value = f820data

  cells(lngrow, 8).value = f821data

  cells(lngrow, 9).value = f822data

  cells(lngrow, 10).value = f823data

  cells(lngrow, 11).value = f824data

  cells(lngrow, 13).value = now()

  end if

  end sub

  在vb中實現調用excel后臺數據庫

  因為前期已經實現了vb與plc的通訊可以實時看到數據的狀態了,隨后又實現了excel與plc的通訊也可以實時看到數據的狀態,但這兩種方法都有其局限性:前者可看、可控但因無數據庫無法實現數據的存儲,后者可看、可查但因無可執行程序無法實現可控。只有二者結合在一起才能揚長避短充分發揮功效。于是在vb中實現調用excel后臺數據庫這種方式就應運而生了,這種方式即充分發揮了vb可控的一面又實現了excel對數據的強大處理能力可以說上位機真正實現了對plc可看、可查、可控的功能。vb與excel的連接方法如下:

  (1)在工程中引用microsoft excel類型庫:從“工程”菜單中選擇“引用”欄;選擇microsoft excel 9.0

  object library(excel2000),然后選擇“確定”。表示在工程中要引用excel類型庫。

  (2)在通用對象的聲明過程中定義excel對象:

  dim xlapp as excel.application

  dim xlbook as excel.workbook

  dim xlsheet as excel.worksheet

  (3)在程序中操作excel表常用命令:

  set xlapp = createobject(“excel.application”) `創建excel對象

  set xlbook = xlapp.workbooks.open(“文件名”) `打開已經存在的excel工件簿文件

  xlapp.visible = true `設置excel對象可見(或不可見)

  set xlsheet = xlbook.worksheets(“表名”) `設置活動工作表

  xlsheet.cells(row, col) =值 `給單元格(row,col)賦值

  xlsheet.printout `打印工作表

  xlbook.close (true) `關閉工作簿

  xlapp.quit `結束excel對象

  set xlapp = nothing `釋放xlapp對象

  xlbook.runautomacros (xlautoopen) `運行excel啟動宏

  xlbook.runautomacros (xlautoclose) `運行excel關閉宏

  利用以上命令可以很輕松的實現vb與excel的連接功能在此不再贅述。

  結束語

  vb因其功能強大、操作簡潔近幾年在諸多領域得到了廣泛的應用,尤其因其對dde技術的完美支持更凸顯出在自動控制方面的優勢。通過它我們能很方便的實現上位機與plc的數據通訊,更能與數據庫進行完美對接,真正實現了上控機對dx發射機可看、可查、可控。希望通過此文對廣大一線工作人員有所幫助。

文章版權歸西部工控xbgk所有,未經許可不得轉載。

欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

      午夜亚洲视频| 99re国产精品| 国产精品美女久久久久久久| 久久久久久久久久久一区 | 欧美成人午夜| 欧美在线观看日本一区| 一区二区三区久久精品| 亚洲第一免费播放区| 国产亚洲福利社区一区| 欧美日韩亚洲一区二区三区在线 | 亚洲无亚洲人成网站77777| 在线日韩中文| 国产精品推荐精品| 欧美大片一区| 美日韩精品视频| 久久综合九色| 女人香蕉久久**毛片精品| 久久精品导航| 久久久久久久综合日本| 久久国产欧美精品| 久久福利影视| 久久激情网站| 久久在精品线影院精品国产| 久久久精品国产免大香伊 | 亚洲欧美日韩精品| 亚洲影院在线观看| 亚洲永久在线| 欧美在线观看天堂一区二区三区| 亚洲欧美日韩国产中文| 亚洲综合日本| 欧美在线视频导航| 久久精品二区三区| 久久免费观看视频| 欧美国产在线电影| 欧美日韩成人一区二区| 国产精品久久二区| 国产欧美日韩精品专区| 国模精品一区二区三区| 亚洲国产精品久久久久秋霞影院| 在线国产亚洲欧美| 99re6这里只有精品| 亚洲一区二区三区精品在线| 香蕉成人啪国产精品视频综合网| 欧美自拍偷拍午夜视频| 欧美国产日韩精品免费观看| 欧美日韩午夜在线| 国产亚洲欧洲997久久综合| 影音先锋成人资源站| 亚洲精品免费在线播放| 亚洲一区二区三区高清| 久久露脸国产精品| 欧美日韩一区在线观看视频| 国产日本欧洲亚洲| 亚洲人成人99网站| 欧美在线视频全部完| 免费在线一区二区| 国产精品网站在线播放| 亚洲福利专区| 亚洲一区日本| 欧美另类综合| 国产亚洲欧美一级| 在线亚洲精品福利网址导航| 久久精品中文字幕一区| 欧美日本三区| 国内一区二区三区| 一本色道久久综合亚洲精品高清 | 亚洲国产精品一区在线观看不卡| 一本色道久久88精品综合| 久久精品国产综合| 欧美性大战xxxxx久久久| 一区在线播放视频| 性18欧美另类| 国产精品国产精品| 亚洲裸体俱乐部裸体舞表演av| 欧美一区二区视频观看视频| 国产精品白丝jk黑袜喷水| 在线看国产日韩| 久久国产日韩欧美| 国产精品中文在线| 亚洲午夜精品久久久久久浪潮| 欧美一区二区三区的| 欧美色欧美亚洲另类二区| 亚洲欧洲在线视频| 免费永久网站黄欧美| 国产午夜精品全部视频播放| 亚洲综合日韩中文字幕v在线| 欧美人与性动交cc0o| 亚洲欧洲另类| 欧美承认网站| 亚洲黄网站黄| 欧美韩日一区| 亚洲精品久久久蜜桃| 男男成人高潮片免费网站| 在线日韩av| 美女免费视频一区| 亚洲日本欧美天堂| 欧美激情国产精品| 99爱精品视频| 国产精品久久久久久av下载红粉 | 精品动漫一区二区| 久久久久久久久久久久久久一区| 国产一区91精品张津瑜| 久久三级视频| 亚洲品质自拍| 欧美日韩中文字幕| 亚洲影院色在线观看免费| 国产精品一区二区久久精品| 小黄鸭精品密入口导航| 精品成人a区在线观看| 欧美成人精品h版在线观看| 亚洲精品美女免费| 国产精品入口66mio| 久久国产精品久久精品国产 | 久久裸体视频| 最新中文字幕一区二区三区| 国产精品成人免费视频| 午夜一区不卡| 亚洲日韩欧美视频一区| 国产精品日韩一区二区| 久热精品视频在线免费观看 | 亚洲免费在线观看| 在线看欧美日韩| 国产精品qvod| 蜜臀av国产精品久久久久| 亚洲婷婷免费| 亚洲高清资源| 国产精品久久久久久久久动漫 | 黄色精品免费| 国产精品久久久久9999高清| 久久久久国产一区二区| 日韩一级黄色av| 狠狠爱综合网| 国产精品男人爽免费视频1| 久久人人超碰| 亚洲欧美中文在线视频| 亚洲人成人一区二区三区| 国产欧美日韩在线观看| 欧美理论电影网| 鲁鲁狠狠狠7777一区二区| 新67194成人永久网站| 日韩午夜免费视频| 亚洲大胆女人| 国产亚洲综合在线| 国产精品国产三级国产普通话99| 美女图片一区二区| 久久激情综合| 亚洲综合色婷婷| 中文欧美日韩| 亚洲美女av黄| 亚洲人成毛片在线播放| 激情五月***国产精品| 国产美女精品一区二区三区| 欧美色欧美亚洲高清在线视频| 欧美在线免费看| 亚洲欧美日韩国产成人| 在线亚洲欧美| 亚洲一区二区三区精品动漫| 亚洲精品在线看| 亚洲精选91| 日韩视频精品在线| 一本色道精品久久一区二区三区| 亚洲人成久久| 日韩午夜在线观看视频| 日韩视频免费在线| 亚洲美女在线视频| 一本久久综合亚洲鲁鲁| 一本色道久久综合亚洲91| 99精品欧美一区| 99热免费精品在线观看| 中文无字幕一区二区三区| 亚洲婷婷综合色高清在线| 亚洲一卡久久| 久久aⅴ国产紧身牛仔裤| 久久精品国产在热久久| 久久久久久69| 欧美肥婆在线| 国产精品video| 国产区在线观看成人精品| 国产午夜精品一区二区三区欧美| 国产性天天综合网| 亚洲国产精品ⅴa在线观看| 亚洲国产视频直播| 这里只有精品视频| 性欧美video另类hd性玩具| 欧美影院久久久| 嫩模写真一区二区三区三州| 欧美激情一区二区三区成人| 国产精品igao视频网网址不卡日韩| 国产精品视频观看| 尤妮丝一区二区裸体视频| 亚洲乱码国产乱码精品精天堂| 亚洲午夜日本在线观看| 久久久精品动漫| 欧美女同视频| 国产亚洲精品一区二区| 亚洲国产精品毛片| 亚洲一区二区免费看| 美女啪啪无遮挡免费久久网站| 欧美日韩亚洲高清一区二区| 国产在线精品自拍|