Подключение преобразователя сигналов тензодатчиков EWM-D2-RS к ПЛК LogicOn по интерфейсу RS-485

Введение

В данной статье рассмотрены особенности подключения преобразователя сигналов тензодатчиков EWM-D2-RS к программируемому логическому контроллеру ПЛК LogicOn CPU 12/8N DC по интерфейсу RS-485 с использованием протокола Modbus RTU.

По ходу статьи будут приводиться практические примеры этапов реализации совместной работы данных приборов:

Техника безопасности

ВНИМАНИЕ! К работам по монтажу, наладке, ремонту и обслуживанию технологического оборудования допускаются лица, имеющие техническое образование и специальную подготовку (обучение и проверку знаний) по безопасному производству работ в электроустановках с группой не ниже 2 для ремонтного персонала, а также имеющие опыт работ по обслуживанию оборудования, в конструкцию которого вносятся изменения и дополнения, либо производится модернизация. За неисправность оборудования и безопасность работников при неквалифицированном монтаже и обслуживании ООО «КИП-Сервис» ответственности не несет.

1 Схема электрического подключения EWM-D2-RS и ПЛК LogicOn CPU 12/8N DC

Подключение производится по двухпроводной схеме (рисунок 1). Клеммы 5 и 6 (A и B) преобразователя подключаются к клеммам A (+) и B (-) контроллера соответственно. У ПЛК LogicOn предусмотрены два COM порта, совмещенные в разъеме типа DB9-F. Для подключения EWM-D2-RS к ПЛК необходим кабель с разъемом, имеющим ответную часть DB9-M. В данной статье используется порт COM1, который находится на контактах 1 и 6 описанного разъема.

Подключение EWM-D2-RS и ПЛК LogicOn CPU 12/8N DC по интерфейсу RS-485
Рисунок 1 — Подключение EWM-D2-RS и ПЛК LogicOn CPU 12/8N DC по интерфейсу RS-485

Источник питания подключается к клеммам 24V и V0 ПЛК, а также к клеммам 1 и 2 EWM-D2-RS, величина требуемого напряжения равна 24 В (рисунок 1). Для ПЛК LogicOn CPU 12/8N DC без подключения модулей расширения потребляемая мощность составляет 10 Вт, для EWM-D2-RS – 3 Вт. Таким образом, требуемая мощность источника питания должна составлять не менее 13 Вт для работы обоих устройств без подключения модулей расширения ПЛК. Например, можно использовать блок питания LI15-20B24PR2.

Клемма PG ПЛК подключается к системе защитного заземления шкафа управления, в котором установлен ПЛК. Это необходимо для минимизации вероятности поражения электрическим током в случае пробоя изоляции корпуса устройства.

2 Настройка преобразователя сигналов тензодатчиков EWM-D2-RS

2.1 Настройка сетевых параметров

Преобразователь EWM-D2-RS поддерживает протокол Modbus RTU в режиме Slave. Сетевые параметры преобразователя (группа параметров Р-05) устанавливаются согласно таблице 1.

Таблица 1 — Настройка параметров преобразователя EWM-D2-RS
Параметр Значение Описание
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).

2.2 Адресация регистров

Регистры 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:

  • Small Integer (int16) - занимает один регистр Modbus;
  • Integer (int32) - занимает два регистра Modbus.

Для регистров, в которых хранятся переменные типа int32, в таблице 2 указывается адрес первого регистра, второй регистр будет следующим по порядку. Все параметры преобразователя EWM-D2-RS доступны для считывания по протоколу Modbus RTU.

3 Программирование ПЛК LogicOn

ПЛК LogicOn программируется на языке релейной (лестничной) логики LD. Для программирования используется программа ELHART LogicOn Soft, которая распространяется бесплатно, актуальная версия доступна для скачивания в разделе "Документация и ПО" страницы ПЛК LogicOn.

При создании новой программы вначале необходимо выбрать используемую модель контроллера (рисунок 2) и нажать «ОК». В качестве примера будет использоваться ПЛК LogicOn 12/8N DC.

Выбор модели ПЛК при создании новой программы
Рисунок 2 — Выбор модели ПЛК при создании новой программы

3.1 Конфигурация порта COM1

После создания новой программы на экране появится рабочее поле (рисунок 3). Для подключения по интерфейсу RS-485 используется порт COM1. Настройка порта осуществляется в окне управления проектом расположенном с левой стороны экрана: раздел "System Setting", вкладка "Serial Port Setting".

Окно управления проектом
Рисунок 3 — Окно управления проектом

На рисунке 4 показан пример настройки порта COM1.

Настройка порта COM1
Рисунок 4 — Настройка порта COM1

Во вкладке “Serial Port Setting” необходимо задать следующие параметры:

  • Protocol (протокол передачи данных) = LogicOn PLC Master Protocol;
  • Work Mode (коммутационный интерфейс) = RS232/RS485;
  • Baud Rate (скорость передачи данных) = 115200;
  • Data Bit (количество бит данных) = 8;
  • Stop Bit (количество стоповых бит) = 1;
  • Parity Bit (паритет) = No Check.

3.2 Добавление инструкций в программу

С правой стороны экрана располагается рабочее поле программы (рисунок 5).

Рабочее поле программы
Рисунок 5 — Рабочее поле программы

Область «Network» обозначает группу элементов (инструкций), находящихся на одной линии. Используемые программные элементы выбираются из библиотеки доступных, при этом добавлять элементы на линию можно несколькими способами:

  • а) путем выделения линии и выбора нужного элемента из библиотеки инструкций (рисунок 6, а);
  • б) путем двойного щелчка по линии и выбора инструкции из выпадающего списка в появляющемся окне (рисунок 6, б);
  • в) путем двойного щелчка по линии и написания обозначения инструкции в появляющемся окне (рисунок 6, в).
Добавление инструкций
Рисунок 6 — Добавление инструкций:
а) из библиотеки;
б) из выпадающего списка;
в) непосредственным написанием названия инструкции

Перечень доступных в программе инструкций, их обозначения и принцип работы указаны в руководстве по программированию ПЛК LogicOn.

3.3 Считывание регистров преобразователя EWM-D2-RS

Для работы ПЛК LogicOn с внешними устройствами по протоколу Modbus RTU доступны к использованию следующие инструкции связи (External Device Inst):

  • MBUSRB – Чтение битовых регистров;
  • MBUSWB – Запись битовых регистров;
  • MBUSRW – Чтение 16-битных регистров;
  • MBUSWW – Запись 16-битных регистров.

Так как значения параметров EWM-D2-RS хранятся в форматах int16 и int32, то для работы с ними используются инструкции MBUSRW и MBUSWW. Внутренние регистры ПЛК типа D представлены в виде ячеек размером 16 бит. Тем не менее, в ПЛК есть инструкции для работы с 32-битными значениями. При использовании инструкций по работе с int32 соседние 16-ти битные регистры автоматически группируются в 32-битный регистр. В этом случае в регистре с меньшим номером хранятся младшие 16 бит, а в регистре с большим номером — старшие 16 бит (рисунок 7).

Запись данных в регистры ПЛК
Рисунок 7 — Запись данных в регистры ПЛК:
а) запись 32-х битного числа в двух соседних 16-ти битных регистрах;
б) структура 16-ти битного регистра;
в) структура 32-х битного регистра

Ниже рассмотрен пример реализации считывания 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, в котором будет храниться код состояния:

  • 0 — не выполняется / в процессе выполнения;
  • 1 — команда выполнена успешно;
  • 2 — превышение времени ожидания ответа;
  • 3 — неверный адрес slave-устройства;
  • 4 — ошибка кода функции;
  • 5 — ошибка тестирования (testing fault);
  • 101 — принятый код функции не может быть обработан;
  • 102 — адрес данных, указанный в запросе, недоступен.

Алгоритм заключается в последовательном выполнении заданного количества шагов, после чего программа возвращается на первый шаг. Для этого используется пошаговое управление. Каждая инструкция в пределах одного шага (STL) представляет собой изолированный участок кода, на который не влияют другие инструкции.

В первом цикле с помощью специального внутреннего реле SM2 осуществляется переход к пошаговому управлению и устанавливается переход на следующий шаг (SET S10).

Начало шагового управления
Рисунок 8 — Начало шагового управления

На следующем шаге (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
Рисунок 9 — Опрос регистров преобразователя EWM

В целях ознакомления считывание нескольких расположенных друг за другом регистров EWM-D2-RS можно осуществить с использованием нескольких отдельных инструкций MBUSRW (Чтение регистра типа WORD). В реальном применение считать такие регистры можно одним запросом.

При считывании регистров с нескольких устройств опрос также организуется с помощью нескольких инструкций MBUSRW. На рисунке 10 показан пример считывания нескольких параметров устройства с использованием пошагового управления.

Задержка в 10 мс между шагами необходима, для того чтобы slave-устройство успело гарантированно переключиться на приём данных по линии RS485.

Чтение нескольких расположенных друг за другом регистров
Рисунок 10 — Чтение нескольких расположенных друг за другом регистров

Для дальнейшей работы с записанной в регистрах памяти ПЛК информацией (арифметические операции, преобразование типов данных, приведение к диапазону и т. д.) пользователю необходимо выбрать из руководства по программированию инструкции соответствующего типа. Следует учитывать, что для работы с переменными типа int32 нужно использовать 32-х разрядные инструкции, при этом указывается только начальный из двух регистров.

3.4 Считывание отрицательных значений

Условие отображения отрицательного веса настраивается в параметре 3-05 преобразователя EWM-D2-RS (группа параметров P3 — Функциональные параметры). Если в параметр записана 1, то отрицательный вес не отображается на приборе, а в соответствующий регистр записывается нулевое значение.

При необходимости работы с отрицательными значениями их считывание осуществляется так же, как и считывание положительных значений с регистров преобразователя EWM-D2-RS. Пример отображения отрицательного значения в регистре (D1= - 474) показан на рисунке 11.

Отображение отрицательного веса в программе
Рисунок 11 — Отображение отрицательного веса в программе

3.5 Чтение статуса преобразователя EWM-D2-RS

В условиях производства зачастую необходимо считывать состояние используемых устройств, в том числе для отслеживания аварийных ситуаций. В рассматриваемом примере статус устройства хранится в параметрах Stat1 и Stat2, которые содержат следующую информацию:

Таблица 4 — Статус весоизмерителя
Параметр Адрес Тип данных Функция Наименование параметра
Dec Hex
Stat1 5 5h int16 Чтение Статус весоизмерения:
  • Бит 0: флаг стабильного веса
  • Бит 1: текущий вес = вес тары
  • Бит 2: текущий вес = вес платформы (пустые весы)
  • Бит 3: дискретный вход замкнут
  • Бит 4: датчик перегружен
  • Бит 5: обрыв сигнала датчика
  • Бит 6: обрыв линии обратной связи датчика
  • Бит 7: ошибка связи с АЦП
Stat2 6 6h int16 Чтение Статус калибровки:
  • Бит 0: идет установка веса платформы
  • Бит 1: идет процесс тарирования
  • Бит 2: идет процесс калибровки датчика
  • Бит 3: идет процесс калибровки счетчика изделий
  • Бит 4: идет внутренняя температурная калибровка
  • Бит 5: буфер регистров заполнен
  • Бит 6: последняя операция записи с буфером регистров завершилась ошибкой

EWM-D2-RS не поддерживает функции чтения отдельных битов 0x01 и 0x02, поэтому нельзя использовать инструкцию MBUSRB (Чтение битовых регистров). Чтение битовых значений производится с помощью инструкции MBUSRW (Чтение 16-битных регистров), код статуса (параметр Stat1) считывается из регистра EWM-D2-RS с адресом 5 (S5 = 6, т. к. В ПЛК используется адрес + 1) одним целым 16-ти битным регистром и записывается в регистр D6 памяти ПЛК (рисунок 12).

Считывание кода статуса преобразователя
Рисунок 12 — Считывание кода статуса преобразователя

Далее регистр данных D6 разбивается на битовую маску для работы с отдельными битами. Преобразование 16-битного регистра D6 в 16 последовательных M-регистров выполняется с помощью инструкции пересылки данных MOV (16-битная инструкция). В памяти ПЛК M-регистры (внутренние реле М) служат для хранения промежуточных логических состояний.

Код статуса преобразователя занимает биты с 0 по 7, остальные биты являются резервными. Для экономии памяти выходу инструкции MOV необходимо указать K2M0 (рисунок 13). В этом случае используются только первые 8 битов регистра ПЛК D6. Ко входу S1 инструкции MOV подключается регистр данных D6. После преобразования самый младший бит кода статуса будет находиться в регистре ПЛК M0, самый старший — в регистре М7.

Преобразование 16-битного регистра в 16 последовательных однобитных регистров
Рисунок 13 — Преобразование 16-битного регистра в 16 последовательных однобитных регистров

3.6 Тарирование и калибровка преобразователя EWM-D2-RS

Преобразователь EWM-D2-RS поддерживает функции тарирования и калибровки по протоколу Modbus RTU. Пользователю доступны несколько режимов калибровки: по известному весу и по параметрам тензодатчика (подробнее о процедуре можно уточнить в сводной таблице параметров EWM-D2-RS). Для проведения калибровки необходимо записать «1» в соответствующий регистр преобразователя EWM-D2-RS, указанный в сводной таблице параметров.

Устройство поддерживает функции записи данных 0х06, 0х10. Запись значения осуществляется с использованием инструкции MBUSWW (Запись 16-битных регистров). Параметры инструкции задаются согласно таблице 5.

Таблица 5 — Выбор параметров MBUSRW
Доступные входы Значение Описание
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, в котором будет храниться код состояния:

  • 0 – не выполняется / в процессе выполнения;
  • 1 – команда выполнена успешно;
  • 2 – превышение времени ожидания ответа;
  • 3 – неверный адрес slave-устройства;
  • 4 – ошибка кода функции;
  • 5 – ошибка тестирования (testing fault);
  • 101 – принятый код функции не может быть обработан;
  • 102 – адрес данных, указанный в запросе, недоступен.
Программа с учётом тарирования и калибровки EWM-D2-RS
Рисунок 14 — Программа с учётом тарирования и калибровки EWM-D2-RS

Выбор требуемой инструкции (чтение или запись) осуществляется на шаге S0. Если кнопки X6 и X7 не нажаты, то осуществляется переход на шаг S10 и происходит считывание текущего веса нетто. При нажатии кнопок X6 или X7 осуществляется тарирование или калибровка. Таймер Т200 предназначен для реализации задержки 10мс между запросами, чтобы прибор EWM-D2-RS гарантированно успел переключиться на приём данных по RS485.

В этом примере используются входные реле типа X. Эти программные элементы непосредственно связаны с физическими входами ПЛК, их состояние не может быть изменено программно. Для реализации алгоритма также могут быть использованы другие инструкции (внутренние реле M, специальные внутренние реле SM и т. д.).

4 Загрузка программы в ПЛК и отладка в режиме мониторинга

Операции запуска и остановки выполнения программы, загрузки программы в ПЛК, ее выгрузки, а также перехода в режим мониторинга осуществляются на панели инструментов управления ПЛК (PLC Tools). Для запуска и остановки выполнения программы необходимо нажать кнопки «Run» и «Stop» (рисунок 15).

Панель инструментов управления ПЛК
Рисунок 15 — Панель инструментов управления ПЛК

Для загрузки программы необходимо нажать кнопку «Upload Program», а затем выбрать «Download» / «ОК» во всплывающих окнах.

Загрузка программы в ПЛК
Рисунок 16 — Загрузка программы в ПЛК

В режиме мониторинга можно отслеживать состояние всех элементов, а также записанные в регистры значения. Данный режим доступен только после загрузки программы в ПЛК. Запуск и остановка мониторинга осуществляется кнопками «Start Monitor» и «Stop Monitor» (рисунок 17).

Режим мониторинга
Рисунок 17 — Режим мониторинга

5 Практический пример

В качестве примера рассмотрим программу управления чеквейерной системой, предназначенной для контроля качества выпускаемой продукции по весу. Система состоит из конвейера и зоны взвешивания, оснащенной тензодатчиками, ультразвуковым датчиком положения изделия и пневмотолкателем. По показаниям тензодатчиков вес изделия сравнивается с требуемым значением. Если вес не выходит за установленные рамки, то изделие отправляется дальше по конвейеру; в противном случае срабатывает пневмотолкатель для перемещения бракованного изделия на запасной путь. Подсчет количества бракованных изделий осуществляется с помощью ультразвукового датчика, расположенного на запасном пути ленты конвейера.

Схема чеквейерной системы
Рисунок 18 — Схема чеквейерной системы:
M1 – конвейер;
LS1 – ультразвуковой датчик наличия изделия;
LS2 – ультразвуковой датчик наличия брака;
wt1 – тензодатчик.

Алгоритм состоит из основной части программы (рисунок 19, а) и подпрограммы (рисунок 19, б), которая реализует считывание веса нетто из регистров преобразователя EWM-D2-RS.

Блок-схема программы
Рисунок 19 — Блок-схема программы:
а) основная программа;
б) подпрограмма P1.

В таблице 6 указаны устройства, подключаемые ко входам и выходам ПЛК.

Таблица 6 – Назначение входов и выходов ПЛК
Вход ПЛК Назначение Выход ПЛК Назначение
X0 Кнопка «Пуск» Y0 Конвейер
X1 Датчик положения поршня пневмоцилиндра (толкатель задвинут) Y1 Пневмотолкатель
X2 Датчик положения поршня пневмоцилиндра (толкатель выдвинут) Y2 Светодиод «Авария»
X3 Ультразвуковой датчик (наличие изделия)
X4 Ультразвуковой датчик (появление брака)
X5 Сброс аварии

Логика программы будет построена с учётом того, что при отсутствие изделия на конвейере прибор EWM-D2-RS будет возвращать значение веса 0. Этого можно добиться с помощью параметра «Стабильный ноль» в весоизмерительном модуле. Данный параметр позволяет отключить колебания веса около нуля в пределах диапазона стабильного веса.

Кнопка «Пуск» реализуется с использованием мастер-контроля N1, эта базовая инструкция служит для включения и отключения участка программы. К выходу D1 инструкции подключен регистр памяти ПЛК M100, в котором отображается состояние кнопки «Пуск» X0. Часть программы, ограниченная инструкциями MC и MCR может работать только при условии включения оператором кнопки «Пуск» X0. Также, в рассматриваемом примере подпрограмма P0 с опросом модуля EWM вынесена за пределы инструкций мастер-контроля, чтобы состояние кнопки «Пуск» не влияло на опрос по RS485.

В программе выполняется следующая последовательность действий:

  1. В каждом цикле работы ПЛК вызывается подпрограмма P0. Все инструкции этой подпрограммы связаны с опросом устройства EWM-D2-RS по RS485 и вынесены в одну подпрограмму для удобства.
  2. При срабатывании инструкции X0 (кнопка «Пуск») запускается инструкция N1 (мастер-контроль) и происходит включение участка программы между линиями Network 3 и Network 10 (рисунок 20).
    Вызов подпрограммы и мастер-контроль
    Рисунок 20 — Вызов подпрограммы и мастер-контроль
  3. Далее происходит проверка состояния элемента Y2 (светодиод «Авария»), если он выключен, то активируется выход Y0 (включение конвейера).
  4. При срабатывании датчика X3 (датчик наличия изделия), запускается участок кода, определяющий основную логику чеквейерной системы — сравнение веса изделия с установленными значениями.
    Инструкция <>D, которая сравнивает текущее значение веса, записанное в регистре D1 ПЛК, с константой K = 0 (проверка пустых весов). Если текущее значение больше или меньше нуля, то инструкция <>D срабатывает и запускается инструкция
  5. Инструкция
  6. Инструкция >D, расположенная на ветви ниже, сравнивает текущее значение веса и уставки (константа K = 420). Если значение больше 420, то активируется выход Y1 (по аналогии с п.5). Значения константы K в обеих инструкциях сравнения определяют верхнюю и нижнюю предельные границы (от 380 до 420) допустимого веса изделия.
    Условие активации пневмотолкателя
    Рисунок 21 — Условие активации пневмотолкателя
  7. Если вес изделия выходит за установленные пределы, толкатель выдвигается и перемещает изделие на запасную линию. На линии ниже находится таймер аварии толкателя T1, который активируется при включении выхода Y1. Если к тому моменту, как завершится отсчет таймера T1 (константа K = 60, т. е. 6 секунд), контакт X2 (датчик положения поршня, толкатель выдвинут) не будет замкнут, то сработает элемент Y2 (светодиод «Авария», авария толкателя).
  8. Инструкция ==D сравнивает текущее значение веса с константой K = 0. Если записанное в регистр D1 ПЛК значение равно 0 (весы пустые), то происходит отключение выхода Y1 (пневмотолкатель), и толкатель возвращается в исходное положение.
  9. При отключенном выходе Y1 включается таймер аварии толкателя T2, расположенный на ветви ниже. Если к тому моменту, как завершится отсчет таймера T2 (константа K = 60, т. е. 6 секунд), контакт X1 (датчик положения поршня, толкатель задвинут) останется разомкнутым, то сработает элемент Y2 (светодиод «Авария», авария толкателя).
    Работа пневмотолкателя и условия включения аварии
    Рисунок 22 — Работа пневмотолкателя и условия включения аварии
    В случае возникновения аварийной ситуации (рисунок 23) все рабочие процессы должны быть остановлены, а система должна перейти в режим ожидания. Эта часть программы реализована следующим образом:
  10. Если срабатывает элемент Y2 (светодиод «Авария»), происходит сброс включенного состояния нескольких инструкций: Y0 (отключение конвейера), T1 и T2 (сброс таймеров аварии толкателя). Система переходит в режим ожидания.
  11. При срабатывании входа X5 (сброс аварии) выполняется сброс включенного состояния элемента Y2 (светодиод «Авария») и осуществляется выключение аварии. После этого система выходит из режима ожидания и может продолжить работу.
    Остановка работы программы в случае аварии
    Рисунок 23 — Остановка работы программы в случае аварии
    При перемещении бракованного изделия по запасной линии срабатывает ультразвуковой датчик X4, при этом каждое срабатывание датчика X4 активирует инструкцию подсчёта изделий INC, которая увеличивает значение регистра D20 (подсчёт бракованных изделий). Значение этого регистра в дальнейшем можно считывать с помощью панели оператора или другого подходящего устройства.
    Подсчет количества бракованных изделий
    Рисунок 24 — Подсчет количества бракованных изделий
    Опрос преобразователя EWM-D2-RS осуществляется по протоколу Modbus RTU в подпрограмме P0 (рисунок 25). Алгоритм реализован с помощью пошагового управления, как это было показано в пункте 3.6:
    1. 1. При срабатывании инструкции SM2 (регистр, который активен только в первом цикле ПЛК) включается элемент S0 и программа переходит на Network 2. Таким образом активируется шаговое управление. Параллельно этому в регистр D31 ПЛК записывается значение 1. Это значение понадобится при тарировании и калибровке;
    2. 2. На шаге S0 осуществляется выбор следующего действия:
      • если кнопки X6 и X7 не нажаты, то активируется шаг S10 (опрос веса нетто);
      • если кнопка X6 нажата, то активируется шаг S20 (тарирование);
      • если кнопка X7 нажата, то активируется шаг S30 (калибровка);
      Таймер T200 необходим для введение задержки 10мс между вызовами инструкций. Это требуется чтобы прибор EWM-D2-RS гарантированно успел переключиться в режим приёма данных по RS485.
    3. 3. На шагах S10, S20 и S30, по итогу выполнения любой из инструкций Modbus (MBUSRW, MBUSWW) значение в регистре D10 становится больше 0. После этого снова активируется шаг S0 и весь цикл программы повторяется.
    4. 4. Дополнительно в конце программы (Network 6 – Network 8, за пределами шагового управления) находится блок кода, отвечающий за контроль стабильности Modbus-соединения. При любом неудачном запросе (код состояния больше 1) значение счётчика C0 увеличивается. В случае 3-х неудачных запросов подряд будет активирована авария Y2. Если хоть один запрос выполняется успешно (код состояния 1), то счётчик аварий сбрасывается.
      Опрос преобразователя EWM
      Рисунок 25 — Опрос преобразователя EWM

Скачать практический пример программы для LogicOn (4 KB).

Заключение

В статье описана процедура организации управления преобразователем сигналов тензодатчиков ELHART EWM-D2-RS c помощью программируемого логического контроллера LogicOn CPU 12/8N DC. На основе рассмотренного примера можно создавать более сложные алгоритмы управления автоматизированными системами в условиях производства.

Макарова Е. А.
ВолгГТУ, группа УТС-320
В рамках прохождения производственной практики

Список использованной литературы:

  1. Программируемый логический контроллер LogicOn. Руководство по программированию. - 270 стр.
  2. Сводная таблица параметров. Преобразователь сигналов тензодатчиков EWM-D2-RS. - 2 стр.
  3. Промышленная автоматика: приборы КИПиА, АСУ ТП: [Электронный ресурс] // ООО «КИП-Сервис». URL: https://kipservis.ru/. (Дата обращения: 11.11.2023).

 Наверх