Category Archives: Siemens PLC

Катушки в Step 7

Присваивание

Команда присваивания (=) записывает новое значениедля выходного бита в регистр образа процесса. При выполнении команды присваивания ПЛК устанавливает или сбрасывает выходной бит в регистре образа процесса. В LAD и FBD указанный бит устанавливается равным потоку сигнала. В STL значение, находящееся в вершине стека, копируется в указанный бит.

Непосредственное присваивание битового значения

Команда непосредственного присваивания битового значения (=I) при своем выполнении записывает новое значение как в физический выход, так и в образ процесса.

Когда выполняется команда непосредственного присваивания битового значения, физический выход (бит) немедленно устанавливается в соответствии с состоянием потока сигнала. В STL команда непосредственного присваивания битового значения непосредственно копирует значение, находящееся в вершине стека, в указанный физический выход. Символ “I” означает непосредственный доступ; при исполнении команды новое значение записывается в физический выход и в соответствующую ячейку регистра образа процесса. Здесь имеется отличие от других видов доступа, которые записывают новое значение только в регистр образа процесса.

Установка и сброс

Команды установки (S) и сброса (R) устанавливают (включают) или сбрасывают (выключают) указанное количество входов или выходов (N), начиная с указанного адреса (бита). Вы можете установить или сбросить от 1 до 255 входов и выходов.

Если команда сброса указывает на бит таймера (T) или счетчика (C), то команда сбрасывает бит таймера или счетчика и стирает текущее значение таймера или счетчика.

Сбойные состояния, устанавливающие ENO = 0

  • 0006 (косвенный адрес)
  • 0091 (операнд вышел за пределы допустимого диапазона)

Непосредственная установка и непосредственный сброс Команды непосредственной установки и непосредственного сброса непосредственно устанавливают (включают) или непосредственно сбрасывают (выключают) указанное количество входов или выходов (N), начиная с указанного адреса (бита). Вы можете непосредственно и немедленно установить или сбросить от 1 до 128 входов и выходов.

Символ “I” означает непосредственный доступ; при исполнении команды новое значение записывается в физический выход и в соответствующую ячейку регистра образа процесса. Здесь имеется отличие от других видов доступа, которые записывают новое значение только в регистр образа процесса.

Сбойные состояния, устанавливающие ENO = 0

  • 0006 (косвенный адрес)
  • 0091 (операнд вышел за пределы допустимого диапазона)

 

Битовые логические операции в STEP 7

Стандартные контакты

Команды «Нормально открытый контакт» (LD, A и O) и «Нормально замкнутый контакт» (LDN, AN, ON) получают исходное значение из памяти или из регистра образа процесса. Стандартные контакты получают исходное значение из памяти (или из регистра образа процесса, если типом данных является I или Q).

Нормально открытый контакт замкнут (включен), когда бит равен 1, а нормально замкнутый контакт замкнут (включен), когда бит равен 0. В FBD к блокам И и ИЛИ может быть подключено не более 32 входов. В STL команды, представляющие нормально открытый контакт, загружают значение адресного бита в вершину стека или выполняют логическое сопряжение значения адресного бита со значением в вершине стека в соответствии с таблицей истинности логического И или ИЛИ, а команды, представляющие нормально замкнутый контакт, загружают логическое отрицание значения адресного бита в вершину стека или выполняют логическое сопряжение логического отрицания значения адресного бита со значением в вершине стека в соответствии с таблицей истинности логического И или ИЛИ.

Непосредственно управляемые контакты

Непосредственно управляемый контакт при своей актуализации не зависит от цикла PLC, его значение обновляется немедленно. Команды «Непосредственно управляемый нормально открытый контакт» (LDI, AI и OI) и «Непосредственно управляемый нормально замкнутый контакт» (LDNI, ANI и ONI) при выполнении команды получают значение физического входа, однако, регистр образа процесса не обновляется.

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

Команда NOT [НЕ]

Команда отрицания (NOT) изменяет состояние входа потока сигнала (т.е. она изменяет значение в вершине стека с 0 на 1 или с 1 на 0).

Положительный и отрицательный фронт

Контакт «Положительный фронт» (EU) пропускает поток сигнала в течение одного цикла при каждом появлении положительного фронта. Контакт «Отрицательный фронт» (ED) пропускает поток сигнала в течение одного цикла при каждом появлении отрицательного фронта. У команды «Положительный фронт» при обнаружении перехода значения в вершине стека с 0 на 1 значение в вершине стека устанавливается в 1; в противном случае оно устанавливается в 0. У команды «Отрицательный фронт» при обнаружении перехода значения в вершине стека с 1 на 0 значение в вершине стека устанавливается в 1; в противном случае оно устанавливается в 0.

 

Переменные в STEP 7-Micro/WIN

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

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

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

Использование таблицы символов для символической адресации переменных

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

Для программ SIMATIC назначение глобальных символов производится в таблице символов. Для программ МЭК назначение глобальных символов производится в таблице глобальных переменных. Для присвоения адресу символического имени действуйте следующим образом:

1. Щелкните в навигационной панели на кнопке таблицы символов, чтобы вызватьтаблицу.

2. Введите символическое имя (например, Input1) в столбце «Symbol Name [Символическое имя]». Максимальная длина символического имени составляет 23 символа.

3. В столбце Address [Адрес] введите адрес (например, I0.0).

4. Для таблицы глобальных переменных МЭК введите значение в столбец Data Type [Тип данных] или выберите его из раскрывающегося окна списка.

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

Использование локальных переменных

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

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

Контроль над программой с помощью таблицы состояний

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

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

Для вызова таблицы состояний выберите команду меню View > Component > Status Chart [Вид > Компонент > Таблица состояний] или щелкните на пиктограмме таблицы состояний на навигационной панели.

При создании таблицы состояний введите адреса переменных процесса, которые вы хотите наблюдать. Невозможно отобразить состояния констант, аккумуляторов и локальных переменных. Значения таймеров и счетчиков можно отображать в виде бита или слова. Если значение отображается в виде бита, то оно представляет состояние бита таймера или счетчика; если значение отображается в виде слова, то оно является значением таймера или счетчика.

Для создания таблицы состояний и контроля переменных:

  1. Введите в поле адресов адреса желаемых величин.
  2. В столбце Format выберите тип данных.
  3. Для отображения состояния переменных процесса в своем ПЛК выберите команду меню Debug > Chart Status [Отладка > Состояние таблицы].
  4. Если вы хотите опрашивать эти величины непрерывно или хотите однократно считать состояние, щелкните на соответствующем символе на панели инструментов.

В таблице состояний можно также принудительно устанавливать или изменять значения различных переменных процесса. В таблицу состояний можно вставлять дополнительные строки, выбрав команду меню Edit> Insert > Row [Редактировать > Вставить > Строка].

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

 

Создание библиотеки команд в STEP 7-Micro/WIN

В STEP 7-Micro/WIN можно создать библиотеку команд для конкретного пользователя или использовать библиотеку, созданную другими лицами.  Для создания библиотеки команд создайте сначала в STEP 7-Micro/WIN подпрограммы и программы обработки прерываний и сгруппируйте их. Вы можете скрыть код в этих подпрограммах и программах обработки прерываний, чтобы предотвратить случайные изменения и защитить технологию или ноу-хау автора.

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

1. Напишите программу в виде стандартного проекта STEP 7-Micro/WIN и поместите функции, которые должны быть включены в библиотеку, в подпрограммы или программы обработки прерываний.

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

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

4. Выберите команду меню File > Create Library [Файл > Создать библиотеку], чтобы скомпилировать новую библиотеку команд.

Создание пользовательской библиотеки в STEP 7-Micro/WIN

Создание пользовательской библиотеки в STEP 7-Micro/WIN

Дополнительную информацию о создании библиотек вы найдете в помощи для STEP 7-Micro/WIN в режиме online.

Чтобы получить доступ к командам из библиотеки команд необходимо:

1. Добавить к дереву команд каталог «Libraries [Библиотеки]», выбрав команду меню File > Add Libraries [Файл > Добавить библиотеки].

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

Если библиотечная программа нуждается в памяти переменных, то STEP 7-Micro/WIN после компиляции проекта потребует назначения области памяти.

Области памяти назначаются в диалоговом окне «Library Memory Allocation [Выделение памяти для библиотеки].

 

Ошибки в ПЛК Siemens

ПЛК разделяет ошибки на фатальные и не фатальные. Коды, сгенерированные ошибкой, можно посмотреть, выбрав команду меню PLC > Information [ПЛК Информация].

На рисунке показано диалоговое PLC Information [Информация ПЛК], содержащее и описание ошибки.

Поле Last Fatal [Последняя фатальная ошибка] показывает код предыдущей фатальной ошибки, сгенерированный ПЛК. Это значение сохраняется при выключениях и включениях питания, если сохраняется ОЗУ. Эта ячейка очищается всякий раз, когда очищается вся память ПЛК, или когда ОЗУ не сохраняется после длительного перерыва в подаче питания.

Окно аварий Step7

Окно аварий Step7

Поле Total Fatal [Всего фатальных ошибок] представляет собой количество фатальных ошибок, сформированных ПЛК начиная с момента последней очистки всех областей памяти ПЛК. Это значение сохраняется при выключениях и включениях питания, если сохраняется ОЗУ. Эта ячейка очищается всякий раз, когда очищается вся память ПЛК, или когда ОЗУ не сохраняется после длительного перерыва в подаче питания.

Нефатальные ошибки

В случае нефатальных ошибок речь идет об ошибках в построении программы пользователя, об ошибке при исполнении команды в программе пользователя и об ошибках в модулях расширения. С помощью STEP 7-Micro/WIN можно отобразить коды нефатальных ошибок. Имеется три основных группы нефатальных ошибок.

Ошибки компиляции программы

ПЛК компилирует программу, когда он ее загружает. Если ПЛК обнаруживает, что программа нарушает правило компиляции, то загрузка прерывается и генерируется код ошибки. (Программа, которая уже была загружена в ПЛК, по-прежнему будет существовать в постоянной памяти и не потеряется.) После исправления своей программы вы можете загрузить ее снова.

Ошибки конфигурации входов/выходов

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

Информация о состоянии модуля хранится в битах специальной памяти (SM). Ваша программа может контролировать и анализировать эти биты. Бит SM5.0 является глобальным битом ошибок конфигурации входов/выходов, который остается установленным, пока в модуле расширения сохраняется сбойная ситуация.

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

Ваша программа может создавать состояния ошибки во время своего выполнения. Эти ошибки могут возникать из-за ненадлежащего использования команды или из-за обработки командой недопустимых данных. Например, указатель косвенного адреса, который был действительным, когда программа компилировалась, может быть изменен во время выполнения программы так, что станет указывать на адрес вне допустимого диапазона. Это пример ошибки программирования, проявляющейся при выполнении программы. При возникновении такой ошибки устанавливается бит SM4.3. Он остается установленным, пока ПЛК находится в режиме RUN. Информация об ошибках выполнения программы хранится в битах специальной памяти (SM). Ваша программа может контролировать и анализировать эти биты.

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

Пример остановки выполнения программы при возникновении нефатальной ошибки

Пример остановки выполнения программы при возникновении нефатальной ошибки

Фатальные ошибки

Фатальные ошибки заставляют ПЛК прекратить выполнение программы. В зависимости от тяжести фатальной ошибки ПЛК может потерять способность к выполнению некоторых или всех функций. Целью обработки фатальных ошибок является перевод ПЛК в безопасное состояние, из которого ПЛК может реагировать на запросы о существующих сбойных состояниях. Когда ПЛК обнаруживает фатальную ошибку, он переключается в режим STOP, включает светодиоды SF/DIAG (красный) и STOP, заменяет таблицу выходов и выключает выходы. ПЛК остается в этом состоянии до исправления фатальной ошибки.

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

  • Выключите, а затем включите питание.
  • Переведите переключатель режимов работы из RUN или TERM в STOP.
  • Выберите из STEP 7-Micro/WIN команду меню PLC > Power–Up Reset [ПЛК > Сброс при запуске] для запуска ПЛК. Это заставляет ПЛК перезапуститься и сбросить все фатальные ошибки.

Перезапуск ПЛК сбрасывает состояние фатальной ошибки и выполняет диагностический тест, связанный с включением питания, чтобы проверить, что фатальная ошибка была устранена. Если обнаруживается другая фатальная ошибка, то ПЛК снова устанавливает светодиод ошибки, показывая, что ошибка по-прежнему существует. В противном случае ПЛК начинает нормальную работу. Имеется несколько возможных сбойных состояний, которые могут сделать ПЛК некоммуникабельным. В этих случаях вы не можете отобразить код ошибки ПЛК. Эти типы ошибок указывают на аппаратные отказы, требующие ремонта ПЛК; их невозможно устранить посредством изменений в программе или очистки памяти ПЛК.

 

Команды языка Step7

Определение EN/ENO

EN (Enable IN = Разрешающий вход) – это булев вход для блоков в LAD и FBD. Чтобы команда, представленная в виде блока, исполнялась, на этом входе должен присутствовать поток сигнала. В STL команды не имеют входа EN, но вершина стека должна быть логической “1”, чтобы соответствующая команда STL исполнялась.

ENO (Enable Out = Разрешающий выход) – это булев выход для блоков в LAD и FBD. Если у блока имеется поток сигнала на входе EN, и блок выполняет свою функцию без ошибок, то выход ENO передает поток сигнала следующему элементу. Если при исполнении блока обнаруживается ошибка, то поток сигнала завершается на блоке, в котором произошла ошибка.

В STL нет выхода ENO, но команды STL, соответствующие командам LAD и FBD с выходами ENO, устанавливают специальный бит ENO. Это бит доступен с помощью команды STL AENO (AND ENO) и может быть использован для создания того же эффекта, что и бит ENO блока.

Условные и безусловные входы

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

Команды без выходов

Блоки, не допускающие каскадного соединения, изображаются без булевых выходов. Сюда относятся команды вызова подпрограммы, перехода на метку и условного завершения подпрограммы. В LAD тоже имеются катушки, которые могут быть помещены только у левой шины. Сюда относятся команды определения метки перехода, конца программного цикла с NEXT, загрузки реле последовательного управления (SCR), условного завершения SCR и конца SCR. В FBD они изображаются как блоки и отличаются непомеченными входами и отсутствием выходов.

Команды сравнения

Команда сравнения выполняется независимо от состояния потока сигнала. Если поток сигнала отсутствует (ложь), то выход ложен. Если поток сигнала присутствует (истина), то выход устанавливается в зависимости от результата сравнения. Команды сравнения SIMATIC FBD, IEC LAD и IEC FBD представляются как блоки, хотя операция выполняется как контакт.

 

Наборы команд SIMATIC и МЭК1131-3

Большинство ПЛК используют  похожие команды, но обычно имеются некоторые  различия в их внешнем виде, действии и т.д. в зависимости от поставщика. В течение последних нескольких лет Международная электротехническая комиссия (МЭК) разработала всеобщий стандарт, который относится ко многим аспектам программирования ПЛК. Этот стандарт поощряет различных изготовителей ПЛК предлагать команды, являющиеся одинаковыми и по внешнему виду, и по действию. Ваш ПЛК предлагает два набора команд, позволяющих решать широкий спектр задач автоматизации: набор команд МЭК, соответствующий стандарту МЭК1131-3 для программирования ПЛК, и набор команд SIMATIC, разработанный специально для ПЛК.

Когда STEP 7-Micro/WIN установлен в режим МЭК, он отображает красный ромб  в дереве команд рядом с командами, которые не определены стандартом МЭК1131-3. Есть несколько ключевых различий между системой команд SIMATIC и системой команд МЭК:

  • Набор команд МЭК ограничивается командами, которые являются стандартными среди поставщиков ПЛК. Некоторые команды, обычно включаемые в систему команд SIMATIC, не являются стандартными командами в спецификации МЭК1131–3. Они доступны для использования как нестандартные команды, но если вы используете их, то программа больше не является строго совместимой с МЭК1131-3.
  • У некоторых команд МЭКв форме блоков возможна работа с несколькими форматами данных. Это свойство часто называют «перегрузкой». Например, вместо того, чтобы иметь отдельные математические блоки ADD_I (сложение целых чисел) и ADD_R (сложение вещественных чисел), команда ADD стандарта МЭК1131–3 проверяет формат складываемых данных и автоматически выбирает правильную команду ПЛК. Это может несколько сэкономить затраты времени на программирование.
  • Когда вы используете команды МЭК, параметры команды автоматически проверяются на правильность формата данных, например, целое со знаком вместо целого без знака. Например, если вы попытались ввести целочисленное значение для команды,  которая ожидала битовое значение (вкл/выкл), то происходит ошибка. Это свойство помогает минимизировать синтаксические ошибки программирования.

Делая выбор в пользу набора команд SIMATIC или МЭК, примите во внимание следующие особенности:

  • Команды SIMATIC обычно исполняются быстрее. Некоторые команды МЭК могут иметь более длительные времена выполнения. Некоторые команды МЭК, например, таймеры, счетчики, умножение и деление, работают иначе, чем их аналоги в SIMATIC.
  • С набором команд SIMATIC можно использовать все три редактора программ (LAD, STL, FBD). С набором команд МЭК можно использовать только редакторы LAD и FBD.
  • Принцип действия команд МЭК стандартизован для различных марок ПЛК, т.е. программы, удовлетворяющие МЭК, могут разрабатываться независимо от системы автоматизации.
  • Набор команд SIMATIC содержит больше операций, чем определено в стандарте МЭК. Поэтому вы всегда можете включить команды SIMATIC в свою программу с командами МЭК.
  • МЭК1131-3 устанавливает, что переменные должны описываться с указанием типа, и поддерживает проверку типа данных системой.

 

Редакторы языка Step7

Функции редактора STL

Редактор STL отображает программу на языке, имеющем текстовую основу. Редактор STL дает возможность создавать программы управления, вводя мнемонические обозначения команд. В редакторе STL можно создавать программы, которые невозможно создать в редакторе LAD или FBD. Это объясняется тем, что, используя STL, вы программируете на «родном языке» ПЛК, а не в графическом редакторе, в котором имеются некоторые ограничения, чтобы можно было правильно изображать схемы соединений. Как показано ниже, программирование в текстовом редакторе очень похоже на программирование на языках ассемблера.

ПЛК выполняет команды в порядке, определяемом программой, сверху вниз, а затем начинает сначала.

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

Особенности редактора STL:

  • STL лучше всего подходит опытным программистам.
  • STL иногда позволяет решать проблемы, которые вы не можете достаточно легко решить при помощи редактора LAD или FBD.
  • Можно использовать редактор STL только с системой команд SIMATIC.
  • Можно использовать редактор STL для просмотра или редактирования программы, созданной с помощью редактора LAD или FBD, обратное не всегда возможно.

Функции редактора LAD

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

Логика подразделяется на сегменты. Программа исполняется сегмент за сегментом слева направо и сверху вниз. На рисунке показан пример программы в виде цепной логической схемы. Различные команды представляются графическими символами, имеющими три основные формы.

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

Особенности редактора LAD:

  • Цепная логическая схема проста в использовании для начинающих программистов.
  • Графическое представление легко понимается и популярно во всем мире.
  • Редактор LAD можно использовать и с системой команд SIMATIC, и с системой команд МЭК 1131–3.
  • Для отображения программы, созданной при помощи редактора SIMATIC LAD, всегда можно использовать редактор STL.

Функции редактора FBD

Редактор функционального плана FBD отображает программу в виде графического представления, напоминающего обычные логические схемы. Нет никаких контактов и катушек, как в редакторе LAD, но имеются эквивалентные функциональные блоки.

Ниже представлен пример программы на языкеFBD.

FBD не использует понятия левой и правой токовой шины; поэтому понятие «поток сигнала» выражает аналогичное понятие потока управления через логические блоки FBD.

По этой причине путь состояния «1» через элементы FBD называется потоком сигнала. Происхождение потока сигнала и место назначения его выхода ставятся в соответствие непосредственно операнду. Логика программы вытекает из связей между функциональными блоками, обозначающими команды. Т.е. выход одной команды (например, блок логического И (AND)) может быть использован для разблокирования другой команды (например, таймера), формируя необходимую логику управления. Эта концепция позволяет решать широкий спектр задач управления.

Особенности редактора FBD:

  • Графическое представление функционального плана хорошо отражает процесс выполнения программы.
  • Редактор FBD можно использовать и с системой команд SIMATIC, и с системой команд МЭК 1131–3.
  • Для отображения программы, созданной при помощи редактора SIMATIC FBD, всегда можно использовать редактор STL.

Основные элементы программы Step7

Программный блок состоит из исполняемого кода и комментариев. Исполняемый код состоит из основной программы (OB1), а также подпрограмм и программ обработки прерываний. Код компилируется и загружается в ПЛК. Комментарии не компилируются и не загружаются. С помощью этих организационных элементов (основной программы, подпрограмм и программ обработки прерываний) вы можете структурировать свою управляющую программу.

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

Основная программа

Эта основная часть программы содержит команды, управляющие вашим приложением. ПЛК выполняет эти команды последовательно и однократно в каждом цикле. Основная программа называется также OB1.

Подпрограммы

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

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

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

Программы обработки прерываний

Эти необязательные элементы программы реагируют на определенные прерывающие события. Программа обработки прерываний проектируется для обработки заранее определенных прерывающих событий. ПЛК исполняет программу обработки прерываний, когда возникает соответствующее событие.

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

Так как невозможно предсказать, когда ПЛК сгенерирует прерывание, то желательно ограничить количество переменных, используемых как в программе обработки прерываний, так и в других местах программы.

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

 

Другие элементы программы

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

Системный блок

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

Блок данных

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