Это старая версия документа.
Содержание
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: - DzrGeliosRazgr (маслодозатор) Версия 2: - Dzr - DzrGelios10 - DzrGelios3rzg - DzrGelios6 |
SumWeightMax | 0xFFFF_FFFF | Максимальное возможное значение суммарного счетчика веса включительно Внимание! Для дозаторов версий SD00-12 макс.значение счетчика = 4000000000 |
Теги
Тег | Тип | Описание |
---|---|---|
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) |
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 – приостановка разгрузки |
IOState | LONG | для отладки |
Stage | INT | для отладки |
StageTime | INT | для отладки |
N - номер питателя от 1 до storqnt
В теги Cmd* для активации действия необходимо записать значение > 0, после чего сброс в 0 произойдет после выполнения действия.
Теги, выделенные жирным, являются стандартными, т.е. все многокомпонентные дозаторы обязаны иметь их.
Crc32
Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности:
SumWeight1 : SumWeightN SYSTEM.ErrorFlag