Содержание

promauto.gelios.dozkkmc

Mодуль управления многокомпонентным дозатором Гелиос (ПромАвтоматика).

Используемый протокол - AA55.

Описание протокола:

yml-файл

module.gelios1:
  netaddr:   1
  portnum:   1
  type:      promauto.gelios.dozkkmc
  storqnt:   10
  version:   2

Параметры

Параметр По умолчанию Описание
storqnt 1 Количество питателей в дозаторе
version 2 Версия протокола. Выбирается в соответствии с прошивкой дозатора.
=1 - АА55 Версия 1 для прошивок:
  - DzrGeliosRazgr (маслодозатор)

=2 - АА55 Версия 2 для прошивок:
  - Dzr
  - DzrGelios10
  - DzrGelios3rzg
  - DzrGelios6

=3 - Modbus
SumWeightMax 0xFFFF_FFFF Максимальное возможное значение суммарного счетчика веса включительно Внимание! Для дозаторов версий SD00-12 макс.значение счетчика = 4000000000
Режим real-time эмуляции
emulateSpeedLoad 0 Скорость загрузки - значение веса, на которое будет увеличиваться CurWeight при загрузке. Если = 0, то real-time эмуляция не используется
emulateSpeedUnload
emulateSpeedLoad * 3
Скорость разгрузки - значение веса, на которое будет уменьшаться CurWeight при разгрузке
emulateDelay 2000 Задержка исполнения команд

Теги

Тег Тип Описание
Crc32 LONG См. Crc32
State INT Состояние дозатора (битовая маска):
1 – стоп
2 – готов к старту задачи
4 – загрузка
8 – выгрузка
16 – авария
CurStorNum INT номер текущего питателя (0 - дозирование не идет, от 1 до N - номер питателя)
CurWeight LONG Если CurStorNum = 0, то текущий общий вес. Если CurStorNum > 0, то набранный вес текущего компонента
CurPercent INT Процент выполнения загрузки текущим питателем, от 0 до 100
CurPercentTotal INT Процент выполнения загрузки/разгрузки суммарно по всем питателям, от 0 до 100
SumWeightMax LONG Значение одноименного параметра (максимальное возможное значение суммарного счетчика веса включительно)
SumWeightN LONG Счетчик веса несбрасываемый циклический питателя N
ReqWeightN LONG Установленный вес задачи питателя N (то, что установлено на данный момент, а не сколько уже отвесили)
SetWeightN LONG Задание веса задачи питателя N
SendTask INT Для установка задачи необходимо предварительно задать вес задачи в SetWeight по каждому питателю, после чего прописать в данный тег любое положительное значение, отличное от нуля. После успешного выполнения в теге можно будет прочитать записанное значение. Если установка не выполнена, то в теге появится записанное значение со знаком минус. При записи 0 тег просто обнуляется, установка задачи не происходит.
CmdStartCycle INT Если в состоянии стопа или аварии, послать старт цикла (Cmd=0)
CmdStartTask INT Если в состоянии ожидания старта задачи, послать старт задачи (Cmd=6)
CmdStartLoad INT Если в состоянии готовности к загрузке, послать старт загрузки (Cmd=2)
CmdStopLoad INT Если в состоянии загрузки, послать стоп загрузки (Cmd=10)
CmdStartUnload INT Если в состоянии готовности к разгрузке, послать старт разгрузки (Cmd=4)
CmdSuspUnload INT Если в состоянии разгрузки, послать старт приостанов (Cmd=8)
Status INT Состояние дозатора:
0 – стоп (или дозирование завершено) 
1 – ожидание загрузки
2 – загрузка 
3 – ожидание выгрузки
4 – ожидание старта задачи после установки
5 – авария
6 – приостановка выгрузки
7 – выгрузка
StorQnt INT Заданное кол-во питателей
StorQntActual INT Фактическое кол-во питателей, поддерживаемое дозатором
ErrorCode INT Код ошибки
Cmd INT
0 – Старт цикла
6 – Запуск загрузки после установки рецепта

Следующие команды поддерживаются не всеми дозаторами:
2 – старт загрузки
4 – старт разгрузки
8 – приостановка разгрузки
10 – стоп разгрузки 
Replacement BOOL Флаг физической замены устройства. Нужен только для того, чтобы сказать модулю учета, типа raduga, что устройство подменили и суммарные счетчики стали другими

N - номер питателя от 1 до storqnt

В теги Cmd* для активации действия необходимо записать значение > 0, после чего сброс в 0 произойдет после выполнения действия.

Теги, выделенные жирным, являются стандартными, т.е. все многокомпонентные дозаторы обязаны иметь их.

Crc32

Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности:

SumWeight1
  : 	
SumWeightN 	
SYSTEM.ErrorFlag