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

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

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

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

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

摘要:

大家在科研和工作中,往往會遇到如何在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

對于微波專業(yè)的學(xué)生和科研從業(yè)者,大部分情況下選用的是CST的MICROWAVE STUDIO (MWS)。因此,查看學(xué)習(xí)CST MWS VBA語法和對象即可滿足日常學(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ù)制可能會報錯!親測!)

'#Language "WWB-COM"


Option Explicit


Sub Main
  MsgBox("Hello World")
EndSub

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

對于初學(xué)者而言,若要熟練使用VBA開發(fā)環(huán)境對CST進(jìn)行代碼式建模開發(fā),還需要掌握兩方面知識: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é)一遍??梢员羞厡W(xué)邊用的方法,活學(xué)活用。不過學(xué)習(xí)常用的變量定義、數(shù)組、循環(huán)、判斷、字符等最基礎(chǔ)的知識是很有必要的。

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

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

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

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

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

好在可以打開CST官方Macro文件進(jìn)行參考,比如自帶的Dipole Antenna這個mcs文件。經(jīng)過對比,不難發(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,可能不會被識別)。然后按下面的語法結(jié)構(gòu),修改CST安裝路徑和bas文件路徑即可調(diào)用成功。這種方法和通過hfssapi包編寫好相應(yīng)的vbs腳本文件,再用MATLAB調(diào)用HFSS執(zhí)行vbs腳本命令類似。不過這種方法在嘗試調(diào)用高版本CST2022時,會因為采用了批處理(Batch)腳本調(diào)用而需要手動確認(rèn)license的現(xiàn)象。

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

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

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

就通用性而言,第二種方法較優(yōu)。網(wǎng)上也有很多關(guān)于這方面的代碼可供參考,個人可以根據(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • matlab
    +關(guān)注

    關(guān)注

    182

    文章

    2960

    瀏覽量

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

    關(guān)注

    7

    文章

    62

    瀏覽量

    17687

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    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)勢有哪些?-赫聯(lián)電子

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

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

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

    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

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

    芯??萍?b class='flag-5'>CST92F42:高性價比BLE MCU,實(shí)現(xiàn)60幀流暢刷屏!

    芯海科技CST92F42是一款高集成、低功耗的BLE5.1MCU。該產(chǎn)品搭載高性能32位MCU內(nèi)核并支持硬件浮點(diǎn),內(nèi)置64KBSRAM、512KBFlash,支持所有藍(lán)牙LEV5.1特性,擁有豐富
    的頭像 發(fā)表于 06-01 08:16 ?590次閱讀
    芯海科技<b class='flag-5'>CST</b>92F42:高性價比BLE MCU,實(shí)現(xiàn)60幀流暢刷屏!

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

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

    在TSMaster中加載基于DotNet平臺的Seed&amp;amp;amp;Key

    在UDS診斷過程中,會涉及到安全訪問的問題,也就是所謂的Seed&amp;Key。TSMaster診斷模塊支持通過.dll文件載入Seed&amp;Key算法用于安全訪問解鎖。在最近發(fā)布
    的頭像 發(fā)表于 04-02 08:20 ?495次閱讀
    在TSMaster中加載基于DotNet平臺的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è)計,可調(diào)整不對齊的插針與插座之間的距離,方便PCB與PCB、PCB與母線棒,或母線棒與母線棒之間的接插,而在此過程中并無
    發(fā)表于 03-04 16:25

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

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

    CST92F25可以在IAR或者CSU_IDE進(jìn)行debug嘛

    CST92F25開發(fā)板的開發(fā)環(huán)境可以在IAR或者CSU_IDE進(jìn)行debug嘛
    發(fā)表于 12-20 14:04

    用在半導(dǎo)體CST材料搬運(yùn)AGV小車的RFID

    CST晶圓盒上安裝TI Tag標(biāo)簽,標(biāo)簽內(nèi)錄入CST晶圓盒材料的信息。在工藝設(shè)備AGV搬運(yùn)CST時,半導(dǎo)體RFID讀寫器會通過無線射頻信號識別CST晶圓盒上的TI Tag標(biāo)簽信息,獲
    的頭像 發(fā)表于 12-13 09:11 ?687次閱讀
    用在半導(dǎo)體<b class='flag-5'>CST</b>材料搬運(yùn)AGV小車的RFID

    申請CST92F25系列開發(fā)板

    請教一下,如何申請CST92F25系列開發(fā)板,我看到官網(wǎng)上好像只能申請芯片
    發(fā)表于 12-06 13:42

    盤點(diǎn)一下CST電磁仿真軟件的求解器

    今天我們一起來盤點(diǎn)一下CST電磁仿真軟件那些牛叉的求解器??靵頂?shù)一下,你用了里面的幾種吧!
    的頭像 發(fā)表于 11-20 10:18 ?5925次閱讀
    盤點(diǎn)一下<b class='flag-5'>CST</b>電磁仿真軟件的求解器