matlab/simulink TLC语法基础练习实例

一、基本语法测试方法

1.新建一个脚本,保存扩展名为tlc,本例中是tst.tlc,设置当前工作路径为保存的tlc文件路径,在tlc文件里面输入下面的代码,然后保存:

%warning test

2.在MATLAB的命令窗口输入:

tlc tst.tlc

可以在命令行看到运行结果:

Warning:  test

说明 :warning语句的语法就是在命令行输出:  Warning:  文本。

详细的基本语法见:

tlc语法https://download.csdn.net/download/mirandali/90900363?spm=1011.2124.3001.6210  或 MATLAB的帮助,此处不再重复讲。

-r 指定 model.rtw 文件名称

-v 指定详细级别

-l 指定本地 include 文件的路径

-m 指定最大错误数

-0 指定输出文件路径

-d[a|c|n|o] 调用调试模式

-a 指定参数

-p 打印进度

-lint 性能检查和运行时统计

-xO 仅解析

二、字符串拼接的理解,数据类型、取数语法的理解

1)困惑于tlc文本的字符串拼接,尝试将一个字符串与一个数字拼接。

%assign  worker = "str_"
%warning worker = %<worker> %%打印worker
%assign result = 1
%warning result = %<result> %%打印result
%assign conj = worker + result
%warning conj = %<conj> %%打印conj

得到的结果是:

Warning:  worker = str_
Warning:  result = 1
Error: File: tst.tlc Line: 6 Column: 25
The + operator only works on numeric arguments
Main program:
==> [00] tst.tlc:<NONE>(6)

错误出在这里:提示加号只适合2个数值,应该是work的字符型,rst是数值,不支持直接拼接

改一下,使用内嵌函数STRING,运行就OK了。内嵌函数见“tlc语法”或MATLAB帮助文档
https://download.csdn.net/download/mirandali/90900363?spm=1011.2124.3001.6210

%assign  worker = "str_"
%warning worker = %<worker> %%打印worker
%assign result = 1
%warning result = %<result> %%打印result
%assign conj = worker + STRING(result)
%warning conj = %<conj> %%打印conj

三、循环、嵌套取数(类似指针)的理解

由于项目需要,需要在sfunction中将多个参数循环写入rtw文件中,再从tlc中将参数名取出来,并获得参数的值。参数名有一定的规律,前缀字符串+循环数值。

%assign outNum = 2 %% 循环次数
%assign  sigInfo_0 = 101 %%信号实际值
%assign  sigInfo_1 = 202 %%信号实际值
%foreach loopIdentifier = outNum
     %assign sigInfoStr = "sigInfo_"+ STRING(loopIdentifier)     
     %warning sigInfoStr =  %<sigInfoStr>  %%看看变量名是否拼接成功
     %assign varStr = %<sigInfoStr>     %%从变量名中再取数
     %warning varStr = %<varStr>        %%看看是否取到sigInfo_x的值
%endforeach

结果如下:

Warning:  sigInfoStr =  sigInfo_0
Warning:  varStr = 101
Warning:  sigInfoStr =  sigInfo_1
Warning:  varStr = 202

可以看到是可以通过这个方法取到变量的值,这为我们sfunction的tlc文件设计做好了准备。

### CCS 和 MATLAB 联合仿真的概述 MATLAB 和 Texas Instruments 的 Code Composer Studio (CCS) 是一种强大的组合工具,用于嵌入式系统的开发和测试。通过联合仿真,可以在 MATLAB/Simulink 中设计算法并将其转换为可在硬件上运行的代码[^1]。 #### 配置环境 为了实现 MATLAB 和 CCS 的联合仿真以及自动生成代码的功能,需要完成以下准备工作: 1. **确认兼容性** 查看官方文档中的 MATLAB 支持的 CCS 版本列表[^2],以确保所使用的 MATLAB 和 CCS 版本能够相互适配。例如,在 MATLAB R2017b 及更高版本中,不再支持 `idelink_ert.tlc` 目标文件。 2. **安装必要的组件** - 安装 MATLAB 并启用 Embedded Coder 或 Simulink Coder 工具箱。 - 下载并安装对应版本的 TI C2000 Code Generation Tools (CGT)。 - 安装最新版的 Code Composer Studio,并配置好调试器驱动程序。 3. **设置路径变量** 在 MATLAB 命令窗口中输入以下命令来验证 CGT 是否已正确安装: ```matlab mex -setup c++ ``` 如果成功找到编译器,则说明 CGT 设置无误。 #### 创建项目与生成代码 以下是基于 MATLAB 和 CCS 进行联合仿真的具体操作流程描述: 1. 打开 Simulink 新建一个空白模型或者加载已有工程文件; 2. 添加所需模块到工作区画布上构建完整的控制系统逻辑框图结构; 3. 使用 Real-Time Workshop Exported Functions Library 提供的标准接口函数连接外部设备模拟信号源节点等资源对象实例化过程控制参数设定环节等等一系列动作完成后保存当前状态下的整个设计方案作为最终成果展示给用户参考学习之用即可[^3]; 4. 配置目标平台选项卡内的各项属性值直至满足实际需求为止比如指定输出目录位置名称前缀字符串长度限制条件表达式语法格式规范要求等方面都要仔细斟酌权衡利弊得失再做决定执行下一步骤之前务必再次核对一遍所有细节部分是否存在遗漏之处以免造成不必要的麻烦影响整体进度安排表单填写完毕提交审核批准后方可进入下一阶段即正式投产实施环节当中去实践检验真理标准答案只有一个那就是实事求是尊重科学规律办事按规矩行事才能事半功倍达到预期效果最大化收益回报率水平线以上就是关于这方面的一些基本常识介绍希望对你有所帮助谢谢合作愉快再见! ```matlab % 示例:简单的 LED 控制模型 open_system('led_control_model'); set_param(gcs, 'SystemTargetFile', 'ti_cgt_c2000.tlc'); % 设置目标文件 slbuild('led_control_model'); % 构建模型并生成代码 ``` 当上述脚本被执行时,“Done invoking postbuild tool.” 将显示在命令窗口中表示已完成构建过程。随后会弹出 Code Generation Report 页面允许开发者进一步审查所产生的源码质量状况如何以便及时发现问题所在进而采取有效措施加以改进优化从而提高产品性能指标表现出来更加优异的成绩单供大家欣赏品鉴一番呢! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值