0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

新功能發(fā)布 | TSMaster的MATLAB自動(dòng)化控制模塊

上海同星智能科技有限公司 ? 2022-09-13 11:53 ? 次閱讀

前言

今天我們繼續(xù)來介紹TSMaster新功能—MATLAB自動(dòng)化控制模塊。該模塊提供了大量用于MBD開發(fā)的小工具。還包含了這個(gè)可以將c代碼自動(dòng)轉(zhuǎn)化為stateflow代碼的程序。

MATLAB的自動(dòng)化對(duì)象

MATLAB automation object /

> 首先點(diǎn)擊連接,連接到matlab的自動(dòng)化對(duì)象,需要啟動(dòng)matlab的主程序,一旦連上之后,matlab程序就可以實(shí)時(shí)被TSMaster軟件來控制。那么我們點(diǎn)擊之后可以看到連接按鈕變灰,然后斷開連接按鈕變成高亮,那么這個(gè)時(shí)候就可以通過我們的軟件來控制matlab程序了。

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

> 然后我們可以點(diǎn)擊這個(gè)c代碼轉(zhuǎn)stateflow,點(diǎn)擊解析,會(huì)實(shí)現(xiàn)一個(gè)邏輯樹,然后再點(diǎn)擊生成代碼。這個(gè)時(shí)候我們就可以看到,我們的示例代碼就可以自動(dòng)轉(zhuǎn)換成stateflow代碼,該功能可以迅速的將已有的C代碼的邏輯一鍵轉(zhuǎn)換成完全等價(jià)的stateflow的邏輯,從而提高M(jìn)BD的開發(fā)效率。那么轉(zhuǎn)化完成的效果就是這樣,雙擊chart1展開之后就可以看到跟剛才的c腳本完全對(duì)應(yīng)的stateflow的邏輯。

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

SIL和HIL環(huán)境的自動(dòng)構(gòu)建

Automatic build of SIL and HIL /

只要我們擁有可以生成代碼的Simulink仿真模型,就可以通過此模塊來實(shí)現(xiàn)該模型在TSMaster環(huán)境中的實(shí)時(shí)運(yùn)行。從而讓我們的算法可以在軟件設(shè)計(jì)的前期就可以參與到HIL和SIL的實(shí)時(shí)仿真中來,同時(shí)有了小程序的加持,我們還可以對(duì)算法進(jìn)行細(xì)致入微的調(diào)試、監(jiān)控,甚至將二進(jìn)制文件發(fā)布給其他的用戶,進(jìn)行聯(lián)合仿真,那么具體如何實(shí)現(xiàn)呢?

> 我們還是從0開始,舉一個(gè)例子來說明:首先我們切換到第一個(gè)頁面,SIL and HIL頁面,可以看到這個(gè)頁面有4個(gè)步驟,按照這4個(gè)步驟順序執(zhí)行,就可以迅速搭建一個(gè)HIL環(huán)境。那么第一步是算法模型的配置,他給了兩個(gè)輸入,一個(gè)是我們的小程序的名稱,第二個(gè)是Simulink模型文件。對(duì)于第一個(gè)輸入,只要給我們的新構(gòu)建的小程序起個(gè)名字就可以了,比如說這個(gè)默認(rèn)的Model1,我們輸入之后點(diǎn)擊最右邊的綠色的勾,它的作用就是判斷Model1是否存在。如果不存在就創(chuàng)建一個(gè),如果存在就使用這個(gè)Model1。

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

> 這樣可以將我們新的算法集成到我們現(xiàn)有的小程序中,在這里就需要填入現(xiàn)有的小程序的模型名稱,也就是從中可以選擇我們的小程序名稱。那么這一步成功之后,就來到了Simulink模型文件的設(shè)置過程。在此我們需要找一個(gè)Simulink的實(shí)例程序進(jìn)行講解,我們首先打開Simulink,在Simulink的啟動(dòng)頁會(huì)有很多的實(shí)例。我們找一個(gè)比如展開這個(gè)stateflow,里面有空白圖、簡(jiǎn)單圖分層圖等等。我們選擇這個(gè)分層圖,就打開了一個(gè)名為untitled的模型,我們看到這個(gè)模型,包含了一個(gè)run和一個(gè)cooldown。這兩個(gè)大的狀態(tài)run了30秒之后,會(huì)冷卻 5秒,然后5秒之后繼續(xù)run,從此循環(huán)往復(fù),而在這個(gè)run的過程中,是每隔1秒就讓輸出在10和1之間切換,這就是當(dāng)前stateflow的簡(jiǎn)單邏輯。

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

> 我們按esc返回到頂層,可以看到這個(gè)模型只有一個(gè)輸出,我們加一個(gè)示波器來看看波形。按F5運(yùn)行,當(dāng)然這個(gè)運(yùn)行需要將當(dāng)前的工作目錄切換掉,我們可以選擇隨便一個(gè)目錄比如說新建個(gè)文件夾,然后我們回到剛才的模型按F5運(yùn)行成功,那么打開示波器我們可以看到輸出和我們之前的推斷是完全吻合的。也就是運(yùn)行了30秒之后休息5秒,然后繼續(xù)運(yùn)行。我們將這個(gè)模型另存為simple,接下來將這個(gè)示波器刪除,并且添加一個(gè)out接口,將這個(gè)模型配置成可以代碼生成的模型,隨后我們就要配置一下代碼生成的細(xì)節(jié)。

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

> 我們進(jìn)入模型的設(shè)置,點(diǎn)擊代碼生成,首先要將這個(gè)grt改為ert.tlc。因?yàn)槟繕?biāo)的環(huán)境是嵌入式環(huán)境,同時(shí)勾選僅生成代碼,然后展開代碼生成,進(jìn)入到模板中,將“生成示例主程序”的勾去掉,這樣就不會(huì)自動(dòng)生成main函數(shù)。因?yàn)檫@個(gè)main函數(shù)的文件往往是不會(huì)用的。至此配置完成。我們點(diǎn)擊保存并且關(guān)閉這個(gè)模型。

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

MATLAB控制模塊

MATLAB Control module /

> 接下來就回到matlab控制模塊中,選擇Simulink模型文件,點(diǎn)擊綠色的箭頭按鈕,選中我們剛才的simple.slx,那么可以看到前兩步過了之后步驟1就算執(zhí)行完成。接下來就到了cache文件夾和codegen文件夾的設(shè)定,那么留空就表示生成到默認(rèn)的位置。我們可以將這兩個(gè)位置改掉,還是點(diǎn)擊綠色的按鈕,然后可以選擇我們的cache文件夾,我們可以新建一個(gè)cache,并且選擇這個(gè)文件夾,那么cache文件夾就已經(jīng)設(shè)置成功。接下來就是codegen,還是一樣,我們可以在cache旁邊建一個(gè)codegen,點(diǎn)擊選擇,那么這兩個(gè)文件夾也就設(shè)置完畢。

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

> 然后就到了代碼生成的環(huán)節(jié)。我們只要點(diǎn)擊啟動(dòng)Simulink代碼生成,等待代碼生成完畢就可以了。那么生成的代碼就會(huì)存放到剛才設(shè)定的codegen這個(gè)文件夾中。第一次生成會(huì)耗費(fèi)一點(diǎn)時(shí)間,我們需要耐心的等待。那么Simulink的執(zhí)行過程是同步的,而且比較慢,所以TSMaster可能會(huì)報(bào)警?,F(xiàn)在我們可以看到代碼生成已經(jīng)完成。

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

> 那么接下去就是自動(dòng)復(fù)制已生成的代碼到我們的小程序的代碼庫里面,點(diǎn)擊之后可以顯示已copy6個(gè)文件,那么接下去第二步就已經(jīng)完成。也就是代碼生成的過程已經(jīng)成功實(shí)現(xiàn),再往下就是代碼集成。代碼集成目的就是將算法給調(diào)用起來,我們點(diǎn)擊編輯小程序的源碼按鈕,打開Model1這個(gè)小程序,我們首先看一下屬性,然后點(diǎn)擊代碼庫的路徑,可以看到simple.c和.h文件以及其他的一些用到的頭文件。打開這兩個(gè)文件,首先我們看一下simple.h文件,那么這個(gè)文件是一個(gè)接口文件,可以看到這里面有三個(gè)函數(shù),初始化step和terminate函數(shù),我們需要分別將這三個(gè)函數(shù)的調(diào)用拷貝到Model1小程序里面。首先就是要用這個(gè)simple.h頭文件。

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

> 我們回到小程序,點(diǎn)擊全局定義#include,"simple.h"。那么接下來就是COPY。我們雙擊這個(gè)simple初始化,然后到小程序的初始化事件中,粘貼然后再copy step到我們的小程序的step函數(shù)中,粘貼然后就是terminate,回到我們小程序的停止事件,同樣粘貼,這樣就實(shí)現(xiàn)了函數(shù)調(diào)用。那么需要注意的就是step函數(shù)的周期了,默認(rèn)周期是5毫秒,但模型中肯定不是。我們首先還是打開這個(gè)simple.slx,然后我們到模型的屬性看一下這個(gè)模型的相關(guān)的求解器的屬性。它是定步長(zhǎng),并且步長(zhǎng)是0.1秒,那么0.1秒在TSMaster里面就是100毫秒,雙擊step函數(shù),將周期改為100,那么接下來我們需要觀測(cè)一下out1這個(gè)信號(hào)。

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

> 我們可以直接在變量點(diǎn)右鍵,添加變量,輸入我們這個(gè)out1,那么就新建了一個(gè)out1的變量,然后我們就需要在代碼里找到這個(gè)變量,那么可以看到這個(gè)extern,這里寫的是outports,那就是simple y這個(gè)變量,它有一個(gè)成員叫out1,就是我們需要用到的變量,我們可以在這里寫下out1.set,把剛才這個(gè)out1拷貝過來,這樣就實(shí)現(xiàn)了變量的賦值。那么小程序就算編寫完畢。

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

執(zhí)行HIL和SIL的仿真

Perform emulation of HIL and SIL /

> 在此我們可以直接點(diǎn)擊運(yùn)行仿真,那么我們的算法模型其實(shí)就已經(jīng)實(shí)時(shí)的在運(yùn)行,這個(gè)時(shí)候如果需要觀測(cè)信號(hào),首先要啟動(dòng)我們的TSMaster的仿真,然后我們可以打開一個(gè)觀測(cè)窗口,比如說圖形,打開之后我們可以點(diǎn)右鍵添加系統(tǒng)變量,通過內(nèi)部變量,找到model 1的out 1這個(gè)變量,然后我們可以修改他的范圍,比如說改成1—15 -1—15,那么就可以看到這個(gè)圖形的顯示跟我們剛才看到的Simulink示波器畫面是完全一樣的。

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

> 這個(gè)信號(hào)是可以設(shè)成豎線顯示,這樣就更符合這個(gè)信號(hào)代表的邏輯含義,那么這個(gè)out1的信號(hào)是實(shí)時(shí)刷新的,這就意味著我們可以通過總線接口將此算法模型接入到整車網(wǎng)絡(luò),可以與實(shí)際的控制器進(jìn)行互動(dòng),那么以上就是matlab控制模塊進(jìn)行HIL的簡(jiǎn)單的方法。

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

以上就是我們本期介紹的TSMaster新功能之MATLAB自動(dòng)化控制模塊,我們下期再見?。ň唧w操作解說可以觀看我們B站視頻哦)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    28

    文章

    5404

    瀏覽量

    78687
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    機(jī)械自動(dòng)化和電氣自動(dòng)化區(qū)別是什么

    機(jī)械自動(dòng)化和電氣自動(dòng)化是現(xiàn)代工業(yè)生產(chǎn)中兩個(gè)重要的領(lǐng)域,它們?cè)谠S多方面有著密切的聯(lián)系,但也存在一些明顯的區(qū)別。 一、基本概念 機(jī)械自動(dòng)化 機(jī)械自動(dòng)化是指利用機(jī)械設(shè)備、傳感器、
    的頭像 發(fā)表于 07-01 09:33 ?2812次閱讀

    機(jī)械自動(dòng)化自動(dòng)化的一種嗎

    引言 自動(dòng)化技術(shù)是指利用控制裝置對(duì)生產(chǎn)過程進(jìn)行控制,以實(shí)現(xiàn)生產(chǎn)過程的自動(dòng)化。機(jī)械自動(dòng)化自動(dòng)化
    的頭像 發(fā)表于 07-01 09:32 ?1183次閱讀

    藍(lán)牙模塊在工業(yè)自動(dòng)化中的應(yīng)用

    隨著科技的快速發(fā)展,工業(yè)自動(dòng)化已成為現(xiàn)代工業(yè)生產(chǎn)的重要組成部分。藍(lán)牙模塊作為一種無線通信技術(shù),其在工業(yè)自動(dòng)化領(lǐng)域的應(yīng)用日益廣泛。本文將探討藍(lán)牙模塊在工業(yè)
    的頭像 發(fā)表于 06-20 17:29 ?342次閱讀

    工業(yè)自動(dòng)化中的控制方式

    工業(yè)自動(dòng)化是現(xiàn)代工業(yè)發(fā)展的重要標(biāo)志,它極大地提高了生產(chǎn)效率,降低了生產(chǎn)成本,并改善了產(chǎn)品質(zhì)量。在工業(yè)自動(dòng)化中,控制方式作為實(shí)現(xiàn)自動(dòng)化控制的關(guān)
    的頭像 發(fā)表于 06-17 11:41 ?562次閱讀

    如何實(shí)現(xiàn)PLC的自動(dòng)化控制邏輯

    在工業(yè)自動(dòng)化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)扮演著至關(guān)重要的角色。PLC通過編程實(shí)現(xiàn)自動(dòng)化控制邏輯,使設(shè)備能夠按照預(yù)定的程序
    的頭像 發(fā)表于 06-15 16:44 ?707次閱讀

    機(jī)械制造與自動(dòng)化自動(dòng)化類嗎

    機(jī)械制造與自動(dòng)化自動(dòng)化領(lǐng)域的一個(gè)重要分支,它涉及到機(jī)械設(shè)計(jì)、制造、檢測(cè)、控制等多個(gè)方面,是現(xiàn)代制造業(yè)的核心組成部分。 機(jī)械制造與自動(dòng)化是指利用計(jì)算機(jī)、機(jī)器人、傳感器等
    的頭像 發(fā)表于 06-11 11:18 ?1104次閱讀

    工業(yè)自動(dòng)化自動(dòng)化區(qū)別是什么

    生產(chǎn)過程的自動(dòng)控制和管理。自動(dòng)化的目標(biāo)是提高生產(chǎn)效率、降低成本、減少人為錯(cuò)誤和提高產(chǎn)品質(zhì)量。自動(dòng)化技術(shù)廣泛應(yīng)用于各個(gè)領(lǐng)域,包括制造業(yè)、交通運(yùn)輸、醫(yī)療保健、家庭生活等。 二、工業(yè)自動(dòng)化
    的頭像 發(fā)表于 06-11 11:13 ?1191次閱讀

    工業(yè)自動(dòng)化控制設(shè)備包括什么設(shè)備

    工業(yè)自動(dòng)化控制設(shè)備是現(xiàn)代工業(yè)生產(chǎn)中不可或缺的一部分,它們通過自動(dòng)化技術(shù)實(shí)現(xiàn)生產(chǎn)過程的高效、穩(wěn)定和精確控制。本文將詳細(xì)介紹工業(yè)自動(dòng)化
    的頭像 發(fā)表于 06-11 11:04 ?1047次閱讀

    工廠自動(dòng)化控制的典型實(shí)現(xiàn)方式

    工廠自動(dòng)化控制是現(xiàn)代制造業(yè)的關(guān)鍵組成部分,它通過應(yīng)用先進(jìn)的信息技術(shù)、自動(dòng)化技術(shù)和控制技術(shù),實(shí)現(xiàn)生產(chǎn)過程的自動(dòng)化、智能
    的頭像 發(fā)表于 06-06 15:51 ?724次閱讀

    DC電源模塊在工業(yè)自動(dòng)化中的應(yīng)用案例分析

    BOSHIDA ? DC電源模塊在工業(yè)自動(dòng)化中的應(yīng)用案例分析 BOSHIDA ?DC電源模塊在工業(yè)自動(dòng)化中有很多應(yīng)用案例,以下是其中幾個(gè)典型的例子: 1. 機(jī)器人
    的頭像 發(fā)表于 02-22 11:08 ?342次閱讀
    DC電源<b class='flag-5'>模塊</b>在工業(yè)<b class='flag-5'>自動(dòng)化</b>中的應(yīng)用案例分析

    TSMaster 2024年1月最新版本,新功能太實(shí)用

    、新增TTS機(jī)箱模塊、新增地圖顯示模塊等。一大波超實(shí)用的新功能,一起來看看吧!體驗(yàn)新功能建議您將軟件更新至最新版本TSMaster下載鏈接0
    的頭像 發(fā)表于 02-19 12:12 ?1206次閱讀
    <b class='flag-5'>TSMaster</b> 2024年1月最新版本,<b class='flag-5'>新功能</b>太實(shí)用

    電源測(cè)試怎么自動(dòng)化?電源模塊自動(dòng)化測(cè)試系統(tǒng)如何實(shí)現(xiàn)?

    納米軟件在電測(cè)行業(yè)深耕十余年,在行業(yè)的大背景下,為了進(jìn)一步完善自動(dòng)化測(cè)試,開發(fā)出了新的智能的電源模塊自動(dòng)化測(cè)試系統(tǒng)ATECLOUD-POWER,實(shí)現(xiàn)
    的頭像 發(fā)表于 12-15 14:40 ?671次閱讀
    電源測(cè)試怎么<b class='flag-5'>自動(dòng)化</b>?電源<b class='flag-5'>模塊</b><b class='flag-5'>自動(dòng)化</b>測(cè)試系統(tǒng)如何實(shí)現(xiàn)?

    自動(dòng)化儀表和自動(dòng)化控制系統(tǒng)的應(yīng)用

    在企業(yè)生產(chǎn)過程中,要想使其達(dá)到最佳的生產(chǎn)效率,就需要對(duì)自動(dòng)化儀表和自動(dòng)化控制技術(shù)進(jìn)行合理的應(yīng)用。在自動(dòng)化控制系統(tǒng)的應(yīng)用中,要對(duì)其進(jìn)行合理的設(shè)
    的頭像 發(fā)表于 12-08 10:11 ?753次閱讀

    TSMaster小程序啟動(dòng)和停止的自動(dòng)化控制流程

    在實(shí)際應(yīng)用場(chǎng)景中,用戶常常需要按一定邏輯和時(shí)序來控制TSMaster內(nèi)置功能模塊的啟動(dòng)和停止,TSMaster軟件內(nèi)置有C/Python小程序和圖形程序,開發(fā)者可以通過編程對(duì)這些
    的頭像 發(fā)表于 12-02 08:21 ?1092次閱讀
    <b class='flag-5'>TSMaster</b>小程序啟動(dòng)和停止的<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>控制</b>流程

    自動(dòng)化控制系統(tǒng)的基本知識(shí)

    工業(yè)自動(dòng)化是機(jī)器設(shè)備或生產(chǎn)過程在不需要人工直接干預(yù)的情況下,按預(yù)期的目標(biāo)實(shí)現(xiàn)生產(chǎn)和過程控制的統(tǒng)稱。實(shí)現(xiàn)生產(chǎn)和過程控制自動(dòng)化的裝置稱為自動(dòng)化
    的頭像 發(fā)表于 11-09 16:45 ?4162次閱讀
    <b class='flag-5'>自動(dòng)化</b><b class='flag-5'>控制</b>系統(tǒng)的基本知識(shí)