Как получить параметр S-функции, как вывод блока в файле .tlc - PullRequest
0 голосов
/ 21 октября 2019

Я часть из S-функции ver_file_data.c, где я получаю определение параметра в диалоговом окне блока.

#define DVC_TYPE(S)         ssGetSFcnParam(S, 0)

И позже, внутри mdlRTW (SimStruct * S)

unsigned char dvc_tp    = *mxArrayToString(DVC_TYPE(S));
if (!ssWriteRTWScalarParam(S,"dvc_tp",&dvc_tp,DTINFO(SS_UINT8,0)))
    return;

dvc_tp содержит значение, введенное в одно из полей в диалоговом окне блока. Позже в файле tlc я хочу, чтобы вывод блока принял значение этой переменной dvc_tp. Я пробовал разные мысли, но я получаю следующую ошибку при сборке из simulink: «выражение должно быть изменяемым lvalue»

 dvc_tp_guc = %<dvc_tp>;  
%assign dvc_tp_out     = LibBlockOutputSignalAddr(0, "", "", 0) 
%dvc_tp_out>          = %assign dvc_tp_guc;

Matlab версия R2006b S-функция (C, уровень 2) блок.

Спасибо. С наилучшими пожеланиями.

...