可以使用組態控制來組態控制系統的結構(此處為S7-1500 的集中式組態)并使用不同于此組態的變型(選項)。
一系列相似設備單元或機器所需的所有模塊都在具有最大組態的主項目(全站組態方式)中進行組態。
在主項目的用戶程序中,包含有適用于不同設備單元或機器的各種站組態方式,以及站組態方式的選件。例如,某種站組態方式僅使用一部分已組態的模塊,而且這些模塊以不同的順序插入。
操作員可根據現場特定的設備選擇某種站組態方式。他們無需修改項目,因此也無需下載修改后的組態。
在啟動程序中編程的控制數據記錄會通知 CPU 哪些模塊缺失以及哪些模塊所在的插槽不同于預設組態。組態控制對模塊的參數分配沒有影響。
組態控制為用戶提供了靈活性,只要實際組態不超過預設的最高組態,就可以改變集中式安裝。
下文將介紹如何激活組態控制(CPU 參數分配)以及如何構造所需的數據記錄。
要求
STEP 7 Professional 版本 V13 或更高版本
CPU S7-15XX 固件版本 1.5 或更高版本支持“組態控制”功能的模塊還在硬件目錄的說明(信息文本)中提供“組態控制”(Configuration control) 條目。
建議:在加載帶有修改后的控制數據記錄的新程序之前,需先復位為工廠出廠設置。此操作可以防止因存在不兼容的控制數據記錄而造成狀態不一致。
啟動參數“比較預設組態與實際組態”設置為“即使不一致也啟動 CPU”(默認設置)。
所需步驟
在“組態控制”(Configuration control) 區域組態 CPU 時啟用“允許通過用戶程序重新組態設備”(Allow to reconfigure the device via the user program) 參數。
根據以下描述的控制數據記錄示例,按照當前組態創建控制數據記錄(例如在數據塊中)??刂茢祿涗浀木幪枮?196。請注意,需要先創建一個包含控制數據記錄結構的 PLC 數據類型,并將該數據塊定義為 PLC 數據類型。
在啟動程序中將控制數據記錄傳輸到 CPU。
對于集中插入的模塊,僅當 CPU 的操作模式從 STOP 更改為 RUN 后,組態控制才會生效。因此,請在啟動 OB 中調用擴展的 WRREC(寫入數據記錄)指令,將創建的控制數據記錄傳輸到 CPU;請參見下一章節。
如果在啟動 OB 中未傳輸有效的控制數據記錄,則控制未做好運行準備。在這種情況下,CPU 從啟動狀態恢復到 STOP 狀態。
在啟動程序中傳輸控制數據記錄
CPU 處理 WRREC 指令以便異步傳輸控制數據記錄。因此,必須在一個循環內,在啟動 OB 中重復地調用 WRREC,直到輸出參數“BUSY”或“DONE”指出數據記錄已傳輸。
提示信息:請使用 SCL 編程語言和 REPEAT ... UNTIL 指令編程此循環。
REPEAT
"WRREC_DB"(REQ := "start_config_control",
ID := 33,
INDEX := 196,
LEN := "conf_LEN",
DONE => "conf_DONE",
BUSY => "conf_BUSY",
ERROR => "conf_ERROR",
RECORD := "ConfDB".ConfigControl,
STATUS => "conf_STATUS");
UNTIL NOT "conf_BUSY"
END_REPEAT;
下表中列出了組態控制中需指定特定值的塊參數。有關其它塊參數,另請參見“WRREC”:
參數 | 說明 |
---|---|
ID | 硬件標識符,對于集中排列模塊的組態控制,始終為 33(十進制)。 |
INDEX | 數據記錄編號,對于集中排列模塊的組態控制,始終為 196(十進制)。 |
RECORD |
要傳輸的控制數據記錄。 參見“控制數據記錄”部分的控制數據記錄結構。 提示信息:WRREC 指令(V1.1 以及更高版本)塊參數“RECORD”的數據類型為“VARIANT”,因此需要帶數據類型的變量。如果將控制數據記錄存儲在數據塊中,那么此數據塊必須具有數據類型。所創建的數據塊不得是“全局 DB”類型,更確切地說,它必須屬于用戶數據類型。 請按以下步驟操作: 首先創建一個具有控制數據記錄結構的新 PLC 數據類型(用戶數據類型),并為其命名,例如命名為“ConfDB”。 創建一個新數據塊。選擇新創建的用戶數據類型(如“ConfDB”),作為該數據塊的類型。 |
在圖形編程語言中,使用程序控制指令實現循環。
FBD 中的示例:使用 LABEL(跳轉標簽)和 JMP(RLO=1 時跳轉)指令編寫循環。
模塊的排列
下表列出了插槽號的分配:
插槽 | 模塊 | 說明 |
---|---|---|
0 | 電源模塊(可選) | CPU 左側的插槽 |
1 | CPU | 插槽 1 中始終為 CPU |
2 到 31 | I/O 模塊/系統電源模塊(取決于具體組態) | CPU 右側的插槽 |
控制數據記錄
將包含插槽分配的控制數據記錄 196 定義為用于組態控制。
字節 | 元素 | 代碼 | 說明 |
---|---|---|---|
0 | 塊長度 | 4 + 插槽數 | 標頭 |
1 | 塊 ID | 196 | |
2 | 版本 | 4 (用于集中式 I/O) | |
3 | 子版本 | 0 | |
4 | 分配所組態的插槽 0 | 實際插槽 0 |
控制元素 每個元素分別為設備中與已組態插槽對應的實際插槽。下面說明了控制元素的結構。 |
5 | 分配所組態的插槽 1 |
實際插槽 1 (始終為 1,因為 CPU 始終位于插槽 1 中) |
|
6 | 分配的已組態插槽 2 | 實際插槽或 16#FF | |
7 | 分配的已組態插槽 3 | 實際插槽或 16#FF | |
... | ... | ... | |
4+(最大插槽編號) | 分配所組態的最大插槽編號 | 實際插槽或 16#FF |
控制元素的結構
控制元素包含有關哪個模塊插入哪個插槽的信息。
字節編號代表按升序排列的已組態插槽(參見上文):
字節 4 代表已組態的插槽 0
字節 5 代表已組態的插槽 1
字節 6 代表已組態的插槽 2
依此類推。
在相應字節中輸入指定值,具體取決于以下規則:
如果模塊在實際組態中存在,則輸入模塊的實際插槽編號。
示例 1:組態為插入插槽 2 的模塊位于插槽 2。
在字節 6(= 組態的插槽 2)中輸入值 2(= 實際插槽)。
示例 2:組態為插入插槽 3 的模塊位于插槽 2。
在字節 7(= 組態的插槽 3)中輸入值 2(= 實際插槽)。
如果模塊在實際結構中不存在,則在所組態插槽的字節中輸入 16#FF (255)。
規則
請遵守以下規則:
如果啟用了組態控制,沒有控制數據記錄 CPU 將不工作。如果在啟動 OB 中未傳送有效的控制數據記錄,則 CPU 將從啟動模式返回到 STOP 模式。此時,不會對集中式 I/O 進行初始化。CPU 轉入 STOP 操作模式的原因將保存在診斷緩沖區中。
要對 WRREC 指令尋址,請使用硬件標識符 33(十進制,適用于 ID 塊參數)寫入控制數據記錄。
控制數據記錄始終保存在 CPU 中,因此在重新啟動時如果組態沒有發生變更則無需重新寫入控制數據記錄 196。在調試前,建議對 CPU 執行存儲器復位,以刪除存在的任何控制數據記錄。
CPU 將忽略不在預設組態中的控制數據記錄中的插槽條目。
您可以縮短控制數據記錄。但必須包含當前預設組態中最多到最后一個插槽的條目數。
在控制數據記錄中,每個實際插槽只能記錄一次。
只能將實際插槽分配給一個已組態的插槽。
使用 CP/CM:
對于組態控制,點對點 CP/CM 的工作方式類似于數字量和模擬量模塊(無限制)。
固件版本為 V1.7 或更高版本的 CPU:
如果集中式組態包括 CP/CM,例如 CM 1542-5(DP 主站或 DP 從站),那么這些 CM/CP 將不受組態控制的影響。因此,這些模塊必須保留在其組態的插槽中,并且其組態的插槽編號輸入到控制數據記錄中(“實際插槽 = 組態的插槽”)通過將 CM/CP 插入到緊挨著 CPU 的右邊可實現最大靈活性。
固件版本為 V1.6 或更高版本的 CPU:
原則上,CM 和 CP 不能用于組態控制。
系統電源模塊 (PS) 也應遵從組態控制。有關此主題的信息,請參見 S7-1500 系統手冊。特別是對插槽 0 上的系統電源模塊 (PS),建議避免重新組態。
說明 修改過的組態 將修改后的組態寫入控制數據記錄時,CPU 將自動重新啟動為更新后的組態。 因此始終保存的原始數據記錄 196 將被刪除,并始終保存新的數據記錄 196。 |
操作期間的行為
預設組態和實際組態之間差異的影響:
對于在線顯示以及診斷緩沖區中的顯示(模塊正常或模塊發生故障),始終使用硬件配置而并非不同的實際組態。
示例:模塊提供診斷信息。此模塊組態為插入插槽 4,但實際卻插入到插槽 3 中(模塊缺失,參見下一章節中的示例)。在線視圖中,指示組態的插槽 4 發生故障。在實際組態中,插槽 3 中的模塊通過 LED 顯示屏指出出現錯誤。
如果模塊在控制數據記錄中記錄為缺失,那么自動化系統將會執行以下操作:
在控制數據記錄中指定為不存在的模塊不提供診斷,其狀態始終為“正常”(OK)。值狀態為“正?!?OK)
對輸出進行直接寫訪問,或者對不存在的輸出過程映像進行寫訪問:仍然無效;不顯示任何訪問錯誤。
對輸入進行直接讀訪問,或者對不存在的輸入過程映像進行讀訪問:提供值“0”;不顯示任何訪問錯誤。
將數據記錄寫入不存在的模塊:仍然無效;不顯示任何錯誤。
從不存在的模塊讀取數據記錄:顯示錯誤,因為無法返回有效的數據記錄。
錯誤消息
如果在寫入控制數據記錄的過程中發生錯誤,則將返回以下錯誤消息:
錯誤消息
錯誤代碼 | 含義 |
---|---|
16#80B1 | 長度無效;數據記錄 196 中的長度信息不正確。 |
16#80B5 | 未分配組態控制參數。 |
16#80E2 | 數據記錄在錯誤的 OB 中傳送。該數據記錄需在啟動程序中傳送。 |
16#80B8 | 參數錯誤;模塊指示存在無效參數。 |
以下部分組態了一個包含系統電源、CPU 和 3 個 I/O 模塊的組態。
插槽 3 中的模塊在第一個組態擴展中不存在,被組態控制“隱藏”。
在第二個組態擴展中,最初隱藏的模塊位于最后一個插槽中。CPU 通過一條修改后的控制數據記錄獲知增加插槽的信息。
缺少模塊的實際組態
指定的組態包含所有可以在最后擴展階段顯示的模塊。
在指定組態中插入到插槽 3 的模塊在實際擴展組態中缺失。因此,插槽 3 必須在控制數據記錄中相應地進行編碼:"FF H" (= 不存在)。
① | 模塊在實際組態中缺失 |
后繼所添加模塊的實際組態
在指定組態中插入到插槽 3 的模塊作為最后一個模塊插入到插槽 4,添加到實際組態之后。
控制數據記錄會相應地進行調整。
審核編輯:劉清
-
plc
+關注
關注
5016文章
13388瀏覽量
465422 -
電源模塊
+關注
關注
32文章
1717瀏覽量
93162 -
組態控制
+關注
關注
0文章
4瀏覽量
6466 -
S7-1500
+關注
關注
3文章
300瀏覽量
6517
原文標題:西門子博途:S7-1500有關組態控制的重要信息(選件處理)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論