Реферат: Ельцина Кафедра «Электронное машиностроение» - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

Ельцина Кафедра «Электронное машиностроение»

Остальные рефераты » Ельцина Кафедра «Электронное машиностроение»

ГОУ ВПО Уральский государственный технический университет – УПИ имени первого Президента России Б.Н. Ельцина


Кафедра «Электронное машиностроение»


Программирование контроллера Simatic S7-300


Программирование панели

человеко-машинного интерфейса TP-177A


Методические указания

к лабораторным работам

по дисциплине «Технические средства автоматизации»

для студентов специальности

«Автоматизация технологических процессов и производств»


Екатеринбург 2008

Описание лабораторного стенда


Лабораторный стенд выполнен на базе оборудования промышленной автоматизации фирмы Siemens (Германия) и включает в себя программируемый контроллер Simatic S7-300 CPU 313C, сенсорную HMI-панель1 TP-177A, персональный компьютер, адаптер интерфейсов USB-MPI и панель имитатора объекта управления.




Рис.1. Функциональная схема лабораторного стенда


Контроллер состоит из блока питания PS-307 и процессорного модуля CPU-313C, имеющего встроенные входы и выходы. Блок питания преобразует напряжение электрической сети 220 В переменного тока в напряжение 24 В постоянного тока, используемое для питания контроллера, HMI-панели, а также элементов имитатора объекта управления. На передней панели блока питания находится выключатель.

Всего модуль CPU-313C имеет 24 дискретных входов, 16 дискретных выходов, 5 аналоговых входов и 2 аналоговых выхода. В лабораторных работах используется 3 дискретных входа (условно обозначим их A, B и С), 3 дискретных выхода (условно обозначим их X, Y и Z), 1 аналоговый вход (условно обозначим его R) и 1 аналоговый выход (условно обозначим его H). Дискретные логические сигналы (0/24 В) подаются на входы A, B, C от трёх переключателей П1, П2, П3 соответственно. Дискретные логические сигналы (0/24 В) с выходов X, Y, Z управляют лампами Л1, Л2, Л3 соответственно. Аналоговый сигнал (0…10 В) приходит на вход R от реостата Р. Аналоговый сигнал (0…10 В) с выхода H управляет микродвигателем постоянного тока Д.

HMI-панель получает питание (24 В) от блока PS-307 через отдельный тумблер (расположен ниже панели). Панель может как отображать информацию о работе управляемого объекта, так и использоваться в качестве задающего устройства. На экране HMI-панели могут программироваться сенсорные кнопки, чувствительные к прикосновению, с помощью которых оператор системы может подавать в контроллер управляющую информацию.

Контроллер и HMI-панель взаимодействуют друг с другом, через последовательный интерфейс MPI (выполненный на базе электрического интерфейса RS-485). Интерфейс MPI является многоточечным, поэтому к общей шине RS-485 кроме контроллера и HMI-панели можно подключить третье устройство. Таким устройством в лабораторном стенде является персональный компьютер, который используется как программатор контроллера и HMI-панели (поскольку компьютер не имеет интерфейса MPI, он подключается через адаптер USB-MPI).

Для разработки и загрузки программ на компьютере установлено необходимое программное обеспечение – пакет Step-7 Lite (для программирования контроллеров Simatic S7-300) и пакет WinCCFlexible (для программирования HMI-панелей, в частности панели TP-177A).


Среда программирования Step-7 Lite


Проект в Step-7 Lite состоит из собственно программы контроллера и набора различных параметров, связанных с его работой. В среде Step-7 Lite можно создать новый проект или открыть существующий проект (на рис.2 показан вид рабочей среды Step-7 Lite с открытым проектом).

Окно проекта (см.рис.2) содержит ссылки на несколько страниц, в частности Hardware (страница аппаратной конфигурации системы), SymbolTable (страница описания переменных программы), Program – папка модулей программы. На рис.2 в этой папке содержится только один модуль OB1 – это основной программный модуль, который выполняется контроллером циклически. Один цикл работы контроллера, включающий в себя считывание входных сигналов, выполнение модуля OB1 и установку выходных сигналов, называется циклом сканирования. Время цикла сканирования зависит от сложности программы и обычно составляет от нескольких миллисекунд до нескольких десятков миллисекунд.

На рис.2 показано открытое окно программы (модуля OB1). В лабораторных работах программы будут разрабатываться на языке LadderLogic (лестничная логика). Элементы для составления программы находятся в окне библиотеки элементов и могут перетаскиваться в окно программы с помощью мыши.


Основное меню и кнопки управления

Окно связи с

контроллером

Окно программы

Окно проекта

Окно библиотеки элементов

Рис.2. Среда программирования Step 7 Lite

Типы данных и адресация памяти контроллера


Память данных контроллера разделяется на несколько областей. Входная память (I-память) связана с дискретными входами контроллера. В каждом цикле сканирования контроллер автоматически считывает состояния своих дискретных входов и записывает информацию о них во I-память. Выходная память (Q-память) связана с дискретными выходами контроллера. В каждом цикле сканирования контроллер автоматически устанавливает состояния выходных ключей в соответствии с информацией записанной в Q-памяти. Каждому дискретному входу (выходу) соответствует отдельная ячейка входной (выходной) памяти ёмкостью 1 бит. Такой тип данных называется логическим (в Step-7 он называется типом Bool). В таблице 1 приведены адреса битовых ячеек памяти, соответствующих дискретными входам и выходам, которые используются в лабораторном стенде.


Таблица 1

Условное обозначение входа (выхода) Адрес в памяти контроллера
A I125.3
B I125.4
C I125.5
X Q125.0
Y Q125.1
Z Q125.2

Структура адреса битовой ячейки, в которой хранятся данные типа Bool, следующая – сначала записывается буква, обозначающая область памяти, затем номер байта этой области (байты нумеруются с нуля), точка и номер бита в данном байте (биты также нумеруются с нуля, поэтому номер бита может быть 0…7).

Для хранения промежуточных данных не связанных непосредственно с входами м выходами контроллера можно использовать M-память. Принцип адресации отдельных битов M-памяти такой же как Q-памяти и I-памяти (например, M0.0, M0.1 и т.д.).

Кроме типа Bool используются и более сложные типы данных. Тип Byte занимает 1 байт памяти, данные этого типа представляют собой целые числа в диапазоне 0…255. Для адресации отдельных байтов памяти записывается буква области памяти, затем буква B (говорящая о том, что адресуется 1 байт) и номер байта – например (MB0, MB1, MB2 и т.д.).

Тип Word представляет собой двухбайтное целое число в диапазоне 0…65535. Вторая буква в адресе для такого типа будет W, а число представляет собой адрес первого байта из двух – например, MW10 адресует данные типа Word, которые расположены в байтах 10 и 11 M-памяти.

Тип Int представляет собой двухбайтное целое число со знаком в диапазоне –32768…32767. Адресуется также как тип Word (например, MW0, MW2, MW4 и т.д.). Следует помнить, что данные типов Word и Int не всегда совместимы друг с другом.

Типы Dword и Dint представляет собой четырехбайтное целое число без знака и со знаком соответственно. Для адресации четырёх байтов памяти второй буквой в адресе записывается D, а номер указывает на первый из четырёх байтов (например, MD0, MD4, MD8 и т.д.).

Тип Real представляет собой вещественное число (записанное в формате с плавающей точкой) и занимающее в памяти 4 байта. Адресация данных типа Real такая же, как типов Dword и Dint (например по адресу MD12 может находиться число любого из 4-байтных типов, занимающее байты 12, 13, 14, 15).

Аналоговый вход принимает аналоговый сигнал (напряжение 0…10 В), который подаётся на аналого-цифровой преобразователь, формирующий двухбайтный код типа Int. Этот код записывается в PI-память. Адрес двухбайтной ячейки памяти, связанной с аналоговым входом R – PIW752. Аналоговый выход получает выходной сигнал (напряжение 0…10 В) от цифро-аналогового преобразователя, на входе которого двухбайтный код типа Int. Этот код берется из PQ-памяти. Адрес двухбайтной ячейки памяти, связанной с аналоговым выходом H – PQW752.

В Step-7 возможна символическая адресация, т.е. вместо записи адреса можно записывать связанное с этим адресом имя (выбираемое по усмотрению программиста). Для установления связи имен и адресов заполняется таблица Symbol Table (рис.3)



Рис.3. Пример таблицы Symbol Table.


Программирование логических выражений и триггеров


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


Рис.4. Программирование логического выражения


Каждый контакт связан со своей переменной типа Bool. Значение этой переменной определяет состояние контакта. Нормальное состояние контакта – это состояние, когда его переменная равна логическому нулю. Когда переменная контакта равна логической единице, состояние контакта противоположно нормальному. Катушка одним выводом подключается к контактной схеме, а другим – к «земле», т.е. точке с нулевым потенциалом. В зависимости от состояния контактов на катушке может оказаться высокое или низкое напряжение. Соответственно переменной катушки (тоже типа Bool) будет присвоено значение логической единицы или логического нуля.

При составлении схемы удобно использовать кнопки, расположенные в верхней части экрана рабочей среды Step-7 (рис.5). Обратите внимание на кнопки Branch Open и BranchClosed. С их помощью можно создавать параллельные ветви схемы. Для удаления какой-либо части схемы её необходимо выделить с помощью мыши и нажать Delete.



Рис.5. Кнопки для составления лестничной схемы.


Для вставки нового блока Network используйте команду Insert Network, которую можно запустить из меню, появляющегося при щелчке правой кнопкой мыши. Чтобы удалить весь блок Network выделите слово Network щелчком мыши и нажмите Delete.

На рис.6 показан пример использования элемента Not, который позволяет выполнить инверсию всего логического выражения.

Для программирования RS-триггера используются включающая и выключающая катушки (рис.7).



Рис.6. Программирование логического выражения


Рис.7. Пример программировании RS-триггера


Катушка установки (S-катушка) при подаче на неё высокого уровня напряжения установит свою переменную в единицу (S-катушка может только устанавливать в единицу, но не может сбрасывать в ноль). Катушка сброса (R-катушка) при подаче на неё высокого уровня напряжения сбросит свою переменную в ноль (R-катушка может только сбрасывать в ноль, но не может устанавливать в единицу). Применение S-катушки и R-катушки для одной и той же переменной позволяет реализовать RS-триггер. Так в примере на рис.7 переменная Z будет установлена в 1 если хотя бы одна их переменных A или B равна 1, и будет сброшена в ноль, если переменная С равна единице. Если же одновременно выполняются условия сброса и установки, то приоритетнее окажется тот блок Network, который расположен ниже. Если в примере на рис.7 A=1 и C=1, то переменная Z будет сброшена в ноль.


Рис.8. Пример использования детекторов

положительного и отрицательного фронта


Детектор положительного фронта (P) левым выводом подключается к контактной схеме, а правым – к катушке. Переменная детектора хранит значение сигнала на левом выводе, которое было в предыдущем цикле сканирования. Если в текущем цикле на левом выводе 1, а в предыдущем был 0, то это называется положительным фронтом сигнала. В этом случае на правом выводе будет установлена 1 (но только в одном цикле, когда произошел переход входного сигнала из 0 в 1). Детектор отрицательного фронта (N) устанавливает выходной сигнал в 1, если происходит переход входного сигнала из 1 в 0 (единица на выходе также сохраняется только на 1 цикл).


Элементы сравнения


Элементы сравнения расположены в папке Comparator библиотеки элементов. Каждый элемент сравнения имеет логический вход, два входа сравниваемых величин и один логический выход. Элементы сравнения делятся по виду выполняемой операции: EQ – элемент, проверяющий равенство, NE – элемент, проверяющий неравенство, GT – элемент, проверяющий условие «больше», LT – элемент, проверяющий условие «меньше», GE – элемент, проверяющий условие «больше или равно», LE – элемент, проверяющий условие «меньше или равно». Элементы сравнения также делятся по типу сравниваемых данных: I – для данных типа Int, D – для данных типа Dint, R – для данных типа Real.


Рис.9. Пример использования элемента сравнения.

Так например (рис.9), элемент GE_I – это элемент, проверяющий условие «больше или равно» для данных типа Int. Логический вход используется для активизации элемента (если он подключен непосредственно к линии высокого уровня сигнала, то сравнение осуществляется в каждом цикле сканирования). На логическом выходе появляется результат сравнения – 0, если условие ложно и 1, если оно истинно. В примерен на рис.9 логическая переменная, находящаяся по адресу M5.6 получит значение 1, если переменная типа Int, находящаяся по адресу MW26 имеет значение большее или равное 20 (в противном случае M5.6 получит значение 0).


Пересылка данных и преобразование типов


Для пересылки данных используется элемент Move. Этот элемент имеет логические вход и выход, вход источника данных и выход приёмника данных. На вход источника данных может подключаться переменная или константа, а на выход приёмника данных только переменная. Операция пересылки происходит при условии, что на логический вход приходит сигнал 1. Если операция выполнена, то 1 появляется на логическом выходе. Таким образом, элементы Move можно соединять по цепочке, они будут выполняться слева направо.


Рис.10. Пример пересылки данных и преобразования типов


В примере на рис.10 целочисленной переменной с адресом MW2 присваивается значение 23, а вещественной переменной с адресом MD10 присваивается значение –1,2. Также рис.10 показывает пример преобразования типов. Элемент Round округляет вещественное число (переменная MD14 типа Real) до ближайшего целого. Результат записывается в переменную MD50 типа Dint. Следующий элемент Move выполняет преобразование типа Dint (переменная MD50) в тип Int (переменная MW0).

Различные элементы преобразования типов находятся в папке Converter библиотеки элементов.


Арифметические операции


Элементы арифметических операций находятся в папках библиотеки элементовIntegerfct. (для целых чисел) и Floatingpointfct. (для вещественных чисел). В число этих элементов входят: ADD – элемент сложения, SUB – элемент вычитания, MUL – элемент умножения, DIV – элемент деления. Также в обозначении элемента присутствует буква, обозначающая тип данных для аргументов операции: I – тип Int, DI – тип Dint, R – тип Real. Перечисленные элементы имеют 2 входа для аргументов операции и 1 выход для результата, а также логический вход и логический выход (назначение логических входа и выхода такое же как у элемента Move). На рис.11 показан пример арифметической операции с целыми числами.


Рис.11. Пример выполнения арифметической операции

с целыми числами:


Таймер с задержкой включения


Таймер – программный элемент, предназначенный для реализации временных задержек при выполнении программы. Адрес таймера записывается в виде буквы T с номером таймера (0…255), например Т101, Т102 и т.д. На рис.12 показан вид элемента S_ODT (таймер с задержкой включения) с пояснением назначения входов и выходов и типа данных на входах и выходах. Данный таймер, а также другие виды таймеров находятся в папке Timers библиотеки элементов.

Время, которое будет отсчитывать таймер, задаётся на входе TV константой специального типа S5Time (например, S5T#2S – время 2 секунды, S5T#5S500МS – время 5 секунд, 500 мс или 5,5 секунд).




Рис.12. Элемент «таймер с задержкой включения».


Входы S,R и выход Q предназначены для логических сигналов. В исходном состоянии на выходе Q сигнал 0 (таймер сброшен). Таймер активизируется (начинает отсчёт времени) при условии положительного фронта сигнала (переход от 0 к 1) на входе S при условии, что на входе R сигнал 0. Отсчет времени продолжается при том же условии (на входе S – 1, на входе R – 0). Когда таймер отсчитает заданное время, сигнал на выходе Q станет равным 1 (таймер установлен). Сброс таймера происходит в следующих случаях. Когда сигнал на входе S станет равным нулю, сигнал на выходе Q также станет равным нулю (причём без задержки по времени). Также сброс произойдет если на вход R придёт сигнал 1, причём если затем сигнал на входе R снова станет равным нулю, а сигнал на входе S остаётся равным 1, то таймер не активизируется, т.к. не было положительного фронта на входе S. Если сигнал на входе S станет равным 0 (или сигнал на входе R станет равным 1), когда таймер активен и производит отсчёт времени, то он переходит в неактивное состояние, отсчёт времени прекращается, на выходе Q остаётся сигнал 0. Работу таймера поясняют временные диаграммы (рис.13).




Рис.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


Пакет WinCCFlexible предназначен для программирования HMI-панелей фирмы Siemens, в частности сенсорной панели TP177A. На рис.21 показаны основные окна среды разработки WinCC.

Проектирование интерфейса HMI-панели заключается в размещении на главном экране необходимых объектов и установке свойств этих объектов. Если на главном экране разместить какой-либо объект и выделить его, то в окне свойств будут отображаться свойства этого объекта. Окно свойств состоит из нескольких страниц: General (основные свойства), Properties (свойства внешнего вида), Events (события) и т.д. Из окон проекта главным образом будут использоваться MainScreen (главный экран) и Tags (тэги).

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

Каждый тэг имеет следующие свойства – Name (имя – задаётся по усмотрению программиста), Connection (соединение – для внешних тегов в это свойство задаётся имя соединения между контроллером и HMI-панелью, например Connection_1; для внутренних тегов задаётся Internal Tag), Datatype (тип данных, например Bool, Int, Word и т.д.), Address (адрес в памяти контроллера – только для внешних тегов), AcquisitionTime (время обновления – только для внешних тегов; это время через которое HMI-панель обновляет значение тега, связываясь с контроллером).




Рис.21. Среда разработки проекта WinCC Flexible




Рис.22. Пример таблицы тэгов.


Некоторые объекты не имеют тегов. Они выполняют информационно-декоративную роль и предназначены для отображения на экране панели неизменного текста и графических изображений. К графическим объектам относятся объекты Line (линия), Ellipse (эллипс), Cycle (круг) и Rectangle (прямоугольник). Для вывода текстовых надписей можно использовать объект TextField. В окне свойств перечисленных объектов можно установить их необходимый вид (задать точные координаты их расположения на экране, установить толщину линий, цвет заливки, размер шрифта и т.д.).



Рис.23. Примеры объектов текстово-графического оформления экрана


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

Объект Switch(переключатель) имеет вид прямоугольной кнопки (рис. 24), которая может находиться в двух состояниях – нажатом и отжатом. Переключение осуществляется прикосновением к соответствующей области панели (сенсорное воздействие). Основными свойствами объекта Switch (далее рассматриваем только переключатели с текстовыми надписями) являются: TextON (текст выводимый на переключателе в нажатом состоянии), TextOFF (текст выводимый на переключателе в отжатом состоянии), Tag (имя тега – обычно это логическая переменная, тэг должен быть предварительно описан в таблице), ValueON (значение тэга во включенном состоянии – для логического тэга это значение 1).



Рис.24. Внешний вид объекта Switch


Для объекта Switch можно также установить реакцию на определённые события. Для этого в окне свойств необходимо переключиться на страницу Events. Такими событиями могут быть: Change (изменение значения), Switchon(включение), Switchoff (выключение). Для события (на той же странице Events) выбирается функция обработки события. Рассмотрим, например, функцию IncreaseValue (увеличение значения). Выбрав эту функцию, необходимо установить два её параметра: Tag (имя тега, значение которого будет увеличиваться при наступившем событии), Value (величина, на которую будет увеличено это значение).

Объект Button (кнопка) по своему виду аналогичен объекту Switch, но в отличие от объекта Switch обладает свойством самовозврата (т.е. не фиксируется в нажатом положении). Основные свойства текстовой кнопки: TextOFF – выводимый текст в ненажатом состоянии, TextON – выводимый текст в нажатом состоянии. Кнопка в отличие от переключателя не имеет свойства Tag. Тем не менее, она может воздействовать на значения тегов через события. На странице Events окна свойств кнопки можно установить для различных событий функции их обработки. Обычно обработчик устанавливается для события Click (щелчок). Типичные функции обработки событий для кнопки – DecreaseValue (уменьшить значение), IncreaseValue (увеличить значение), SetValue (установить значение), SetBit (установить бит в единицу), ResetBit (сбросить бит в ноль).

Объект IOField(поле ввода-вывода) также имеет вид прямоугольника с текстом. Рассмотрим использование этого объекта для вывода значения переменной (для этого его свойству Mode необходимо установить значение Output). В свойство Tag записывается имя тэга, значение которого будет отображаться. Свойство FormatType определяет формат вывода (можно выбрать формат Decimal – десятичный, Binary – двоичный и т.д.). Свойство FormatPattern определяет количество символов в выводимом значении (для вещественных значений также положение десятичной точки). Например, если выбрать Format Pattern 999, то это означает трёхзначное число.

Объект Bar (полоса) представляет собой графический индикатор значения переменной (например типа Int, Word, Real) и может использоваться для того, чтобы показать динамику изменения этого значения (рис.25). Объект Bar имеет шкалу и рабочую область. Значение переменной показывается заполнением рабочей области чёрным цветом. Важными свойствами объекта Bar являются Tag (имя тэга связанного с объектом), MaximumValue (максимальное значение шкалы – соответствует заполненной черным цветом рабочей области), MinimumValue (минимальное значение шкалы – соответствует пустой рабочей области). Кроме этого на странице окна свойств Properties /Layout можно изменить свойства ScalePosition (положение шкалы) и BarOrientation (ориентация объекта Bar), а на странице Properties /Scaleможно определить вид шкалы, а также убрать отображение шкалы (сбросив флажок DisplayScale).



Рис.25. Варианты объекта Bar


Создание нового проекта WinCC


Для создания нового проекта в WinCC Flexible предусмотрена команда меню Project /New. Однако при выполнении лабораторных работ эту команду использовать не следует, поскольку заранее подготовлен пустой проект с именем WinCC_Empty (где уде установлены все необходимые настройки соединения между HMI-панелью и контроллером). Поэтому, чтобы начать разработку нового проекта следует открыть проект WinCC_Empty и сохранить его в отдельную папку под другим именем.


Компиляция и загрузка проекта WinCC


После того, как проект разработан в среде WinCC Flexible, его необходимо откомпилировать, то есть преобразовать в код для последующей загрузки в память HMI-панели. Для полной компиляции всего проекта используется команда RebuildAll из меню Project /Compiler(рис.26). Полную компиляцию следует выполнить, когда проект был создан первый раз или когда проект был открыт после работы с другим проектом. Если полная компиляция уже выполнялась, а в проект были внесены изменения, то лучше использовать команду CheckConsistency из того же меню (выполнение которой занимает меньше времени).



Рис.26. Команды меню Compiler


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

Загрузка проекта осуществляется следующим образом. Необходимо включить тумблер питания HMI-панели и дождаться появления стартового меню. Сразу же после его появления необходимо нажать на сенсорную кнопку Transfer. Панель будет ожидать загрузки нового проекта. После этого в WinCC Flexible следует запустить команду меню Project /Transfer /Transfersettings (появится окно, показанное на рис.27). Для запуска процесса загрузки необходимо щелкнуть мышью по кнопке Transfer.

После загрузки проекта на HMI-панели сразу же отобразится главный экран проекта, и проект будет готов к выполнению.



Рис.27. Окно загрузки проекта WinCC


Техника безопасности при выполнении работы


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

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

Самостоятельно включать и выключать питание стенда.

Передвигать оборудование стенда по столу.

Отсоединять любые провода и кабели на стенде.

Запускать на компьютере любые программы, не относящиеся к лабораторным работам.


Задание к лабораторной работе № 1

«Программирование контроллера Simatic S7-300»


Бригаде студентов, выполняющих лабораторную работу, следует:

1. Ознакомиться с общим устройством лабораторного стенда и основами разработки проектов в среде Step-7 Lite.

2. Открыть в Step-7 Lite проект-заготовку Step7_Empty. Создать рабочую папку и сохранить в неё копию проекта Step7_Empty (лучше под другим именем).

3. Разработать проект в соответствии с заданием для определённого номера варианта (указывается преподавателем).

4. Загрузить проект в контроллер (питание стенда включается преподавателем).

5. Проверить работоспособность программы контроллера и её соответствие заданию. Показать результат преподавателю.

6. Ответить на вопросы преподавателя.

7. Обязательно сохранить разработанный проект. Он понадобится для следующей работы.


Вариант 1. При включении переключателя П1 лампы Л1 и Л2 должны попеременно мигать (сначала 3 секунды горит Л1, затем Л1 гаснет и 3 секунды горит Л2, затем Л2 гаснет и 3 секунды горит Л1 и т.д.). При выключении переключателя П1 обе лампы Л1 и Л2 должны погаснуть и больше включаться не должны. При включении переключателя П2 лампа Л3 должна мигать (5 секунд включена, 5 секунд выключена и т.д.). На период включения лампы Л3 должен включаться двигатель – на него подаётся напряжение 2 В плюс напряжение на аналоговом входе R (но не более 8 В). При выключении переключателя П2 лампа Л3 и двигатель должны выключиться и больше включаться не должны.


Вариант 2. При включении переключателя П1 лампа Л1 должна включаться попеременно с двигателем (сначала 2 секунды горит Л1, затем Л1 гаснет и 3 секунды работает двигатель, затем двигатель останавливается и снова 2 секунды горит Л1 и т.д.). При выключении переключателя П1 лампа Л1 и двигатель должны выключиться и больше включаться не должны. При включении одного из переключателей П2 или П3 лампа Л3 должна включиться, а затем погаснуть. Время на которое включается лампа Л3 должно быть равно 5 секундам, если напряжение на аналоговом входе R более 4 вольт, или 3 секундам, если напряжение на аналоговом входе R менее 4 вольт. Когда П1 и П2 будут выключены лампа Л3 должна выключиться и включаться больше не должна.


Вариант 3. При включении переключателя П1 лампа Л1 должна включиться с задержкой 2 секунды, а при выключении переключателя П1 лампа Л1 должна также выключиться с задержкой, причем время задержки должно быть равно целому числу вольт на аналоговом входе R. Когда переключатели П2 и П3 оба включены, двигатель должен работать циклически (2 секунды на двигатель подаётся напряжение 3 В, следующие 2 секунды – напряжение 6 В и т.д.). В первую половину цикла должна гореть лампа Л2, а во вторую половину – лампа Л3. Если ходя бы один из переключателей П2 или П3 выключен, двигатель, Л2 и Л3 включаться не должны.


Вариант 4. При включении любого из переключателей П1, П2 или П3 лампы Л1 и Л2 должны работать в мигающем режиме (сначала 2 секунды горит Л1, затем 4 секунды одновременно горят Л1 и Л2, затем 2 секунды горит Л2, затем снова 4 секунды одновременно горят Л1 и Л2 и т.д.). Если включены все три переключателя П1, П2, П3, то когда лампы Л1 и Л2 горят одновременно, должен работать двигатель. Напряжение, подаваемое на двигатель, должно быть в 2 раза больше напряжения на аналоговом входе R, но не должно превышать 9 В. Если все переключатели выключены, двигатель и лампы включаться не должны.


Вариант 5. При включении переключателя П1 должен запустится двигатель с задержкой в 2 секунды. Напряжение, подаваемое на двигатель, должно быть таким же, как напряжение на аналоговом входе R. После этого каждое включение и каждое выключение переключателя П2 должно увеличивать напряжение на двигателе на 1 В (вплоть до максимального значения напряжения 10 В), а каждое включение и каждое выключение переключателя П3 должно уменьшать напряжение на двигателе на 0,5 В (вплоть до минимального напряжения 0 В). Изменение напряжения на аналоговом входе R должно на такую же величину изменять напряжение на двигателе. При выключении переключателя П1 двигатель должен выключиться с задержкой в 5 секунд.


Задание к лабораторной работе № 2

«Программирование панели человеко-машинного интерфейса TP-177A»


Лабораторная работа № 2 может быть выполнена только при условии выполнения лабораторной работы № 1.


Бригаде студентов, выполняющих лабораторную работу, следует:

1. Повторить общее устройство лабораторного стенда и ознакомиться с основами разработки проектов для HMI-панелей в среде WinCC Flexible.

2. Открыть в WinCC Flexuble проект-заготовку WinCC_Empty. Создать рабочую папку и сохранить в неё копию проекта WinCC_Empty (лучше под другим именем).

3. Разработать экран HMI-панели для работы совместно с контроллером по программе из предыдущей лабораторной работы. Доработка самой программы контроллера в Step-7 Lite также потребуется.

Экран HMI-панели должен содержать:

Поля вывода состояния ламп и двигателя (включены или выключены).

Сенсорные переключатели (или кнопки), дублирующие переключатели П1, П2, П3.

Поля вывода значений напряжения на аналоговом входе R и напряжения на двигателе в вольтах (можно использовать объекты Bar).

Поясняющие надписи.

4. Загрузить проект WinCC в панель, а обновленный проект Step-7 в контроллер (питание стенда включается преподавателем).

5. Проверить совместную работу контроллера и HMI-панели. Показать результат преподавателю.

6. Ответить на вопросы преподавателя.


1 Аббревиатура HMI означает Human Machine Interface, т.е. человеко-машинный интерфейс.