天天看點

Simulink 環境基礎知識(二十六)--信号基礎知識

目錄

信号基礎知識

信号線的線型

信号屬性

存儲信号和狀态的設計屬性

測試信号

信号基礎知識

信号是指在所有時間點都有對應值的時變量。可以指定各種信号屬性,包括:

  • 信号名稱
  • 資料類型(例如,8 位、16 位或 32 位整數)
  • 數值類型(實數或複數)
  • 次元(一維、二維或多元數組)

在Simulink® 中,信号是指 Simulink 子產品圖中的子產品以及子產品圖本身所表示的動态系統的輸出。子產品圖中的線條表示子產品圖所定義的信号之間的數學關系。例如,連接配接子產品 A 的輸出端口和子產品 B 的輸入端口的線條指明子產品 B 的信号輸出取決于子產品 A 的信号輸出。

Simulink 子產品圖用帶有箭頭的線條來表示信号。信号的來源是指在計算子產品方法(方程)的過程中寫入信号的子產品。信号的目标是指在計算子產品方法(方程)的過程中讀取信号的子產品。模型中信号的目标位置不一定表示模型中子產品的仿真順序。仿真順序由 Simulink 自動确定。

注意

Simulink 信号是數學概念,不是實體實體。子產品圖中的線條表示子產品之間的數學關系,而不是實體關系。Simulink 信号并不像沿着電線傳輸的電信号一樣沿着連接配接子產品的線條進行傳輸。子產品圖并不表示子產品之間的實體連接配接。

可以通過向模型中添加信源子產品來建立信号。例如,可從Simulink Sources庫向模型中添加一個Sine, Cosine子產品執行個體,建立一條随時間沿正弦曲線變化的信号。要檢視在模型中建立信号的子產品的清單,參考Sources。也可以使用Viewers and Generators Manager在模型中建立信号,而不使用子產品。

信号線的線型

Simulink 模型可以包含許多不同類型的信号。當構造子產品圖時,所有信号類型都顯示為一條細細的實線。當更新圖或開始仿真之後,信号将以指定的線型顯示。這些信号類型能夠區分不同信号類型。在所有信号類型中,隻能自定義非标量信号類型。要了解詳細資訊,參考信号類型。

信号類型 線型
标量和非标量
Simulink 環境基礎知識(二十六)--信号基礎知識
非标量(啟用 Wide nonscalar lines 選項 - 參考Wide Nonscalar Lines)
Simulink 環境基礎知識(二十六)--信号基礎知識
控制信号
Simulink 環境基礎知識(二十六)--信号基礎知識
虛拟總線
Simulink 環境基礎知識(二十六)--信号基礎知識
非虛拟總線
Simulink 環境基礎知識(二十六)--信号基礎知識
總線數組
Simulink 環境基礎知識(二十六)--信号基礎知識
可變大小
Simulink 環境基礎知識(二十六)--信号基礎知識

信号屬性

可能希望在模型中指定信号屬性,以便為信号指定名稱或标簽,準備要記錄的資料,或在模型中自定義信号。使用 Property Inspector、Model Data Editor 或 Signal Properties 對話框來為以下各項指定屬性:

  • 信号名稱和标簽
  • 信号日志記錄
  • Simulink Coder™ 進行代碼生成
  • 對信号進行說明

要在 Property Inspector 中通路信号屬性,請首先顯示 Property Inspector。在 Modeling 頁籤上,在 Design 下,點選 Property Inspector。選擇信号之後,屬性将顯示在 Property Inspector 中。要使用 Model Data Editor(在 Modeling 頁籤上,點選 Model Data Editor),請檢查 Signals 頁籤并選擇一個信号。要使用 Signal Properties 對話框,請右鍵點選信号并選擇 Properties。要了解每一種方式的優點,可以參考Add Blocks and Set Parameters。

要以程式設計方式指定信号屬性,請使用函數(例如 

get_param

)建立一個變量,該變量存儲建立信号線的子產品輸出端口的句柄。然後使用

set_param

設定該端口的程式設計參數。例如:

p = get_param(gcb,'PortHandles')
l = get_param(p.Outport,'Line')
set_param(l,'Name','s9')
           

信号名稱和标簽

可以在模型中以互動方式或程式設計方式命名信号。信号名稱的文法要求取決于如何使用該名稱。最常見的情況包括:

  • 請勿使用小于号字元 (

    <

    ) 作為信号名稱的開頭。
  • 信号名稱可以解析為 

    Simulink.Signal

     對象。這種情況下,信号名稱必須是合法的 MATLAB® 辨別符。此辨別符以字母字元開頭,後跟字母數字或下劃線字元,長度由函數namelengthmax指定。
  • 信号已經具有名稱,是以可在資料記錄中按名稱進行辨別和引用。(參考使用信号記錄導出信号資料)此類信号名稱可以包含空格和換行符。這些字元可以提高可讀性,但有時需要特殊的處理技巧,如處理記錄的名稱中的空格和換行符中所述。
  • 信号名稱的存在隻是為了使子產品圖更清晰,沒有任何計算意義。此類信号名稱可以包含任何内容,且不需要特殊處理。
  • 信号是總線對象的一個元素。使用有效的C語言辨別符作為信号名稱。
  • Bus Creator的輸入必須具有唯一的名稱。如果存在重複的名稱,Bus Creator子產品将在所有輸入信号名稱後面追加 

    (signal#)

    ,其中

    #

    是輸入端口的索引。

確定每個信号名稱都是合法的MATLAB辨別符可以處理各種模型配置。有些特殊的需求可能要求更改信号名稱,以符合更嚴格的文法。可以使用函數isvarname确定信号名稱是否為合法的 MATLAB 辨別符。

通過以下方法以互動方式命名信号:

  • 使用 Property Inspector(在 Modeling 頁籤上,在 Design 下,點選 Property Inspector)
  • 使用 Model Data Editor(在 Modeling 頁籤上,點選 Model Data Editor)中的 Signals 頁籤
  • 從 Signal Properties 對話框。

預設情況下,信号名稱以信号标簽的形式顯示在信号下面。要以程式設計方式命名信号,請對信号使用 

get_param

 和 

set_param

 函數。下表概述如何在 Simulink Editor 中使用信号名稱和标簽。

任務 操作
為信号線命名 輕按兩下信号并鍵入其名稱。
為已命名的信号線的分支命名 輕按兩下分支。
為一個信号的每個分支命名 右鍵點選該信号,選擇 Properties,然後使用對話框進行操作。
删除信号标簽和名稱 删除标簽中的字元,或者在 Signal Properties 對話框中删除名稱。
隻删除信号标簽 右鍵點選标簽,然後選擇 Delete Label。
打開信号标簽文本框進行編輯

輕按兩下信号線。

點選标簽。

選擇信号線(不是标簽),并使用 F2。

在 Macintosh 平台上,選擇信号線(不是标簽)并使用 control+return。

移動信号标簽 将标簽拖到同一信号線上的新位置。
複制信号标簽 Ctrl+拖動信号标簽。
更改标簽字型 選擇信号線(不是标簽),然後在 Format 頁籤上,點選 Fonts for Model。

信号顯示選項

在模型圖中顯示信号屬性可以提高模型的易讀性。例如,在 Simulink Editor 中的 Debug 頁籤上,使用 Information Overlays 菜單在模型布局中包含有關信号屬性的資訊,例如:

  • 端口資料類型
  • 設計範圍
  • Signal Dimensions
  • 信号解析

還可以突出顯示信号及其源或目标子產品。有關詳細資訊,參考突出顯示信号的源和目标。

存儲信号和狀态的設計屬性

可以使用子產品參數和信号屬性指定信号的設計屬性,如資料類型、最小值和最大值、實體機關以及數值的複/實性。要配置狀态,可以使用子產品參數。當使用這些子產品參數和信号屬性時,可将這些設定存儲在模型檔案中。也可以使用存儲在工作區或資料字典中的 

Simulink.Signal

 對象的屬性來指定這些特性。

請根據模組化目的選擇要采用哪種政策。

  • 要提高模型的可移植性、易讀性和易于維護性,可将這些設定存儲在模型檔案中。使用 Property Inspector、Model Data Editor、子產品對話框和信号屬性對話框來通路參數和屬性。不需要儲存和管理外部 

    Simulink.Signal

     對象。可以考慮将模型配置參數 Signal resolution 設定為 “

    None

    ”,以禁止模型使用 

    Simulink.Signal

     對象。

    要使用可排序、分組和篩選的清單為信号配置設計屬性和代碼生成設定,請使用 Model Data Editor。通過此工具,可以将設定存儲在模型檔案中,而不是使用 

    Simulink.Signal

     對象。
  • 要将這些設定與模型分開單獨進行管理,請使用

    Simulink.Signal

    對象。然後可在平面清單中配置設定,平面清單可通過 Model Data Editor 或 Model Explorer 進行排序、分組和篩選。要決定在何處永久存儲對象,參考确定在何處存儲Simulink模型的變量和對象。

測試信号

可以對信号執行以下類型的測試:

  • 最小值和最大值
  • 連接配接驗證

最小值和最大值

對于許多 Simulink 子產品來說,可以為輸出信号指定有效值範圍。Simulink 提供了一項診斷,可對仿真過程子產品所生成信号超出指定範圍的情況進行檢測。有關詳細資訊,參考指定信号範圍。

連接配接驗證

許多 Simulink 子產品對于能夠接受的信号類型有限制。對模型進行仿真之前,Simulink 會檢查所有子產品,確定子產品可以接受連接配接的端口所輸出的信号類型,并能夠在出現不相容問題時報告錯誤。要在運作仿真之前檢測信号相容性錯誤,請更新圖。

方案

Signal Editor子產品顯示可互換的方案組。使用 Signal Editor 可顯示、建立、編輯和切換可互換方案。方案可以幫助測試模型。

繼續閱讀