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

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

Похожие темы