· пересылка данных с выхода %R0 в слово %MW2 := %R0.O по переднему фронту сигнала %I0.22 при условии, что в очереди есть данные (%R0.E = 0);
· пересылка данных из слова %MW1 на вход %R0 (%R0.I := %MW1) по переднему фронту сигнала %I0.21 при условии, что в очереди есть свободное место (%R0.F = 0); одновременно увеличение значения %MW1 := %MW1 + 5;
·
В режиме симулятора проверьте функционирование очереди. Предварительно добавьте в секцию №1 начальную установку %MW1 := 10 и %MW2 := 999.
3. В секции №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;
4. В секции №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.
Проверьте функционирование созданного Вами собственного стека. Для ограничения его распространения в памяти следует предусмотреть в цепях изменения значения указателя стека блоки сравнения с его предельными значениями.
a. управление функциональным блоком %DR0, сброс в исходное состояние сигналом %I0.20, переход к следующему состоянию контроллера по сигналу %I0.1 или по коротким импульсам таймера %TM0.Q;
b. принудительная установка текущего состояния контроллера %DR0.S := 5 по сигналу %I0.23;
c. генератор коротких импульсов на таймере %TM0 с TB = 100 ms, %TM0.P = 5.
Назначение управляемых выходов и задание значений на каждом шаге производится в окне Configure ® Configure the data ® Function blocks: %DR. Задайте состояние выходов контроллера, имитирующее смешанную коммутацию 4-фазного шагового двигателя (см. рисунок).
Проверьте функционирование данной секции программы.
a. Назначение управляемых выходов и задание значений каждого расписания производится в окне Configure ® Configure the data ® Advanced object: %SCH. Задайте для Real Time Clock 6 управляемый выход %Q0.15, интервал действия расписания (с 1 марта по 31 декабря), время начала и конца интервала включенного состояния выхода (с 12:00 до 16:30) и выберите нужные дни недели (см. рисунок);
b. В секции №6 активируйте блок расписания №6 сигналом входа %I0.21, присвоив биту %SW114:X6 значение 1;
Проверьте функционирование блока расписания с помощью панели симулятора Time Management Panel. Задайте время начала и конца интервала симуляции, отличающиеся более чем на год. После перехода в режим RUN изменяйте текущее значение времени симуляции и наблюдайте изменение состояния выхода %Q0.15.
Модифицируйте программу так, чтобы выход %Q0.15 включался дважды в день с перерывом в два часа.
a. В окне описания аппаратных средств Describe добавьте в состав контроллера RTC cartridge;
b. В секцию №7 введите LD-программу первого примера из справочного пособия Для установки времени/даты требуется %S50=1, чтобы отключить внутренние часы (RTU) и переслать в них значения %SW49 ... %SW53. В первой цепи производится сброс %S50 для запуска часов в следующем цикле сканирования программы;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.