Version 15 (modified by 5 years ago) ( diff ) | ,
---|
Чтение и запись параметров в MC04-UPS1200 по протоколу MC04
1. Настройки UART MC04-UPS1200
115200, 8bit, odd, stop 1.
2. Команды MC04-UPS1200
UPS-1200 поддерживает следующие команды: 0x00, 0x01, 0x07, 0x08, 0x09, 0x11, 0x12. Назначение и формат команд дан в описании протокола MC04.
Уточнение для команды CMND = 0x01 (ответ 0x81) - опрос составных частей(модулей, плат, портов) устройств MC04. Формат команды: "7E 00 01 NUM CSUM 7E". В байте NUM команды передаётся номер модуля(порта или платы), в зависимости от значения которого команда имеет разное назначение и ответ.
- NUM = 0 - Опрос параметров центральной платы RC-01
- NUM = 1 - Опрос параметров АКБ.
- NUM = 2,3,4,5 - Опрос параметров выпрямителя RC-48 установленного в слот 2,3,4 или 5 (имеет смысл отправлять только для тех слотов в которые установлены выпрямители, признак наличия выпрямителя в слоте передается в ответе на CMND=0)
2. Расшифровка ответов на команды мониторинга
В зависимости от версии устройства длина ответа может быть разной, но максимальный размер поля DATA ограничен 74 байтами. Если в ответе устройства не хватает части переменных, значения этих переменных в базе заполняются нолями.
Ответ на команду CMND=0
№ байта | OID | Тип | Прим. | |
---|---|---|---|---|
0x7e (FlAG) | ||||
0 | 0x7F (ADDR) | |||
1 | 0x80 (CMND) | |||
2 | 0x7e Аппаратная версия устройства = расширенная | |||
3 | 0x04 Аппаратная версия устройства = UPS-1200 | |||
4 | бит 7 – Общая авария | adc.10001.1.0 | int, ro | |
4 | биты 6..0- Программная версия | adc.10001.2.0 | int, ro | |
5 | бит 1 - Наличие RM-48 №1 | adc.10001.9.1.1.0 | int, ro | |
5 | бит 2 - Наличие RM-48 №2 | adc.10001.9.2.1.0 | int, ro | |
5 | бит 3 - Наличие RM-48 №3 | adc.10001.9.3.1.0 | int, ro | |
5 | бит 4 - Наличие RM-48 №4 | adc.10001.9.4.1.0 | int, ro | |
6 | пока не используем | |||
7 | Расширенная программная версия(подверсия) | adc.10001.3.0 | int, ro | |
8, 9 | Uнагрузки | adc.10001.4.1.0 | int, ro | *3 |
10, 11 | UАКБ | adc.10001.4.2.0 | int, ro | |
12, 13 | U220 | adc.10001.4.3.0 | int, ro | |
14, 15 | Iнагрузки | adc.10001.4.4.0 | int, ro | |
16, 17 | IАКБ | adc.10001.4.5.0 | int, ro | |
18, 19 | Pвыпрямителей | adc.10001.4.6.0 | int, ro | |
20, 21 | TАКБ | adc.10001.4.7.0 | int, ro | |
22 | бит 0 - Датчик 1 | adc.10001.5.1.0 | int, ro | |
22 | бит 1 - Датчик 2 | adc.10001.5.2.0 | int, ro | |
22 | бит 2 - Датчик 3 | adc.10001.5.3.0 | int, ro | |
22 | бит 3 - Датчик 4 | adc.10001.5.4.0 | int, ro | |
23 | пока не используем | |||
24 | бит 1 - Автомат 1 | adc.10001.6.1.0 | int, ro | |
24 | бит 2 - Автомат 2 | adc.10001.6.2.0 | int, ro | |
24 | бит 3 - Автомат 3 | adc.10001.6.3.0 | int, ro | |
24 | бит 4 - Автомат 4 | adc.10001.6.4.0 | int, ro | |
24 | бит 5 - Автомат 5 | adc.10001.6.5.0 | int, ro | |
24 | бит 6 - Автомат 6 | adc.10001.6.6.0 | int, ro | |
25 | пока не используем | |||
26 | бит 0 - Авария Потеря 220 | adc.10001.7.1.0 | int, ro | |
26 | бит 1 - Авария Отключение АКБ | adc.10001.7.2.0 | int, ro | |
26 | бит 2 - Авария Критический разряд | adc.10001.7.3.0 | int, ro | |
26 | бит 3 - Отключение неприоритетной нагрузки | adc.10001.7.4.0 | int, ro | |
26 | бит 4 - Авария RM-48 | adc.10001.7.5.0 | int, ro | |
26 | бит 5 - Не включен контактор АБ | adc.10001.7.6.0 | int, ro | |
26 | бит 6 - Не совпадает количество RM-48 | adc.10001.7.7.0 | int, ro | |
26 | бит 7 - Авария термодатчика | adc.10001.7.8.0 | int, ro | |
27 | бит 0 - Отключение АБ по напряжению | adc.10001.7.9.0 | int, ro | |
27 | бит 1 - Дисбаланс напряжения АБ | adc.10001.7.10.0 | int, ro | |
27 | бит 2 - Нет контроля АБ (отсутствие измерительного шнура) | adc.10001.7.11.0 | int, ro | |
28..34 | пока не используем | |||
35 | бит 7 - Разряд АКБ | adc.10001.4.8.0 | int, ro | |
N | CSUM | |||
0x7e (FlAG) |
Примечания
- 1. Значения, занимающие более одного байта передаются в ответе младшим байтом вперёд.
- 2. Битовые значения записываются в младший бит переменной SNMP.
- 3. Значение Uнагрузки полученное от UPS-1200 делится на 10 и округляется до целого.
Ответ на команду CMND=0x01, DATA=0x01 (Чтение параметров АКБ)
№ байта | OID | Тип | |
---|---|---|---|
0x7e (FlAG) | |||
0 | 0x7F (ADDR) | ||
1 | 0x81 (CMND) | ||
2 | 0x01 Ответ АКБ | ||
3 | UАБ1 | adc.10001.8.2.1.0 | int, ro |
4 | UАБ2 | adc.10001.8.2.2.0 | int, ro |
5 | UАБ3 | adc.10001.8.2.3.0 | int, ro |
6 | UАБ4 | adc.10001.8.2.4.0 | int, ro |
7 | UАБ5 | adc.10001.8.2.5.0 | int, ro |
8 | Статус батареи | adc.10001.8.3.0 | int, ro |
9..30 | пока не используем | ||
N | CSUM | ||
0x7e (FlAG) |
3. Конфигурация MC04-UPS1200
Карта памяти
Адрес байта | Параметр | Доступ |
---|---|---|
0x0000 ... 0x001F | Внутренние параметры блока (коррекция итд.) | rw |
0x0020 ... 0x00EF | Таблица настроек | rw |
0x00F0 ... 0x00FF | Область для хранения данных программы мониторинга. | rw |
0x0100 ... 0x010F | Имя станции 16 символов | rw |
0x0110 ... 0x018F | Имена 4датчиков и 4реле по 16 символов. Сначала датчики, затем реле по порядку | rw |
0x01A0 ... 0x01DD | Результаты тестирования AБ | rw |
0x01DE ... 0x01FF | Резерв | - |
0x0200 ... 0x03FF | Журнал событий | ro |
0x0400 ... 0xFEFF | Резерв | - |
0xFF00 ... 0xFF06 | Время в двоично-десятичном коде(8421-BCD), порядок байт: ss mm hh dw(день недели) dd mm yy | wo |
0xFF07 ... 0xFF1F | Резервная область для записи времени | wo |
Таблица настроек
Для интерпретации таблицы настроек нужно считать байт Mode(0x0001) из внутренних параметров блока
- Mode = 0xAB, Режим конфигурации - "48В"
- Mode = 0xCD, Режим конфигурации - "60В"
- Mode = 0x24, Режим конфигурации - "24В"
- иначе - конфигурация повреждена
От Режима конфигурации зависят границы значений параметров. Чтобы перевести считанное из UPS-1200 значение конфигурационного параметра(x) в указанные в таблице единицы измерения, нужно выполнить расчёт по формуле в столбце Вычисления. Для записи параметра проводится обратное вычисление.
Смещение(DEC) | Параметр | Вычисление | Ед. изм | Границы 48В. | Границы 60В. | Границы 24В. |
---|---|---|---|---|---|---|
Заряд АБ | ||||||
0 | Напряжение содержания | *формула №1 | В. | 44-56 | 55-69.5 | 22-28 |
1 | Ток заряда | x | А. | 1-9 | ||
2 | Температурный коэффициент | x*2 | мВ/°С | 0-144 | 0-180 | 0-72 |
3 | Режим заряда | 0=нет,1=A,2=B,3=C | 0,A,B,C | |||
Выравнивающий заряд | ||||||
10 | Напряжение заряда | *формула №2 | В. | 54.5-59 | 68.1-74 | 27-29.5 |
11 | Время заряда | x | час | 1-48 | ||
12 | Ручной заряд | 0=нет, 1=да | ||||
13 | Период автоматического выр. заряда | x, (0=откл.) | месяц | 0-12 | ||
Тест АБ | ||||||
20 | Номинальная ёмкость | x | А*ч | 20-100 | ||
21 | Конечное напряжение | *формула №3 | В. | 42-57.6 | 52.5-72 | 22-25.5 |
22 | Время теста | x | час | 1-24 | ||
23 | Ручной тест | 0=нет, 1=да | ||||
24 | Период автоматического тестирования | x, (0- откл.) | месяц | 0-12 | ||
Контакторы | ||||||
30 | Отключение АБ LVBD | *формула №3 | В. | 42-57.6 | 52.5-72 | 21-25.5 |
31 | Отключение LVLD | *формула №3 | В. | 42-57.6 | 52.5-72 | 21-25.5 |
32 | Включение LVLD | *формула №3 | В. | 42-57.6 | 52.5-72 | 21-25.5 |
Система | ||||||
40 | Комплектность RM-48 | x | шт. | 0-4 | ||
41 | Откл. звук | 0=нет, 1=да | ||||
42 | Подключение АБ | 0=нет, 1=да | ||||
Маскирование аварий | ||||||
205 | бит 0 - Авария Потеря 220 | чекбокс | ||||
205 | бит 1 - Авария Отключение АКБ | чекбокс | ||||
205 | бит 2 - Авария Критический разряд | чекбокс | ||||
205 | бит 3 - Отключение неприоритетной нагрузки | чекбокс | ||||
205 | бит 4 - Авария RM-48 | чекбокс | ||||
205 | бит 5 - Не включен контактор АБ | чекбокс | ||||
205 | бит 6 - Не совпадает количество RM-48 | чекбокс | ||||
205 | бит 7 - Авария термодатчика | чекбокс | ||||
206 | бит 0 - Отключение АБ по напряжению | чекбокс | ||||
206 | бит 1 - Дисбаланс напряжения АБ | чекбокс | ||||
206 | бит 2 - Нет контроля АБ (отсутствие измерительного шнура) | чекбокс |
Формулы для вычислений | |||
---|---|---|---|
№ | 48В | 60В | 24В |
*формула №1 | (x+440)/10 | (x+210)/10 | |
*формула №2 | (x+545)/10 | (x+210)/10 | |
*формула №3 | (x+420)/10 | (x+210)/10 |