Словари данных
Словарь данных — это хранилище переменных, представляемое файлом с расширением .edd (Engee Data Dictionary), в котором могут находиться переменные модели или библиотеки.
Словарь подключается к модели или библиотеке. Благодаря этому переменные сохраняются между сеансами и становятся частью конфигурации модели: перед запуском их не нужно заново создавать в рабочей области или инициализировать отдельным скриптом.
Зачем нужен словарь данных
Переменные модели можно создать непосредственно в рабочей области Engee. В качестве примера рассмотрим модель, состоящую из двух блоков: Sine Wave и Terminator.

Пусть амплитуда синусоиды задается переменной A. Эту переменную можно создать в рабочей области через командную строку, а затем использовать в параметрах блока. Менять значение этой переменной можно также в командной строке или в окне переменных.

Такой способ удобен для работы с простой моделью в текущем сеансе. Однако после очистки рабочей области или начала нового сеанса переменную потребуется создать заново. Чтобы обеспечить воспроизводимость модели между сеансами, переменные можно инициализировать с помощью скриптов и обратных вызовов (подробнее см. Обратные вызовы).

Другой способ — подключить к модели словарь и сохранить переменные в нем.


В этом случае переменные становятся частью конфигурации модели, а не временным содержимым рабочей области. Перед моделированием не требуется вручную создавать их или запускать подготовительный скрипт.
Словарь данных особенно удобен для крупных моделей и совместной работы, поскольку предоставляет больше возможностей для организации, хранения и управления данными.
Создание и подключение словаря
Создать словарь можно тремя способами:
-
из файлового браузера;
-
из настроек модели или библиотеки;
-
из приложения Словари данных.
Создание из файлового браузера
Откройте файловый браузер в основном окне Engee, щелкните правой кнопкой мыши → Создать → Словарь данных и задайте имя для словаря.

Создание из настроек модели или библиотеки
Откройте окно настроек модели или библиотеки.

По умолчанию для свойства Хранилище данных выбрано значение Рабочая область. При выборе значения Словарь данных появляются поле Файл словаря, флажок Доступ к рабочей области, а также следующие кнопки:
-
Создать словарь
: нажав эту кнопку, в открывшемся окне введите название словаря и выберите нужную директорию для его хранения, нажмите кнопку Сохранить. -
Открыть словарь
: нажав эту кнопку, в открывшемся окне файлов выберите нужный файл словаря и нажмите кнопку Выбрать. -
Редактировать
(появляется, если словарь уже выбран): запускает приложение Словари данных с фокусировкой на подключенном словаре.
При выборе значения Словарь данных в левом нижнем углу холста Engee появляется кнопка
. Она открывает приложение для работы со словарями.
Создание из приложения Словари данных
Открыть приложение можно через рабочее пространство Engee: в левом верхнем углу в разделе Приложения Engee
выберите Словари данных
:

На панели «Словари» располагаются кнопки создания и открытия словарей.
Чтобы создать словарь, нажмите кнопку Создать, в открывшемся окне введите название словаря, выберите нужную директорию для его хранения и нажмите Сохранить. Чтобы открыть словарь, нажмите кнопку Открыть, в открывшемся окне файлов выберите нужный файл словаря и нажмите кнопку Выбрать.
Подробнее о приложении см. в разделе Приложение для работы со словарями.
Подключение
Подключение словаря к модели производится в настройках модели или библиотеки.
К одной модели или библиотеке может быть подключен только один файл словаря. При этом подключенный словарь может иметь ссылки на другие словари.
| Связанные словари могут иметь несколько уровней вложенности, но не должны образовывать цикл. Подробнее см. в разделе Рекурсивная вложенность. |
Например, при использовании части другой модели можно подключить словарь с необходимыми для нее переменными к словарю своей модели.
Таким образом, собственные переменные модели и общие переменные можно хранить отдельно, но использовать совместно.
Использование словаря в модели
Вернемся к модели из генератора синусоиды и заглушки, в которой амплитуда синусоиды задается переменной A.

Создадим переменную A в рабочей области через командную строку:
A = 1.0
и укажем ее в параметрах блока:

Создадим словарь одним из описанных выше способов и подключим его к модели через окно настроек.
Откроем словарь в приложении и переместим переменную A из рабочей области в словарь.
Переменную можно переместить из панели «Рабочая область» в панель «Содержимое» с помощью перетаскивания. Подробнее об этом см. в разделе Перемещение переменных в приложении.
Очистим рабочую область и запустим модель. Значение амплитуды A будет получено из подключенного словаря.
Таким образом, переменную не нужно создавать заново при каждом открытии модели или перед каждым запуском моделирования.
Сценарии применения словарей
Использование разных наборов параметров
Для одной модели можно использовать разные словари с разными наборами значений.
При переключении словаря модель будет использовать другой набор параметров. Это позволяет менять конфигурацию модели без перенастройки переменных в рабочей области.
| При необходимости модель также может обращаться к переменным из рабочей области, если такой доступ включен в настройках модели. В этом случае для корректной работы со словарями данных см. раздел Ограничения. |
Приложение для работы со словарями
Для работы со словарями данных используется приложение Словари данных
. Оно позволяет централизованно хранить, просматривать и изменять данные, используемые в моделях.
Чтобы открыть приложение, перейдите в рабочее пространство Engee и в левом верхнем углу в разделе Приложения Engee
выберите Словари данных
.
Приложение открывается в отдельной вкладке браузера и по умолчанию имеет следующий вид:

Окно состоит из четырех панелей: Словари (1), Рабочая область (2), Содержимое (3) и Связанные словари (4). Рассмотрим их подробнее.
Панель «Словари»
Панель служит для навигации по элементам с данными, а также для вывода информации о файле словаря.
Первым элементом отображается строка «Рабочая область», рядом с которой расположена кнопка «Открепить рабочую область», позволяющая скрыть панель «Рабочая область». Далее отображаются словари, которые были открыты для редактирования, и их содержимое.
На панели также располагаются кнопки создания и открытия словарей; а когда словарь выбран, внизу панели отображается информация о свойствах файла словаря:

При добавлении в словарь переменных (см. Перемещение переменных в приложении) для выбранного словаря появляются кнопки сохранения и отмены изменений:

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

Опции «Сохранить» и «Вернуться к сохраненному состоянию» активны только для измененных словарей.
Панель «Рабочая область»
В этой панели отображаются переменные из рабочей области. Она опциональна и отображается при активной кнопке «Закрепить рабочую область». Чтобы скрыть панель, нажмите кнопку «Открепить рабочую область».
Панель «Содержимое»
На панели отображается содержимое выбранного словаря. Здесь отображаются все переменные, сохраненные в выбранном словаре и связанных с ним словарях.
Переменные на этой панели представлены так же, как на панели «Рабочая область», исключение составляет столбец «Источник данных», где указано название словаря, которому принадлежит переменная.
Для редактирования значений переменных щелкните два раза левой кнопки мыши по строке с нужной переменной.
| Внесение изменений в зависимый словарь приводит к тому, что словари верхнего уровня также считаются измененными. |
Панель «Связанные словари»
Панель отображает зависимости текущего (выбранного) словаря, т.е. ссылки на другие словари.
По умолчанию панель развернута, но ее можно свернуть с помощью кнопки
.
Название выбранного словаря отображается прямо под названием панели, рядом с кнопками создания и открытия словарей:

При выборе зависимого словаря появляются кнопка удаления зависимости для словаря первого уровня вложенности и кнопка редактирования словаря любого уровня вложенности:

Перемещение переменных в приложении
Одним из способов переноса переменных является интерактивное перемещение (drag-and-drop) из рабочей области в содержимое словаря. Перемещать можно сразу несколько переменных, выделяя их левой кнопкой мыши и удерживая клавишу Ctrl:

Таким образом вы можете переместить данные:
-
Из панели «Рабочая область» в панель «Содержимое» открытого словаря и обратно;
-
Из панели «Рабочая область» в секцию «Данные» любого словаря на панели «Словари»;
-
Из панели «Содержимое» открытого словаря в секцию «Данные» другого словаря на панели «Словари»;
Секция «Данные» обозначает место хранения данных внутри конкретного словаря. При перемещении переменных в эту секцию они будут добавлены в соответствующий словарь и отобразятся на панели «Содержимое», если открыть или выбрать этот словарь. -
Из панели «Содержимое» открытого словаря в элемент «Рабочая область» панели «Словари». Это действие равносильно перемещению данных в панель «Рабочая область».
Помимо интерактивного перемещения можно использовать привычные способы копирования, вырезания и вставки элементов с помощью контекстного меню, открывающегося правой кнопкой мыши, или с помощью комбинаций клавиш: Ctrl+C, Ctrl+X и Ctrl+V соответственно.
Ограничения
Одинаковые переменные
Если вы используете словарь, то одна и та же переменная не может быть определена и в словаре, и в рабочей области. Это приведет к ошибке моделирования.
Для избежания коллизий можно отключить доступ к рабочей области, сняв флажок Доступ к рабочей области в настройках модели.
Также одна и та же переменная не может быть определена в нескольких связанных словарях.

