Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
Любая задача на C/C++
Одно любое задание в mYsql
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Любой реферат по информатике

Основные понятия языка STEP 7

2021-03-09СтудИзба

2. ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА STEP 7

2.1.           Структура программы

Программное обеспечение ПЛК состоит из следующих частей:

Операционная система: содержит общую часть всех инструкций и соглашений для

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

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

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

Блоком  называется  часть  программы  пользователя,  ограниченная  функционально и структурно или по целям использования.

Различают блоки содержащие:

Рекомендуемые материалы

·          инструкции для обработки сигналов;

·          блоки, содержащие данные (блоки данных).

Блоки идентифицируются:

•          типом блока (OB, PB, SB, FB, FX, DB, DX);

•          номером блока (число от 0 до 255).

2.2.           Инструкции языка STEP.

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

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

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

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

STL-программа состоит из ряда отдельных выражений (statement), наименьших  самостоятельных  единиц  пользовательской  программы.  

Выражение  содержит описание работы для CPU. На рисунке 4 показана общая структура STL-выражения. Инструкция языка STEP состоит из операции и операнда.

Операнд   может   быть   представлен   абсолютно   или   символически   (через   список

соответствия).





а)                                                                                 в)

Рисунок 4 - Инструкции языка STEP7

а)структура STL-выражения; в) виды представления инструкций языка STEP7

2.3.            Типы блоков

Таблица  1 содержит перечень и  краткое описание программных блоков для контроллеров SIMATIC S7, а также блоков данных.

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

Блок

Выполняемые функции

ОВ

Организационные блоки. Предназначены для:

организации циклического выполнения программы пользователя (ОВ1), обработки событий:

·           включения питания (ОВ100),

·           циклического прерывания (ОВЗ0-ОВ38),

·           прерывания по дате и времени (ОВ10-ОВ17),

·           прерывания по задержке времени (ОВ20-ОВ23),

·           возникновения ошибки (ОВ40-ОВ47, ОВ80-ОВ87, ОВ121, ОВ122).

Блоки вызываются автоматически операционной системой контроллера в случае возникновения того или иного события.1

FC

Функция. Может быть вызвана из любого блока. Допускается передача параметров

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

теряются при выходе из блока.

FB

Функциональный блок. Также может быть вызван из любого блока и может иметь

формальные    и    локальные    параметры.    Особенностью    FB    является    наличие переменных типа STAT, которые сохраняют свое значение при выходе из блока. Поэтому функциональный блок имеет один или несколько связанных с ним блоков

SFC

Системная функция. Это функция, уже имеющаяся в ОС CPU. Предназначена для

выполнения определенных стандартных действий.

SFB

Системный функциональный блок. Аналогичен FB, но, как и SFC, уже имеется в

составе ОС контроллера.

DB

Блок    данных    программы    пользователя.    Предназначен    для    долговременного

хранения информации.

DI

Блок   данных   функционального   блока.   Используется   для    хранения   значений

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

В контроллерах    SIMATIC      S7       существует     несколько способов  обработки управляющей программы:

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

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

3. Прерывания    по    дате    и   времени.    Существуют   программы,    которые

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

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

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

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

питания.

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

аппаратных или программных ошибок.

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

обработки определяется номером организационного блока (см. таблицу 2).

Таблица 2 - Период и приоритет обработки организационных блоков

Организационный

блок

Условия вызова

Приоритет

по умолчанию

изменения

OB1

Вызывается             операционной

системой

1

Нет

OB10 – OB17

В заданное время

2

2 … 24

OB20 – OB23

По истечении времени

3 … 6

2 … 24

Организационный

блок

Условия вызова

Приоритет

по умолчанию

изменения

OB30 – OB38

Через заданный интервал

7 … 15

2 … 24

OB40 – OB47

От входов и выходов

16 … 23

2 … 24

OB60

Мультипроцессорное

25

Нет

OB70,          OB72,

OB73

Ошибки резервирования

25, 28, 25

2 … 28

OB80 – OB85

Асинхронные ошибки

26

2 … 26

OB90

Фоновая обработка

29

Нет

OB100

При запуске

27

Нет

OB121, OB122

Ошибки выполнения программы

Приоритет блока, вызвавшего

программу

2.4.           Типы данных

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

1.         Элементарные типы данных (до 32 бит)

a. Битовые типы данных представлены следующими типами:

Бит (BOOL)

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

Байт (BYTE)

Байт состоит из 8 бит, которым соответствуют битовые адреса от 0 до 7 (справа налево).

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

Слово (WORD)

Слово - это следующая после байта по величине единица, ее длина 16 бит. Любые два соседних байта можно объединить в слово, старшим будет являться байт с меньшим адресом.

Адрес слова - это адрес байта с меньшим адресом. В контроллерах Simatic S7 слово может интерпретироваться как просто слово (набор бит), целое число со знаком, дата, время и т.д.

Двойное слово (DWORD)

Любые два соседних слова можно объединить в двойное слово, его длина - 32 бита или 4

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

Таблица 3 - Представление битовых типов данных

ПредставлениеБайт(В)Слово (W)Двойное слово (D)
Целое без знакаот 0 до 255
от 0 до FFот 0 до 65 535
oт 0 до FFFFот 0 до 4 294 967 295
от 0 до FFFF FFFF
Целое со знакомот-128до+127
от 80 до 7Fот-32 768 до+32 767
от 8000 до7FFFот -2 147 483 648 до +2 147 483 647 от
8000 0000 до 7FFF FFFF
Вещественное IEEE
32-битовое с плавающей точкойНеприменимоНеприменимоот +1.175495Е-38 до +3.402823Е+38
(положительное)
от -1.175495Е-38 до -3.402823Е+38 (отрицательное)

Char (литера)

Переменная типа CHAR (character, литера) занимает один байт. Тип данных CHAR

представляет одну литеру в ASCII-формате, например, 'А'.


Работая с этим типом данных, вы можете использовать любую печатную литеру в апострофах.

b. Математические типы данных представлены следующими типами:

INT (целое число)

Переменная типа INT (integer) хранится как целое число (16-битное число с фикси-

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

Целочисленная переменная занимает одно машинное слово. Сигнальные состояния битов с 0-го по 14-ый представляют цифровые разряды (позиции) числа. Сигнальное состояние 15-го

бита представляет знак (sign, S).

DINT (двойное целое число)

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

768, или когда число предваряется идентификатором типа L#.

Под переменную типа DINT отводится двойное слово. Сигнальные состояния битов с 0-го

по 30-ый представляют цифровые позиции числа. Знак хранится в 31-м бите.

REAL (вещественный)

Переменная типа REAL представляет дробь и хранится как 32-битное число с плавающей запятой  (десятичной точкой). Целое сохраняется как переменная типа REAL при добавлении

десятичной точки и тая.

В экспоненциальном представлении вы можете предварить «е» или «Е» целым числом

или дробью из семи соответствующих чисел и знака. Цифры, которые расположены за «е» или

«Е» представляют экспоненту по базе 10. STEP 7 производит преобразование REAL-переменной

во внутренне представление числа с плавающей точкой.

c.  Временные типы данных представлены следующими типами:

S5TIME

Переменная типа S5TIME используется в базовых языках STL, LAD и FBD для установки

таймеров системы SIMATIC. Она занимает одно 16-битное слово с 1 + 3 декадами.

Время устанавливается в часах (hours), минутах (minutes), секундах (seconds) и мил-

лисекундах (milliseconds).

DATE (Дата)

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

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

TIME (Время)

Переменная типа TIME резервирует одно двойное слово. Ее представление содержит информацию о днях (d), часах (li), минутах (т), секундах (s) и миллисекундах (ms), отдельные

элементы этих данных могут быть  опущены.  Содержимое переменной интерпретируется в миллисекундах (ms) и хранится как 32-битное число с фиксированной точкой со знаком.

TIME_OF_DAY (Время суток)

Переменная типа данных TTMEOFDAY резервирует для себя одно двойное слово. Она

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

2.         Сложные типы данных (более чем 32 бита)

STEP 7 определяет следующие четыре сложных типа данных:

Ø  DATE_AND_TIME (DT, Дата и время) Дата и время (в формате BCD-числа);

Ø  STRING (Строка) Строка литер длиной до 254 знаков;

Ø  ARRAY (Массив) Переменная-массив (совокупность переменных одного типа);


Ø  STRUCT  (Структура)  Переменная-структура  (совокупность  переменных  разных типов).

Типы данных предопределяются пользователем при их использовании: задается длина в

типе STRING (строка литер), сочетание и размер в типах ARRAY и STRUCT (структура).

3.         Типы данных определенные пользователем (более чем 32 бита)

User data type - UDT  (Пользовательский тип данных)  соответствует структуре (ком-

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

Типы UDT обладают глобальным действием; то есть, они описываются один раз и

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

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

•          символическое имя

•          тип данных

•          видимость переменной

Переменные могут быть объявлены:

Ø         в глобальной символьной таблице (элементарные типы данных)

Ø         в таблице описаний глобального   блока данных (все типы данных)

Ø         в таблице описаний логического блока (OB, FB и FC)

Рисунок 5 - Типы данных языка STEP 7

2.5.           Виды адресации

При написании  программ  в  STEP  7  можно  применять  прямую   или косвенную адресации.

Прямая адресация может быть представлена в виде

·    абсолютной адресации;

·    символьной адресации.

Абсолютная адресация состоит из следующих основных полей – идентификатор области памяти и адрес в этой области.

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

применяется символьная адресация.

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

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


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

Например, если входной дискретный модуль занимает адреса от 0 до 3, то входы

могут обозначаться как I  0.0, I  0.1 и т.д.  Аналогично выходы для цифрового модуля вывода, который занимает адреса с 4 по 7, обозначаются как Q 4.0, Q 4.1 и т.д.

Косвенная  адресация  является  более  сложным  видом  адресации  и  здесь не  рассматривается.  Основные  виды адресации доступные с STEP 7 представлены на рисунке.

Рисунок 6 - Виды адресаций доступные в языке STEP 7

2.6.           Обращение к данным в областях памяти

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

Для обращения к биту в некоторой области памяти программист должен указать

адрес бита, состоящий из идентификатора области памяти, адреса байта и номера бита.

В контроллере S7 существуют следующие области памяти

Память входов образа процесса: обозначается - I

В  начале  каждого  цикла  S7 опрашивает  физические  входы  и  записывает

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

Тип данных                             Обращение                                                Пример

Бит

I[адрес байта]. [адрес бита]

I0.1

Байт

Слово

I[длина(B)][начальный адрес байта]

I[длина(W)][начальный адрес байта]

IB4

IW4

Двойное слово

I[длина(D)][начальный адрес байта]

ID4

Память выходов образа процесса: Q

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

байта, слова и двойного слова:


Тип данных

Обращение

Пример

Бит

Байт

Q[адрес байта]. [адрес бита]

Q[длина(B)][начальный адрес байта]

Q0.1

QB4

Слово

Двойное слово

Q[длина(W)][начальный адрес байта]

Q[длина(D)][начальный адрес байта]

QW4

QD4

Память памяти переменных: V

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

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

бита, байта, слова и двойного слова:

Тип данных                             Обращение                                                Пример

Бит

Байт

V[адрес байта]. [адрес бита]

V[длина(B)][начальный адрес байта]

V10.2

VB100

Слово

Двойное слово

V[длина(W)][начальный адрес байта]

V[длина(D)][начальный адрес байта]

VW200

VD200

Область битовой памяти (меркерная память): М

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

памяти можно обратиться в формате бита, байта, слова и двойного слова:

Тип данных

Обращение

Пример

Бит

Байт

M[адрес байта]. [адрес бита]

M[длина(B)][начальный адрес байта]

M10.2

MB100

Слово

Двойное слово

M[длина(W)][начальный адрес байта]

M[длина(D)][начальный адрес байта]

MW200

MD200

К данным в других областях памяти

·          Область памяти таймеров – Т;

·          Область памяти счетчиков – С;

·          Аккумуляторам

обращаются, указывая в качестве адреса идентификатор области и номер элемента.

Тип данных

Обращение

Пример

Область памяти таймеров

Область памяти счетчиков

Т[номер элемента]

С[номер элемента]

Т37

Бесплатная лекция: "3. Эколого-экономическая оптимизация" также доступна.

С5

Аккумуляторам

АС[номер элемента]

АС0

Рисунок 7 - Пример обращения к одному и тому же адресу в формате байта, слова и двойного слова


Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5168
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее