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

3023

.pdf
Скачиваний:
8
Добавлен:
15.11.2022
Размер:
2.9 Mб
Скачать

теках, входящих в состав пакета STEP 7 (например, IECфункции или функции для преобразования S5/S7).

Вызовы блоков организует пользователь путем размещения команд передачи управления другому блоку (команд вызова). При выполнении команды вызова ОС сохраняет в стеке блоков данные для точки возврата в вызывающий блок (адрес следующей команды, состояние регистров) и передает управление на первую команду вызываемого блока. Как только вызываемый блок выполнен, исполнение прерванного блока возобновляется с команды, следующей за вызовом блока.

Команду “Конец блока” устанавливает редактор блока сразу при создании блока. Она не видна пользователю. Для завершения блока, например, в середине программы, пользователь может применить специальные команды (BE, BEC).

Глубина вложения, т.е. количество блоков, которые могут быть вложены друг в друга при выполнении задачи любого приоритетного класса (например, на основе OB1), зависит от конкретного CPU (8 в S7-300; 21 в S7-400).

Прерывания программы всегда выполняет только ОС. Если прерывающая программа имеет более высокий приоритет, то ОС прерывает текущую программу и передает управление на первую команду соответствующего блока OB.

Приоритеты для блоков OB в S7-300 CPU заданы операционной системой и не могут изменяться пользователем. В S7400 пользователь может изменить приоритеты блоков прерываний (при задании свойств CPU в утилите HW Config).

Для редактирования блоков в окне SIMATIC Manager перейдите к папке Blocks. Если кликнуть любой блок, откроется редактор LAD,STL,FBD, либо редактор SCL, если в проекте существует исходный файл выбранного блока.

Чтобы создать новый блок в контекстном меню выбирайте пункт Blocks -> Insert New Object, либо в главном меню пункт Insert -> S7 Block.

50

Редактор блоков LAD/STL/FBD предлагает пользователю 3 стандартных для PLC языка программирования.

Языки LAD (Ladder Logic) и FBD (Function Block Diagram) основаны на графическом способе представления программы в виде соответствующих элементов. Язык STL (Statement List) – это язык команд S7 CPU (ассемблер) и позволяет реализовать программу максимально эффективно, с использованием всех ресурсов CPU.

Программирование в LAD подобно рисованию релейноконтактной схемы (рис. 5.3). Для логических операций, например, используются такие элементы, как контакты и катушки. Этот язык программирования рассчитан на тех, кто привык работать с электрическими схемами.

Язык FBD представляет взаимосвязь элементов прямоугольников (рис. 5.4). Символ в прямоугольнике указывает на функцию (например, & – логическая функция И). Этот язык рассчитан на программистов, инженеров-схемотехников.

Каждая строка в программе на языке STL – это отдельная команда (рис. 5.5). Она содержит саму инструкцию и данные (операнд). В STL программе не требуется разбиение ее на сегменты. Основной недостаток STL – необходимость помнить мнемоники команд и трудность восприятия программы.

Можно написать цепи программы или сегменты на языке LAD или FBD и затем преобразовывать в STL. Выбор языка программирования осуществляется через меню “View”. В этом меню можно выбрать одно из трех представлений программы: LAD, STL или FBD. Однако результат этого преобразования не всегда является наиболее эффективным решением для STL (программа, созданная непосредственно на STL, может быть короче).

Обратное преобразование из STL в LAD или FBD не всегда возможно (причины: более одной логической операции в сегменте; отсутствие команд NOP 0 и т.д.). Сегменты программы, которые не могут быть преобразованы, остаются в

STL.

51

Рис. 5.3. Программирование в LAD

Рис. 5.4. Программирование в FBD

Рис. 5.5. Программирование в STL

52

Основными элементами редактора блоков LAD/STL/FBD являются: таблица деклараций; раздел кода; элементы.

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

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

Раздел кода содержит саму программу, разделенную, если это необходимо, на отдельные цепи, называемые Network.

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

При редактировании блоков в FBD или LAD часто используемые элементы представлены кнопками в панели инструментов. Можно щелкать на них мышью, чтобы установить эти элементы на выбранную в программе позицию. Другие элементы можно вставить в программу из списка в любую п о- зицию перетаскиванием или в выделенную позицию – дважды щелкнув на элементе из списка. Соединять элементы можно

53

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

Для добавления нового сегмента достаточно нажать на кнопку “New Network” в панели инструментов, после текущего сегмента добавляется новый сегмент.

При программировании на STL нужно знать инструкции для записи программы. Можно получить информацию о синтаксисе и функциональном назначении через подсказку: Help on STL. В справке доступна следующая информация:

“Statement List Instructions” – описывает все инструкции,

которые имеются в этом языке программирования; Working with Statement List (работа со списком команд) – описывает список команд и основы синтаксиса, ввод и наблюдение констант, типы блоков, контакты и состояния сигнала.

При программировании на STL окно элементов содержит только список существующих блоков, которые могут быть вызваны из текущего блока. Сегменты вставляются в программу так же, как в редакторе LAD/FBD.

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

меню File -> Save или через кнопку.

Вы можете загрузить блок из активного окна редактора непосредственно в контроллер. Для этого Вы можете использовать меню File -> Download или кнопку.

Другой способ загрузить блок в контроллер - в окне SIMATIC Manager , выделить один или несколько блоков и воспользоваться пунктом меню PLC-> Download. При этом необходимо, чтобы к устройству программирования был предварительно подключен контроллер или активирован его программный эмулятор.

Для активации/деактивации тестовой функции Monitor: кликнуть на кнопку Monitor или выбрать пункт меню Debug -> Monitor. Режим Monitor позволяет оценить выполнение фрагмента программы для выделенного сегмента, а также

54

сегментов, расположенных ниже в активном окне (рис.5.6). Статус программы отображается различно в зависимости от выбранного языка программирования (LAD/STL/FBD).

Рис. 5.6. Блок в режиме Monitor

Вы можете изменить толщину и цвет линий путем выбо-

ра меню Options -> Customize -> LAD/FBD.

Когда активирована тестовая функция, Вы не можете изменить язык программирования (LAD/FBD/STL), в котором отображается блок.

Вы можете корректировать блоки, открытые или в online, или в offline режимах. Если Вы не хотите тестировать программу сразу, Вы можете просто сохранить изменения на жестком диске, чтобы тестировать ее позже. Старая версия блока в этом случае стирается.

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

Таблица символов Symbol Table

При написании программ в STEP 7 доступна как абсолютная, так и символьная адресация операндов. Например, если входной дискретный модуль в адресном пространстве занимает четыре байта с адресами IB0, IB1, IB2 и IB3, то дискрет-

55

ные входы могут обозначаться абсолютными адресами, начиная с I0.0, по I3.7 включительно. Аналогично выходы для цифрового модуля вывода, который занимает адреса с QB0 по QB3, имеют абсолютные адреса с Q0.0 по Q3.7. Однако при большом числе переменных такая адресация неудобна, поэтому для придания смысловой нагрузки переменным вводятся их символьные обозначения.

Для хранения символьных обозначений используется таблица символов (рис. 5.6).

Рис. 5.7. Таблица символов

Каждая программа в проекте имеет собственную таблицу символов. При создании новой программы генерируется пустая таблица.

Таблицу символов можно вызвать либо из окна SIMATIC Manager, находясь на уровне программ и выбрав значок “Symbols”, либо непосредственно из редактора

LAD/STL/FBD, воспользовавшись меню “Options” -> “Symbol Table”.

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

Символьное имя Symbol содержит до 24 символов, начинается с буквы, может содержать подчеркивания. Адресом

56

Address может являться вход, выход, таймер, счетчик, меркер или блок.

Вразделе Data Type указывается тип данных, например, BOOL для дискретного входа или выхода.

Комментарий Comment содержит произвольную информацию до 80 символов.

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

Вменю “Edit” для поиска и замены текста доступны такие элементы, как:

“Search For” – ввод текста для поиска; “Replace With” – ввод текста для замены;

“Search Only” – поиск и выделение указанного текста; “From Cursor Down” – поиск вниз от курсора до послед-

ней строки символьной таблицы;

“From Cursor Up” – поиск вверх от курсора до первой строки символьной таблицы;

“Match Case” – поиск только указанного текста с анализом строчных и прописных букв;

“Whole Word Only” – поиск указанного текста как отдельного слова;

“All” – поиск по всей таблице, начиная с текущей позиции курсора;

“Selection” – поиск текста только для выделенных строк таблицы.

При поиске адресов необходимо вводить звездочку «*» после идентификатора адреса, иначе адрес не будет найден.

Полезной функцией меню “View” окна таблицы символов является вкладка “Filter”, с помощью которой отображаются только символы, которые отвечают критерию, указанному в фильтре (“symbol properties”). Можно применить различные критерии одновременно. Критерии, указанные в фильтре, объ-

57

единяются. Также можно выбрать различные фильтры и объединить их согласно следующим свойствам: Name (имя),

Address (адрес), Data type (тип данных), Comment (комментарий), Operator control and monitoring (управление и просмотр операторов), Communication (связь), Message (сообщение).

С помощью меню “View” -> “Sort” можно расположить данные в символьной таблице в алфавитном порядке. При этом можно задавать как возрастание или убывание как по именам, так и по адресам. Удобно сортировать по возрастанию адресов.

Команда меню “Symbol Table” -> “Export” позволяет преобразовать символьную таблицу в другой файловый формат, чтобы можно было работать с ней в других программах. Можно задавать следующие файловые форматы:

а) ASCII Format (*.ASC) – текстовый формат для Notepad

и Word;

б) Data Interchange Format (*.DIF) – формат электронных таблиц для EXCEL;

в) System Data Format (*.SDF) – формат баз данных для ACCESS;

г) Assignment List (*.SEQ) – формат для STEP 5.

Аналогично с помощью команды меню “Symbol Table” -> “Import” можно импортировать символьные таблицы, подготовленные в других программах. Для этого необходимо выбрать меню “Symbol Table” -> “Import”, затем выбрать файловый формат в диалоговом окне “Import”, задать маршрут к директории в списке “Find in”, ввести имя файла в поле “File Name” и нажать “OK”.

С помощью команды меню “Options” -> “Edit Symbols” или щелчком правой кнопки мыши на адресе с последующим выбором пункта выпадающего меню “Edit Symbol“ можно назначать символические имена для абсолютных адресов непосредственно при редактировании программы. Имена автоматически вводятся в символьную таблицу. Имена, которые уже есть в символьной таблице, отображаются другим цветом. Они не могут снова быть использованы в таблице.

58

При необходимости изменить присвоения в символьной таблице уже существующей программы нужно выбрать, что важнее – абсолютный или символический адрес. Чтобы сделать выбор в SIMATIC Manager нуж но выбрать правой кнопкой мыши папку “Blocks“, а затем выбрать пункт меню “Properties“ и закладку “Blocks“. Здесь можно выбрать

“Absolute Value“ (абсолютное значение) или “Symbol“ (имя) в

поле “Priority“ (приоритет).

Пусть, например, старая запись в таблице символов была

On = I0.1, а новая On = I1.0.

Если выбран приоритет адреса, то при изменении в символьной таблице абсолютный адрес операнда в программе не изменяется. В примере абсолютное имя I0.0 было изменено на абсолютное имя I1.0 в таблице символов. С установленным приоритетом по абсолютному значению, программа продолжает использовать вход I0.0.

Если задан приоритет имени, то при смене абсолютного адреса операнда в символьной таблице, он изменяется во всей программе.

В примере выше, выход I0.0 (имя символа “On“) изменен на выход I1.0 в символьной таблице. С установкой приоритета по имени, адрес I0.0 изменяется на I1.0 во всей программе. Измененный адрес также сохраняется в символьной таблице. Таким способом можно изменять абсолютные адреса в программе пользователя, использующей символьные имена.

Симулятор контроллера S7-PLCSIM

Проверку программной части без подключения реального оборудования можно проводить с помощью утилиты S7-PLCSIM (рис. 5.8). Для этого в меню Options необходимо выбрать пункт меню Simulate Modules, либо

воспользоваться кнопкой панели SIMATIC Manager.

59

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