Скачиваний:
120
Добавлен:
19.06.2015
Размер:
224.93 Кб
Скачать

Санкт-Петербургский государственный электротехнический университет имени В. И. Ульянова (Ленина)

«ЛЭТИ»

Кафедра ИИСТ

ЛАБОРАТОРНАЯ РАБОТА №1

Изучение основ программирования

логических контроллеров

Факультет: ИБС

Группа:

Студент:

Преподаватель:

Санкт-Петербург

201

ЛАБОРАТОРНАЯ РАБОТА №1

Изучение основ программирования логических контроллеров.

Цель работы: изучение основных принципов программирования логических контроллеров.

1. Задание на лабораторную работу.

  1. Ознакомиться с основными принципами программирования логических контроллеров.

  2. Создать программу для ПЛК в соответствии с методическими указаниями.

  3. Взять у преподавателя значения параметров tж, tк, tз, tвыкл.

  4. Выполнить программу в режиме симулятора.

  5. Сделать визуализацию программы.

  6. Составить отчет.

Выполнение работы:

    1. Постановка задачи

Необходимо запрограммировать поведение двух светофоров на перекрестке при их взаимодействии, с помощью среды программирования WAGO-IO-PRO 32.

Требования к системе:

Вариант №5

Реализовать визуализацию. Добавить таймер, окрашивать цифры в цвет подсвечиваемой секции (только для красного и зеленого сигнала светофора). При работе зелёного добавлять «иконку» звукового сигнала. Т.к. аппаратно-программное средство не позволяет реализовать звуковой сигнал, будем иллюстрировать его дополнительной «иконкой», а в модели светофора в этот момент зажигать дополнительную секцию.

2. Создание проекта с помощью CoDeSys.

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

1) Функциональный блок на языке (FBD) с именем TRAFFICSIGNAL.

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

Данный блок реализует установку сигнала светофора в зависимости от входного значения STATUS.

Текст программы:

FUNCTION_BLOCK TRAFFICSIGNAL

VAR_INPUT

status: INT;

END_VAR

VAR_OUTPUT

green: BOOL;

yellow: BOOL;

red: BOOL;

off: BOOL;

END_VAR

Тело POU:

2) Функциональный блок WAIT на языке IL.

В WAIT мы создадим простой таймер, который на вход получает длину стадии в миллисекундах и на выходе выдает состояние ИСТИНА по истечении заданного периода времени.

Данный блок необходим для реализации временных задержек. На вход данного блока подается значение временного интервала. По истечению временного интервала заданного параметром TIME_IN значение выходной переменной OK становится равным TRUE.

Текст программы:

FUNCTION_BLOCK WAIT

VAR_INPUT

TIME_IN: TIME;

END_VAR

VAR_OUTPUT

OK: BOOL:=FALSE;

END_VAR

VAR

ZAB: TP;

END_VAR

Тело POU:

LD ZAB.Q

JMPC mark

CAL ZAB(IN:=FALSE)

LD TIME_IN

ST ZAB.PT

CAL ZAB(IN:=TRUE)

JMP END

mark:

CAL ZAB

end:

LDN ZAB.Q

ST OK

RET

3) Программа на языке SFC с именем SEQUENCE.

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

Данная программа реализует алгоритм перехода состояний светофоров из одного состояния в другое в соответствии с графом переходов. Модуль SEQUENCE реализует корректное управление первым и вторым светофорами.

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

Текст программы:

PROGRAM SEQUENCE

VAR_INPUT

START: BOOL;

END_VAR

VAR_OUTPUT

TRAFFICSIGNAL1: INT;

TRAFFICSIGNAL2: INT;

END_VAR

VAR

DELAY: INT;

COUNTER: INT;

END_VAR

Тело POU:

В каждый блок содержится своя инструкция на языке IL.

4) Модуль PLC_PRG на языке CFC.

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

В качестве переменных для программного модуля PLC_PRG необходимо задать переменные Light1 и Light2 типа TRAFFICSIGNAL. Данные переменные будут реализовывать алгоритм переключения первого и второго светофоров.

Текст программы:

PROGRAM PLC_PRG

VAR

LIGHT2: TRAFFICSIGNAL;

LIGHT1: TRAFFICSIGNAL;

END_VAR

Тело POU:

Переменные L1_green, L1_yellow, L1_red, L1_off, L2_green, L2_yellow, L2_red, L2_off определим как глобальные. Для этого нужно открыть панель Resources (ресурсы), затем открыть список Global Variables (глобальные переменные).

Текст программы:

VAR_GLOBAL

IN: BOOL;

L1_green AT %QX0.0: BOOL;

L1_yellow AT %QX0.1: BOOL;

L1_red AT %QX0.2: BOOL;

L1_off: BOOL;

L2_green AT %QX0.3: BOOL;

L2_yellow AT %QX0.4: BOOL;

L2_red AT %QX0.5: BOOL;

L2_off: BOOL;

END_VAR

3. Визуализация проекта в CoDeSys.

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

Для того чтобы создать визуализацию, выбирается вкладка Visualizations в организаторе объектов. Затем выбирается команда 'Project' 'Object Add' и создаются элементы визуализации.

В итоге получатся два светофора, которые включаются нажатием кнопки ON (см.рис.).

Реализация таймера:

Textdisplay – осуществляет отсчет отнимая от константы значение переменной SEQUENCE.DELAY.ZAB.E

.L1_red – Смена цвета

Input disable – Блокирует отсчет времени во время отсчета желтого

Дополнительный секция/звуковой сигнал:

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

Передний элемент становится невидимым во время процесса L1_green и загорается во время работы процесса L2_green/

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

Соседние файлы в папке ЛИСВ Лаб 1