Это старая версия документа.
Содержание
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 – стоп разгрузки |
IOState | LONG | для отладки |
Stage | INT | для отладки |
StageTime | INT | для отладки |
N - номер питателя от 1 до storqnt
В теги Cmd* для активации действия необходимо записать значение > 0, после чего сброс в 0 произойдет после выполнения действия.
Теги, выделенные жирным, являются стандартными, т.е. все многокомпонентные дозаторы обязаны иметь их.
Crc32
Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности:
SumWeight1 : SumWeightN SYSTEM.ErrorFlag