kepserver 作為opc server如何 連接西門子PLC


置頂 2018年08月08日 19:24:48 閱讀數 14346

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

1. 什麼是OPC?

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

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

kepserver 作為opc server如何 連接西門子PLC

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

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

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

1. 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",新建一個新工程:

kepserver 作為opc server如何 連接西門子PLC

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

kepserver 作為opc server如何 連接西門子PLC

(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",單擊"下一步"。

kepserver 作為opc server如何 連接西門子PLC

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

kepserver 作為opc server如何 連接西門子PLC

(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,這裡不重新截圖了)

kepserver 作為opc server如何 連接西門子PLC

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

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

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

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

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

kepserver 作為opc server如何 連接西門子PLC

到這裡,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 設置為只讀,如果需要。

kepserver 作為opc server如何 連接西門子PLC

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

上述只增加了1個點。

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

kepserver 作為opc server如何 連接西門子PLC

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

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

配置如下:

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

kepserver 作為opc server如何 連接西門子PLC

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

kepserver 作為opc server如何 連接西門子PLC

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

kepserver 作為opc server如何 連接西門子PLC

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


分享到:


相關文章: