Разработка блоков
В расчетных схемах SimInTech можно использовать не только блоки, входящие в состав системных библиотек, но также создавать собственные блоки и собственные библиотеки блоков. Это можно делать, как с помощью встроенных средств, так и с помощью сторонних. Выбор способа разработки своего блока зависит от таких факторов, как сложность блока, уровень подготовки разработчика, необходимость взаимодействия со сторонними интерфейсами и прочих факторов.
Классификация способов создания своего расчетного блока выглядит следующим образом:
| Способы создания блоков | Описание |
|---|---|
| Средствами SimInTech | |
| Создание блоков с помощью блока "Субмодель" | Используется базовый блок "Субмодель", формирующий лист расчетной схемы и порты входа-выхода. |
| Создание блоков с помощью блока "Язык программирования" | Используется базовый блок "Язык программирования", содержащий код программы и объявление портов входа-выхода. |
| Как создавать блоки с помощью генератора кода на языке Си | Генерация DLL из расчетной схемы, содержащей блоки входных/выходных сигналов и подключение ее в виде блока Внешняя DLL. |
| Средствами IDE Delphi с использованием SimInTech API | |
| Как создавать блоки с помощью Delphi | Генерация DLL с помощью IDE Delphi. Описание алгоритма блока производится в проекте Delphi, в соответствии с SimInTech API. Подключение расчетного класса происходит с помощью задания точки входа DLL в пустом базовом блоке Создание базовых блоков. |
| Создание блоков с использованием сторонних DLL | Генерация интерфейсной DLL с помощью IDE Delphi. Описание алгоритма блока производится в проекте Delphi, в соответствии с SimInTech API с использованием процедур сторонней подключенной DLL. Подключение расчетного класса интерфейсной DLL происходит с помощью задания точки входа DLL в пустом базовом блоке Создание базовых блоков. |
Для каждого из способов создания приведено описание, которое содержится в данном разделе.
Также данном разделе описаны вспомогательные операции создания новых блоков:
- Создание базовых блоков для расчетного класса DLL;
- Работа со свойствами блока;
- создание и Создание библиотеки блоков пользовательских блоков.