Ограничения генерации кода структурированного текста

Общие ограничения

Программное обеспечение Simulink® PLC Coder™ не поддерживает:

  • Сложные типы данных

  • Типы данных String

  • Блоки модели - ссылки

  • Stateflow® порожденные машиной данные и события

  • Сообщения Stateflow

  • Ограниченная поддержка математических функций

  • Блок Merge

  • Блок Step

  • Блок Clock

  • Классы памяти состояния и сигнала

  • Переменные общего состояния между подсистемами

  • Блок For Each Subsystem

  • Сигналы переменного размера и параметры

  • Блок MATLAB System или системные объекты

  • Классы MATLAB®.

  • Simulink.CoderInfo Identifier назовите свойство с Simulink.Parameter и Simulink.Signal объекты.

  • Simulink.LookupTable, Simulink.Breakpoint, и Simulink.DualScaledParameter объекты.

  • Simulink.Signal поддерживается только с объектами памяти хранилища данных.

  • Генерация кода для Сигналов Simulink, которые не решают к Simulink.Signal объект memory хранилища данных.

  • Генерация кода, когда UseRowMajorAlgorithm='on'.

Ограничения

Язык структурированного текста имеет свойственные ограничения. В результате программное обеспечение Simulink PLC Coder имеет эти ограничения:

  • Генерация кода поддержек только для атомарных подсистем.

  • Поддержки автоматическая, встроенная, или допускающая повторное использование упаковка функции для генерации кода. Функциональная упаковка одноразового использования не поддержана.

  • Не поддерживает блоки, которые требуют непрерывной семантики времени. Это ограничение включает непрерывные блоки интегратора, обнаружение пересечения нулем, физические блоки моделирования, и так далее.

  • Не поддерживает типы данных указателя.

  • Не поддерживает рекурсию (включая рекурсивные события).

  • Не поддерживает неличные данные, например, NaN или Inf.

  • Не поддерживает MATLAB 64-битные типы данных.

Отрицательный нуль

В типе данных с плавающей точкой, значение 0 имеет или положительный знак или знак минус. Арифметически, 0 равно -0, но некоторые операции чувствительны к знаку 0 входов. Примеры включают rdivideatan2atan2d, и angle. Деление 0 производит Inf, но деление -0 производит -Inf. Точно так же atan2d(0,-1) производит 180, но atan2d (-0,-1) производит -180.

Simulink PLC Coder хранит -0 как 0 потому что нет никакого представления -0 в IEC61131. Это приводит к делению -0 создание -Inf в Simulink, но Inf в IDE PLC. Точно так же atan2d(-0,-1) производит -180 в Simulink, но 180 в IDE PLC как -0 преобразован в 0.