如何获取S函数参数,作为.tlc文件中块的输出

时间:2019-10-21 12:50:54

标签: matlab simulink s-function tlc

我来自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构建时遇到以下错误:“表达式必须是可修改的左值”

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

Matlab版本R2006b S功能(C,2级)块。

谢谢。最好的问候。

0 个答案:

没有答案