Визуализация топологии
Компоненты Граф и Карта позволяют визуализировать топологию устройства, например, связи между устройствами.
Свойства визуализация топологии
Визуализация топологии настраивается определенными свойствами:
Поставщик
Выбирает тип поставщика топологических данных. Список доступных типов может разниться в различных инсталляциях AggreGate. Например, доступные типы включают:
Пользовательский (визуализирует любые связи между устройствами, которые определены нестандартным образом)
Сеть (топология сети всех типов, например, Уровень 2 и Уровень 3)
Уровень 2 (OSI модель, слой топологии 2)
Уровень 3 (OSI модель, слой топологии 3)
Для компонента Карта Поставщик может быть выставлен в пустую строку, чтобы отключить визуализацию топологии.
Имя свойства: provider
Тип свойства: String
Входной и выходной узлы являются контекстами
Определяет, является ли контекстом входной и выходной режимы. Если этот флажок активен, различные выражения, которые оценивают свойства узла, могут посылать этот контекст как контекст по умолчанию. Если данный флажок неактивен, Входное выражение и Выходное выражение возвращают имена узлов вместо их путей контекста.
Имя свойства: contextMode
Тип свойства: Boolean
Показывать несвязанные узлы
Определяет показанные узлы, которые не имеют ссылок.
Имя свойства: displayUnlinkedNodes
Тип свойства: Boolean
Выражение топологии
Используется только Пользовательским поставщиком топологии. Это выражение должно иметь результатом таблицу данных. Эта таблица данных становится таблицей данных по умолчанию для Выражения узлов и Выражения связей.
Среда вычисления выражения топологии: | |
Отсутствует. | |
Отсутствует. | |
0 | |
Только стандартные переменные. | |
Имя свойства: topologyExpression
Тип свойства: String
Выражение связей
Используется только Пользовательским поставщиком топологии. Это выражение должно иметь результатом таблицу данных. Каждая запись в этой таблице будет определять одну связь топологии, то есть она должна каким-либо образом соотносить источник связи с целью, которая будет получена через Выражение идентификатора связей, Выражение источника и Выражение назначения. Запись может также определять и другие свойства связи, например, цвет, ширину, описание и пр. Эти свойства будут получены с помощью Выражения цвета, Выражения ширины и пр.
Среда вычисления выражения топологии: | |
Отсутствует. | |
Результат Выражения топологии. | |
0 | |
Только стандартные переменные. | |
Имя свойства: linkExpression
Тип свойства: String
Выражение идентификаторов связей
Используется только Пользовательским поставщиком топологии. Это выражение вычисляется для каждой записи таблицы, возвращенной Выражением связей. Результатом выражения должна быть строка, интерпретируемая как идентификатор связи.
Среда вычисления выражения топологии: | |
Отсутствует. | |
Результат Выражения связей. | |
Обрабатываемая в данный момент строка таблицы по умолчанию. | |
Только стандартные переменные. | |
Имя свойства: linkIdExpression
Тип свойства: String
Выражение источника
Используется только Пользовательским поставщиком топологии. Это выражение оценивается для каждой записи таблицы, возвращенной Выражением топологии. Выражение должно иметь результатом Строку, интерпретируемую как путь контекста источника топологической связи (например, контекст устройства).
Среда вычисления выражения источника: | |
Отсутствует. | |
Таблица данных, возвращенная Выражением Топологии. | |
Обрабатываемая в данный момент строка таблицы по умолчанию. | |
Только стандартные переменные. | |
Имя свойства: sourceExpression
Тип свойства: String
Выражение цели
Используется только Пользовательским поставщиком топологии. Это выражение оценивается для каждой записи таблицы, возвращенной Выражением топологии. Выражение должно иметь результатом Строку, интерпретируемую как путь контекста источника топологической связи (например, контекст устройства).
Среда вычисления выражения цели: | |
Отсутствует. | |
Таблица данных, возвращенная Выражением Топологии. | |
Обрабатываемая в данный момент строка таблицы по умолчанию. | |
Только стандартные переменные. | |
Имя свойства: targetExpression
Тип свойства: String
Выражение узлов
Используется только Пользовательским поставщиком топологии. Результат выражения должен быть Таблицей данных. Каждая запись этой таблицы будет опрелеять один узел топологии, поэтому она должна содержать информацию для Выражения идентификаторов связей. Запись может также определять другие свойства узла, например, цвет, ширину, описание и пр.
Среда вычисления выражения топологии | |
Отсутствует. | |
Результат Выражения топологии. | |
0 | |
Только стандартные переменные. | |
Имя свойства: nodeExpression
Тип свойства: String
Выражение идентификаторов узлов
Используется только Пользовательским поставщиком топологии. Это выражение вычисляется для каждой записи таблицы, возвращенной Выражением узлов. Выражение должно иметь результатом Строку, интерпретируемую как идентификатор узла.
Среда вычисления выражения топологии | |
Отсутствует. | |
Результат Выражения узлов. | |
Обрабатываемая в данный момент строка таблицы по умолчанию. | |
Только стандартные переменные. | |
Имя свойства: nodeIdExpression
Тип свойства: String
Выражение предпочтительного имени действия
Выражение, которое вычисляется как имя действия. Это выражение выполняется при щелчке по контексту источника события. Если пустое (не указано), будет запущено действие по умолчанию контекста.
Имя свойства: preferredActionNameExpression
Тип свойства: String
Например, это выражение {info$type} == "group.device" ? "dashboard_admin_SwitchDashboard" : "manage" открывает предоставленную инструментальную панель SwitchDashboard для группы устройств и инструментальную панель по умолчанию для устройства.
Среда вычисления выражения предпочтительного имени действия | |
Контекст текущего устройства (для типа «Контекст»), или группы устройств, контекст слоя (для типа «Геозона»), отсутствует (для типа «Выражение таблицы узлов»). | |
Отсутствует. | |
0 | |
Только стандартные переменные. | |
Выражение описания узла
Настройка динамических описаний, указывающих на текущее состояние устройства.
Свойства метки:
Поле | Тип | Описание | |
Выражение расширенного поиска | String | Выражение текста метки. Это выражение будет вычисляться каждый период. Его результат будет преобразован в строку и отображен на метке. | |
Окружение разрешения выражения расширенного поиска: | |||
|---|---|---|---|
Контекст, указанный свойством «Источник» данного компонента устройства. Если «Источник» не указан, используется контекст по умолчанию для текущего виджета. | |||
Таблица параметров виджета. | |||
0 | |||
Только стандартные переменные. | |||
Вертикальное выравнивание | Integer | Вертикальное выравнивание метки. | |
Горизонтальное выравнивание | Integer | Горизонтальное выравнивание метки. | |
Шрифт | Data Table | Шрифт меток. | |
Передний план | Цвет | Цвет метки. | |
Период | Long | Период обновления текста метки, т. е. период повторной оценки выражения. | |
Имя свойства: nodeDescriptionExpression
Тип свойства: Data Table
Выражение цвета
Это опциональное выражение оценивается для каждого Контекста, являющегося источником или целью топологической связи. Оно должно иметь результатом Цвет, используемый для отрисовки топологического узла.
Среда вычисления выражения цвета: | |
Контекст объекта (обычно устройство), соответствующий источнику или цели топологической связи. | |
Таблица данных, представляющая текущую топологическую связь. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: colorExpression
Тип свойства: String
Выражение типа
Это выражение оценивается для каждого Контекста, являющегося источником или целью топологической связи. Оно должно иметь результатом Строку, которая будет приравнена к имени файла пиктограммы топологического узла.
Пиктограммы топологического узла находятся в подпапке /images/shapes установочной папки AggreGate. Имя файла пиктограммы должно соответствовать Строке, возвращенной Выражением типа. Расширение файла пиктограммы должно быть .svg, т.e. все пиктограммы - это векторные SVG изображения.
![]() | Каждое SVG изображение, используемое как пиктограмма топологического узла, должно включать единственный элемент (тег) внутри его тегов <svg></svg>. Этот тег может быть, например, <path>, <circle> или любым другим разрешенным SVG элементом. Вложенные элементы не разрешаются. |
Среда вычисления выражения типа: | |
Контекст объекта (обычно устройство), соответствующий источнику или цели топологической связи. | |
Таблица данных, представляющая текущую топологическую связь. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: typeExpression
Тип свойства: String
Выражение интерфейса
Это опциональное выражение оценивается для каждого Контекста, являющегося источником или целью топологической связи. Оно должно иметь результатом целое число, которое определяет интерфейс узла источника/цели, к которому принадлежит текущая связь.
Среда вычисления выражения интерфейса:: | |
Контекст объекта (обычно устройство), соответствующий источнику или цели топологической связи. | |
Таблица данных, представляющая текущую топологическую связь. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: interfaceExpression
Тип свойства: String
Выражение направленности
Это опциональное выражение оценивается для каждой топологической связи. Оно должно иметь результатом логическое значение, определяющее, направлена или не направлена связь (например, направляется из своего Источника к Цели). По умолчанию все связи не направлены.
![]() | Это свойство недоступно для компоновки типа Дерево, Радиальная и Пузырьковая. Эти компоновки не рекомендуются для визуализации топологий, т.к. изначальная информация направления связи перекрывается алгоритмом компоновки. |
Среда вычисления выражения направленности: | |
Контекст цели топологической связи. | |
Таблица данных, представляющая текущую топологическую связь. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: directedExpression
Тип свойства: String
Выражение ширины
Это опциональное выражение оценивается для каждой топологической связи. Оно должно иметь результатом число с плавающей точкой, определяющее ширину топологической связи. Ширина связи по умолчанию - 1 пиксель.
Среда вычисления выражения ширины: | |
Контекст цели топологической связи. | |
Таблица данных, представляющая текущую топологическую связь. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: widthExpression
Тип свойства: String
Выражение описания связи
Это опциональное выражение оценивается для каждой топологической связи. Оно должно иметь результатом строку, определяющую пользовательское описание топологической связи.
Среда вычисления выражения описания связи: | |
Контекст цели топологической связи. | |
Таблица данных, представляющая текущую топологическую связь. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: linkDescriptionExpression
Тип свойства: String
Показывать описания связи
Если этот флажок активирован, будет отображаться описание связи.
Имя свойства: linkDescriptionShowMode
Тип свойства: Boolean
Выражение цвета связи
Это необязательное выражение вычисляется для каждой ссылки топологии. Результатом должно быть значение цвета, которое будет использоваться для визуализации ссылки топологии.
Если выражение цвета пустое или возвращает пустое значение, связь примет градиентный цвет от исходного и целевого узлов.
Среда вычисления выражения цвета связи: | |
Контекст цели топологической связи. | |
Таблица данных, представляющая текущую топологическую связь. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: linkColorExpression
Тип свойства: String
Выражение изображения
Выражение, которое вернет изображения объектов слоя.
Контекст слоя (для типа Геозона), контекст устройства (для типа Контекст), отсутствует (для типа Выражение таблицы узлов). | |
Итоговая таблица выражения таблицы узлов (для типа Выражение таблицы узлов), отсутствует для остальных. | |
Указывает на обрабатываемую в данный момент ряд таблицы данных по умолчанию, отсутствует (для типа Контекст). | |
Только стандартные переменные. |
Имя свойства: imageExpression
Тип свойства: String
Выражение по умолчанию (select({users.admin.models.deviceImages:deviceImages}, 'image', 'name', {.:genericProperties$type})) берет изображения из Изображения устройства
Только чтение
Отключает возможность удаления или сохранения расположений.
Выражение подсказки узла
Это необязательное выражение вычисляется для каждого узла топологии. Результатом должно быть строковое значение, которое определит всплывающую подсказку для узла топологии.
Среда вычисления выражения описания связи: | |
Контекст слоя (для типа «Геозона»), контекст устройства (для типа «Контекст»), отсутствует (для типа «Выражение таблицы узлов»). | |
Нет. | |
Нет. | |
Только стандартные переменные. | |
Имя свойства: nodeTooltipExpression
Тип свойства: String
Выражение подсказки связи
Это необязательное выражение вычисляется для каждой связи топологии (ребра). Результатом должно быть значение типа String, которое определит всплывающую подсказку для связи топологии.
Среда вычисления выражения описания связи: | |
Нет. | |
Data Table, представляющая текущее топологическое соединение. Строковое поле | |
0 | |
Только стандартные переменные. | |
Имя свойства: linkTooltipExpression
Тип свойства: String
Всплывающее меню вершин
Вы можете щелкнуть правой клавишей мыши по узлу, чтобы открыть меню действий узла. Щелчок по опции в этом меню генерирует событие с заданным именем.
Имя свойства: vertexPopupMenu
Тип свойства: Data Table
Поле | Имя | Тип | Описание | |
Название | name | String | Имя действия. Сгенерированные события будут иметь это название. | |
Описание | description | String | Описание действия. Это описание будет показано во всплывающем меню. | |
Пиктограмма | icon | Data Block | Значок действия. Этот значок будет показан во всплывающем меню. | |
Условие | condition | String | Условие для отображения действия. Если результат вычисления этого выражения равен | |
Среда вычисления выражения условия: | ||||
Контекст слоя (для типа «Геозона»), контекст устройства (для типа «Контекст»), отсутствует (для типа «Выражение таблицы узлов»). | ||||
Таблица результатов выражения таблицы узлов (для типа «Выражение таблицы узлов»), отсутствует для остальных. | ||||
Указывает на текущую обрабатываемую строку таблицы данных по умолчанию, отсутствует (для типа контекста «Контекст»). | ||||
Только стандартные переменные. | ||||
Всплывающее меню связей
Вы можете щелкнуть правой клавишей мыши по ребру (связи), чтобы открыть меню действий ребра. Щелчок по опции в этом меню генерирует событие с заданным именем.
Имя свойства: edgePopupMenu
Тип свойства: Data Table
Поле | Имя | Тип | Описание | |
Имя | name | String | Имя действия. Сгенерированные события будут иметь это название. | |
Описание | description | String | Описание действия. Это описание будет показано во всплывающем меню. | |
Пиктограмма | icon | Data Block | Значок действия. Этот значок будет отображаться во всплывающем меню. | |
Условие | condition | String | Условие для отображения действия. Если результат вычисления этого выражения равен true, действие будет отображаться в меню. | |
Среда вычисления выражения условия: | ||||
Контекст слоя (для типа «Геозона»), контекст устройства (для типа «Контекст»), отсутствует (для типа «Выражение таблицы узлов»). | ||||
Таблица результатов выражения таблицы узлов (для типа «Выражение таблицы узлов»), отсутствует для остальных. | ||||
Указывает на текущую обрабатываемую строку таблицы данных по умолчанию, отсутствует (для типа контекста). | ||||
Только стандартные переменные. | ||||
Показывать граничащие узлы
Включает отображение соседних узлов. Для каждого узла в топологии будут отображаться все узлы, принадлежащие к тому же пути.
Включение этого свойства может значительно снизить производительность.
Имя свойства: showNeighbouringNodes
Тип свойства: Boolean
Выражение азимута
Выражение, возвращающее коэффициент поворота объектов слоя.
Контекст слоя (для типа «Геозона»), контекст устройства (для типа «Контекст»), отсутствует (для типа выражения «Таблица узлов»). | |
Таблица результатов выражения таблицы узлов (для типа «Выражение таблицы узлов»), отсутствует для остальных. | |
Указывает на текущую обрабатываемую строку таблицы данных по умолчанию, отсутствует (для типа контекста). | |
Только стандартные переменные. |
Имя свойства: azimuthExpression
Тип свойства: String
Выражение размера маркера
Выражение, возвращающее соотношение размеров объектов слоя.
Контекст слоя (для типа «Геозона»), контекст устройства (для типа «Контекст»), отсутствует (для типа выражения «Таблица узлов»). | |
Таблица результатов выражения таблицы узлов (для типа «Выражение таблицы узлов»), отсутствует для остальных. | |
Указывает на текущую обрабатываемую строку таблицы данных по умолчанию, отсутствует (для типа контекста). | |
Только стандартные переменные. |
Имя свойства: ratioExpression
Тип свойства: String
Примеры пользовательской топологии
Визуализация отношений «родитель-потомок» устройств на карте топологии
В этом примере объясняется, как использовать Custom поставщика топологии для визуализации отношений «родитель-потомок» устройств, определенных моделью Связность устройства, включенной в продукт AggreGate Network Manager.
Модель Device Connectivity присоединяет табличное свойство Parents к каждому сетевому хосту (его легко присоединить ко всем устройствам). Таблица Parents содержит поле Path, представляющее Путь контекста родительских устройств. Таблица содержит список устройств, влияющих на сетевую доступность текущего устройства.
Чтобы визуализировать все связи «дочернее-родительское» на топологическом графе или карте, нам потребуется следующая настройка пользовательского поставщика топологии:
Выражение топологии:
callFunction("", "executeQuery", "SELECT parents.parents$path as parent, children.info$remotePath as child FROM users.*.devices.*:parents as parents LEFT OUTER JOIN users.*.devices.*:info as children ON children$CONTEXT_ID = parents$CONTEXT_ID"). Это выражение выполняет запрос, который возвращает список всех связей «устройство-родитель», определенных в AggreGate Server и доступных от имени текущего пользователя. Таблица результатов запроса содержитparentиchildполя, содержащие пути контекстов конечных точек связей.Выражение источника:
{parent}. Это выражение извлекает путь контекста источника связи из каждой строки результатов вышеуказанного запроса.Выражение целевого контекста:
{child}. Это выражение извлекает путь контекста цели ссылки из каждой строки результатов вышеуказанного запроса.Все остальные выражения можно оставить по умолчанию, так как они будут извлекать данные из контекстов источника и цели связи.
Использование выражений для пользовательской топологии
В этом примере объясняется, как выражения пользовательской топологии взаимосвязаны и как создавать топологии с помощью этих выражений.
Для простоты в этом примере используются две таблицы данных в качестве источника всех данных о топологии. Если вы хотите применить этот пример к другим сценариям, замените выражения Node Expression и Link Expression на выражения, которые возвращают соответствующие данные в аналогичном формате.
Коренным выражением для пользовательской топологии является выражение «Выражение топологии». Data Table, возвращаемая этим выражением, содержит все данные для топологии. Два других выражения, «Выражение узла» и «Выражение связей», используют эту таблицу в качестве таблицы данных по умолчанию. «Выражение узла» использует ее для извлечения информации об узлах. «Выражение связей» использует ее для извлечения информации о соединениях между узлами. Поскольку гораздо проще использовать две разные таблицы данных для связей и для узлов, можно оставить «Выражение топологии» пустым и указать «Выражение узла» и «Выражение связей» независимо друг от друга. Таблицы данных, возвращаемые «Выражением узла» и «Выражением связей», будут использоваться всеми другими выражениями.
Таблица данных, возвращаемая выражением «Link Expression», является источником информации о связях. Поскольку пользовательская топология является гибкой, вы сами определяете способ хранения данных и их извлечения из этой таблицы данных другими выражениями для связей. Минимальный набор, необходимый для топологии, — это выражения «Выражение идентификаторов связей», «Source Expression» и «Target Expression». Если вы определите эти три свойства, топология будет построена исключительно на основе этих данных. AggreGate получит данные об узлах из выражений «Source Expression» и «Target Expression» и построит связи между этими узлами. Все выражения, использующие Data Table, возвращаемую выражением «Link Expression»: «Link Id Expression», «Source Expression», «Target Expression», «Interface Expression», «Выражение направленности», «Width Expression», «Выражение цвета описания», «Выражение цвета описания».
Таблица данных, возвращаемая выражением Node Expression, является источником информации об узлах. Опять же, вам решать, какой объем данных об узлах вы хотите сохранить и отобразить. Все выражения, использующие таблицу данных, возвращаемую выражением Node Expression: выражение Node Id Expression, выражение Type Expression, выражение Node Description Expression, выражение Color Expression.

В этом примере вы создадите две Data Tables.
В первой таблице будет храниться информация о связях. Это единственная таблица, обязательная для построения топологии.
Таблица linkData имеет следующие поля:
Поле | Имя | Тип | Описание |
Идентификатор связи | linkId | Integer | Идентификатор ссылки. |
Исходный узел | sourceNode | String | Идентификатор исходного узла для этой связи. |
Целевой узел | targetNode | String | Идентификатор целевого узла для этой ссылки. |
Цвет связи | linkColor | Цвет | Цвет связи. |
Направленный | isDirected | Boolean | Флаг направления. Если это значение равно true, ссылка имеет направление от исходного узла к целевому узлу. |
Ширина ссылки | linkWidth | Integer | Ширина связи. |
Описание связи | linkDescription | String | Описание связи. |
Во второй таблице будет храниться информация об узлах. Эта таблица используется для отображения узлов на графике. Для упрощения используются только имя узла, цвет и описание.
Таблица nodeData содержит следующие поля:
Поле | Название | Тип | Описание |
Имя основного узла | nodeName | String | Идентификатор узла. |
Цвет узла | nodeColor | Цвет | Цвет узла. |
Описание узла | nodeDescription | String | Описание узла. |
Этих двух таблиц достаточно для построения пользовательской топологии. Для этого используйте следующие выражения:
Выражение топологии. Это родительское выражение для всей топологии. Поскольку в данном примере оно не используется, оставьте его пустым.
Выражение узла. Это выражение должно приводить к таблице данных, описанной выше. Например, можно выполнить запрос, возвращающий все данные для вашей топологии. В этом примере используется ссылка на переменную, в которой хранится таблица данных узла: {users.admin.models.customTopology:nodeData}. Эта таблица данных становится таблицей данных по умолчанию для всех других выражений, связанных с узлами.
Выражение связей. Это выражение должно привести к Data Table, описанной выше. В этом примере используется ссылка на переменную, в которой хранится Data Table связи: {users.admin.models.customTopology:linkData}. Эта таблица данных становится таблицей данных по умолчанию для всех других выражений, связанных с связями.
Выражение идентификаторов связей. Это выражение должно возвращать идентификатор связи. Каждый идентификатор связи соответствует одной связи между двумя узлами. В этом примере используется поле linkId таблицы данных связи: {linkId}.
Выражение источника. Каждая ссылка должна иметь узел-источник, откуда она берет начало. Это выражение определяет, как определяется этот узел-источник. В этом примере используется поле sourceNode таблицы данных ссылок, в которой хранятся идентификаторы узлов: {sourceNode}.
Выражение целевого узла. Это выражение определяет, как определять целевой узел для связи. В этом примере используется поле targetNode Data Table, в которой хранятся идентификаторы узлов: {targetNode}.
Выражение направленности. Это выражение определяет, должна ли связь отображаться как направленная. В этом примере для этого используется поле isDirected: {isDirected}
Выражение ширины. Это выражение определяет отображаемую ширину ссылки. В этом примере для этого используется поле linkWidth: {linkWidth}.
Выражение цвета связи. Это выражение определяет цвет отображаемой ссылки. В данном примере для этого используется поле linkColor: {linkColor}.
Описание связи. Это выражение определяет метку, отображаемую для ссылки. В данном примере для этого используется поле linkDescription: {linkDescription}.
Выражение идентификаторов узлов. Это выражение должно возвращать идентификатор узла. Каждый идентификатор узла соответствует одному узлу. Идентификаторы узлов должны совпадать с идентификаторами, используемыми в Data Table для связей. В этом примере для этого используется поле nodeName: {nodeName}.
Выражение цвета. Это выражение определяет цвет отображаемого узла. В данном примере для этого используется поле nodeColor: {nodeColor}.
Выражение описания узла. Это свойство представляет собой Data Table, которая определяет размещение меток для узлов. В этом примере в качестве значения поля «Выражение» используется поле nodeDescription: {nodeDescription}. Все остальные поля определяют визуальные свойства метки.
Пример набора данных узлов для пользовательской топологии:
Имя основного узла | Цвет узла | Описание связи |
Насос | 255, 0, 0, 255 | Основной насос |
Нефтеперерабатывающий завод | 255, 0, 0, 255 | Нефтеперерабатывающий завод |
Резервуар 1 | 128, 128, 128, 255 | Хранилище бензина A |
Резервуар 2 | 128, 128, 128, 255 | Хранилище бензина B |
Резервуар 3 | 128, 128, 128, 255 | Хранилище бензина C |
Хранилище | 0, 0, 255, 255 | Подземное хранилище газа |
Пример набора данных ссылки для пользовательской топологии:
Идентификатор связи | Исходный узел | Целевой узел | Цвет связи | Направленная | Ширина связи | Описание связи |
0 | Нефтеперерабатывающий завод | Насос | 255, 0, 0, 255 | true | 3 | Бензин |
1 | Насос | Бак1 | 255, 0, 0, 255 | true | 1 | Бензин |
2 | Насос | Бак2 | 255, 0, 0, 255 | true | 1 | Бензин |
3 | Насос | Бак3 | 255, 0, 0, 255 | true | 1 | Бензин |
4 | Нефтеперерабатывающий завод | Хранение | 0, 0, 255, 255 | true | 1 | Газ |
Was this page helpful?
