КТУ Индивидуальное задание, Чепёлкин, гр.9494
.docxСанкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)
Факультет ЭА
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ УПРАВЛЕНИЯ В ТЕХНИЧЕСКИХ СИСТЕМАХ
«РАЗРАБОТКА МНЕМОСХЕМЫ ТРЕХРАЗРЯДНОГО ПАРАЛЛЕЛЬНОГО АЦП»
Вариант № 9
Выполнил: Чепёлкин И.С
группа № 9494
Санкт-Петербург
2013
Цель работы: закрепление навыков разработки мнемосхем в пакете Infinity HMI.
Введение
SCADA (аббр. от англ. supervisory control and data acquisition, диспетчерское управление и сбор данных) — программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУ ТП, АСКУЭ, системы экологического мониторинга, научного эксперимента, автоматизации здания и т. д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать операторский контроль за технологическими процессами в реальном времени. Данное программное обеспечение устанавливается на компьютеры и, для связи с объектом, использует драйверы ввода-вывода или OPC/DDE серверы. Программный код может быть как написан на языке программирования (например на C++), так и сгенерирован в среде проектирования.
Иногда SCADA-системы комплектуются дополнительным ПО для программирования промышленных контроллеров. Такие SCADA-системы называются интегрированными и к ним добавляют термин SoftLogic.
Термин «SCADA» имеет двоякое толкование. Наиболее широко распространено понимание SCADA как приложения[2], то есть программного комплекса, обеспечивающего выполнение указанных функций, а также инструментальных средств для разработки этого программного обеспечения. Однако, часто под SCADA-системой подразумевают программно-аппаратный комплекс. Подобное понимание термина SCADA более характерно для раздела телеметрия.
Значение термина SCADA претерпело изменения вместе с развитием технологий автоматизации и управления технологическими процессами. В 80-е годы под SCADA-системами чаще понимали программно-аппаратные комплексы сбора данных реального времени. С 90-х годов термин SCADA больше используется для обозначения только программной части человеко-машинного интерфейса АСУ ТП.
Основные задачи, решаемые SCADA-системами :
Обмен данными с «устройствами связи с объектом» (то есть с промышленными контроллерами и платами ввода/вывода) в реальном времени через драйверы.
Обработка информации в реальном времени.
Логическое управление.
Отображение информации на экране монитора в удобной и понятной для человека форме.
Ведение базы данных реального времени с технологической информацией.
Аварийная сигнализация и управление тревожными сообщениями.
Подготовка и генерирование отчетов о ходе технологического процесса.
Осуществление сетевого взаимодействия между SCADA ПК.
Обеспечение связи с внешними приложениями (СУБД, электронные таблицы, текстовые процессоры и т. д.). В системе управления предприятием такими приложениями чаще всего являются приложения, относимые к уровню MES.
SCADA-системы позволяют разрабатывать АСУ ТП в клиент-серверной или в распределённой архитектуре.
SCADA—система обычно содержит следующие подсистемы:
Драйверы или серверы ввода-вывода — программы, обеспечивающие связь SCADA с промышленными контроллерами, счётчиками, АЦП и другими устройствами ввода-вывода информации.
Система реального времени — программа, обеспечивающая обработку данных в пределах заданного временного цикла с учетом приоритетов.
Человеко-машинный интерфейс (HMI, англ. Human Machine Interface) — инструмент, который представляет данные о ходе процесса человеку оператору, что позволяет оператору контролировать процесс и управлять им.
Программа-редактор для разработки человеко-машинного интерфейса.
Система логического управления — программа, обеспечивающая исполнение пользовательских программ (скриптов) логического управления в SCADA-системе. Набор редакторов для их разработки.
База данных реального времени — программа, обеспечивающая сохранение истории процесса в режиме реального времени.
Система управления тревогами — программа, обеспечивающая автоматический контроль технологических событий, отнесение их к категории нормальных, предупреждающих или аварийных, а также обработку событий оператором или компьютером.
Генератор отчетов — программа, обеспечивающая создание пользовательских отчетов о технологических событиях. Набор редакторов для их разработки.
Внешние интерфейсы — стандартные интерфейсы обмена данными между SCADA и другими приложениями. Обычно OPC, DDE, ODBC, DLL и т. д.
SCADA Infinity
SCADA Infinity - мощная полнофункциональная SCADA-система для разработки, настройки и эксплуатации систем управления распределенными производствами.
Мощность и масштабируемость платформы SCADA Infinity обеспечивается 20-летним опытом компании ЭлеСи в создании, внедрении и поддержке систем технологического управления большими производственными мощностями. SCADA Infinity применима на промышленных предприятиях самого различного масштаба и степени распределенности производства благодаря унификации архитектурных решений и строгому соблюдению норм промышленных стандартов и спецификаций.
SCADA Infinity позволяет создавать системы, чрезвычайно быстро реагирующие на любые изменения в производственном цикле, обеспечивая оперативность, необходимую для успешного ведения бизнеса в современных условиях высокой конкуренции.
Функциональные возможности SCADA Infinity:
Непрерывный сбор, управление и предоставление пользователям оперативных данных через компонент InfinityServer;
Организация хранения исторических данных и обеспечение работы с историческими данными в режиме реального времени через компонент InfinityHistoryServer 2.x или InfinityHistoryServer 3.x. Выбор компонента зависит от объема сохраняемых данных;
Визуализация технологического процесса через компонент InfinityHMI;
Информирование о возникающих событиях и авариях через компонент InfinityAlarms;
Просмотр и анализ изменений значений параметров во времени с помощью графиков зависимостей или таблиц через компонентInfinityTrends;
Формирование и управление отчетами через компонент InfinityReports;
Управление правами доступа пользователей через компонент InfinityClientSecurity.
Преимущества SCADA Infinity при создании систем автоматизации:
Подтвержденная производительность:
До 250 000 сигналов на один сервер;
До 80 000 операций ввода/вывода в секунду;
До 2 000 000 операций чтения/записи истории в секунду.
Открытость и масштабируемость:
Применение стандартных протоколов ModBus, ProfiBus, OPC, SQL…
Более 2 000 000 обслуживаемых точек в распределенном проекте;
Неограниченный размер исторической базы данных.
Надежность:
Механизм «горячего» резервирования серверов;
Резервирование без потери данных;
Разграничение прав работы с данными и функциями системы;
Гарантия работоспособности в непрерывном режиме 24х7 без программных сбоев.
Гибкость:
Опыт реализации от небольших локальных до больших распределенных систем АСУ ТП;
Поддержка большого количества стандартных протоколов обмена данными;
Возможность тонкой настройки системы для получения оптимальных показателей работы;
Опыт интеграции с большим количеством смежных систем.
Современность:
Высокая производительность работы системы;
Удобный дружественный интерфейс пользователя;
Работа с современным оборудованием и поддержка широко используемых протоколов обмена;
Поддержка последних версий распространенных операционных систем и технологий создания пользовательских приложений
Многоязыковая поддержка.
Простота работы:
Установка несколькими кликами;
Начало работы с минимальными настройками;
Использование шаблонов и библиотек при разработке проектов;
Контекстно-зависимая система помощи.
Стабильность:
Двадцатилетний опыт в разработке SCADA систем;
Стабильная цена в рублях с 2005 г.
Гибкая система лицензирования:
Бесплатная среда разработки;
Клиент-серверная компонентная архитектура SCADA Infinity обеспечивает создание систем автоматизации с различной функциональной наполненностью;
Пользователь сам выбирает набор необходимых функций, что позволяет эффективно выполнять задачи автоматизации при минимальных затратах.
Лицензирование осуществляется по:
Количеству сигналов ввода/вывода
Количеству клиентских мест
Набору требуемых компонентов
Защита компонентов осуществляется при помощи аппаратного ключа USB, работающего в локальном или сетевом режиме. Таким образом, предусмотрено перераспределение лицензий между рабочими местами.
SCADA Infinity успешно используется в следующих отраслях:
добыча нефти;
переработка нефти;
транспортировка нефти;
транспортировка нефтепродуктов;
добыча газа;
транспортировка газа;
химическое производство;
металлургия;
системы пожаротушения;
электроэнергетика;
водоснабжение;
управление микроклиматом (цеха птицефабрик, тепличные и животноводческие хозяйства)
и многие другие.
Аналого-цифровой преобразователь
Аналого-цифровой преобразователь (АЦП, англ. Analog-to-digital converter, ADC) — устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал).
АЦП, выполненные по методу считывания или параллельные АЦП, совершают полное преобразование за один такт. Для этого в АЦП применяется 2n- 1эталон.
В этом АЦП входное напряжение Uвх сравнивается с семью эталонами, полученными делением стабильного опорного напряжения Uоп делителем напряжения.
Полученный параллельный единичный код преобразуется преобразователем в двоичный код.
Простейшая схема трехразрядного параллельного АЦП дана на рис. 1. Основным узлом параллельных АЦП является аналоговый компаратор напряжения. Преобразователи этого типа осуществляют одновременное квантование сигнала с помощью набора компараторов, включенных параллельно источнику входного сигнала. Пороговые уровни компараторов устанавливаются с помощью резистивного делителя, подключенного к источнику опорного напряжения uоп, в соответствии с используемой шкалой квантования. Число уровней квантования, а соответственно и число компараторов для n-разрядного АЦП равно 2n – 1.
Рисунок 1 — структурная схема АЦП
Принцип действия АЦП предельно прост: входной сигнал поступает одновременно на все «плюсовые» входы компараторов, а на «минусовые» подается ряд напряжений, получаемых из опорного путем деления резисторами R. Для схемы на рис. 1 этот ряд будет таким: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, где Uref – опорное напряжение АЦП.
Задание: разработать мнемосхему трехразрядного параллельного АЦП
Порядок выполнения работы:
В ходе выполнения индивидуального задания были использованы следующие инструментарии: SCADA Infinity, infinity HMI.
Были созданы следующие переменные:
Таблица 1
Имя |
Тип |
Назначение |
Uvx |
Float |
Ввод входного напряжения |
Uop |
Float |
Ввод опорного напряжения |
K1 |
Float |
Результат деления опорного напряжения резистором |
K2 |
Float |
Результат деления опорного напряжения резистором |
K3 |
Float |
Результат деления опорного напряжения резистором |
K4 |
Float |
Результат деления опорного напряжения резистором |
K5 |
Float |
Результат деления опорного напряжения резистором |
K6 |
Float |
Результат деления опорного напряжения резистором |
K7 |
Float |
Результат деления опорного напряжения резистором |
~~K11~~ |
локальная |
Результат сравнения входного и опорного напряжений |
~~K21~~ |
локальная |
Результат сравнения входного и опорного напряжений |
~~K31~~ |
локальная |
Результат сравнения входного и опорного напряжений |
~~K41~~ |
локальная |
Результат сравнения входного и опорного напряжений |
~~K51~~ |
локальная |
Результат сравнения входного и опорного напряжений |
~~K61~~ |
локальная |
Результат сравнения входного и опорного напряжений |
~~K71~~ |
локальная |
Результат сравнения входного и опорного напряжений |
~~Kod~~ |
локальная |
Номер 0 в таблице истинности |
~~Kod1~~ |
локальная |
Номер 1 в таблице истинности |
~~Kod2~~ |
локальная |
Номер 2 в таблице истинности |
~~Kod3~~ |
локальная |
Номер 3 в таблице истинности |
~~Kod4~~ |
локальная |
Номер 4 в таблице истинности |
~~Kod5~~ |
локальная |
Номер 5 в таблице истинности |
~~Kod6~~ |
локальная |
Номер 6 в таблице истинности |
~~Kod7~~ |
локальная |
Номер 7 в таблице истинности |
Была создана схема АЦП (рис.2) в соответствии с рисунком 1.
Рисунок 2 — мнемосхема АЦП
Для ввода опорного и входного сигнала были добавлены динамические элементы "значение параметры" (рис. 3), были включены свойства "ввод данных" для возможности самостоятельного ввода данных. Были созданы две переменные типа float: Uop и Uvx.
Рисунок 3 — создание динамического объекта "значение параметра"
Так как входной сигнал поступает одновременно на все «плюсовые» входы компараторов, а на «минусовые» подается ряд напряжений, получаемых из опорного путем деления резисторами R, то для схемы на рис. 1 этот ряд будет таким: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, где Uref – опорное напряжение АЦП(Uop).
Для этой цели для изображенных резисторов(рис. 4) была применена динамика «Динамическое действие» при помощи кнопки на панели «Динамика». Настройка динамики: Действие – «Передать значение»; Клавиша мыши – «Левая»; тип нажатия – «С фиксацией». Поставили галочки напротив условий «Начальное состояние Нажато» и «Пока нажато». Интервал обновления поставьте равным 50 мс. В поле «Значение (пока нажато)» введите выражение для деления опорного напряжения, для резистора, относящегося к 7 компоратору это выражение будет следующее :
x=13 / 16 * {{Infinity.OPCServer\ID.Uop}}
Полученный результат передается в переменную K7.
Остальные шесть резисторов подвергаются аналогичной процедуре.
Рисунок 4 — объект в мнемосхеме "резистор"
Полученный результат отображается в объекте "передать значение".
Далее для сравнения входного и полученного опорного напряжения путем деления резисторами применили динамическое действие, описанное в предыдущем пункте, к изображению компоратора (рис. 5), а в поле «Значение (пока нажато)» ввели выражение сравнения входного и опорного напряжения:
x= if({{Infinity.OPCServer\ID.Uvx}} > {{Infinity.OPCServer\ID.K7}},1,0)
Полученный результат передается в локальную переменную ~~K71~~.
Остальные шесть компораторов подвергаются аналогичной процедуре.
Рисунок 5 — применение динамического действия к компоратору
Полученный результат отображается в объекте "передать значение".
После этих шагов на выходах компораторов получаются логический последовательный единичный сигнал, который преобразовывается в двоичный код.
Сигнал преобразовывается в соответствии с таблицей истинности(таблица 2).
Таблица 2
|
Входы |
Выходы |
|||||||||
№ комбинации |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
A2 |
A1 |
A0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
2 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
|
3 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
4 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
5 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
|
6 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
|
7 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Двоичный сигнал получается на выходе из кодирующего устройства, и обозначается как а2, а1 и а0. Для их отображения созданы динамические объекты "текст", переменные, принимающие эти значения: ~~a2~~, ~~a1~~, ~~a0~~.
Для имитации работы кодирующего устройства были применены к линиям выходящим из компораторов(рис. 6) «Динамическое действие» при помощи кнопки на панели «Динамика». Настройка динамики: Действие – «Передать значение»; Клавиша мыши – «Левая»; тип нажатия – «С фиксацией». Поставили галочки напротив условий «Начальное состояние Нажато» и «Пока нажато». Интервал обновления поставьте равным 50 мс. В поле «Значение (пока нажато)» ввели согласно таблицы истинности значения для разного состояния выходов компораторов, и в соответствии этому оно принимало значение 1 или 0, для состояния под номер 0, т.е 1000000, оно следующее :
x= ( (~~K11~~==0) && (~~K21~~ ==0) && (~~K31~~ ==0) && (~~K41~~ ==0)&& (~~K51~~ ==0) && (~~K61~~==0) && (~~K71~~==0))
Полученный результат передается в локальную переменную ~~Kod~~.
Для остальных линий применима аналогичная операция.
Рисунок 6 — динамическое действия для объекта "линия"
Для отображения соответствующего двоичного кода, для каждого выхода(рис. 7) а2, а1, а0 было применимо действие как в предыдущем пункте, в качестве формулы для а2 было записано следующее:
x=((~~Kod4~~==1) || (~~Kod5~~==1) || (~~Kod6~~==1) || (~~Kod7~~==1))
Т.е сигнала на а2 был 1 в позициях 4, 5, 6, 7 в соответствии с таблицей истинности(таблица 2), в остальных случаях на а2 было значение 0.
Для а1 формула выглядит следующим образом:
x=((~~Kod2~~==1) || (~~Kod3~~==1) || (~~Kod6~~==1) || (~~Kod7~~==1))
Т.е сигнала на а1 был 1 в позициях 2,3, 6, 7 в соответствии с таблицей истинности(таблица 2), в остальных случаях на а1 было значение 0.
Для а0 формула выглядит следующим образом:
x=((~~Kod1~~==1) ||(~~Kod3~~==1) || (~~Kod5~~==1) || (~~Kod7~~==1))
Т.е сигнала на а1 был 1 в позициях 1, 3, 5, 7 в соответствии с таблицей истинности(таблица 2), в остальных случаях на а0 было значение 0.
Значение передавалось в локальные переменные: a2, a1, a0.
Рисунок 7 — отображение двоичного сигнала
Для наглядности был вставлен рисунок с таблицей истинности и при определенной комбинации она выделялась зеленым прямоугольником. Для этого были созданы 7 прямоугольников, выбран цвет линии зеленый, убрана заливка, далее выделили все прямоугольники и применили к ним динамическое действие "цифровой индикатор"(рис. 8). Значения для каждого треугольника были переменные ~~Kod~~...~~Kod7~~.
Рисунок 8 — цифровая индикация
Результат выполнения программы представлен на рисунке 9.
Рисунок 9 — результат выполнения программы
Вывод о проделанной работе: в ходе выполнения индивидуального задания была разработана мнемосхема имитирующая работу аналого-цифрового преобразования, были повышены навыки владения SCADA Infinity.