Вы находитесь на странице: 1из 14

ФГАОУ ВО «УрФУ имени первого Президента России Б. Н.

Ельцина»
Институт новых материалов и технологий
Кафедра электронного машиностроения

ОЗНАКОМЛЕНИЕ С ИНТЕРФЕЙСОМ SCADA-СИСТЕМЫ


отчет по практической работе по дисциплине
«Дистанционное управление»

Подпись Дата
Преподаватель_____________________________________________Тихонов И.Н.
Студент____________________________________________________Сопова Е.Е.
Группа__________________________________________________НМТМ-190702

Екатеринбург
2020
1. Исходные данные работы
Задача: резистор эмулирует положение каретки. В среднем положении
тормоз отключен. При отклонении от среднего положения включается
соответственно левый (Л1) или правый (Л2) тормоз с силой (Л4),
пропорциональной отклонению от среднего положения. При достижении
положений, отличающихся от крайних на 10%, тормоз работает на 100% и
мигает аварийная лампа Л3. Кнопка включает тормоз на 100% на 3 с. В
интерфейсе SCADA-системе можно принудительно включить и отключить
индикацию любой Л1, Л2 и Л3, включить и блокировать действие кнопки,
задать % ШИМ.
Перечень используемого ПО – на ПК установлена SCADA-система
(Simple-SCADA), Modbus Universal MasterOPC Server, FLProg и Arduino IDE.
Перечень используемых электронных элементов: контроллер Arduino
Uno, кнопка, переменный резистор номиналом 10 kОм, три разноцветных и
один белый светодиоды с Imax не менее 20мА, ограничивающие резисторы
номиналом 200 Ом в количестве 5 штук.
2. Порядок работы
Arduino была подключена к ПК с помощью прямого соединения USB-
кабеля. Для проверки работоспособности (рис.1) и нахождения значения
СОМ-порта (рис. 2) было открыто ПО - Arduino IDE.

Рисунок 1 - Проверка работоспособности контроллера

Рисунок 2 – Контроллер подключен к СОМ3 порту


Следующим шагом было создание ОРС сервера. Для этого было
использовано ПО - Modbus Universal MasterOPC Server. После запуска ПО
была создана новая конфигурация. Затем на сервере был создан
коммуникационный узел Arduino, в настройках выбран тип узла СОМ и
указан порт 3 (рис. 3).
Рисунок 3 – Создание коммуникационного узла
В созданном устройстве были указаны два узла Uno (рис. 4) и App
(создано по аналогии с Uno) с параметрами по умолчанию.

Рисунок 4 – Создание устройства Uno


В устройствах были созданы теги. Ознакомится с ними можно в таблице 1,
где С – COILS, HR - HOLDING_REGISTER, RW – ReadWright, RO - ReadOnly.
Таблица 1 – Свойства тегов

устройствеТип данных в
Тип данных на сервере
Тип доступа

Примечание
Устройство

Имя тега

Регион

Адрес

1 L1 С 0 Адрес для передачи состояния

RW
2 L2 С 1
3 L3 С 2 работы светодиодов
bool
bool Адрес для передачи состояния

RO
4 Button С 3
работы кнопки
Uno

H Адрес для передачи значения ШИМ


5 L4 4
R для работы светодиода
H Адрес для приема значения с
int32
int16

6 Resistor 5
R резистора
Value10 H Адрес для передачи значения ШИМ
7 13
0 R в процентном соотношении
Адрес для передачи значения ручной
8 Button С 6
работы кнопки
bool
bool

Адрес для передачи значения ручной


RW

9 Resistor С 7
работы резистора

H Адрес для передачи значения ШИМ


int16
int32

10 Value 8
App

R в процентном соотношении
11 H1 С 9
Адрес для передачи значения ручной
12 H2 С 10
работы светодиодов
bool
bool

13 H3 С 11
Адрес для передачи значения работы
14 L3 С 12
L3
Затем конфигурация созданного сервера была сохранена, а сервер был
запущен после написания и загрузки ПО на контроллер и создания SCADA
системы.
На следующем шаге было создано и загружено ПО на контроллер. Для
этого был создан новый проект в FLProg (рис. 5).
Рисунок 5 – Выбор начальных настроек проекта
В дереве проекта были добавлены выходы, свойства которых можно
посмотреть в таблице2.
Таблица 2 – Свойства входов/выходов контроллера
№ Имя Тип Номер контакта Состояние на старте
1 Resistor Аналоговый А0
2 Button Цифровой 2
3 L1 Цифровой 3
Отключено
4 L2 Цифровой 5
5 L3 Цифровой 4
6 L4 Аналоговый ~6
В разделе коммутации были выбраны подключение через Modbus Slave
– RTU и физические параметры у СОМ-порта.
Для связи с ОРС сервером были добавлены переменные в соответствие
с таблицей 1 (рис. 6).
Рисунок 6 – Настройка параметров Led
После этого на области визуального программирования была создана
схема, описывающая принцип работы контроллера.
Элемента Switch служит для передачи на выход одного из аналоговых
сигналов, подаваемых на вход "0" или "1" в зависимости от логического
уровня на входе "S". С помощью этого элемента происходили выборы приема
значений резистора и работы светодиода. На рисунке 7 показан сценарий
приема значений резистора. Resistor принимает значения с резистора,
Arduino.App.Value принимает значения, которые задает пользователь в
SCADA-системе. Arduino.App.Resistor принимает значение работы
переключателя, задаваемое пользователем. При выборе ручного режима
система отправляет на адрес Arduino.App.Resistor значение «True», что
позволяет пользователю задать свое значение в системе вручную. Если
установлен автоматический режим, значение принимается с резистора. Так
как на аналоговых портах разрядность 10 бит (210 = 1024 состояний), а на
цифровых 8 бит (28 = 255 состояний), то при получении значения с резистора
необходимо делить его на 4. Это действие было выполнено с помощью
элемента DIV. На I1 подается пришедшее значение с резистора, а на I2
помещена константа 4. Так же на этом рисунке показано, что новое значение
с резистора передается по адресу Arduino.Uno.Resistor.
Рисунок 7 – Режим выбора приема значений резистора
На рисунке 8 показана работа для адреса L4. Последний переключатель
определяет условие достижения каретки 10% от крайних положений или
нажатии кнопки. Если условие является правдой, то на выход подается
значение 255 (максимальное значение работы светодиода), а если ложью, то
на выход подается значение со второго переключателя. Второй
переключатель определяет отклонение каретки вправо. Если условие правда,
то на выход подается значение работы четвертого светодиода, а если ложь, то
подается значение с первого переключателя. На вход S первого
переключателя подается значение при условии отклонения каретки влево.
Если это значение равно правде, то режим работы такой же, как и у
предыдущего переключателя, а если ложь, то на выход подается 0.

Рисунок 8 – Режим работы подачи значения на четвёртый светодиод


Элемент SCALE пропорционально переносит значение входа из
текущего диапазона значений в новый диапазон, заданный параметрами.
Данный элемент применялся при работе со значением резистора или
четвертого светодиода (рис 7 и 8).
На рисунке 9 показано как контроллер определяет отклонение каретки
влево. При условии принятого значения резистора больше 25 и меньше 120
подается сигнал на переключатель. Если при получении значения для работы
первого светодиода в ручном режиме, то значение отправляется на адрес
включения светодиода.

Рисунок 9 – Сценарий работы определения отклонения каретки влево


Такой же самый алгоритм работы у второго светодиода, только
значения констант 133 и 229 соответственно.
Так как в реальных условиях присутствует коэффициент ошибки, то
принято увеличить центральный диапазон в 5% вправо и влево (120 и 133
соответственно).
Третий светодиод включается при нахождении каретки в положении
10% от крайних позиций или ручном режиме с частотой 1500 мили секунд,
также подается 1 на канал Arduino.App.L3 для включения лампы в системе
без мигания.
Тормоз включается при нахождении каретки не в центральной позиции
и уровень работы свечения светодиода зависит от отклонения каретки или
нажатии на кнопку на 3 секунды на значение 255.
При поступлении импульса с кнопки и 1 из системы таймер с
задержкой на отключение с параметром в 3000 мили секунды отправляет
сигнал на адрес кнопки и вход третьего переключателя. Алгоритм работы
кнопки, аварийного светодиода и тормоза можно посмотреть на рисунке 10.
Рисунок 10 – Режим работы кнопки, аварийного светодиода и тормоза
На рисунке 11 показан алгоритм занесения значений с поступающих
адресов на контакты контроллера, а также масштабирования значения с
резистора в 100% диапазон для SCADA системы.

Рисунок 11 – Алгоритм обработки значений с адресов на контакты


контроллера
Полный алгоритм программы можно посмотреть в приложении А.
После завершения соединения элементов и проверки программы на
корректность, она была загружена на контроллер.
Затем была создана связь между ОРС-сервером и Simple-Scada. Для
этого был создан проект и в настройках указан ОРС-сервер (рис. 12).
Рисунок 12 – Настройка проекта
Зону редактирования проектом были размещены: кнопки, изображения
в виде лампочек, текстовые элементы и шкалы (рис. 13). Для отображения
текущих даты и времени необходимо включить отображение панели
сообщения. При наведении курсора мышки на системное время отображается
текущая дата.

Рисунок 13 – Настройка интерфейса SCADA-системы


В свойствах кнопок были указаны адреса для изменения значения тега,
а также указаны значения при разных состояниях кнопки. На рисунке 14
показаны настройки первой кнопки с адресом Arduino.Uno.H1. Остальные
две кнопки для ручного управления лампочками настроены по такому же
принципу разница в теге. На рисунке 15 показана настройка управления
кнопки на контроллере. На рисунке 16 показана настройка
Рисунок 14 – Настройка Рисунок 15 – Настройка Рисунок 16 – Настройка
параметров ручного параметров ручного параметров управления
режима управления режима блокировки ручным режимом
светодиодов кнопки резистора
В параметрах текстуры изображений было выбрано изображение
лампочка. Параметр события (рис. 15) был настроен так, что при изменении
значения в теге Arduino.Uno.L (1,2 или 3) изменялся цвет лампочки.

Рисунок 17 – Настройка события


Для отображения значений с резистора был выбран элемент «уровень».
Параметры данного элемента можно посмотреть на рисунке 18.
Рисунок 18 – Настройка параметров элемента уровень
Второй элемент «уровень» отображается в приложении при ручном
режиме резистора. В данном режиме пользователь может самостоятельно
установить уровень сопротивления (уровень отклонения каретки). Настройку
параметра события можно посмотреть на рисунке 19.

Рисунок 19 – Настройка параметра событие у элемента «уровень»


Последним этапом практической работы была проверка на
работоспособность созданной системы, которую можно посмотреть на
приложенном к проекту видео. Проблем в ходе выполнения практической
работе не возникло.
ПРИЛОЖЕНИЕ А – ПОЛНЫЙ АЛГОРИТМ ПРОГРАММЫ