|
 VS數(shù)學模型可以通過VS瀏覽器啟動和控制,這樣就不需要其他軟件了。仿真活動的主要產(chǎn)品是一個輸出文件,其中包含感興趣的變量的時間歷史,可以用VS Visualizer繪制或用于生成動畫。輸出也可以自動寫成文件,可以在Excel(和其他電子表格程序)或MATLAB中打開。車輛的VS數(shù)學模型也可以從其他仿真環(huán)境中啟動和控制,如MATLAB、Simulink、LabVIEW、ASCET、FMI兼容的軟件和自定義軟件。大多數(shù)外部軟件工具使用導入和導出變量數(shù)組將信息傳入或傳出VS數(shù)學模型。VS數(shù)學模型支持數(shù)百個可激活的進口變量,以及數(shù)千個可激活的出口變量。注意 SuspensionSim產(chǎn)品包括I/O通道寫入庫,并支持將數(shù)據(jù)導出到Excel和MATLAB。但是,它不包括用于與Simulink和其他時域仿真環(huán)境連接的庫,這些環(huán)境可能用于BikeSim、CarSim和TruckSim。輸出文件每個VS數(shù)學模型都包括一些輸出變量,這些變量可以寫入文件,以便以后繪圖和制作動畫。例如,一個四輪的CarSim模型至少有大約600個內(nèi)置輸出變量。如果用運動傳感器、移動物體、測距和探測傳感器等來擴展模型,可用的輸出變量數(shù)量可以增加到幾萬個。帶拖車的車輛模型開始時有更多的內(nèi)置變量。用戶還可以用VS命令定義新的輸出變量,進一步增加變量的數(shù)量。一個VS數(shù)學模型可以被設置為將所有現(xiàn)有輸出變量的時間歷史寫入文件。這個選項可以通過運行控制屏幕上的一個復選框為任何仿真設置 (圖1)。如果不勾選這個復選框,那么只有在為圖或動畫指定的情況下才會寫輸出變量,或者從I/O通道的鏈接數(shù)據(jù)集 中明確添加輸出變量:寫入庫。圖1. 運行控制屏幕上的 "寫入所有輸出 "復選框VS數(shù)學模型支持四種類型的輸出文件 :3. ERD
32位二進制(傳統(tǒng)的)。4. CSV(逗號分隔的變量)文本,與電子表格程序兼容所有這四種格式都被VS Visualizer完全支持。主要的可見差異是,64位二進制文件比32位二進制文件大一倍,而32位文件對GPS經(jīng)緯度和可能的其他一些輸出變量沒有保持足夠的分辨率。CSV文件是最大的,而且加載速度較慢;然而,這在現(xiàn)代計算機上往往是不明顯的。CSV文件的主要限制是它的標簽信息最少,沒有關(guān)于單位的信息。除了輸出變量的名稱之外,缺乏其他信息,這使得CSV文件無法用于一些高級應用。文件的類型可以在運行控制屏幕上用一個下拉列表控制來設置 (圖1)。更常見的是,它是通過最近查看的首選項數(shù)據(jù)集的類似控制來設置的,該數(shù)據(jù)集被用作當前數(shù)據(jù)庫中所有仿真的默認值。VehicleSim產(chǎn)品有自動將輸出數(shù)據(jù)從本地輸出文件復制到可用于MATLAB的文件的選項。當您點擊按鈕從運行控制界面上運行仿真,或?qū)⒖刂茩?quán)傳遞給Simulink時,VS瀏覽器會自動設置運行仿真所需的文件。它還可以直接運行仿真(如果沒有使用外部軟件),或者通過與外部軟件(如Simulink)連接來運行。當運行結(jié)束時,VS數(shù)學模型會向VS瀏覽器發(fā)送一個信號。當VS瀏覽器收到仿真終止的信號時,它會掃描輸入,看是否要求提供MATLAB文件。如果是的話,VS瀏覽器會啟動一個叫做 VS/ERD文件工具,以讀取本地輸出文件的內(nèi)容并寫入MATLAB二進制文件(文件類型=MAT)。最后,VS瀏覽器刷新屏幕,以實現(xiàn)繪圖、錄像和查看機器生成的文件,包括MATLAB的輸出文件。MAT文件的創(chuàng)建過程非常迅速,通常不會被注意到。(它需要大約十分之一秒的時間)。制作MATLAB文件的選項是通過鏈接到I/O通道的數(shù)據(jù)集來設置的。寫入 庫中的數(shù)據(jù)集,如下一小節(jié)所述。雖然VS數(shù)學模型可以直接生成CSV文件,但VS/ERD文件工具也可以從VS或ERD文件中復制信息,生成一個具有子集內(nèi)容的CSV文件,就像對MATLAB文件那樣CSV和MAT文件可以在運行控制界面上用右下角的查看按鈕查看(圖2)。圖2. 可以在Excel和MATLAB中查看VehicleSim產(chǎn)品的仿真結(jié)果注意只有當輸出文件類型為ERD或VS時,生成CSV和/或MAT文件并將輸出變量的子集寫入VS數(shù)學模型的輸出文件的選項才有效。如果VS數(shù)學模型的輸出類型是CSV,那么就不能制作額外的文件。 I/O通道:寫入I/O通道。寫入界面(圖3)主要用于指定應寫入輸出文件的變量,因為它們將被用于第三方軟件的后期處理,如Excel或MATLAB。通常情況下,數(shù)據(jù)集也會導致CSV和/或MATLAB(MAT)文件通過復制本地輸出文件中的數(shù)據(jù)而被創(chuàng)建。 特定于文件類型的設置 前三個控件分別適用于不同類型的文件: 下拉控制,有三個選項,可用于本界面上引用的變量如何與其他涉及可能被寫入本地輸出文件的輸出變量的設置相互作用(圖4)。
第二個選項將在可滾動的黃色區(qū)域 內(nèi)添加由名稱指定的變量。VS Visualizer 繪圖和視頻所需的變量也將被寫入文件。第三個選項將清除已自動識別的用于繪圖和視頻的變量列表,并創(chuàng)建一個新的列表,其中只有黃色區(qū)域 中指定的變量。請注意,如果選擇第三個選項(Write ONLY...),正常的視頻和繪圖選項將可能無法工作。 有三個選項的下拉控件,用于制作一個帶有輸出變量子集的逗號分隔變量(CSV)文本文件(圖5)。CSV格式適用于Excel和許多其他程序。如果創(chuàng)建了CSV文件,可以使用運行控制屏幕上的 "查看 "按鈕在Excel中打開它(圖2)。 圖5. 制作CSV文件的選項 該控件有三個選項:沒有Excel(CSV)文件,帶有這里指定的變量的Excel文件(在可滾動的黃色區(qū)域 ),以及帶有本地VS/ERD二進制文件中存在的所有變量的Excel文件。 VS
Math Models可以寫CSV文件作為本地輸出。如果主要的輸出是以CSV格式寫的,那么就不會產(chǎn)生額外的文件;這個控制將被忽略。 使用該庫的數(shù)據(jù)集生成CSV文件的選項可能對某些應用很有用,特別是當需要的CSV文件只包括本地文件中的幾個輸出變量時。然而,如果主要意圖是讓所有的輸出都是CSV格式,那么從運行控制界面或在當前的首選項中指定CSV格式可能更簡單。 有三個選項的下拉控件,用于制作帶有輸出變量子集的MATLAB本地二進制文件(擴展名MAT)(圖6)。 這三個選項與上述Excel文件的描述相同。如果創(chuàng)建了MAT文件,可以在MATLAB內(nèi)使用運行控制界面上的查看按鈕打開(圖2)。 注意如果主要輸出是以CSV格式寫的,那么就不會有其他文件;這個控制將被忽略。 瀏覽可用變量的列表三個I/O通道界面(寫入、導入和導出)都支持可用變量列表,可以使用GUI控件瀏覽。對于這三個界面,信息來自于VS數(shù)學模型動態(tài)生成的一個標簽式文本文件。(同樣的瀏覽方法也用于選擇輸出變量,以使用繪圖:設置庫進行繪圖)。 下拉控件可在兩個選項中選擇,以獲得可用輸出變量的信息(圖7)。 第一個選項安排界面顯示與運行控制庫中的數(shù)據(jù)集的潛在鏈接在這種情況下,使用該鏈接選擇一個涉及車輛模型的運行,其中包括你希望繪制的所有變量。 當你選擇一個數(shù)據(jù)集時,VS瀏覽器會在界面上顯示所有可用的輸出變量的列表 和.NET的列表 。 為了做到這一點,VS瀏覽器自動執(zhí)行了幾個步驟。 1.它創(chuàng)建了將用于仿真的VS數(shù)學模型,給它提供了與所選運行控制數(shù)據(jù)集相聯(lián)系的所有數(shù)據(jù)集的信息。 2.指示VS數(shù)學模型創(chuàng)建一個有標簽的文本文件,列出所有可用的輸出變量,這些變量來自于運行控制數(shù)據(jù)集的信息。標簽文本文件被寫入與運行控制數(shù)據(jù)集相關(guān)的結(jié)果文件夾中,如旁邊的黃色區(qū)域 所示。VS數(shù)學模型也會創(chuàng)建一個相同文件的副本,但擴展名為.xls(電子表格)。 3.將VS數(shù)學模型從內(nèi)存中釋放出來。 4.將標簽文本文件的名稱放在路徑名欄中 。 5.掃描標簽文本文件以獲得瀏覽器列表中顯示的信息。 6.可用的輸出變量的數(shù)量被寫在路徑名字段下的文本信息中 。 這些步驟生成的非???。 當VS數(shù)學模型被用來生成文檔時,它不執(zhí)行任何模擬活動,即使你沒有感興趣的特定模型的許可證也可以使用。例如,如果你有一個支持傳感器選項的網(wǎng)絡許可證服務器,你可以為帶有傳感器的車輛設置輸出變量,而不需要訪問傳感器許可證。 第二個選項是在界面上顯示一個較大的字段,用于標記文本文件的路徑名稱,旁邊有一個文件瀏覽器控件 (圖8)。 鏈接到運行控制庫中的數(shù)據(jù)集。只有當從下拉控制中選擇了選擇運行的選項時,這個鏈接才是可見的 。當你用這個控件進行數(shù)據(jù)集的鏈接時,VS瀏覽器會使用上述指定的運行控制數(shù)據(jù)集生成標簽式文本文件。任何時候訪問該數(shù)據(jù)集或刷新屏幕,都會再次讀取該文件,以提供屏幕上的輸出變量信息。 如果你改變了所選運行控制數(shù)據(jù)集的任何設置,或者改變了與所選運行控制數(shù)據(jù)集相連的數(shù)據(jù)集中的任何車輛或程序設置,你可能想生成一個新的標簽文本文件。為此,使用藍色鏈接下拉控件 重新選擇同一運行控制數(shù)據(jù)集。任何時候你用這個下拉控件選擇一個運行控制數(shù)據(jù)集,就會自動生成一個新的帶標簽的文本文件。 標簽式文本文件,描述所有可用的輸出變量。這通常是通過臨時設置下拉控件 從運行控制庫 中選擇一個數(shù)據(jù)集而產(chǎn)生的,如上所述。
輸出變量的數(shù)量緊接著在這個字段下面顯示。在這個例子中,有121個輸出變量(這是用輪胎測試器模型進行的運行)。 一旦生成了標簽式文本文件,你可以把下拉控件改回來,看到文件的全名(圖8)。 提醒:使用VS數(shù)學模型生成標簽文本文件的能力 是在2014年CarSim 9.0中引入的。該軟件的舊版本舊版本的軟件使用了機器生成的靜態(tài)標簽文本,但在最近的版本中不存在這種功能。最近的版本不存在。 如果你需要編輯一個舊的數(shù)據(jù)集,你可以通過鏈接到一個運行控制數(shù)據(jù)集來生成一個更新的文件,如上所述。 查看電子表格按鈕。點擊查看電子表格,該界面上顯示的信息相同(圖9)。字段中顯示的路徑名以文本out_tab.txt結(jié)尾 。還會生成第二個以文本out.xls結(jié)尾的文件,用于支持用Excel或其他電子表格程序使用此按鈕查看。 圖9. 從Excel查看帶有可用輸出變量的標簽文本文件注意除了使用這個界面或電子表格程序的選項外。另一個選擇是通過一個簡單的文本文件查看輸出變量的信息。觀察文本文件的另一個選擇是通過 "運行控制 "界面右下角的 "觀察 "按鈕來實現(xiàn)的。運行控制界面右下角的查看按鈕。 文件名后綴,附加在使用此數(shù)據(jù)集生成的CSV或MAT文件上。當該字段為空時,CSV和MAT文件的名稱與VS數(shù)學模型生成的輸出文件相同,但有適當?shù)臄U展名。 類別下拉控件和字段。使用下拉控件來指定所有變量的列表如何排序(圖10)。例如,如果您選擇了 "按元件類型選擇 "選項,那么所有的元件類型都會列在這個字段中,如圖3所示。如果您選擇了 "按單位選擇 "的選項,那么這個列表顯示了所有使用的單位,接下來的列表顯示了所有具有當前所選單位的變量(km/h、deg等)。點擊列表中的一個類別,與所選類別相關(guān)的那些變量就會出現(xiàn)在鄰近的可用變量列表中 。圖10. 瀏覽輸出變量的選項 輸出變量列表。這顯示了所選類別中的所有輸出變量的名稱。例如,在圖3中,該列表顯示了 "地面和道路 "類別中的所有輸出變量。VS數(shù)學模型中的輸出變量用不含空格的唯一短名稱來標識。例如,列表中突出顯示的變量有一個簡短的名字RollGL1。 除了短名稱,每個變量都有額外的標簽,用于自動識別圖中的軸和數(shù)據(jù)集,并支持互動瀏覽。這些標簽包括一個長名稱(例如,對于RollGL1,長名稱是 "Roll of ground, wheel
L1")、單位("deg")、通用名稱("Angle")、組件名稱(也是 "Roll of ground, wheel
L1")和組件類型("地面和道路")。 如果你選擇了一個項目,然后在這個列表中點擊右鍵,VS瀏覽器就會顯示關(guān)于所選變量的更多信息(圖3)。 注意有些右鍵描述有額外的信息。例如,變量RollGL1的信息包括對其數(shù)學定義的描述。當有一組類似的變量應用于重復的部分時,如這輛車的四個輪子,只有該組中的第一個變量有額外的信息。 你可以通過雙擊這個列表激活一個變量。當你雙擊時,簡短的名稱會寫在黃色區(qū)域 內(nèi)容的末尾要寫的變量。 為寫作指定變量上述小節(jié)中描述的所有控件( - )都支持交互式瀏覽特定運行控制數(shù)據(jù)集的可用輸出變量。然而,這些控件都不能直接控制哪些變量被激活寫入。可滾動的黃色區(qū)域 包含一個感興趣的輸出變量列表。這是VS瀏覽器、VS/ERD工具和VS數(shù)學模型用來識別該庫中數(shù)據(jù)集的相關(guān)變量的唯一信息。 添加所有按鈕。點擊將輸出變量列表中顯示的所有變量的短名稱 (基于所選類別 )添加到黃色字段待寫入的變量中 。
清除列表按鈕。單擊以清除要寫入的變量列表 。
要寫入的變量。這個黃色字段列出了將包括在輸出文件中的變量的短名稱??梢酝ㄟ^雙擊 "輸出變量 "列表中的名稱或點擊 "全部添加 "按鈕來添加變量。鑒于這是一個普通的黃色字段,名稱可以直接輸入,也可以從Windows剪貼板上粘貼。
如果同一個輸出變量名稱被多次列出,它將只在輸出文件中出現(xiàn)一次。如果指定了一個變量名稱,但該變量不可用,那么該名稱將被忽略。 VS命令行 用于插入可選的VS命令(或其他數(shù)據(jù))的字段。這個字段為定義新的輸出變量或插入方程提供了一個方便的位置。VS命令在VS命令手冊中都有描述。
如果你在這個字段中定義了新的輸出變量,如果在生成文件時這些命令已經(jīng)存在,它們將被包括在標簽文本文件中。如果你改變了這個字段的內(nèi)容,增加了更多的輸出,或者改變了它們的屬性,那么你可以通過重新選擇與這個數(shù)據(jù)集鏈接的運行控制 數(shù)據(jù)集來重新生成標簽文本文件。 用VS命令DEFINE_OUTPUT定義的新輸出變量將被創(chuàng)建,但不會被寫入文件,除非這些名稱被列在要寫入的變量列表中 ,或者所有變量都被寫入。 注意在I/O通道導入界面中,有一個定義新變量并激活它的例子。同樣的一般方法也用于輸出和導出變量。 SimulinkS-Function模塊為了與外部軟件如Simulink一起工作,VS數(shù)學模型從一個包裝模塊中運行,該模塊將使用的VS庫連接到其他環(huán)境。封裝器以該環(huán)境的標準方式與調(diào)用環(huán)境進行通信。圖11顯示了Simulink模型、VS S-函數(shù)包裝器DLL和VS庫之間的關(guān)系。 圖11. 用Simulink運行一個VS數(shù)學模型VS瀏覽器啟動一個Simulink模型,準備創(chuàng)建和運行VS數(shù)學模型所需的輸入文件,并向Simulink發(fā)送命令。在運行過程中,Simulink和包裝器DLL之間,以及包裝器和VS庫之間都有密切的通信。 仿真工具,如Simulink,有標準的方法與程序模塊進行通信,使用導入變量和導出變量的數(shù)組。VS數(shù)學模型與這種方法兼容:它們包括數(shù)百個在運動方程中被引用的變量,但這些變量在名義上是零的。它們也有成千上萬的可用輸出變量。除了設置模擬車輛和測試條件屬性的參數(shù)和表格外,VS數(shù)學模型讀取的數(shù)據(jù)集可以包括激活導入和導出變量的命令,這是與外部模型合作的需要。 VehicleSim產(chǎn)品帶有一個由四個S-功能塊組成的庫。圖12顯示了CarSim中提供的塊;BikeSim和TruckSim也提供了類似的S-Function塊。 注意 S-功能程序在BikeSim、CarSim和TruckSim中是相同的;只有Simulink中顯示的圖形圖像是特定于產(chǎn)品的。 像機傳感器塊是一個特殊用途的S-功能,支持實時動畫和從VS
Visualizer訪問攝像機傳感器輸出。詳情請見技術(shù)備忘錄VS相機傳感器Simulink塊。 S-函數(shù)塊是標準的VS S-函數(shù),幾乎在所有的例子模擬中都使用。導入和導出端口可以根據(jù)需要進行配置,新的端口有任何數(shù)量的指定信號。 S-Function2v模塊是標準VS S-Function的一個變體,支持實時視頻。因為它與VS Visualizer建立了獨特的連接,所以在一個Simulink模型中只能使用該模塊的一個實例。 多重求解器S-函數(shù)塊可以在一個Simulink模型中多次使用,以仿真多個相互作用的車輛。使用這個S-函數(shù)的Simulink模型應該從工具>并行求解器庫屏幕中訪問。為了使VS數(shù)學模型與Simulink模型正常通信,導入和導出的變量必須與Simulink模型的期望值一致。 為導入和導出指定變量的最簡單方法是使用庫中I/O通道的界面,I/O通道-導入和導出。如果在Simulink中使用了多個端口,那么就用庫I/O通道來管理它們。這些數(shù)據(jù)集的鏈接是使用Models.Simulink庫為Simulink模型建立的。Simulink庫,它也指定了Simulink模型文件和一些通信選項,如文件External Models and RT Systems所述,可從幫助子菜單Help > Model Extensions and RT獲得。 輸入和輸出矩陣信號的其他應用導入和導出數(shù)組用于Simulink以外的外部仿真工具。同樣的設置也用于LabVIEW、ASCET、FMI/FMU以及可能用MATLAB、Python和其他語言編寫的自定義程序。 在所有這些情況下,I/O通道。導入和I/O通道。輸出界面用于配置VS數(shù)學模型以滿足外部仿真工具的通信要求。
|