Пользовательские инструкции для моделей многозвенной цепи можно создавать с помощью блока «Пользовательские инструкции». Эти блоки, содержащие пользовательские инструкции, можно сохранить в пользовательской библиотеке с именем plcuserlib.slx. Можно также импортировать, моделировать и экспортировать инструкции по многозвенной цепи с помощью пользовательских блоков.
Чтобы создать определенную пользователями инструкцию, используйте таможенный блок Инструкции, добавленный к Библиотеке Лестницы Simulink® PLC Coder™.
Для открытия библиотеки лестниц в командной строке MATLAB ® введите :
plcladderlib
Библиотека лестниц открывает все блоки, необходимые для построения схемы лестниц в Simulink.
Чтобы создать новую библиотеку Simulink, на вкладке «Библиотека» выберите «Создать» > «Библиотека». На начальной странице Simulink выберите «Пустая библиотека» и нажмите «Создать библиотеку».
Перетащите блок пользовательских инструкций из библиотеки лестниц в новую созданную библиотеку.
Чтобы создать собственную логическую модель многозвенной цепи, дважды щелкните блок пользовательских инструкций, чтобы просмотреть параметры блока. Для просмотра их описаний используйте меню «Справка».

В текстовом поле Instruction Name введите имя инструкции. Укажите входные и выходные данные, необходимые для блока команд. Нажмите кнопку Применить, а затем кнопку ОК.
Чтобы заглянуть внутрь маски, щелкните
в блоке «Пользовательская инструкция». Блоки внутри маски позволяют выполнять имитацию команды с другими инструкциями PLC Ladder. Определяемая пользователем логика включается в блок Instruction_Enable.

Сохранить библиотеку как plcuserlib.slx. В эту библиотеку можно добавить несколько блоков инструкций.
В этом примере показано, как вычислить квадратный корень входного сигнала с помощью блока Custom Instruction.
Чтобы открыть начальную страницу Simulink, на вкладке Главная страница MATLAB щелкните Simulink.
Выберите «Пустая библиотека» и нажмите «Создать библиотеку».
Сохранить библиотеку как plcuserlib.slx в папку по пути MATLAB.
Для открытия библиотеки лестниц ПЛК в командной строке MATLAB введите:
plcladderlib
Перетащите блок пользовательских инструкций из plcladderlib в пользовательскую библиотеку plcuserlib.slx.
Дважды щелкните блок «Пользовательская инструкция», чтобы открыть окно «Параметры блока».
Укажите имя инструкции как SQR. Проверьте, что количество входов равно 1 и Input Types задается как массив ячеек допустимых типов данных. Аналогично, проверьте, что количество выходов равно 1 и Output Types задается как массив ячеек допустимых типов данных. Нажмите кнопку ОК.
Щелкните
в блоке SQR и дважды щелкните подсистему Instruction_Enable.
В подсистему Instruction_Enable добавьте блок Sqrt из библиотеки операций Simulink/Math. Дважды щелкните этот блок и выберите signedSqrt в меню Main > Function и нажмите кнопку OK.
Подключите входной и выходной порты к входному и выходному портам блока Sqrt с помощью блоков преобразования типов данных.

Перейдите на верхний уровень библиотеки. Щелкните Блокировать связи и разблокировать библиотеку на вкладке Библиотека, а затем сохраните библиотеку. Simulink PLC Coder теперь может использовать команду SQR, когда plcuserlib.slx находится на пути MATLAB. Эту инструкцию можно перетащить в модели из библиотеки, созданной и сохраненной.
Чтобы проверить, идентифицировал ли Simulink PLC Coder только что созданную инструкцию, в командной строке MATLAB введите:
plcladderinstructions
Пример на рисунке показывает использование команды SQR внутри блока команд Add-On.

Блок пользовательских инструкций не поддерживает инструкции:
С типом данных array и struct (составной) в качестве аргументов.
Для этого требуется внутреннее хранение данных (состояния).
Пользовательская инструкция | plcimportladder | plcladderinstructions | plcladderlib