В данной статье рассмотрены особенности подключения преобразователя сигналов тензодатчиков EWM-D2-RS к программируемому логическому контроллеру ПЛК LogicOn CPU 12/8N DC по интерфейсу RS-485 с использованием протокола Modbus RTU.
По ходу статьи будут приводиться практические примеры этапов реализации совместной работы данных приборов:
ВНИМАНИЕ! К работам по монтажу, наладке, ремонту и обслуживанию технологического оборудования допускаются лица, имеющие техническое образование и специальную подготовку (обучение и проверку знаний) по безопасному производству работ в электроустановках с группой не ниже 2 для ремонтного персонала, а также имеющие опыт работ по обслуживанию оборудования, в конструкцию которого вносятся изменения и дополнения, либо производится модернизация. За неисправность оборудования и безопасность работников при неквалифицированном монтаже и обслуживании ООО «КИП-Сервис» ответственности не несет.
Подключение производится по двухпроводной схеме (рисунок 1). Клеммы 5 и 6 (A и B) преобразователя подключаются к клеммам A (+) и B (-) контроллера соответственно. У ПЛК LogicOn предусмотрены два COM порта, совмещенные в разъеме типа DB9-F. Для подключения EWM-D2-RS к ПЛК необходим кабель с разъемом, имеющим ответную часть DB9-M. В данной статье используется порт COM1, который находится на контактах 1 и 6 описанного разъема.
Источник питания подключается к клеммам 24V и V0 ПЛК, а также к клеммам 1 и 2 EWM-D2-RS, величина требуемого напряжения равна 24 В (рисунок 1). Для ПЛК LogicOn CPU 12/8N DC без подключения модулей расширения потребляемая мощность составляет 10 Вт, для EWM-D2-RS – 3 Вт. Таким образом, требуемая мощность источника питания должна составлять не менее 13 Вт для работы обоих устройств без подключения модулей расширения ПЛК. Например, можно использовать блок питания LI15-20B24PR2.
Клемма PG ПЛК подключается к системе защитного заземления шкафа управления, в котором установлен ПЛК. Это необходимо для минимизации вероятности поражения электрическим током в случае пробоя изоляции корпуса устройства.
Преобразователь EWM-D2-RS поддерживает протокол Modbus RTU в режиме Slave. Сетевые параметры преобразователя (группа параметров Р-05) устанавливаются согласно таблице 1.
Параметр | Значение | Описание |
---|---|---|
Addr | 1 | Адрес в сети Modbus: (1...247) |
bAUd | 8 | Скорость обмена данными по интерфейсу RS-485, (бит/с): (0...8) |
PrtY | 0 | Проверка четности: 0 — отсутствует 1 — нечетный (Odd) 2 — четный (Even) |
Stbt | 0 | Количество стоп-битов: (1...2) |
Адрес устройства выбирается из диапазона значений (1...247); причем каждое устройство в сети должно иметь уникальный адрес. При значении параметра Addr=0 обмен по интерфейсу не производится.
Скорость передачи данных должна быть одинаковой для всех устройств в сети. Значение параметра в бит/с выбирается из заданного диапазона: (0 — 2400; 1 — 4800; 2 — 9600; 3 — 19200; 4 — 28800; 5 — 38400; 6 — 57600; 7 — 76800; 8 — 115200).
Регистры EWM-D2-RS, используемые в данной статье, представлены в таблице 2. Нумерация регистров ведется в десятичной и шестнадцатеричной системах исчисления.
Параметр | Тип данных | Формат доступа / Функция | Адрес | |
---|---|---|---|---|
Dec | Hex | |||
Вес нетто | int32 | R (Чтение) 0х04 |
0 | 0h |
Вес брутто | int32 | R (Чтение) 0х04 |
2 | 2h |
Счетчик изделий | int16 | R (Чтение) 0х04 |
4 | 4h |
Статус весоизмерения | int16 | R (Чтение) 0х04 |
5 | 5h |
Статус калибровки | int16 | R (Чтение) 0х04 |
6 | 6h |
Процент нагрузки тензодатчика от номинального веса | int16 | R (Чтение) 0х04 |
7 | 7h |
Установка веса платформы | int16 | R/W (Чтение/Запись) 0х04/0х06 |
24 | 18h |
Установка веса тары | int16 | R/W (Чтение/Запись) 0х04/0х06 |
25 | 19h |
Калибровка датчика | int16 | R/W (Чтение/Запись) 0х04/0х06 |
264 | 1Ah |
Типы данных переменных преобразователя EWM-D2-RS:
Для регистров, в которых хранятся переменные типа int32, в таблице 2 указывается адрес первого регистра, второй регистр будет следующим по порядку. Все параметры преобразователя EWM-D2-RS доступны для считывания по протоколу Modbus RTU.
ПЛК LogicOn программируется на языке релейной (лестничной) логики LD. Для программирования используется программа ELHART LogicOn Soft, которая распространяется бесплатно, актуальная версия доступна для скачивания в разделе "Документация и ПО" страницы ПЛК LogicOn.
При создании новой программы вначале необходимо выбрать используемую модель контроллера (рисунок 2) и нажать «ОК». В качестве примера будет использоваться ПЛК LogicOn 12/8N DC.
После создания новой программы на экране появится рабочее поле (рисунок 3). Для подключения по интерфейсу RS-485 используется порт COM1. Настройка порта осуществляется в окне управления проектом расположенном с левой стороны экрана: раздел "System Setting", вкладка "Serial Port Setting".
На рисунке 4 показан пример настройки порта COM1.
Во вкладке “Serial Port Setting” необходимо задать следующие параметры:
С правой стороны экрана располагается рабочее поле программы (рисунок 5).
Область «Network» обозначает группу элементов (инструкций), находящихся на одной линии. Используемые программные элементы выбираются из библиотеки доступных, при этом добавлять элементы на линию можно несколькими способами:
Перечень доступных в программе инструкций, их обозначения и принцип работы указаны в руководстве по программированию ПЛК LogicOn.
Для работы ПЛК LogicOn с внешними устройствами по протоколу Modbus RTU доступны к использованию следующие инструкции связи (External Device Inst):
Так как значения параметров EWM-D2-RS хранятся в форматах int16 и int32, то для работы с ними используются инструкции MBUSRW и MBUSWW. Внутренние регистры ПЛК типа D представлены в виде ячеек размером 16 бит. Тем не менее, в ПЛК есть инструкции для работы с 32-битными значениями. При использовании инструкций по работе с int32 соседние 16-ти битные регистры автоматически группируются в 32-битный регистр. В этом случае в регистре с меньшим номером хранятся младшие 16 бит, а в регистре с большим номером — старшие 16 бит (рисунок 7).
Ниже рассмотрен пример реализации считывания 2-х регистров. Параметры инструкции MBUSRW выбираются согласно таблице 3.
Доступные входы | Значение | Описание |
---|---|---|
S1 | K=1 | Номер порта, по которому будет производиться обмен данными (в данной статье используется COM1) |
S2 | K=1 | Адрес slave-устройства, подключаемого к ПЛК LogicOn (Адрес EWM-D2-RS в сети Modbus, записанный в параметре Addr) |
S3 | K=4 | Инструкция чтения данных из регистров, указанная в десятичном формате (EWM-D2-RS поддерживает функции чтения данных 0х03 и 0х04). В данном примере используется функция чтения 0х04 |
S4 | D=3 | Адрес сохранения считанного регистра в ПЛК (считанное значение сохраняется в регистр данных D с адресом 3) |
S5 | K=1 | Адрес Modbus считываемого регистра (считывается значение параметра «Вес нетто» из регистра EWM-D2-RS с адресом 0). В сводной таблице параметров используется физическая адресация регистров. Значит для обращения к регистру необходимо к его адресу из таблицы в десятичном формате прибавить 1 (K=1) |
S6 | K=2 | Количество считываемых регистров EWM-D2-RS. Параметр «Вес нетто» имеет тип int32, занимающий 2 регистра |
S7 | K=1000 | Максимальное время ожидания ответа, мс. Если по истечении указанного времени считывание значения не происходит, инструкция считается не выполненной (статус выполнения записывается в код состояния) |
В данном примере используется функция чтения 0х04, считываются два 16-битных регистра, которые в совокупности представляют собой 1 регистр данных типа int32. Адрес сохранения считанного регистра задается пользователем при настройке инструкции MBUSRW и используется в дальнейшем в других инструкциях.
Адрес считываемого регистра выбирается в десятичном формате из сводной таблицы параметров EWM-D2-RS. В ней используется физическая адресация регистров (адрес начинается с 0), а в инструкциях – логическая (адрес начинается с 1). Для обращения к нужному регистру необходимо к адресу регистра из сводной таблицы прибавить 1. В инструкции адрес также указывается в десятичном формате.
К выходу подключается регистр памяти ПЛК D10, в котором будет храниться код состояния:
Алгоритм заключается в последовательном выполнении заданного количества шагов, после чего программа возвращается на первый шаг. Для этого используется пошаговое управление. Каждая инструкция в пределах одного шага (STL) представляет собой изолированный участок кода, на который не влияют другие инструкции.
В первом цикле с помощью специального внутреннего реле SM2 осуществляется переход к пошаговому управлению и устанавливается переход на следующий шаг (SET S10).
На следующем шаге (STL S10) происходит чтение 2-х регистров параметра «Вес нетто» из преобразователя EWM с адресом 1 из регистров, начинающихся с адреса 0 (физический адрес 1). Результат будет записан в регистр данных D3, подключенный к входу S4 (рисунок 8), и в регистр данных D4, следующий за D3.
Специальное внутреннее реле SM0 представляет собой программный элемент, выполняющий особые функции. В данном примере SM0 будет включено, когда ПЛК находится в режиме «RUN», при этом срабатывает подключенная к реле инструкция MBUSRW и производится считывание данных с регистров EWM-D2-RS. Это необходимо для гарантии нормального выполнения инструкции MBUSRW, так как прямое подключение инструкций к контактам типа STL запрещено (подробнее см. руководство).
Переход на следующий шаг (SET S15) производится только при выполнении условия проведения опроса, заданного инструкцией сравнения двух 16-битных значений LD>. Значение (код состояния), записанное в регистр данных D10, должно быть больше значения, заданного пользователем в константе (K=0). Если условие выполняется, замыкается контакт (SET S15) и программа переходит на шаг S15. Использование шагового управления позволяет избежать конкуренции между инструкциями при использования нескольких MBUSRW, так как инструкции на разных шагах не будут влиять друг на друга.
В целях ознакомления считывание нескольких расположенных друг за другом регистров EWM-D2-RS можно осуществить с использованием нескольких отдельных инструкций MBUSRW (Чтение регистра типа WORD). В реальном применение считать такие регистры можно одним запросом.
При считывании регистров с нескольких устройств опрос также организуется с помощью нескольких инструкций MBUSRW. На рисунке 10 показан пример считывания нескольких параметров устройства с использованием пошагового управления.
Задержка в 10 мс между шагами необходима, для того чтобы slave-устройство успело гарантированно переключиться на приём данных по линии RS485.
Для дальнейшей работы с записанной в регистрах памяти ПЛК информацией (арифметические операции, преобразование типов данных, приведение к диапазону и т. д.) пользователю необходимо выбрать из руководства по программированию инструкции соответствующего типа. Следует учитывать, что для работы с переменными типа int32 нужно использовать 32-х разрядные инструкции, при этом указывается только начальный из двух регистров.
Условие отображения отрицательного веса настраивается в параметре 3-05 преобразователя EWM-D2-RS (группа параметров P3 — Функциональные параметры). Если в параметр записана 1, то отрицательный вес не отображается на приборе, а в соответствующий регистр записывается нулевое значение.
При необходимости работы с отрицательными значениями их считывание осуществляется так же, как и считывание положительных значений с регистров преобразователя EWM-D2-RS. Пример отображения отрицательного значения в регистре (D1= - 474) показан на рисунке 11.
В условиях производства зачастую необходимо считывать состояние используемых устройств, в том числе для отслеживания аварийных ситуаций. В рассматриваемом примере статус устройства хранится в параметрах Stat1 и Stat2, которые содержат следующую информацию:
Параметр | Адрес | Тип данных | Функция | Наименование параметра | |
---|---|---|---|---|---|
Dec | Hex | ||||
Stat1 | 5 | 5h | int16 | Чтение |
Статус весоизмерения:
|
Stat2 | 6 | 6h | int16 | Чтение |
Статус калибровки:
|
EWM-D2-RS не поддерживает функции чтения отдельных битов 0x01 и 0x02, поэтому нельзя использовать инструкцию MBUSRB (Чтение битовых регистров). Чтение битовых значений производится с помощью инструкции MBUSRW (Чтение 16-битных регистров), код статуса (параметр Stat1) считывается из регистра EWM-D2-RS с адресом 5 (S5 = 6, т. к. В ПЛК используется адрес + 1) одним целым 16-ти битным регистром и записывается в регистр D6 памяти ПЛК (рисунок 12).
Далее регистр данных D6 разбивается на битовую маску для работы с отдельными битами. Преобразование 16-битного регистра D6 в 16 последовательных M-регистров выполняется с помощью инструкции пересылки данных MOV (16-битная инструкция). В памяти ПЛК M-регистры (внутренние реле М) служат для хранения промежуточных логических состояний.
Код статуса преобразователя занимает биты с 0 по 7, остальные биты являются резервными. Для экономии памяти выходу инструкции MOV необходимо указать K2M0 (рисунок 13). В этом случае используются только первые 8 битов регистра ПЛК D6. Ко входу S1 инструкции MOV подключается регистр данных D6. После преобразования самый младший бит кода статуса будет находиться в регистре ПЛК M0, самый старший — в регистре М7.
Преобразователь EWM-D2-RS поддерживает функции тарирования и калибровки по протоколу Modbus RTU. Пользователю доступны несколько режимов калибровки: по известному весу и по параметрам тензодатчика (подробнее о процедуре можно уточнить в сводной таблице параметров EWM-D2-RS). Для проведения калибровки необходимо записать «1» в соответствующий регистр преобразователя EWM-D2-RS, указанный в сводной таблице параметров.
Устройство поддерживает функции записи данных 0х06, 0х10. Запись значения осуществляется с использованием инструкции MBUSWW (Запись 16-битных регистров). Параметры инструкции задаются согласно таблице 5.
Доступные входы | Значение | Описание | ||
---|---|---|---|---|
S1 | K=1 | Номер порта, по которому будет производиться обмен данными (в данной статье используется COM1) | ||
S2 | K=1 | Адрес slave-устройства, подключаемого к ПЛК LogicOn (Адрес EWM-D2-RS в сети Modbus, записанный в параметре Addr) | ||
S3 | K=6 | Инструкция записи данных в регистры EWM-D2-RS, указанная в десятичном формате. Устройство поддерживает функции записи 0х06, 0х10 (K=6 - запись одного регистра; K=16 - запись нескольких регистров). В данном примере используется функция записи одного регистра | ||
S4 | D=31 | Адрес внутреннего регистра ПЛК, значение которого необходимо записать в EWM-D2-RS (записываемое значение хранится в регистре данных D с адресом 31) | ||
S5 | K=25 | K=26 | K=27 | Адрес Modbus записываемого регистра. Например, в первом случае записывается значение в регистр EWM-D2-RS с адресом 24. В сводной таблице параметров используется физическая адресация регистров. Значит для обращения к регистру необходимо к его адресу из таблицы в десятичном формате прибавить 1 (K=25) |
S6 | K=1 | Количество записываемых регистров EWM-D2-RS. Параметры имеют тип int16, занимающий 1 регистр | ||
S7 | K=1000 | Максимальное время ожидания ответа, мс. Если по истечении указанного времени считывание значения не происходит, инструкция считается не выполненной (статус выполнения записывается в код состояния) |
Для проведения тарирования и калибровки необходимо предварительно записать значение «1» в регистр ПЛК D31.
На рисунке 14 представлена программа, в которой помимо чтения веса нетто дополнительно предусмотрена возможность тарирования и калибровки по кнопкам Х6 и Х7. С помощью инструкций MBUSWW осуществляется запись значения «1» типа int16 из регистра данных D31 в регистры преобразователя K25 и K27 по порту K1 функцией K6 (запись одного регистра).
К выходу подключается регистр памяти ПЛК D10, в котором будет храниться код состояния:
Выбор требуемой инструкции (чтение или запись) осуществляется на шаге S0. Если кнопки X6 и X7 не нажаты, то осуществляется переход на шаг S10 и происходит считывание текущего веса нетто. При нажатии кнопок X6 или X7 осуществляется тарирование или калибровка. Таймер Т200 предназначен для реализации задержки 10мс между запросами, чтобы прибор EWM-D2-RS гарантированно успел переключиться на приём данных по RS485.
В этом примере используются входные реле типа X. Эти программные элементы непосредственно связаны с физическими входами ПЛК, их состояние не может быть изменено программно. Для реализации алгоритма также могут быть использованы другие инструкции (внутренние реле M, специальные внутренние реле SM и т. д.).
Операции запуска и остановки выполнения программы, загрузки программы в ПЛК, ее выгрузки, а также перехода в режим мониторинга осуществляются на панели инструментов управления ПЛК (PLC Tools). Для запуска и остановки выполнения программы необходимо нажать кнопки «Run» и «Stop» (рисунок 15).
Для загрузки программы необходимо нажать кнопку «Upload Program», а затем выбрать «Download» / «ОК» во всплывающих окнах.
В режиме мониторинга можно отслеживать состояние всех элементов, а также записанные в регистры значения. Данный режим доступен только после загрузки программы в ПЛК. Запуск и остановка мониторинга осуществляется кнопками «Start Monitor» и «Stop Monitor» (рисунок 17).
В качестве примера рассмотрим программу управления чеквейерной системой, предназначенной для контроля качества выпускаемой продукции по весу. Система состоит из конвейера и зоны взвешивания, оснащенной тензодатчиками, ультразвуковым датчиком положения изделия и пневмотолкателем. По показаниям тензодатчиков вес изделия сравнивается с требуемым значением. Если вес не выходит за установленные рамки, то изделие отправляется дальше по конвейеру; в противном случае срабатывает пневмотолкатель для перемещения бракованного изделия на запасной путь. Подсчет количества бракованных изделий осуществляется с помощью ультразвукового датчика, расположенного на запасном пути ленты конвейера.
Алгоритм состоит из основной части программы (рисунок 19, а) и подпрограммы (рисунок 19, б), которая реализует считывание веса нетто из регистров преобразователя EWM-D2-RS.
В таблице 6 указаны устройства, подключаемые ко входам и выходам ПЛК.
Вход ПЛК | Назначение | Выход ПЛК | Назначение |
---|---|---|---|
X0 | Кнопка «Пуск» | Y0 | Конвейер |
X1 | Датчик положения поршня пневмоцилиндра (толкатель задвинут) | Y1 | Пневмотолкатель |
X2 | Датчик положения поршня пневмоцилиндра (толкатель выдвинут) | Y2 | Светодиод «Авария» |
X3 | Ультразвуковой датчик (наличие изделия) | ||
X4 | Ультразвуковой датчик (появление брака) | ||
X5 | Сброс аварии |
Логика программы будет построена с учётом того, что при отсутствие изделия на конвейере прибор EWM-D2-RS будет возвращать значение веса 0. Этого можно добиться с помощью параметра «Стабильный ноль» в весоизмерительном модуле. Данный параметр позволяет отключить колебания веса около нуля в пределах диапазона стабильного веса.
Кнопка «Пуск» реализуется с использованием мастер-контроля N1, эта базовая инструкция служит для включения и отключения участка программы. К выходу D1 инструкции подключен регистр памяти ПЛК M100, в котором отображается состояние кнопки «Пуск» X0. Часть программы, ограниченная инструкциями MC и MCR может работать только при условии включения оператором кнопки «Пуск» X0. Также, в рассматриваемом примере подпрограмма P0 с опросом модуля EWM вынесена за пределы инструкций мастер-контроля, чтобы состояние кнопки «Пуск» не влияло на опрос по RS485.
В программе выполняется следующая последовательность действий:
Скачать практический пример программы для LogicOn (4 KB).
В статье описана процедура организации управления преобразователем сигналов тензодатчиков ELHART EWM-D2-RS c помощью программируемого логического контроллера LogicOn CPU 12/8N DC. На основе рассмотренного примера можно создавать более сложные алгоритмы управления автоматизированными системами в условиях производства.
Макарова Е. А.
ВолгГТУ, группа УТС-320
В рамках прохождения производственной практики
Список использованной литературы:
При добавлении товара возникла ошибка. Пожалуйста, повторите попытку чуть позже.