Создание собственных блоков при помощи блока «Язык программирования»

Для создания собственных блоков при помощи блока «Язык программирования» необходимо:

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

AddVar(

0, // 0 - внешняя, 1 - динамическая, 2 - алгебраическая, 3 - внутренее состояние, 4 - константа, 5 - локальная

"%unikname%_my_global_external_var", //Имя переменной

0, // тип данных 0 - вещественная, 1 - двоичная, 2 - целая

[1], //Размерность

floattostr(1), //Значение по умолчанию

"Внешняя переменная", //Описание переменной

2); //Направление 0-вход, 1-выход, 2-двунаправленная

если надо добавить несколько переменных, то AddVar пишется нужное количество раз;

В шаблонах кода могут использоваться следующие специальные символы, которые заменяются при генерации кода на нужные имена:

Спецсимвол На что заменяется
%blockname% уникальное имя блока в пределах данной схемы
%unikname% уникальное имя в пределах всего проекта (<префикс><имя алгоритма><blockname>)
%input:<номер порта>% имя переменной порта входа блока (начиная с нуля)
%out:<номер порта>% имя переменной порта выхода блока (начиная с нуля)
%value:<имя переменной>% подстановка значения локальной (или глобальной переменной)
%prefix% префикс имени переменных (v)
%step% имя переменной "Шаг интегрирования"
%time% имя переменной "Время", в секундах
%component% имя расчётного модуля

Пример заполнения через скрипт шаблонов генерации кода для блока «Язык программирования» можно посмотреть если вставить из библиотеки блок на схему.