MATLAB Function Block Simulink PLC Coder Структурированная генерация текстового кода

Конфигурирование rand функция для генерации кода ПЛК

Simulink® PLC Coder™ генерирует структурированный текстовый код для MATLAB® Функциональные блоки и Stateflow® графики, которые используют MATLAB rand функция. Вы реализуете rand функция при помощи генератора псевдослучайных чисел, который работает с IDE ПЛК, поддерживающими uint32 тип данных. Программа проверяет соответствие, чтобы сообщить диагностику для несовместимых целей. Эти цели были протестированы для rand поддержка функций.

  • 3S-Smart программные решения CODESYS версии 2.3 или 3.3 или 3.5 (SP4 или более поздняя)

  • B & R-студия автоматизации® 3.0 или 4.0

  • Beckhoff® TwinCAT® 2.11 или 3

  • OMRON® Sysmac® Студия версии 1.04, 1.05, 1.09 или 1.12

  • Версия Rexroth IndraWorks 13V12 IDE

  • PLCopen XML

Требования к блокам Width Simulink для генерации кода ПЛК

Вместо использования блока Width Simulink, внутри MATLAB Function используйте MATLAB length функция для вычисления ширины входного вектора.

Ограничения типа данных параметра рабочей области

Если тип данных значений параметров рабочего пространства MATLAB не совпадает с типом данных параметров блоков в модели, значение переменной в сгенерированном коде устанавливается равным нулю.

Если вы задаете тип Simulink.Parameter объект при помощи DataType свойство, используйте типизированное выражение при присвоении значения объекту параметра. Для примера, если Simulink.Parameter K1 объекта сохраняет значение типа single, используйте типизированное выражение, такое как single(0.3) при присвоении значения K1.

K1 = Simulink.Parameter;
K1.Value = single(0.3);
K1.StorageClass = 'ExportedGlobal';
K1.DataType = 'single';

Ограничения

При генерации структурированного текста из блоков MATLAB Function, это ограничения:

  • Массивы ячеек в блоках MATLAB Function не поддерживаются.

  • Если вы хотите использовать функцию из тулбокса в блоке MATLAB Function, необходимо проверить страницу функции тулбокса, чтобы увидеть, поддерживает ли этот блок генерацию кода из Simulink PLC Coder.

  • При генерации теста для моделей, которые используют rand функция, разная rand выходные значения могут быть сгенерированы при сборе тестовых векторов по сравнению с генерацией кода, что приводит к отказам верификации testbench. Чтобы предотвратить эти отказы, убедитесь, что rand выходное значение остается постоянным для различных компиляций модели.