Структура алгоблока. Организация связи между алгоблоками

Все программы в этом пособии будут представлены на языке функциональных алгоблоков (FBD). В контроллере Р-130 ОЗУ[3] условно разбито на 99 зон памяти, которые названы алгоблоками. В каждый алгоблок может из ПЗУ[4] вызываться любой алгоритм. Набор алгоритмов(вернее подпрограмм) называют библиотекой алгоритмов. Количество алгоритмов в библиотеке равно 76. Некоторые алгоритмы имеют два номера (кода). Например, алгоритм ввода аналоговых сигналов: ВАА(07) и ВАБ(8). Для нас это один алгоритм, но он может работать с группой А или с группой Б, в зависимости от того, где установлен модуль аналоговых сигналов(МАС)[74, с.19-27]. Программы приводимые ниже работают с типом УСО15[70]. Клавишей ввода (выбора) будем называть левую кнопку мыши или клавишу Enter.

Структура алгоблока представлена на рис.3.

Структура алгоблока. Организация связи между алгоблоками - student2.ru

Рис.3 Структура алгоблока

Стрелка внутри блока показывает направление обработки информации от входа к выходу. Стрелка особенно полезна в том случае, если алгоблок повёрнут на 1800 (такой приём используется при написании программы для уменьшения пересечений линий связи между алгоблоками или для лучшей компоновки структуры программы). Программирование с помощью алгоблоков подробно описано в пособии по разработке микропроцессорных систем управления [74]. Связь между алгоблока может быть, как адресная, так и графическая. В программе, приведённой на рис. 9, связь между алгоблоками – графическая, т.е. линиями. А в программе, приведённой на рис.11, связь между алгоблоками, в основном, адресная. И только связь выхода 10-го алгоблока с первым входом 13-го алгоблока – графическая, т.е. линией. При адресной связи на входе алгоблока указывается номер алгоблока и номер выхода алгоблока, с которым осуществляется связь. Например, возьмём 12 алгоблок. На первом входе которого стоят цифры: 0501. Это обозначает, что первый вход 12-го алгоблока связан с первым выходом пятого алгоблока. Более подробная информация по алгоритмам и кросс-средстве Редитор Р-130 дана в учебном пособии[74] и литературе по контроллеру Р-130[58].

Программная реализация защиты по дискретному каналу

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

Таймер

В контроллере Р-130 алгоритм таймер(ТМР) находится в ПЗУ контроллера с логическим номером 81. На рис.4 представлена структура алгоритма ТМР.

Структура алгоблока. Организация связи между алгоблоками - student2.ru

Рис. 4 Алгоритм таймер

Буквой С обозначают команды: Сст – стоп таймера, Ссбр – сброс таймера. Т1, …, Tm – пороговые значения нуль-органов. Т – текущее время таймера. D1,…,Dm – дискретные выходы нуль-органов.

После загрузки программы с ТМР в контроллер Р-130 алгоритм ТМР начинает работать сразу, т.е. его не надо пускать. Как только текущее время таймера сравняется с очередным пороговым значением, то на выходе этого порогового элемента (нуль-органа) формируется дискретный сигнал. Следует заметить, что модификатор m в таймере задаёт количество пороговых элементов (нуль-органов), а таймер один. Допустим, пороговое значение первого нуль-органа Т1 равно 3‑м секундам. После вызова ТМР в ОЗУ через 3 секунды на выходе D1 сформируется единичный сигнал. Если на вход 2 (Ссбр) подать логическую единицу «1» без инверсии, то таймер сбросится и выход D1 обнулится, т.е. на D1 будет состояние «0» пока Ссбр=1.

Триггер

В ПЗУ контроллера Р-130 алгоритм триггера (ТРИ) имеет код 76. На рис.5 представлена структура алгоритма ТРИ и диаграмма, поясняющая принцип работы триггера по уровню.

Структура алгоблока. Организация связи между алгоблоками - student2.ru

Рис. 5 Диаграмма, иллюстрирующая принцип работы триггера по уровню

Cs –команда установки триггера (set). Cr – команда сброса триггера (reset). Модификатор (m) обозначает количество триггеров в одном алгоблоке. Запоминание сигнала в триггере происходит по уровню. В данном случае уровнем называется единичное состояние команды (Cs,1) установки триггера. Передним фронтом называется изменение состояния сигнала с нулевого в единичное. Команда Сброс (reset, Cr,1) приоритетна над командой установки триггера Cs. Обратите внимание, с момента t2 по момент t3 была команда Сброс, поэтому триггер находился в сброшенном состоянии, т.е. на выходе триггера был «0». Как только команда Сброс исчезла (в момент времени t3), то на выходе триггера вновь появилась «1», т.к. сохранился единичный уровень команды: Cs,1 = «1». Для сравнения приведём диаграмму состояний триггера, если бы наш триггер работал по переднему фронту (рис.6), т.е. запоминание происходило бы, когда команда установки Cs переходила бы из состояния «0» в состояние «1».

Структура алгоблока. Организация связи между алгоблоками - student2.ru

Рис. 6 Диаграмма, иллюстрирующая принцип работы триггера по переднему фронту

Наши рекомендации