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 | 信號線的終模塊句柄 |
