Я часть из 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) блок.
Спасибо. С наилучшими пожеланиями.