База данных SimInTech

К каждому проекту SimInTech может быть подключена база данных.

В данном разделе описана база данных сигналов SDB (англ. Signals Data Base) и методы работы с ней в SimInTech.

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

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

Рисунок 1. Взаимодействие компонентов проекта через базу сигналов

Элементарной единицей базы сигналов является сигнал. Сигнал – переменная одного из доступных типов данных, несущая какую-либо информацию. Сигнал в SimInTech обладает рядом свойств (имя, название, тип данных, значение, способ расчета), набор которых является персональным для каждого сигнала и также хранится в базе.

Для структурирования сигналов и обеспечения удобства поиска и доступа к ним, применяются два уровня хранения сигналов в базе: «Категория» и «Группа сигналов». Количество этих уровней определено проводимой аналогией с моделируемыми аппаратными сигналами, где категорией можно считать тип оборудования, а группой сигналов – конкретную аппаратную часть, конкретный экземпляр данного типа оборудования, внутри которой используется сигнал. Например, сигнал включения насоса с номером 1 будет располагаться в категории «Насосы» и в группе сигналов «Насос 1».

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

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

Рисунок 2. Структура базы сигналов

Группа сигналов – служит исключительно для упорядочивания набора сигналов и не несет дополнительной информации, кроме своего имени. Идеологически является образом единицы аппаратного объекта своей категории.

Категория – единица иерархии верхнего уровня базы сигналов. Содержит в себе набор групп сигналов, а также перечень шаблонных сигналов, идеологически является отражением определенного типа аппаратного обеспечения. Категория, в отличие от Группы сигналов, несет в себе информацию о шаблонных (типовых) сигналах, об их количестве и наборе свойств каждого из них. Этот набор типовых сигналов и их свойств в SimInTech называется Шаблономкатегории. При добавлении новой группы сигналов в категорию, группа получит все сигналы, указанные в шаблоне соответствующей категории. Это удобно и логично, если помнить про аппаратную аналогию, лежащую в основе структуры базы сигналов. Например: существует категория «Насосы», имеющая в своем шаблоне все сигналы, характерные для единицы насосного оборудования. Если в составе этой категории создать группу сигналов, соответствующую конкретному насосу, то логично, чтобы в ней сразу же создавались все сигналы, характерные для насосов, а следовательно, входящие в состав шаблона соответствующей категории. При этом данная группа сигналов может быть отредактирована вручную и иметь как дополнительные сигналы, не входящие в состав шаблона категории, так и не иметь всех сигналов соответствующего шаблона. Однако рекомендуется всё же разрабатывать шаблон категории так, чтобы минимизировать отличия набора сигналов группы от шаблонного. Данная техника позволяет унифицировать группы сигналов между собой и уменьшить вероятность ошибок из-за некорректно отредактированных сигналов в группе.

С точки зрения моделирования, важным атрибутом сигналов, хранящихся в базе данных, является полное имя сигнала. Полное имя сигнала складывается из имени группы и имени сигнала, объединённых через символ подчёркивания ( _ ), а именно:

<Полное имя сигнала> = <имя_группы>_<имя_сигнала>

Например, сигнал ON для группы сигналов Pump1, будет иметь полное имя Pump1_ON.

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