Листинг 13.1. Реализация процесса мониторинга здания
//См. Web-страницу http://www.software-engin.com/, //где представлен полный Java-код этого примера class BuildingMonitor extends Thread { BuildingSensor win, door, move; Siren siren = new SirenO; Lights lights = new Lights{); Synthesizer synthesizer = new Synthesizer(); DoorSensors doors = new DoorSensors (30); WindowSensors windows = new WindowSensors(50); MovementSensors movements = new MovementSensors(200); PowerMonitor pm = new PowerMonitor();
BuildingMonitor() { //инициализация датчиков и запуск процессов siren.start();lights.start(); synthesizer.start();windows.start(); doors.start()/movements.start();pm.start(); } public void run () { int room = 0; while (true) { //проверка датчиков движения два раза в секунду (400 Гц) move = movements.getVal(); //проверка оконных датчиков два раза в секунду (100 Гц) win = windows.getVal(); //проверка дверных датчиков два раза в секунду (60 Гц) door = doors.getVal(); if(move.sensorVal==l|door.sensorVal==l|win.sensorVal==l) { //датчик зарегистрировал нарушение if(move.sensorVal == 1) room = move.room; if(door.sensorVal == 1) room = door.room; if(win.sensorVal == 1) room = win.room;
lights.on(room);siren.on();synthesizer.on(room); break; } } lights.shutdown(); siren.shutdown();synthesizer.shutdown(); windows.shutdown();doors.shutdown();movements.shutdown(); }//run )//BuildingMonitor
Поскольку данная система не содержит строгих временных требований, ее можно реализовать на языке Java. Конечно, в Java 2.0 нет никакой гарантии соответствия временным спецификациям. В нашей системе все датчики опрашиваются одинаковое количество раз, чего не бывает в реальных системах. После определения архитектуры процессов системы начинается разработка алгоритмов обработки входных сигналов и генерации ответных сигналов. Как уже отмечалось в разделе 3.1, этот этап проектирования необходимо выполнять как можно раньше, чтобы удостовериться, что система будет соответствовать временным требованиям. Если соответствующие алгоритмы оказываются сложными, может возникнуть необходимость в изменении временных ограничений. Обычно алгоритмы систем реального времени сравнительно просты. Они проверяют ячейки памяти, выполняют некоторые простые расчеты и управляют передачей сигнала. В примере системы сигнализации проектирование алгоритмов не рассматривается.
Последним этапом процесса проектирования является составление временного графика выполнения процессов. В нашем примере нет процессов со строгими сроками выполнения. Рассмотрим приоритеты процессов. Все процессы, опрашивающие датчики, имеют один и тот же приоритет. Процессу, управляющему электропитанием, необходимо назначить более высокий приоритет. Приоритеты процессов, управляющих системой сигнализации, и процессов, опрашивающих датчики, должны быть одинаковы. Систему охранной сигнализации можно отнести скорее к системам наблюдения, чем к системам управления, так как в ней нет исполнительных механизмов, напрямую зависящих от значений датчиков. Примером системы управления может служить система управления отоплением здания. Система наблюдает за температурными датчиками, установленными в разных комнатах здания и переключает нагревательные приборы в зависимости от реальной температуры и температуры, установленной в термореле. Термореле, в свою очередь, контролирует отопительный котел. Архитектура процессов такой системы показана на рис. 13.7; в общем виде она выглядит подобно системе сигнализации. Дальнейшее рассмотрение этого примера предлагается читателю в качестве упражнения.
Рис. 13.7. Архитектура процессов системы управления отоплением
Читайте также: Анализ альтернатив, выбор, реализация и оценка стратегии Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|