UCON (User Configurable)

有關於各個Buffers請參考以下介紹

●Scratch Buffers: 每個Device都會與256 Scratch buffers有關連,而這些Device都能與使用者所定義的Device互相交換資訊。儲存在Scratch buffer的資料只要OPC Server專案有在運作這些資料就會透過Scratch buffer被建立在OPC Server裡(或是Scratch buffer被覆寫)。

●Rolling Buffers: 每個Device都會與Rolling buffers有關連,而這些Device都能與使用者所定義的Device互相交換資訊。Rolling buffers相似於Scratch buffers,但是Rolling buffers和Scratch buffers的差異在於寫入附加資料會進行資料替換。儲存在Rolling buffer的資料只要OPC Server專案有在運作這些資料就會透過Scratch buffer被建立在OPC Server裡(或是Rolling buffer被覆寫)。

●Global Buffers:256 Global buffers,能夠與Devices互相交換資料。每個Global buffer都會與每個Channel底下的Devices都有關聯。

注意:資料只能複製到與Scratch或是Rolling buffers相關的Devices。

程序ID為Kepware.U-CON。

 

注:U-CON協定伺服器是一個KEPServerEX V4產品。KEPServerEX V5沒有獨立的U-CON伺服器。

要輸入事務命令,首先選擇事務類型。 然後點擊交易步驟區域。

有關將字串值轉換為數字的訊息,請參閱以下說明。

  1. 在 U-CON 事務編輯器的左側窗格中,雙擊 Tag以打開“ Tag 屬性”。
  2. 設定資料類型和資料格式來轉換資料。


注意:資料類型是Client應用程式可以存取的。 資料格式是與設備進行通訊所必需的。 例如,要將ASCII字串123.456轉換為浮點數,請選擇Float的資料類型和ASCII Real的資料格式。 如果可用,請點擊 Format properties 以設定資料格式的屬性。

決定使用User-Configurable (U-CON) 驅動程式與設備通訊,使用者必須建立Transaction(事務)讀取設備資料。Transactions(事務)主要是對設備建立與發送讀取請求所需要得步驟,並且處理設備的回應。

使用U-CON與設備通訊,就可以建立Transaction(事務) 讀或寫設備資料。Transactions(事務)主要是對設備建立與發送讀取請求所需要得步驟,並且處理設備的回應。附件教學如何在U-CON建立寫入的請求。是使用Modbus RTU協定建立。附件的” Creating a Simple Write Transaction”應用程式說明文檔。

 U-CON - Creating a Simple Write Transaction.zip

Kepware有一個教學,示範如何使用User-Configurable (U-CON) 驅動程式中建立讀取請求,且接收多個回應項目。是訓練使用協定的建立。

.zip檔包含範例專案和教學4:在一次讀取請求中接收多個項目應用程式的解釋。

與設備執行讀或寫執行時,設備傳送錯誤訊息並不少見,應該都在執行中處理。附加的教學範例,如何在U-CON讀或寫請求中進行錯誤處理,且使用Modbus RTU協定建立。包含範本專案與應用註解,使用在檔案範本專案建立。

這操作在Client端應用程式進行寫入。以下範例代碼顯示讀取處理,在"on" and "off"作為讀取值傳送到設備。

 

動作,指令,值/格式,說明

1, Write Character, 2 0x02 STX, Start Byte
2, Write Device ID, 8 Bit Intel Hi, Device ID
3, Write Character, 42 0x2A *, Request Data command
4, Write Character, 3 0x03 ETX, End Byte
5, Transmit
6, Read Response, Wait For Character, 3 0x03 ETX
7, Test Character, 9 0x09 HT, Test Response Data Source, Read Buffer, , 4 True Action, GoTo, Toggle False Action, End,
8, Toggle, N/A, Action for "True" test result
9, Write Character, 2 0x02 STX, Start Byte
10, Write Device ID, 8 Bit Intel Hi, Device ID
11, Write Character, 42 0x2C ,, Toggle Trigger
12, Write Character, 1 0x01 SOH, Write On
13, Write Character, 3 0x03 ETX, End Byte
14, Transmit
15, Pause, 30msec, Wait 30msec for device before sending next data (optional)
16, Write Character, 2 0x02 STX, Start Byte
17, Write Device ID, 8 Bit Intel Hi, Device ID
18, Write Character, 42 0x2C ,, Toggle Trigger
19, Write Character, 0 0x00 Null, Write Off
20, Write Character, 3 0x03 ETX, End Byte
21, Transmit
22, End, N/A

注意:可選擇停止處理指令,可讓設備在寫入中停止。

下列範例代碼顯示如何設定讀取處理列舉來自設備的回應,假設設備使用二進位協定,且回應資料位元是十六進位值為0x00到0x03。Tag名稱為"Message"。Tag屬性在U-CON Transaction Editor中選擇,而不在主要伺服器視窗中。如下:

1.資料型態為String。

2.格式ASCII String [ccc...]。點擊格式屬性並選擇以下內容:

  • 不固定常度。
  • 不做下一個定義符號分析。
  • 從資訊框結束讀取0 bytes。

 

動作,指令,值/格式,說明

1, Write Character, 2 0x02 STX, Start Byte
2, Write DeviceID, 8 Bit Intel Hi,
3, Write Character, 42 0x2A *, Read Data Command
4, Write Character, 33 0x21 !, Data Address
5, Write Character, 3 0x03 ETX, End Byte
6, Transmit
7, Read Response, Wait For 5 Bytes, Read data from PLC
8, Test Character, 0 0x00 Null, GoTo Val_0 if True Continue if False
9, Test Character, 1 0x01 SOH, GoTo Val_1 if True Continue if False
10, Test Character, 2 0x02 STX, GoTo Val_2 if True Continue if False
11, Test Character, 3 0x03 ETX, GoTo Val_3 if True GoTo Bad_Data if False
12, Label, Val_0, N/A,
13, Write String, Value is 0, Sample string for enumeration Data destination, Scratch Buffer, 2,
14, Update Tag, Message Data Source, Scratch Buffer, 2, Start Byte 1
15, End, End transaction so process pointer does not fall through to next line
16, Label, Val_1, N/A,
17, Write String, Value is 1, Sample string for enumeration Data destination, Scratch Buffer, 2,
18, Update Tag, Message Data Source, Scratch Buffer, 2, Start Byte 1
19, End, End transaction so process pointer does not fall through to next line
20, Label, Val_2, N/A,
21, Write String, Value is 2, Sample string for enumeration Data destination, Scratch Buffer, 2,
22, Update Tag, Message Data Source, Scratch Buffer, 2, Start Byte 1
23, End, End transaction so process pointer does not fall through to next line
24, Label, Val_3, N/A,
25, Write String, Value is 3, Sample string for enumeration Data destination, Scratch Buffer, 2,
26, Update Tag, Message Data Source, Scratch Buffer, 2, Start Byte 1
27, End, End transaction so process pointer does not fall through to next line
28, Label, Bad_Data, N/A,
29, Log Event, Invalid message value received., Log a message to the server event log.
30, End, End transaction

 

注意:KEPServerEX 4.200.353版本新增寫入字串指令”Data Destination”選項。

U-CON事務編輯器無法保存設定檔,然後將其打開以供其他專案使用,但可以移動。 有關移動專案的訊息,請參閱以下說明。

 

  1. 用所需的U-CON設定檔打開專案。
  2. 選擇channel,然後右鍵點擊並選擇Copy
  3. 接下來,打開目標 Server 專案。 不要關閉 Server 或configuration Client 。
  4. 將複製的通道貼到新打開的專案中並保存專案。

User-Configurable (U-CON)Driver與其他的Drivers在創建專案時有一些差異。為了解釋在U-CON專案中可用設定之差異,Kepware提供教學敘述專案創建的過程。

例如,在建立專案應用程式時會跳出小提示來提醒使用者,同時也可以參閱附件檔案.zip。

在ASCII標籤建立標籤,請使用多個Tag更新暫存緩衝區與單個Tag(屬於觸發),發送訊息到印表機。 有關詳細訊息,請參閱ASCII印表機範例。

 

注:範例是使用KEPServerEX 4.270.416.0版本,建議使用該版本或更高版本中開起。

 

例如印表機模擬產品標籤,有5個Tag:4個資料Tag(Prod_Name,Prod_Desc,Prod_Model和Prod_SN)和一個印表機標籤。前三個資料Tag是ASCII字串Tag,剩下資料標籤是ASCII整數格式。4個資料Tag具有以下內容:

  • 寫入處理,寫入資料到暫存緩衝區。每個Tag都有不同的緩衝區。
  • 讀取處理由一更新Tag命令組成。可讓Client端讀回最後一筆每個Tag內容。

 

印表機標籤具有以下內容:

  • 寫入處理結合其他Tag資料組成一個訊息,在發送訊息到設備。
  • 讀取處理,從暫存緩衝區更新Tag。

 

注1:寫入處理是在值寫入印表機標籤時觸發。

注2:這範例使用初始化緩衝區功能,讓寫入唯一印表機標籤讀取良好品質(或0值)。這功能也可讓資料Tag在寫入之前讀取良好品質。可以從User-Configurable (U-CON)驅動的處理編輯工具欄存取。

必須為未經請求的通訊設定通道。 有關詳細訊息,請參閱 User Configurable(U-CON) Driver 產品手冊

U-CON協定 Server 設計用於簡單的協定 Device ,如掃描儀和秤或基於 Serial 的傳感器。 當然有時也支援更複雜的協定。 如果熟悉 Device 的協定結構,請使用隨附的教學作為評估設定檔案的指南。

 

如果不確定該 Device 是否可與Kepware Driver一起使用,請聯繫技術支援,並與U-CON支援工程師進行安排,以評估 Device 協定訊息。

U-CON協定 Server 支援通過 Ethernet封裝的主動交易,這需要一個 Serial-to-Ethernet轉換器,可以設定為啟動與Server正在使用的PC和 port 的連接和重新連接。 Kepware的“UNSOL_Eth_Example.zip”包含一個範例專案,設定為通過DIGI One IA(設定為自動TCP連接回到執行 Server 的PC)從權重範圍接收資料。

 

有關更多訊息,請聯繫Kepware技術支援

Please publish modules in offcanvas position.