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, внутри 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
выходное значение остается постоянным для различных компиляций модели.