Рис.13. Временные диаграммы работы таймера
Возрастающий счётчик
Счётчик – программный элемент, предназначенный для подсчёта событий при выполнении программы и запуска необходимых действий, когда произойдет заданное число этих событий. Адрес счётчика записывается в виде буквы C с номером (0…255), например С10, С12 и т.д. На рис.14 показан вид элемента S_CU (возрастающий счётчик) с пояснением назначения входов и выходов и типа данных на входах и выходах. Данный счётчик, а также другие виды счётчиков находятся в папке Counter библиотеки элементов.
Рис.14. Элемент «возрастающий счётчик».
Предустановленное значение задаётся с помощью переменной типа Word (в которую предварительно записывается необходимое значение) или с помощью константы (например, C#20 – значение 20, C#1 – значение 1). Если на входе S будет положительный фронт сигнала (установка счётчика), и при этом на входе CU сигнал 0, то текущее значение счётчика становится равным предустановленному значению. Если при установке счётчика на входе CU сигнал 1, то текущее значение счётчика становится равным предустановленному значению плюс единица.
При каждом положительном фронте сигнала на входе CU текущее значение счётчика увеличивается на 1 (текущее значение не может возрастать более 999). Если текущее значение счётчика больше нуля, то на выходе Q будет сигнал 1, а если текущее значение счётчика равно нулю, то на выходе Q будет сигнал 0.
Заготовка для создания проекта в Step-7 Lite
При выполнении лабораторной работы требуется создать новый проект. Рекомендуется использовать для создания нового проекта проект-заготовку, в котором уже настроены все необходимые параметры соединения с контроллером для загрузки программы, описана аппаратная конфигурация системы, а также есть несколько полезных программных блоков. Проект-заготовка называется Step7_Empty. Перед началом работы его следует открыть и сохранить под другим именем, после чего можно приступать к написанию программы.
Проект заготовка имеет таблицу переменных, которые можно использовать при выполнении лабораторной работы (рис.15).
Рис.15. Таблица переменных проекта-заготовки
В первом блоке проекта-заготовки Network 1 (рис.16) определяется значение логической переменной FirstScan. Данная переменная получает значение 1 в первом цикле сканирования (при запуске программы) и значения 0 во всех последующих циклах сканирования. Её можно использовать для выполнения однократных действий в самом начале работы контроллера.
Второй блок Network 2 (рис.16) используется для преобразования кода аналогового входа R в величину напряжения в вольтах. Результат записывается в переменную Uin, которая может использоваться далее в программе.
Третий блок Network 3 (рис.16) используется для преобразования вещественной переменной Uout (куда предварительно должно быть записана величина напряжения в вольтах) в код который выводится на аналоговый выход H.
Четвертый блок Network 4 (рис.16) преобразует величину времени в секундах (переменная NumSec) в формат S5Time (переменная TimeS5).
Рис.16. Программные блоки проекта-заготовки
Загрузка проекта Step-7 в контроллер.
Управление режимом работы контроллера
Для загрузки проекта, созданного в среде Step-7 Lite, в контроллер необходимо включить питание контроллера (перевести переключатель на блоке питания в верхнее положение). В результате должен загореться светодиод DC 24 V на блоке питания, а также светодиоды DC 5V и STOP на процессорном модуле CPU-313C (переключатель режимов на процессорном модуле находится в положении STOP). Затем необходимо установить соединение компьютера с контроллером с помощью кнопки Connect Online (см. рис.17). Появится сообщение о том, что соединение установлено. На панели связи с контроллером в среде Step-7 Lite загорится индикатор режима STOP (см. рис.17). Окно проекта переключится на страницу Online CPU где показываются модули проекта уже загруженные в контроллер. Если загруженный модуль не соответствует одноименному модулю проекта, то это показывается специальным значком (см. рис.17).
Рис.17. Фрагмент рабочей среды Step-7 Lite
после установления связи с контроллером
Загружать в контроллер можно как все модули проекта сразу, так и отдельные модули. Для загрузки отдельного модуля (например модуля OB1) по его названию на странице Online CPU следует выполнить щелчок правой кнопкой мыши и в открывшемся меню выбрать команду Download to CPU (см. рис.18).
Рис.18. Загрузка модуля OB1 в контроллер
Для загрузки всех файлов проекта можно воспользоваться кнопкой Download (см.рис.17). После щелчка по этой кнопке появится окно Download to CPU (рис.19). Далее можно выбрать необходимые модули для загрузки (или все модули, щелкнув мышью по кнопке All) и запустить процесс загрузки с помощью кнопки Upload.
Рис.19. Окно загрузки проекта
После загрузки модулей проекта в контроллер на странице Online CPU специальный значок (2 зеленых квадрата) показывает, что загруженный модуль совпадает одноименным с модулем проекта (см. рис.20). После этого можно запускать программу контроллера на выполнение, для чего контроллер необходимо переключить из режима STOP в режим RUN (переключатель на передней панели процессорного модуля переводится в верхнее положение, гаснет светодиод STOP, загорается светодиод RUN). На панели связи с контроллером в среде Step-7 Lite также происходит переключение индикаторов (см. рис.20).
Рис.20. Фрагменты рабочей среды Step-7 Lite
после окончания загрузки проекта и переключения в режим RUN
Если в дальнейшем потребуется частое переключение контроллера из режима RUN в режим STOP, то лучше не использовать переключатель на контроллере, а переключаться из рабочей среды Step-7 Lite с помощью кнопок RUN и STOP (при этом переключатель на контроллере должен всё время находиться в положении RUN).
Основы работы с пакетом WinCC Flexible
Пакет WinCC Flexible предназначен для программирования HMI-панелей фирмы Siemens, в частности сенсорной панели TP177A. На рис.21 показаны основные окна среды разработки WinCC.
Проектирование интерфейса HMI-панели заключается в размещении на главном экране необходимых объектов и установке свойств этих объектов. Если на главном экране разместить какой-либо объект и выделить его, то в окне свойств будут отображаться свойства этого объекта. Окно свойств состоит из нескольких страниц: General (основные свойства), Properties (свойства внешнего вида), Events (события) и т.д. Из окон проекта главным образом будут использоваться Main Screen (главный экран) и Tags (тэги).
Тегом называется переменная, имеющая имя и тип данных, связанная с определённым объектом. Теги бывают внешние и внутренние. Внешний тег связан с определённой областью памяти контроллера, связанного с HMI-панелью, и предназначен для обмена информацией между контроллером и HMI-панелью. Внутренний тег используется только внутри проекта HMI-панели и не имеет связи с памятью контроллера.
Каждый тэг имеет следующие свойства – Name (имя – задаётся по усмотрению программиста), Connection (соединение – для внешних тегов в это свойство задаётся имя соединения между контроллером и HMI-панелью, например Connection_1; для внутренних тегов задаётся Internal Tag), Data type (тип данных, например Bool, Int, Word и т.д.), Address (адрес в памяти контроллера – только для внешних тегов), Acquisition Time (время обновления – только для внешних тегов; это время через которое HMI-панель обновляет значение тега, связываясь с контроллером).
Рис.22. Пример таблицы тэгов.
Некоторые объекты не имеют тегов. Они выполняют информационно-декоративную роль и предназначены для отображения на экране панели неизменного текста и графических изображений. К графическим объектам относятся объекты Line (линия), Ellipse (эллипс), Cycle (круг) и Rectangle (прямоугольник). Для вывода текстовых надписей можно использовать объект Text Field. В окне свойств перечисленных объектов можно установить их необходимый вид (задать точные координаты их расположения на экране, установить толщину линий, цвет заливки, размер шрифта и т.д.).
Рис.23. Примеры объектов текстово-графического оформления экрана
Рассмотрим объекты, используемые для ввода и вывода данных.
Объект Switch (переключатель) имеет вид прямоугольной кнопки (рис. 24), которая может находиться в двух состояниях – нажатом и отжатом. Переключение осуществляется прикосновением к соответствующей области панели (сенсорное воздействие). Основными свойствами объекта Switch (далее рассматриваем только переключатели с текстовыми надписями) являются: Text ON (текст выводимый на переключателе в нажатом состоянии), Text OFF (текст выводимый на переключателе в отжатом состоянии), Tag (имя тега – обычно это логическая переменная, тэг должен быть предварительно описан в таблице), Value ON (значение тэга во включенном состоянии – для логического тэга это значение 1).