真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net上位機(jī)教程,vb上位機(jī)串口通信

求助高手,怎樣用VB寫上位機(jī)的人機(jī)界面

后臺(tái)做好通訊和數(shù)據(jù)入庫,在窗體界面上關(guān)聯(lián)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)顯示和查詢。為了界面生動(dòng),可適當(dāng)加入一些動(dòng)畫效果。其實(shí)VB還是比較適合做上位機(jī)界面的。要么就用組態(tài)軟件,進(jìn)行二次開發(fā),感覺功能上要受一些限制。

創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)易于使用并且具有良好的響應(yīng)性。

VB.NET做上位機(jī) serialport控件問題

要用委托的形式(界面上拖一個(gè)txt_Rect文本框)

Delegate?Sub?SetTextCallback(ByVal?InputString?As?String)

Private?Sub?ShowString(ByVal?comData?As?String)

txt_Rect.Text?+=?comData???'將收到的數(shù)據(jù)入接收文字框中

txt_Rect.SelectionStart?=?txt_Rect.Text.Length

txt_Rect.ScrollToCaret()

End?Sub

Private?Sub?SerialPort1_DataReceived(ByVal?sender?As?Object,?ByVal?e?As?System.IO.Ports.SerialDataReceivedEventArgs)?Handles?SerialPort1.DataReceived

Dim?inData?As?String?=?SerialPort1.ReadExisting

Dim?d?As?New?SetTextCallback(AddressOf?ShowString)

BeginInvoke(d,?inData)

End?Sub

VB實(shí)現(xiàn)PLC與上位機(jī)通信

可利用OPC服務(wù)器來完成,比較方便。可適用于各類PLC。

下面以西門子PLC為例說下實(shí)現(xiàn)方法:

一、通過STEP7軟件建立一個(gè)新項(xiàng)目OPC,在項(xiàng)目中添加SIMATIC 300站和一個(gè)PC 站,其中PLC站中第四個(gè)槽安裝的CP343模塊。PC站的第一個(gè)槽 為OPC SERVER ,第三個(gè)槽為 IE GENERAL,然后在NETPRO下配置PLC和PC站的網(wǎng)絡(luò)連接:(注意:是在PC站上新建的網(wǎng)絡(luò)連接,連接類型選的S7連接)

二、通過station configurator軟件 配置本機(jī)的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下載下去(注意:下載PC站的時(shí)候要把S7ONLINE (STEP7)---;PC internal(local))。

三、打開OPC Scout,(Start;SIMATIC;SIMATICNet;OPC Scout), 雙擊ldquo;OPC

SimaticNetrdquo;在隨之彈出的ldquo;ADD Grouprdquo;對(duì)話框中輸入組名,本例命名為ldquo;OPCrdquo;。

點(diǎn)擊OK 確認(rèn) ;

;雙擊已添加的連接組(OPC),即彈出ldquo;OPC Navigatorrdquo;對(duì)話框,此窗口中顯示

所有的連接協(xié)議。雙擊ldquo;S7rdquo;,在PC Station 組態(tài)NetPro 中所建的連接名會(huì)被顯示(S7

connection_1)。雙擊此連接,即可出現(xiàn)有可能被訪問的對(duì)象樹(objects tree),在PLC

CPU 中已存在的DB 塊也會(huì)出現(xiàn)

以上完成的OPC SERVER部分的配置。

四、用VB編寫了OPC客戶端應(yīng)用程序。主要程序代碼如下:

在VB中引在VB中還要引用 siemens opc daautomation 2.0

(1) 連接OPC服務(wù)器

Dim WithEvents MyOPCServer As OPCServer ‘定義服務(wù)器對(duì)象變量MyOPCServer

Dim WithEvents MyOPCGroup As OPCGroup ‘定義OPC組對(duì)象變量MyOPCGroup

Set MyOPCServer = New OPCServer

MyOPCServer.Connect " OPC.SimaticNET" ‘連接SIMATICNET 的OPC服務(wù)器

(2) 添加OPC組對(duì)象

Set MyOPCGroup=MyOPCServer.OPCGroups.Add("Group1")

‘添加OPC組對(duì)象

MyOPCGroup.IsSubscribed= True

‘設(shè)置該組數(shù)據(jù)為后臺(tái)刷新

MyOPCGroup.IsActive = True

‘設(shè)置該組為激活狀態(tài)

MyOPCGroup.UpdateRate=1000

‘設(shè)置數(shù)據(jù)刷新時(shí)間為1000

(3) 添加數(shù)據(jù)項(xiàng)

Dim abItemIDs() As String

‘項(xiàng)標(biāo)識(shí)符

Dim abClientHandles() As Long

‘客戶端句柄

Dim abServerHandles() As Long

‘服務(wù)器端句柄

Dim abErrors() As Long

Dim i As Long

ItemCount=3

abItemIDs(1) = " S7:【S7 connection_1】IB1"

abItemIDs(2) = " S7:【S7 connection_1】MB1"

abItemIDs(3) = " S7:【S7 connection_1】QB1"

for i=1 to 3

abClientHandles(i) = i

‘給客戶端句柄賦值

Next

MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, abServerHandles, abErrors

‘添加數(shù)據(jù)項(xiàng)操作

(4) 同步數(shù)據(jù)讀寫

OPC數(shù)據(jù)存取有同步方式和異步方式兩種。異步讀寫數(shù)據(jù)復(fù)雜,需要與事件結(jié)合使用,與同步相比速度慢但準(zhǔn)確性高。同步讀寫數(shù)據(jù)簡單,直接使用OPCItem的方法即可。

Dim One As OPCItem

Dim Index As Long

‘Index為標(biāo)簽順序號(hào)

Dim OneRead As String

Dim Xie As String

Set One = MyOPCGroup.OPCItems(Index)

One.Read OPCCache

OneRead = One.Value

‘讀數(shù)據(jù)

MyOPCGroup.SyncWrite ItemCount, ServerHandles, valuess, Errors

‘同步寫數(shù)據(jù)

MyOPCGroup.SyncRead OPCCache, ItemCount, ServerHandles, ReadValue, Errors

‘同步讀數(shù)據(jù)

One.Write (Xie)

‘寫數(shù)據(jù)

若只讀取數(shù)據(jù),可以使用DataChange事件,當(dāng)控制器中所要訪問的數(shù)據(jù)一旦發(fā)生改變時(shí)將會(huì)觸發(fā)該事件,并將該數(shù)據(jù)自動(dòng)讀到TxtValue文本框。

Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)

‘自動(dòng)刷新數(shù)據(jù)

Dim i As Long

For i = 1 To NumItems

txtValue(ClientHandles(i)) = ItemValues(i)

‘獲取項(xiàng)的值

txtTime(ClientHandles(i)) = TimeStamps(i)

‘獲取項(xiàng)的時(shí)間戳

txtQuantity(ClientHandles(i))=GetQualityString(Qualities(i))

‘獲取項(xiàng)的品質(zhì)

Next i

End Sub

(5) 斷開OPC服務(wù)器

MyOPCServer.OPCGroups.RemoveAll

‘移除所有OPC Group,空出資源

Set MyOPCGroup = Nothing

MyOPCServer.Disconnect

‘?dāng)嚅_連接


本文名稱:vb.net上位機(jī)教程,vb上位機(jī)串口通信
網(wǎng)站鏈接:http://weahome.cn/article/dsegdhh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部