文件

通過 Modbus 讀取和控制 cFos 充電管理器

除了 HTTP 和 MQTT 之外,cFos 充電管理器還提供 Modbus API。這是模仿SunSpec的。在充電管理器配置下,您可以在「SunSpec 位址設定」下指定 TCP 連接埠或 COM 連接埠參數以及 Modbus ID。這表示 cFos 充電管理器會監聽指定參數下的 TCP 連接埠或 COM 連接埠以及Modbus ID 和Modbus ID + 1。常規充電管理器值、參數、標誌和變數可在Modbus ID 下使用。充電管理器中設定的設備(牆盒和儀表)可在ID + 1 下查詢。作為Modbus 功能,您可以讀取可以用3,4可以寫,寫入可以用6和16。注意:在Raspberry上,1024以下的TCP埠是為有管理員權限的程式保留的,因此最好選擇一個較高的連接埠號,例如1502 。

SunSpec Modbus 規範規定,Modbus 位址範圍以識別碼「SunS」開始,然後包含所謂的 SunSpec 型號。每個模型在偏移量 0 處都有一個模型金鑰號,在偏移量 1 處有屬於該模型的剩餘暫存器的長度。然後模型的值從偏移量 2 開始。重要提示:您應該掃描 SunSpec 位址範圍並始終超過偏移量 1 處的長度。不要假設固定長度或固定暫存器位址,因為隨著時間的推移,我們很可能會為模型添加額外的值。型號 1(通用)始終先顯示製造商、版本號等詳細資訊。請從 SunSpec 聯盟下載 SunSpec Modbus 規格以取得詳細資訊。 cFos 充電管理器的 SunSpec 位址範圍從位址 40000 開始。

cFos 充電管理器最初根據常見型號如型號 213(三相電錶,浮子)在 Modbus ID 下顯示以下值:
網格參考
消費者總數
總生產者
光電發電盈餘
使用的壁箱電源
可用的牆盒性能
錯誤表現

然後是「自訂」型號60000,其中設定了cFos 充電管理器的參數: 根據型號和長度,目前有8 個浮點值:最大總電流、儲備、透支、每相最大Wallbox 總電流(mA)、最大相位偏差(以 mA 為單位)、負載管理活動(1 = 活動、0 = 不活動)、包含消耗設備的偏差(1 = 活動、0 = 不活動)、最大總電流百分比。這些是全域充電管理器參數,也可以在 UI 中設定。對這些值的變更將被儲存(最長延遲 150 秒)。總電流的百分比可用於動態調整充電功率,例如根據網路營運商的請求。

接下來是「自訂」模型 60001。32 個暫存器(16 位元)遵循模型和長度。它們可以包含值 0 和 1,並讀取或寫入最多 32 個充電管理器標誌。然後可以使用 CM._flag1 到 CM._flag32 在公式中查詢這些標誌的狀態並用於計算。

然後是「自訂」模型 60002。可能的充電管理器變數遵循模型和長度。每個變數有 22 個暫存器可用。前 20 個暫存器是變數名稱的 Modbus 字串(名稱太長將被截斷)。以下 2 個暫存器包含變數的目前浮點值。當您寫入計費管理器變數的浮點值時,您可以刪除任何現有公式並將該變數設為固定值。

充電管理器中設定的儀表和牆盒在 Modbus ID + 1 下顯示如下。作為 SunSpec 型號 113,壁箱已擴展為包含兩個 16 位元暫存器。偏移 62 顯示牆盒的狀態(1 = 等待、2 = 已插入、3 = 充電、4 = 通風充電、5 = 錯誤),偏移 63 顯示裝置 ID。 1=E1,2=E2等。計數器用2個16位元暫存器擴充的模型213來表示。偏移量126 處是計數器的角色(0 = 顯示,1 = 消耗,2 = 生產,3 = 電網供應,4 = 電動車消耗,5 = 倉庫,6 = 儲存所有內容),偏移量127 處是計數器設備 ID(-1 表示 M1,-2 表示 M2,以此類推)。如果計數器是記憶體(角色 5 或 6),則模型 213 之後是模型 124,模型 124 由 16 位元暫存器擴充。裝置 ID 再次位於偏移量 26 處。為了讓裝置顯示在 Modbus ID + 1 下,您必須在裝置設定中啟動「透過 Modbus 發佈裝置資訊」。

Aufstellung Start-Addressen der Modelle:
Modbus ID:
Model: 1, Addr: 40002
Model: 213, Addr: 40070, Netzbezugszähler
Model: 213, Addr: 40196, Summe Verbraucher
Model: 213, Addr: 40322, Sume Erzeuger
Model: 213, Addr: 40448, PV Überschuss
Model: 213, Addr: 40574, Genutzte Wallboxleistung
Model: 213, Addr: 40700, Verfügbare Wallboxleistung
Model: 213, Addr: 40826, Fehler-Leistung
Model: 60000, Addr: 40952
Model: 60001, Addr: 40970
Model: 60002, Addr: 41004
Die konkreten Start-Addressen können bei späteren Versionen des cFos Charging Managers variieren, daher sollte der Register-Bereich, wie oben beschrieben, gescannt werden.
Modbus ID + 1:
Modelle und Startadressen hängen von den eingeblendeten Geräten ab.

型號 213 的值列表:
偏移量 0:213
偏移 1:長度
偏移 2:L1-L3 總電流 (A)
偏移 4:電流 L1 (A)
偏移 6:電流 L2 (A)
偏移 8:電流 L3 (A)
偏移 10:電壓 (V)
偏移 12:電壓 L1 (V)
偏移 14:電壓 L2 (V)
偏移 16:電壓 L3 (V)
偏移 26:50Hz
偏移量 28:功率 (W)
偏移量 30:功率 L1 (W)
偏移量 32:功率 L2 (W)
偏移量 34:功率 L3 (W)
偏移量 36:視在功率 (VA)
偏移量 38:視在功率 L1 (VA)
偏移量 40:視在功率 L2 (VA)
偏移量 42:視在功率 L3 (VA)
偏移量 44:無功功率 (VAr)
偏移 60:導出,有功功率 (Wh)
偏移量 68:導入,有功功率 (Wh)
偏移量 126:角色(Modbus ID + 1)
偏移量 127:設備 ID(對於 Modbus ID + 1)

型號 113 的值列表:
偏移量 0:113
偏移 1:長度
偏移 2:L1-L3 總電流 (A)
偏移 4:電流 L1 (A)
偏移 6:電流 L2 (A)
偏移 8:電流 L3 (A)
偏移 16:電壓 L1 (V)
偏移 18:電壓 L2 (V)
偏移 20:電壓 L3 (V)
偏移量 22:功率 (W)
偏移 24:50Hz
偏移量 26:視在功率 (VA)
偏移量 32:導入,有功功率 (Wh)
偏移量 62:狀態(Modbus ID + 1)
偏移量 63:設備 ID(對於 Modbus ID + 1)

型號 124 的值列表:
偏移量 0:124
偏移 1:長度
偏移2:最大充電/放電功率(W)
偏移量 3:目前充電功率限制的百分比
偏移量 4:目前放電功率限制的百分比
偏移量 8:充電狀態百分比
偏移 18:偏移 2 的比例因子
偏移 19:偏移 3 和 4 的縮放因子
偏移量 26:設備 ID(對於 Modbus ID + 1)

型號 60000 的值列表:
float中的所有值,讀取/寫入訪問,都會導致flash被更新,即不要經常更改,以免損壞。
偏移量 0:60000(unt16,唯讀)
偏移量1:長度(uint16,唯讀)
偏移 2:最大總電流 (mA)
偏移 4:功率儲備 (mA)
偏移 6:透支 (mA)
偏移 8:最大牆盒總電流 (mA)
偏移 10:最大相位差 (mA)
偏移量 12:1 = 負載管理處於活動狀態,0 = 處於非活動狀態
偏移量 14:1 = 將住房消費加入不平衡中,0 = 不活躍
偏移16:最大總電流的百分比,不保存,可以經常更改。

型號 60001 的值列表:
所有值0或1,int16,讀/寫訪問,不保存,可以經常更改。
偏移量0:60001(uint16,唯讀)
偏移量1:長度(uint16,唯讀)
偏移量 2:CM._flag1
……
偏移量 33:CM._flag32

型號 60002 的值列表:
所有值都是浮點數,讀取/寫入訪問,不保存,可以經常更改。偏移量0:60002(uint16,唯讀)
偏移量1:長度(uint16,唯讀)
偏移量 2..22:名稱充電管理器變數 1
偏移量 23..24:充電管理器變數 1 的值
偏移量 25..45:名稱充電管理器變數 2
偏移量 46..47:充電管理器變數 2 的值
……