📄 shiliangkongzhi.mdl
字号:
Open off
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 ""
}
YMin "0.0666875"
YMax "0.0667325"
SaveName "ScopeData1"
DataFormat "StructureWithTime"
LimitDataPoints off
}
Block {
BlockType SubSystem
Name "Signal Builder"
Tag "STV Subsys"
Ports [0, 2]
Position [15, 200, 90, 240]
CopyFcn "sigbuilder_block('copy');"
DeleteFcn "sigbuilder_block('delete');"
ModelCloseFcn "sigbuilder_block('modelClose');"
PreSaveFcn "sigbuilder_block('preSave');"
StartFcn "sigbuilder_block('start');"
StopFcn "sigbuilder_block('stop');"
NameChangeFcn "sigbuilder_block('namechange');"
ClipboardFcn "sigbuilder_block('clipboard');"
OpenFcn "sigbuilder_block('open',[50 50 520 400 ]);"
CloseFcn "sigbuilder_block('close');"
TreatAsAtomicUnit off
MaskType "Sigbuilder block"
MaskDescription "Sigbuilder GUI"
MaskInitialization "if ~strcmp(get_param(bdroot(gcb),'SimulationSta"
"tus'),'stopped') tuvar = sigbuilder_block('maskInit'); end"
MaskDisplay "plot(0,0,100,100,[10,10,40,40,10],[80,20,20,80,"
"80],[40,10],[50,50], [40,27,10],[65,72,56],[40,25,25,10],[28,28,43,43]);"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "port"
MaskIconUnits "autoscale"
System {
Name "Signal Builder"
Location [480, 85, 980, 386]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Demux
Name "Demux"
Tag "STV Demux"
Ports [1, 2]
Position [150, 32, 160, 603]
Outputs "2"
}
Block {
BlockType FromWorkspace
Name "FromWs"
Tag "STV FromWs"
Position [30, 300, 115, 350]
VariableName "tuvar"
SampleTime "0"
SigBuilderData "DataTag0"
}
Block {
BlockType Outport
Name "Signal 1"
Tag "STV Outport"
Position [280, 30, 300, 40]
}
Block {
BlockType Outport
Name "Signal 2"
Tag "STV Outport"
Position [280, 60, 300, 70]
Port "2"
}
Line {
SrcBlock "Demux"
SrcPort 1
Points [50, 0; 0, -140]
DstBlock "Signal 1"
DstPort 1
}
Line {
SrcBlock "FromWs"
SrcPort 1
Points [5, 0; 0, -5]
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 2
DstBlock "Signal 2"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Speed_controller"
Ports [2, 1]
Position [120, 215, 180, 270]
NamePlacement "alternate"
TreatAsAtomicUnit off
MaskType "PI controller"
MaskDescription "Proportional-Integral Speed Controller"
MaskPromptString "Proportional gain (Kp)|Integral gain (Ki)|Torqu"
"e limit (N.m)|Sampling time (s)"
MaskStyleString "edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on"
MaskCallbackString "|||"
MaskEnableString "on,on,on,on"
MaskVisibilityString "on,on,on,on"
MaskToolTipString "on,on,on,on"
MaskVarAliasString ",,,"
MaskVariables "Kp=@1;Ki=@2;Tlim=@3;Ts=@4;"
MaskDisplay "plot(0,0,100,100,[35,35,65],[70,30,30],[35,65],"
"[45,60])"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "30|26|300|2e-6"
System {
Name "Speed_controller"
Location [119, 275, 497, 416]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "w*"
Position [25, 53, 55, 67]
}
Block {
BlockType Inport
Name "w"
Position [25, 83, 55, 97]
Port "2"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator"
Ports [1, 1]
Position [180, 72, 245, 118]
ShowName off
IntegratorMethod "Trapezoidal"
ExternalReset "none"
InitialConditionSource "internal"
LimitOutput on
UpperSaturationLimit "Tlim"
LowerSaturationLimit "-Tlim"
SampleTime "Ts"
}
Block {
BlockType Gain
Name "Gain"
Position [140, 81, 165, 109]
ShowName off
Gain "Ki"
}
Block {
BlockType Gain
Name "Gain1"
Position [140, 26, 170, 54]
ShowName off
Gain "Kp"
}
Block {
BlockType Saturate
Name "Saturation"
Position [280, 60, 300, 80]
ShowName off
UpperLimit "Tlim"
LowerLimit "-Tlim"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [95, 43, 105, 107]
ShowName off
Inputs "+-"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [260, 14, 265, 121]
ShowName off
}
Block {
BlockType Outport
Name "Te*"
Position [325, 63, 355, 77]
InitialOutput "0"
}
Line {
SrcBlock "Gain1"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Discrete-Time\nIntegrator"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "Gain"
DstPort 1
}
Branch {
DstBlock "Gain1"
DstPort 1
}
}
Line {
SrcBlock "Discrete-Time\nIntegrator"
SrcPort 1
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "Te*"
DstPort 1
}
Line {
SrcBlock "w"
SrcPort 1
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "w*"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Teta Calculation"
Ports [3, 1]
Position [290, 94, 345, 156]
NamePlacement "alternate"
TreatAsAtomicUnit off
System {
Name "Teta Calculation"
Location [334, 308, 874, 515]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "Iq"
Position [15, 23, 45, 37]
}
Block {
BlockType Inport
Name "Phir"
Position [15, 58, 45, 72]
Port "2"
}
Block {
BlockType Inport
Name "wm"
Position [225, 78, 255, 92]
Port "3"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator"
Ports [1, 1]
Position [380, 54, 400, 86]
ShowName off
IntegratorMethod "Forward Euler"
ExternalReset "none"
InitialConditionSource "internal"
SampleTime "Ts"
}
Block {
BlockType Fcn
Name "Fcn"
Position [105, 40, 265, 60]
ShowName off
Expr "0.149*u[1]/(u[2]*0.0302+1e-3)"
}
Block {
BlockType Gain
Name "Gain2"
Position [295, 35, 325, 65]
ShowName off
}
Block {
BlockType Gain
Name "Gain3"
Position [295, 73, 315, 97]
ShowName off
Gain "2"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [70, 12, 75, 83]
Inputs "2"
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [350, 33, 360, 102]
ShowName off
}
Block {
BlockType Outport
Name "Teta"
Position [425, 63, 455, 77]
InitialOutput "0"
}
Line {
SrcBlock "Discrete-Time\nIntegrator"
SrcPort 1
DstBlock "Teta"
DstPort 1
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Discrete-Time\nIntegrator"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Gain2"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "wm"
SrcPort 1
DstBlock "Gain3"
DstPort 1
}
Line {
SrcBlock "Fcn"
SrcPort 1
DstBlock "Gain2"
DstPort 1
}
Line {
SrcBlock "Phir"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Iq"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Fcn"
DstPort 1
}
Annotation {
Name " Teta= Electrical angle= integ ( wr + wm)"
Position [122, 124]
}
Annotation {
Name "wr = Rotor frequency (rad/s) = Lm *Iq / ( T"
"r * Phir)"
Position [149, 141]
}
Annotation {
Name "Lm = 34.7 mH"
Position [339, 124]
}
Annotation {
Name "Rr= 0.228 ohms"
Position [344, 164]
}
Annotation {
Name "Lr = Ll'r +Lm = 0.8 +34.7= 35.5 mH"
Position [389, 144]
}
Annotation {
Name "wm= Rotor mechanical speed (rad/s)"
Position [114, 156]
}
Annotation {
Name "Tr = Lr / Rr = 0.1557 s"
Position [354, 189]
}
}
}
Block {
BlockType UnitDelay
Name "Unit Delay3"
Position [325, 399, 345, 431]
Orientation "left"
ShowName off
SampleTime "Ts"
}
Block {
BlockType UnitDelay
Name "Unit Delay4"
Position [455, 374, 475, 406]
Orientation "left"
ShowName off
SampleTime "Ts"
}
Block {
BlockType UnitDelay
Name "Unit Delay5"
Position [400, 59, 420, 91]
Orientation "left"
ShowName off
SampleTime "Ts"
}
Block {
BlockType Reference
Name "Vab"
Tag "PoWeRsYsTeMmEaSuReMeNt"
Ports [2, 1]
Position [695, 138, 720, 162]
SourceBlock "powerlib2/Measurements/Voltage Measurement"
SourceType "Voltage Measurement"
PhasorSimulation off
OutputType "Magnitude"
PSBOutputType "0"
PSBequivalent "1"
Port {
PortNumber 1
Name "Vab (V)"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Reference
Name "Vdc"
Tag "PoWeRsYsTeMbLoCk"
Description "source block"
Ports [1, 1]
Position [505, 195, 525, 230]
Orientation "up"
NamePlacement "alternate"
SourceBlock "powerlib2/Electrical\nSources/DC Voltage Source"
SourceType "DC Voltage Source"
V "350"
mesure "None"
PSBOutputType "1"
}
Block {
BlockType SubSystem
Name "id* Calculation"
Ports [1, 1]
Position [200, 319, 250, 351]
NamePlacement "alternate"
TreatAsAtomicUnit off
System {
Name "id* Calculation"
Location [446, 119, 869, 283]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -