西門子 S7 擷取
1. 建立節點
Section titled “1. 建立節點”(1.) 進入 CommBridge 頁面的【智慧孿生】,在左側點選切換至【裝置智聯】。

(2.) 依次拖曳 西門子 S7 用戶端、資料處理和 MQTT 上傳外掛到外掛工作區,分別產生三個節點。

(3.) 依次連線三個節點,連線順序:西門子 S7 用戶端 → 資料處理 → MQTT 上傳。

2. 建立方案
Section titled “2. 建立方案”(1.) 按兩下【西門子 S7 用戶端】,點選【新增方案】按鈕。

(2.) 填寫連線設定,點選【下一步】。

(3.) 點選【新增分組】,填寫分組資訊,點選【確認】。

(4.) 點選【新增資料】,填寫點位資料,點選【確認】。

(5.) 點選【完成】,成功新增擷取方案。

(6.) 開啟方案的開關,點選【儲存】。

3. 檢視結果
Section titled “3. 檢視結果”(1.) 點選【裝置智聯】的【部署】按鈕,部署成功。

(2.) 點選切換至【智慧孿生】,滑鼠移動至【西門子 S7 用戶端】節點,彈出節點資訊清單。

(3.) 點選方案,檢視該方案下各分組的點位即時資料和歷史資料。
即時資料是十進位制的資料

4. 設定描述說明
Section titled “4. 設定描述說明”| 參數 | 前提 | 描述 | 格式 | 舉例 |
|---|---|---|---|---|
| 方案名稱 | 使用者自訂該方案的名稱 | 非空 | 擷取 s7 | |
| IP | 被擷取的西門子 PLC 的 IP 位址 | 輸入點分十進位制格式的位址 | 172.21.78.157 | |
| 埠 | 被擷取的西門子 PLC 的埠號 | 輸入 1~65535 範圍的整數 | 102 | |
| 型號 | 西門子 S7 裝置的機型 | 下拉式選單選擇 | Custom | |
| 機架號 | rack,CPU 所在的機架 | 數字,範圍是 0-7 | 0 | |
| 卡槽號 | slot,CPU 所在的卡槽 | 數字,範圍是 0-31 | 1 | |
| 同步擷取 | 是否同步擷取,Yes 或 No | Yes、No | Yes | |
| 擷取週期 | 同步擷取為 Yes | 資料讀取輪詢週期,單位 ms | 數字,範圍:(100,2147483647] | 2000 |
| 擷取時效性 | 同步擷取為 Yes | 單位 ms | 數字,範圍:(0, 擷取週期] | 1000 |
注意:
- 裝置型號:S7-300、S7-400、S7-1200、S7-1500、200Smart、Custom;若該裝置的機架號或者卡槽號被修改了,則選擇型號為 Custom
- 機架號:西門子 S7 PLC 有一個主機架和多個擴充機架;其中,安裝有 CPU 的機架稱為主機架,即機架號為 0;擴充的機架編號依次為 1 號機架、2 號機架、3 號機架等。
- 卡槽號:卡槽用來分配 CPU 模組、電源模組、介面模組、I/O 訊號模組、通訊模組、功能模組等在機架上的具體位置的,每個模組只佔用一個槽號。
- 同步擷取:“Yes”表示整個方案下分組的擷取週期、超時時間和擷取時效性統一設定;“No”表示每個分組自行設定擷取週期、超時時間和擷取時效性。
解釋:
-
在常見的 S7 用戶端連線中,遠端 TSAP 使用兩個位元組:第一個位元組表示連線型別,第二個位元組編碼 CPU 機架號和CPU 槽號。具體 TSAP 設定需與 PLC 的連線設定一致。
-
TSAP 分為 Local TSAP(相當於擷取程式的位址)和 Remote TSAP(相當於 PLC 的位址)。不同的 PLC 型號,機架號和卡槽號不盡相同。
西門子 S7 系列 PLC 的 Rack/Slot 設定規則如下:
| PLC 型號 | Rack | Slot |
|---|---|---|
| S-300 | 0 | 2 |
| S-400 | 0 | 2 |
| S-1200 | 0 | 0 或 1 |
| S-1500 | 0 | 0 或 1 |
| S-300Smart | 0 | 2 |
| 參數 | 前提 | 描述 | 格式 | 舉例 |
|---|---|---|---|---|
| 分組名稱 | 使用者自訂該分組的名稱 | 非空 | s7 分組 | |
| 擷取週期 | 同步擷取為 No | 資料讀取輪詢週期,單位 ms | 數字,範圍:(100,2147483647] | 2000 |
| 擷取時效性 | 同步擷取為 No | 單位 ms | 數字,範圍:(0, 擷取週期] | 1000 |
注意:
- S7 一次性只能讀取 20 條資料。
- 擷取週期和擷取時效性的作用範圍:整個分組內點位資料
| 參數 | 前提 | 描述 | 格式 | 舉例 |
|---|---|---|---|---|
| 資料別名 | 資料的名稱,同一分組中是唯一的 | 非空,不能以數字、底線開頭,不能包含空格 | S | |
| 儲存區域 | 資料儲存的位置 | Data Block | Data Block | |
| DB 號 | 儲存區域為 Data Block | 暫存器位址的偏移量 | 數字,範圍:[0,2147483647] | 1 |
| 起始位址 | 暫存器的位址從 0 開始,根據裝置的位址填寫 | 數字,範圍:[0,2147483647] | 0 | |
| 資料型別 | 暫存器型別決定 | bit、byte、short、ushort、int、unit、long、ulong、float、double 和 string | byte | |
| bit 偏移 | 資料型別為 bit | 從低位元組開始的偏移值 | 數字,範圍:[0,7] | 1 |
| 資料長度 | 資料型別為 string 時 | 需要擷取的資料長度 | 1、2 | 1 |
| 位元組順序 | 暫存器型別和資料型別共同決定 | 指超過一個位元組的資料型別在記憶體中的儲存順序 | Big Endian、Little Endian | Big Endian |
| 計算 | 計算擷取到的資料 |
注:儲存區域暫未開放:Merker、Input、Output、Counter 和 Timer
5. 西門子 S7 協定相關參數說明
Section titled “5. 西門子 S7 協定相關參數說明”西門子 S7 的儲存區域:
| 簡稱 | 儲存區域 | 參數程式碼 | 說明 |
|---|---|---|---|
| [M] | Merker | 0x83 | 任意標記變數或標誌暫存器駐留在這裡 |
| [DB] | Data Block | 0x84 | DB 區域是儲存裝置不同功能所需資料的最常見位置,這些資料塊編號為位址的一部分 |
| [I] | Input | 0x81 | 數位和類比輸入模組值,映射到儲存器 |
| [Q] | Output | 0x82 | 類似的儲存器映射輸出 |
| [C] | Counter | 0x1c | PLC 程式使用的不同計數器的[C]值 |
| [T] | Timer | 0x1d | PLC 程式使用的不同計數器的[T] 值 |
西門子 S7 的資料型別:
| 型別 | 說明 |
|---|---|
| bit | 位,布林型別別,資料長度為 1,資料範圍為 0-1 |
| byte | 位元組,資料長度為 8,資料範圍為 0-255 |
| short | 兩個位元組的有符號整數 |
| ushort | 兩個位元組的無符號整數 |
| int | 四個位元組的有符號整數 |
| unit | 四個位元組的無符號整數 |
| long | 八個位元組的有符號整數 |
| ulong | 八個位元組的無符號整數 |
| float | 單精度浮點數,四個位元組的浮點數 |
| double | 雙精度浮點數,八個位元組的浮點數 |
| string | 八個位元組的字串 |
1 位元組為 8 位
例如:
- 擷取的資料資料是DB 塊 123 的第三個 Byte 的第二個 Bit,所有選擇的儲存位址是 Data Block,DB 號填寫 123,資料型別選擇 Byte。
- 變數的示例位址是 DB123X 2.1,它存取資料塊#123 的第三個位元組的第二個位。