vb.net設(shè)置opc vb net

vb.net如何建立OPC通訊讀取WINCC中的變量值

您好,我用過的是S7-200 PLC與WINCC通訊,兩者通訊必須使用西門子提供的軟件PC_ACCESS。在PC_ACCESS中建立變量,地址要與PLC變量地址對(duì)應(yīng)。然后通過wincc的OPC服務(wù)器添加PC_ACCESS里面的變量即可。這樣WINCC就和PLC變量鏈接上了!

成都創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、全網(wǎng)營(yíng)銷推廣、小程序設(shè)計(jì)、微信公眾號(hào)開發(fā)、seo優(yōu)化服務(wù),提供專業(yè)營(yíng)銷思路、內(nèi)容策劃、視覺設(shè)計(jì)、程序開發(fā)來完成項(xiàng)目落地,為鑿毛機(jī)企業(yè)提供源源不斷的流量和訂單咨詢。

如何使用SIMATIC NET實(shí)現(xiàn)OPC UA冗余服務(wù)器的通信

1、 OPC服務(wù)介紹

西門子提供的最新軟件:Simatic Net PC-Software CD 2005為各種組態(tài)軟件的開發(fā)提供了一個(gè)統(tǒng)一的平臺(tái),它建立的PC站既為一些組態(tài)軟件,如:WinCC、Protol等提供了與PLC的通訊平臺(tái),也提供了一套編程接口,可使用高級(jí)語言編程通過Simatic Net訪問PLC數(shù)據(jù)。本文討論的主要就是這個(gè)編程接口,最新版的Simatic NET支持五種編程方式:

1、ActiveX控件

提供了一系列數(shù)據(jù)訪問控件,以便于向VB6這種語言使用控件的方式與PLC通訊。

2、OPC自動(dòng)化

為VB6、Dephi等語言運(yùn)用OLE 自動(dòng)化的方式進(jìn)行編程。

3、OPC用戶接口

這是專門為VC++提供的一種高效編程方式,其靈活程度與執(zhí)行效率比前面的兩種方式均要高得多。

4、針對(duì)微軟的.NET平臺(tái)的OPC用戶接口

這也是一種非常靈活的編程接口,不過它針對(duì)的是.NET平臺(tái),其提供了大量的.NET類庫,以便于像VC#、VB.NET等高級(jí)語言編程。本文將詳細(xì)的介紹該接口。

5、OPL XML接口

顧名思義,主要是針對(duì)XML編程的。

對(duì)于2、3、4編程方式,他們各自又可以分為同步訪問方式和異步訪問方式。按西門子的文檔解釋:同步通訊指的是當(dāng)一個(gè)客戶在訪問服務(wù)器時(shí),其他客戶的訪問必須等待,直到服務(wù)器處理完該客戶的請(qǐng)求,才能繼續(xù)進(jìn)行下一個(gè)服務(wù),異步訪問與之正好相反,本文主要講的是同步編程篇,異步篇以后再提供。

2、 配置OPC服務(wù)器

要進(jìn)行編程,必須先配置服務(wù)器。本文以Prfibus DP網(wǎng)絡(luò)為例,介紹PC站的配置。其內(nèi)容主要來自西門子文檔。

需要的軟件:

Step7 V5.3

Simatic Net PC-Software CD 2005

需要的硬件:

至少為CP5611或以上級(jí)別,筆記本可以為CP5511,帶DP口的S7-300 PLC(若使用Simatic NET的仿真功能可以不需要這些硬件,后面會(huì)介紹到)

1、組態(tài)一個(gè)S7站,配置Profibus DP網(wǎng)絡(luò),其DP地址設(shè)為3,并下載到PLC,然后把網(wǎng)線由MPI口轉(zhuǎn)到DP口。S7站的配置這里就不介紹了。

VB.NET的OPC讀取西門子PLC數(shù)值轉(zhuǎn)換

12601, 轉(zhuǎn)換成16進(jìn)制是3139,16進(jìn)制 ASC嗎31對(duì)應(yīng)字符1, 39對(duì)應(yīng)9。 后面的用這個(gè)思路去轉(zhuǎn)換就對(duì)上了。

0001 2569這兩個(gè)應(yīng)該是和格式相關(guān)的字符。0001一般就是開始的意思。

一個(gè)變量包含兩個(gè)字符,轉(zhuǎn)換算法如下。

1。 取高位字符,除以H100, H是VB中16進(jìn)制表示法。 除以H100效果是右移8位。 位了保險(xiǎn)起見,再和H00FF做與運(yùn)算,保證取得的ASC碼是合法的。

2。取低位字符,與H00FF做與運(yùn)算,去掉高位數(shù)據(jù),剩下的就是低位ASC碼。

3。將ASC碼轉(zhuǎn)換為字符,用CHR函數(shù)即可,然后連接所有的字符即可得String

vb怎么讀取或修改opc變量值

首先申明OPC對(duì)象:

Option Base 1

Dim WithEvents ServerObj As OPCServer 'OPC Server對(duì)象,連接OPC服務(wù)器

Dim GroupsObj As OPCGroups 'OPC Groups對(duì)象,添加OPC組

Dim WithEvents GroupObj As OPCGroup 'OPC Group對(duì)象

Dim ItemsObj As OPCItems 'OPC Item集合

Dim ServerHandles() As Long '服務(wù)器端OPC Item的句柄

Dim ClientHandles() as Long '客戶端OPC Item的句柄

Dim ItemId(2) As String

Dim Errors() As Long

接下來,生成各個(gè)對(duì)象:

If ServerObj Is Nothing Then Set ServerObj = New OPCServer

'連接OPC服務(wù)器

If ServerObj.ServerState = OPCDisconnected Then

ServerObj.Connect ("OPC.SimaticNET") '假設(shè)OPC服務(wù)器運(yùn)行在本機(jī)

End If

If GroupsObj Is Nothing Then Set GroupsObj = ServerObj.OPCGroups

If GroupObj Is Nothing Then Set GroupObj = GroupsObj.Add

If ItemsObj Is Nothing Then Set ItemsObj = GroupObj.OPCItems

GroupObj.IsActive = True '設(shè)置組為活動(dòng)狀態(tài)

'假設(shè)有兩個(gè)數(shù)據(jù)源,一個(gè)是8位開關(guān)量輸入,一個(gè)是8位開關(guān)量輸出

ItemId(1) = "S7:[S7 connection_1]IB0"

ItemId(2) = "S7:[S7 connection_1]QB0"

ClientHandles(1) = 1

ClientHandles(2) = 2

'添加組項(xiàng)目,ServerHandles數(shù)組的值為各個(gè)OPC Item的服務(wù)器句柄,

' ClientHandles數(shù)組的值為各個(gè)OPC Item的客戶端句柄,由應(yīng)用程序設(shè)定

Call ItemsObj.AddItems(2, ItemId, ClientHandles, ServerHandles, Errors)

網(wǎng)站名稱:vb.net設(shè)置opc vb net
新聞來源:http://muchs.cn/article38/doscjpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、App開發(fā)、外貿(mào)建站定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名