Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:jroboplc:modules:peripherial:tenzom_tb09 [2021/06/05 13:10] denis |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== tenzom ====== | ||
- | Mодуль опроса весов Тензо-М. | ||
- | |||
- | Используемый протокол - Тензо-М. | ||
- | |||
- | Описание протокола [[https://wiki.tenso-m.ru/doku.php?id=start:%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B:%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B_%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0|здесь]]. | ||
- | |||
- | <code yaml> | ||
- | module.gelios1: | ||
- | netaddr: 1 | ||
- | portnum: 1 | ||
- | type: promauto.gelios.dozkkmc | ||
- | storqnt: 10 | ||
- | version: 2 | ||
- | </code> | ||
- | |||
- | ===== Параметры ===== | ||
- | ^ Параметр ^ По умолчанию ^ Описание ^ | ||
- | |**storqnt** | 1 |Количество питателей в дозаторе | | ||
- | |**version** | 2 |Версия протокола. Выбирается в соответствии с прошивкой дозатора.<code> | ||
- | Версия 1: | ||
- | - DzrGeliosRazgr (маслодозатор) | ||
- | |||
- | Версия 2: | ||
- | - Dzr | ||
- | - DzrGelios10 | ||
- | - DzrGelios3rzg | ||
- | - DzrGelios6 | ||
- | |||
- | </code> | | ||
- | |**SumWeightMax** | 0xFFFF_FFFF |Максимальное возможное значение суммарного счетчика веса включительно | | ||
- | |||
- | ===== Теги ===== | ||
- | |||
- | ^Тег ^Тип ^Описание ^ | ||
- | |**Crc32** | LONG |См. [[#Crc32]] | | ||
- | |**State** | INT | Состояние дозатора (битовая маска):<code> | ||
- | 1 – стоп | ||
- | 2 – готов к старту задачи | ||
- | 4 – загрузка | ||
- | 8 – выгрузка | ||
- | 16 – авария | ||
- | </code> | | ||
- | |**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 |Состояние дозатора:<code> | ||
- | 0 – стоп (или дозирование завершено) | ||
- | 1 – ожидание загрузки | ||
- | 2 – загрузка | ||
- | 3 – ожидание выгрузки | ||
- | 4 – ожидание старта задачи после установки | ||
- | 5 – авария | ||
- | 6 – приостановка выгрузки | ||
- | 7 – выгрузка | ||
- | </code> | | ||
- | |StorQnt | INT |Заданное кол-во питателей | | ||
- | |StorQntActual | INT |Фактическое кол-во питателей, поддерживаемое дозатором | | ||
- | |ErrorCode | INT |Код ошибки | | ||
- | |Cmd | INT |<code> | ||
- | 0 – Старт цикла | ||
- | 6 – Запуск загрузки после установки рецепта | ||
- | |||
- | Следующие команды поддерживаются не всеми дозаторами: | ||
- | 2 – старт загрузки | ||
- | 4 – старт разгрузки | ||
- | 8 – приостановка разгрузки | ||
- | </code> | | ||
- | |IOState | LONG |//для отладки// | | ||
- | |Stage | INT |//для отладки// | | ||
- | |StageTime | INT |//для отладки// | | ||
- | |||
- | N - номер питателя от 1 до ''storqnt'' | ||
- | |||
- | В теги **Cmd*** для активации действия необходимо записать значение > 0, после чего сброс в 0 произойдет после выполнения действия. | ||
- | |||
- | Теги, выделенные жирным, являются стандартными, т.е. все многокомпонентные дозаторы обязаны иметь их. | ||
- | |||
- | |||
- | |||
- | ===== Crc32 ===== | ||
- | Расчет значения выполняется по алгоритму Crc32. Исходный для расчета буфер данных формируется из 8-байтного представления следующих тегов в приведенной последовательности: | ||
- | <code> | ||
- | SumWeight1 | ||
- | : | ||
- | SumWeightN | ||
- | SYSTEM.ErrorFlag | ||
- | </code> | ||