Лабораторная работа №3
НАСТРОЙКА ПРОТОКОЛА MODBUSTCP
Цель работы: изучение принципов настройки протокола ModBusTCP и организация связи с верхним уровнем (Infiniti OPC Server, Infiniti HMI) на примере ПЛК ЭЛСИ-ТМ.
3.1. Основные сведения
Modbus – коммуникационный протокол, широко применяемый в промышленности для организации связи между объектами автоматизированной системы управления. Протокол основан на архитектуре «клиент-сервер» и может использовать для передачи данных последовательные линии связи RS485, RS-422, RS-232, а также сети TCP/IP (Modbus TCP). Modbus относится к протоколам прикладного уровня сетевой модели OSI.
Обычно в сети есть только один мастер (англ. master) – главное устройство, и несколько подчиненных (slaves) устройств – слейвы. Главное устройство инициирует транзакции (передает запросы). Подчиненные устройства передают запрашиваемые главным устройством данные или производят запрашиваемые действия.
Мастер может адресоваться индивидуально к подчиненному или инициировать передачу широковещательного сообщения для всех подчиненных устройств. Подчиненное устройство формирует сообщение и возвращает его в ответ на запрос, адресованный именно ему. При получении широковещательного запроса ответное сообщение не формируется.
В режиме обмена информацией ОРС-севера и ПЛК ЭЛСИ-ТМ мастером является ОРС-сервер, а ПЛК – слейвом.
3.2.Программа работы
3.2.1.Настройка протокола ModBusTCP в режиме Slave
Запустите программу ElsyTMManager и откройте конфигурацию контроллера, созданную в предыдущей лабораторной работе. Проверьте настройки процессорного модуля на соответствие IP-адреса рабочего контроллера.
Добавьте в конфигурацию контроллера модуль 12_mbstcp – модуль программной поддержки протокола Modbus TCP/IP в режиме Slave. Настройте модуль в соответствии с табл. 3.1.
16
|
|
|
Таблица 3.1 |
Свойство |
Параметр |
Значение |
Комментарий |
модуля |
|
|
|
|
IP_1 |
192.168.10.3X, |
В строке IP_1 задается IP-адрес |
|
|
где Х – номер исследова- |
компьютера, который будет |
Основные |
|
тельского стенда на кото- |
опрашивать данный контроллер |
парамет- |
|
ром выполняется работа |
|
ры |
MASK_1 |
16 |
В строке MASK_1 задается маска |
|
|
|
сети, которая обслуживает дан- |
|
|
|
ный протокол обмена |
Создайте новые выходные сигналы модуля 15_opcs типа Bool: Nabor (Номер сигнала – 11), Res ( Номер сигнала – 12), Otgr ( Номер сигнала – 13). Маршрутизируйте эти сигналы в модуль 12_mbstcp, в качестве функции задайте «чтение битового входа (Input)» (код функции ModBus – 2, табл. 3.2), регистры задайте 22, 23 и 24 соответственно.
|
Таблица 3.2 |
|
Функция |
Код функции Modbus |
|
Чтение битовой ячейки (Coil) |
1 |
|
Чтение битового входа (Input) |
2 |
|
Чтение регистра (Holding Register) |
3 |
|
Чтение входного регистра (Input Register) |
4 |
|
Запись битовой ячейки (Coil) |
15 |
|
Запись регистра (Holding Register) |
16 |
|
Состояние связи с подчиненной станцией |
255 |
|
В случае правильного выполнения маршрутизации при открытии за-
кладки модуля 12_mbstcp (12_mbstcp → Сигналы → Сигналы входные) вы увидите три маршрутизированных в модуль 12_mbstcp сигнала.
Сгенерируйте переменные OPCS в буфер обмена. Сохраните созданную вами конфигурацию под уникальным именем и загрузите ее в контроллер при помощи ElsyTMPultPC.
3.2.2. Редактирование программы в OpenPCS
Запустите OpenPCS и откройте созданный вами ранее проект. Откройте программу, разработанную вами в предыдущей лабораторной работе, и сохраните ее под другим именем при помощи меню File → File → Copy.
Поместите переменные из буфера обмена в область локальных переменных программы. Допишите программу, добавив в нее перекладку переменных «набор», «отгрузка» и «стоп» в переменные Nabor, Otgr и Res соответственно. Сохраните изменения. Загрузите созданную программу в контроллер и запустите ее на исполнение.
17
3.2.3. Настройка протокола ModBusTCP в режиме Master. Организация
связи с верхним уровнем
Запустите сервер ввода/вывода Infinity. Откройте конфигуратор сервера и создайте новую конфигурацию.
Добавьте модуль «Модуль ModBus TCP/IP Master Module», сделайте его активным и перейдите к настройке конфигурации модуля.
Впоявившемся окне во вкладке «Общие параметры» укажите номер логического канала – 0.
Перейдите во вкладку «Маршруты» и добавите новый маршрут под номером 1. Введите IP-адрес контроллера, с которым вы работаете.
Вконфигураторе сервера ввода/вывода в папке teach создайте сигналы Nabor, Res и Otgr в формате Boolean, настройте для них необходимые свойства.
Настройте для этих сигналов протокол ModBus. Для этого на вкладке «Редактор адреса» в поле «Доступные протоколы» выберите ModBus, в поле «Устройство» выберите «Канал ModBus 0». В качестве протокольного типа укажите «Телесигнализация». Номер маршрута – 1. Тип сегмента – Телесигнализация ТС-1х (табл. 3.3).
|
|
|
|
|
Таблица 3.3 |
Имя |
Тип |
Протокольный тип |
Адрес |
Номер |
Тип сегмента |
сигнала |
данных |
|
сигнала |
маршрута |
|
Nabor |
Boolean |
Телесигнализация |
23 |
1 |
Телесигнализация |
|
|
|
|
|
|
Res |
Boolean |
Телесигнализация |
24 |
1 |
Телесигнализация |
|
|
|
|
|
|
Otgr |
Boolean |
Телесигнализация |
25 |
1 |
Телесигнализация |
После добавления сигналов сохраните созданную конфигурацию. Перезапустите все модули в конфигураторе для старта обновления статусов сигналов.
Запустите Infinity HMI и создайте мнемосхему. Мнемосхема должна содержать три кнопки, управляющие определенной динамикой (например, изменением цвета светодиода), причем нажатие на кнопки пульта исследовательского стенда должно отображаться на мнемосхеме. При разработке мнемосхемы в случае необходимости добавляйте новые сигналы и модули в конфигуратор ОРС-сервера.
Измените мнемосхему так, чтобы с нее стало возможным управление работой программы «старт-стоп» аналогичное управлению при помощи пульта на стенде. Запустите ваш проект и проверьте его работоспособность.
18
3.3. Содержание отчета
Отчет должен содержать:
−описание разработанной конфигурации контроллера: модулей и их параметров, сигналов, их свойств и маршрутов;
−текст программы, созданной в OpenPCS с комментариями;
−настройку протокола ModBusTCP в режиме Master;
−перечень и свойства сигналов телесигнализации в ОРС-сервере;
−мнемосхему технологического процесса с описанием созданной динамики для управляющих процессом кнопок.
19
Лабораторная работа №4
РАЗРАБОТКА SCADA-СИСТЕМЫ ДЛЯ ТЕПЛОВОГО ОБЪЕКТА
Цель работы: создание SCADA-системы для теплового объекта с привязкой к реальным сигналам контроллера по протоколу ModBusTCP/IP.
4.1. Основные сведения
Тепловой объект состоит из двух нагревательных элементов, вентилятора и двух измерительных преобразователей ET-301, предназначенных для измерения температуры на нагревательном элементе. Сигналы от преобразователей поступают на входы интеллектуального модуля аналогового ввода ТА 516 (каналы Analin_1, Analin_2). Нагрев и охлаждение осуществляются подачей дискретных сигналов с модуля TD502. Для управления тепловым объектом необходимо формировать входной сигнал I:3 этого модуля. При этом бит «7» этого сигнала управляет вентилятором (охлаждением), а «6» и «5» – нагревом.
Чтобы рассчитать фактическое значение температуры на нагревательном элементе, необходимо преобразовать значение, получаемое с каналов Analin_1 и Analin_2, в соответствии со следующим выражением: t1=(Analin_1·1,25) – 10000.
Тип данных в OpenPCS для переменных Analin_1 и Analin_2 необходимо преобразовать в тип INT при помощи функции REAL_TO_INT().
4.2. Программа работы
Необходимо разработать SCADA-систему, осуществляющую поддержание температуры нагревательного элемента в заданном диапазоне (несколько градусов) в автоматическом и ручном режимах.
В процессе выполнения задания нужно:
1. Сконфигурировать контроллер (в основных параметрах модуля ТА516 необходимо задать для всех каналов значение режима работы, равное 1, что означает режим измерения по току в диапазоне ± 5мА).
2.Создать проект в OpenPCS.
3.Сконфигурировать ОРС-сервер.
4.Создать мнемосхему в Infinity HMI. На мнемосхеме должны отображаться:
20