kepserver 作為opc server 連接西門子PLC 配置


C#通過OPC服務器連接PLC讀寫數據

什么是OPC?
    OPC是工業控制和生產自動化領域中使用的硬件和軟件的接口標准,以便有效地在應用和過程控制設備之間讀寫數據。O代表OLE(對象鏈接和嵌入),P (process過程),C (control控制)。

    OPC標准采用C/S模式,OPC服務器負責向OPC客戶端不斷的提供數據。OPC服務器包括3類對象(Object):服務器對象(Server)、組對象(Group)和項對象(Item)。

 

 

 

 

(1)OPC服務器對象維護有關服務器信息,並作為OPC組對象的包容器,它提供了對數據源進行讀/寫和通信的接口方法,可以動態地創建或釋放組對象。

(2)OPC組對象由客戶端定義和維護,它維護有關其自身的信息,提供包容OPC項對象的機制,從邏輯上實現對OPC項的管理。

(3)OPC項對象包含在OPC組中,可由客戶端定義和維護。項代表了與數據源的連接,所有的OPC項的操作都是通過包容此項的OPC組對象完成的。

OPC服務器連接PLC
     KEPServerEX提供的西門子SiemensTCP/IP驅動能夠為用戶提供一個OPC服務器接口,將西門子TCP/IP以太網設備連接到OPC客戶端應用程序中。

     下面以西門子S7-300系列PLC為例,說明如何建立KEPServerEX和該系列PLC的連接。S7-300系列PLC可通過通訊模塊CP343實現通信。

2.1 設置KEPServerEX

※新建通道:New Channel

(1)打開“KEPServerEX V5.4”軟件,點擊軟件界面“File”->“New”或者工具欄上的“New Project”,新建一個新工程:

 

 

 

(2)單擊軟件界面“Click to add a channel.”或者工具欄上的“New Channel”,新建一個通道:

 

 

 

(3)修改通道名“Channel name”或不作修改,單擊“下一步”。

(4)選擇你想分配給本通道的設備驅動“Device driver”,在下圖的下拉列表中選擇“Siemens TCP/IP Ethernet”,單擊“下一步”:

 

注意:1、在上圖的下拉列表中選擇您要連接設備的設備驅動;

2、如果用戶在使用過程中沒有找到所要連接設備的驅動,則可能是沒有進行完全安裝,用戶應該對KEPServerEX進行修改(Modify)安裝。用戶在安裝KEPServerEX時可根據需要安裝所需要的設備驅動或者全部驅動。

(5)選擇設備所用的網絡適配器“Network Adapter”。這里選擇“Default”,單擊“下一步”。

(6)對通道進行優化設置“Write Optimizations”,這里保持默認值,單擊“下一步”。

(7)設置總結,單擊“完成”。

至此,通道新建完成。

(8)用戶可通過右鍵單擊或者雙擊通道名修改通道參數:General、Network Interface、Write Optimizations。

 

※新建設備:New Device

(1)單擊軟件界面“Click to add a device”或者工具欄上的“New Device”,進行設備設置。

(2)修改設備名稱“Device1 ,單擊“下一步”。

(3)選擇設備模型“Device model”, 這里我們選擇“S7-300”,單擊“下一步”。

 

 

 

(4)選擇設備ID“Device ID”, 這里指的是所要連接的PLC設備的IP地址。假如IP地址為:192.168.0.155,則設置如下:

 

 

 

(5)設置通信的時間參數“Timing”,這里我們保持默認設置不變,單擊“下一步”。

(6)自動降級“Auto-Demotion”設置,這里我們保持默認設置不變,單擊“下一步”。

(7)通信參數“Communication Parameters”設置,這里我們保持默認設置不變,單擊“下一步”。

(8)設置S7通信參數“S7 Comm. Parameters”等,這里我們保持默認設置不變,單擊“下一步”。

其中:Link Type:連接類型,一般選擇默認值“PC”;

Rack(0~7):實際機架的位置,應該與STEP7中的對應設置一致;

CPU Slot(1~31):實際連接的PLC的CPU所在的槽位,應該與STEP7中的對應設置一致;(實際上,我用的是3,這里不重新截圖了)

 

 

 

注意:這些設置需要和實際連接的PLC的相應設置一致!

(9)設置字節順序“Byte Order”,這里我們保持默認設置不變,單擊“下一步”。

其中:Big Endian:大端模式,Little Endian:小端模式

(10)設置內容的顯示,單擊“完成”。

(11)用戶可通過右鍵單擊->Properties或者雙擊設備名稱修改設備參數:

 

 

 

到這里,opc server的配置已經完成了。正常步驟應該是用C#  或C++  或VB 寫自己 的opc client,連接上opc server去讀取數據了。不過可以先做連接測試,驗證是否連接上,方法:

1、可以用kepserver 自帶的 quick client來測試是否連接上。

※新建標簽:New Tag

(1)單擊軟件界面“Click to add a static tag”,或者工具欄“New Tag”增加一個標簽。

(2)設置Tag屬性: 重點!!!! 在這里,!!西門子的PLC 的address  要用 DB220DBW130 這種形式,不能是db1900,real220, ,后面這種格式的 用wonderware  公司的smc  做da server時候 讀取西門子PLC 用的。切記!

name  要有,隨便給,有意義就可以,其他默認,可以選擇client access 設置為只讀,如果需要。

 

 

 

 注意:你填好之后,可以單擊“對號”按鈕進行測試或幫助。

上述只增加了1個點。

(3)查看數值,點擊quick client ,看到自己加的點的數據了。

 

 

 

(4)到這里,就臉上了PLC,並且讀取了1 個點的值,其實實際應用中,增加點 item的過程是在自己寫的opc client程序中完成的,這里是測試,就手動了。

另外,也可以用其他的opc client做測試,不用 quick client,我這里主要說一下點 地址的格式。如用 takebishi opc client 網上可以下載到的。

配置如下:

1、連接 kep server    .opc---connect  會顯示本地電腦上的各種opc server,因每個人電腦上安裝的不同有差異。

 

 

 

2、增加點 Opc--add  item  ,因為我剛在kep server 中增加了test 這個點,點擊Device1 可以看到那個點,選中test,add item 添加就可以了。看到連接成功,讀取到值。

 

 

 

3、如果kep server 中沒有想要的點,自己添加,格式為  Channel1.Device1.DB220DBW132,添加。

 

 

 

4、到這里,用takebishi opc client 做測試也完成了。

 

總結,摸索過程中,我最痛苦的就是添加item的格式問題了。用kep server  和 takebishi opc client 的西門子PLC格式為 DB220DBW132,而我以前都是用wonderware 做server 格式是,db120,real100,

 

有了opc serve后,就是自己開發opc client了,這個網上很多教程的,要注意里面選用opc server的時候,設置

 objServer = new OPCServer();  //創建opc server對象   

objServer.Connect("KEPware.KEPServerEx.V5", null); //連接opc server ,因所用opc server不同而不同

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM