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

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

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

CST的VBA語言&MATLAB調(diào)用CST

射頻學(xué)堂 ? 來源:微波射頻網(wǎng) ? 作者:微波射頻網(wǎng) ? 2022-12-19 14:12 ? 次閱讀

摘要:

大家在科研和工作中,往往會(huì)遇到如何在CST中構(gòu)建人工重復(fù)性高、建模步驟繁瑣的模型,以及多次導(dǎo)出仿真結(jié)果數(shù)據(jù)等問題。和HFSS的vbs腳本一樣,CST也自帶VBA腳本控制,并支持MATLAB調(diào)用。

0 1 CST的VBA語言

在CST主界面按F1即可打開官方自帶的Help文檔。

95a2c886-7f55-11ed-8abf-dac502259ad0.png

對(duì)于微波專業(yè)的學(xué)生和科研從業(yè)者,大部分情況下選用的是CST的MICROWAVE STUDIO (MWS)。因此,查看學(xué)習(xí)CST MWS VBA語法和對(duì)象即可滿足日常學(xué)習(xí)、工作需求。

963344f6-7f55-11ed-8abf-dac502259ad0.png

點(diǎn)擊Hom?e:Macros>Open VBA Macro Editor,即可打開CST自帶的VBA開發(fā)環(huán)境。

964a57f4-7f55-11ed-8abf-dac502259ad0.png 復(fù)制粘貼MsgBox行的代碼到VBA編輯器中,點(diǎn)擊967dc972-7f55-11ed-8abf-dac502259ad0.png即可彈出信息提示框。(全部復(fù)制可能會(huì)報(bào)錯(cuò)!親測(cè)!)

'#Language "WWB-COM"


Option Explicit


Sub Main
  MsgBox("Hello World")
EndSub

96971ff8-7f55-11ed-8abf-dac502259ad0.png

對(duì)于初學(xué)者而言,若要熟練使用VBA開發(fā)環(huán)境對(duì)CST進(jìn)行代碼式建模開發(fā),還需要掌握兩方面知識(shí):VBA語言的基本語法規(guī)則和CST的Objects調(diào)用規(guī)則。

前者可以在VBA開發(fā)環(huán)境下按F1鍵,調(diào)出Help文檔。

96c353d4-7f55-11ed-8abf-dac502259ad0.png

官方幫助文檔是學(xué)習(xí)VBA基本語法規(guī)則的一大利器,不需要從頭到尾都學(xué)一遍。可以秉承邊學(xué)邊用的方法,活學(xué)活用。不過學(xué)習(xí)常用的變量定義、數(shù)組、循環(huán)、判斷、字符等最基礎(chǔ)的知識(shí)是很有必要的。

96e99dbe-7f55-11ed-8abf-dac502259ad0.png

有了語法基礎(chǔ)后,就需要根據(jù)自己的學(xué)習(xí)工作需求,去VBA Objects下找自己需要對(duì)象的調(diào)用規(guī)則。例如下圖所示的Brick對(duì)象的一個(gè)構(gòu)建。該對(duì)象有Reset、Name、Component、Material、Xrange、Yrange、Zrange、Create這么幾個(gè)方法。

9701d9f6-7f55-11ed-8abf-dac502259ad0.png 根據(jù)Help文檔的講解,我們?cè)赩BA開發(fā)環(huán)境中復(fù)制下面6-15行的代碼到Sub Main代碼塊內(nèi),點(diǎn)擊運(yùn)行即可在CST中建立一個(gè)矩形實(shí)體。(全部復(fù)制可能會(huì)報(bào)錯(cuò)!親測(cè)?。?/p>

'#Language "WWB-COM"


OptionExplicit


Sub Main
  With Brick
    .Reset
    .Name ("brick1")
    .Component ("component1")
    .Material ("PEC")
    .Xrange (0, 1)
    .Yrange (0, 3)
    .Zrange (0, 5)
    .Create
  End With
End Sub

不過這種建模方法有一個(gè)缺點(diǎn):和HFSS的自動(dòng)化建模只有vbs代碼一樣,建立的模型在CST的History List沒有記錄,喪失了CST建模的一大利器!

972e6566-7f55-11ed-8abf-dac502259ad0.png

好在可以打開CST官方Macro文件進(jìn)行參考,比如自帶的Dipole Antenna這個(gè)mcs文件。經(jīng)過對(duì)比,不難發(fā)現(xiàn),只需要將前面的代碼變成字符串形式,通過AddToHistory即可將建模代碼添加至History List。

974afc30-7f55-11ed-8abf-dac502259ad0.png

依葫蘆畫瓢,Sub Main和End Sub之間的代碼替換如下,執(zhí)行VBA命令后即可在History List下找到本次建模的詳細(xì)代碼:

Dim sCommand As String
  '@ define brick1
  sCommand = ""
  sCommand = sCommand + "With Brick " + vbLf
  sCommand = sCommand + "  .Reset" + vbLf
  sCommand = sCommand + "  .Name (""brick1"")" + vbLf
  sCommand = sCommand + "  .Component (""component1"")" + vbLf
  sCommand = sCommand + "  .Material (""PEC"")" + vbLf
  sCommand = sCommand + "  .Xrange (0, 1)" + vbLf
  sCommand = sCommand + "  .Yrange (0, 3)" + vbLf
  sCommand = sCommand + "  .Zrange (0, 5)" + vbLf
  sCommand = sCommand + "  .Create" + vbLf
  sCommand = sCommand + "End With" + vbLf
  MsgBox(sCommand)
  AddToHistory "define brick1", sCommand

976dcf1c-7f55-11ed-8abf-dac502259ad0.png

95830f50-7f55-11ed-8abf-dac502259ad0.png

0 2 MATLAB調(diào)用CST

MATLAB調(diào)用CST有兩種方法,一種是通過Shell語言的轉(zhuǎn)移字符!。

例如已經(jīng)編寫好了待執(zhí)行的vba腳本,文件類型命名為.bas(其他類型文件,比如.mcr,可能不會(huì)被識(shí)別)。然后按下面的語法結(jié)構(gòu),修改CST安裝路徑和bas文件路徑即可調(diào)用成功。這種方法和通過hfssapi包編寫好相應(yīng)的vbs腳本文件,再用MATLAB調(diào)用HFSS執(zhí)行vbs腳本命令類似。不過這種方法在嘗試調(diào)用高版本CST2022時(shí),會(huì)因?yàn)椴捎昧伺幚?Batch)腳本調(diào)用而需要手動(dòng)確認(rèn)license的現(xiàn)象。

! "D:softwareCST2018CST DESIGN ENVIRONMENT.exe" -m E:test.bas

另一種方法則是通過matlab actxserver創(chuàng)建一個(gè)COM服務(wù)器,通過invoke調(diào)用COM對(duì)象或接口上的方法。

%如果裝了2個(gè)CST,不管怎么切換license,其只會(huì)創(chuàng)建最新安裝的cst對(duì)象!
cst = actxserver('CSTStudio.application');%創(chuàng)建CST應(yīng)用對(duì)象
mws = invoke(cst, 'NewMWS');%調(diào)用MWS應(yīng)用對(duì)象
app = invoke(mws, 'GetApplicationName');%獲取當(dāng)前應(yīng)用名稱
ver = invoke(mws, 'GetApplicationVersion');%獲取當(dāng)前應(yīng)用版本號(hào)
invoke(mws, 'FileNew');%新建一個(gè)CST文件
filename='D:CSTFileDipole_model.cst';
invoke(mws, 'SaveAs', filename,'True');
invoke(mws, 'Quit');
release(mws);
release(cst);

就通用性而言,第二種方法較優(yōu)。網(wǎng)上也有很多關(guān)于這方面的代碼可供參考,個(gè)人可以根據(jù)需求將代碼進(jìn)行封裝,便于后續(xù)的傳參調(diào)用。

實(shí)例展示

97a04424-7f55-11ed-8abf-dac502259ad0.jpg

審核編輯 :李倩

聲明:本文內(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)投訴
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2977

    瀏覽量

    230644
  • CST
    CST
    +關(guān)注

    關(guān)注

    7

    文章

    63

    瀏覽量

    17743

原文標(biāo)題:CST的VBA語言 & MATLAB調(diào)用CST

文章出處:【微信號(hào):射頻學(xué)堂,微信公眾號(hào):射頻學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    G.726/G.711 CST算法用戶指南

    電子發(fā)燒友網(wǎng)站提供《G.726/G.711 CST算法用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 09:46 ?0次下載
    G.726/G.711 <b class='flag-5'>CST</b>算法用戶指南

    帶您了解SIMULIA CST 電磁仿真軟件 2025新功能 微辰三維

    SIMULIA CST 2025新功能上線,帶您“零幀起手”電磁仿真.
    的頭像 發(fā)表于 12-19 22:13 ?153次閱讀

    芯海科技CST92F30芯片成功適配OpenHarmony 3.0.1 LTS

    目前,CST92F30已在消費(fèi)電子產(chǎn)品、智能穿戴、智能家居、工業(yè)物聯(lián)網(wǎng)等多個(gè)領(lǐng)域獲得了廣泛應(yīng)用,并得到了市場(chǎng)的充分驗(yàn)證。
    的頭像 發(fā)表于 12-17 17:34 ?428次閱讀
    芯海科技<b class='flag-5'>CST</b>92F30芯片成功適配OpenHarmony 3.0.1 LTS

    CST Studio Suite 2024 GPU加速計(jì)算指南》

    《GPU Computing Guide》是由Dassault Systèmes Deutschland GmbH發(fā)布的有關(guān)CST Studio Suite 2024的GPU計(jì)算指南。涵蓋GPU計(jì)算
    發(fā)表于 12-16 14:25

    TMS320C54CST引導(dǎo)加載程序技術(shù)參考

    電子發(fā)燒友網(wǎng)站提供《TMS320C54CST引導(dǎo)加載程序技術(shù)參考.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 11:14 ?0次下載
    TMS320C54<b class='flag-5'>CST</b>引導(dǎo)加載程序技術(shù)參考

    Molex推出Coeur CST 高電流連接系統(tǒng)的優(yōu)勢(shì)有哪些?-赫聯(lián)電子

      Molex提供創(chuàng)新的Coeur CST高電流互連系統(tǒng),具有獨(dú)特的新浮子設(shè)計(jì),可調(diào)整不對(duì)齊的插針與插座之間的距離,方便PCB與PCB、PCB與母線棒,或母線棒與母線棒之間的接插,而在此過程中并無
    發(fā)表于 10-14 16:31

    onsemi LV/MV MOSFET 產(chǎn)品介紹 &amp;amp;amp; 行業(yè)應(yīng)用

    01直播介紹直播時(shí)間2024/10/281430直播內(nèi)容1.onsemiLV/MVMOSFET產(chǎn)品優(yōu)勢(shì)&amp;市場(chǎng)地位。2.onsemiLV/MVMOSFETRoadmap。3.onsemiT10
    的頭像 發(fā)表于 10-13 08:06 ?430次閱讀
    onsemi LV/MV MOSFET 產(chǎn)品介紹 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; 行業(yè)應(yīng)用

    智能電子秤方案藍(lán)牙廣播芯片 CST92P15

    一、引言 在智能設(shè)備不斷普及的今天,智能電子秤作為健康管理和商業(yè)計(jì)量的重要工具,其性能和功能的提升備受關(guān)注。藍(lán)牙廣播芯片 CST92P15 以其卓越的技術(shù)特性,為智能電子秤方案帶來了顯著的優(yōu)化和創(chuàng)新
    的頭像 發(fā)表于 08-16 17:00 ?252次閱讀

    TMS320C54CST DSP數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320C54CST DSP數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-02 09:52 ?0次下載
    TMS320C54<b class='flag-5'>CST</b> DSP數(shù)據(jù)表

    FS201資料(pcb &amp;amp; DEMO &amp;amp; 原理圖)

    電子發(fā)燒友網(wǎng)站提供《FS201資料(pcb &amp; DEMO &amp; 原理圖).zip》資料免費(fèi)下載
    發(fā)表于 07-16 11:24 ?0次下載

    CST92F25-QFN32 SDK DOME

    你好,請(qǐng)發(fā)一份CST92F25-QFN32 SDK DOME程序,公司新產(chǎn)品由于體積小,準(zhǔn)備在產(chǎn)品中集成藍(lán)牙部分; 郵箱dxbroot@163.com
    發(fā)表于 06-21 16:34

    什么是Coeur CST 高電流連接系統(tǒng)?哪家好?-赫聯(lián)電子

      Molex提供創(chuàng)新的Coeur CST高電流互連系統(tǒng),具有獨(dú)特的新浮子設(shè)計(jì),可調(diào)整不對(duì)齊的插針與插座之間的距離,方便PCB與PCB、PCB與母線棒,或母線棒與母線棒之間的接插,而在此過程中并無
    發(fā)表于 05-13 14:43

    在TSMaster中加載基于DotNet平臺(tái)的Seed&amp;amp;amp;Key

    在UDS診斷過程中,會(huì)涉及到安全訪問的問題,也就是所謂的Seed&amp;Key。TSMaster診斷模塊支持通過.dll文件載入Seed&amp;Key算法用于安全訪問解鎖。在最近發(fā)布
    的頭像 發(fā)表于 04-02 08:20 ?600次閱讀
    在TSMaster中加載基于DotNet平臺(tái)的Seed&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;Key

    Molex推出Coeur CST 高電流連接系統(tǒng)產(chǎn)品介紹-赫聯(lián)電子

      Molex提供創(chuàng)新的Coeur CST高電流互連系統(tǒng),具有獨(dú)特的新浮子設(shè)計(jì),可調(diào)整不對(duì)齊的插針與插座之間的距離,方便PCB與PCB、PCB與母線棒,或母線棒與母線棒之間的接插,而在此過程中并無
    發(fā)表于 03-04 16:25

    CST—EMC(電磁兼容)仿真及分析工具

    CST全稱為Computer Simulation Technology,具備完備的3D全波電磁場(chǎng)仿真技術(shù)。CST Studio Suite(CST工作室套裝)是CST的核心產(chǎn)品,是目
    的頭像 發(fā)表于 01-10 15:04 ?2143次閱讀
    <b class='flag-5'>CST</b>—EMC(電磁兼容)仿真及分析工具