📄 foc_pmsm.mdl
字号:
ZoomFactor "100"
Block {
BlockType Inport
Name "N"
Position [15, 93, 45, 107]
FontName "Arial"
FontSize 12
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Inport
Name "N*"
Position [15, 33, 45, 47]
NamePlacement "alternate"
FontName "Arial"
FontSize 12
Port "2"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType BusCreator
Name "Bus\nCreator3"
Ports [3, 1]
Position [815, 116, 820, 234]
ShowName off
Inputs "3"
DisplayOption "bar"
}
Block {
BlockType Constant
Name "Constant"
Position [575, 47, 595, 63]
ShowName off
Value "SwK"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Constant
Name "Constant1"
Position [275, 192, 295, 208]
ShowName off
Value "SwK"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Constant
Name "Constant2"
Position [620, 152, 640, 168]
ShowName off
Value "SwK"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Constant
Name "Constant3"
Position [605, 181, 630, 199]
ShowName off
Value "0"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Saturate
Name "Ctrl sat."
Position [660, 55, 690, 85]
FontName "Arial"
FontSize 12
UpperLimit "ctrl_sat(2)"
LowerLimit "ctrl_sat(1)"
OutDataType "sfix(16)"
OutScaling "2^0"
Port {
PortNumber 1
Name "Torque reference (Nm)"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator2"
Ports [1, 1]
Position [470, 18, 540, 62]
ShowName off
FontName "Arial"
FontSize 12
IntegratorMethod "Integration: Trapezoidal"
ExternalReset "none"
InitialConditionSource "internal"
SampleTime "Tsc"
OutDataType "sfix(16)"
OutScaling "2^0"
LimitOutput on
UpperSaturationLimit "ctrl_sat(2)"
LowerSaturationLimit "ctrl_sat(1)"
ICPrevOutput "DiscIntNeverNeededParam"
ICPrevScaledInput "DiscIntNeverNeededParam"
}
Block {
BlockType Gain
Name "Integral gain"
Position [405, 22, 445, 58]
FontName "Arial"
FontSize 12
Gain "ki"
ParameterDataType "sfix(16)"
ParameterScaling "2^0"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType DiscreteTransferFcn
Name "Low pass filter"
Position [285, 83, 350, 117]
FontName "Arial"
FontSize 12
Numerator "[1-exp(-2*pi*fc*Tsc)]"
Denominator "[1 -exp(-2*pi*fc*Tsc)]"
SampleTime "Tsc"
}
Block {
BlockType MultiPortSwitch
Name "Multiport\nSwitch"
Ports [3, 1]
Position [615, 47, 645, 93]
ShowName off
Inputs "2"
InputSameDT off
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType MultiPortSwitch
Name "Multiport\nSwitch1"
Ports [3, 1]
Position [310, 192, 340, 238]
ShowName off
Inputs "2"
InputSameDT off
OutDataType "sfix(16)"
OutScaling "2^0"
Port {
PortNumber 1
Name "Reference"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType MultiPortSwitch
Name "Multiport\nSwitch2"
Ports [3, 1]
Position [655, 152, 685, 198]
ShowName off
Inputs "2"
InputSameDT off
OutDataType "sfix(16)"
OutScaling "2^0"
Port {
PortNumber 1
Name "Error"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Gain
Name "Proportional gain"
Position [405, 84, 445, 116]
FontName "Arial"
FontSize 12
Gain "kp"
ParameterDataType "sfix(16)"
ParameterScaling "2^0"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType RateTransition
Name "Rate Transition"
Position [835, 49, 890, 91]
ShowName off
FontName "Arial"
FontSize 12
}
Block {
BlockType RateTransition
Name "Rate Transition2"
Position [835, 154, 890, 196]
ShowName off
FontName "Arial"
FontSize 12
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [345, 30, 365, 50]
ShowName off
FontName "Arial"
FontSize 12
IconShape "round"
Inputs "|+-"
CollapseMode "All dimensions"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [555, 12, 565, 128]
ShowName off
FontName "Arial"
FontSize 12
CollapseMode "All dimensions"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [220, 89, 235, 111]
ShowName off
FontName "Arial"
FontSize 12
SampleTime "Tsc"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold2"
Position [905, 164, 920, 186]
ShowName off
FontName "Arial"
FontSize 12
SampleTime "Ts"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold3"
Position [220, 174, 235, 196]
ShowName off
FontName "Arial"
FontSize 12
SampleTime "Tsc"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold5"
Position [220, 29, 235, 51]
ShowName off
FontName "Arial"
FontSize 12
SampleTime "Tsc"
}
Block {
BlockType Gain
Name "rad2rpm"
Position [80, 82, 120, 118]
FontName "Arial"
FontSize 12
Gain "30/pi"
ParameterDataType "sfix(16)"
ParameterScaling "2^0"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Outport
Name "Torque*"
Position [940, 63, 970, 77]
FontName "Arial"
FontSize 12
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Block {
BlockType Outport
Name "Ctrl"
Position [940, 168, 970, 182]
FontName "Arial"
FontSize 12
Port "2"
IconDisplay "Port number"
OutDataType "sfix(16)"
OutScaling "2^0"
}
Line {
SrcBlock "Constant3"
SrcPort 1
DstBlock "Multiport\nSwitch2"
DstPort 3
}
Line {
SrcBlock "Constant2"
SrcPort 1
DstBlock "Multiport\nSwitch2"
DstPort 1
}
Line {
Name "Error"
Labels [-1, 1]
SrcBlock "Multiport\nSwitch2"
SrcPort 1
DstBlock "Bus\nCreator3"
DstPort 2
}
Line {
Name "Reference"
Labels [-1, 1]
SrcBlock "Multiport\nSwitch1"
SrcPort 1
DstBlock "Bus\nCreator3"
DstPort 3
}
Line {
SrcBlock "Zero-Order\nHold3"
SrcPort 1
Points [0, 0]
Branch {
Points [0, 45]
DstBlock "Multiport\nSwitch1"
DstPort 3
}
Branch {
Points [350, 0; 0, -100]
DstBlock "Multiport\nSwitch"
DstPort 3
}
}
Line {
SrcBlock "Constant1"
SrcPort 1
DstBlock "Multiport\nSwitch1"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Multiport\nSwitch"
DstPort 2
}
Line {
SrcBlock "Constant"
SrcPort 1
DstBlock "Multiport\nSwitch"
DstPort 1
}
Line {
SrcBlock "Multiport\nSwitch"
SrcPort 1
DstBlock "Ctrl sat."
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold5"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
Points [0, 175]
DstBlock "Multiport\nSwitch1"
DstPort 2
}
Branch {
DstBlock "Sum1"
DstPort 1
}
}
Line {
SrcBlock "Low pass filter"
SrcPort 1
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Zero-Order\nHold2"
SrcPort 1
DstBlock "Ctrl"
DstPort 1
}
Line {
SrcBlock "Bus\nCreator3"
SrcPort 1
DstBlock "Rate Transition2"
DstPort 1
}
Line {
SrcBlock "Rate Transition2"
SrcPort 1
DstBlock "Zero-Order\nHold2"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
DstBlock "Low pass filter"
DstPort 1
}
Line {
SrcBlock "Rate Tran
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -