Процесс компилятора выходного языка

Чтобы записать код TLC для вашей S-функции, необходимо понять процесс Компилятора Выходного языка для генерации кода. Как ранее описано, программное обеспечение Simulink® генерирует файл model.rtw, который содержит частичное представление семантики выполнения блок-схемы. Файлом model.rtw является ASCII-файл, который содержит структуру данных в форме вложенного набора записей TLC. Записи включают имя свойства / пары значения свойства. Компилятор Выходного языка читает файл model.rtw и преобразовывает его во внутреннее представление.

Затем, выполнения Компилятора Выходного языка (интерпретируют) файлы TLC, запуская сначала с системного конечного файла, например, grt.tlc. Это - точка входа к системе TLC и файлы блока, то есть, другие файлы TLC, включенные в или сгенерированный из файла TLC, передали Компилятору Выходного языка на его командной строке (grt.tlc). Когда код TLC в системе и конечных файлах блока запущен, это использует, добавляет к и изменяет существующее имя свойства / пары значения свойства и записи, первоначально загруженные из файла model.rtw.

model .rtw структура

Структура файла model.rtw зеркально отражает структуру блок-схемы:

  • Для каждой невиртуальной системы в модели в файле model.rtw существует соответствующая системная запись.

  • Для каждого невиртуального блока в невиртуальной системе существует запись блока в файле model.rtw в соответствующей системе.

Базовая структура model.rtw

CompiledModel {
  System {
    Block {
      DataInputPort {
        ...
      }
      DataOutputPort{
        ...
      }
      ParamSettings {
        ...
      }
      Parameter {
        ...
      }
    }
  }
}

Операционная последовательность

Для каждого вхождения данного блока в модели соответствующая запись блока существует в файле model.rtw. Системный конечный файл циклы TLC кода через блок записывает и вызывает функции в соответствующем конечном файле блока для того типа блока. Для встроенных S-функций это вызывает встраивание файл TLC.

Существует метод для того, чтобы получить специфичную для блока информацию (внутренняя информация о блоке, в противоположность входным параметрам, выходным параметрам, параметрам, и т.д.) в запись блока в файле model.rtw для блока при помощи функции mdlRTW в MEX-функции C блока.

Среди прочего функция mdlRTW позволяет вам выписывать установки параметров (ParamSettings), то есть, уникальная информация, имеющая отношение к этому блоку. Для установок параметров в файле блока TLC прямые доступы к этим полям сделаны из кода блока TLC и могут использоваться, чтобы изменить сгенерированный код, как желаемый.

Похожие темы