exponenta event banner

Создание пользовательских инструкций в моделях схем многозвенной цепи ПЛК

Пользовательские инструкции для моделей многозвенной цепи можно создавать с помощью блока «Пользовательские инструкции». Эти блоки, содержащие пользовательские инструкции, можно сохранить в пользовательской библиотеке с именем plcuserlib.slx. Можно также импортировать, моделировать и экспортировать инструкции по многозвенной цепи с помощью пользовательских блоков.

Создание определяемой пользователем инструкции

Чтобы создать определенную пользователями инструкцию, используйте таможенный блок Инструкции, добавленный к Библиотеке Лестницы Simulink® PLC Coder™.

  1. Для открытия библиотеки лестниц в командной строке MATLAB ® введите :

    plcladderlib

    Библиотека лестниц открывает все блоки, необходимые для построения схемы лестниц в Simulink.

  2. Чтобы создать новую библиотеку Simulink, на вкладке «Библиотека» выберите «Создать» > «Библиотека». На начальной странице Simulink выберите «Пустая библиотека» и нажмите «Создать библиотеку».

  3. Перетащите блок пользовательских инструкций из библиотеки лестниц в новую созданную библиотеку.

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

  5. В текстовом поле Instruction Name введите имя инструкции. Укажите входные и выходные данные, необходимые для блока команд. Нажмите кнопку Применить, а затем кнопку ОК.

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

  7. Сохранить библиотеку как plcuserlib.slx. В эту библиотеку можно добавить несколько блоков инструкций.

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

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

  1. Чтобы открыть начальную страницу Simulink, на вкладке Главная страница MATLAB щелкните Simulink.

  2. Выберите «Пустая библиотека» и нажмите «Создать библиотеку».

  3. Сохранить библиотеку как plcuserlib.slx в папку по пути MATLAB.

  4. Для открытия библиотеки лестниц ПЛК в командной строке MATLAB введите:

    plcladderlib

  5. Перетащите блок пользовательских инструкций из plcladderlib в пользовательскую библиотеку plcuserlib.slx.

  6. Дважды щелкните блок «Пользовательская инструкция», чтобы открыть окно «Параметры блока».

  7. Укажите имя инструкции как SQR. Проверьте, что количество входов равно 1 и Input Types задается как массив ячеек допустимых типов данных. Аналогично, проверьте, что количество выходов равно 1 и Output Types задается как массив ячеек допустимых типов данных. Нажмите кнопку ОК.

  8. Щелкните в блоке SQR и дважды щелкните подсистему Instruction_Enable.

  9. В подсистему Instruction_Enable добавьте блок Sqrt из библиотеки операций Simulink/Math. Дважды щелкните этот блок и выберите signedSqrt в меню Main > Function и нажмите кнопку OK.

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

  11. Перейдите на верхний уровень библиотеки. Щелкните Блокировать связи и разблокировать библиотеку на вкладке Библиотека, а затем сохраните библиотеку. Simulink PLC Coder теперь может использовать команду SQR, когда plcuserlib.slx находится на пути MATLAB. Эту инструкцию можно перетащить в модели из библиотеки, созданной и сохраненной.

  12. Чтобы проверить, идентифицировал ли Simulink PLC Coder только что созданную инструкцию, в командной строке MATLAB введите:

    plcladderinstructions
    Эта команда содержит инструкции, которые может использовать кодер ПЛК Simulink. Поддерживаемые команды, отображаемые в выходных данных, включают в себя команду SQR.

    Пример на рисунке показывает использование команды SQR внутри блока команд Add-On.

Ограничения

Блок пользовательских инструкций не поддерживает инструкции:

  • С типом данных array и struct (составной) в качестве аргументов.

  • Для этого требуется внутреннее хранение данных (состояния).

См. также

| | |

Связанные темы