0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

新功能发布 | TSMaster的MATLAB自动化控制模块

上海同星智能科技有限公司 2022-09-13 11:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

今天我们继续来介绍TSMaster新功能—MATLAB自动化控制模块。该模块提供了大量用于MBD开发的小工具。还包含了这个可以将c代码自动转化为stateflow代码的程序。

MATLAB的自动化对象

MATLAB automation object /

> 首先点击连接,连接到matlab的自动化对象,需要启动matlab的主程序,一旦连上之后,matlab程序就可以实时被TSMaster软件来控制。那么我们点击之后可以看到连接按钮变灰,然后断开连接按钮变成高亮,那么这个时候就可以通过我们的软件来控制matlab程序了。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge505f7ce-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 然后我们可以点击这个c代码转stateflow,点击解析,会实现一个逻辑树,然后再点击生成代码。这个时候我们就可以看到,我们的示例代码就可以自动转换成stateflow代码,该功能可以迅速的将已有的C代码的逻辑一键转换成完全等价的stateflow的逻辑,从而提高MBD的开发效率。那么转化完成的效果就是这样,双击chart1展开之后就可以看到跟刚才的c脚本完全对应的stateflow的逻辑。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge571f262-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

SIL和HIL环境的自动构建

Automatic build of SIL and HIL /

只要我们拥有可以生成代码的Simulink仿真模型,就可以通过此模块来实现该模型在TSMaster环境中的实时运行。从而让我们的算法可以在软件设计的前期就可以参与到HIL和SIL的实时仿真中来,同时有了小程序的加持,我们还可以对算法进行细致入微的调试、监控,甚至将二进制文件发布给其他的用户,进行联合仿真,那么具体如何实现呢?

> 我们还是从0开始,举一个例子来说明:首先我们切换到第一个页面,SIL and HIL页面,可以看到这个页面有4个步骤,按照这4个步骤顺序执行,就可以迅速搭建一个HIL环境。那么第一步是算法模型的配置,他给了两个输入,一个是我们的小程序的名称,第二个是Simulink模型文件。对于第一个输入,只要给我们的新构建的小程序起个名字就可以了,比如说这个默认的Model1,我们输入之后点击最右边的绿色的勾,它的作用就是判断Model1是否存在。如果不存在就创建一个,如果存在就使用这个Model1。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge5c3bb6a-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 这样可以将我们新的算法集成到我们现有的小程序中,在这里就需要填入现有的小程序的模型名称,也就是从中可以选择我们的小程序名称。那么这一步成功之后,就来到了Simulink模型文件的设置过程。在此我们需要找一个Simulink的实例程序进行讲解,我们首先打开Simulink,在Simulink的启动页会有很多的实例。我们找一个比如展开这个stateflow,里面有空白图、简单图分层图等等。我们选择这个分层图,就打开了一个名为untitled的模型,我们看到这个模型,包含了一个run和一个cooldown。这两个大的状态run了30秒之后,会冷却 5秒,然后5秒之后继续run,从此循环往复,而在这个run的过程中,是每隔1秒就让输出在10和1之间切换,这就是当前stateflow的简单逻辑。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge60eea36-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 我们按esc返回到顶层,可以看到这个模型只有一个输出,我们加一个示波器来看看波形。按F5运行,当然这个运行需要将当前的工作目录切换掉,我们可以选择随便一个目录比如说新建个文件夹,然后我们回到刚才的模型按F5运行成功,那么打开示波器我们可以看到输出和我们之前的推断是完全吻合的。也就是运行了30秒之后休息5秒,然后继续运行。我们将这个模型另存为simple,接下来将这个示波器删除,并且添加一个out接口,将这个模型配置成可以代码生成的模型,随后我们就要配置一下代码生成的细节。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge65ac212-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 我们进入模型的设置,点击代码生成,首先要将这个grt改为ert.tlc。因为目标的环境是嵌入式环境,同时勾选仅生成代码,然后展开代码生成,进入到模板中,将“生成示例主程序”的勾去掉,这样就不会自动生成main函数。因为这个main函数的文件往往是不会用的。至此配置完成。我们点击保存并且关闭这个模型。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge69af5e4-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

MATLAB控制模块

MATLAB Control module /

> 接下来就回到matlab控制模块中,选择Simulink模型文件,点击绿色的箭头按钮,选中我们刚才的simple.slx,那么可以看到前两步过了之后步骤1就算执行完成。接下来就到了cache文件夹和codegen文件夹的设定,那么留空就表示生成到默认的位置。我们可以将这两个位置改掉,还是点击绿色的按钮,然后可以选择我们的cache文件夹,我们可以新建一个cache,并且选择这个文件夹,那么cache文件夹就已经设置成功。接下来就是codegen,还是一样,我们可以在cache旁边建一个codegen,点击选择,那么这两个文件夹也就设置完毕。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge6db34ce-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 然后就到了代码生成的环节。我们只要点击启动Simulink代码生成,等待代码生成完毕就可以了。那么生成的代码就会存放到刚才设定的codegen这个文件夹中。第一次生成会耗费一点时间,我们需要耐心的等待。那么Simulink的执行过程是同步的,而且比较慢,所以TSMaster可能会报警。现在我们可以看到代码生成已经完成。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge71b1f08-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 那么接下去就是自动复制已生成的代码到我们的小程序的代码库里面,点击之后可以显示已copy6个文件,那么接下去第二步就已经完成。也就是代码生成的过程已经成功实现,再往下就是代码集成。代码集成目的就是将算法给调用起来,我们点击编辑小程序的源码按钮,打开Model1这个小程序,我们首先看一下属性,然后点击代码库的路径,可以看到simple.c和.h文件以及其他的一些用到的头文件。打开这两个文件,首先我们看一下simple.h文件,那么这个文件是一个接口文件,可以看到这里面有三个函数,初始化step和terminate函数,我们需要分别将这三个函数的调用拷贝到Model1小程序里面。首先就是要用这个simple.h头文件。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge777fba6-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 我们回到小程序,点击全局定义#include,"simple.h"。那么接下来就是COPY。我们双击这个simple初始化,然后到小程序的初始化事件中,粘贴然后再copy step到我们的小程序的step函数中,粘贴然后就是terminate,回到我们小程序的停止事件,同样粘贴,这样就实现了函数调用。那么需要注意的就是step函数的周期了,默认周期是5毫秒,但模型中肯定不是。我们首先还是打开这个simple.slx,然后我们到模型的属性看一下这个模型的相关的求解器的属性。它是定步长,并且步长是0.1秒,那么0.1秒在TSMaster里面就是100毫秒,双击step函数,将周期改为100,那么接下来我们需要观测一下out1这个信号

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge7bdc06e-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 我们可以直接在变量点右键,添加变量,输入我们这个out1,那么就新建了一个out1的变量,然后我们就需要在代码里找到这个变量,那么可以看到这个extern,这里写的是outports,那就是simple y这个变量,它有一个成员叫out1,就是我们需要用到的变量,我们可以在这里写下out1.set,把刚才这个out1拷贝过来,这样就实现了变量的赋值。那么小程序就算编写完毕。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge8093616-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

执行HIL和SIL的仿真

Perform emulation of HIL and SIL /

> 在此我们可以直接点击运行仿真,那么我们的算法模型其实就已经实时的在运行,这个时候如果需要观测信号,首先要启动我们的TSMaster的仿真,然后我们可以打开一个观测窗口,比如说图形,打开之后我们可以点右键添加系统变量,通过内部变量,找到model 1的out 1这个变量,然后我们可以修改他的范围,比如说改成1—15 -1—15,那么就可以看到这个图形的显示跟我们刚才看到的Simulink示波器画面是完全一样的。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge85863a8-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

> 这个信号是可以设成竖线显示,这样就更符合这个信号代表的逻辑含义,那么这个out1的信号是实时刷新的,这就意味着我们可以通过总线接口将此算法模型接入到整车网络,可以与实际的控制器进行互动,那么以上就是matlab控制模块进行HIL的简单的方法。

e4ef8ea8-307a-11ed-9ade-dac502259ad0.pnge8b12ba0-307a-11ed-9ade-dac502259ad0.pnge5495168-307a-11ed-9ade-dac502259ad0.png

以上就是我们本期介绍的TSMaster新功能之MATLAB自动化控制模块,我们下期再见!(具体操作解说可以观看我们B站视频哦)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动化
    +关注

    关注

    30

    文章

    5884

    浏览量

    89137
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    软件更新 | TSMaster 9-10月版本发布:TAC脚本进阶,小程序易用性大幅提升

    为持续赋能用户的研发与测试工作,TSMaster正式发布2025年9-10月功能更新。本次版本聚焦于核心自动化能力的强化与用户体验的优化,重点带来了TAC脚本全面进阶、小程序易用性升级
    的头像 发表于 10-31 20:04 962次阅读
    软件更新 | <b class='flag-5'>TSMaster</b> 9-10月版本<b class='flag-5'>发布</b>:TAC脚本进阶,小程序易用性大幅提升

    电源模块的短路保护如何通过自动化测试软件完成测试

    搭建 自动化测试软件运行于特定测试系统架构之上。以国产测试平台ATECLOUD电源模块进行重复短路测试的系统为例,其无代码搭建测试方案的结构,可以大幅度提升测试的效率。这种集成架构为自动化
    的头像 发表于 09-03 19:10 553次阅读
    电源<b class='flag-5'>模块</b>的短路保护如何通过<b class='flag-5'>自动化</b>测试软件完成测试

    干货分享 | TSMaster MBD模块全解析:从模型搭建到自动化测试的完整实践

    在汽车电子MBD开发中,TSMasterMBD模块深度集成于TSMaster先进的总线分析、仿真与测试平台,旨在为工程师提供一套从模型自动编译、代码集成到自动化测试的端到端无缝解决方案
    的头像 发表于 08-22 20:04 1883次阅读
    干货分享 | <b class='flag-5'>TSMaster</b> MBD<b class='flag-5'>模块</b>全解析:从模型搭建到<b class='flag-5'>自动化</b>测试的完整实践

    工业远程自动化控制系统功能图谱:50 + 细分功能的协同运作

    工业远程自动化控制系统作为连接分散生产单元与集中管理中枢的桥梁,其功能体系呈现多维度、层级的特点。从基础的数据交互到复杂的智能决策,从单一设备控制
    的头像 发表于 08-19 17:44 619次阅读

    环球仪器Uflex多功能自动化平台的优势

    在电路板的组装过程中,当遇上安装散热器、接口模块、屏蔽罩等时,要确保扭矩精准,避免损坏电路或螺纹滑牙等工序时, Uflex多功能自动化平台能提供最理想的解决方案。
    的头像 发表于 08-16 09:29 898次阅读

    PLC 自动化控制系统:功能全面 + 优势显著,工业控制的优选

    器)。作为工业自动化的“神经中枢”,PLC自动化控制系统通过编程实现对设备的逻辑控制、时序管理和数据交互,已成为制造业、能源、交通等领域不可或缺的核心技术,重塑工业生产模式。 一、核心
    的头像 发表于 08-05 16:04 948次阅读

    自动化测试平台ATECLOUD推出AI算法功能

    作为纳米软件自主研发的自动化测试平台,ATECLOUD 始终致力于为用户提供高效优质的测试解决方案。面对5G、AI等前沿技术的迭代发展,平台深度融合新技术持续升级测试能力,最新推出的AI算法功能更在自动化测试领域实现突破性创新。
    的头像 发表于 07-22 16:10 466次阅读
    <b class='flag-5'>自动化</b>测试平台ATECLOUD推出AI算法<b class='flag-5'>功能</b>

    电源模块在配电自动化终端中的应用

    配电终端设备的可靠性和自动化程度,直接影响到整个配电自动化系统的可靠性和自动化水平。由于配电终端设备一般安装于户外或比较偏僻的地方,不可能有直流电源提供,因此,配电网终端设备的直流供电方式成为各配网
    的头像 发表于 07-22 10:20 1.8w次阅读
    电源<b class='flag-5'>模块</b>在配电<b class='flag-5'>自动化</b>终端中的应用

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业
    的头像 发表于 07-15 16:32 525次阅读
    <b class='flag-5'>自动化</b>计算机的<b class='flag-5'>功能</b>与用途

    软件更新 | 以太网通信仿真功能已上线!TSMaster 202503 版本更新速览

    。立即升级TSMaster202503最新版本,解锁更强大的仿真功能吧!1.仿真模块【以太网通信仿真】→【仿真】-【以太网通信仿真】更新功能:以太网通信仿真
    的头像 发表于 04-12 20:03 1003次阅读
    软件更新 | 以太网通信仿真<b class='flag-5'>功能</b>已上线!<b class='flag-5'>TSMaster</b> 202503 版本更新速览

    欧姆龙发布机械自动化控制器NX102-1D00

    2025年3月,欧姆龙自动化(中国)有限公司新品【机械自动化控制器NX102-1D00】正式发布。作为NX102系列的革新之作,该产品集成16轴控制
    的头像 发表于 03-31 16:15 970次阅读

    软件更新 | 你期待的新功能来了!TSMaster 202502 新版本亮点抢先看!

    您快速了解和掌握新功能,充分利用TSMaster提升工作效率。1.分析模块01.【总线回放】离线回放新增通道映射功能→【分析】-【总线回放】-【离线回放】-【通道映射】
    的头像 发表于 03-07 20:03 1105次阅读
    软件更新 | 你期待的<b class='flag-5'>新功能</b>来了!<b class='flag-5'>TSMaster</b> 202502 新版本亮点抢先看!

    三菱PLC自动化控制应用领域

    在现代工业生产中,自动化控制技术扮演着至关重要的角色。三菱电机作为自动化技术的先驱之一,其PLC产品以其高可靠性、高性能和易用性在全球范围内被广泛采用。 1. 制造业 制造业是PLC应用最广泛的领域
    的头像 发表于 12-26 17:34 3140次阅读

    Amazon Q Business发布新功能 助力企业提升内部工作效率

    新功能旨在提升Amazon Q Business和Amazon Q in QuickSight的洞察能力,增强跨应用的生成式AI体验,为流行的商业应用提供50余种操作,并简化复杂工作流程的自动化方式
    的头像 发表于 12-19 15:29 715次阅读

    自动化水厂监控系统

    随着科技的发展,自动化技术在各行各业中的应用日益广泛,而自动化水厂监控系统作为智慧水务的重要组成部分,具备多种功能,以满足水厂安全、高效、稳定运行的需求,正逐步改变着传统水厂的运营模式。提升供水效率
    的头像 发表于 12-16 16:17 1000次阅读