Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_ISaGRAF_new.doc
Скачиваний:
142
Добавлен:
16.03.2015
Размер:
1.41 Mб
Скачать

ВВЕДЕНИЕ

Задачи программирования современных промышленных контроллеров достаточно специфичны и сложны и зачастую требуют для их эффективного решения соответствующих инструментальных средств автоматизации программирования. Использование традиционных языков программирования высокого уровня (С/C++, Pascal, Basic и др.) и языков Ассемблера позволяет решать эти задачи. Однако при этом требуются высококлассные специалисты – программисты, знакомые, с одной стороны, с особенностями конкретной операционной системы промышленных контроллеров и тонкостями их аппаратного обеспечения, а с другой стороны – знакомые с особенностями технологического процесса и имеющие познания в области теории управления.

Фирмы-производители промышленных контроллеров практически всегда снабжали свою продукцию каким-либо специализированным технологическим языком программирования, с помощью которого пользователь мог описать логику работы контроллера. Большое разнообразие технологических языков программирования привязывало пользователя к одной аппаратно-программной платформе и препятствовало переходу на другую.

В конечном итоге и производители ПЛК и их пользователи стали заинтересованными в наличии международного стандарта на языки программирования промышленных контроллеров. Процесс разработки стандарта начался в 1979 году и в 1992 году Международная Электротехническая Комиссия (МЭК) (International Electrotechnical Committee (IEC)) выпустила стандарт на языки программирования ПЛК – IEC 61131-3 (МЭК 61131-3). Стандарт на средства программирования дает очевидные преимущества, среди которых:

  • независимость от типа операционной системы;

  • появление общего языка общения в среде разработчиков прикладного программного обеспечения;

  • значительное сокращение финансовых затрат на разработку в целом.

Стандарт IEC 61131-3 описывает два компонента: так называемые общие элементы (тип данных, переменные, стандартные функции и блоки и др.) и собственно языки программирования. Языки программирования для контроллеров определяются таким образом, что части прикладной программы, могут быть запрограммированы на любом языке и скомпонованы в единую исполняемую программу.

Стандарт IEC 61131-3 описывает синтаксис и семантику пяти языков программирования ПЛК:

1. Язык последовательных функциональных схем SFC (Sequential Function Chart) - графический язык, позволяет описать логику программы на основе чередующихся процедурных шагов и условных переходов, а также представить последовательно-параллельные задачи в понятной и наглядной форме. Основными элементами языка являются шаг и переход.

Шаг представляет собой набор операций над переменными. Переход - набор логических условий, определяющий передачу управления к другому шагу.

По внешнему виду описание на языке SFC напоминает хорошо известные логические блок-схемы алгоритмов, при этом SFC предоставляет возможности построения сложных распараллеленных алгоритмов. Язык SFC является наиболее важным из семейства языков стандарта IEC 61131-3. Однако SFC не имеет средств для описания шагов и переходов, и их содержание должно быть выражено средствами других языков стандарта.

2. Язык функциональных блоковых диаграмм FBD (Function Block Diagrams) – графический язык, позволяет создать программу практически любой сложности с использованием библиотечных функций (арифметических, тригонометрических, строковых) и функциональных блоков (логических, ПИД-регулирования, мультиплексоров и др.).

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

3. Графический язык релейных диаграмм или релейной логики LD (Ladder Diagrams) является стандартизованным вариантом класса языков релейно-контактных схем и применяется для описания логических выражений различного уровня сложности. Логические выражения на этом языке описываются в виде контактов и катушек реле, которые широко применялись в области автоматизации в шестидеятых-семидесятых годах ХХ века. Ввиду своих ограниченных возможностей язык дополнен такими средствами как таймеры, счетчики и др.

4. Язык структурированного текста ST (Structured Text) относится к классу текстовых языков высокого уровня и предоставляет булевые и арифметические операторы, оператор ветвления if-then-else, операторы цикла. По мнемонике язык ST похож на Паскаль. На его основе можно создавать гибкие процедуры обработки данных. Язык структурированного текста является основным для программирования последовательных шагов и переходов языка SFC.

5. Язык инструкций IL (Instruction List) - текстовый язык низкого уровня. Выглядит как типичный язык Ассемблера. Язык IL позволяет создавать эффективные, оптимальные по быстродействию программы.

Одной из самых распространенных инструментальных систем программирования контроллеров, реализующих стандарт IEC 61131-3, является система ISaGRAF. Инструментальная система ISaGRAF относится к классу систем CASE-типа (Computer Aided Software Engineering). Широкому распространению системы ISaGRAF способствуют:

  • поддержка всех пяти стандартных (в соответствии с IEC 61131-3) языков программирования ПЛК;

  • использование графического интерфейса системы разработки, соответствующего международному стандарту GUI (Graphical User Interface), включающему многооконный режим работы, полнографические редакторы, работу с мышью и т.д.;

  • легкость в освоении и удобство использования;

  • удобные и эффективные отладочные средства (поддержка механизма выполнения программ по шагам, интерактивное изменение значений переменных, эмуляция сигналов, подаваемых на каналы ввода и др.);

  • встроенные средства программирования промышленных сетей;

  • поддержка основных функций протокола Modbus;

  • возможность использования функций пользователя, написанных на языке С;

  • наличие развитых средств контроля над внесением изменений в программный код разрабатываемых приложений, генерация и печать отчетов различной степени детализации.

Система ISaGRAF включает в себя:

  • систему разработки (ISaGRAF Workbench);

  • систему исполнения (ISaGRAF Target).

Общая структура системы ISaGRAF представлена на рис.1.

Система разработки предназначена для создания прикладных задач, исполняемых под управлением ядра ISaGRAF на системах исполнения, и устанавливается на IBM PC- совместимом компьютере под управлением операционной системы семейства MS Windows. Система разработки компилирует проект в системно-независимый код (Target Independent Code (TIC)). TIC-код загружается через каналы коммуникаций (RS-232, RS-485, Ethernet TCP/IP) в целевую машину (контроллер) для исполнения.

Рис.1. Общая структура системы ISaGRAF

Система исполнения загружается или прожигается в ПЗУ целевой машины. Она включает в себя ядро ISaGRAF и набор дополнительных модулей.

Ядро ISaGRAF реализует поддержку стандартных языков программирования ПЛК и набора стандартных функций и функциональных блоков.

Коммуникационный интерфейс обеспечивает поддержку со стороны ПЛК процедуры загрузки ISaGRAF-приложения, доступ к переменным этого приложения во время отладки, а также взаимодействие со системами SCADA (Supervisory Control And Data Acquisition – диспетчерское управление и сбор данных) посредством протокола Modbus.

Системные функции предназначены для описания специфики аппаратной части и операционной системы, установленной в конкретном контроллере. ISaGRAF-приложение может функционировать под различными операционными системами (Windows NT, Windows CE, Embedded NT, OS 9/9000, MS DOS, LynxOS, QNX, VxWorks и др.).

Пользовательские функции и функциональные блоки описывают алгоритмы и процедуры обработки информации и управления, которые не реализованы в стандартном варианте системы ISaGRAF.

Интерфейс плат ввода-вывода предназначен для организации доступа к аппаратуре ввода-вывода (локальным платам ввода-вывода, контроллерам промышленных сетей CAN, Profibus, Ethernet и др.).

Лабораторная работа №1

Создание простейшего проекта в среде iSaGraf на языке fbd

Цель работы: Знакомство со средой программирования промышленных контроллеров ISaGRAF версии 3.32 и выше (3.4х, 3.5х) и языком программирования FBD.

Задание на лабораторную работу: в ходе работы разработать приложение на языке FBD для виртуального контроллера, реализующую вычисление следующих арифметических и логических выражений:

где- входные действительные переменные,- выходная действительная переменная;- входные булевы переменные;- выходные булевы переменные, - меандр с периодом следования импульсовT=1c.

Этапы создания приложения в среде ISaGRAF

В общем виде работы по созданию приложений в среде ISaGRAF могут быть разбиты на следующие этапы:

  1. Создание проекта;

  2. Создание программ;

  3. Объявление переменных;

  4. Редактирование программы;

  5. Конфигурация ввода-вывода;

  6. Установка опций приложения и параметров связи с контроллером;

  7. Компиляция программ и создание кода приложения;

  8. Симуляция и отладка приложения;

  9. Загрузка приложения в контроллер.

Порядок выполнения работы

Создание проекта

Создайте проект (под названием «Project1»), используя команду «Новый» из меню «Файл» или кнопку «Новый». В диалоговом окне:

Введите имя проекта: "Project1".

Выберите конфигурацию ввода-вывода: "None".

Нажмите кнопку "Принять".

Теперь проект создан.

Открытие проекта

Программы проекта появляются при открытии окна Менеджера Программ ISaGRAF. Пользуйтесь командой «Редактор» окна Менеджера Программ, или щёлкните два раза мышью на имени нужного проекта, или воспользуйтесь кнопкой «Редактор».

Создание программ

Окно Менеджера Программ сейчас открыто и пусто (т.к. ни одна программа не определена). Первая программа создаётся при помощи команды «Новый» меню «Файл» или кнопки «Новый». В окне диалога:

Введите имя программы: "Program1".

Выберите язык "FBD" .

Выберите раздел "Beginning of cycle".

Нажмите кнопку "Принять" для создания программы.

Объявление переменных

Перед вводом программы должны быть объявлены переменные, используемые в данной программе. Это делается при помощи команды «Словарь» меню «Файл» или кнопки Словарь.

Теперь открыто окно словаря. При помощи меню «Файл», подменю «Другой», подменю «Глобальные переменные» и команды «Булевские», выберите Глобальный Булевский Словарь. С тем же эффектом могут быть использованы кнопки «Глобальный» и «Булевский».

Команда «Новый» меню «Редактор» используется для создания новой булевской переменной. Кроме этого, Вы можете воспользоваться кнопкой «Вставить объект». В открытом окне диалога введите описание внутренней переменной:

      • имя:

      • комментарий: var 1: bool

      • атрибут: Выберите атрибут "Входная"

      • Нажмите кнопку «Сохранить»: переменная создана.

      • Аналогичным образом создайте все входные и выходные аналоговые (действительные или целые) и булевы переменные.

      • Для задания значения таймерной переменной (в данном задании – период следования импульсов - T) в поле ввода значения необходимо вначале ввести префикс t#, а вслед за ним величину времени, например: t#1s (1 секунда), t#1m (1 минута), t#500ms (500 милисекунд).

      • Нажмите кнопку «Отказ» для выхода из окна диалога.

В завершение, покиньте редактор словаря при помощи команды «Выход» меню «Файл». Нажмите «Да» для сохранения изменений.

Редактирование программ

Эта команда позволяет изменить содержание программы. Используемый редактор зависит от языка, выбранного для написания программы. Каждая программа редактируется в индивидуальном окне, т.о. возможно редактировать более одной программы в различных окнах.

В окне редактирования программы произведите набор программы в соответствии с представленным ниже рисунком.

Рисунок программы на FBD

  • Привязка переменных ввода-вывода (конфигурация ввода-вывода )

Команда "Соединение В/В" запускает редактор соединения переменных ISaGRAF. Этот инструмент используется для создания связей между объявленными в словаре проекта переменными ввода-вывода и соответствующей аппаратурой.

Для данного задания выберите виртуальные платы ввода-вывода xai8, xao8, xbi8, xbo8 и осуществите привязку переменных ввода-вывода, объявленных в вашей программе и входами-выходами плат.

Создание кода приложения

Используйте меню «Создать» и команду «Создать приложение» из окна Менеджера Программ для создания кода (или соответствующую кнопку панели инструментов)

Когда генерация кода завершена, появится окно диалога, которое будет содержать вопрос: закончить генерацию кода сейчас (now) или продолжить работу (continue): Нажмите кнопку «Выход».

Симуляция

Используйте меню «Отладка» и команду «Симулировать» из окна Менеджера Программ для запуска ядра симулятора ISaGRAF (то же возможно при помощи соответствующей кнопки панели инструментов).

При появлении окна симулятора, приложение может быть протестировано. Для выхода из симулятора закройте окно отладчика: меню «Файл» - команда «Выход».

Дополнительные сведения о FBD

  1. FBD-программа построена из стандартных элементарных функциональных блоков из библиотеки ISaGRAF. Каждый функциональный блок имеет фиксированное количество точек входа и фиксированное количество точек выхода. Каждый вход или выход блока имеют определенный тип.

  2. Входные и выходные переменные, входы и выходы функциональных блоков соединены линиями связи. Линии могут быть использованы для соединения двух логических точек диаграммы:

  • входной переменной и входа функционального блока.

  • выхода функционального блока и входа другого блока.

  • выхода функционального блока и выходной переменной.

Связи ориентированы, это означает, что данные передаются с левого конца к правому. Левый и правый концы связи должны быть одного типа.

  1. Использование оператора RETURN. Ключевое слово RETURN может быть выходом диаграммы. Оно должно быть связано с логическим выходом функционального блока. Оператор RETURN представляет собой условное завершение программы: если выход блока связанного с оператором имеет тип TRUE, остальная часть диаграммы не выполняется.

  2. Использование прыжков и меток. Прыжки и метки используются для управления выполнением диаграммы. К правому краю символа метки или прыжка не может быть присоединено никаких других объектов. Используются следующие обозначения:

>>LAB прыжок на метку (имя метки "LAB")

LAB: определение метки (имя метки "LAB")

Если линия связи слева от символа прыжка находится в состоянии TRUE , исполнение программы переходит на соответствующую метку.

  1. Логическое отрицание. Одиночная линия связи с правым концом, присоединенным к входу функционального блока, может заканчиваться логическим отрицанием. Отрицание представляется маленьким колечком. Когда используется логическое отрицание, левый и правый концы линии связи должны иметь тип BOOLEAN.

Контрольные задания

1. Разработать приложение на языке FBD реализующее вычисление следующих арифметических и логических выражений:

Выражения

Выражения

1

8

2

9

3

10

4

11

5

12

6

13

7

14

2. Разработать приложение на языкеFBD реализующее звено со следующей статической характеристикой:

x

y

3. Разработать приложение на языке FBD реализующее следующее звено:

1) Стандартный П регулятор.

2) Стандартный ПИ регулятор

3) Стандартный ПД регулятор

4) Стандартный ПИД регулятор

Лабораторная работа №2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]