Сделай Сам Свою Работу на 5

Средства разработки ПО для контроллера





 

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

Для создания программного обеспечения требуется разработать:

- структуру программы;

- управление данными автоматического процесса;

- структуру данных;

- передачу данных;

- документацию программы и проекта.

Общая структура системы, работающей под управлением STEP 7, показана на рисунке 11.

Рисунок 11. Структура схемы автоматизации

 

В полную программу процесса входят:

Операционная система: содержит общую часть всех инструкций и соглашений для реализации внутренних функций (например, сохранение данных при сбросе напряжения питания, управление реакцией пользователя при прерывании и т. д.). Она расположена на так называемом EPROMe (Erasable Programmable Read Only Memory) и является фиксированной составной частью процессора.



Программа пользователя: содержит набор всех написанных пользователем инструкций и соглашений для обработки сигналов, с помощью которых производится управление агрегатом. Программа пользователя распределяется на блоки. Деление программы на блоки значительно проясняет структуру программы и подчеркивает программно-технические связи отдельных частей агрегата. Блоком называется часть программы пользователя, ограниченная функционально и структурно или по целям использования. Различают блоки, которые содержат инструкции для обработки сигналов и блоки, содержащие данные (блоки данных). Блоки идентифицируются по типу (OB, PB, SB, FB, FX, DB, DX) и по номеру.

Инструкция языка STEP является наименьшей самостоятельной единицей программы пользователя. Она является предписанием для работы процессора. Инструкция может быть представлена в виде:

- Список команд (инструкций) - STL. Представляет собой список команд подобно обычному языку Ассемблера.



- Контактный план - LAD. Управляющая программа записывается при помощи изображений элементов релейных контактных схем.

- Функциональный план – FDB. Для отображения программы используются схемы логических элементов.

-

Рисунок 12. Виды представления инструкций Step 7

 

STL -программа состоит из ряда отдельных выражений (statement). Выражение - это наименьшая самостоятельная единица пользовательской программы. Выражение содержит описание работы для CPU. Инструкция языка STEP состоит из операции и операнда. Операнд может быть представлен абсолютно или символически (через список соответствия).

Таблица 4 содержит перечень и краткое описание программных блоков для контроллеров SIMATIC S7, а также блоков данных. В контроллерах SIMATIC S7 существует несколько способов обработки управляющей программы:

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

Таблица 4.Программные блоки и блоки данных

Блок Выполняемые функции
ОВ Организационные блоки. Предназначены для организации циклического выполнения программы пользователя (ОВ1), обработки событий: включения питания (ОВ100), циклического прерывания (ОВЗ0-ОВ38), прерывания по дате и времени (ОВ10-ОВ17), прерывания по задержке времени (ОВ20-ОВ23), возникновения ошибки (ОВ40-ОВ47, ОВ80-ОВ87, ОВ121, ОВ122). Блоки вызываются автоматически операционной системой контроллера в случае возникновения того или иного события.
FC Функция. Может быть вызвана из любого блока. Допускается передача параметров в функцию и обратно. Функция может также иметь локальные переменные, которые теряются при выходе из блока.
FB Функциональный блок. Также может быть вызван из любого блока и может иметь формальные и локальные параметры. Особенностью FB является наличие переменных типа STAT, которые сохраняют свое значение при выходе из блока. Поэтому функциональный блок имеет один или несколько связанных с ним блоков данных (Instance Data Block, DI).
SFC Системная функция. Это функция, уже имеющаяся в ОС CPU. Предназначена для выполнения определенных стандартных действий.
SFB Системный функциональный блок. Аналогичен FB, но, как и SFC, уже имеется в составе ОС контроллера.
DB Блок данных программы пользователя. Предназначен для долговременного хранения информации.
DI Блок данных функционального блока. Используется для хранения значений переменных функционального блока. Отличается от DB наличием жесткой структуры, определяемой связанным с ним функциональным блоком.

 



2) Циклические прерывания. При управлении ТП всегда существуют программы, которые должны обрабатываться через одинаковые, заранее заданные, промежутки времени. Для этих целей в контроллерах SIMATIC S7 существуют блоки обработки циклических прерываний. Промежуток времени, через который должен вызываться данный блок, задается программистом.

3) Прерывания по дате и времени. Существуют программы, которые должны выполниться один раз в определенный день и час или выполняться периодически. Начиная с определенных даты и времени. Для этих целей в контроллерах SIMATIC S7 можно запрограммировать блоки прерываний по дате и времени.

4) Прерывания по задержке времени. Такие блоки вызываются по истечении определенного времени после возникновения какого-либо события.

5) Обработка включения питания. Часто при включении питания необходимо выполнить какие-либо однократные действия: первичную установку, инициализацию и т.д. Для этих целей предусмотрены блоки обработки включения питания.

6) Обработка ошибок. Такие блоки выполняются в случае возникновения аппаратных или программных ошибок.

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

Контроллеры SIMATIC S7 могут работать со следующими типами данных:

Бит (BOOL). Бит - это единица, соответствующая одному двоичному разряду. Два возможных значения бита обозначаются "0" (FALSE) и "1" (TRUE).

 

 

Таблица 5. Приоритеты обработки

Организационный блок Условия вызова Приоритет
OB1 Вызывается операционной системой
OB10 - OB17 В заданное время
OB20 - OB23 По истечении времени 3..6
OB30 - OB38 Через заданный интервал 7..15
OB40 - OB47 От входов и выходов 16..23
OB60 Мультипроцессорное
OB70, OB72, OB73 Ошибки резервирования 25, 28, 25
OB80 - OB85 Асинхронные ошибки
OB90 Фоновая обработка
OB100 При запуске
OB121, OB122 Ошибки выполнения программы Приоритет блока, вызвавшего программу

 

Байт (BYTE). Байт состоит из 8 бит, которым соответствуют битовые адреса от 0 до 7 (справа налево). Старшим является бит с большим адресом. Байт могут образовать только те биты, адрес младшего из которых кратен 8, например: 0, 8, 16 и т.д. В контроллерах Simatic S7 байт может интерпретироваться как просто байт (набор бит) или как ASCII - символ.

Слово (WORD). Слово - это следующая после байта по величине единица, ее длина 16 бит. Любые два соседних байта можно объединить в слово, старшим будет являться байт с меньшим адресом. Адрес слова - это адрес байта с меньшим адресом. В контроллерах Simatic S7 слово может интерпретироваться как просто слово (набор бит), целое число со знаком, дата, время и т.д.

Двойное слово (DWORD). Любые два соседних слова можно объединить в двойное слово, его длина - 32 бита или 4 байта. Старшим словом (байтом) является слово (байт) с меньшим адресом. Адрес двойного слова - это адрес байта с меньшим адресом. В контроллерах Simatic S7 двойное слово можно интерпретировать как просто двойное слово, длинное целое число со знаком, вещественное число в формате IEEE и т.д.

Char (литера). Переменная типа CHAR (character, литера) занимает один байт. Тип данных CHAR представляет одну литеру в ASCII -формате, например, 'А'. Работая с этим типом данных, можно использовать любую печатную литеру в апострофах.

INT (целое число). Переменная типа INT (integer) хранится как целое число (16 -битное число с фиксированной запятой или десятичной точкой). Тип данных INT не имеет специального идентификатора. Целочисленная переменная занимает одно машинное слово.

DINT (двойное целое число). Переменная типа DINT хранится как целое число (32 - битное число с фиксированной запятой). Целое сохраняется в DINT -переменной когда оно превышает 32 767 или меньше - 32768, или когда число предваряется идентификатором типа L#.

REAL (вещественный). Переменная типа REAL представляет дробь и хранится как 32 - битное число с плавающей запятой (десятичной точкой). Целое сохраняется как переменная типа REAL при добавлении десятичной точки и тая. В экспоненциальном представлении можно предварить «е» или «Е» целым числом или дробью из семи соответствующих чисел и знака. Цифры, которые расположены за «е» или «Е» представляют экспоненту по базе 10. STEP 7 производит преобразование REAL - переменной во внутренне представление числа с плавающей точкой.

S5TIME. Переменная типа S5TIME используется в базовых языках STL, LAD и FBD для установки таймеров системы SIMATIC. Она занимает одно 16 -битное слово с 1 + 3 декадами. Время устанавливается в часах (hours), минутах (minutes), секундах (seconds) и миллисекундах (milliseconds).

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

TIME (Время). Переменная типа TIME резервирует одно двойное слово. Ее представление содержит информацию о днях (d), часах (h), минутах (m), секундах (s) и миллисекун дах (ms), отдельные элементы этих данных могут быть опущены. Содержимое переменной интерпретируется в миллисекундах (ms) и хранится как 32 -битное число с фиксированной точкой со знаком.

TIME_OF_DAY (Время суток ). Переменная типа данных TTMEOFDAY резервирует для себя одно двойное слово. Она содержит количество миллисекунд с начала суток (со времени 00:00) в виде числа с фиксированной точкой без знака. Ее представление содержит информацию о часах, минутах и секундах, разделенных двоеточием. Миллисекунды, которые следуют за секундами, отделены от них десятичной точкой. Миллисекунды могут отсутствовать.

User data type - UDT (Пользовательский тип данных ) соответствует структуре (комбинация компонентов любых типов) с действием на глобальном уровне. Можно воспользоваться пользовательским типом данных, если в программе часто фигурирует структурный тип и переменные, или нужно структуре данных присвоить имя. Типы UDT обладают глобальным действием; то есть, они описываются один раз и доступны для использования во всех блоках. При объявлении переменных определяются следующие их свойства: символическое имя, тип данных, видимость переменной. Переменные могут быть объявлены: в глобальной символьной таблице (элементарные типы данных), в таблице описаний глобального блока данных (все типы данных), таблице описаний логического блока (OB, FB и FC)

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.