輸出文件注意只有當(dāng)輸出文件類型為ERD或VS時(shí),生成CSV和/或MAT文件并將輸出變量的子集寫(xiě)入VS數(shù)學(xué)模型的輸出文件的選項(xiàng)才有效。如果VS數(shù)學(xué)模型的輸出類型是CSV,那么就不能制作額外的文件。 I/O通道:寫(xiě)入I/O通道。寫(xiě)入界面(圖3)主要用于指定應(yīng)寫(xiě)入輸出文件的變量,因?yàn)樗鼈儗⒈挥糜诘谌杰浖暮笃谔幚?,如Excel或MATLAB。通常情況下,數(shù)據(jù)集也會(huì)導(dǎo)致CSV和/或MATLAB(MAT)文件通過(guò)復(fù)制本地輸出文件中的數(shù)據(jù)而被創(chuàng)建。 特定于文件類型的設(shè)置 前三個(gè)控件分別適用于不同類型的文件: 下拉控制,有三個(gè)選項(xiàng),可用于本界面上引用的變量如何與其他涉及可能被寫(xiě)入本地輸出文件的輸出變量的設(shè)置相互作用(圖4)。 第二個(gè)選項(xiàng)將在可滾動(dòng)的黃色區(qū)域內(nèi)添加由名稱指定的變量。VS Visualizer 繪圖和視頻所需的變量也將被寫(xiě)入文件。第三個(gè)選項(xiàng)將清除已自動(dòng)識(shí)別的用于繪圖和視頻的變量列表,并創(chuàng)建一個(gè)新的列表,其中只有黃色區(qū)域中指定的變量。請(qǐng)注意,如果選擇第三個(gè)選項(xiàng)(Write ONLY...),正常的視頻和繪圖選項(xiàng)將可能無(wú)法工作。 有三個(gè)選項(xiàng)的下拉控件,用于制作一個(gè)帶有輸出變量子集的逗號(hào)分隔變量(CSV)文本文件(圖5)。CSV格式適用于Excel和許多其他程序。如果創(chuàng)建了CSV文件,可以使用運(yùn)行控制屏幕上的 "查看 "按鈕在Excel中打開(kāi)它(圖2)。 圖5. 制作CSV文件的選項(xiàng) 該控件有三個(gè)選項(xiàng):沒(méi)有Excel(CSV)文件,帶有這里指定的變量的Excel文件(在可滾動(dòng)的黃色區(qū)域),以及帶有本地VS/ERD二進(jìn)制文件中存在的所有變量的Excel文件。 VS Math Models可以寫(xiě)CSV文件作為本地輸出。如果主要的輸出是以CSV格式寫(xiě)的,那么就不會(huì)產(chǎn)生額外的文件;這個(gè)控制將被忽略。 使用該庫(kù)的數(shù)據(jù)集生成CSV文件的選項(xiàng)可能對(duì)某些應(yīng)用很有用,特別是當(dāng)需要的CSV文件只包括本地文件中的幾個(gè)輸出變量時(shí)。然而,如果主要意圖是讓所有的輸出都是CSV格式,那么從運(yùn)行控制界面或在當(dāng)前的首選項(xiàng)中指定CSV格式可能更簡(jiǎn)單。 有三個(gè)選項(xiàng)的下拉控件,用于制作帶有輸出變量子集的MATLAB本地二進(jìn)制文件(擴(kuò)展名MAT)(圖6)。 這三個(gè)選項(xiàng)與上述Excel文件的描述相同。如果創(chuàng)建了MAT文件,可以在MATLAB內(nèi)使用運(yùn)行控制界面上的查看按鈕打開(kāi)(圖2)。 注意如果主要輸出是以CSV格式寫(xiě)的,那么就不會(huì)有其他文件;這個(gè)控制將被忽略。 瀏覽可用變量的列表三個(gè)I/O通道界面(寫(xiě)入、導(dǎo)入和導(dǎo)出)都支持可用變量列表,可以使用GUI控件瀏覽。對(duì)于這三個(gè)界面,信息來(lái)自于VS數(shù)學(xué)模型動(dòng)態(tài)生成的一個(gè)標(biāo)簽式文本文件。(同樣的瀏覽方法也用于選擇輸出變量,以使用繪圖:設(shè)置庫(kù)進(jìn)行繪圖)。 下拉控件可在兩個(gè)選項(xiàng)中選擇,以獲得可用輸出變量的信息(圖7)。 第一個(gè)選項(xiàng)安排界面顯示與運(yùn)行控制庫(kù)中的數(shù)據(jù)集的潛在鏈接在這種情況下,使用該鏈接選擇一個(gè)涉及車(chē)輛模型的運(yùn)行,其中包括你希望繪制的所有變量。 當(dāng)你選擇一個(gè)數(shù)據(jù)集時(shí),VS瀏覽器會(huì)在界面上顯示所有可用的輸出變量的列表和.NET的列表。 為了做到這一點(diǎn),VS瀏覽器自動(dòng)執(zhí)行了幾個(gè)步驟。 1.它創(chuàng)建了將用于仿真的VS數(shù)學(xué)模型,給它提供了與所選運(yùn)行控制數(shù)據(jù)集相聯(lián)系的所有數(shù)據(jù)集的信息。 2.指示VS數(shù)學(xué)模型創(chuàng)建一個(gè)有標(biāo)簽的文本文件,列出所有可用的輸出變量,這些變量來(lái)自于運(yùn)行控制數(shù)據(jù)集的信息。標(biāo)簽文本文件被寫(xiě)入與運(yùn)行控制數(shù)據(jù)集相關(guān)的結(jié)果文件夾中,如旁邊的黃色區(qū)域所示。VS數(shù)學(xué)模型也會(huì)創(chuàng)建一個(gè)相同文件的副本,但擴(kuò)展名為.xls(電子表格)。 3.將VS數(shù)學(xué)模型從內(nèi)存中釋放出來(lái)。 4.將標(biāo)簽文本文件的名稱放在路徑名欄中。 5.掃描標(biāo)簽文本文件以獲得瀏覽器列表中顯示的信息。 6.可用的輸出變量的數(shù)量被寫(xiě)在路徑名字段下的文本信息中。 這些步驟生成的非???。 當(dāng)VS數(shù)學(xué)模型被用來(lái)生成文檔時(shí),它不執(zhí)行任何模擬活動(dòng),即使你沒(méi)有感興趣的特定模型的許可證也可以使用。例如,如果你有一個(gè)支持傳感器選項(xiàng)的網(wǎng)絡(luò)許可證服務(wù)器,你可以為帶有傳感器的車(chē)輛設(shè)置輸出變量,而不需要訪問(wèn)傳感器許可證。 第二個(gè)選項(xiàng)是在界面上顯示一個(gè)較大的字段,用于標(biāo)記文本文件的路徑名稱,旁邊有一個(gè)文件瀏覽器控件(圖8)。 當(dāng)你用這個(gè)控件進(jìn)行數(shù)據(jù)集的鏈接時(shí),VS瀏覽器會(huì)使用上述指定的運(yùn)行控制數(shù)據(jù)集生成標(biāo)簽式文本文件。任何時(shí)候訪問(wèn)該數(shù)據(jù)集或刷新屏幕,都會(huì)再次讀取該文件,以提供屏幕上的輸出變量信息。 如果你改變了所選運(yùn)行控制數(shù)據(jù)集的任何設(shè)置,或者改變了與所選運(yùn)行控制數(shù)據(jù)集相連的數(shù)據(jù)集中的任何車(chē)輛或程序設(shè)置,你可能想生成一個(gè)新的標(biāo)簽文本文件。為此,使用藍(lán)色鏈接下拉控件重新選擇同一運(yùn)行控制數(shù)據(jù)集。任何時(shí)候你用這個(gè)下拉控件選擇一個(gè)運(yùn)行控制數(shù)據(jù)集,就會(huì)自動(dòng)生成一個(gè)新的帶標(biāo)簽的文本文件。 標(biāo)簽式文本文件,描述所有可用的輸出變量。這通常是通過(guò)臨時(shí)設(shè)置下拉控件從運(yùn)行控制庫(kù)中選擇一個(gè)數(shù)據(jù)集而產(chǎn)生的,如上所述。 輸出變量的數(shù)量緊接著在這個(gè)字段下面顯示。在這個(gè)例子中,有121個(gè)輸出變量(這是用輪胎測(cè)試器模型進(jìn)行的運(yùn)行)。 一旦生成了標(biāo)簽式文本文件,你可以把下拉控件改回來(lái),看到文件的全名(圖8)。 提醒:使用VS數(shù)學(xué)模型生成標(biāo)簽文本文件的能力 是在2014年CarSim 9.0中引入的。該軟件的舊版本舊版本的軟件使用了機(jī)器生成的靜態(tài)標(biāo)簽文本,但在最近的版本中不存在這種功能。最近的版本不存在。 如果你需要編輯一個(gè)舊的數(shù)據(jù)集,你可以通過(guò)鏈接到一個(gè)運(yùn)行控制數(shù)據(jù)集來(lái)生成一個(gè)更新的文件,如上所述。 字段中顯示的路徑名以文本out_tab.txt結(jié)尾。還會(huì)生成第二個(gè)以文本out.xls結(jié)尾的文件,用于支持用Excel或其他電子表格程序使用此按鈕查看。 注意除了使用這個(gè)界面或電子表格程序的選項(xiàng)外。另一個(gè)選擇是通過(guò)一個(gè)簡(jiǎn)單的文本文件查看輸出變量的信息。觀察文本文件的另一個(gè)選擇是通過(guò) "運(yùn)行控制 "界面右下角的 "觀察 "按鈕來(lái)實(shí)現(xiàn)的。運(yùn)行控制界面右下角的查看按鈕。 圖10. 瀏覽輸出變量的選項(xiàng) VS數(shù)學(xué)模型中的輸出變量用不含空格的唯一短名稱來(lái)標(biāo)識(shí)。例如,列表中突出顯示的變量有一個(gè)簡(jiǎn)短的名字RollGL1。 除了短名稱,每個(gè)變量都有額外的標(biāo)簽,用于自動(dòng)識(shí)別圖中的軸和數(shù)據(jù)集,并支持互動(dòng)瀏覽。這些標(biāo)簽包括一個(gè)長(zhǎng)名稱(例如,對(duì)于RollGL1,長(zhǎng)名稱是 "Roll of ground, wheel L1")、單位("deg")、通用名稱("Angle")、組件名稱(也是 "Roll of ground, wheel L1")和組件類型("地面和道路")。 如果你選擇了一個(gè)項(xiàng)目,然后在這個(gè)列表中點(diǎn)擊右鍵,VS瀏覽器就會(huì)顯示關(guān)于所選變量的更多信息(圖3)。 注意有些右鍵描述有額外的信息。例如,變量RollGL1的信息包括對(duì)其數(shù)學(xué)定義的描述。當(dāng)有一組類似的變量應(yīng)用于重復(fù)的部分時(shí),如這輛車(chē)的四個(gè)輪子,只有該組中的第一個(gè)變量有額外的信息。 你可以通過(guò)雙擊這個(gè)列表激活一個(gè)變量。當(dāng)你雙擊時(shí),簡(jiǎn)短的名稱會(huì)寫(xiě)在黃色區(qū)域內(nèi)容的末尾要寫(xiě)的變量。 為寫(xiě)作指定變量上述小節(jié)中描述的所有控件(-)都支持交互式瀏覽特定運(yùn)行控制數(shù)據(jù)集的可用輸出變量。然而,這些控件都不能直接控制哪些變量被激活寫(xiě)入。可滾動(dòng)的黃色區(qū)域包含一個(gè)感興趣的輸出變量列表。這是VS瀏覽器、VS/ERD工具和VS數(shù)學(xué)模型用來(lái)識(shí)別該庫(kù)中數(shù)據(jù)集的相關(guān)變量的唯一信息。 添加所有按鈕。點(diǎn)擊將輸出變量列表中顯示的所有變量的短名稱(基于所選類別)添加到黃色字段待寫(xiě)入的變量中。 清除列表按鈕。單擊以清除要寫(xiě)入的變量列表。 要寫(xiě)入的變量。這個(gè)黃色字段列出了將包括在輸出文件中的變量的短名稱。可以通過(guò)雙擊 "輸出變量"列表中的名稱或點(diǎn)擊 "全部添加 "按鈕來(lái)添加變量。鑒于這是一個(gè)普通的黃色字段,名稱可以直接輸入,也可以從Windows剪貼板上粘貼。 如果同一個(gè)輸出變量名稱被多次列出,它將只在輸出文件中出現(xiàn)一次。如果指定了一個(gè)變量名稱,但該變量不可用,那么該名稱將被忽略。 VS命令行用于插入可選的VS命令(或其他數(shù)據(jù))的字段。這個(gè)字段為定義新的輸出變量或插入方程提供了一個(gè)方便的位置。VS命令在VS命令手冊(cè)中都有描述。如果你在這個(gè)字段中定義了新的輸出變量,如果在生成文件時(shí)這些命令已經(jīng)存在,它們將被包括在標(biāo)簽文本文件中。如果你改變了這個(gè)字段的內(nèi)容,增加了更多的輸出,或者改變了它們的屬性,那么你可以通過(guò)重新選擇與這個(gè)數(shù)據(jù)集鏈接的運(yùn)行控制數(shù)據(jù)集來(lái)重新生成標(biāo)簽文本文件。 用VS命令DEFINE_OUTPUT定義的新輸出變量將被創(chuàng)建,但不會(huì)被寫(xiě)入文件,除非這些名稱被列在要寫(xiě)入的變量列表中,或者所有變量都被寫(xiě)入。 注意在I/O通道導(dǎo)入界面中,有一個(gè)定義新變量并激活它的例子。同樣的一般方法也用于輸出和導(dǎo)出變量。 SimulinkS-Function模塊為了與外部軟件如Simulink一起工作,VS數(shù)學(xué)模型從一個(gè)包裝模塊中運(yùn)行,該模塊將使用的VS庫(kù)連接到其他環(huán)境。封裝器以該環(huán)境的標(biāo)準(zhǔn)方式與調(diào)用環(huán)境進(jìn)行通信。圖11顯示了Simulink模型、VS S-函數(shù)包裝器DLL和VS庫(kù)之間的關(guān)系。 VS瀏覽器啟動(dòng)一個(gè)Simulink模型,準(zhǔn)備創(chuàng)建和運(yùn)行VS數(shù)學(xué)模型所需的輸入文件,并向Simulink發(fā)送命令。在運(yùn)行過(guò)程中,Simulink和包裝器DLL之間,以及包裝器和VS庫(kù)之間都有密切的通信。 仿真工具,如Simulink,有標(biāo)準(zhǔn)的方法與程序模塊進(jìn)行通信,使用導(dǎo)入變量和導(dǎo)出變量的數(shù)組。VS數(shù)學(xué)模型與這種方法兼容:它們包括數(shù)百個(gè)在運(yùn)動(dòng)方程中被引用的變量,但這些變量在名義上是零的。它們也有成千上萬(wàn)的可用輸出變量。除了設(shè)置模擬車(chē)輛和測(cè)試條件屬性的參數(shù)和表格外,VS數(shù)學(xué)模型讀取的數(shù)據(jù)集可以包括激活導(dǎo)入和導(dǎo)出變量的命令,這是與外部模型合作的需要。 VehicleSim產(chǎn)品帶有一個(gè)由四個(gè)S-功能塊組成的庫(kù)。圖12顯示了CarSim中提供的塊;BikeSim和TruckSim也提供了類似的S-Function塊。 注意 S-功能程序在BikeSim、CarSim和TruckSim中是相同的;只有Simulink中顯示的圖形圖像是特定于產(chǎn)品的。 為了使VS數(shù)學(xué)模型與Simulink模型正常通信,導(dǎo)入和導(dǎo)出的變量必須與Simulink模型的期望值一致。 為導(dǎo)入和導(dǎo)出指定變量的最簡(jiǎn)單方法是使用庫(kù)中I/O通道的界面,I/O通道-導(dǎo)入和導(dǎo)出。如果在Simulink中使用了多個(gè)端口,那么就用庫(kù)I/O通道來(lái)管理它們。這些數(shù)據(jù)集的鏈接是使用Models.Simulink庫(kù)為Simulink模型建立的。Simulink庫(kù),它也指定了Simulink模型文件和一些通信選項(xiàng),如文件External Models and RT Systems所述,可從幫助子菜單Help > Model Extensions and RT獲得。 輸入和輸出矩陣信號(hào)的其他應(yīng)用導(dǎo)入和導(dǎo)出數(shù)組用于Simulink以外的外部仿真工具。同樣的設(shè)置也用于LabVIEW、ASCET、FMI/FMU以及可能用MATLAB、Python和其他語(yǔ)言編寫(xiě)的自定義程序。 在所有這些情況下,I/O通道。導(dǎo)入和I/O通道。輸出界面用于配置VS數(shù)學(xué)模型以滿足外部仿真工具的通信要求。 |
|