Simulink仿真入門到精通(三) Simulink信號


3.1 Simulink信號概述

所謂信號,表示一種隨着時間而變化的量,在時間軸上的采樣時刻都對應有數值。

信號在Simulink中是相當重要的組成部分,有線(line)表示,在模型中穿針引線地將各模塊聯系起來,既能傳遞數據又可以明確表達模塊的輸入輸出依賴關系,技能給自己命名以示自身的物理意義,又能綁定Simulink.Signal數據對象來表達生成代碼中的變量。將Simulink信號線理解為類似網線之類的物理設備其實是不恰當的,它所表達的往往不是物理連接,而是數學上的一種關系或者說邏輯聯系。

3.2 Simulink信號的操作

信號的命名

雙擊信號線,在信號線附近就會自動出現一個矩形可編輯區域,可輸入表示信號名的字符。

命名信號還有另一個方法,右擊信號線,選擇Properties,在屬性對話框的Signal name中輸入表示信號名的字符。

信號的分支

將鼠標放在信號線上之后,同時按住Ctrl和鼠標左鍵拖曳,即可從原有的信號線上再新生出一個分支來。

3.3 Simulink信號的分類

Simulink使用不同的線型表示傳遞不同數據類型的信號線,以方便建模者掌握信號的規模和種類,增強模型的可讀性。

Scalar

每個采樣時刻傳輸1×1信號,最常見的信號,用一根細實線表示。

Vector

每個采樣時刻傳輸一個向量數據,如Constant模塊中輸入一個向量數據,在其輸出端口輸出的信號,或者在Mux模塊中將多個Scalar信號合並后輸出的信號。

 默認情況下Vector信號以同Scalar信號的細實線表示,若勾選Display→Signals&Ports→Signal Dimensions可以看到其維數,若勾選Display→Signals&Ports→Wide Nonscalar Lines可以顯示粗實線。

Matrix

Bus

虛擬Bus

非虛擬Bus

Bus數組信號線:Bus數組信號是指信號線中傳遞數組規模的信號,數組中的每一個元素都是同樣的Bus類型,並且必須是非虛擬Bus信號。

 

Function-call信號

Function-call信號是指用於進行子系統調用的控制類信號,並非實際信號。

Trigger模塊及自定義S函數模塊可以輸出該信號。

尺寸可變信號

尺寸可變信號是指在Simulink仿真過程中,每個維數中的元素個數可以變化的信號,及仿真過程中信號所包含的元素個數和值都是不固定的。但是信號的維數是不可變的。

configuration Parameter→Data Import/Export→Format→Structure/Structure with time。

未連接信號

3.4 Simulink信號的屬性

>> sys=get_param('mymodel','Handle')

sys =

    2.0001

>> line_object=find_system(sys,'FindAll','on','type','line')

line_object =

   23.0006

>> get(line_object)
                   DataLogging: 0
           DataLoggingNameMode: 'Use signal name'
               DataLoggingName: ''
       DataLoggingDecimateData: 0
         DataLoggingDecimation: '2'
         DataLoggingSampleTime: '-1'
    DataLoggingLimitDataPoints: 0
          DataLoggingMaxPoints: '5000'
                     TestPoint: 0
                  StorageClass: 'Auto'
       RTWStorageTypeQualifier: ''
     MustResolveToSignalObject: 0
                    SourcePort: 'In1:1'
             SignalObjectClass: 'Simulink.Signal'
                  SignalObject: []
                     CoderInfo: []
                  DocumentLink: ''
         ShowPropagatedSignals: 0
       TaskTransitionSpecified: 0
              TaskTransitionIC: '0'
           ExtrapolationMethod: 'Use global setting'
            TaskTransitionType: 'Use global setting'
          UserSpecifiedLogName: ''
             SignalPropagation: 'off'
                          Path: ''
                          Name: ''
                           Tag: ''
                   Description: ''
                          Type: 'line'
                        Parent: 'mymodel'
                        Handle: 23.0006
               HiliteAncestors: 'none'
               RequirementInfo: ''
                      FontName: 'auto'
                      FontSize: -1
                    FontWeight: 'auto'
                     FontAngle: 'auto'
                      Selected: 'off'
                   SegmentType: 'trunk'
                 SrcPortHandle: 22.0006
                SrcBlockHandle: 21.0006
                 DstPortHandle: 3.4350e+03
                DstBlockHandle: 3.4340e+03
                        Points: [2×2 double]
                    LineParent: -1
                  LineChildren: []
           SignalNameFromLabel: ''
                     Connected: 'on'常用

常用屬性:

屬性名 屬性作用
TestPoint 設為TestPoint的數據
StorageClass 存儲類型,不同存儲類型表示代碼生成是信號變量的不同聲明及存儲形式
MustResolveSignalObject 當信號線的名字與工作空間中定義的數據對象同名時,可以將此屬性設為'on'以應用數據對象的特性到信號線上
UserSpecifiedLogName 用戶定義的記錄信號線數據用名,默認與信號線同名
DataLoggingName 記錄信號線數據用名,不會因信號名刪除而被刪除
Name 信號線名
SegmentType 值為'trunk'或'branch',表示此信號線是主干線或分支線
Parent 父對象的句柄
Handle 信號線本身的句柄
Connect 'on'/'off'表示信號線是否連接上
SrcPortHandle 信號線的源端口句柄
SrcBlockHandle 信號線的源模塊句柄
DsPortHandle 信號線的終端口句柄
DsBlockHandle 信號線的終模塊句柄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM