一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

關(guān)于代碼生成中的數(shù)據(jù)管理的分析和研究

MATLAB ? 來源:djl ? 作者:董淑成 ? 2019-09-17 16:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

請記得:

1. 拿正確的模型去生成代碼;
2. 只對你關(guān)心的數(shù)據(jù)進行數(shù)據(jù)管理。

M數(shù)據(jù)對象的基本概念

在你的模型驗證完成之后,就可以進行代碼生成工作了,代碼生成階段最主要的工作就是數(shù)據(jù)管理。

前面我們說過,我們只管理我們關(guān)心的數(shù)據(jù),對于那些無關(guān)的數(shù)據(jù),就任由代碼生成工具怎么處理吧。

數(shù)據(jù)管理的方式有好幾種,我這里只介紹在工程化項目中被廣泛應(yīng)用的使用數(shù)據(jù)對象管理數(shù)據(jù)。這里的“數(shù)據(jù)對象”里面的“對象”二字和就是我們經(jīng)常聽到的“面向?qū)ο蟆崩锩娴摹皩ο蟆币粯?。沒錯,說白了,就是使用面向?qū)ο蟮姆绞饺ス芾頂?shù)據(jù)。

我們知道,在面向?qū)ο蟮?a target="_blank">編程模式下,有一個非常重要的概念——類。類是一種抽象,抽象出某一類事物共同具有的某些屬性以及相關(guān)的操作(面向?qū)ο罄锓Q之為“方法”)。面向?qū)ο竽J较?,還有一個概念——包,包會把相關(guān)的幾個類打包到一起,以便于管理。另外,就是對象,對象是類的實例,對象不再是抽象的,而是具體的,創(chuàng)建對象就是一個實例化過程。對象擁有類的所有屬性,同時要求我們給出屬性值。

Simulink在進行數(shù)據(jù)管理的時候,提供了兩個包,一個是Simulink Package,另一個是mpt Package。下面以Simulink Package為例,介紹包、類以及屬性的結(jié)構(gòu)。

關(guān)于代碼生成中的數(shù)據(jù)管理的分析和研究


如圖示,Simulink包里有兩個類,一個是Signal,一個是Parameter。對于其中的每個類,都有各自的屬性和方法。

數(shù)據(jù)管理基本上就是管理事先定義好的各種屬性,其中,最為重要就是數(shù)據(jù)類型(Data Type)和存儲類(Storage Class)。數(shù)據(jù)類型相信大家都很熟悉,這里面稍微有些麻煩的是定點數(shù),以后我會專門介紹數(shù)據(jù)的定點化,這里就不做過多的討論;而存儲類,是影響數(shù)據(jù)存儲的重要因素。模型中的信號,我們可能定義為全局變量,也可能定義為靜態(tài)變量;模型中的參數(shù),我們可以定義為常數(shù)型變量,也可以定義為宏定義;還有的數(shù)據(jù),在一個模塊中定義后,在其他模塊中就不能再次定義。所有這些,都是通過定義數(shù)據(jù)對象的存儲類來實現(xiàn)的。

M代碼生成示例

下面我通過一個簡單例子來介紹一下數(shù)據(jù)管理過程,模型非常簡單,輸出Out1等于兩個輸入信號In1和In2相加再乘以k。這個模型,我們的目標(biāo)代碼如下:

z = ( x + y ) * k ;

其中, x、y在其他模塊中定義,z和k在本模塊定義。

關(guān)于代碼生成中的數(shù)據(jù)管理的分析和研究

怎么做?

首先,設(shè)置代碼生成工具為Embedded Coder,也就是設(shè)置系統(tǒng)目標(biāo)文件(System Target File)為ert.tlc;

然后,數(shù)據(jù)管理:

使用信號對象管理信號

在信號線上定義信號名:鼠標(biāo)雙擊信號線,出現(xiàn)編輯框之后,寫上信號的名字x、y、z;

在數(shù)據(jù)字典或者Base Workspace里定義同名的信號對象:在Model Explorer里面,選中數(shù)據(jù)字典的Design Data,或者Base Workspace,然后添加三個Simulink Signal,并命名為x、y、z,設(shè)置x、y的Storage Class為Imported Extern,z的Storage Class為Exported Global;

將信號對象和信號關(guān)聯(lián)起來:在信號線上,使用鼠標(biāo)右鍵,選擇Properties,然后在Properties對話框里選中Signal name must resolve to Simulink signal object,關(guān)聯(lián)了信號對象的信號名前面會出現(xiàn)一個藍色的叉子。

說明

鼠標(biāo)右鍵點擊信號線的方式只能對單個信號進行關(guān)聯(lián),如果想批量關(guān)聯(lián),可以在MATLAB窗口中使用如下命令:disableimplicitsignalresolution(‘mymodel’),假如模型文件的文件名是mymodel.slx或者mymodel.mdl。

使用參數(shù)對象管理參數(shù)

定義參數(shù):雙擊Gain模塊,賦值為k;

定義參數(shù)對象:在Model Explorer界面下,選中數(shù)據(jù)字典或者Base Workspace,定義Simulink Parameter對象k,給出k的初始值為2,設(shè)置Storage Class為constVolatile;

Inline參數(shù):在配置參數(shù)(Configuration Parameters)的優(yōu)化選項(Optimization)里設(shè)置的信號和參數(shù)(Signals and Parameters)設(shè)置參數(shù)的inline選項。

然后,就可以按下Ctrl+B生成代碼了。經(jīng)過上述設(shè)置之后,我們?nèi)缭傅玫搅宋覀兤谕拇a:

z = ( x + y ) * k ;

其中x、y為外部模塊定義好的全局變量,本模塊內(nèi)只做了Extern聲明,沒有定義,z為全局變量,定義在本模塊,k為加了限定詞const和volatile的參數(shù)。

說明

MATLAB從R2014b開始提供了數(shù)據(jù)字典功能,將數(shù)據(jù)對象通過獨立的文件進行管理。如果使用數(shù)據(jù)字典管理數(shù)據(jù)的話,數(shù)據(jù)對象需要定義在數(shù)據(jù)字典里面,并且還要有一個將數(shù)據(jù)字典和模型關(guān)聯(lián)的過程,如果使用Base Workspace管理數(shù)據(jù),和以前版本的MATLAB沒有區(qū)別。

上面是一個簡單的例子,更多的代碼生成相關(guān)的設(shè)置,可以留意MATLAB公眾號中柚籽的系列文章《怎樣生成我想要的C代碼》(也可以在公眾號中回復(fù)【柚籽】查看),也可以在今天的第二條圖文中觀看我錄制的代碼生成視頻。

最后,讓我再次重復(fù):拿正確的模型去生成代碼只對你關(guān)心的數(shù)據(jù)進行數(shù)據(jù)管理

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    恩智浦如何應(yīng)對智能車輛數(shù)據(jù)管理挑戰(zhàn)

    隨著軟件定義汽車 (SDV) 的出現(xiàn),汽車生成數(shù)據(jù)將大幅增長,因此對數(shù)據(jù)的智能化轉(zhuǎn)發(fā)需求也隨之增加。數(shù)據(jù)管理解決方案 (如aicas提供的方案) 可幫助汽車制造商和車隊運營商高效
    的頭像 發(fā)表于 07-02 15:02 ?482次閱讀

    可視化組態(tài)數(shù)據(jù)管理平臺是什么

    可視化組態(tài)數(shù)據(jù)管理平臺是一種用于工業(yè)自動化、物聯(lián)網(wǎng)、能源管理等領(lǐng)域的軟件平臺,它結(jié)合了可視化和組態(tài)技術(shù),幫助用戶實現(xiàn)數(shù)據(jù)的采集、管理、展示和分析
    的頭像 發(fā)表于 04-21 10:00 ?244次閱讀

    污染源自動監(jiān)測數(shù)據(jù)管理系統(tǒng)物聯(lián)網(wǎng)解決方案

    近期,江西針對自動監(jiān)測數(shù)據(jù)管理工作中存在的污染源自動監(jiān)測責(zé)任界定不清晰、設(shè)備運維不規(guī)范、數(shù)據(jù)質(zhì)量不高、數(shù)據(jù)弄虛作假屢禁不止、監(jiān)管執(zhí)法依據(jù)不足等問題,率先推出《江西省污染源自動監(jiān)測數(shù)據(jù)管理
    的頭像 發(fā)表于 04-15 17:15 ?295次閱讀
    污染源自動監(jiān)測<b class='flag-5'>數(shù)據(jù)管理</b>系統(tǒng)物聯(lián)網(wǎng)解決方案

    SOLIDWORKS 2025教育版有效的數(shù)據(jù)管理與團隊協(xié)作

    在當(dāng)今數(shù)字化時代,工程設(shè)計領(lǐng)域?qū)?b class='flag-5'>數(shù)據(jù)管理和團隊協(xié)作的要求日益提高。SOLIDWORKS 2025教育版作為一款CAD軟件,以其強大的數(shù)據(jù)管理和團隊協(xié)作功能,成為教育機構(gòu)和學(xué)生進行工程設(shè)計學(xué)習(xí)的理想
    的頭像 發(fā)表于 04-07 17:28 ?339次閱讀
    SOLIDWORKS 2025教育版有效的<b class='flag-5'>數(shù)據(jù)管理</b>與團隊協(xié)作

    關(guān)于移動數(shù)據(jù)中心能耗管理系統(tǒng)的設(shè)計研究

    為解決數(shù)據(jù)*心高能耗問題,實現(xiàn)行業(yè)的綠色發(fā)展,以移動數(shù)據(jù)*心為例,對能耗管理系統(tǒng)設(shè)計進行研究,通過分析數(shù)
    的頭像 發(fā)表于 03-18 13:26 ?290次閱讀
    <b class='flag-5'>關(guān)于</b>移動<b class='flag-5'>數(shù)據(jù)</b>中心能耗<b class='flag-5'>管理</b>系統(tǒng)的設(shè)計<b class='flag-5'>研究</b>

    SOLIDWORKS 2025更有效的協(xié)作和數(shù)據(jù)管理

    在當(dāng)今快速變化的商業(yè)環(huán)境,企業(yè)成功的關(guān)鍵在于有效的協(xié)作和數(shù)據(jù)管理。作為CAD領(lǐng)域的領(lǐng)軍者,SOLIDWORKS始終致力于為用戶提供優(yōu)越的三維設(shè)計與工程解決方案。隨著SOLIDWORKS 2025的發(fā)布,這款旗艦軟件在協(xié)作和數(shù)據(jù)管理
    的頭像 發(fā)表于 01-09 17:04 ?535次閱讀
    SOLIDWORKS 2025更有效的協(xié)作和<b class='flag-5'>數(shù)據(jù)管理</b>

    Litestar 4D:WebCatalog 7全自動數(shù)據(jù)管理

    Wg7是OxyTech Webcatalog的革新版本 其設(shè)計是為了滿足對照明產(chǎn)品的有效和全自動的數(shù)據(jù)管理 Wg7 對于照明設(shè)計師和生產(chǎn)商是全自動的前所未有 使用Wg7您可以: -搜索產(chǎn)品 -查看
    發(fā)表于 12-19 12:33

    SOLIDWORKS 2025協(xié)作與數(shù)據(jù)管理功能簡介

    在快速迭代的制造業(yè)環(huán)境,設(shè)計團隊面臨的挑戰(zhàn)日益復(fù)雜,從設(shè)計創(chuàng)新到生產(chǎn)實施,每一個環(huán)節(jié)都需要有效協(xié)作與準(zhǔn)確數(shù)據(jù)管理。SOLIDWORKS 2025作為CAD軟件領(lǐng)域的佼佼者,憑借其增強的協(xié)作與數(shù)據(jù)管理功能,正帶領(lǐng)著設(shè)計創(chuàng)新的新時
    的頭像 發(fā)表于 12-02 15:24 ?559次閱讀

    PDM產(chǎn)品數(shù)據(jù)管理系統(tǒng)的必要性分析 PDM如何助力企業(yè)提升競爭力

    在當(dāng)今競爭激烈的制造業(yè)環(huán)境,企業(yè)對高效、準(zhǔn)確的產(chǎn)品數(shù)據(jù)管理需求日益增長。PDM(Product Data Management,產(chǎn)品數(shù)據(jù)管理系統(tǒng))正是應(yīng)對這一需求的利器。本文將深入探討PDM產(chǎn)品
    的頭像 發(fā)表于 11-27 11:56 ?727次閱讀

    一文讀懂什么是PDM產(chǎn)品數(shù)據(jù)管理系統(tǒng)軟件?

    在當(dāng)今高度競爭且快速變化的市場環(huán)境,制造企業(yè)面臨著前所未有的挑戰(zhàn)。為了保持競爭力,企業(yè)需要高效、準(zhǔn)確地管理產(chǎn)品生命周期內(nèi)的所有數(shù)據(jù)。而產(chǎn)品數(shù)據(jù)管理系統(tǒng)(Product Data
    的頭像 發(fā)表于 11-20 14:31 ?1063次閱讀
    一文讀懂什么是PDM產(chǎn)品<b class='flag-5'>數(shù)據(jù)管理</b>系統(tǒng)軟件?

    技術(shù)資訊 I 設(shè)計數(shù)據(jù)管理要點

    、PCBlayout和物料清單(BOM)。然而,這些數(shù)據(jù)可能是動態(tài)的,尤其是在原型驗證和開發(fā)過程,而且經(jīng)常包括不能遺漏的新增內(nèi)容。根據(jù)具體項目,設(shè)計數(shù)據(jù)管理很可能是一個復(fù)雜的過程
    的頭像 發(fā)表于 11-09 01:05 ?459次閱讀
    技術(shù)資訊 I 設(shè)計<b class='flag-5'>數(shù)據(jù)管理</b>要點

    實驗室數(shù)據(jù)管理與LIMS平臺的關(guān)系

    實驗室數(shù)據(jù)管理(Laboratory Data Management)是指對實驗室產(chǎn)生的數(shù)據(jù)進行收集、存儲、處理、分析和報告的過程。這包括了樣品的接收、測試結(jié)果的記錄、質(zhì)量控制數(shù)據(jù)的跟
    的頭像 發(fā)表于 10-28 18:10 ?921次閱讀

    SOLIDWORKS 2025數(shù)據(jù)管理新增功能

    隨著SOLIDWORKS 2025的發(fā)布,這款旗艦軟件在數(shù)據(jù)管理領(lǐng)域?qū)崿F(xiàn)了重大突破,為用戶帶來了更有效、更智能的設(shè)計體驗。
    的頭像 發(fā)表于 10-16 15:03 ?713次閱讀

    SOLIDWORKS 2025:更有效的協(xié)作和數(shù)據(jù)管理

    在當(dāng)今快速變化的商業(yè)環(huán)境,有效的協(xié)作和數(shù)據(jù)管理已成為企業(yè)成功的關(guān)鍵。作為CAD領(lǐng)域的領(lǐng)軍者,SOLIDWORKS始終致力于為用戶提供優(yōu)越的三維設(shè)計與工程解決方案。隨著SOLIDWORKS?2025的發(fā)布,這款旗艦軟件在協(xié)作和數(shù)據(jù)管理
    的頭像 發(fā)表于 10-08 16:52 ?648次閱讀

    自動處理結(jié)果庫在國際監(jiān)測系統(tǒng)(IMS)臺站及監(jiān)測站能譜數(shù)據(jù)管理的重要性及其應(yīng)用

    自動處理結(jié)果庫在國際監(jiān)測系統(tǒng)(IMS)臺站及監(jiān)測站能譜數(shù)據(jù)管理的重要性及其應(yīng)用 摘要: 本文探討了自動處理結(jié)果庫在國際監(jiān)測系統(tǒng)(IMS)臺站及監(jiān)測站能譜數(shù)據(jù)管理的重要性及其應(yīng)用。隨
    的頭像 發(fā)表于 09-10 18:17 ?506次閱讀