Документація

зчитування та керування cFos Charging Manager через Modbus

На додаток до HTTP і MQTT, cFos Charging Manager також надає API Modbus. Він змодельований за зразком SunSpec. Ви можете вказати параметр TCP-порту або COM-порту та ідентифікатор Modbus у розділі "Налаштування адреси SunSpec" у конфігурації Charging Manager. Це змушує cFos Charging Manager прослуховувати TCP-порт або COM-порт за вказаними параметрами, а також Modbus ID та Modbus ID + 1. Загальні значення, параметри, прапори та змінні Charging Manager доступні під Modbus ID. Пристрої, налаштовані в Диспетчері заряджання (настінні коробки та лічильники), можна запитувати під ID + 1. Як функції Modbus ви можете використовувати 3 і 4 для читання і 6 і 16 для запису. Увага: У Raspberry TCP-порти нижче 1024 зарезервовані для програм з правами адміністратора. Тому краще вибрати вищий номер порту, наприклад, 1502.

У специфікації SunSpec Modbus зазначено, що діапазон адрес Modbus починається з ідентифікатора "SunS", а потім містить так звані моделі SunSpec. Кожна модель має ідентифікаційний номер моделі зі зміщенням 0 та специфікацію довжини решти регістрів, що належать до моделі, зі зміщенням 1. Значення моделі випливають зі зміщення 2. Важливо: Ви повинні сканувати діапазон адрес SunSpec і завжди оцінювати довжину за зміщенням 1. Не припускайте фіксованої довжини або фіксованих адрес регістрів, оскільки дуже ймовірно, що з часом ми будемо додавати нові значення до моделей. Модель 1 (Загальна) завжди йде першою, з деталями виробника, номерами версій тощо. Будь ласка, завантажте специфікації SunSpec Modbus від SunSpec Alliance для отримання детальної інформації. Діапазон адрес SunSpec для cFos Charging Manager починається з адреси 40000.

cFos Charging Manager спочатку відображає наступні значення як модель 213 (трифазний лічильник, плаваючий) під Modbus ID після моделі Common:
Споживання мережі
Загальна кількість споживачів
Загальна кількість генераторів
Надлишок PV
Використана потужність зарядного пристрою
Доступна потужність зарядного пристрою
Аварійна потужність

Потім слідує "користувацька" модель 60000 з параметрами налаштування cFos Charging Manager: 8 плаваючих значень після моделі та довжини: Максимальний загальний струм, резерв, перевантаження, максимальний загальний струм зарядного пристрою в мА на фазу, максимальний фазовий дисбаланс (в мА), активне управління навантаженням (1 = активне, 0 = неактивне), дисбаланс у т.ч. споживачі (1 = активний, 0 = неактивний), активне управління навантаженням (1 = активний, 0 = неактивний), небаланс у т.ч. споживачі (1 = активний, 0 = неактивний) Навантаження (1 = активне, 0 = неактивне), максимальний загальний струм у відсотках. Це глобальні параметри Диспетчера заряджання, які також можна налаштувати в інтерфейсі користувача. Зміни цих значень зберігаються (з максимальною затримкою 150 секунд). Загальний струм у відсотках можна використовувати, наприклад, для динамічного регулювання потужності заряджання на вимогу оператора мережі.

За нею слідує "користувацька" модель 60001. 32 регістри (16 біт) відповідають моделі та довжині. Вони можуть містити значення 0 і 1 і зчитувати або записувати до 32 прапорів диспетчера заряджання. Стан цих прапорів можна запитувати у формулах за допомогою CM._flag1 - CM._flag32 і використовувати для обчислень.

Далі йде "користувацька" модель 60002, а після моделі та довжини - можливі змінні диспетчера заряджання. Для кожної змінної доступно 22 регістри. Перші 20 регістрів - це рядок Modbus для імені змінної (занадто довгі імена обрізаються). Наступні 2 регістри містять поточне значення змінної з плаваючою комою. Якщо ви записуєте плаваюче значення змінної Charging Manager, ви видаляєте будь-яку існуючу формулу і встановлюєте змінну на фіксоване значення.

Під Modbus ID + 1 лічильники та зарядні пристрої, налаштовані в Диспетчері заряджання, відображаються таким чином. Зарядні пристрої обмінюються даними як SunSpec моделі 113, розширені 2 16-бітними регістрами. Зсув 62 містить стан зарядного пристрою (1=очікування, 2=підключений до мережі, 3=заряджання, 4=заряджання з вентиляцією, 5=помилка), а зсув 63 містить ідентифікатор пристрою. 1 = E1, 2 = E2 і т.д. Лічильники відображаються за допомогою моделі 213, розширеної на 2 16-бітних регістри. Зсув 126 містить роль лічильника (0=дисплей, 1=споживання, 2=генерація, 3=споживання мережі, 4=споживання електромобіля, 5=зберігання вдома, 6=зберігання всього), зсув 127 містить ідентифікатор пристрою (-1 для M1, -2 для M2 і т.д.). Якщо лічильник є накопичувачем (роль 5 або 6), за моделлю 213 слідує модель 124, яка розширена 16-бітним регістром. Зсув 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 (А)
Зсув 4: Струм L1 (А)
Зсув 6: Струм L2 (А)
Зсув 8: Струм L3 (А)
Зсув 10: Напруга (В)
Зсув 12: Напруга L1 (В)
Зсув 14: Напруга L2 (В)
Зсув 16: Напруга L3 (В)
Зсув 26: 50 Гц
Зсув 28: Потужність (Вт)
Зсув 30: Потужність L1 (Вт)
Зсув 32: Потужність L2 (Вт)
Зсув 34: Потужність L3 (Вт)
Зсув 36: Видима потужність (ВА)
Зсув 38: Видима потужність L1 (ВА)
Зсув 40: Видима потужність L2 (ВА)
Зсув 42: Видима потужність L3 (ВА)
Зсув 44: Реактивна потужність (ВАр)
Зсув 60: Експорт, активна потужність (Вт)
Зсув 68: Імпорт, активна потужність (Вт)
Зміщення 126: Роль (для Modbus ID + 1)
Зміщення 127: Ідентифікатор пристрою (для Modbus ID + 1)

Список значень для моделі 113:
Зміщення 0: 113
Зміщення 1: Довжина
Зміщення 2: Загальні струми L1-L3 (А)
Зміщення 4: Струм L1 (А)
Зсув 6: Струм L2 (А)
Зсув 8: Струм L3 (А)
Зсув 16: Напруга L1 (В)
Зсув 18: Напруга L2 (В)
Зсув 20: Напруга L3 (В)
Зсув 22: Потужність (Вт)
Зсув 24: 50 Гц
Зсув 26: Видима потужність (ВА)
Зміщення 32: Імпорт, активна потужність (Вт)
Зміщення 62: Статус (для Modbus ID + 1)
Зміщення 63: Ідентифікатор пристрою (для Modbus ID + 1)

Список значень для моделі 124:
Зміщення 0: 124
Зміщення 1: Довжина
Зміщення 2: Максимальна потужність заряджання/розряджання (Вт)
Зсув 3: Відсоток поточної граничної потужності заряджання
Зсув 4: Відсоток поточної граничної потужності розряджання
Зсув 8: Стан заряджання у відсотках
Зсув 18: Масштабний коефіцієнт для зсуву 2
Зсув 19: Масштабуючий коефіцієнт для зміщення 3 і 4
Зміщення 26: Ідентифікатор пристрою (для Modbus ID + 1)

Список значень для моделі 60000:
Всі значення у форматі з плаваючою комою, доступ до читання/запису, викликає оновлення флеш-пам'яті, тобто не змінюйте їх часто, щоб уникнути пошкодження.тобто не змінюйте часто, щоб уникнути пошкодження.
Зміщення 0: 60000 (unt16, тільки для читання)
Зміщення 1: Довжина (uint16, тільки для читання)
Зміщення 2: Макс. Загальний струм (мА)
Зсув 4: Запас потужності (мА)
Зсув 6: Перевантаження (мА)
Зсув 8: Максимальний загальний струм Wallbox (мА)
Зсув 10: Макс. Небаланс фаз (мА)
Зміщення 12: 1 = Управління навантаженням активне, 0 = неактивне
Зміщення 14: 1 = Додавання домашнього споживання до небалансу, 0 = неактивне
Зміщення 16: Відсоток від макс. загального струму, не зберігається, може часто змінюватися.

Список значень для моделі 60001:
Всі значення 0 або 1, int16, доступ для читання/запису, не зберігаються, можуть часто змінюватися.
Зміщення 0: 60001 (uint16, тільки для читання)
Зміщення 1: Length (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
...