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

четене и управление на мениджъра за зареждане cFos чрез Modbus

В допълнение към HTTP и MQTT мениджърът за таксуване на cFos предоставя и Modbus API. Той е моделиран по SunSpec. Можете да зададете параметър на TCP порт или COM порт и Modbus ID в "SunSpec address settings" (Настройки на адреса на SunSpec) в конфигурацията на Charging Manager. Това кара мениджъра за зареждане cFos да слуша TCP порта или COM порта под посочените параметри и Modbus ID и Modbus ID + 1. Общите стойности на мениджъра за зареждане, параметрите, флаговете и променливите са достъпни под Modbus ID. Устройствата, настроени в Charging Manager (стенни кутии и измервателни уреди), могат да бъдат търсени под 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 започва с адрес 40000.

Мениджърът за зареждане cFos първоначално показва следните стойности като модел 213 (трифазен измервателен уред, плаващ) под Modbus ID след модела Common:
Потребление в мрежата
Общо потребители
Общо генератори
Излишък от фотоволтаици
Използвана мощност на стеновата кутия
Налична мощност на стеновата кутия
Мощност при повреда

Това е последвано от "потребителски" модел 60000 с параметри за настройка на cFos Charging Manager: След модела и дължината в момента следват 8 плаващи стойности: Максимален общ ток, резерв, претоварване, максимален общ ток на стеновата кутия в mA на фаза, максимален фазов дисбаланс (в mA), управление на товара активно (1 = активно, 0 = неактивно), дисбаланс вкл. потребители (1 = активно, 0 = неактивно), управление на товара активно (1 = активно, 0 = неактивно), управление на товара неактивно (1 = активно, 0 = неактивно), дисбаланс на товара вкл. потребители (1 = активно, 0 = неактивно). Товар (1 = активен, 0 = неактивен), максимален общ ток в проценти. Това са глобалните параметри на мениджъра за зареждане, които могат да се задават и в потребителския интерфейс. Промените в тези стойности се записват (с максимално закъснение от 150 секунди). Общият ток в проценти може да се използва например за динамично регулиране на мощността на зареждане по искане на мрежовия оператор.

Следва "потребителски" модел 60001. 32 регистъра (16bit) следват модела и дължината. Те могат да съдържат стойности 0 и 1 и да четат или записват до 32 флага на мениджъра за зареждане. Състоянието на тези флагове може да бъде търсено във формули с помощта на CM._flag1 до CM._flag32 и да се използва за изчисления.

След това е посочен "потребителски" модел 60002, следван от възможните променливи на мениджъра за зареждане след модела и дължината. За всяка променлива са налични 22 регистъра. Първите 20 регистъра са Modbus низ за името на променливата (имената, които са твърде дълги, се съкращават). Следващите 2 регистъра съдържат текущата плаваща стойност на променливата. Ако запишете плаващата стойност на променлива на Charging Manager, изтривате всички съществуващи формули и задавате на променливата фиксирана стойност.

Под Modbus ID + 1 измервателните уреди и wallbox-ите, настроени в Charging Manager, се показват по следния начин. Стенните кутии се обменят като модел 113 на SunSpec, разширен с 2 16-битови регистъра. Отместване 62 съдържа състоянието на wallbox (1=чакане, 2=включен, 3=зареждане, 4=зареждане с вентилация, 5=грешка), а отместване 63 съдържа идентификатора на устройството. 1 = E1, 2 = E2 и т.н. Броячите се показват с модел 213, разширен с два 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:
Offset 0: 213
Offset 1: Дължина
Offset 2: Общо токове L1-L3 (A)
Offset 4: Ток L1 (A)
Offset 6: Ток L2 (A)
Offset 8: Ток L3 (A)
Offset 10: Напрежение (V)
Offset 12: Напрежение L1 (V)
Offset 14: Напрежение L2 (V)
Offset 16: Напрежение L3 (V)
Offset 26: 50 Hz
Offset 28: Мощност (W)
Offset 30: Мощност L1 (W)
Offset 32: Мощност L2 (W)
Offset 34: Мощност L3 (W)
Offset 36: Видима мощност (VA)
Offset 38: Видима мощност L1 (VA)
Offset 40: Видима мощност L2 (VA)
Offset 42: Видима мощност L3 (VA)
Offset 44: Реактивна мощност (VAr)
Offset 60: Износ, активна мощност (Wh)
Offset 68: Внос, активна мощност (Wh)
Offset 126: Роля (за Modbus ID + 1)
Offset 127: Идентификатор на устройството (за Modbus ID + 1)

Списък на стойностите за модел 113:
Offset 0: 113
Offset 1: Дължина
Offset 2: Общо токове L1-L3 (A)
Offset 4: Ток L1 (A)
Offset 6: Ток L2 (A)
Offset 8: Ток L3 (A)
Offset 16: Напрежение L1 (V)
Offset 18: Напрежение L2 (V)
Offset 20: Напрежение L3 (V)
Offset 22: Мощност (W)
Offset 24: 50 Hz
Offset 26: Видима мощност (VA)
Offset 32: Внос, активна мощност (Wh)
Offset 62: Статус (за Modbus ID + 1)
Offset 63: Идентификатор на устройството (за Modbus ID + 1)

Списък на стойностите за модел 124:
Offset 0: 124
Offset 1: Дължина
Offset 2: Максимална мощност на зареждане/разреждане (W)
Offset 3: Процент от текущата граница на мощността на зареждане
Offset 4: Процент от текущата граница на мощността на разреждане
Offset 8: Състояние на зареждане в проценти
Offset 18: Коефициент на мащабиране за offset 2
Offset 19: Коефициент на мащабиране за отместване 3 и 4
Отместване 26: Идентификатор на устройството (за Modbus ID + 1)

Списък на стойностите за модел 60000:
Всички стойности в плаващ формат, достъпът за четене/запис води до актуализиране на флаш паметта, т.е. не променяйте често, за да избегнете повреда.т.е. не променяйте често, за да избегнете повреда.
Отместване 0: 60000 (unt16, само за четене)
Отместване 1: Дължина (uint16, само за четене)
Отместване 2: Макс. Общ ток (mA)
Offset 4: Резерв на мощността (mA)
Offset 6: Преизпълнение (mA)
Offset 8: Макс. общ ток на Wallbox (mA)
Offset 10: Макс. Фазов дисбаланс (mA)
Offset 12: 1 = Активно управление на натоварването, 0 = неактивно
Offset 14: 1 = Добавяне на домашното потребление към дисбаланса, 0 = неактивно
Offset 16: Процент от макс. общ ток, не се запаметява, може да се променя често.

Списък на стойностите за модел 60001:
Всички стойности 0 или 1, int16, достъп за четене/запис, не се съхраняват, могат да се променят често.
Изместване 0: 60001 (uint16, само за четене)
Изместване 1: Дължина (uint16, само за четене)
Изместване 2: CM._flag1
...
Отместване 33: CM._flag32

Списък на стойностите за модел 60002:
Всички стойности са плаващи, достъп за четене/запис, не се запаметяват, могат да се променят често. Offset 0: 60002 (uint16, само за четене)
Offset 1: Length (uint16, само за четене)
Offset 2..22: Name Charging Manager Variable 1
Offset 23..24: Value Charging Manager Variable 1
Offset 25..45: Name Charging Manager Variable 2
Offset 46..47: Value Charging Manager Variable 2
...