Создание программы в OB1
В STEP 7 программы S7 создаются на стандартных языках программирования: контактный план (LAD), список операторов (STL) или функциональный план (FBD), рисунок 54. На практике необходимо решить, какой язык использовать.
Рис. 54 Стандартные языки программирования
Блок OB1 теперь откроется в соответствии с языком, который вы выбрали при создании блока в мастере проекта. Однако вы можете в любое время изменить язык программирования, установленный по умолчанию.
Копирование таблицы символов и открытие OB 1
Для копирования таблицы символов необходимо открыть свой проект "Getting Started". Для этого щелкните на кнопке Open [Открыть] на панели инструментов, выберите проект "Getting Started", который был создан, и подтвердите с помощью OK.
В зависимости от того, какой язык программирования решено использовать, откройте один из следующих проектов:
- zEn01_06_STEP7__LAD_1-9;
- zEn01_02_STEP7__STL_1-9;
- zEn01_04_STEP7__FDB_1-9.
В методических указаниях приведены все три примера проектов. Необходимо открыть „zEn01_XXX“ и достигнуть компонент Symbols [Символы]. Далее студент может скопировать его с помощью буксировки в папку S7 Program в окне своего проекта "Getting Started". Затем окно „zEn01_XXX“ закрывается. Дважды щелкнув на OB 1 в проекте "Getting Started" и откроется окно для программирования LAD/STL/FBD.
Буксировка означает, что вы щелкаете мышью на любом объекте и перемещаете его, удерживая кнопку мыши нажатой. Когда вы отпускаете кнопку мыши, объект вставляется в выбранной позиции. В STEP 7 OB 1 обрабатывается CPU циклически. CPU читает и исполняет строку за строкой команды программы. Когда CPU возвращается к первой строке программы, он завершает ровно один цикл. Время, необходимое для этого, называется временем цикла сканирования. Все блоки программируются в окне LAD/STL/FBD.
Рис. 55 Окно для программирования LAD/STL/FBD
Программирование ОВ 1 в виде контактного плана
Далее рассмотрим примеры программирования последовательной, параллельной цепи и функцию памяти SR (установка / сброс) в виде контактного плана (LAD).
Программирование последовательной цепи в контактном плане. Если необходимо, установите LAD в качестве языка программирования в меню View [Вид]. Щелкните в области заголовка (title) OB1 и введите, например, "Циклически обрабатываемая главная программа". Выберите путь тока для своего первого элемента. Щелкните на этой кнопке на панели инструментов и вставьте нормально открытый контакт (рис.56).
Рис. 56 Последовательная цепь в контактном плане
Таким же образом вставьте второй нормально открытый контакт. Вставьте катушку у правого конца пути тока. В этой последовательной цепи пока отсутствуют адреса нормально открытых контактов и катушки. Проверьте, активизировано ли символическое представление (Symbolic Representation).
Щелкните на знаке ??.? и введите символическое имя "Key_1 [Ключ_1]" (в кавычках). Подтвердите, нажав Enter. Введите символическое имя "Key_2 [Ключ_2]" для второго нормально открытого контакта. Введите имя "Green_Light [Зеленый_свет"] для катушки. Теперь запрограммирована вся последовательная цепь. Сохраните блок, если отсутствуют символы, выделенные красным цветом. Символы отображаются красным цветом, если, например, они отсутствуют в таблице символов, или если имеет место синтаксическая ошибка (рис.57).
Вы можете также вставить символическое имя непосредственно из таблицы символов. Щелкните на знаке ??.?, а затем выберите команду меню Insert >Symbol [Вставить > Символ]. Просматривайте прокручиваемый список, пока не достигнете соответствующего имени, и выберите его. Символическое имя добавляется автоматически.
Рис. 57
Для программирования параллельной цепи в контактном плане выделите Network 1 [Сегмент 1]. Вставьте новый сегмент. Снова выберите путь тока. Вставьте нормально открытый контакт и катушку. Выделите вертикальную линию в пути тока. Вставьте параллельную ветвь. Добавьте еще один нормально открытый контакт в параллельной ветви. Закройте ветвь (если необходимо, выберите нижнюю стрелку). В параллельной цепи все еще отсутствуют адреса. Для назначения символических адресов действуйте так же, как и для последовательной цепи.
Напишите у верхнего нормально открытого контакта "Key_3 [Ключ_3]", у нижнего контакта "Key_4 [Ключ_4]", а у катушки "Red_Light [Красный_свет]" Сохраните блок.
Рис. 58 Параллельная цепь в контактном плане
Для программирования функции памяти в контактном плане выделите Network 2 [Сегмент 2] и вставьте еще один сегмент (рис.59). Снова выделите путь тока. Перемещайтесь в каталоге элементов программы в разделе Bit Logic [Двоичная логика], пока не достигнете элемента SR. Дважды щелкните, чтобы вставить этот элемент. Вставьте нормально открытый контакт перед каждым из входов S и R. Введите следующие символические имена перед элементом SR:
- Верхний контакт "Automatic_On
- [Автоматический_режим_включен]"
- Нижний контакт "Manual_On
- [Ручной_режим_включен]"
- Элемент SR "Automatic_Mode
- [Автоматический_режим]".
Сохраните блок и закройте окно.
Рис. 59 Функция памяти в контактном плане
Программирование ОВ1 в виде списка операторов
Для программирования команды AND [И] в списке операторов необходимо, установите STL в качестве языка программирования в меню View [Вид]. Проверьте, активизировано ли символическое представление (Symbol Representation). Щелкните в области заголовка (title) OB 1 и введите, например, "Циклически обрабатываемая главная программа". Выберите область для своего первого оператора. Напечатайте A (AND) в первой строке программы, пробел, а затем символическое имя "Key_1 [Ключ_1]" (в кавычках). Завершите строку нажатием Enter. Курсор переходит на следующую строку (рис.60).
Рис. 60 Программирование команды AND
Таким же образом завершите команду AND [И], как показано слева. Теперь вы запрограммировали всю команду AND. Сохраните блок, если в нем больше нет символов, выделенных красным цветом.
Для программирования команды OR [ИЛИ] в списке операторов символы отображаются красным цветом, если, например, они отсутствуют в таблице символов, или если имеет место синтаксическая ошибка. Вы можете также вставить символическое имя непосредственно из таблицы символов. Щелкните на знаке ??.?, а затем выберите команду меню Insert > Symbol [Вставить > Символ]. Просматривайте прокручиваемый список, пока не достигнете соответствующего имени, и выберите его. Символическое имя добавляется автоматически (рис.61).
Рис. 61 Программирование команды OR
Выделите Network 1 [Сегмент 1]. Вставьте новый сегмент и снова выберите область ввода. Введите O (OR) и символическое имя "Key_3 [Ключ_3]" (так же, как для команды AND). Закончите команду OR и сохраните ее.
Для программирования функции памяти в списке операторов выделите Network 2 [Сегмент 2] и вставьте еще один сегмент. В первой строке напечатайте команду A с символическим именем "Automatic_On [Автоматический_режим_включен]". Завершите функцию памяти и сохраните ее. Закройте блок (рис.62).
Рис. 62 Программирование функции памяти
Если вы хотите увидеть разницу между абсолютной и символической адресацией (рис.63), деактивизируйте команду меню View > Display > Symbolic Representation [Вид > Отображение > Символическое представление].
Рис. 63
Дополнительную информацию вы можете найти с помощью команды меню Help > Contents [Помощь > Содержание] в разделах "Programming Blocks [Программирование блоков]", "Creating Logic Blocks [Создание логических блоков]" и "Editing STL Statements [Редактирование операторов STL]".
Программирование ОВ1 в виде функционального плана
Для программирование функции AND [И] в функциональном плане необходимо, установите FBD в качестве языка программирования в меню View [Вид]. Щелкните в области заголовка (title) OB 1 и введите, например, "Циклически обрабатываемая главная программа". Выберите область ввода для функции AND (под полем комментария). Вставьте блок AND (&) и присваивание (=). Адреса элементов в функции AND все еще отсутствуют (рис.64). Проверьте, активизировано ли символическое представление (Symbol Representation).
Рис. 64 ОВ1 в виде функционального плана
Рис. 65
Щелкните на знаке ??.? и введите символическое имя "Key_1 [Ключ_1]" (в кавычках). Подтвердите, нажав Enter. Введите символическое имя "Key_2 [Ключ_2]" для второго входа. Введите имя "Green_Light [Зеленый_свет]" для присваивания. Теперь запрограммирована вся функция AND. Если отсутствуют символы, выделенные красным цветом, можете сохранить блок. Символы отображаются красным цветом, если, например, они отсутствуют в таблице символов, или если имеет место синтаксическая ошибка. Можете также вставить символическое имя непосредственно из таблицы символов. Щелкните на знаке ??.?, а затем выберите команду меню Insert > Symbol [Вставить > Символ]. Просматривайте прокручиваемый список, пока не достигнете соответствующего имени, и выберите его. Символическое имя добавляется автоматически.