Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
STEP7_V53_Programming_r.pdf
Скачиваний:
2
Добавлен:
29.05.2025
Размер:
5.18 Mб
Скачать

9 Создание блоков и библиотек

9.1Выбор метода редактирования

В зависимости от языка программирования, который Вы используете для создания программы, Вы можете вводить свою программу в режиме пошагового (инкрементного) ввода и/или в режиме свободного редактирования текста.

Редакторы пошагового ввода для языков программирования контактный план, функциональный план, список команд и S7 Graph

В редакторах пошагового ввода для LAD, FBD, STL и S7 Graph Вы создаете блоки, которые хранятся в программе пользователя. Вам следует выбрать режим пошагового ввода, если Вы хотите немедленно контролировать то, что Вы вводите. Этот режим особенно пригоден для начинающих. В режиме пошагового ввода синтаксис каждой строки или элемента проверяется немедленно, как только они вводятся. Любая ошибка отображается и должна быть исправлена до завершения ввода. Синтаксически правильные вводы автоматически компилируются и хранятся в программе пользователя.

Использование любого символа должно быть определено до редактирования команд. Если какие-то символы недоступны, то блок не может быть скомпилирован полностью; эта внутренне противоречивая версия может быть, однако, сохранена.

Редакторы свободного редактирования (текстовые) для языков программирования список команд, S7 SCL и S7 HiGraph

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

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

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

Текстовые файлы (исходные файлы) хранятся в папке исходных файлов вашей программы S7, например, как исходный файл на STL или исходный файл на SCL. Исходный файл может содержать код для одного или нескольких блоков. С помощью текстовых редакторов для STL и SCL Вы можете генерировать код для ОВ, FB, FC, DB и UDT (типы данных, определенные пользователем), но Вы можете создать и всю программу пользователя. Вся программа для CPU (т. е. все блоки) может содержаться в одном единственном текстовом файле.

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

Программирование с помощью STEP 7 v5.3

9-1

A5E00261405-01

Создание блоков и библиотек

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

9.2Выбор языка программирования

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

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

Запуск редактора

Необходимый языковый редактор запускается в SIMATIC Manager двойным щелчком на соответствующем объекте (блоке, исходном файле и т. д.),

выбором команды меню Edit > Open Object [Редактировать > Открыть объект] или выбором соответствующей кнопки на панели инструментов.

Для создания программы S7 в вашем распоряжении имеются языки программирования, перечисленные в таблице. Такие типы представления языка программирования STEP 7, как LAD, FBD и STL, включены в стандартный пакет программного обеспечения STEP 7. Вы можете купить другие языки программирования в виде дополнительных пакетов программ.

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

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

9-2

Программирование с помощью STEP 7 v5.3

A5E00261405-01

Создание блоков и библиотек

Язык

Группа

Применение

Пошаговый

Режим

Блок может

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

пользователей

 

ввод

свобод

быть

ания

 

 

 

ного

документиро

 

 

 

 

редакт

ван из CPU

 

 

 

 

ирован

 

 

 

 

 

ия

 

Список команд

Пользователи,

Программы,

STL

предпочитающие

оптимальные с

 

программировать на

точки зрения

 

 

 

 

языке, подобном

времени

 

 

 

 

машинному коду

выполнения и

 

 

 

 

 

требований к

 

 

 

 

 

памяти

 

 

 

Ladder Logic LAD

Пользователи,

Программиро

 

привыкшие работать

вание

 

 

 

 

со схемами

устройств

 

 

 

 

соединений

логического

 

 

 

 

 

управления

 

 

 

Function Block

Пользователи,

Программиро

Diagram FBD

знакомые с

вание

 

 

 

логическими

устройств

 

 

 

 

блоками булевой

логического

 

 

 

 

алгебры

управления

 

 

 

F-LAD, F-FBD

Пользователи,

Программирова

 

которые работают с

ние защитных

 

 

 

дополнительный

языками

программ для

 

 

 

пакет

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

F-систем

 

 

 

LAD и FDB.

 

 

 

 

 

 

 

 

 

SCL (Structured

Пользователи,

Программирова

Control Language,

программировавшие

ние задач

 

 

 

Язык

на таких языках

обработки

 

 

 

структурного

высокого уровня, как

данных

 

 

 

управления)

PASCAL или C

 

 

 

 

Дополнительный

 

 

 

 

 

пакет

 

 

 

 

 

S7 Graph

Пользователи,

Удобное

 

желающие работать

описание

 

 

 

Дополнительный

с ориентацией на

последователь

 

 

 

технологические

ных процессов

 

 

 

пакет

функции с малым

 

 

 

 

 

объемом

 

 

 

 

 

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

 

 

 

 

 

или не имеющие

 

 

 

 

 

опыта работы с ПЛК

 

 

 

 

HiGraph

Пользователи,

Удобное

 

желающие работать

описание

 

 

 

 

с ориентацией на

асинхронных,

 

 

 

Дополнительный

технологические

не

 

 

 

последователь

 

 

 

пакет

функции с малым

 

 

 

ных процессов

 

 

 

 

объемом

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

или не имеющие

 

 

 

 

 

опыта работы с ПЛК

 

 

 

 

CFC

Пользователи,

Описание

 

желающие работать

непрерывных

 

 

 

Дополнительный

с ориентацией на

процессов

 

 

 

технологические

 

 

 

 

пакет

функции с малым

 

 

 

 

 

объемом

 

 

 

 

 

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

 

 

 

 

 

или не имеющие

 

 

 

 

 

опыта работы с ПЛК

 

 

 

 

Программирование с помощью STEP 7 v5.3

9-3

A5E00261405-01

Создание блоков и библиотек

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

 

В STL Вы можете создавать блоки из исходных файлов в списке команд, а

 

также декомпилировать их обратно в исходные файлы.

9.2.1

Язык программирования Ladder Logic (LAD)

 

Графический язык программирования Ladder Logic (LAD) основан на

 

представлении коммутационных схем. Элементы коммутационной схемы,

 

такие как нормально открытые контакты и нормально замкнутые контакты,

 

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

 

кодов логического блока.

 

 

 

Пример сегментов в LAD

 

 

 

 

Network 1 [Сегмент 1]: Условия деблокировки

 

#Реле

 

#Пуск

#Стоп

 

 

 

#Реле

 

 

 

 

 

Network 2 [Сегмент 2]: Управление двигателем

T6

 

 

 

#Сброс

 

#Ошибка

 

# Реле

S_EVERZ

 

 

#Время_сброса

S

Q

S

 

#Реле

TW

DUAL

#Текущ время двоич

 

 

R

DEC

#Время_сброса _BCD

 

 

 

 

Network 3 [Сегмент 3]: Лампа_Пуск

 

 

 

 

# Сброс

 

 

 

# Лампа_Пуск

 

 

 

 

 

#Ошибка

 

Network 4 [Сегмент 4]: Лампа_Стоп

 

 

#Лампа Стоп

 

# Сброс

 

 

 

Язык программирования LAD включен в стандартный пакет программного обеспечения STEP 7. Создание программ в нем выполняется в редакторе пошагового ввода.

9-4

Программирование с помощью STEP 7 v5.3

A5E00261405-01

 

 

 

 

 

 

 

 

 

 

 

 

Создание блоков и библиотек

9.2.2

Язык программирования. Функциональный план (FBD)

 

Язык программирования Функциональный план (FBD) использует для

 

представления логики графические логические символы, известные из

 

булевой алгебры. Сложные функции, такие как математические, также могут

 

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

 

Язык программирования FBD включен в стандартный пакет программного

 

обеспечения STEP 7.

 

 

 

 

 

 

 

 

 

 

Пример сегмента в FBD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Network 1 [Сегмент 1]: Зеленая фаза для пешеходов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I0.0

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

I0.1

 

 

 

 

 

 

>=1

&

 

M0.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M0.0

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программы в FBD создаются в редакторе пошагового ввода.

9.2.3Язык программирования. Список команд (STL)

Представление языка программирования Список команд (STL) – это текстовый язык, подобный машинному коду. Каждая команда соответствует шагу работы CPU при обработке программы. Несколько команд могут быть связаны друг с другом, образуя сегменты.

Пример сегментов в Списке команд

Network 1: Control drain valve

A(

O

O #Coil

)

AN #Close

=#Coil

Network 2: Display "Valve open"

A #Coil

=#Disp_open

Network 3: Display "Valve closed"

AN #Coil

=#Disp_closed

Язык программирования Список команд включен в стандартный пакет программного обеспечения STEP 7. Вы можете редактировать блоки S7 в этом представлении языка с помощью редакторов пошагового ввода или создавать свою программу с помощью редактора, работающего в режиме свободного редактирования в исходном файле на STL, а затем компилировать ее в блоки.

Программирование с помощью STEP 7 v5.3

9-5

A5E00261405-01

Создание блоков и библиотек

9.2.4Язык программирования S7 SCL

Язык программирования SCL (Structured Control Language [Структурированный язык управления]), доступный как дополнительный пакет, − это текстовый язык высокого уровня, определение которого в целом соответствует стандарту Международной электротехнической комиссии IEC 1131-3. Этот паскалеобразный язык благодаря своим командам высокого уровня упрощает в сравнении с STL программирование циклов и условных переходов. Поэтому SCL пригоден для расчетов, включая формулы, сложные оптимизационные алгоритмы или управление большими объемами данных

Создание программ на S7 SCL производится в режиме свободного редактирования в исходном файле.

9-6

Программирование с помощью STEP 7 v5.3

A5E00261405-01

Создание блоков и библиотек

Пример:

FUNCTION_BLOCK FB20

VAR_INPUT

ENDVAL: INT;

END_VAR

VAR_IN_OUT

IQ1 : REAL;

END_VAR

VAR

INDEX: INT;

END_VAR

BEGIN

CONTROL:=FALSE;

FOR INDEX:= 1 TO ENDVALUE DO

IQ1:= IQ1 * 2;

IF IQ1 >10000 THEN

CONTROL = TRUE

END_IF

END_FOR;

END_FUNCTION_BLOCK

Программирование с помощью STEP 7 v5.3

9-7

A5E00261405-01

Создание блоков и библиотек

9.2.5Язык программирования S7 Graph (последовательное управление)

Графический язык программирования S7 Graph, доступный в виде дополнительного пакета, дает возможность программирования устройств последовательного управления. Это включает в себя создание последовательности шагов, определение содержания каждого шага и определение переходов. Вы программируете содержание шагов на специальном языке программирования (похожем на список команд) и вводите переходы в редакторе цепных логических схем (модернизированная версия языка КОР).

S7 Graph очень ясно представляет сложные последовательности и делает

программирование и поиск неисправностей более эффективными.

Пример последовательного управления в S7 Graph

 

 

 

S4

 

Полоскание

I1.1

M2.1

 

D

Q 1.1

 

 

TIME#0D_0H_

 

 

T4

 

I1.1

M2.1

 

 

0M_20S_0MS

T5

 

 

 

 

 

 

 

 

S5

 

Предварительная стирка

I1.3

 

 

N

Q1.3

 

T6

N

Q1.0

 

 

 

 

N

Q1.5

 

 

 

 

 

S6

 

Возврат

I1.1

M2.2

 

N

Q1.4

T7

 

 

 

 

 

 

Создаваемые блоки

 

 

 

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

Исходный файл

Из функционального блока, созданного в S7 Graph, может быть сгенерирован текстовый исходный файл, который может интерпретироваться панелями оператора или текстовыми дисплеями интерфейса с оператором для отображения генератора последовательности шагов.

9-8

Программирование с помощью STEP 7 v5.3

A5E00261405-01

 

 

 

 

 

 

 

Создание блоков и библиотек

9.2.6

Язык программирования S7 HiGraph (граф состояний)

 

Графический язык программирования S7 HiGraph, доступный в качестве

 

дополнительного пакета, позволяет программировать ряд блоков в вашей

 

программе как графы состояний. Это разделяет вашу установку на отдельные

 

функциональные агрегаты, каждый из которых может принимать различные

 

состояния. Для изменения состояний определяются переходы. Вы

 

описываете действия, поставленные в соответствие состояниям, и условия

 

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

 

Вы создаете граф для каждого функционального агрегата, который

 

описывает поведение этого агрегата. Графы для установки объединяются в

 

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

 

графами может производиться обмен сообщениями.

 

 

 

 

Ясное представление переходов между состояниями функционального

 

агрегата делает возможным систематическое программирование и облегчает

 

поиск ошибок. В отличие от S7 Graph, в S7 HiGraph в каждый момент времени

 

активно только одно состояние (в S7 Graph: "шаг"). На следующем рисунке

 

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

Положение

 

 

 

 

 

 

 

 

 

 

кулачкового переключателя

Поворот против

 

 

 

 

 

 

1

2 4

Указатель отведен

часовой стрелки

 

 

Координатор

 

 

 

 

 

 

 

 

 

 

 

 

Деталь

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

1

 

 

Поворот по

 

 

 

 

 

1

 

1

 

 

часовой стрелке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

1

2

Двигатель

Указатель вставлен

Ослабить/затянуть

 

 

Граф для координации функ-

 

 

 

разгружающий

 

 

 

 

 

подшипник

 

 

 

циональных агрегатов

 

 

 

 

 

 

 

 

Разгружающий подшипник

 

 

 

 

Указатель

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

Двигатель

 

 

0

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

1

 

 

 

 

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

3

1

 

 

1

1

 

 

 

 

 

 

 

 

 

2

 

 

 

3

 

 

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

Графы для отдельных функциональных агрегатов

Программирование с помощью STEP 7 v5.3

 

 

 

 

 

 

 

 

9-9

A5E00261405-01

 

 

 

 

 

 

 

 

 

Создание блоков и библиотек

 

0

1

1

 

 

 

Состояния

Переход, т.е. изменение

1

 

1

состояния с 3-го на 0-ое

 

 

 

 

3

1

2

Группа графов хранится в исходном файле HiGraph в папке "Source Files [Исходные файлы]" под программой S7. Затем исходный файл компилируется в блоки S7 для программы пользователя.

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

9.2.7Язык программирования S7 CFC

Дополнительный пакет программного обеспечения CFC (Continuous Function Chart [Схема непрерывных функций]) – это язык программирования,

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

Язык программирования S7 CFC используется для связывания существующих функций. Вам нет необходимости программировать самим многие стандартные функции, вместо этого Вы можете использовать библиотеки, содержащие стандартные блоки (например, для логических, математических функций, функций управления и обработки данных). Для использования CFC Вам не нужны детальные знания в области программирования или специальные знания о программном управлении, и Вы можете сосредоточиться на технологии, используемой в вашей отрасли промышленности.

Созданная программа хранится в виде схем CFC. Они находятся в папке "Charts [Схемы]" под программой S7. Эти схемы затем компилируются для формирования блоков S7 для программы пользователя.

Возможно, Вы сами захотите создать подлежащие соединению блоки, в этом случае Вы программируете их для SIMATIC S7 с помощью одного из языков программирования S7, а для SIMATIC М7 – с помощью С/С++.

9-10

Программирование с помощью STEP 7 v5.3

A5E00261405-01