您好,我用過的是S7-200 PLC與WINCC通訊,兩者通訊必須使用西門子提供的軟件PC_ACCESS。在PC_ACCESS中建立變量,地址要與PLC變量地址對應。然后通過wincc的OPC服務器添加PC_ACCESS里面的變量即可。這樣WINCC就和PLC變量鏈接上了!
成都創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端成都網(wǎng)站建設、成都網(wǎng)站制作、成都網(wǎng)站設計、網(wǎng)站定制、全網(wǎng)營銷推廣、小程序設計、微信公眾號開發(fā)、seo優(yōu)化服務,提供專業(yè)營銷思路、內(nèi)容策劃、視覺設計、程序開發(fā)來完成項目落地,為鑿毛機企業(yè)提供源源不斷的流量和訂單咨詢。
1、 OPC服務介紹
西門子提供的最新軟件:Simatic Net PC-Software CD 2005為各種組態(tài)軟件的開發(fā)提供了一個統(tǒng)一的平臺,它建立的PC站既為一些組態(tài)軟件,如:WinCC、Protol等提供了與PLC的通訊平臺,也提供了一套編程接口,可使用高級語言編程通過Simatic Net訪問PLC數(shù)據(jù)。本文討論的主要就是這個編程接口,最新版的Simatic NET支持五種編程方式:
1、ActiveX控件
提供了一系列數(shù)據(jù)訪問控件,以便于向VB6這種語言使用控件的方式與PLC通訊。
2、OPC自動化
為VB6、Dephi等語言運用OLE 自動化的方式進行編程。
3、OPC用戶接口
這是專門為VC++提供的一種高效編程方式,其靈活程度與執(zhí)行效率比前面的兩種方式均要高得多。
4、針對微軟的.NET平臺的OPC用戶接口
這也是一種非常靈活的編程接口,不過它針對的是.NET平臺,其提供了大量的.NET類庫,以便于像VC#、VB.NET等高級語言編程。本文將詳細的介紹該接口。
5、OPL XML接口
顧名思義,主要是針對XML編程的。
對于2、3、4編程方式,他們各自又可以分為同步訪問方式和異步訪問方式。按西門子的文檔解釋:同步通訊指的是當一個客戶在訪問服務器時,其他客戶的訪問必須等待,直到服務器處理完該客戶的請求,才能繼續(xù)進行下一個服務,異步訪問與之正好相反,本文主要講的是同步編程篇,異步篇以后再提供。
2、 配置OPC服務器
要進行編程,必須先配置服務器。本文以Prfibus DP網(wǎng)絡為例,介紹PC站的配置。其內(nèi)容主要來自西門子文檔。
需要的軟件:
Step7 V5.3
Simatic Net PC-Software CD 2005
需要的硬件:
至少為CP5611或以上級別,筆記本可以為CP5511,帶DP口的S7-300 PLC(若使用Simatic NET的仿真功能可以不需要這些硬件,后面會介紹到)
1、組態(tài)一個S7站,配置Profibus DP網(wǎng)絡,其DP地址設為3,并下載到PLC,然后把網(wǎng)線由MPI口轉到DP口。S7站的配置這里就不介紹了。
12601, 轉換成16進制是3139,16進制 ASC嗎31對應字符1, 39對應9。 后面的用這個思路去轉換就對上了。
0001 2569這兩個應該是和格式相關的字符。0001一般就是開始的意思。
一個變量包含兩個字符,轉換算法如下。
1。 取高位字符,除以H100, H是VB中16進制表示法。 除以H100效果是右移8位。 位了保險起見,再和H00FF做與運算,保證取得的ASC碼是合法的。
2。取低位字符,與H00FF做與運算,去掉高位數(shù)據(jù),剩下的就是低位ASC碼。
3。將ASC碼轉換為字符,用CHR函數(shù)即可,然后連接所有的字符即可得String
首先申明OPC對象:
Option Base 1
Dim WithEvents ServerObj As OPCServer 'OPC Server對象,連接OPC服務器
Dim GroupsObj As OPCGroups 'OPC Groups對象,添加OPC組
Dim WithEvents GroupObj As OPCGroup 'OPC Group對象
Dim ItemsObj As OPCItems 'OPC Item集合
Dim ServerHandles() As Long '服務器端OPC Item的句柄
Dim ClientHandles() as Long '客戶端OPC Item的句柄
Dim ItemId(2) As String
Dim Errors() As Long
接下來,生成各個對象:
If ServerObj Is Nothing Then Set ServerObj = New OPCServer
'連接OPC服務器
If ServerObj.ServerState = OPCDisconnected Then
ServerObj.Connect ("OPC.SimaticNET") '假設OPC服務器運行在本機
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 '設置組為活動狀態(tài)
'假設有兩個數(shù)據(jù)源,一個是8位開關量輸入,一個是8位開關量輸出
ItemId(1) = "S7:[S7 connection_1]IB0"
ItemId(2) = "S7:[S7 connection_1]QB0"
ClientHandles(1) = 1
ClientHandles(2) = 2
'添加組項目,ServerHandles數(shù)組的值為各個OPC Item的服務器句柄,
' ClientHandles數(shù)組的值為各個OPC Item的客戶端句柄,由應用程序設定
Call ItemsObj.AddItems(2, ItemId, ClientHandles, ServerHandles, Errors)
網(wǎng)站名稱:vb.net設置opc vb net
新聞來源:http://jinyejixie.com/article38/doscjpp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站制作、網(wǎng)站設計公司、App開發(fā)、外貿(mào)建站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)