使用 PLC 數據類型
PLC 數據類型 (UDT) 是可自行定義且在程序中可以多次使用的數據結構。 此結構可包含不同數據類型的多個元素。 聲明 PLC 數據類型期間,可以定義各個元素的數據類型。
如果需要各種數據類型的組裝數據記錄,則會頻繁使用 PLC 數據類型,并且將從程序中的不同點處理這些數據。 例如,這些數據可以是:
用于物料跟蹤的數據記錄
配方
使用 PLC 數據類型有以下優點:
PLC 數據類型元素也可以間接尋址,這意味著地址可變,并且到運行時才會計算。
基于 PLC 數據類型的變量繼承 PLC 數據類型的所有屬性。 如果對 PLC 數據類型進行了更改,所有基于此 PLC 數據類型的變量都會自動修改。
使用統一的符號表示可以提高程序可讀性,這是因為 PLC 數據類型各個元素的名稱都顯示在程序中。
可以對 S7-1500 CPU 高性能進行最佳利用。
PLC 數據類型可以作為塊調用的完整結構進行傳送。
由于需要提供的參數更少,因而簡化了調用接口。
STEP 7 V5.x 中的操作步驟
STEP 7 V5.x 已經允許用戶使用 STRUCT 數據類型或 PLC 數據類型(UDT)將數據記錄創建為一個結構化變量。 但由于使用了符號尋址,因而會給性能帶來些許影響。
數據塊中的聲明大多數以匿名結構來實現。 隨后塊本身經過編程將該結構的值作為實參進行傳送,而計算出的值被復制回該結構。 這樣就可以傳送數據塊編號,并在塊中使用絕對尋址。 需要提供的參數數量通常較大。 實際數據存儲在數據塊中,計算出的值傳送到其它塊。 但在傳送數據塊變量時,沒有可用的符號表示。
STEP 7 TIA Portal 中的編程示例
可以將形參和實參分配給 PLC 數據類型。 這意味著無需聲明每個單獨的參數。 如果塊具有 PLC 數據類型的輸入參數,則必須傳送具有相同 PLC 數據類型的變量作為實參。
以下示例說明了使用兩個形參的函數塊 (FB) 的調用和參數分配:
要創建 PLC 數據類型,請在項目樹中雙擊“PLC 數據類型”(PLC data types) 文件夾中的命令“新增數據類型”(Add new data type)。 這樣,將創建并打開一個用于創建 PLC 數據類型的新聲明表。 將 PLC 數據類型重命名為“UDT_Material”。 在 PLC 數據類型中聲明以下行: ArticleNumber > 數據類型: DINT ArticleName > 數據類型: STRING Amount > 數據類型: REAL Unit > 數據類型: STRING |
在全局數據塊中,使用 PLC 數據類型。 可以將 PLC 數據類型直接指定為數據塊的數據類型或在數據塊中作為變量的數據類型。
要為此創建全局數據塊,請按以下步驟操作:
雙擊“添加新塊”(Add new block) 命令。 這樣會打開“添加新塊”(Add new block) 對話框。 單擊“數據塊 (DB)”(Data block (DB)) 按鈕。 指定名稱“DB_MaterialBuffer”。 選擇數據塊類型“ARRAY DB”。 選擇 PLC 數據類型“UDT_Material”作為 ARRAY 數據類型。 指定“1000”作為 ARRAY 上限。 單擊“確定”(OK)。 |
在函數塊調用中,將形參與全局數據塊“DB_MaterialBuffer”中的變量互連。
創建一個 SCL 函數塊并將其命名為“FB_Material”。 按如下方式聲明塊接口: 編寫以下程序代碼: 在 OB1 中調用“FB_Material” 函數塊,并將形參與全局數據塊“DB_MaterialBuffer”的變量互連。 |
在全局數據塊“DB_MaterialBuffer”中移動了物料數據。
審核編輯:劉清
-
plc
+關注
關注
5010文章
13271瀏覽量
463068 -
西門子
+關注
關注
94文章
3034瀏覽量
115786 -
SCL
+關注
關注
1文章
239瀏覽量
17057 -
S7-1500
+關注
關注
3文章
300瀏覽量
6392
原文標題:西門子博途:使用 PLC 數據類型 (UDT)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論