====== omron.fins ====== Универсальный модуль для устройств, работающих по протоколу FINS. Описание протокола [[dev:hardware:omron:protocol|кратко]], [[http://prom-auto.ru/download/docs/omron/fins/w342_cs_cj_cp_nsj_communications_commands_reference_manual_ru.pdf|подробно rus]], [[http://prom-auto.ru/download/docs/omron/fins/W342-E1-15%2BCS-CJ-CP-NSJ%2BComRefManual.pdf|подробно eng]]. plugin.peripherial: enable: on module.fins1: portnum: 1 type: omron.fins maxDataSize: 200 tags: - name: out_b0 type: bool region: 48 address: 3200 bit: 0 - name: out_b7 type: uint16 region: 48 address: 3200 bit: 7 - name: inps address: 3300 cmdread: multi - name: ai_0 type: int16 address: 3302 cmdread: multi - name: ai_1 type: int16 address: 3303 cmdread: multi - name: bigval type: int32 address: 3456 ===== Параметры ===== Числовые значения во всех конфигурационных файлах jroboplc, в т.ч. и модуля omron.fins, задаются в десятичном виде. ^ Параметр ^ Умолчание ^ Описание ^ |**maxDataSize**| ''250'' |Максимальное количество байт данных в запросе. Максимально возможное значение 2000. | |**tags**| - |Список тегов. Количество тегов может быть любым. | ^ **tags** ^^^ |**name**| - |Имя тега | |**cmdread**| ''area'' |Команда чтения: | |:::|:::|''area'' - чтение области несколько смежных адресов подряд одного региона | |:::|:::|''multi'' - выборочное чтение несмежных адресов из любых регионов | |**address**| ''0'' |Адрес регистра | |**bit**| ''0'' |Номер бита от 0 до 15. Только для битовый регионов с длиной элемента 1 | |**region**| ''176'' |Регион (код области памяти). См. описание протокола стр.122 (rus). Внимание! Не все значения регионов из описания поддерживаются. | |**access**| ''rw'' |Доступ: | |:::|:::|''ro'' - только чтение | |:::|:::|''wo'' - только запись | |:::|:::|''rw'' - чтение и запись | |**type**| ''uint16'' |Тип тега: | |:::|:::|''bool'' | |:::|:::|''int16'' | |:::|:::|''uint16'' | |:::|:::|''int32'' | |:::|:::|''float16'' | |:::|:::|''float32'' | |**inverted**| ''off'' |Инверсия значения (только для типов тега ''bool''). | |**readEnd**| ''off'' |Последний регистр в запросе чтения командой AREA. | |**enable**| ''on'' |Разрешение чтения и записи тега. | |**tracktag**| ''-'' |Имя тега слежения для выполнения принудительной повторной записи. Предназначено для тегов с ''access=WO''. Тег слежения должен быть определен в этом же модуле. Запись инициируется, если последнее записанное значение отличается от значения, получаемого от тега слежения. | ===== Порядок выполнения запросов ===== * множественная запись (команда 01 02) * множественное чтение ''area'' (команда 01 01) * выборочное чтение ''multi'' (команда 01 04) Количество запросов рассчитывается автоматически. ===== Запись ===== Команды записи посылаются только для тех регистров, в теги которых были записаны значения, при этом значение может не отличаться от предыдущего. Если количество регистров для записи превышает установленный лимит, либо имеется несколько смежных адресов, между которыми есть разрыв, то команда множественной записи посылается необходимое количество раз. ===== Чтение ===== Команда ''area'' предназначена для чтения одного или нескольких смежных, либо относительно близко расположенных адресов из одного региона. Команда ''multi'' предназначена для чтения любого количества любых адресов в любых регионах. Данная команда не может быть применена для тегов типа ''int32'' и ''float32''. ===== Дополнительные теги ===== |**AnswerStatus** |Код завершения первой неудачной операции чтения или записи после сброса тега. Коды смотреть в описании протокола стр.113 (rus). Для сброса установленного в теге значения, записать в тег 0. | ===== Коды регионов ===== * CIO bit: 48 * WR bit: 49 * HR bit: 50 * AR bit: 51 * DM bit: 02 * EM bit: 32-44 * TIM флаг завершения: 09 * CNT флаг завершения: 09 * CIO word: 176 * WR word: 177 * HR word: 178 * AR word: 179 * DM word: 130 * EM word: 160-172 * TIM значение: 137 * CNT значение: 137