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

Страницы работы

Содержание работы

Лабораторные работы по программированию ПЛК Twido в графической среде разработки Twido Suite

Выполняются на базе программного пакета Twido Suite, программного симулятора, интегрированного в Twido Suite, и программируемых контроллеров Twido.

Лабораторная работа 5

Использование расширенных функциональных блоков

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

Задачи:

  1. Создайте проект с именем "Ваша фамилия_4".
  2. Зарезервируйте секцию №1 для инициализации начальных значений переменных. Используйте в этой цепи сигнал системного бита %S13 – первый цикл в режиме RUN.

  1. В секции №2 реализуйте следующие функции:

·  управление очередью FIFO на базе регистра %R0 – сброс по сигналу входа %I0.20, запись данных по переднему фронту сигнала %I0.21, чтение данных по переднему фронту сигнала %I0.22;

·  пересылка данных с выхода %R0 в слово %MW2 := %R0.O по переднему фронту сигнала %I0.22 при условии, что в очереди есть данные (%R0.E = 0);

·  пересылка данных из слова %MW1 на вход %R0 (%R0.I := %MW1) по переднему фронту сигнала %I0.21 при условии, что в очереди есть свободное место (%R0.F = 0); одновременно увеличение значения %MW1 := %MW1 + 5;

  1. В секции №3 реализуйте следующие функции:

·  управление стеком LIFO на базе регистра %R1 – сброс по сигналу входа %I0.20, запись данных по сигналу %M0, чтение данных по переднему фронту сигнала %I0.22;

·  пересылка данных с выхода %R1 в слово %MW4 := %R1.O по переднему фронту сигнала %I0.22 при условии, что в стеке есть данные (%R1.E = 0);

·  пересылка данных из слова %MW3 на вход %R1 (%R1.I := %MW3) по сигналу %I0.21 при условии, что в стеке есть свободное место (%R0.F = 0); одновременно увеличение значения %MW3 := %MW3 + 10 и установка значения %M0 = 1;

  1. В секции №4 реализуйте стек двойных слов в зоне памяти от %MD20 до %MD40. Для этого создайте следующие цепи:

·  по сигналу %S13 инициализация слова %MD42 := 0 - резервирование памяти под стек;

·  по переднему фронту сигнала %I0.21 запись по индексной адресации значения входного слова стека %MD6 в память стека (%MD20[%MW18] := %MD6). Двойное слово %MD20 – это основание (дно) стека, слово %MW18 – указатель стека, содержащий номер последнего использованного или первого свободного слова (относительно дна стека). Одновременно увеличение указателя стека %MW18 := %MW18 + 2 и изменение значения входного слова %MD6 := %MD6 + 250;

·  по переднему фронту сигнала %I0.22 чтение по индексной адресации значения вершины стека в выходное слово стека %MD8 (%MD8 := %MD20[%MW18]). Одновременно уменьшение указателя стека %MW18 := %MW18 -2.

  1. В секции №5 реализуйте следующие цепи:

·  управление функциональным блоком %DR0, сброс в исходное состояние сигналом %I0.20, переход к следующему состоянию контроллера по сигналу %I0.1 или по коротким импульсам таймера %TM0.Q;

·  принудительная установка текущего состояния контроллера %DR0.S := 5 по сигналу %I0.23;

·  генератор коротких импульсов на таймере %TM0 с TB = 100 ms, %TM0.P = 5.

  1.   В секции №6 активируйте блок расписания №6 сигналом входа %I0.21, присвоив биту %SW114:X6 значение 1
  2. В секции №7 реализуйте программную установку заданных значений времени и даты в дополнительный модуль часов реального времени TWDXCPRTC. Для этого:

·  В окне описания аппаратных средств Describe добавьте в состав контроллера RTC cartridge;

В секцию №7 введите LD-программу первого примера из справочного пособия

  1. В секцию №8 введите LD-программу второго примера из справочного пособия
  2. В секции №9 реализуйте программу получения отметок времени включения и отключения выхода %Q0.4, а также вычисления интервала времени в секундах между этими отметками.
  3. . В секции №10 реализуйте программу пересылки по переднему фронту %I0.18 указанных системных слов в массив слов памяти.

Пример решения:

1.  Ознакомьтесь со справочным пособием №5

2.  В секции №2 реализуйте следующие функции:

·  управление очередью FIFO на базе регистра %R0 – сброс по сигналу входа %I0.20, запись данных по переднему фронту сигнала %I0.21, чтение данных по переднему фронту сигнала %I0.22;

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
1 Mb
Скачали:
0