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

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

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

9.3.1Папка блоков

9.3.2Папка блоков

Вы можете создать программу для CPU S7 в виде:

блоков

исходных файлов.

Папка "Blocks [Блоки]" доступна для хранения блоков под программой S7.

Эта папка блоков содержит блоки, необходимые Вам для загрузки в CPU S7 для решения вашей задачи автоматизации. Эти загружаемые блоки включают в себя логические блоки (ОВ, FB, FC) и блоки данных (DB). Пустой организационный блок ОВ1 автоматически создается вместе с папкой блоков, так как Вам всегда потребуется этот блок для исполнения вашей программы в

CPU S7.

Папка блоков содержит также следующие объекты:

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

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

Объект "System Data [Системные данные]" (блоки системных данных), содержащий системную информацию (конфигурацию и параметры системы). Эти системные блоки данных создаются и снабжаются данными, когда Вы конфигурируете аппаратуру.

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

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

Замечание

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

9.3.3Типы данных, определенные пользователем (UDT)

Типы данных, определенные пользователем, − это специальные структуры данных, создаваемые вами самими, которые Вы можете использовать во всей программе S7, как только они были определены.

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

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

9-11

A5E00261405-01

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

логических блоков (FC, FB, OB) или как тип данных для переменных блока данных (DB). Их преимущество состоит в том, что Вам нужно определить специальную структуру данных только один раз, чтобы иметь возможность использовать ее столько раз, сколько Вы желаете, и назначать ее любому количеству переменных.

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

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

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

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

Первая и последняя строка уже содержат описания STRUCT и END_STRUCT для начала и конца типа данных, определенного пользователем. Эти строки Вы редактировать не можете.

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

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

элементарных типов данных

составных типов данных

существующих типов данных, определенных пользователем.

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

9.3.4Свойства блоков

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

Свойства блока следует редактировать, когда он открыт. Кроме свойств, которые Вы можете редактировать, диалоговое окно свойств отображает также данные только для информации: эту информацию Вы редактировать не можете.

Свойства блока и системные атрибуты отображаются также в SIMATIC Manager в свойствах объекта для блока. Здесь Вы можете редактировать только свойства NAME [имя], FAMILY [семейство], AUTHOR [автор] и VERSION [версия].

9-12

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

A5E00261405-01

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

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

Замечание

Мнемоника, которую Вы хотите использовать для программирования блоков S7, может быть установлена с помощью команды меню Options > Customize [Параметры > Настройка] в закладке появляющегося диалогового окна

"Language [Язык]".

Таблица свойств блока

При вводе свойств блока Вы должны соблюдать последовательность, показанную в следующей таблице:

Ключевое слово / свойство

Значение

Пример

[KNOW_HOW_PROTECT]

Защита блока; блок,

KNOW_HOW_PROTECT

 

скомпилированный с этой опцией,

 

 

не позволяет просматривать свой

 

 

раздел кодов.

 

[AUTHOR:]

Имя автора: название компании,

AUTHOR : Siemens, но не

 

отдела или другое имя (не более 8

ключевое слово

 

символов без пробелов)

 

[FAMILY:]

Название семейства блоков:

FAMILY : контроллер, но не

 

например, controllers (не более 8

ключевое слово

 

символов без пробелов)

 

[NAME:]

Имя блока (не более 8 символов)

NAME : PID, но не ключевое

 

 

слово

[VERSION: int1 . int2]

Номер версии блока (оба числа

VERSION : 3.10

 

между 0 и 15, т. е. от 0.0 до 15.15)

 

 

 

 

[CODE_VERSION1]

Идентификатор того, может ли

CODE_VERSION1

 

функциональный блок иметь

 

 

мультиэкземпляры, описанные

 

 

или нет. Если Вы хотите описать

 

 

мультиэкземпляры, то

 

 

функциональный блок не

 

 

должен иметь этого свойства

 

 

 

 

[UNLINKED] только для DB

Блок данных со свойством

 

 

UNLINKED хранится в памяти и не

 

 

связан с программой. Он не

 

 

доступен для команд MC7.

 

 

Содержимое DB можно передавать

 

 

в рабочую память только с SFC 20

 

 

BLKMOV (S7-300. S7-400) или SFC

 

 

83 READ_DBL (S7-300C).

 

[Non-Retain]

Блоки данных с этим атрибутом

 

 

перегружают прочитанную величину

 

 

после каждого выключения OFF и

 

 

ON и после каждого STOP-RUN на

 

 

CPU.

 

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

9-13

A5E00261405-01

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

Ключевое слово / свойство

Значение

Пример

[READ_ONLY] только для DB

Защита от записи для блоков

READ_ONLY

 

данных; их данные могут быть

 

 

прочитаны, но не могут быть

 

 

изменены

 

Защита блока KNOW_HOW_PROTECT [защита ноу-хау] имеет следующие последствия:

Если Вы захотите посмотреть скомпилированный блок позднее в редакторе пошагового ввода STL, FBD или КОР, то раздел кодов блока не будет отображаться на экране.

Таблица описания переменных блока отображает только переменные типов var_in, var_out и var_in_out. Переменные типов var_stat и var_temp

остаются скрытыми.

Соответствие: свойство блока – тип блока

В следующей таблице показано, какие свойства, для каких типов блоков могут быть заданы:

Свойство

OB

FB

FC

DB

UDT

KNOW_HOW_PROTECT

AUTHOR

FAMILY

NAME

VERSION

UNLINKED

READ_ONLY

Non-Retain

Свойство KNOW_HOW_PROTECT может быть установлено в исходном файле при программировании блока. Оно отображается в диалоговом окне "Block Properties [Свойства блока]", но не может быть изменено.

9.3.5Отображение длины блока

Длина блока показана в байтах

Показ в Свойствах папки блока

Следующие величины показаны в свойствах папки блока в обзоре offline:

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

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

9-14

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

A5E00261405-01

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

Длина блока на программируемом устройстве (PG/PC) не показана в свойствах папки блока .

Показ в свойствах блока

В свойствах блока показано следующее:

Требуемое количество локальных данных: размер в байтах

MC7: размер MC7 кода в байтах, или размер пользовательских данных

DB

Размер загрузочной памяти в программируемом контроллере

Размер рабочей памяти в программируемом контроллере: показан только если есть аппаратное назначение.

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

Показ в SIMATIC Manager (Детальный обзор)

Если папка блока открыта и выбран "Детальный обзор", требования к рабочей памяти показаны в окне проекта, то не важно, папка блока размещена в окне обзора online или offline.

Вы можете сосчитать сумму длин блоков, отметив их все. В таком случае, сумма выбранных блоков показана в строке состояния в SIMATIC Manager.

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

Длина блоков на программируемом устройстве (PG/PC) не показана в Детальном обзоре.

9.3.6Сравнение блоков

Введение

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

В SIMATIC Manager выбрать команду меню Options > Compare Blocks [Возможности > Сравнить блоки]. В диалоговом окне "Сравнить блоки - результаты" нажмите кнопку "Go to". Результаты сравнения появятся в программном редакторе (LAD/FBD/STL) в графе "Сравнение"

Откройте программный редактор. Выберите команду меню Options > Compare On-/Offline Partners.

Следующие разделы объясняют, как работает процесс сравнения блоков. Далее показаны различия между логическими блоками (OB, FB, FC) и блоками данных (DB).

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

9-15

A5E00261405-01

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

Как сравниваются блоки: Логические блоки

Сначала STEP 7 сравнивает временные метки для интерфейса логического блока. Если временные метки идентичны, STEP 7 предполагает, что интерфейсы идентичны.

Если временные метки различны, STEP 7 затем сравнивает типы данных в интерфейсах шаг за шагом по разделам. Когда обнаруживаются различия, STEP 7 определяет первое отличие в секции; в каждом случае первое различие в соответственном ранге. Многоэкземплярные блоки и UDT также включены в сравнение. Если типы данных в разделах одинаковы, STEP 7 затем сравнивает начальные величины переменных. Все различия показываются.

Вторым шагом STEP 7 проверяет код сегмент за сегментом (в случае, если не выбрана опция "Выполнить сравнение кода", код будет сравниваться, если нажата кнопка "Go to" в Программном редакторе.).

Сначала обнаруживается вставка или удаление сети. Результатом сравнения будет показ сети, представленной в одном блоке. Комментарий «только в» .

Затем, сравниваются оставшиеся сети до первого отличия. Оператор сравнивает следующее:

Для установки "Приоритет абсолютного адреса", основан на абсолютном адресе

Для установки "Символ имеет приоритет", на символьном

Операторы показывают идентичность, если адреса одинаковые.

Если сравниваемые блоки были запрограммированы на разных языках, STEP 7 выполняет сравнение на языке STL.

Особенности сравнения offline-offline:

В отличие от offline-online сравнения, в сравнении offline-offline, STEP 7 также обнаруживает различия в именах переменных. Этот дополнительный шаг не возможен для сравнения offline-offline, поскольку только символ замены доступен в online.

Комментарии для сети блока и линий как и атрибуты блока (такие как S7PDIAG информация и сообщения) исключены из сравнения.

Как работает сравнение: Блоки данных

Первым шагом процесса, STEP 7 сравнивает временные метки для интерфейсов блоков данных (как для логических блоков). Если временные метки идентичны, STEP 7 решает, что структура блоков данных идентична.

Если временные метки интерфейса различны, STEP 7 затем сравнивает структуру данных до первого отличия. Если структура данных в секциях одинакова, STEP 7 затем сравнивает начальные величины и текущие значения. Все различия показаны.

Особенности сравнения offline-offline:

В отличие от offline-online сравнения, в сравнении offline-offline, STEP 7 также обнаруживает различия в именах переменных. Этот дополнительный шаг не возможен для сравнения offline-offline, поскольку только символ замены доступен в online.

9-16

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

A5E00261405-01

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

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

Как работает сравнение: Типы данных (UDT)

Первым шагом процесса, STEP 7 сравнивает метки времени для интерфейсов типов данных (как для блоков данных). Если эти метки времени идентичны, STEP 7 решает, что структура данных идентична.

Если метки времени интерфейса различны, STEP 7 затем сравнивает структуру данных до первого отличия. Если структура данных в секциях одинакова, STEP 7 затем сравнивает начальные величины. Все различия показаны.

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

9-17

A5E00261405-01

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

Как работает сравнение: Сравнение в Программном редакторе

1.Откройте блок для сравнения в загружаемой версии.

2.Выберите команду меню Options > Compare On-/Offline Partners.

Если партнер online доступен, результаты сравнения будут показаны в нижней части окна программного редактора в графе "7:Comparison".

Tip: Если две сети определены как "различные", Вы можете открыть соответствующую сеть просто двойным нажатием в последовательности.

Как работает сравнение: Сравнение в SIMATIC Manager

1.В SIMATIC Manager, выберите папку блока или блоки для сравнения.

2.Выберите команду меню Options > Compare Blocks (Опции > Сравнить блоки).

3.В появившемся диалоговом окне "Сравнить блоки" выберите тип сравнения (ONLINE/offline или Path1/Path2).

4.Для сравнения Path1/Path2: В SIMATIC Manager, выберите папку блока или блоки для сравнения. Эти блоки затем автоматически вставятся в диалоговое окно.

5.Если также хотите сравнить SDB, выберите окно проверки "Включить

SDB".

6.Если Вы хотите сравнить код, выберите окно проверки "Выполнить сравнение кода ". В детальном сравнении дополнительно к executionrelated parts блока (интерфейс и код), показаны любые изменения в имени для локальных переменных и параметров. Дополнительно Вы можете выбрать окно проверки "Включить создание блока в различных языках программирования " для сравнения созданных блоков на разных языках программирования (например, AWL, FUP....). В таком случае, блоки сравниваются на основе STL.

7.Если Вас устраивают установки, нажмите "OK".

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

8.Для того, чтобы показать свойства (время последнего изменения, контрольную сумму, etc.) сравниваемых блоков, нажмите кнопку "Детали" в диалоговом окне.

Для того чтобы открыть программный редактор, в котором показаны результаты сравнения в нижней части окна, нажмите кнопку "Go to".

Замечание

Когда сравниваются папка блока offline с папкой online, сравниваются только читаемые типы блоков (OB, FB, ...).

Когда сравниваются offline/online или Path1/Path2, сравниваются все блоки, включенные в множественный выбор, даже если они потом не читаемы (например, таблица переменных или UDT).

9-18

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

A5E00261405-01

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

9.3.7Перемонтаж

Следующие блоки и адреса могут быть «перемонтированы»:

Входы, выходы

Биты памяти, таймеры, счетчики

Функции, функциональные блоки Для перемонтажа:

1.Выберите папку "Блоки", которая содержит индивидуальные блоки, которые Вы хотите перемонтировать в SIMATIC Manager.

2.Выберите команду меню Options > Rewire [Возможности >

Перемонтировать].

3.Введите необходимые замены (старые адреса/новые адреса) в таблицу в диалоговом окне "Rewire [Перемонтаж]".

4.Выберите опцию "Все адреса внутри области адресов", если Вы хотите заменить область адресов (BYTE, WORD, DWORD).

Пример: Вы введите IW0 и IW4 как области адресов. Адреса I0.0 – I1.7 затем заменяются на адреса I4.0 – I5.7. Адреса из области (например, I0.1) больше не могут быть введены в таблицу индивидуально.

5.Нажмите кнопку "OK".

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

При замене следует помнить следующее:

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

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

9.3.8Атрибуты для блоков и параметров

Описание атрибутов можно найти в соответствующей помощи по системным атрибутам:

Перейдите к описанию языков и помощи по блокам и системным атрибутам

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

9-19

A5E00261405-01