Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2013-03-21 09:09:59 ЛС | профиль | цитата
Nic писал(а):
Чтобы управлять любым количеством панелей мне пришлось использовать идею широковещательной рассылки пакетов данных в локальной сети. Для этого все панели были подключены на "общую шину" и управлялись системой простых команд, которые содержали поле адреса. То есть, командой можно было адресовать конкретную панель или все сразу.


Угу. Понял.
Но это техника дела. Определяется особенностями некого конкретного проекта. Тут мои коллеги лучше меня в сетевых технологиях разбираются, пожалуй.
Моя задача не дублировать их, а "летать выше", заниматься более фундаментальными вопросами.

Ну, например, вышеотмеченный (на картинке) блок NetPSMProtocol - это, на самом-то деле, одна реализация из двух разных функциональностей (алгоритмов, объектов - называйте как хотите). Это сетевой мастер (у нас физическая реализация - 485-й интерфейс), или сетевой слэйв.
[flood]Это я еще имена вдвое посокращал. Как отучить плюшников писать имена на полстроки -- не пойму[/flood]
Ну, скажем, это два разных контейнера с одинаковыми интерфейсами (точками). Оба этих кода должны быть в прошивке, ибо перепрограммированием под землей заниматься нет никакого настроения.
Контейнеры активные. Т.е., могут самостоятельно стрелять вверх и вправо, по своей собственной инициативе.

Чего мы обычно делаем в таких случаях Обкладываем эти сущности сложной системой переключателей. Очень легко выйти на систему, в которой без пол-литры не разберешься, хотя она и работает. Сегодня. А мне надо, чтобы ВСЕГДА
А теперь вспомним постановку задачи. Мы занимаемся графическим программированием вовсе не для того, чтобы впихнуть это дело в какой-то конкретный графический интерфейс, а для того, чтобы было ПОНЯТНЕЕ.
По словам Паронджанова - чтобы "Улучшить работу ума".

Продолжаем, в том же конкретном проекте...
Каждая из вышеперечисленных реализаций этого NetPSMProtocol-а пользуется кодами COM-драйвера. Многократно, и в особо извращенной форме. Которых, вообще-то говоря -- три (на самом камне-то их пять, и не все они одинаковые). И которые - тоже активные объекты. И есть необходимость менять функциональное назначение каждого из трех, в процессе работы (это даже не я сочиняю, а мой работодатель. А я просто наемник).
Опять строить систему переключателей (внутри уже построенной)

Нет, ну не до такой же степени я садист, чтобы так издеваться над коллегами-подчиненными.




В общем, как-то так. BoardCasting -- коллегам, философский аспект проблемы -- мне

карма: 9

0