Чтобы записать TLC-код для вашей S-функции, необходимо понять процесс Target Language Compiler для генерации кода. Как описано ранее, Simulink® программное обеспечение генерирует файл, который содержит частичное представление семантики выполнения блока. The model.rtw файл является ASCII-файлом, которая содержит структуру данных в виде вложенного набора записей TLC. Записи состоят из пар имя/значение свойства. Компилятор целевого языка читает model.rtw файл и преобразует его во внутреннее представление.model.rtw
Далее Target Language Compiler запускает (интерпретирует) файлы TLC, начиная сначала с системного целевого файла, например grt.tlc. Это точка входа в систему TLC и блочные файлы, то есть другие файлы TLC, включенные в или сгенерированные из TLC файла, переданные в Target Language Compiler в его командной строке (grt.tlc). Когда запускается код TLC в системе и целевых файлах блоков, он использует, добавляет и изменяет существующие пары имя/значение свойства и записи, первоначально загруженные из файл. model.rtw
model.rtw СтруктураСтруктура файл отражает структуру блока:model.rtw
Для каждой невиртуальной системы в модели существует соответствующая системная запись в файл.model.rtw
Для каждого невиртуального блока в невиртуальной системе существует запись блока в файл в соответствующей системе.model.rtw
Основная структура являетсяmodel.rtw
CompiledModel {
System {
Block {
DataInputPort {
...
}
DataOutputPort{
...
}
ParamSettings {
...
}
Parameter {
...
}
}
}
}Для каждого вхождения данного блока в модели соответствующая запись блока существует в файл. Системный целевой файл TLC кода циклов через записи блоков и вызывает функции в соответствующем целевом файле блоков для этого типа блоков. Для inlined S-функций он вызывает inlining TLC файла.model.rtw
Существует метод для получения специфичной для блока информации (внутренней блочной информации, в отличие от входов, выходов, параметров и т.д.) в блочную запись в файл для блока при помощи model.rtwmdlRTW функция в функции C MEX блока.
Помимо прочего, mdlRTW функция позволяет вам выписать настройки параметра (ParamSettings), то есть уникальная информация, относящаяся к этому блоку. Для настроек параметра в блочном файле TLC, прямой доступ к этим полям осуществляется из блочного кода TLC и может использоваться, чтобы изменить сгенерированный код по желанию.