РадиоЛоцман - Все об электронике

Управление аппаратными ресурсами по расписанию

Мастер Кит Laurent-5

Вариант реализации автоматизированной системы управления аппаратными ресурсами (на примере электромагнитных реле) с привязкой к абсолютному времени

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

Например, в некоторой тестовой лаборатории есть необходимость автоматизировать сброс питания исследуемых/ тестируемых устройств в строго установленные моменты времени с привязкой к абсолютной шкале (например, в понедельник в 10:00 утра). Однако задача усложняется тем, что на принятие решения о возможности выполнения операции управления питанием влияет текущее состояние других аппаратных ресурсов исследуемого устройства (например, тот или иной уровень на выходной GPIO линии).

Последнее обстоятельство несколько усложняет решение и заставляет задуматься о применении некоторого внешнего аппаратного модуля в котором есть поддержка необходимых аппаратных ресурсов для решения такой задачи, а именно: реле, часы реального времени, входные GPIO линии.

Рассмотрим вариант решения подобной задачи с использованием контроллера Laurent-5.

Управление аппаратными ресурсами по расписанию

Для конкретики, необходимо кратковременно сбрасывать питание тестируемого устройства каждый день строго в 07:00 утра. Однако сброс ни в коем случае проводить нельзя, если устройство продолжает выполнять критические операции. В этом случае, на выходной дискретной GPIO линии устройства выставляется высокий логический уровень (+3.3 В).

Модуль Laurent-5 соединим с испытуемым устройством следующим образом. Сигнал готовности устройства заведен на входную дискретную линию IO_1. А питание устройства «проброшено» через нормально замкнутые контакты реле RELE_1. Если реле включить, прекратится подача питания на тестируемое устройство.

Управление аппаратными ресурсами по расписанию

Для настройки системы в первую очередь нужно изменить направление для GPIO IO_1 модуля Laurent-5 «на вход». Настройку проще всего делать через Web интерфейс (адрес по умолчанию 192.168.0.101). Заходим в раздел «Линии общего назначения IO1 - IO8» на главной панели управления.

Управление аппаратными ресурсами по расписанию

Нажимаем на «стрелочку» у линии IO_1 и меняем направление этой GPIO линии в состояние «на вход» для анализа состояния линии «готовность» тестируемого устройства.

Управление аппаратными ресурсами по расписанию

Далее создадим логические правила CAT, которые будут обслуживать автоматику анализа линии «готовность» и управлять реле.

Заходим в раздел CAT и нажимаем на кнопку «Создать новое событие». Появится вот такое окно, в котором новому логическому правилу будет назначен ID = 1.

Управление аппаратными ресурсами по расписанию

Выберем тип события RTC – выполнение задачи в указанное время.

Управление аппаратными ресурсами по расписанию

В настройках события укажем время срабатывания: каждый день в 07:00 утра.

Управление аппаратными ресурсами по расписанию

В качестве реакции при возникновении этого события с помощью Ke-команд включим работу CAT событий 2, 3 и 4, которые создадим далее. Дополнительные логические правила нужны для того, чтобы анализировать сигнал «готовность» устройства и избежать сброса питания, если оно к этому не готово.

Управление аппаратными ресурсами по расписанию

Дадим символическое имя этому логическому правилу для наглядности.

Управление аппаратными ресурсами по расписанию

В итоге в списке логических правил появится новое событие с ID = 1:

Управление аппаратными ресурсами по расписанию

Добавим следующее логическое правило с ID = 2, которое будет выполняться по таймеру с частотой 1 раз в секунду.

Управление аппаратными ресурсами по расписанию

Управление аппаратными ресурсами по расписанию

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

Управление аппаратными ресурсами по расписанию

Если все условия будут выполнены, то тогда выключим события 2, 3 и 4. Сбросим счетчик срабатываний для события 3 (см. далее) и включим реле RELE_1 на 4 секунды, после чего оно самостоятельно вернется в исходное (выключенное) состояние.

Управление аппаратными ресурсами по расписанию

Однако что делать если устройство «зависло» и сигнал тревоги все время взведен? Для того и будем использовать события с ID = 3 и 4, в которых реализуем подобие сторожевого таймера с отправкой тревожного сообщения, если в течение заданного времени устройство так и не просигнализировало о своей готовности к аппаратному сбросу.

Создадим событие с ID = 3 по обычному таймеру с частотой срабатывания раз в 1 с. Это событие по факту не будет ничего делать, просто посылать пустую команду $KE. Однако при каждом срабатывании будет увеличиваться счетчик срабатываний этого события. С помощью логического правила с ID = 4 мы будем мониторить эту величину. Если она превысит некоторый порог (например, 300 срабатываний что соответствует 5 минутам) – произведем останов работы и увеличим значение программной переменной VAR_1 для последующего анализа числа проваленных операций.

Итого весь набор логических правил будет выглядеть следующим образом. Для старта всей системы достаточно включить обработку события с ID = 1.

Управление аппаратными ресурсами по расписанию

А далее будет следующее: каждый день в 07:00 утра будет срабатывать логическое правило с ID = 1. При этом в качестве реакции будет включена обработка событий с ID 2, 3 и 4. Если тестируемое устройство готово к сбросу питания (логический уровень 0 на сигнальной линии), в рамках работы правила ID = 2 будет выключена обработка событий 2-4, сброшен на всякий случай счетчик срабатываний для 3-го правила и произведен сброс питания устройства путем кратковременного включения реле.

В параллель, запускаем сторожевой таймер, отсчитывающий время с тактом раз в секунду. Путем проверки значения сторожевого таймера в рамках правила ID = 4 мы можем аварийно прекратить ожидание и просигнализировать о провале всей операции в этот день путем инкрементирования программной переменной VAR_1, значение которой можно потом запросить по TCP/HTTP для последующего анализа.

Мастер Кит

Изготовление плат и монтаж компонентов для вашего проекта от $2. Получи купон на скидку: JLCNY

Laurent-5 это многофункциональный сетевой контроллер с богатейшим набором аппаратной периферии для управления реле и мониторинга / измерения различных датчиков и параметров...
AliExpress
Весь мир
Многофункциональное интернет реле (cетевой контроллер управления). MP712m Laurent-5 
5 229 ₽
Ким
Россия
Многофункциональное интернет реле KIT MP712m Laurent-5 
Мастер Кит
5 990 ₽
Мастер Кит
Россия и страны ТС
Многофункциональное интернет реле (cетевой контроллер управления) (MP712m Laurent-5)официальный статус
Мастер Кит
5 990 ₽
официальный статусофициальный статус поставщика
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя