📄 foc_pmsm.mdl
字号:
SrcPort RConn1
DstBlock "Mta"
DstPort RConn1
}
Line {
LineType "Connection"
SrcBlock "Tb"
SrcPort RConn1
DstBlock "Current Measurement1"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "Current Measurement1"
SrcPort RConn1
DstBlock "Mtb"
DstPort RConn1
}
Line {
SrcBlock "Current Measurement"
SrcPort 1
Points [35, 0]
DstBlock "Mux1"
DstPort 1
}
Line {
SrcBlock "Current Measurement1"
SrcPort 1
Points [30, 0; 0, 95]
DstBlock "Mux1"
DstPort 2
}
}
}
Block {
BlockType Reference
Name "Mux"
Ports [2, 1]
Position [335, 122, 375, 153]
Orientation "left"
NamePlacement "alternate"
FontName "Arial"
FontSize 12
SourceBlock "AC6DriveInternalModels/Mux"
SourceType "SubSystem"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
}
Block {
BlockType BusSelector
Name "Output Bus\nSelector"
Ports [1, 1]
Position [730, 171, 735, 209]
ShowName off
OutputSignals "Rotor speed wm (rad/s)"
Port {
PortNumber 1
Name "<Rotor speed wm (rad/s)>"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType SubSystem
Name "Permanent Magnet\nSynchronous Machine"
Ports [1, 1, 0, 0, 0, 3]
Position [620, 218, 690, 287]
AttributesFormatString "\\n"
AncestorBlock "powerlib/Machines/Permanent Magnet\nSynchronous Machine"
DialogController "POWERSYS.PowerSysDialog"
CopyFcn "powericon('psbloadfunction',gcb,'gotofrom','UpdateGotoTag');"
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskType "Permanent Magnet Synchronous Machine"
MaskDescription "Implements a 3-phase permanent magnet synchronous machine with sinusoidal or trapezoidal back EMF. The sinusoidal machine is modelled in the dq rotor reference frame and the trapezoidal machine is modelled in the abc reference frame. Stator windings are connected in wye to an internal neutral point.\n\nThe preset models are available only for the Sinusoidal flux distribution mode."
MaskHelp "web(psbhelp);"
MaskPromptString "Flux distribution:|Mechanical input:|Preset model:|----------------- Show detailed parameters ----------------- |Stator resistance Rs (ohm):|Stator inductance Ls (H)|Inductances [ Ld(H) Lq(H) ]:|Flux induced by magnets (Wb):|Back EMF flat area (degrees):|Inertia, friction factor and pole pairs [ J(kg.m^2) F(N.m.s) p() ]:|Pole pairs p ():"
MaskStyleString "popup(Sinusoidal|Trapezoidal),popup(Torque Tm|Speed w),popup(No|01: 0.8 Nm 300 Vdc 3000 RPM - 0.8 Nm|02: 1.7 Nm 300 Vdc 3750 RPM - 1.7 Nm|03: 2.8 Nm 300 Vdc 4250 RPM - 3.2 Nm|04: 6 Nm 300 Vdc 4500 RPM - 6 Nm|05: 8 Nm 300 Vdc 2000 RPM - 10 Nm|06: 10 Nm 300 Vdc 2300 RPM - 14.2 Nm|07: 20 Nm 300 Vdc 2200 RPM - 33.9 Nm|08: 24 Nm 300 Vdc 2300 RPM - 41.4 Nm|09: 7.14 Nm 560 Vdc 5000 RPM - 8.3 Nm|10: 7.71 Nm 560 Vdc 5000 RPM - 10.2 Nm|11: 26.13 Nm 560 Vdc 3000 RPM - 27.3 Nm|12: 35.17 Nm 560 Vdc 3000 RPM - 37.4 Nm|13: 42.09 Nm 560 Vdc 3000 RPM - 45.6 Nm|14: 67.27 Nm 560 Vdc 1700 RPM - 70.2 Nm|15: 87.75 Nm 560 Vdc 3000 RPM - 97.96 Nm|16: 111 Nm 560 Vdc 3000 RPM - 126 Nm),checkbox,edit,edit,edit,edit,edit,edit,edit"
MaskTunableValueString "off,on,off,off,off,off,off,off,off,off,on"
MaskCallbackString "powericon('PMSynchronousMachineCback',gcb);|powericon('PMSynchronousMachineCback',gcb);|powericon('PMSynchronousMachineCback',gcb);|powericon('PMSynchronousMachineCback',gcb);|||||||"
MaskEnableString "on,on,on,on,on,on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,off,on,on,off,on,off"
MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on"
MaskVarAliasString ",,,,,,,,,,"
MaskVariables "FluxDistribution=@1;MechanicalLoad=@2;PresetModel=@3;ShowDetailedParameters=@4;Resistance=@5;Inductance=@6;dqInductances=@7;Flux=@8;Flat=@9;Mechanical=@10;PolePairs=@11;"
MaskInitialization "block = gcb;\n[circl1,circl2,a1,a2,b1,b2,c1,c2,d1,d2,n1,n2,s1,s2] = powericon('PMSynchronousMachineIcon');\nTs = powericon('PMSynchronousMachineInit',block);\npowericon('psbloadfunction',block,'gotofrom','Initialize');\nLd=dqInductances(1);\nLq=dqInductances(2);\nJ=Mechanical(1);\nF=Mechanical(2);\nif MechanicalLoad==1\n p=Mechanical(3);\nelse\n p=PolePairs;\nend\nR=Resistance;\nL=Inductance;\ntrap=sin((pi-Flat/180*pi)/2);\nsqrt3=sqrt(3);\none_third=1/3;\npower_initmask();"
MaskDisplay "plot(-70,-20,55,80,circl1,circl2,a1,a2,b1,b2,c1,c2,d1,d2,n1,n2,s1,s2);\ncolor('blue')\nplot([-40,0,0],[70,70,52])\n"
MaskSelfModifiable on
MaskIconFrame off
MaskIconOpaque off
MaskIconRotate "port"
MaskIconUnits "autoscale"
MaskValueString "Sinusoidal|Torque Tm|No|on|0.006|0|[.8e-3,.8e-3]|0.675|0|[0.049,0.002,2]|4"
MaskTabNameString ",,,,,,,,,,"
System {
Name "Permanent Magnet\nSynchronous Machine"
Location [33, 337, 420, 803]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "Tm"
Position [250, 335, 270, 355]
Orientation "left"
ForegroundColor "blue"
BackgroundColor "cyan"
NamePlacement "alternate"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType PMComponent
Name "ASM"
Ports [0, 0, 0, 0, 0, 2, 1]
Position [110, 21, 200, 134]
BackgroundColor "yellow"
NamePlacement "alternate"
PhysicalDomain "powersysdomain"
LeftPortType "p1"
RightPortType "p1"
LConnTagsString "A|B"
RConnTagsString "__newr0"
MaskType "InnerPowersysBlock"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
}
Block {
BlockType From
Name "From"
Position [15, 169, 85, 191]
BackgroundColor "cyan"
CloseFcn "tagdialog Close"
GotoTag "tp2462f2ba_dc1b_4e3f_856d_efdccc41f1a6"
TagVisibility "global"
}
Block {
BlockType Goto
Name "Goto"
Position [235, 169, 305, 191]
BackgroundColor "cyan"
GotoTag "tp619e6b1d_8afd_4f25_bb6f_aa5cb07e0b4c"
TagVisibility "global"
}
Block {
BlockType Reference
Name "Measurement list"
Ports [2, 1]
Position [250, 274, 305, 296]
SourceBlock "powerlib_models/Discrete/Measurement list"
SourceType "SubSystem"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
}
Block {
BlockType Reference
Name "PMSM_mechanics"
Ports [2, 3]
Position [125, 317, 190, 433]
Orientation "left"
SourceBlock "powerlib_models/Discrete/PMSM_mechanics"
SourceType ""
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
}
Block {
BlockType Reference
Name "Source"
Ports [3, 3]
Position [125, 161, 185, 259]
SourceBlock "powerlib_models/Discrete/PM_synchronous_machine"
SourceType "SubSystem"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
}
Block {
BlockType PMIOPort
Name "A"
Position [45, 40, 75, 60]
BackgroundColor "yellow"
FontWeight "bold"
Port "1"
Side "Left"
}
Block {
BlockType PMIOPort
Name "B"
Position [45, 95, 75, 115]
BackgroundColor "yellow"
FontWeight "bold"
Port "2"
Side "Left"
}
Block {
BlockType PMIOPort
Name "C"
Position [230, 70, 260, 90]
Orientation "left"
BackgroundColor "yellow"
NamePlacement "alternate"
FontWeight "bold"
Port "3"
Side "Left"
}
Block {
BlockType Outport
Name "m"
Position [335, 275, 355, 295]
ForegroundColor "blue"
BackgroundColor "cyan"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
InitialOutput "0"
}
Line {
SrcBlock "PMSM_mechanics"
SrcPort 1
Points [-15, 0; 0, -125]
DstBlock "Source"
DstPort 2
}
Line {
SrcBlock "PMSM_mechanics"
SrcPort 2
Points [-10, 0]
DstBlock "Source"
DstPort 3
}
Line {
SrcBlock "PMSM_mechanics"
SrcPort 3
Points [-35, 0; 0, -125]
DstBlock "Measurement list"
DstPort 2
}
Line {
SrcBlock "Tm"
SrcPort 1
DstBlock "PMSM_mechanics"
DstPort 1
}
Line {
SrcBlock "Source"
SrcPort 2
Points [20, 0; 0, 70]
DstBlock "Measurement list"
DstPort 1
}
Line {
SrcBlock "Source"
SrcPort 3
Points [25, 0; 0, 165]
DstBlock "PMSM_mechanics"
DstPort 2
}
Line {
SrcBlock "Source"
SrcPort 1
DstBlock "Goto"
DstPort 1
}
Line {
SrcBlock "From"
SrcPort 1
DstBlock "Source"
DstPort 1
}
Line {
SrcBlock "Measurement list"
SrcPort 1
DstBlock "m"
DstPort 1
}
Line {
LineType "Connection"
SrcBlock "A"
SrcPort RConn1
DstBlock "ASM"
DstPort LConn1
}
Line {
LineType "Connection"
SrcBlock "B"
SrcPort RConn1
DstBlock "ASM"
DstPort LConn2
}
Line {
LineType "Connection"
SrcBlock "C"
SrcPort RConn1
DstBlock "ASM"
DstPort RConn1
}
}
}
Block {
BlockType Reference
Name "Rectifier_3ph"
Ports [0, 0, 0, 0, 0, 3, 2]
Position [90, 200, 150, 280]
ShowName off
AttributesFormatString "\\n"
DialogController "POWERSYS.PowerSysDialog"
SourceBlock "powerlib/Power\nElectronics/Universal Bridge"
SourceType "Universal Bridge"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
Arms "3"
SnubberResistance "10e3"
SnubberCapacitance "20e-9"
Device "Diodes"
Ron "1e-3"
Lon "0"
ForwardVoltages "[ 0, 0 ]"
ForwardVoltage "1.3"
GTOparameters "[ 10e-6, 20e-6 ]"
IGBTparameters "[ 1e-6 , 2e-6 ]"
Measurements "All voltages and currents"
converterType "Rectifier"
}
Block {
BlockType SubSystem
Name "Speed Controller"
Ports [2, 2]
Position [145, 35, 245, 135]
NamePlacement "alternate"
FontName "Arial"
FontSize 12
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskType "Speed controller"
MaskDescription "This block implements a PI speed regulator.\n"
MaskHelp "\n"
MaskPromptString "Regulation type|Speed reference ramp (rpm/s) [deceleration,acceleration]|Proportional gain|Integral gain|Speed measurement - low-pass filter cutoff frequency (Hz)|Controller output torque saturation (N.m) [negative,positive]|Controller sampling time (s)"
MaskStyleString "popup(Speed regulation|Torque regulation),edit,edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on,on,on"
MaskCallbackString "||||||"
MaskEnableString "on,on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on,on"
MaskVarAliasString ",,,,,,"
MaskVariables "SwK=@1;ramp=@2;kp=@3;ki=@4;fc=@5;ctrl_sat=@6;Tsc=@7;"
MaskInitialization "[X1,X1m,X2,X2m,X3,X4,Y1,Y1m,Y2,Y2m,Y3,Y4,color1,color2]=spsdrivelogo;"
MaskDisplay "patch([X1 X1m],[Y1 Y1m],color1);\npatch(X3,Y3,color2);\nplot([X1 X1m X2 X2m X3 X4],[Y1 Y1m Y2 Y2m Y3 Y4]);"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskIconUnits "normalized"
MaskValueString "Speed regulation|[-1500,1000]|1|1*0.04|100|[-110,110]|7*2e-6"
MaskTabNameString ",,,,,,"
System {
Name "Speed Controller"
Location [-200, 212, 787, 469]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -