Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Votaykov

.pdf
Скачиваний:
11
Добавлен:
16.03.2015
Размер:
472.48 Кб
Скачать

Федеральное агентство по образованию Уральский государственный технический университет – УПИ

Т.В. Вотяков

СИСТЕМА ПРОГРАММИРОВАНИЯ ЛОГИЧЕСКИХ КОНТРОЛЛЕРОВ ISAGRAF

ЧАСТЬ 1. ОБЩИЕ СВЕДЕНИЯ О СИСТЕМЕ

Учебное электронное текстовое издание Подготовлено кафедрой «Теплофизика и информатика в металлургии»

Научный редактор: проф., д-р. техн. наук Н.А. Спирин

Методические указания к лабораторным работам по курсу «Основы теории управления» для студентов специальности 230201 «Информационные системы и технологии».

Основная цель

этого практического

курса – познакомить

с возможностями

современных систем

программирования

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

© ГОУ ВПО УГТУ–УПИ, 2008

Екатеринбург

2008

СОДЕРЖАНИЕ

 

Введение........................................................................................................................................................

2

1. ОБЩИЕ СВЕДЕНИЯ О СИСТЕМЕ ISAGRAF

3

Спектр возможностей.......................................................................................................................

3

Архитектура ISaGRAF.......................................................................................................................

5

Контрольные вопросы и задания к главе...............................................................................

6

2. ОСНОВЫ РАБОТЫ СО СРЕДОЙ ISAGRAF

7

Оформление задач..................................................................................................................................

7

Принцип цикличности выполнения задач..............................................................................

8

Контрольные вопросы к главе.......................................................................................................

9

3. СТАНДАРТНЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ PLC

9

Общие сведения........................................................................................................................................

9

Язык структурного текста (Structured Text – ST) .......................................................

12

Язык инструкций (Instruction List – IL).................................................................................

17

Язык функциональных блоковых диаграмм (Functional Block Diagram –

 

FBD) ...............................................................................................................................................................

19

Язык релейных диаграмм (Ladder Diagram – LD).........................................................

21

Язык последовательных функциональных схем (Sequential Function

 

Charts — SFC) .........................................................................................................................................

25

Язык потоковых диаграмм (Flow Chart – FC) ................................................................

32

Контрольные вопросы и задания к главе.............................................................................

36

4. РАБОТА В СРЕДЕ ISAGRAF

37

Работа с проектами ISaGRAF...................................................................................................

37

Работа с программами проекта...............................................................................................

41

Работа с переменными....................................................................................................................

43

Контрольные вопросы и задания к главе.............................................................................

44

Список литературы............................................................................................................................

46

Введение

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

Проблема несовместимости различных языков программирования логики, затруднявшая или делавшая абсолютно невозможной перенос программного обеспечения, разработанного для одного контроллера, на другой контроллер, привела к необходимости разработки специального стандарта. В 1992 году Международной Электротехнической Комиссией (МЭК), объединившей ведущих производителей контроллеров, был выпущен необходимый стандарт IEC 1131-3, определяющий пять языков программирования логических контроллеров (PLC). Выпущенный стандарт был встречен с энтузиазмом.

Мгновенно

среагировав

на

появление

IEC

1131-3,

французская

фирма

CJ International, основанная

в

1990г, выпустила программный

продукт

«ISaGRAF for DOS»

и

затем

«ISaGRAF for Windows». Этот

продукт

поддерживал

все

стандартные

языки

PLC.

Многие

известные

фирмы-

производители программируемых логических контроллеров выразили признание выпущенному продукту.

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

2

разработкой автоматических систем управления с использованием PLC, логика которых программируется с помощью системы ISaGRAF. В России основным партнером и поставщиком продукции фирмы CJ International в России является АО РТСофт [2]. Надо отметить, что текущий момент CJ International является подразделением группы AlterSys [3] и продолжает активно совершенствовать среду ISaGRAF.

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

1. ОБЩИЕ СВЕДЕНИЯ О СИСТЕМЕ ISAGRAF

Спектр возможностей

В ISaGRAF заложена методология структурного программирования, которая дает возможность пользователю описать автоматизируемый процесс в наиболее легкой и понятной форме. Интерфейс с пользователем системы ISaGRAF соответствует международному стандарту GUI (Graphical User Interface), включающему многооконный режим работы, работу с мышью и т.п. Если попытаться сгруппировать основные возможности описываемой интегрированной системы, то их можно представить в следующем виде.

1. Поддержка всех пяти стандартных языков программирования PLC (в соответствии со стандартом IЕС 1131-3):

o язык последовательных функциональных схем (Sequential Function Charts), описывающий логику программы на уровне чередующихся процедурных шагов и транзакций (условных переходов);

3

o язык функциональных блоковых диаграмм (Function Block Diagrams), позволяющий пользователю построить комплексную процедуру, состоящую из различных функциональных библиотечных блоков;

o язык релейных диаграмм, или релейной логики (Ladder Diagrams), используемый для описания логических выражений различного уровня сложности;

o язык структурированного текста (Structured Text), относящийся к классу языков высокого уровня и по мнемонике похожий на Pascal;

o язык инструкций (Instruction List), относящийся к классу языков низкого уровня и позволяющий создавать эффективные, оптимизированные процедуры;

К пяти стандартным языкам ISaGRAF добавляет еще один графический язык потоковых диаграмм (Flow Chart), описывающий логику программы в виде блок-схемы.

Если пользователю недостаточно вышеперечисленных языков, то ISaGRAF для этих целей поддерживает интерфейс к функциям, написанным на языке «ANSI С», но в этом случае требуется компилятор для соответствующей платформы.

ISaGRAF позволяет широко смешивать программы и процедуры, написанные на разных языках, а также вставлять кодовые последовательности из одного языка в коды, написанные на другом языке.

2. Также ISaGRAF обладает следующими достоинствами:

o наличие мощного отладчика, позволяющего во время работы прикладной задачи просматривать состояние программного кода, переменных, программ и многое другое;

o поддержка основных функций протокола MODBUS (RTU, SLAVE).

o наличие дополнительных интерактивных редакторов для описания переменных, определений и конфигураций ввода/вывода;

o встроенные средства контроля над внесением изменений в программный код ISaGRAF-приложения и печати отчетов по разработанному

4

проекту с большой степенью детализации, включая печать таблиц перекрестных ссылок для программ и отдельных переменных;

o открытость системы для доступа извне к внутренним структурам данных прикладной ISaGRAF-задачи, возможностью разработки драйверов на модули ввода/вывода самим пользователем и портации ISaGRAF-ядра под любую аппаратно-программную платформу (зависит от заказанной версии системы).

o полное документирование системы разработки и языков программирования (в том числе и на русском языке).

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

Архитектура ISaGRAF

Система ISaGRAF состоит из двух частей: система разработки ISaGRAF Workbench и система исполнения ISaGRAF Target (рис. 0.1). Система разработки представляет собой набор Windows-приложений, интегрированных в единую инструментальную среду и работающих под ОС Win95/98/NT.

Рис. 0.1

Основу системы исполнения составляет набор программных модулей (для каждой целевой системы свой), которые выполняют самостоятельные задачи под управлением так называемого ядра системы ISaGRAF (рис. 0.2).

5

Рис. 0.2

Ядро ISaGRAF реализует поддержку стандартных языков программирования, выполняя программы на этих языках в режиме интерпретации, типового набора функций и функциональных блоков и драйверов ввода/вывода. Задача связи обеспечивает поддержку процедуры загрузки пользовательского ISaGRAF-приложения со стороны программируемого контроллера, а также доступ к рабочим переменным этого приложения со стороны отладчика системы разработки ISaGRAF. Взаимодействие систем разработки и исполнения осуществляется по протоколу MODBUS, что дает возможность доступа к данным контроллера не только отладчику ISaGRAF, но и любой системе визуализации и управления данными (SCADA). Драйверы устройств сопряжения с объектом организуют прозрачный доступ к аппаратуре ввода/вывода. Функции пользователя реализуют процедуры и алгоритмы функций, не представленные в стандартном варианте поставки системы ISaGRAF. Системные функции предназначены для описания специфики конкретной операционной системы, реализованной на данном типе контроллеров.

Контрольные вопросы и задания к главе

1.Какая методология программирования заложена в систему ISaGRAF?

2.Перечислите пять стандартных языков программирования, которые поддерживает ISaGRAF.

3.Какие еще языки поддерживает ISaGRAF?

6

4.Из каких частей состоит система ISaGRAF?

5.В чем основное предназначение системы разработки? Из чего она состоит?

6.Для чего предназначена система исполнения? Назовите ее основу.

7.Каким образом ядро ISaGRAF реализует поддержку языков программирования?

2. ОСНОВЫ РАБОТЫ СО СРЕДОЙ ISAGRAF

Оформление задач

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

1)BEGIN;

2)SEQUENTIAL;

3)END;

4)секция функций;

5)секция функциональных блоков.

Каждая секция имеет свои особенности исполнения программ, расположенных в ней. Кроме того, каждая секция накладывает ограничения на использование языков программирования, поддерживаемых средой ISaGRAF. Так, секции BEGIN и END позволяют использовать в своих программах все языки, кроме FC и SFC. Два указанных языка (и только они) могут быть

использованы только в

секции SEQUENTIAL.

Секции

функций

и функциональных

блоков

предназначены для

создания

функций

и функциональных

блоков,

используемых только внутри данного

проекта

(в отличие от библиотечных функций и функциональных блоков, которые могут использоваться в любом проекте). О различиях функций и функциональных

7

блоков будет сказано позже. Сейчас же перейдем к принципу цикличности выполнения задач в системе ISaGRAF.

Принцип цикличности выполнения задач

Основным принципом выполнения задач в среде ISaGRAF является принцип синхронизации (цикличности). Он заключается в том, что прикладная задача ISaGRAF работает в синхронном режиме по временным циклам, длительность которых определяется разработчиком. Минимальная продолжительность циклов исполнения прикладной задачи определяется характеристиками аппаратно-программной платформы (ISaGRAF Target), на которой происходит исполнение задачи.

Все операции, происходящие во время цикла, делятся на пять групп:

1)сканирование входов;

2)выполнение программ секции BEGIN;

3)выполнение программ секции SEQUENTIAL;

4)выполнение программ секции END;

5)изменение выходов.

Принцип цикличности выполнения прикладной задачи для данного примера работает следующим образом: в начале заданного временного цикла выполняются все программы секции BEGIN, в конце цикла – все программы секции END, а в середине цикла выделяется время для выполнения очередных шагов программ секции SEQUENTIAL [1]. Поэтому секции BEGIN и END называются циклическими, а SEQUENTIAL – последовательной.

Указанная циклическая схема работы задачи позволяет системе:

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

o гарантировать, что устройства вывода обновляются один раз в течение программного цикла;

o правильно работать с одними и теми же глобальными переменными.

8

В следующей главе рассмотрим общие принципы программирования в среде ISaGRAF, а сейчас попытайтесь ответить на контрольные вопросы.

Контрольные вопросы к главе

1.Что представляет собой проект ISaGRAF?

2.На какие секции может быть разделен проект?

3.Какие языки могут использоваться в секциях Begin и End?

4.Какие языки могут использоваться в секции Sequential?

5.В чем состоит принцип цикличности?

6.На какие группы делятся операции, выполняющиеся в пределах одного цикла?

7.Каким образом работает принцип цикличности в пределах одного цикла?

8.Для чего предназначена циклическая схема выполнения проекта ISaGRAF?

3. СТАНДАРТНЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ PLC

Общие сведения

Стандарт IEC 1131-3 определяет пять языков программирования логических контроллеров. Все они поддерживаются системой ISaGRAF. Кроме стандартных языков также поддерживается специальный язык FC (Functional Chart), расширяющий возможности по программированию PLC. Все поддерживаемые языки программирования интегрированы в единую инструментальную среду и работают с едиными объектами данных. Система не накладывает ограничения на использование языков в проектах: в каждом проекте могут одновременно присутствовать программы на любом из поддерживаемых языков.

В этой главе будет кратко рассмотрены особенности, преимущества и недостатки всех шести языков, поддерживаемых ISaGRAF, но перед этим стоит остановиться на общих объектах системы, которые не зависят от используемого языка.

9

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