Цитата:
Сообщение от tiksi
Таким же образом переход от одного объекта к другому через действие. Не так?
|
Очень, очень похоже!
Давайте тогда рассмотрим алгоритм действий в ПО по приходу сообщения (этот термин мне больше нравится, чем телеграмма).
СОМ порт (не обязательно СОМ, может быть сетевой порт) принимает какие-то байты. Порождается событие "Есть принятые байты". Обработчик СОМ порта получает данное событие, читает принятые данные и, а вот здесь могут быть варианты обработки. Я покажу - как я делаю. Принятые байты складываю в
кольцевой буфер, но не пытаюсь их обработать сразу же после чтения. Далее обрабатывается кольцевой буфер (это тоже объект ПО) по применяемому
протоколу обмена (и это тоже объект ПО) и если есть возможность выделяется сообщение, которое передается в
обработчик сообщений (и это тоже объект ПО)!
Просто инженер АиТ добавил 03.04.2017 в 16:05
Обработчик сообщений проверяет заголовок сообщения, в котором находятся различные служебные параметры.
- Проверяет адрес получателя, если принятое сообщение относится к данному ПО, то будет дальнейшая обработка.
- Проверят тип сообщения. Например, сообщение от системы МПЦ или служебный запрос.
- и.т.д.
Далее отрабатывает непосредственно тело сообщения (суть сообщения).
- Запрос состояния сигналов ТС;
- Запрос диагностики аппаратных средств;
- Индивидуальное управление устройством ЖАТ (перевод стрелки);
- Задание Маршрута;
- и т.д.
Пусть будет индивидуальное управление. Обработчик передает данное сообщение всем Объектам ЖАТ, Объекты приняв сообщение определяют относится ли данное сообщение к данному объекту. Если да - обрабатывает его сообразно алгоритму обработки для данного объекта ЖАТ.