- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
输入端口的获取:
TLC文件中,直接使用语句:NumDataInputPorts
可以获取输入端口数目。
%assign s=NumDataInputPorts
%y0=%s;
C 语言文件中生成:
Test_TLC_Y.Out_nan= 5;
访问范围:
如果变量定义在脚本中,只有脚本里的语句可以访问。定义在函数里,只有函数可以访问, 定义在 for 循环语句的内部,访问范围也只有这个语句块内部。
循环体内外使用同样的变量,值却不同就是这个道理。
%assign uport = LibBlockInputSignal(portIdx, , lcv, sigIdx)
%if portIdx == 0
%if signs[portIdx] == +
%assign
u
=
%uport
%else
%assign
u
=
- %uport
%endif
%else
%assign
u
=
u + %signs[portIdx] %uport
%endif
%if ((portIdx + 1) % 4) == 0
%assign u = u + \n
其中下面这条语句作用:
%if ((portIdx + 1) % 4) == 0
%assign u = u + \n
变量满足三个的时候就开始换行:
下面为失败的代码:
%function Outputs(block, system) Output
/* %TypeBlock: %Name*/
%%
%assign
u0
=
LibBlockInputSignal(0, , , 0)
%assign
u1
=
LibBlockInputSignal(1, , , 0)
%assign
y0
=
LibBlockOutputSignal(0, , , 0)
%if (NumDataInputPorts==2)
%y0=0;
%else
%foreach port = NumDataInputPorts
%if (port2)
%continue
%else
%assign uport = LibBlockInputSignal(port,
,
,
0)
int_T p;
if (%u0==%uport)
{p=1;
break;} else p=0;
%endif
%endforeach
%if (p==1)
%foreach port = NumDataInputPorts
%if (port2)
%continue
%else
%assign uport = LibBlockInputSignal(port,
,
,
0)
%if (u1==uport)
%y0=1;
%else
%y0=0;
%endif
%endif
%endforeach
%endif
%endif
%endfunction
换行符号的标志:
double Amplitude[]={ \
%foreach i=nAmpl-1
%Ampl[i], \
%endforeach
%Ampl[nAmpl-1]};
加上反斜杠即代表换行,或者用 matlab 的换行符号标志,三个点。
在 TLC 中完全采用C 语言的变量定义方式,注意下文的int 和 double
int channel; int sample;
int inCyclePos;
%assign nAmpl = SIZE(%Ampl, 1)
double Amplitude[]={ \
%foreach i=nAmpl-1
%Ampl[i], \
%endforeach
%Ampl[nAmpl-1]};
C 语言中虽然是大括号结尾,但是定义数组,也需要加上分号,如下:
S 函数的可变参数对 TLC 代码生成的影响
1. 定义如下S 函数代码ssSetNumSFcnParams(S, 2);
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {
return; /* Parameter mismatch will be reported by Simulink */
}
ssSetNumContStates(S, 0);
ssSetNumDiscStates(S, 0);
ssSetSFcnParamTunable(S,0,0); ssSetSFcnParamTunable(S,1,0);
这里设置了两个输入参数,必须如下列语言一样,每个都设置输入参数是否可变:
ssSetSFcnParamTunable(S,0,0); ssSetSFcnParamTunable(S,1,0)
如果只设置一个,ssSetSFcnParamTunable(S,0,0),但是有两个参数在 S 函数编译(就是使用 m
您可能关注的文档
最近下载
- 第九讲混一南北与中华民族大统合(元朝时期)-第十讲中外会通与中华民族巩固壮大(明朝时期)-中华民族共同体概论专家大讲堂课件.pptx VIP
- 成人术中非计划低体温预防与护理-2024中华护理学会团体标准.pptx VIP
- 2025年-《中华民族共同体概论》试题及答案解析-新版.pdf VIP
- 《中华民族共同体概论》试题汇总.pdf VIP
- 2023版思想道德与法治绪论1我们处在中国特色社会主义新时代.pdf VIP
- 2025年-中华民族共同体概论-第八讲 共奉中国与中华民族内聚发展(辽宋夏金时期).docx VIP
- Ti-Mg脱氧工艺对低碳钢板气电立焊接头组织和性能的影响.pdf VIP
- 2025年“国学小名士”专题知识竞赛题库500题(含答案).docx
- 新版中华民族共同体概论课件第八讲共奉中国与中华民族内聚发展(辽宋夏金时期)-2025年版.pdf VIP
- 初一英语上册英语竞赛试题.doc VIP
原创力文档


文档评论(0)