Документация Engee

Словари данных

Словарь данных — это хранилище переменных, представляемое файлом с расширением .edd (Engee Data Dictionary), в котором могут находиться переменные модели или библиотеки.

Словарь подключается к модели или библиотеке. Благодаря этому переменные сохраняются между сеансами и становятся частью конфигурации модели: перед запуском их не нужно заново создавать в рабочей области или инициализировать отдельным скриптом.

Зачем нужен словарь данных

Переменные модели можно создать непосредственно в рабочей области Engee. В качестве примера рассмотрим модель, состоящую из двух блоков: Генератор синусоиды и Заглушка.

data dictionaries example ru

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

data dictionaries 13 ru

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

data dictionaries 14 ru

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

data dictionaries 15 ru

data dictionaries 1 ru

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

Словарь данных особенно удобен для крупных моделей и совместной работы, поскольку предоставляет больше возможностей для организации, хранения и управления данными.

Создание и подключение словаря

Создать словарь можно тремя способами:

  • из файлового браузера;

  • из настроек модели или библиотеки;

  • из приложения Словари данных.

Создание из файлового браузера

Откройте файловый браузер в основном окне Engee, щелкните правой кнопкой мыши → СоздатьСловарь данных и задайте имя для словаря.

data dictionaries 11 ru

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

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

data dictionaries 3 ru

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

  1. Создать словарь data dictionaries create icon: нажав эту кнопку, в открывшемся окне введите название словаря и выберите нужную директорию для его хранения, нажмите кнопку Сохранить.

  2. Открыть словарь data dictionaries open icon: нажав эту кнопку, в открывшемся окне файлов выберите нужный файл словаря и нажмите кнопку Выбрать.

  3. Редактировать data dictionaries edit icon (появляется, если словарь уже выбран): запускает приложение Словари данных с фокусировкой на подключенном словаре.

При выборе значения Словарь данных в левом нижнем углу холста Engee появляется кнопка data dictionaries dict icon. Она открывает приложение для работы со словарями.

Создание из приложения Словари данных

Открыть приложение можно через рабочее пространство Engee: в левом верхнем углу в разделе Приложения Engee apps icon выберите Словари данных data dictionaries icon:

data dictionaries 1 ru

На панели «Словари» располагаются кнопки создания и открытия словарей.

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

Подробнее о приложении см. в разделе Приложение для работы со словарями.

Подключение

Подключение словаря к модели производится в настройках модели или библиотеки.

К одной модели или библиотеке может быть подключен только один файл словаря. При этом подключенный словарь может иметь ссылки на другие словари.

Связанные словари могут иметь несколько уровней вложенности, но не должны образовывать цикл. Подробнее см. в разделе Рекурсивная вложенность.

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

Таким образом, собственные переменные модели и общие переменные можно хранить отдельно, но использовать совместно.

Использование словаря в модели

Вернемся к модели из генератора синусоиды и заглушки, в которой амплитуда синусоиды задается переменной A.

data dictionaries example ru

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

A = 1.0

и укажем ее в параметрах блока:

data dictionaries 13 ru

Создадим словарь одним из описанных выше способов и подключим его к модели через окно настроек.

Откроем словарь в приложении и переместим переменную A из рабочей области в словарь.

Переменную можно переместить из панели «Рабочая область» в панель «Содержимое» с помощью перетаскивания. Подробнее об этом см. в разделе Перемещение переменных в приложении.

Очистим рабочую область и запустим модель. Значение амплитуды A будет получено из подключенного словаря.

Таким образом, переменную не нужно создавать заново при каждом открытии модели или перед каждым запуском моделирования.

Сценарии применения словарей

Использование разных наборов параметров

Для одной модели можно использовать разные словари с разными наборами значений.

При переключении словаря модель будет использовать другой набор параметров. Это позволяет менять конфигурацию модели без перенастройки переменных в рабочей области.

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

Использование общих переменных

Один словарь может хранить общие переменные, используемые в нескольких моделях, а другой — переменные, относящиеся только к конкретной модели.

Это позволяет использовать один и тот же набор переменных в разных моделях и не дублировать их в нескольких местах.

Приложение для работы со словарями

Для работы со словарями данных используется приложение Словари данных data dictionaries icon. Оно позволяет централизованно хранить, просматривать и изменять данные, используемые в моделях.

Чтобы открыть приложение, перейдите в рабочее пространство Engee и в левом верхнем углу в разделе Приложения Engee apps icon выберите Словари данных data dictionaries icon.

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

data dictionaries 2 ru

Окно состоит из четырех панелей: Словари (1), Рабочая область (2), Содержимое (3) и Связанные словари (4). Рассмотрим их подробнее.

Панель «Словари»

Панель служит для навигации по элементам с данными, а также для вывода информации о файле словаря.

Первым элементом отображается строка «Рабочая область», рядом с которой расположена кнопка «Открепить рабочую область», позволяющая скрыть панель «Рабочая область». Далее отображаются словари, которые были открыты для редактирования, и их содержимое.

На панели также располагаются кнопки создания и открытия словарей; а когда словарь выбран, внизу панели отображается информация о свойствах файла словаря:

data dictionaries 4 ru

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

data dictionaries 5 ru

При сохранении выбранного словаря также сохраняются все несохраненные изменения в связанных словарях. Однако отмена изменений действует только на выбранный словарь.

Кроме того, нажав правой кнопкой мыши по файлу словаря, можно открыть контекстное меню:

data dictionaries 6 ru

Опции «Сохранить» и «Вернуться к сохраненному состоянию» активны только для измененных словарей.

Панель «Рабочая область»

В этой панели отображаются переменные из рабочей области. Она опциональна и отображается при активной кнопке «Закрепить рабочую область». Чтобы скрыть панель, нажмите кнопку «Открепить рабочую область».

Панель «Содержимое»

На панели отображается содержимое выбранного словаря. Здесь отображаются все переменные, сохраненные в выбранном словаре и связанных с ним словарях.

Переменные на этой панели представлены так же, как на панели «Рабочая область», исключение составляет столбец «Источник данных», где указано название словаря, которому принадлежит переменная.

Для редактирования значений переменных щелкните два раза левой кнопки мыши по строке с нужной переменной.

Внесение изменений в зависимый словарь приводит к тому, что словари верхнего уровня также считаются измененными.

Панель отображает зависимости текущего (выбранного) словаря, т.е. ссылки на другие словари. По умолчанию панель развернута, но ее можно свернуть с помощью кнопки data dictionaries aside icon.

Название выбранного словаря отображается прямо под названием панели, рядом с кнопками создания и открытия словарей:

data dictionaries 7 ru

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

data dictionaries 8 ru data dictionaries 9 ru

Перемещение переменных в приложении

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

data dictionaries ru

Таким образом вы можете переместить данные:

  • Из панели «Рабочая область» в панель «Содержимое» открытого словаря и обратно;

  • Из панели «Рабочая область» в секцию «Данные» любого словаря на панели «Словари»;

  • Из панели «Содержимое» открытого словаря в секцию «Данные» другого словаря на панели «Словари»;

    Секция «Данные» обозначает место хранения данных внутри конкретного словаря. При перемещении переменных в эту секцию они будут добавлены в соответствующий словарь и отобразятся на панели «Содержимое», если открыть или выбрать этот словарь.
  • Из панели «Содержимое» открытого словаря в элемент «Рабочая область» панели «Словари». Это действие равносильно перемещению данных в панель «Рабочая область».

Помимо интерактивного перемещения можно использовать привычные способы копирования, вырезания и вставки элементов с помощью контекстного меню, открывающегося правой кнопкой мыши, или с помощью комбинаций клавиш: Ctrl+C, Ctrl+X и Ctrl+V соответственно.

Ограничения

Одинаковые переменные

Если вы используете словарь, то одна и та же переменная не может быть определена и в словаре, и в рабочей области. Это приведет к ошибке моделирования.

Для избежания коллизий можно отключить доступ к рабочей области, сняв флажок Доступ к рабочей области в настройках модели.

Также одна и та же переменная не может быть определена в нескольких связанных словарях.

Рекурсивная вложенность

Словари не могут быть рекурсивно вложены друг в друга. Это также приведет к ошибке моделирования.

Циклическую зависимость можно отследить на панели «Связанные словари», открыв словарь. При рекурсивной вложенности словарь будет помечен восклицательным знаком:

data dictionaries 10 ru

Удаление или перемещение файла словаря

Если удалить или переместить файл ассоциированного с моделью словаря, то при открытии приложения появится предупреждение:

data dictionaries 12 ru

а попытка запустить модель завершится ошибкой.