Программирование в среде IsaGRAF
Общая структура пакета IsaGRAF. Реализация задач в отладчике на примере гирлянды ("бегущий огонёк"). Привязка переменных ввода-вывода к платам. Описание и реализация задачи "Светофор": если кнопка нажата, светофор работает по заданному циклу времени.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.10.2017 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru//
Размещено на http://www.allbest.ru//
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
ИМПЕРАТОРА АЛЕКСАНДРА I»
Кафедра «Электроснабжение железных дорог»
Пояснительная записка к курсовой работе
«Программирование в среде IsaGRAF»
Санкт-Петербург 2014
Введение
Как только была сформулирована задача программирования логики некоего контроллера, то сразу встал вопрос о соответствующем программном инструментарии для решения этой задачи. Использование средств традиционного программирования, то есть компиляторов с универсальных языков (Си, Паскаль, Фортран, Бейсик и т.п.), дает решение задачи, но требует при этом всеобъемлющих знаний в теории программирования, знаний особенностей конкретной операционной системы и, безусловно, тонкостей аппаратного обеспечения (контроллеров, модулей сопряжения с объектом и т.п.).
Международная Электротехническая Комиссия (МЭК) в 1992 году выпустила стандарт IEC 1131-3, определяющий пять языков программирования логических контроллеров (PLC). Появление этого стандарта было встречено с большим интересом, и сразу начались работы по созданию программных интегрированных систем, поддерживающих эти языки программирования. В 1990 году была основана французская фирма "CJ International", которая занималась разработкой CASE-инструментов(Computer Aided Software Engineering) для программирования различных PLC. Эта фирма мгновенно отреагировала на выход стандарта IEC 1131-3 выпуском продукта под названием "ISaGRAF for DOS", а затем и "ISaGRAF for WINDOWS", в которых в полной мере реализовала поддержку всех пяти стандартных языков программирования PLC. ISaGRAF сразу получил признание многих зарубежных фирм. Среди них: ABB, BMW, GENERALMOTORS, GESPAC, GREENSPRING, MOTOROLA, PEPMODULARCOMPUTERS, PHOENIX, THEMISCOMPUTER и др. (всего свыше 80 компаний). Данной работе описаны возможностей и особенностей применения системы программирования ISaGRAF.
Архитектура IsaGRAF
В ISaGRAF поддерживаются все пять языков стандарта IEC 61131-3 (International Electrotechnical Commission, МЭК):
IL (InstructionList) Язык инструкций
ST (Structured Text) Структурированный текст (адаптированный вариант языка Паскаль)
LD (Ladder Diagram) Язык релейных диаграмм (графический язык в терминах контактов и катушек)
FBD (Function Block Diagram) Язык функциональных блоков
SFC (Sequential Function Chart) Язык последовательных функциональных схем
Условно пакет ISaGRAF можно разделить на две компоненты: систему разработки (ISaGRAF DevSys) и систему исполнения (ISaGRAF Target). Общая структура пакета представлена на рисунке 1.
Рисунок 1 - Общая структура пакета IsaGRAF
Коммуникационная задача обеспечивает поддержку процедуры загрузки пользовательского ISaGRAF-приложения со стороны программируемого контроллера, а также доступ к рабочим переменным этого приложения со стороны отладчика системы разработки ISaGRAF. Кроме того, коммуникационная задача реализует так же поддержку протокола MODBUS, что дает возможность доступа к данным на контроллере не только отладчику ISaGRAF, но и любой системе визуализации и управления данными (SCADA), имеющей соответствующий драйвер MODBUS. ДРАЙВЕРЫ УСО (устройства сопряжения с объектом) организуют прозрачный доступ к аппаратуре ввода/вывода и делают этот процесс стандартным для конкретной операционной системы.
Реализация задач в IsaGRAF
Гирлянда («бегущий огонёк»)
Описание задачи:
Если кнопка нажата, то лампочки последовательно, друг за другом загораются на 2 секунды и гаснут, если кнопка отжата, то лампочки гаснут.
Разработка базы данных:
Key - входная переменная (контроль кнопки);
Led1-Led4- выходные переменные;
TT - таймерная константа (время горения лампочки).
Задача реализуется на языке SFC.
Структура программы:
На начальном шаге переменные сбрасываются к исходному положению («1»)
Контроль кнопки
Гаснет первая лампочка\возврат к первому шагу
Контроль времени погасшей лампочки\контроль кнопки
Гаснет вторая лампочка\возврат к первому шагу
Контроль времени погасшей лампочки\контроль кнопки
Гаснет третья лампочка\возврат к первому шагу
Контроль времени погасшей лампочки\контроль кнопки
Гаснет четвёртая лампочка\возврат к первому шагу
Контроль времени погасшей лампочки\контроль кнопки
Возврат к первому шагу
Привязка переменных ввода-вывода к платам ввода-вывода
Компиляция:
Рисунок 4 - компиляция
Работа программы:
Рисунок 5 - бегущий огонёк
Гирлянда - второй способ реализации задачи
Условия задачи:
Если кнопка нажата, то выходные лампочки, светодиоды, гаснут последовательно по кругу на 2 секунды и загораются. Если кнопка отжата - загораются.
Разработка базы данных переменных ввода-вывода:
Рисунок 6 - переменные ввода-вывода
Структура программы:
Привязка переменных ввода-вывода:
Компиляция:
Рисунок 9
Работа программы:
Рисунок 10
Светофор
Описание задачи:
Если кнопка нажата, светофор работает по циклу: зеленый-5 секунд, затем мигает 2 раза с периодом 1 секунда; желтый горит 2 секунды; загорается красный, горит 4 секунды; красный и желтый горят в течение 2 секунд. Если кнопка отжата мигает желтый с периодом в 1 секунду.
Разработка базы данных переменных ввода-вывода:
Key - входная переменная (контроль кнопки);
Red, yellowy, green - выходные переменные;
TT- таймерная константа (время горения лампочки).
Задача реализуется на языке SFC.
Рисунок 11
Структура программы
Рисунок 12
Компиляция:
Работа программы:
Рисунок 14 - работа светофора
Автоматика выключателя ВАБ 28 (43)
Описание задачи:
Схема выполняет следующие функции:
Оперативное включение;
Оперативное отключение;
Блокировка от многократных повторных включений на К.З;
Функция автоматического отключения (перегрузка при К.З.);
Функции запоминания последней оперативно-вынужденной команды;
Функция сигнализации.
Функция двукратного автоматического повторного включения
Разработка базы данных переменных ввода-вывода:
KYA_B - кнопка оперативного включения;
KYA_O- кнопка оперативного отключения
RDSH - релейно-дифференциальный шунт (отключение по току К.З.);
BA, BBA, DK, KBA, OA, RF - реле;
Green, read-лампочки сигнализации.
Задача реализуется на языке FBD.
Рабочая схема релейной защиты
Рисунок 15
Привязка переменных ввода-вывода:
Рисунок 16
Компиляция:
Работа программы
Рисунок 18 - выключатель включен
Включение выключателя: При нажатии кнопки KYAB получает питание реле RF, размыкая свой контакт, зеленая лампа гаснет, одновременно замыкается контакт ВА. Теряет питание катушка КВА, размыкая свой контакт, держащая катушка DK на самоподпитке, замыкает свой контакт А загорается красная лампа.
Рисунок 19 - автоматическое отключение при к.з.
При коротком замыкании размыкается контакт RDSH, теряет питание катушка DK размыкая свой контакт А в цепи с красной лампой, замыкая контакт с зеленой лампой на шине мигания, зеленая лампа мигает.
Автоматика выключателя ВАБ 28 (43) - двукратное АПВ (FBD)
Разработка базы данных переменных ввода-вывода:
Схема
Рисунок 21
Привязка переменных ввода-вывода к платам ввода-вывода
Компиляция
.
Работа программы
Рисунок 24
Программирование наглядного интерфейса
Условия задачи:
Если кнопка нажата, лампочка горит, если отжата - гаснет.
Разработка базы данных переменных ввода-вывода
Рисунок 25
Разработка программы
На начальном шаге лампочка сбрасывается в исходное положение («0»)
Контроль кнопки
Загорается лампочка
Контроль кнопки
Возврат к первому шагу
Привязка переменных ввода-вывода к соответствующим платам:
Работа программы
Рисунок 27 - работа программы при нажатой кнопке
Рисунок 28 - работа программы при отжатой кнопке
Вывод
Возможности ISaGRAF:
Использовать стандартные языки программирования (стандарт IEC 1131-3);
Имеет открытость как инструментальных средств, так и внутренних структур данных прикладной задачи;
Присутствует многофункциональный графический отладчик;
Интегрирование средства поддержки протоколов PROFIBUS и MODBUS, а также средств обслуживания последовательных портов RS-232, RS-422, RS-485, CL;
Наличие функции DDE-server для отладчика ISaGRAF;
Есть стандартный человеко-машинный интерфейс (ММI);
Возможность связи с любой системой визуализации и управления данными (SCADA-системы) по протоколу MODBUS.
Такой набор инструментов позволяет программировать конфигурации любой сложности.
Недостатки: пакет переменная светофор отладчик
Освоение продуктов такого класса, как ISaGRAF, требует некоторых усилий по изучению языков, среды и, конечно, технологии программирования.
Переход на любую новую технологию иногда сопровождается и материальными вложениями, так как пользователю приходится выбирать не просто субъект автоматизации (например, тип контроллера), но и сопровождающий его программный инструментарий.
Для получения качественных результатов необходимо строгое соблюдение последовательности задания данных.
Размещено на Allbest.ru
...Подобные документы
Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.
курсовая работа [711,4 K], добавлен 27.07.2014Особенности применения светодиодной индикации в микроконтроллерных системах. Характеристика основных приемов программирования универсальных портов ввода-вывода микроконтроллеров AVR. Этапы проектирования елочной гирлянды с микроконтроллерным управлением.
лабораторная работа [291,7 K], добавлен 17.11.2012Программирование линейных алгоритмов. Процедуры ввода READ и READLN и вывода WRITE и WRITELN. Примеры решения задач на языке Паскаль. Оператор присваивания и выражения. Основные способы формирования структурных операторов. Операторы вызова процедур.
курсовая работа [44,3 K], добавлен 18.03.2013Ознакомление с методами управления вводом/выводом в вычислительных системах. Принципы и этапы проектирования, а также реализация интеллектуальной системы с применением ввода-вывода управляемого прерываниями, с использованием языка программирования Си.
курсовая работа [71,8 K], добавлен 18.04.2015Общая характеристика и свойства системы Matlab - пакета прикладных программ для решения задач технических вычислений. Разработка математической модели в данной среде, программирование функций для задающего воздействия. Проектирование GUI-интерфейса.
курсовая работа [1023,2 K], добавлен 23.05.2013Исследование типовых примеров задач оптимизации. Реализация программы в среде MatLab для их решения. Изучение функций нелинейной оптимизации. Определение оптимума целевой функции одной или нескольких переменных. Поиск оптимальных настроек регулятора.
лабораторная работа [188,8 K], добавлен 07.12.2016Выполнение арифметических операций, этапы решения задач с помощью ЭВМ - постановка задачи, составление алгоритма решения, программная реализация алгоритма в среде Qbasic. Решение систем линейных уравнений по формулам Крамера. Графический режим Qbasic.
курсовая работа [101,7 K], добавлен 29.09.2009Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.
отчет по практике [2,1 M], добавлен 02.05.2014Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.
курсовая работа [3,7 M], добавлен 24.06.2013Организация и назначение консольного ввода-вывода, необходимые для этого функции и их применение. Библиотеки, организующие функционирование потокового ввода-вывода, выполняемые операции. Арифметические операции и математические функции в среде С++.
лабораторная работа [33,8 K], добавлен 15.07.2009Решение задач нелинейного программирования различными методами для проведения анализа поведения этих методов на выбранных математических моделях. Компьютерная реализация выбранных задач нелинейного программирования в среде пакетов Excel и Matlab.
дипломная работа [2,9 M], добавлен 25.01.2013Принципы решения задач линейного программирования в среде электронных таблиц Excel, в среде пакета Mathcad. Порядок решения задачи о назначении в среде электронных таблиц Excel. Анализ экономических данных с помощью диаграмм Парето, оценка результатов.
лабораторная работа [2,0 M], добавлен 26.10.2013Постановка задачи для машинного моделирования, определение параметров и переменных. Алгоритмизация модели и её машинная реализация. Реализация алгоритма моделирования на общесистемном языке программирования. Описание диалога с пользователем, интерфейс.
курсовая работа [703,1 K], добавлен 14.01.2013Общая характеристика сетевой игры с несколькими клиентами в программной среде MS Visual Studio 2010 на языке программирования C++ с использованием функций работы с сокетами. Реализация системного сервиса, разработки интерфейса, алгоритм его тестирования.
курсовая работа [495,3 K], добавлен 06.01.2013Инициализация переменных архитектурным элементам микропроцессора КР580ВМ80А и портам ввода-вывода в общем алгоритме. Составление карты памяти микропроцессорной системы для реализации программы. Анализ соответствия временных и точностных характеристик.
курсовая работа [217,6 K], добавлен 27.11.2012Введение в API-программирование. Структура API-программ. Организация ввода-вывода в консольном приложении Windows. Организация низкоуровнего консольного ввода-вывода. Расширенная поддержка клавиатуры в консоли. Поддержка работы с мышью в консоли.
курсовая работа [91,0 K], добавлен 10.02.2015Основные понятия и принципы динамического программирования, реккурентность природы задач данного типа и функциональные уравнения Беллмана. Разработка структуры блок-схемы и реализация на ЭВМ построенного алгоритма на выбранном языке программирования.
курсовая работа [30,2 K], добавлен 26.11.2010Характеристики, основы применения, архитектура жестких и операционных систем реального времени. Последовательное программирование задач реального времени. Структура и языки параллельного программирования, мультипрограммирования и многозадачности.
курсовая работа [195,9 K], добавлен 17.12.2015Основные сведения о языке программирования Pascal. Листинг программы с комментариями. Диагональ элементов вектора и матрицы. Использование команд ввода-вывода информации. Быстродействие выполнения программы при компиляции. Отражение процессов вычисления.
курсовая работа [1,9 M], добавлен 05.05.2009Программные модули основной BIOS (базовой системы ввода-вывода). Программа тестирования при включении питания компьютера. Реализация системы BIOS в виде одной микросхемы, установленной на материнской плате компьютера. Типы, версии и функции системы BIOS.
реферат [190,6 K], добавлен 19.08.2010