999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

力控組態軟件與VB和下位機之間的通訊方法研究

2018-09-23 08:05:16豆勤勤
赤峰學院學報·自然科學版 2018年8期

豆勤勤

前言

力控組態軟件是對現場生產進行監控和數據采集的一種軟件,可以與現場總線模塊、智能模塊等多種輸入輸出I/O設備進行通信,本文采用的力控組態軟件對于采用不同協議通信的I/O設備,提供具有針對性的I/O驅動程序.實時數據庫就借助于I/O驅動程序對I/O設備執行數據的采集與回送,與I/O驅動程序構成服務器與客戶端的結構模式[1].

該項目是基于某大型鋼廠鋼坯標識碼的讀碼監控系統.由于項目中采用的是國外的某款掃碼槍設備,在力控組態軟件中并沒有提供其通訊驅動程序,而開發驅動程序工作量較大,因此需要采取其他方法實現與上位機的通信.對于力控不提供驅動程序的I/O設備,本項目采用的是借助于VB應用程序軟件,利用力控向控制層和管理層提供的軟、硬件全部接口實現間接控制的方法.

VB中提供有WinSock控件[2],此控件能夠通過TCP協議連接到遠程的機器并進行數據交換.而力控組態軟件和VB之間又可以通過DDE協議來實現通信.整個工程項目實現過程如圖1所示.

圖1

1 VB使用WinSock控件與下位機設備通訊

VB是一個可視化的窗口開發環境,可以方便的應用到很多控制系統中.在使用WinSock控件時,可以使用的協議包括TCP和UDP.兩種協議之間的重要區別在于它們的連接狀態.TCP協議是一種基于連接的協議,可以將它同電話系統相比.在開始數據輸出之前,用戶必須先建立連接.UDP協議是一種無連接協議,兩臺計算機之間的傳輸類似于傳遞郵件,消息從一臺計算機發送到另一臺計算機,但是兩者之間沒有明確的連接.在應用程序使用TCP協議,首先必須決定應用程序是服務器還是客戶端.如果要創建一個服務器端,那么應用程序需要“監聽”指定的端口.當客戶端提出連接請求時,服務器端能夠接受請求并建立連接.在連接建立之后,客戶端與服務器端可以自由地互相通訊.本項目中VB是作為客戶端,與掃碼設備進行數據通訊.

在VB中,由于WinSock通信控件不是內置控件,在使用時,需要將其添加到工具箱中.選擇工程-部件-控件,選中Microsoft WinSock Control復選框,點擊確定,就添加成功了.此時選擇WinSock控件,添加到窗體上,利用此控件編程就可實現VB和設備通信.使用控件時,先對WinSock控件設置相應的屬性和事件.首先必須知道服務器計算機名或IP地址及服務器進行偵聽的端口,然后調用Connect方法.

WinSock控件的參數設置如下:

Private Sub Command1_Click()

Dim StartTime

Winsock1.RemoteHost="169.254.6.244"

Winsock1.RemotePort=23

Winsock1.Connect

StartTime=Timer

Do While ((Timer<StartTime+2)And(Winsock1.State<> 7))

DoEvents

Loop

If(Winsock1.State = 7)Then

Text5.Text= "Connected"

Text7.Text= "1"

Text5.BackColor= &HFF00&

Command1.Enabled = False

Else

Text5.Text="Can't connect to"+Text1.Text

Text5.BackColor= &HFF

Text7.Text= "0"

End If

End Sub

接收數據程序如下:

Private Sub Command4_Click()

If(Winsock1.State=7)Then

StartLow=Val(Text2.Text)Mod 256

StartHigh=Val(Text2.Text)256

LengthLow=Val(Text3.Text)Mod 256

LengthHigh=Val(Text3.Text)256

MbusWriteQuery=Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(7+2*Val(Text3.Text))+Chr(1)+Chr(16)+Chr(StartHigh)+Chr(Start-Low)+Chr(0)+Chr(Val(Text3.Text))

For i=0 To Val(Text3.Text)-1

ByteLow=Val(Text4(i).Text)Mod 256

ByteHigh=Val(Text4(i).Text)256

MbusWriteQuery=MbusWriteQuery+Chr(ByteHigh)+Chr(ByteLow)

Next i

MbusRead=False

MbusWrite=True

Winsock1.SendData MbusWriteQuery

ModbusWait=True

ModbusTimeOut=0

Timer1.Enabled=True

Else

MsgBox("Device not connected via TCP/IP")

End If

End Sub

2 VB通訊程序與力控組態軟件的通信

VB與力控進行通信數據傳輸可以通過動態數據交換DDE來進行.

2.1 DDE動態數據交換

動態數據交換(DDE)[3,4]是微軟的一種數據通信形式,它使用共享的內存在應用程序之間進行數據交換,能夠及時更新數據,在兩個應用程序之間信息是自動更新的,無須用戶參與.兩個同時運行的程序間通過DDE方式交換數據時他們之間是客戶端/服務器關系;數據通信時,接收信息的應用程序稱作客戶端,提供信息的應用程序稱作服務器.一個應用程序可以是DDE客戶端或是DDE服務器,也可以兩者都是.一旦客戶端和服務器建立起來連接關系,則當服務器中的數據發生變化后就會馬上通知客戶端.通過DDE方式建立的數據連接通道是雙向的,即客戶端不但能夠讀取服務器中的數據,而且可以對其進行修改.

DDE有兩種數據交換方式,即冷連接和熱連接.冷連接(Cool Link)指數據交換是一次性數據傳輸,與剪貼板相同.當服務器中的數據發生變化后不通知客戶端,但客戶端可以隨時從服務器讀寫數據.熱連接(Hot Link)指當服務器中的數據發生變化后馬上通知客戶端,同時將變化的數據直接送給客戶.

VB與力控組態軟件進行DDE對話是通過機器名、應用程序名、主題名和項目名進行約定的.

2.2 VB與力控建立DDE會話的過程

在VB中新建一個工程,將窗體命名為“DDEServer”;其中,LinkMode 設為“1-Source(表示此程序作為服務端)”;LinkTopic為窗體的名字(即DDEServer).建立窗體如圖2所示.VB應用程序中采用文本框控件和力控進行DDE通訊.

在力控組態軟件中定義一個I/O設備DDE.服務名稱設定為VB應用程序名,“工程1”,主題名稱指定為VB應用程序窗體名稱“DDESERVE”.鏈接模式為熱連接,如圖3和圖4所示.

圖2

圖3

圖4

在數據庫中創建三個數據庫點:A1,A2和A3,這幾個數據點的數據連接項中的DDE分別指定為VB窗體中的文本框的名字,如圖5所示.

先啟動VB程序,然后啟動力控運行程序,就可以實現VB與力控組態軟件之間的DDE數據交換.整個系統運行如圖6所示.

結束語

圖5

圖6

本文采用VB中WinSock控件和DDE通訊技術很好的實現了力控組態軟件與下位機掃碼設備之間的通信,較好地解決了對于力控組態程序沒有驅動程序支持的設備之間數據的通信問題.采用力控組態軟件編寫了上位機監控界面,人機交互直觀、方便.在實際項目中得到了很好地應用,實用價值很高.

主站蜘蛛池模板: 成人福利视频网| 亚洲v日韩v欧美在线观看| 51国产偷自视频区视频手机观看| 婷婷五月在线| 国产特一级毛片| 久久久久久久97| 亚洲视频在线青青| 久久久亚洲色| 看你懂的巨臀中文字幕一区二区| 99久久精品国产综合婷婷| 尤物在线观看乱码| 波多野结衣第一页| 色精品视频| 亚洲人成亚洲精品| 国产精品流白浆在线观看| 久久精品欧美一区二区| 亚洲男人在线| 素人激情视频福利| 99久久人妻精品免费二区| 国产精品13页| 一本大道香蕉中文日本不卡高清二区| 亚洲人成日本在线观看| 激情网址在线观看| 日本欧美午夜| 欧美日韩精品一区二区视频| 青青操国产视频| 无码AV高清毛片中国一级毛片| 青青操国产视频| 亚洲品质国产精品无码| 国产精品丝袜在线| 国产一线在线| 亚洲毛片一级带毛片基地| 国产成人你懂的在线观看| 亚洲毛片一级带毛片基地| 亚洲中文字幕国产av| 国产精品永久不卡免费视频| 免费看a级毛片| 日韩视频免费| 国产精品无码AV片在线观看播放| 亚洲第一成人在线| 国产精品一线天| 久久天天躁狠狠躁夜夜躁| 2019年国产精品自拍不卡| 一级毛片免费播放视频| 日本福利视频网站| 少妇被粗大的猛烈进出免费视频| 亚欧美国产综合| 亚洲激情99| 日本草草视频在线观看| 日韩精品亚洲精品第一页| 日本91视频| 国产麻豆精品久久一二三| 久久婷婷色综合老司机| 国产福利影院在线观看| 国产精品免费入口视频| 国产理论一区| 99re在线观看视频| 欧美一级夜夜爽www| 婷婷五月在线| 成人免费一级片| 国产精品久久久久无码网站| 国产福利在线免费| 久久精品国产精品国产一区| 色综合久久无码网| av午夜福利一片免费看| 国产不卡国语在线| 久久6免费视频| 黄色网站在线观看无码| 国产成人三级| 精品人妻无码中字系列| 成人在线天堂| 国产美女一级毛片| 久久久噜噜噜| 国产精品网址在线观看你懂的| 就去色综合| 亚洲欧美一级一级a| 久久精品无码一区二区日韩免费| 欧美综合一区二区三区| 综合色88| a毛片免费在线观看| 亚洲精品国产成人7777| 久久国产黑丝袜视频|