From f991751f687e6b35885296856cc597ee10d0f80d Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sun, 20 Oct 2019 19:59:16 +0200 Subject: [PATCH] Added overflow protection - added aditional protection for fixed-point overflow - no other functional change --- ...LDCmotorControl_FOC_R2017b_fixdt_29_d.json | 2594 ++++---- ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.png | Bin 10830 -> 10825 bytes ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg | 4824 +++++++------- ...motorControl_FOC_R2017b_fixdt_29_icons.png | Bin 3304 -> 3304 bytes ...CmotorControl_FOC_R2017b_fixdt_8220_d.json | 658 +- ...DCmotorControl_FOC_R2017b_fixdt_8220_d.png | Bin 14719 -> 14720 bytes ...DCmotorControl_FOC_R2017b_fixdt_8220_d.svg | 1040 +-- ...CmotorControl_FOC_R2017b_fixdt_8225_d.json | 164 +- ...DCmotorControl_FOC_R2017b_fixdt_8225_d.png | Bin 6397 -> 7427 bytes ...DCmotorControl_FOC_R2017b_fixdt_8225_d.svg | 360 +- ...DCmotorControl_FOC_R2017b_fixdt_8235_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_8247_d.json | 130 +- ...DCmotorControl_FOC_R2017b_fixdt_8247_d.svg | 256 +- ...CmotorControl_FOC_R2017b_fixdt_8263_d.json | 1678 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8263_d.png | Bin 8335 -> 8313 bytes ...DCmotorControl_FOC_R2017b_fixdt_8263_d.svg | 3348 +++++----- ...orControl_FOC_R2017b_fixdt_8272_2515_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8272_d.json | 224 +- ...DCmotorControl_FOC_R2017b_fixdt_8272_d.svg | 274 +- ...CmotorControl_FOC_R2017b_fixdt_8314_d.json | 1272 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8314_d.svg | 2566 ++++---- ...CmotorControl_FOC_R2017b_fixdt_8384_d.json | 559 +- ...DCmotorControl_FOC_R2017b_fixdt_8384_d.png | Bin 6942 -> 7333 bytes ...DCmotorControl_FOC_R2017b_fixdt_8384_d.svg | 1041 +-- ...CmotorControl_FOC_R2017b_fixdt_8469_d.json | 1566 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8469_d.png | Bin 6575 -> 6574 bytes ...DCmotorControl_FOC_R2017b_fixdt_8469_d.svg | 2956 ++++----- ...rControl_FOC_R2017b_fixdt_8486_2423_d.json | 136 +- ...orControl_FOC_R2017b_fixdt_8486_2423_d.svg | 62 +- ...rControl_FOC_R2017b_fixdt_8486_2428_d.json | 502 +- ...orControl_FOC_R2017b_fixdt_8486_2428_d.png | Bin 6887 -> 6891 bytes ...orControl_FOC_R2017b_fixdt_8486_2428_d.svg | 752 +-- ...trol_FOC_R2017b_fixdt_8486_2435_2515_d.svg | 28 +- ...rControl_FOC_R2017b_fixdt_8486_2435_d.json | 236 +- ...orControl_FOC_R2017b_fixdt_8486_2435_d.svg | 278 +- ...rControl_FOC_R2017b_fixdt_8486_2473_d.json | 484 +- ...orControl_FOC_R2017b_fixdt_8486_2473_d.png | Bin 6794 -> 6792 bytes ...orControl_FOC_R2017b_fixdt_8486_2473_d.svg | 1244 ++-- ...trol_FOC_R2017b_fixdt_8486_2480_2515_d.svg | 4 +- ...rControl_FOC_R2017b_fixdt_8486_2480_d.json | 278 +- ...orControl_FOC_R2017b_fixdt_8486_2480_d.svg | 458 +- ...orControl_FOC_R2017b_fixdt_8486_2507_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8486_d.json | 718 +- ...DCmotorControl_FOC_R2017b_fixdt_8486_d.png | Bin 6776 -> 6783 bytes ...DCmotorControl_FOC_R2017b_fixdt_8486_d.svg | 1542 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8519_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8535_d.json | 756 +-- ...DCmotorControl_FOC_R2017b_fixdt_8535_d.png | Bin 7852 -> 7844 bytes ...DCmotorControl_FOC_R2017b_fixdt_8535_d.svg | 1318 ++-- ...CmotorControl_FOC_R2017b_fixdt_8546_d.json | 1104 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8546_d.png | Bin 8844 -> 8847 bytes ...DCmotorControl_FOC_R2017b_fixdt_8546_d.svg | 1600 ++--- ...CmotorControl_FOC_R2017b_fixdt_8603_d.json | 40 +- ...DCmotorControl_FOC_R2017b_fixdt_8603_d.svg | 286 +- ...CmotorControl_FOC_R2017b_fixdt_8658_d.json | 2868 ++++---- ...DCmotorControl_FOC_R2017b_fixdt_8658_d.png | Bin 9753 -> 9737 bytes ...DCmotorControl_FOC_R2017b_fixdt_8658_d.svg | 5862 ++++++++--------- ...CmotorControl_FOC_R2017b_fixdt_8668_d.json | 640 +- ...DCmotorControl_FOC_R2017b_fixdt_8668_d.png | Bin 5855 -> 5858 bytes ...DCmotorControl_FOC_R2017b_fixdt_8668_d.svg | 1132 ++-- ...CmotorControl_FOC_R2017b_fixdt_8671_d.json | 374 +- ...DCmotorControl_FOC_R2017b_fixdt_8671_d.svg | 624 +- ...CmotorControl_FOC_R2017b_fixdt_8686_d.json | 414 +- ...DCmotorControl_FOC_R2017b_fixdt_8686_d.svg | 412 +- ...CmotorControl_FOC_R2017b_fixdt_8726_d.json | 572 +- ...DCmotorControl_FOC_R2017b_fixdt_8726_d.png | Bin 5189 -> 5186 bytes ...DCmotorControl_FOC_R2017b_fixdt_8726_d.svg | 1006 +-- ...CmotorControl_FOC_R2017b_fixdt_8738_d.json | 116 +- ...DCmotorControl_FOC_R2017b_fixdt_8738_d.png | Bin 5599 -> 5622 bytes ...DCmotorControl_FOC_R2017b_fixdt_8738_d.svg | 192 +- ...CmotorControl_FOC_R2017b_fixdt_8743_d.json | 690 +- ...DCmotorControl_FOC_R2017b_fixdt_8743_d.png | Bin 9515 -> 9524 bytes ...DCmotorControl_FOC_R2017b_fixdt_8743_d.svg | 1882 +++--- ...CmotorControl_FOC_R2017b_fixdt_8866_d.json | 352 +- ...DCmotorControl_FOC_R2017b_fixdt_8866_d.svg | 520 +- ...CmotorControl_FOC_R2017b_fixdt_8886_d.json | 222 +- ...DCmotorControl_FOC_R2017b_fixdt_8886_d.svg | 376 +- ...CmotorControl_FOC_R2017b_fixdt_8913_d.json | 3180 ++++----- ...DCmotorControl_FOC_R2017b_fixdt_8913_d.png | Bin 14264 -> 14265 bytes ...DCmotorControl_FOC_R2017b_fixdt_8913_d.svg | 4402 ++++++------- ...CmotorControl_FOC_R2017b_fixdt_8924_d.json | 188 +- ...DCmotorControl_FOC_R2017b_fixdt_8924_d.svg | 268 +- ...DCmotorControl_FOC_R2017b_fixdt_8930_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_8987_d.json | 220 +- ...DCmotorControl_FOC_R2017b_fixdt_8987_d.svg | 384 +- ...DCmotorControl_FOC_R2017b_fixdt_8993_d.svg | 10 +- ...CmotorControl_FOC_R2017b_fixdt_9029_d.json | 514 +- ...DCmotorControl_FOC_R2017b_fixdt_9029_d.svg | 720 +- ...orControl_FOC_R2017b_fixdt_9040_2342_d.svg | 6 +- ...orControl_FOC_R2017b_fixdt_9040_2395_d.svg | 22 +- ...CmotorControl_FOC_R2017b_fixdt_9040_d.json | 106 +- ...DCmotorControl_FOC_R2017b_fixdt_9040_d.svg | 378 +- ...DCmotorControl_FOC_R2017b_fixdt_9042_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9045_d.json | 334 +- ...DCmotorControl_FOC_R2017b_fixdt_9045_d.svg | 574 +- ...CmotorControl_FOC_R2017b_fixdt_9074_d.json | 844 +-- ...DCmotorControl_FOC_R2017b_fixdt_9074_d.png | Bin 5231 -> 5233 bytes ...DCmotorControl_FOC_R2017b_fixdt_9074_d.svg | 1588 ++--- ...orControl_FOC_R2017b_fixdt_9098_2275_d.svg | 4 +- ...orControl_FOC_R2017b_fixdt_9098_2282_d.svg | 10 +- ...CmotorControl_FOC_R2017b_fixdt_9098_d.json | 534 +- ...DCmotorControl_FOC_R2017b_fixdt_9098_d.png | Bin 6956 -> 6957 bytes ...DCmotorControl_FOC_R2017b_fixdt_9098_d.svg | 788 +-- ...DCmotorControl_FOC_R2017b_fixdt_9099_d.svg | 18 +- ...CmotorControl_FOC_R2017b_fixdt_9109_d.json | 866 +-- ...DCmotorControl_FOC_R2017b_fixdt_9109_d.png | Bin 5237 -> 5235 bytes ...DCmotorControl_FOC_R2017b_fixdt_9109_d.svg | 1572 ++--- ...rControl_FOC_R2017b_fixdt_9132_2275_d.json | 100 +- ...orControl_FOC_R2017b_fixdt_9132_2275_d.svg | 160 +- ...orControl_FOC_R2017b_fixdt_9132_2282_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_9132_d.json | 452 +- ...DCmotorControl_FOC_R2017b_fixdt_9132_d.png | Bin 6981 -> 6992 bytes ...DCmotorControl_FOC_R2017b_fixdt_9132_d.svg | 872 +-- ...DCmotorControl_FOC_R2017b_fixdt_9133_d.svg | 18 +- ...CmotorControl_FOC_R2017b_fixdt_9143_d.json | 724 +- ...DCmotorControl_FOC_R2017b_fixdt_9143_d.svg | 1162 ++-- ...rControl_FOC_R2017b_fixdt_9163_2275_d.json | 228 +- ...orControl_FOC_R2017b_fixdt_9163_2275_d.svg | 240 +- ...orControl_FOC_R2017b_fixdt_9163_2282_d.svg | 10 +- ...CmotorControl_FOC_R2017b_fixdt_9163_d.json | 704 +- ...DCmotorControl_FOC_R2017b_fixdt_9163_d.png | Bin 6980 -> 6981 bytes ...DCmotorControl_FOC_R2017b_fixdt_9163_d.svg | 1018 +-- ...DCmotorControl_FOC_R2017b_fixdt_9164_d.svg | 6 +- ...CmotorControl_FOC_R2017b_fixdt_9171_d.json | 504 +- ...DCmotorControl_FOC_R2017b_fixdt_9171_d.png | Bin 5273 -> 5273 bytes ...DCmotorControl_FOC_R2017b_fixdt_9171_d.svg | 906 +-- ...DCmotorControl_FOC_R2017b_fixdt_9188_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_9198_d.json | 432 +- ...DCmotorControl_FOC_R2017b_fixdt_9198_d.svg | 700 +- ...DCmotorControl_FOC_R2017b_fixdt_9292_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9293_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9333_d.json | 238 +- ...DCmotorControl_FOC_R2017b_fixdt_9333_d.svg | 542 +- ...DCmotorControl_FOC_R2017b_fixdt_9337_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9341_d.json | 448 +- ...DCmotorControl_FOC_R2017b_fixdt_9341_d.svg | 646 +- ...BLDCmotorControl_FOC_R2017b_fixdt_h_1.json | 1269 ++-- .../BLDCmotorControl_FOC_R2017b_fixdt.slx | Bin 175820 -> 183420 bytes Inc/BLDC_controller.h | 4 +- Inc/rtwtypes.h | 4 +- Src/BLDC_controller.c | 452 +- Src/BLDC_controller_data.c | 4 +- build/firmware.bin | Bin 20340 -> 18804 bytes build/firmware.elf | Bin 384028 -> 382052 bytes 144 files changed, 42544 insertions(+), 42557 deletions(-) diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json index ae810d8..0b3b0fd 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json @@ -146,6 +146,166 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9306", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_devSignal2", + "label":"r_devSignal2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "8", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9305", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_devSignal1", + "label":"r_devSignal1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "7", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9303", "className":"Simulink.Outport", @@ -307,11 +467,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9299", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"DC_phaB", - "label":"DC_phaB", + "name":"DC_phaA", + "label":"DC_phaA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -340,7 +500,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -387,20 +547,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9441", - "className":"Simulink.Terminator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Terminator", - "label":"Terminator", + "name":"z_ctrlTypSel1", + "label":"z_ctrlTypSel1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ + "z_ctrlTypSel", + "on", + "inf", + "[]", + "[]", + "uint8", + "off", + "inf" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 7 ] }, "viewer":{ @@ -409,16 +591,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Terminator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9294", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295", "className":"Simulink.Saturate", "icon":"WebViewIcon3", - "name":"Saturation", - "label":"Saturation", + "name":"Saturation1", + "label":"Saturation1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -467,11 +649,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9304", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"DC_phaB", + "label":"DC_phaB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -500,7 +682,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "2", "Port number", "[]", "[]", @@ -546,6 +728,33 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Model_Info", + "label":"Model_Info", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + ], + "values":[ + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", "className":"Simulink.SubSystem", @@ -640,54 +849,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9393", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" - ], - "values":[ - "1", - "u1 ~= CTRL_COM", - "", - "off", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"If", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -696,7 +862,7 @@ "IconDisplay" ], "values":[ - "b_hallC", + "z_ctrlModPrev", "local", "Tag" ], @@ -716,11 +882,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9282", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9389", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -729,7 +895,7 @@ "IconDisplay" ], "values":[ - "z_errCode", + "r_inpTgtSca", "local", "Tag" ], @@ -749,11 +915,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9393", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -762,7 +928,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_hallC", "local", "Tag" ], @@ -782,11 +948,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9389", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -795,7 +961,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "b_hallB", "local", "Tag" ], @@ -815,11 +981,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9280", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -828,7 +994,7 @@ "IconDisplay" ], "values":[ - "b_hallB", + "z_posRaw", "local", "Tag" ], @@ -848,36 +1014,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9441", + "className":"Simulink.Terminator", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Terminator", + "label":"Terminator", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" ], "tabs":[ - "Parameter Attributes", - "-Other" ], "tabs_idx":[ - 0, - 4 ] }, "viewer":{ @@ -886,40 +1036,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9280", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_posRaw", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Terminator", "masktype":"" } }, @@ -990,11 +1107,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9283", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9272", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1003,7 +1120,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "r_devSignal2", "local", "Tag" ], @@ -1056,11 +1173,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1069,7 +1186,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "i_phaBC", "local", "Tag" ], @@ -1089,11 +1206,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9275", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1102,7 +1219,7 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "a_elecAngle", "local", "Tag" ], @@ -1122,74 +1239,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9299", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"DC_phaA", - "label":"DC_phaA", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "i_phaAB", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1197,7 +1267,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, @@ -1235,21 +1305,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9289", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9392", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -1263,26 +1331,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9437", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", - "local", + "b_hallA", "Tag" ], "tabs":[ @@ -1296,59 +1362,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hallA", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9269", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", - "local", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1362,7 +1393,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -1429,11 +1460,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1441,7 +1472,7 @@ "IconDisplay" ], "values":[ - "r_devSignal1", + "r_devSignal2", "Tag" ], "tabs":[ @@ -1460,11 +1491,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1472,7 +1503,7 @@ "IconDisplay" ], "values":[ - "r_devSignal2", + "n_mot", "Tag" ], "tabs":[ @@ -1491,11 +1522,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1503,7 +1534,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "DC_phaB", "Tag" ], "tabs":[ @@ -1522,11 +1553,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1534,7 +1565,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "z_pos", "Tag" ], "tabs":[ @@ -1553,25 +1584,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9304", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "n_mot", - "Tag" + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1579,16 +1659,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1596,7 +1676,7 @@ "IconDisplay" ], "values":[ - "b_hallA", + "b_hallB", "Tag" ], "tabs":[ @@ -1615,19 +1695,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9286", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", + "DC_phaC", + "local", "Tag" ], "tabs":[ @@ -1641,16 +1723,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9387", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1658,7 +1740,7 @@ "IconDisplay" ], "values":[ - "DC_phaC", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -1677,21 +1759,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9272", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9388", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_devSignal2", - "local", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -1705,16 +1785,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1722,7 +1802,7 @@ "IconDisplay" ], "values":[ - "DC_phaB", + "DC_phaA", "Tag" ], "tabs":[ @@ -1741,11 +1821,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1753,7 +1833,7 @@ "IconDisplay" ], "values":[ - "DC_phaA", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1772,11 +1852,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1784,7 +1864,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "n_motAbs", "Tag" ], "tabs":[ @@ -1803,11 +1883,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1815,7 +1895,7 @@ "IconDisplay" ], "values":[ - "b_hallC", + "b_motEna", "Tag" ], "tabs":[ @@ -1834,11 +1914,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1846,7 +1926,7 @@ "IconDisplay" ], "values":[ - "z_errCode", + "z_posRaw", "Tag" ], "tabs":[ @@ -1865,11 +1945,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1877,7 +1957,7 @@ "IconDisplay" ], "values":[ - "b_hallB", + "r_devSignal1", "Tag" ], "tabs":[ @@ -1896,11 +1976,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9257", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1908,7 +1988,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "z_errCode", "Tag" ], "tabs":[ @@ -1927,225 +2007,118 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9388", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motStdStill", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_mot", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9306", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_devSignal2", - "label":"r_devSignal2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F05_Control_Type_Management", + "label":"F05_Control_Type_Management", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "8", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "on", + "", + "", "off", + "", + "void_void", "off", - "0", "off", - "reset", + "on", + "", + "off", + "", + "off", "off", - "0", "", - [ - ], - "Dialog", "Auto", - "off" + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaAB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_posRaw", + "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -2159,16 +2132,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From33", + "label":"From33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2176,7 +2149,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "DC_phaC", "Tag" ], "tabs":[ @@ -2193,76 +2166,29 @@ "blocktype":"From", "masktype":"" } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9305", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_devSignal1", - "label":"r_devSignal1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9279", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "z_ctrlTypSel", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2270,16 +2196,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F03_Control_Mode_Manager", - "label":"F03_Control_Mode_Manager", + "name":"F04_Field_Oriented_Control", + "label":"F04_Field_Oriented_Control", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2331,7 +2257,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -2372,11 +2298,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F02_Diagnostics", - "label":"F02_Diagnostics", + "name":"F03_Control_Mode_Manager", + "label":"F03_Control_Mode_Manager", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2428,7 +2354,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -2469,19 +2395,204 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9385", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= CTRL_COM", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9282", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_errCode", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9437", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_motStdStill", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaBC", + "b_hallA", + "local", "Tag" ], "tabs":[ @@ -2495,7 +2606,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -2546,6 +2657,70 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_devSignal1", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From34", + "label":"From34", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_elecAngle", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9301", "className":"Simulink.Outport", @@ -2674,41 +2849,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"b_diagEna", - "label":"b_diagEna", + "name":"Data Type Conversion7", + "label":"Data Type Conversion7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "b_diagEna", - "on", - "inf", "[]", "[]", - "boolean", + "int16", "off", - "inf" + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, 7 ] }, @@ -2718,26 +2891,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9275", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", - "local", + "i_phaAB", "Tag" ], "tabs":[ @@ -2751,52 +2922,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295", - "className":"Simulink.Saturate", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Saturation1", - "label":"Saturation1", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "UpperLimit", - "LowerLimit", - "LinearizeAsGain", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1500", - "-1500", - "on", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Floor", - "-1", - "on" + "z_ctrlModReq", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 8 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2804,63 +2953,143 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Saturate", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F02_Diagnostics", + "label":"F02_Diagnostics", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "a_elecAngle", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9286", - "className":"Simulink.Goto", + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8216", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", + "name":"Data Type Conversion6", + "label":"Data Type Conversion6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "DC_phaC", - "local", - "Tag" + "[]", + "[]", + "int16", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2868,16 +3097,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion7", - "label":"Data Type Conversion7", + "name":"Data Type Conversion5", + "label":"Data Type Conversion5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2920,11 +3149,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9257", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2932,7 +3161,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -2951,108 +3180,58 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F04_Field_Oriented_Control", - "label":"F04_Field_Oriented_Control", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion4", + "label":"Data Type Conversion4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", + "[]", + "[]", + "int16", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", + "Real World Value (RWV)", + "Floor", "off", - "" + "-1" ], "tabs":[ - "Main", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9279", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3061,7 +3240,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "n_mot", "local", "Tag" ], @@ -3081,108 +3260,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F01_Estimations", - "label":"F01_Estimations", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9289", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto28", + "label":"Goto28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "b_motEna", + "local", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9385", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "icon":"WebViewIcon3", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3190,7 +3305,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "b_hallC", "Tag" ], "tabs":[ @@ -3209,11 +3324,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8213", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8211", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", + "name":"Data Type Conversion10", + "label":"Data Type Conversion10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3256,11 +3371,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8211", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From15", + "label":"From15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "VqFinPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion10", - "label":"Data Type Conversion10", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3303,39 +3449,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"b_diagEna", + "label":"b_diagEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "FramePeriod" ], "values":[ + "b_diagEna", + "on", + "inf", "[]", "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", + "boolean", "off", - "-1" + "inf" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, + 3, 7 ] }, @@ -3345,7 +3493,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Constant", "masktype":"" } }, @@ -3417,41 +3565,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8213", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel1", - "label":"z_ctrlTypSel1", + "name":"Data Type Conversion3", + "label":"Data Type Conversion3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "z_ctrlTypSel", - "on", - "inf", "[]", "[]", - "uint8", + "int16", "off", - "inf" + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, 7 ] }, @@ -3461,47 +3607,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "VqFinPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"i_phaAB", - "label":"i_phaAB", + "name":"i_phaBC", + "label":"i_phaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3524,7 +3639,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "8", "Port number", "[]", "[]", @@ -3564,61 +3679,103 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8212", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"b_hallC", - "label":"b_hallC", + "name":"Data Type Conversion2", + "label":"Data Type Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "6", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "int16", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From22", + "label":"From22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_elecAngle", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From13", + "label":"From13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_phaBC", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3626,16 +3783,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"i_phaBC", - "label":"i_phaBC", + "name":"b_hallC", + "label":"b_hallC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3658,7 +3815,7 @@ "OutputFunctionCall" ], "values":[ - "8", + "6", "Port number", "[]", "[]", @@ -3698,11 +3855,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9283", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3711,7 +3868,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "z_pos", "local", "Tag" ], @@ -3730,84 +3887,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9387", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8216", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion6", - "label":"Data Type Conversion6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205", "className":"Simulink.Inport", @@ -3876,50 +3955,36 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9294", + "className":"Simulink.Saturate", "icon":"WebViewIcon3", - "name":"b_hallA ", - "label":"b_hallA ", + "name":"Saturation", + "label":"Saturation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", + "UpperLimit", + "LowerLimit", + "LinearizeAsGain", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "4", - "Port number", + "1500", + "-1500", + "on", "[]", "[]", - "Inherit: auto", + "fixdt(1,16,4)", "off", - "inherit", - "-1", - "Inherit", + "Floor", "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "on" ], "tabs":[ "Main", @@ -3928,8 +3993,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 8 ] }, "viewer":{ @@ -3938,142 +4003,132 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Saturate", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F05_Control_Type_Management", - "label":"F05_Control_Type_Management", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_hallA ", + "label":"b_hallA ", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "on", - "", - "", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "", - "void_void", - "off", - "off", "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", "off", - "" + "off", + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8212", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Data Type Conversion2", - "label":"Data Type Conversion2", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "2", + "Port number", "[]", "[]", - "int16", + "Inherit: auto", "off", - "Real World Value (RWV)", - "Floor", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 2, + 11 ] }, "viewer":{ @@ -4082,16 +4137,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Model_Info", - "label":"Model_Info", + "icon":"WebViewIcon1", + "name":"F01_Estimations", + "label":"F01_Estimations", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4184,88 +4239,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion4", - "label":"Data Type Conversion4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9269", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Data Type Conversion5", - "label":"Data Type Conversion5", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "r_inpTgt", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4273,16 +4267,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4305,7 +4299,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -4345,73 +4339,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motEna", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9392", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlModPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4434,7 +4366,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -4474,11 +4406,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", + "name":"i_phaAB", + "label":"i_phaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4501,7 +4433,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "7", "Port number", "[]", "[]", @@ -4541,21 +4473,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_devSignal1", - "local", + "b_motStdStill", "Tag" ], "tabs":[ @@ -4569,7 +4499,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.png index 62eb421d1dc84d92b73b8657ad3ada951049be71..f2ff5f1f4c41276500263ee907c77d5940f6ab36 100644 GIT binary patch literal 10825 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 literal 10830 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 + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + r_devSignal2 + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + r_devSignal1 + + + + + + + + @@ -468,11 +564,11 @@ - + - + 5 @@ -490,11 +586,11 @@ - + - + n_mot @@ -516,11 +612,11 @@ - + - + 4 @@ -538,11 +634,11 @@ - + - + z_errCode @@ -554,44 +650,44 @@ - - + + - + - + - - 2 + + 1 - + - + - - + + - - DC_phaB + + DC_phaA @@ -602,45 +698,44 @@ - - - + + + + + + - - - - - - - - - + - - + + - - + + z_ctrlTypSel - - - + + + - - - - - - - + + + + + + + + + + + uint8 @@ -651,45 +746,45 @@ - - - + + + - + - + - + - + - + - + - + - + - + @@ -704,22 +799,22 @@ - + - + - - + + - + sfix16_En4 @@ -731,44 +826,44 @@ - - + + - + - + - - 6 + + 2 - + - - + + - - + + - - a_elecAngle + + DC_phaB @@ -779,99 +874,145 @@ - - - - - - + + + - - - - - - + + + + + + + MODEL INFO - - + + - - Implemented_control_methods + + Version: 1.1175 - - - - - - + + + + + + + Author: Emanuel Feru + + + + + + + + Last modified by: eferu + + + + + + + + Last update: 20-okt-2019 19:26:36 + + + + + + + + Copyright © 2019 Emanuel FERU - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + - - + + - - - - - - - u1 + + + + + + - - + + - - if(u1 ~= CTRL_COM) + + Implemented_control_methods - - - + + + - - - - - - - - - - - action + + + @@ -882,11 +1023,11 @@ - - + + - + @@ -896,14 +1037,14 @@ - - [b_hallC] + + [z_ctrlModPrev] - + @@ -915,11 +1056,11 @@ - - + + - + @@ -929,14 +1070,14 @@ - - [z_errCode] + + [r_inpTgtSca] - + @@ -948,11 +1089,11 @@ - - + + - + @@ -962,14 +1103,14 @@ - - [z_ctrlModPrev] + + [b_hallC] - + @@ -981,11 +1122,11 @@ - - + + - + @@ -995,14 +1136,14 @@ - - [r_inpTgtSca] + + [b_hallB] - + @@ -1014,11 +1155,11 @@ - - + + - + @@ -1028,14 +1169,14 @@ - - [b_hallB] + + [z_posRaw] - + @@ -1047,85 +1188,45 @@ - - - - - - + + + - + - + - - u1 + + - - + + - - if(u1 ~= 0) - - - - - - - + + - - - - - - - - - - - action + + + - - - - - - - - - - - - - - - - - - - - - [z_posRaw] - - - + + @@ -1146,11 +1247,11 @@ - + - + [DC_phaA] @@ -1179,11 +1280,11 @@ - + - + [DC_phaB] @@ -1202,28 +1303,28 @@ - - + + - + - + - - [z_pos] + + [r_devSignal2] - + @@ -1245,11 +1346,11 @@ - + - + [n_motAbs] @@ -1268,28 +1369,28 @@ - - + + - + - + - - [z_ctrlModReq] + + [i_phaBC] - + @@ -1301,28 +1402,28 @@ - - + + - + - + - - [i_phaBC] + + [a_elecAngle] - + @@ -1334,44 +1435,29 @@ - - - + + + - - + + - - + + - - 1 + + [i_phaAB] - - - - - - - - - - - - - - - - - DC_phaA + + @@ -1392,11 +1478,11 @@ - + - + [VqFinPrev] @@ -1415,62 +1501,44 @@ - - - + + + - - + + - - + + - - [b_motEna] + + [z_ctrlModPrev] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_motStdStill] - - - - - - - + + uint8 @@ -1481,29 +1549,44 @@ - - - + + + - - + + - - + + - + [b_hallA] - - + + + + + + + + + + + + + + + + + uint8 @@ -1514,29 +1597,44 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -1557,11 +1655,11 @@ - + - + [z_ctrlTypSel] @@ -1579,11 +1677,11 @@ - + - + uint8 @@ -1605,11 +1703,11 @@ - + - + [n_mot] @@ -1627,11 +1725,11 @@ - + - + sfix16_En4 @@ -1643,43 +1741,43 @@ - - + + - + - + - - [r_devSignal1] + + [r_devSignal2] - + - + - - + + - + sfix16_En4 @@ -1691,43 +1789,43 @@ - - + + - + - + - - [r_devSignal2] + + [n_mot] - + - + - - + + - + sfix16_En4 @@ -1739,44 +1837,44 @@ - - + + - + - + - - [b_motStdStill] + + [DC_phaB] - + - - + + - - + + - - boolean + + int16 @@ -1787,44 +1885,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [z_pos] - + - - + + - - + + - - uint8 + + int8 @@ -1835,44 +1933,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + 6 - - + + - - - + + + - - + + - - sfix16_En4 + + a_elecAngle @@ -1883,43 +1981,43 @@ - - + + - + - + - - [b_hallA] + + [b_hallB] - + - + - - + + - + uint8 @@ -1931,44 +2029,29 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + [DC_phaC] - - - - - - - - - - - - - - - - - ufix16_En6 + + @@ -1979,77 +2062,44 @@ - - + + - + - + - - [DC_phaC] + + [r_inpTgtSca] - + - - - - - - - - - - int16 + + - - - - - - - - - - - - - - - - - - - - + + - - [r_devSignal2] - - - - - - - + + sfix16_En4 @@ -2060,44 +2110,44 @@ - - + + - + - + - - [DC_phaB] + + [r_inpTgtSca] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -2118,11 +2168,11 @@ - + - + [DC_phaA] @@ -2140,11 +2190,11 @@ - + - + int16 @@ -2156,44 +2206,44 @@ - - + + - + - + - - [z_pos] + + [b_motStdStill] - + - - + + - - + + - - int8 + + boolean @@ -2204,44 +2254,44 @@ - - + + - + - + - - [b_hallC] + + [n_motAbs] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2252,44 +2302,44 @@ - - + + - + - + - - [z_errCode] + + [b_motEna] - + - - + + - - + + - - uint8 + + boolean @@ -2300,43 +2350,43 @@ - - + + - + - + - - [b_hallB] + + [z_posRaw] - + - + - - + + - + uint8 @@ -2348,44 +2398,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_devSignal1] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2396,44 +2446,44 @@ - - + + - + - + - - [r_inpTgtSca] + + [z_errCode] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2444,125 +2494,234 @@ - - - + + + - - + + + + + + + + - - + + - - [b_motStdStill] - - - - - - - + + b_enaFOC - - - - - - + + + + + + + z_pos - - + + - - boolean + + z_ctrlTypSel - - - - - - - - - - - - - - - - - - - - + + - - [n_mot] + + r_phaA + + + + + + + + r_phaB + + + + + + + + r_phaC + + + + + + + + Vq + + + + + + + + r_inpTgtSca + + + + + + + + DC_phaA + + + + + + + + DC_phaB + + + + + + + + DC_phaC + + + + + + + + VqFinPrev - - + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + F05_Control_Type_Management + + - - + + + + + + + + + + + + + + + + + + int16 + + - + - - + + + + + + + + + + + - - 8 + + int16 - - - + + + + + + + + + + + + + + + + + int16 - - - + + + + + + + + + - - + + - - r_devSignal2 + + int16 @@ -2573,44 +2732,35 @@ - - - + + + + + + + + + - - + + - - + + - - [i_phaAB] + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2621,44 +2771,44 @@ - - + + - + - + - - [z_posRaw] + + [DC_phaC] - + - + - - + + - - uint8 + + int16 @@ -2669,92 +2819,29 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 7 + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - r_devSignal1 + + @@ -2765,221 +2852,139 @@ - - - + + + - + - - + + - - + + - - b_errFlag + + b_enaFOC - - + + - - b_motStdStill + + z_ctrlMod - - + + - - b_motEna + + r_inpTgtSca - - + + - - z_ctrlModReq + + n_mot - - + + - - z_ctrlMod + + n_motAbs - - + + - - z_ctrlModPrev - - - - - - - - - - - - - - - - - - - - - - - - - - + + a_elecAngle - - + + - - F03_Control_Mode_Manager - - - - - - - - - - - - - + + i_phaAB - - + + - - uint8 - - - - - - - - - - - - - + + i_phaBC - - + + - - uint8 + + r_phaA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - z_posRaw + + r_phaB - - + + - - b_motStdStill + + r_phaC - - + + - - VqFinPrev + + Vq - - + + - - z_errCode + + r_devSignal1 - - + + - - b_errFlag + + r_devSignal2 - - + + - + if { } @@ -2987,150 +2992,180 @@ - + - - + + - + - - + + - - + + - - F02_Diagnostics + + F04_Field_Oriented_Control - + - - + + - - + + - - action + + int16 - + - - + + - - + + - - uint8 + + sfix16_En4 - + - - + + - - + + - - boolean + + int16 - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + action + + - + - - + + + + + + + + + + + - - [i_phaBC] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + int16 - + + + + + + + - - + + - + sfix16_En4 @@ -3142,60 +3177,150 @@ - - - + + + + + + + + + - - + + + + + + + + - + - - + + - - + + b_errFlag - - + + - - + + b_motStdStill + + + + + + + + b_motEna + + + + + + + + z_ctrlModReq + + + + + + + + z_ctrlMod + + + + + + + + z_ctrlModPrev - + + + + + + + + + + - + + + + + + + + + + + + + + + + + F03_Control_Mode_Manager + - - - + + + + + + + + + + + + + + + + + uint8 - - + + + + + + + + - - + + - - sfix16_En4 + + uint8 @@ -3206,44 +3331,50 @@ - - - + + + + + + + + + - - + + - - + + - - 3 + + [r_inpTgt] - - + + - - - + + + - - + + - - DC_phaC + + sfix16_En4 @@ -3254,60 +3385,85 @@ - - - + + + - - + + - + - - + + - - + + u1 - - + + - - + + if(u1 ~= CTRL_COM) - + + + + - + + + + + + + + + + + action + - - - - - + + + + + + + + + + + + - - - - + - - + + - - int16 + + [z_errCode] + + + + + + + @@ -3318,44 +3474,52 @@ - - - + + + - - + + - - + + - - b_diagEna + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - + + - - + + - - boolean + + action @@ -3366,28 +3530,28 @@ - - + + - + - + - - [a_elecAngle] + + [b_motStdStill] - + @@ -3399,46 +3563,63 @@ - - - + + + - - + + - + - - + + - - + + [b_hallA] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + @@ -3452,22 +3633,22 @@ - - + + - + - - + + - + sfix16_En4 @@ -3479,43 +3660,76 @@ - - + + + + + + + + + + + + + + + + [r_devSignal1] + + + + + + + + + + + + + + + + + + + - + - + - + [a_elecAngle] - + - + - - + + - + ufix16_En6 @@ -3527,29 +3741,44 @@ - - - + + + - - + + - - + + - - [DC_phaC] + + 3 - - + + + + + + + + + + + + + + + + + DC_phaC @@ -3560,29 +3789,29 @@ - - + + - + - + - + - + - + @@ -3597,22 +3826,22 @@ - + - + - - + + - + int16 @@ -3624,44 +3853,60 @@ - - - + + + - - + + - + - - + + - - [n_motAbs] + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -3672,139 +3917,163 @@ - - - + + + - - - - - - - - + + - - - - - - b_enaFOC - - - - + + - - z_ctrlMod + + [i_phaAB] - - - - - - - r_inpTgtSca + + + + + + - - - - - - - n_mot + + + + + + - - + + - - n_motAbs + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - a_elecAngle + + [z_ctrlModReq] - - - - - - - i_phaAB + + + + + + - - - - - - - i_phaBC + + + + + + - - + + - - r_phaA + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - r_phaB + + z_posRaw - - + + - - r_phaC + + b_motStdStill - - + + - - Vq + + VqFinPrev - - + + - - r_devSignal1 + + z_errCode - - + + - - r_devSignal2 + + b_errFlag - - + + - + if { } @@ -3812,181 +4081,97 @@ - + - - + + - + - - + + - - + + - - F04_Field_Oriented_Control + + F02_Diagnostics - + - - + + - - + + - - sfix16_En4 + + action - + - - + + - - + + - - sfix16_En4 + + uint8 - + - - + + - - + + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - action + + boolean @@ -3997,373 +4182,130 @@ - + - + - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - + + - - - - - - - - z_ctrlTypSel - - - - - - - - r_inpTgt - - - - - - - - b_hallA - + - - - - - b_hallB - - - - - - - - b_hallC - - - - - - - - z_ctrlModPrev - - - - - - - - r_inpTgtSca - - - - - - - - z_posRaw - - - - + - - z_pos + + - - - - - n_mot - - - - - - - - n_motAbs - - - - - - - - a_elecAngle - - - - - - - - b_motStdStill - - - - - - - - b_enaFOC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - F01_Estimations + + - - - - - - - - - - - - - - - - - sfix16_En4 - + - - - - - - - - - - - - - - - - - boolean - + - - - - - - - - - - - - - - - - - boolean + + + - - - - - - - + - - + + - - uint8 + + int16 - - - - - - - - - - - - - - - - - int8 - - + + + + + + + + + - - - - - - - - - - - - - - - - - - sfix16_En4 - - + + - + - - - - + + + - - + + - - + + - - sfix16_En4 + + + + + + + + + + + + + + + + + - - - - - - - - + + - - + + - - ufix16_En6 + + int16 @@ -4374,50 +4316,44 @@ - - - - - - - - + + - + - + - - [r_inpTgt] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4428,29 +4364,29 @@ - - + + - + - + - + - + - + @@ -4465,22 +4401,22 @@ - + - + - - + + - + int16 @@ -4492,60 +4428,110 @@ - - - + + + - - + + - + - - + + - - + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [b_motEna] - + + + + + + + + + + + + + + + + + + + + + + + + + [b_hallC] + - - + + - + - - + + - - int16 + + uint8 @@ -4556,29 +4542,29 @@ - - + + - + - + - + - + - + @@ -4593,22 +4579,22 @@ - + - + - - + + - + int16 @@ -4620,58 +4606,43 @@ - - - + + + - - + + - - + + - - 9 + + [VqFinPrev] - - - - - - - - - - - - - - - - - i_DCLink + + - + - - + + - + int16 @@ -4683,44 +4654,60 @@ - - - + + + - - + + - + - - + + - - z_ctrlTypSel + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - uint8 + + int16 @@ -4731,44 +4718,44 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + b_diagEna - - + + - - + + - - + + - - int16 + + boolean @@ -4779,58 +4766,58 @@ - - + + - + - + - - 7 + + 9 - + - - + + - - + + - - i_phaAB + + i_DCLink - + - - + + - + int16 @@ -4842,59 +4829,60 @@ - - - + + + - - + + - + - - + + - - 6 + + + + + + + + + + - - - - + - - - - - - - - - - - b_hallC + + + + + + + - + - - + + - - uint8 + + int16 @@ -4915,11 +4903,11 @@ - + - + 8 @@ -4937,11 +4925,11 @@ - + - + i_phaBC @@ -4952,11 +4940,11 @@ - + - + int16 @@ -4968,29 +4956,60 @@ - - - + + + - - + + - + - - + + - - [i_phaAB] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + int16 @@ -5001,44 +5020,44 @@ - - + + - + - + - - [r_inpTgtSca] + + [a_elecAngle] - + - - + + - - + + - - sfix16_En4 + + ufix16_En6 @@ -5049,60 +5068,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [i_phaBC] - - - - - - - - - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -5113,58 +5116,58 @@ - - + + - + - + - - 5 + + 6 - + - - + + - - + + - - b_hallB + + b_hallC - + - - + + - + uint8 @@ -5176,58 +5179,91 @@ - - + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + - + - + - - 4 + + 5 - + - - + + - - + + - - b_hallA + + b_hallB - + - - + + - + uint8 @@ -5239,234 +5275,139 @@ - - - + + + - - - - - - - - + + - - - - - - - - b_enaFOC - - - - - - - - z_pos - - - - - - - - z_ctrlTypSel - - - - - - - - r_phaA - - - - - - - - r_phaB - - - - - - - - r_phaC - - - - - - - - Vq - - - - - - - - r_inpTgtSca - + - - + + - - DC_phaA + + - - + + - - DC_phaB + + - - + + - - DC_phaC + + - - + + - - VqFinPrev + + + + + + + + + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - F05_Control_Type_Management + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - int16 + + 4 - - - - - - - - - - - - - - - - - int16 + + + - - - - - - - - - + + + - - + + - - int16 + + b_hallA - - - - - - - + - - + + - - int16 + + uint8 @@ -5477,66 +5418,59 @@ - - - - - - - - - + + + - - + + - - - - - - - - - + - - + + - - + + 2 - - - - - + + + + - - - + + + + + + + + + + + z_ctrlModReq - + - - + + - - int16 + + uint8 @@ -5547,337 +5481,334 @@ - - - + + + + + + + + + + + + - - + + - - MODEL INFO + + z_ctrlTypSel - - + + - - Version: 1.1169 + + r_inpTgt - - + + - - Author: Emanuel Feru + + b_hallA - - + + - - Last modified by: eferu + + b_hallB - - + + - - Last update: 12-okt-2019 18:16:26 + + b_hallC - - + + - - Copyright © 2019 Emanuel FERU - - - - - - - + + z_ctrlModPrev - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + r_inpTgtSca - - - - - - - - - - - - - - - - - - - - + + - - + + z_posRaw - - + + - - + + z_pos - - - - - - - - - - - - - - + + + + + + + n_mot - - - - - - + + + + + + + n_motAbs - - + + - - int16 + + a_elecAngle - - - - - - - - - - - - - - - - - - - - + + - - + + b_motStdStill - - + + - - + + b_enaFOC - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + F01_Estimations - - + + + + + + + + - - + + - - int16 + + sfix16_En4 - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - 2 + + uint8 - - - + + + + + + + + + + + + + + + + + ufix16_En6 - - - + + + + + + + + + - - + + - - z_ctrlModReq + + boolean - - + + + + + + + + - - + + - - uint8 + + sfix16_En4 - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - [b_motEna] + + boolean - - - + + + + + + + + + + + + + + + + + sfix16_En4 - - + + + + + + + + - - + + - - boolean + + int8 @@ -5888,44 +5819,35 @@ - - - + + + + + + + + + - - + + - - + + - - [z_ctrlModPrev] + + [r_inpTgt] - - - - - - - - - - - - - - - - - uint8 + + @@ -5946,11 +5868,11 @@ - + - + 1 @@ -5968,11 +5890,11 @@ - + - + b_motEna @@ -5983,11 +5905,11 @@ - + - + boolean @@ -6009,11 +5931,11 @@ - + - + 3 @@ -6031,11 +5953,11 @@ - + - + r_inpTgt @@ -6046,11 +5968,11 @@ - + - + int16 @@ -6062,29 +5984,107 @@ - - - + + + - - + + - - + + - - [r_devSignal1] + + 7 - - + + + + + + + + + + + + + + + + + i_phaAB + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean @@ -7193,5 +7193,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_icons.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_icons.png index fbc177989e51892c2987304b3fe07038715a3ddf..33c9c3b67b68b98b29e1f8a45ca8db39c48445cb 100644 GIT binary patch delta 19 bcmaDM`9gAn4u^=KtYW&}x(6Fgw(tM|MEwTx delta 19 bcmaDM`9gAn4hN5bs93Y=lm#12w(tM|LZk+d diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.json index 266aa56..59675ba 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.json @@ -1351,86 +1351,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8467", "className":"Simulink.Outport", @@ -1512,11 +1432,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_posRaw", - "label":"z_posRaw", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1545,7 +1465,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "5", "Port number", "[]", "[]", @@ -1715,11 +1635,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1728,7 +1648,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "z_posRaw", "local", "Tag" ], @@ -1781,11 +1701,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8455", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9379", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1794,7 +1714,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "z_ctrlModPrev", "local", "Tag" ], @@ -1814,11 +1734,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9379", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9377", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1827,7 +1747,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgt", "local", "Tag" ], @@ -1944,11 +1864,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1957,7 +1877,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "b_motStdStill", "local", "Tag" ], @@ -2008,11 +1928,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2020,7 +1940,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "b_enaFOC", "Tag" ], "tabs":[ @@ -2039,25 +1959,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9381", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"b_enaFOC", + "label":"b_enaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "r_inpTgt", - "Tag" + "8", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2065,16 +2034,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2082,7 +2051,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_counter", "Tag" ], "tabs":[ @@ -2101,11 +2070,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2113,7 +2082,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "z_dir", "Tag" ], "tabs":[ @@ -2132,11 +2101,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9381", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2144,7 +2113,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgt", "Tag" ], "tabs":[ @@ -2163,19 +2132,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_dirPrev", + "z_counterRaw", + "local", "Tag" ], "tabs":[ @@ -2189,24 +2160,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9384", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -2220,17 +2193,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "name":"From15", + "label":"From15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_dirPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", @@ -2256,11 +2260,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9374", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8424", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2287,74 +2291,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "n_motAbs", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2362,16 +2317,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2400,7 +2355,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "7", "Port number", "[]", "[]", @@ -2413,9 +2368,9 @@ "auto", "off", "off", - "[]", + "0", "off", - "held", + "reset", "off", "0", "", @@ -2577,11 +2532,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8424", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9374", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2608,11 +2563,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2620,7 +2575,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_counterRaw", "Tag" ], "tabs":[ @@ -2639,44 +2594,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9378", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "name":"z_posRaw", + "label":"z_posRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2692,14 +2614,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "2", "Port number", "[]", "[]", @@ -2711,10 +2639,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -2734,16 +2669,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9382", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2751,7 +2686,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -2770,19 +2705,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9382", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -2796,32 +2733,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9378", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_motStdStill", - "local", - "Tag" + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2829,7 +2800,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, @@ -2930,39 +2901,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9384", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9375", "className":"Simulink.Inport", @@ -3031,11 +2969,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -3043,7 +2981,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "b_enaFOC", "Tag" ], "tabs":[ @@ -3129,11 +3067,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From17", + "label":"From17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_pos", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8455", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -3142,7 +3111,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "z_ctrlTypSel", "local", "Tag" ], @@ -3161,6 +3130,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlModPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.png index 43c4e07ea52b7314482ab24e0818e82e355cc95e..aa517612b45341f6e68acbe9e49fc2aa76e41316 100644 GIT binary patch delta 11688 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 WzI55Mh2+0abR?5r{Av-dXke#gO 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 - + @@ -771,7 +771,7 @@ - + @@ -1110,7 +1110,7 @@ - + @@ -1247,16 +1247,16 @@ - - + + - + - - boolean + + int16 @@ -1352,16 +1352,16 @@ - - + + - + - - int16 + + boolean @@ -1380,7 +1380,7 @@ - + @@ -1477,16 +1477,16 @@ - - + + - + - - uint8 + + int8 @@ -1498,16 +1498,16 @@ - - + + - + - - int8 + + uint8 @@ -1795,54 +1795,6 @@ - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - b_motStdStill - - - - - - - - @@ -1855,11 +1807,11 @@ - + - + 6 @@ -1877,11 +1829,11 @@ - + - + a_elecAngle @@ -1893,44 +1845,44 @@ - - + + - + - + - - 2 + + 5 - + - - + + - - + + - - z_posRaw + + n_motAbs @@ -1951,11 +1903,11 @@ - + - + 1 @@ -1973,11 +1925,11 @@ - + - + r_inpTgtSca @@ -1999,19 +1951,19 @@ - + - + u1 - + - + if(u1 ~= 0) @@ -2029,11 +1981,11 @@ - + - + action @@ -2045,28 +1997,28 @@ - - + + - + - + - - [z_counterRaw] + + [z_posRaw] - + @@ -2088,11 +2040,11 @@ - + - + [z_counter] @@ -2111,28 +2063,28 @@ - - + + - + - + - - [z_ctrlTypSel] + + [z_ctrlModPrev] - + @@ -2144,28 +2096,28 @@ - - + + - + - + - - [z_ctrlModPrev] + + [r_inpTgt] - + @@ -2187,11 +2139,11 @@ - + - + [n_motAbs] @@ -2220,11 +2172,11 @@ - + - + [b_enaFOC] @@ -2253,11 +2205,11 @@ - + - + [z_posRaw] @@ -2275,11 +2227,11 @@ - + - + uint8 @@ -2291,28 +2243,28 @@ - - + + - + - + - - [r_inpTgt] + + [b_motStdStill] - + @@ -2334,11 +2286,11 @@ - + - + [b_motStdStill] @@ -2356,11 +2308,11 @@ - + - + boolean @@ -2372,44 +2324,44 @@ - - + + - + - + - - [z_counterRaw] + + [b_enaFOC] - + - - + + - - + + - - int16 + + boolean @@ -2420,44 +2372,44 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + 8 - - + + - - - + + + - - + + - - sfix16_En4 + + b_enaFOC @@ -2468,44 +2420,44 @@ - - + + - + - + - - [b_enaFOC] + + [z_counter] - + - - + + - - + + - - boolean + + int16 @@ -2516,43 +2468,43 @@ - - + + - + - + - - [z_pos] + + [z_dir] - + - + - - + + - + int8 @@ -2564,44 +2516,44 @@ - - + + - + - + - - [z_ctrlModPrev] + + [r_inpTgt] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2612,44 +2564,62 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [z_counterRaw] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - int8 + + [r_inpTgtSca] + + + + + + + @@ -2660,44 +2630,44 @@ - - + + - + - + - - [n_motAbs] + + [z_dirPrev] - + - - + + - - + + - - sfix16_En4 + + int8 @@ -2718,11 +2688,11 @@ - + - + [a_elecAngle] @@ -2740,11 +2710,11 @@ - + - + ufix16_En6 @@ -2756,43 +2726,43 @@ - - + + - + - + - + [z_ctrlTypSel] - + - + - - + + - + uint8 @@ -2804,44 +2774,44 @@ - - - + + + - - + + - - + + - - 5 + + [n_motAbs] - - + + - - - + + + - - + + - - n_motAbs + + sfix16_En4 @@ -2852,44 +2822,44 @@ - - + + - + - + - - 8 + + 7 - + - - + + - - + + - - b_enaFOC + + b_motStdStill @@ -2916,51 +2886,51 @@ - + - + z_pos - + - + z_dir - + - + z_counter - + - + z_counterRaw - + - + b_enaFOC - + - + a_elecAngle @@ -2990,11 +2960,11 @@ - + - + F01_06_Electrical_Angle_Estimation @@ -3011,11 +2981,11 @@ - + - + ufix16_En6 @@ -3043,11 +3013,11 @@ - + - + [z_dirPrev] @@ -3066,43 +3036,43 @@ - - + + - + - + - + [z_ctrlTypSel] - + - + - - + + - + uint8 @@ -3114,44 +3084,44 @@ - - + + - + - + - - [b_enaFOC] + + [z_counterRaw] - + - - + + - - + + - - boolean + + int16 @@ -3162,29 +3132,44 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + 2 - - + + + + + + + + + + + + + + + + + z_posRaw @@ -3195,59 +3180,44 @@ - - - + + + - - + + - - + + - - 6 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - z_ctrlModPrev + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3258,44 +3228,29 @@ - - - + + + - - + + - - + + - - [z_counter] + + [a_elecAngle] - - - - - - - - - - - - - - - - - int16 + + @@ -3306,77 +3261,59 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 6 - - + + - - - + + + - - + + - - sfix16_En4 + + z_ctrlModPrev - - - - - - - - - - - - - - - + + + + - - + + - - [b_motStdStill] - - - - - - - + + uint8 @@ -3389,7 +3326,7 @@ - + @@ -3403,35 +3340,35 @@ - + - + z_ctrlTypSel - + - + r_inpTgt - + - + z_ctrlModPrev - + - + r_inpTgtSca @@ -3461,11 +3398,11 @@ - + - + F01_01_Input_Scaling @@ -3482,11 +3419,11 @@ - + - + sfix16_En4 @@ -3498,46 +3435,13 @@ - + - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - @@ -3547,11 +3451,11 @@ - + - + 2 @@ -3569,11 +3473,11 @@ - + - + r_inpTgt @@ -3584,11 +3488,11 @@ - + - + sfix16_En4 @@ -3600,44 +3504,44 @@ - - + + - + - + - - [z_dir] + + [b_enaFOC] - + - - + + - - + + - - int8 + + boolean @@ -3658,11 +3562,11 @@ - + - + 1 @@ -3680,11 +3584,11 @@ - + - + z_ctrlTypSel @@ -3695,11 +3599,11 @@ - + - + uint8 @@ -3711,28 +3615,76 @@ - - + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + - + - + - - [z_posRaw] + + [z_ctrlTypSel] - + @@ -3742,6 +3694,54 @@ + + + + + + + + + + + + + + + + + + [z_ctrlModPrev] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + @@ -4416,5 +4416,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json index 9222b6d..b02620b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json @@ -280,43 +280,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8229", - "className":"Simulink.SFunction", - "icon":"WebViewIcon3", - "name":"Bitwise Operator", - "label":"Bitwise Operator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", - "inspector":{ - "params":[ - "logicop", - "UseBitMask", - "NumInputPorts", - "BitMask", - "BitMaskRealWorld" - ], - "values":[ - "XOR", - "off", - "6", - "bin2dec('11011001')", - "Stored Integer" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"S-Function", - "masktype":"Bitwise Operator" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8233", "className":"Simulink.UnitDelay", @@ -368,11 +331,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "inspector":{ "params":[ @@ -418,58 +381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8230", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion2", - "label":"Data Type Conversion2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "boolean", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "inspector":{ "params":[ @@ -515,46 +431,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8226#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9634", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator", + "label":"Logical Operator", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" ], "values":[ - "", - "off", - "off", - "off", + "XOR", + "6", + "rectangular", "off", - "Simulink", - "Auto", - "", - "" + "boolean", + "-1" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Data Type", + "-Other" ], "tabs_idx":[ 0, 3, - 5, - 7 + 5 ] }, "viewer":{ @@ -562,11 +470,13 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Logic", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8228#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8226#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -617,7 +527,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8227#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8228#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -668,7 +578,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8229#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8227#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -719,7 +629,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -770,7 +680,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8233#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -821,7 +731,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8233#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -872,7 +782,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8230#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9634#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.png index b1789785f99ca5525908794d4bf0baa396103fc7..9d12d12b00142b3c1391e7d9249ba0c01378a78c 100644 GIT binary patch literal 7427 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 UkGc=QsV3y{!>206O6KqW2SR==XaE2J literal 6397 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.svg index 5d60194..a6b3523 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.svg @@ -1,10 +1,10 @@ - + - + @@ -46,7 +46,7 @@ - + @@ -61,7 +61,7 @@ - + @@ -109,7 +109,7 @@ - + @@ -124,7 +124,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -187,7 +187,7 @@ - + @@ -203,10 +203,10 @@ - + - + @@ -216,29 +216,29 @@ - + 1 - + - + - + - + b_edge @@ -250,101 +250,140 @@ - - - + + + - - + + - + - + + + + + + + + + - - Bitwise + + - - + + - - XOR + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + uint8 + + + + + + + + + + + Ini=0 + + + + - - + + - + - + - + - + - + - + - + - + - + @@ -359,37 +398,37 @@ - + - + - - + + - + Ini=0 - + - - + + - + uint8 @@ -411,35 +450,35 @@ - + - + - + - + - + - + - + - + @@ -465,11 +504,11 @@ - - + + - + Ini=0 @@ -480,11 +519,11 @@ - - + + - + uint8 @@ -496,30 +535,30 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -528,124 +567,29 @@ - - - - - - - - - - - - + - - + + - + boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uint8 + + - - - - - - - - - - Ini=0 - @@ -673,11 +617,11 @@ - + - + @@ -707,11 +651,11 @@ - + - + @@ -741,11 +685,11 @@ - + - + @@ -755,70 +699,56 @@ - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + @@ -827,5 +757,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg index 3089d5f..072f9e2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg @@ -455,7 +455,7 @@ - + @@ -768,5 +768,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json index 5d4ca66..a26d20f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json @@ -593,56 +593,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Elements as channels (sample based)", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8262", "className":"Simulink.Outport", @@ -724,25 +674,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8249", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8260", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "held", - "Only when execution is resumed" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -750,16 +719,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8260", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "inspector":{ "params":[ @@ -774,7 +743,7 @@ ], "values":[ "0", - "Inherited", + "Elements as channels (sample based)", "-1", "", "", @@ -804,6 +773,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8249", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg index 893f4a4..64dc3c3 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg @@ -778,86 +778,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - @@ -870,11 +790,11 @@ - + - + 2 @@ -892,11 +812,11 @@ - + - + z_dirPrev @@ -908,44 +828,91 @@ - - - + + + - - + + - + - - + + - - if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - Action Port + + int8 + + + + + + + + + + + + + + + Ini=0 @@ -956,45 +923,45 @@ - - + + - + - + - + - + - + - + - + - + - + @@ -1009,38 +976,71 @@ - + - - - + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + - + - - Ini=0 + + if { } - - - + + + + + + + + + + - + - - int8 + + Action Port @@ -1279,5 +1279,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.json index 710dc24..d24c8f7 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.json @@ -734,11 +734,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -767,7 +767,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "5", "Port number", "[]", "[]", @@ -780,9 +780,9 @@ "auto", "off", "off", - "[]", + "0", "off", - "held", + "reset", "off", "0", "", @@ -814,11 +814,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -847,7 +847,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -894,11 +894,105 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8373", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"z_maxCntRst", + "label":"z_maxCntRst", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "z_maxCntRst", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8366", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"z_counterRaw", + "label":"z_counterRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -927,7 +1021,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -974,11 +1068,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"b_enaFOC", + "label":"b_enaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1007,7 +1101,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "6", "Port number", "[]", "[]", @@ -1054,43 +1148,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_maxCntRst2", - "label":"z_maxCntRst2", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "z_maxCntRst", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "n_mot", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1098,48 +1176,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8373", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_maxCntRst", - "label":"z_maxCntRst", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "z_maxCntRst", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "dz_trnsDet", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1147,503 +1209,107 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_commDeacv", - "label":"n_commDeacv", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "n_commDeacvHi", - "n_commAcvLo", - "1", - "0", - "Elements as channels (sample based)", + "2", + "Port number", "[]", "[]", - "boolean", + "Inherit: auto", "off", + "inherit", "-1", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 5, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Relay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"z_counterRaw", - "label":"z_counterRaw", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "z_maxCntRst", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" - ], - "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Switch", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator9", - "label":"Relational Operator9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "<", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8366", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - ">", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9429", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"n_stdStillDet", - "label":"n_stdStillDet", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "n_stdStillDet", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Raw_Motor_Speed_Estimation", - "label":"Raw_Motor_Speed_Estimation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", + "Inherit", + "-1", + "auto", "off", - "", "off", - "", + "[]", "off", + "held", "off", + "0", "", + [ + ], + "Dialog", "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux3", - "label":"Mux3", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "n_motAbsPrev", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1656,30 +1322,54 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8311", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "name":"n_commDeacv", + "label":"n_commDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "SampleTime", + "ZeroCross" ], "values":[ - "2", - "bar" + "n_commDeacvHi", + "n_commAcvLo", + "1", + "0", + "Elements as channels (sample based)", + "[]", + "[]", + "boolean", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 5, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1687,16 +1377,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1705,7 +1395,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "b_enaFOC", "local", "Tag" ], @@ -1725,11 +1415,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1738,7 +1428,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "n_motAbs", "local", "Tag" ], @@ -1758,11 +1448,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1771,7 +1461,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "z_counter", "local", "Tag" ], @@ -1791,21 +1481,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Mux2", + "label":"Mux2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "n_motAbs", - "local", "Tag" ], "tabs":[ @@ -1819,25 +1538,70 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"Relational Operator9", + "label":"Relational Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "2", - "bar" + "<", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_motRaw", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1850,26 +1614,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8288", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", - "local", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1883,16 +1645,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1919,19 +1681,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8304", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motRaw", + "z_ctrlTypSel", + "local", "Tag" ], "tabs":[ @@ -1945,16 +1709,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1962,7 +1726,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_dirPrev", "Tag" ], "tabs":[ @@ -2012,39 +1776,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "b_enaFOC", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2052,16 +1802,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2069,7 +1819,7 @@ "IconDisplay" ], "values":[ - "b_edge", + "n_motRaw", "Tag" ], "tabs":[ @@ -2088,19 +1838,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "z_dirPrev", + "local", "Tag" ], "tabs":[ @@ -2114,24 +1866,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "dz_trnsDet", + "n_motRaw", + "local", "Tag" ], "tabs":[ @@ -2145,30 +1899,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "z_dirPrev", - "Tag" + "~=", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2176,16 +1944,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2193,7 +1961,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_dir", "Tag" ], "tabs":[ @@ -2212,11 +1980,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2224,7 +1992,7 @@ "IconDisplay" ], "values":[ - "n_motRaw", + "b_enaFOC", "Tag" ], "tabs":[ @@ -2243,25 +2011,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "n_motAbsPrev", - "Tag" + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2269,16 +2063,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2286,7 +2080,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "b_edge", "Tag" ], "tabs":[ @@ -2305,21 +2099,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "n_motAbsPrev", - "local", "Tag" ], "tabs":[ @@ -2333,59 +2125,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" - ], - "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2393,7 +2142,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "z_counterRaw", "Tag" ], "tabs":[ @@ -2412,21 +2161,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motRaw", - "local", + "dz_trnsDet", "Tag" ], "tabs":[ @@ -2440,16 +2187,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2457,7 +2204,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "b_motStdStill", "Tag" ], "tabs":[ @@ -2476,11 +2223,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2488,7 +2235,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_edge", "Tag" ], "tabs":[ @@ -2538,20 +2285,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8311", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Mux1", + "label":"Mux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "z_counterRaw", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -2564,32 +2311,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "z_dirPrev", - "local", - "Tag" + "z_maxCntRst", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2597,26 +2361,53 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8304", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "z_cntInit" + ], + "values":[ + "z_maxCntRst" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", - "local", + "z_counterRawPrev", "Tag" ], "tabs":[ @@ -2630,7 +2421,50 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", "masktype":"" } }, @@ -2684,19 +2518,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_edge", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -2710,7 +2546,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -2764,43 +2600,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9429", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"n_stdStillDet", + "label":"n_stdStillDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Value", + "VectorParams1D", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "n_stdStillDet", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - [ - ], - "Auto" + "inf" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 3, - 4 + 7 ] }, "viewer":{ @@ -2809,30 +2644,46 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8288", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "z_ctrlTypSel", - "Tag" + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2840,7 +2691,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Abs", "masktype":"" } }, @@ -2912,21 +2763,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_enaFOC", - "local", + "n_motAbs", "Tag" ], "tabs":[ @@ -2940,45 +2789,144 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Raw_Motor_Speed_Estimation", + "label":"Raw_Motor_Speed_Estimation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"z_maxCntRst2", + "label":"z_maxCntRst2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "FramePeriod" ], "values":[ + "z_maxCntRst", + "on", + "inf", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "Zero", - "off", - "-1", - "on" + "inf" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 3, + 7 ] }, "viewer":{ @@ -2987,7 +2935,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Constant", "masktype":"" } }, @@ -3023,31 +2971,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "z_cntInit" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "z_maxCntRst" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ + "Main", + "State Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 4 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -3119,11 +3088,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8310", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux3", + "label":"Mux3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8309", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -3135,8 +3135,8 @@ "SampleTime" ], "values":[ - "AND", - "3", + "NOT", + "2", "rectangular", "off", "boolean", @@ -3164,11 +3164,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8309", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8310", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -3180,8 +3180,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "AND", + "3", "rectangular", "off", "boolean", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.png index 49f0e9b59468459c4ad5f5df0653ec8439138b53..67db8809361805a75dd1e8a0bf97a4bf31d803de 100644 GIT binary patch literal 8313 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 G_5T6;EJ>jN literal 8335 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg index ae62113..66f500a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg @@ -107,7 +107,7 @@ - + @@ -698,54 +698,6 @@ - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - b_enaFOC - - - - - - - - @@ -758,11 +710,11 @@ - + - + 5 @@ -780,11 +732,11 @@ - + - + b_motStdStill @@ -806,11 +758,11 @@ - + - + 3 @@ -828,11 +780,11 @@ - + - + z_counter @@ -842,102 +794,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - n_motAbs - - - - - - - - - - - - - - - - - - - - - - - - - - z_maxCntRst - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - @@ -950,11 +806,11 @@ - + - + z_maxCntRst @@ -972,11 +828,11 @@ - + - + int16 @@ -988,62 +844,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -1057,37 +881,22 @@ - - - - - - - - - - - - - - - - - n_commDeacv + + - + - - + + - + boolean @@ -1109,11 +918,11 @@ - + - + 4 @@ -1131,11 +940,11 @@ - + - + z_counterRaw @@ -1147,91 +956,44 @@ - - - + + + - - + + - + - - + + - - + + 6 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=z_maxCntRst - - - - - - - - - - - - - - - int16 + + b_enaFOC @@ -1242,188 +1004,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + + - - F + + [n_mot] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1434,60 +1037,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [dz_trnsDet] - - - - - - - - - - - - - - - - - - - - - - - - - boolean + + @@ -1498,60 +1070,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 2 - - - - - - - - - - + + - - - + + + - - + + - - boolean + + n_motAbs @@ -1562,59 +1118,29 @@ - - - + + + - - + + - - + + - - n_stdStillDet + + [n_motAbsPrev] - - - - - - - - - - - - - - - - - n_stdStillDet - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1625,202 +1151,140 @@ - - - + + + - - - - - - - - + + - - - - - - - - z_dir - - - - - - - - z_dirPrev - + - - + + - - z_counterRawPrev + + - - + + - - n_motAbsPrev + + - - + + - - z_counter + + - - + + - - dz_trnsDet + + - - + + - - n_motRaw + + - - + + - - if { } + + - - - - - - - - - - + - - - - - - - - - - - - - - - - - Raw_Motor_Speed_Estimation + + + + + + + - - - - - - - - - + + + - - + + - - action + + n_commDeacv - - - - - - - + - - + + - + boolean - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [b_enaFOC] - - - - - - - - - - - - - - - - - int16 + + + @@ -1831,50 +1295,62 @@ - - - - - - - - - + + + - - + + - - + + - - + + [n_motAbs] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [z_counter] + + + + + + + @@ -1885,44 +1361,44 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -1933,29 +1409,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [n_motAbs] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1966,29 +1457,60 @@ - - - + + + - - + + - + - - + + - - [b_motStdStill] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + boolean @@ -1999,29 +1521,44 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + [n_motRaw] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2032,29 +1569,44 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -2065,43 +1617,43 @@ - - - + + + - - + + - - + + - - + + [n_motAbs] - - + + - + - - + + - + sfix16_En4 @@ -2113,28 +1665,28 @@ - - + + - + - - + + - - [z_counter] + + [z_ctrlTypSel] - + @@ -2146,44 +1698,44 @@ - - + + - + - - + + - - [n_motAbs] + + [z_dirPrev] - + - - + + - - + + - - sfix16_En4 + + int8 @@ -2194,44 +1746,44 @@ - - + + - + - + - - [n_motRaw] + + [z_counterRaw] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -2242,44 +1794,44 @@ - - + + - + - + - - [n_motAbs] + + [b_enaFOC] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2290,44 +1842,44 @@ - - + + - + - - + + - - [z_counterRaw] + + [n_motRaw] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -2338,60 +1890,62 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_dirPrev] - + + + + - - + + + + + + + + + - - - - - - + + - - - - + - - + + - - boolean + + [n_motRaw] + + + + + + + @@ -2402,43 +1956,59 @@ - - - + + + - - + + - + - - + + - - [b_edge] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + boolean @@ -2450,44 +2020,44 @@ - - + + - + - - + + - - [n_motAbs] + + [z_dir] - + - - + + - - + + - - sfix16_En4 + + int8 @@ -2498,43 +2068,43 @@ - - + + - + - + - - [dz_trnsDet] + + [b_enaFOC] - + - + - - + + - + boolean @@ -2546,44 +2116,188 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - + + - - + + - - int8 + + sfix16_En4 @@ -2594,43 +2308,43 @@ - - + + - + - - + + - - [b_enaFOC] + + [b_edge] - + - + - - + + - + boolean @@ -2642,43 +2356,43 @@ - - + + - + - + - - [n_motRaw] + + [n_motAbsPrev] - + - + - - + + - + sfix16_En4 @@ -2690,44 +2404,44 @@ - - + + - + - + - - [n_motAbsPrev] + + [z_counterRaw] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -2738,44 +2452,44 @@ - - + + - + - - + + - - [z_dir] + + [dz_trnsDet] - + - - + + - - + + - - int8 + + boolean @@ -2786,29 +2500,44 @@ - - - + + + - - + + - - + + - - [n_motAbsPrev] + + [b_motStdStill] - - + + + + + + + + + + + + + + + + + boolean @@ -2819,52 +2548,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [b_edge] - - + + - - + + - - + + - - action + + boolean @@ -2875,43 +2596,43 @@ - - + + - + - - + + - - [z_counterRawPrev] + + [z_counter] - + - + - - + + - + int16 @@ -2923,29 +2644,44 @@ - - - + + + - - + + - - + + - - [n_motRaw] + + - - + + + + + + + + + + + + + + + + + int16 @@ -2956,254 +2692,345 @@ - - - + + + - - + + - + - - + + - - [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=z_maxCntRst - - + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - [b_motStdStill] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - + - - boolean + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - [z_counter] + + - - + + - - - + + + - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - + - - [z_counterRaw] - - - - - - - + + Counter - + - - + + - + int16 - - - - - - - - - - - - - - + + + - - + + - - [z_dirPrev] - - - - - - - + + Ini=z_maxCntRst - - - - - - - - - - - - - - - + - - + + - - [z_ctrlTypSel] + + - - - - - + + + + + + + + + + + + + + + + + + @@ -3214,44 +3041,44 @@ - - - + + + - - + + - + - - 0 + + [z_counterRawPrev] - - + + - - + + - + - - sfix16_En4 + + int16 @@ -3262,44 +3089,52 @@ - - - + + + - - + + - + - - [b_edge] + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - + + - - + + - - boolean + + action @@ -3310,44 +3145,44 @@ - - - + + + - - + + - - + + - - CTRL_COM + + 0 - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3358,91 +3193,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + - - - - - + + - - Ini=0 + + [b_motStdStill] - - - - - - - - - - - sfix16_En4 + + + @@ -3453,43 +3226,43 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + CTRL_COM - - + + - + - - + + - + uint8 @@ -3501,92 +3274,59 @@ - - - + + + - - + + - - + + - - 4 + + n_stdStillDet - - + + - - + + - - + + - - z_dirPrev + + n_stdStillDet - - - - - - - - - - int8 + + - - - - - - - - - - - - - - - - - - - - + + - - [b_enaFOC] - - - - - - - + + sfix16_En4 @@ -3599,7 +3339,7 @@ - + @@ -3607,35 +3347,35 @@ - + - + - + - + - + - + - + - + @@ -3649,24 +3389,87 @@ - - - + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + z_dirPrev - - + + - - + + - - sfix16_En4 + + int8 @@ -3677,44 +3480,44 @@ - - + + - + - + - - [z_counter] + + [n_motAbs] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -3725,250 +3528,399 @@ - - - + + + - - + + + + + + + + - - + + - - inc + + z_dir - - + + - - max + + z_dirPrev - - + + - - rst + + z_counterRawPrev - - + + - - cnt + + n_motAbsPrev - - + + - - + + z_counter - - + + - - + + dz_trnsDet - - + + - - + + n_motRaw - - + + - - + + if { } + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - + + Raw_Motor_Speed_Estimation + + + + + + + + + + + + + - - + + - - + + action + + + + + + + + + + + + + - - + + - - + + int16 + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + z_maxCntRst + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + - - + + - - + + [z_counter] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + int16 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + - - - - - - - - - - - Counter - + - - - - - - - - - - - Ini=z_maxCntRst + + + - - - + + + - - + + - - int16 + + Ini=0 - + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + sfix16_En4 @@ -3989,11 +3941,11 @@ - + - + 1 @@ -4011,11 +3963,11 @@ - + - + z_ctrlTypSel @@ -4026,11 +3978,11 @@ - + - + uint8 @@ -4042,56 +3994,89 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + - + + + + - + - - + + - + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -4100,36 +4085,51 @@ + + + + + + + + + + + boolean + + + + - - - + + + - - + + - + - - + + - - + + @@ -4139,23 +4139,23 @@ - + - + - + boolean - - + + @@ -4958,5 +4958,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg index 4b3fb22..cefae8e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg @@ -15,7 +15,7 @@ - + @@ -486,32 +486,32 @@ - - - + + + - + - - int16 + + Ini=initVal - - - + + + - + - - Ini=initVal + + int16 @@ -592,5 +592,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json index d369662..1ea7d2b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json @@ -109,60 +109,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2414", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2415", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "OutMax", + "OutMin", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "3", - "Port number", + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", + "Floor", "-1", - "auto", "off", - "", - "on", - "off", - "off", - "off" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -171,110 +157,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2416", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2414", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"rst", + "label":"rst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "round", - "|++", - "on", - "Inherit: Same as first input", + "3", + "Port number", "[]", "[]", - "Inherit: Same as first input", - "off", - "Simplest", + "Inherit: auto", "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2415", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "inspector":{ - "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" - ], - "values":[ - "Inherit: Inherit via internal rule", - "min", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "2", + "", + "on", "off", - "[]", - "[]", - "Floor", - "-1", "off", - "on" + "off" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 11 ] }, "viewer":{ @@ -283,7 +224,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Inport", "masktype":"" } }, @@ -421,6 +362,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2416", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|++", + "on", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg index dc4c418..82cf109 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg @@ -196,130 +196,59 @@ - - - + + + - - + + - + - + - - 3 - - - - - - - - - - - - - - + + - - + + - - rst + + - - - - - - - - - - - boolean - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - + int16 @@ -331,60 +260,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 3 - - - - - + + + + - - - + + + + + + + + + + + rst - - + + - - + + - - int16 + + boolean @@ -405,11 +333,11 @@ - + - + 1 @@ -427,11 +355,11 @@ - + - + inc @@ -442,11 +370,11 @@ - + - + int16 @@ -468,11 +396,11 @@ - + - + 2 @@ -490,11 +418,11 @@ - + - + max @@ -505,11 +433,83 @@ - + - + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.json index dfc7a61..d35e69a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.json @@ -325,51 +325,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"g_Ha", - "label":"g_Ha", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", - "Element-wise(K.*u)", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "z_maxCntRst", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -379,47 +400,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"cf_speedCoef", - "label":"cf_speedCoef", + "name":"g_Ha", + "label":"g_Ha", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "cf_speedCoef", - "on", - "inf", + "4", + "Element-wise(K.*u)", "[]", "[]", - "fixdt(0,16,0)", + "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 2, + 8, + 11 ] }, "viewer":{ @@ -428,16 +459,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay5", + "label":"UnitDelay5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -483,11 +514,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -533,50 +564,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "InitialCondition", + "InputProcessing", "SampleTime", - "Threshold", - "ZeroCross" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "u2 ~= 0", - "on", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "off", - "off", - "-1", "0", - "on" + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 3, + 4 ] }, "viewer":{ @@ -585,7 +609,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -640,11 +664,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -756,11 +780,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -769,7 +793,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "cf_speedCoef", "local", "Tag" ], @@ -789,37 +813,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"dz_cntTrnsDet", - "label":"dz_cntTrnsDet", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "dz_trnsDet", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", + "Threshold", "ZeroCross" ], "values":[ - "dz_cntTrnsDetHi", - "dz_cntTrnsDetLo", - "1", - "0", - "Elements as channels (sample based)", + "u2 ~= 0", + "on", "[]", "[]", - "boolean", + "Inherit: Inherit via internal rule", + "off", + "Floor", + "off", "off", "-1", + "0", "on" ], "tabs":[ @@ -829,7 +888,7 @@ ], "tabs_idx":[ 0, - 5, + 1, 9 ] }, @@ -839,58 +898,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Sum7", - "label":"Sum7", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "rectangular", - "+-", - "on", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "z_counter", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -898,26 +931,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbsPrev", - "local", + "z_counter", "Tag" ], "tabs":[ @@ -931,26 +962,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", - "local", + "dz_trnsDet", "Tag" ], "tabs":[ @@ -964,79 +993,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "z_maxCntRst", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "n_motAbsPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1044,26 +1026,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_dir", - "local", + "n_motAbsPrev", "Tag" ], "tabs":[ @@ -1077,16 +1057,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1094,7 +1074,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_dir", "Tag" ], "tabs":[ @@ -1113,44 +1093,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "z_counterRawPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1158,16 +1121,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1175,7 +1138,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "cf_speedCoef", "Tag" ], "tabs":[ @@ -1194,39 +1157,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "z_dir", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1234,16 +1183,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1251,7 +1200,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_dirPrev", "Tag" ], "tabs":[ @@ -1270,11 +1219,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1282,7 +1231,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "z_counter", "Tag" ], "tabs":[ @@ -1301,11 +1250,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1314,7 +1263,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "z_dir", "local", "Tag" ], @@ -1334,11 +1283,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1346,7 +1295,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "cf_speedCoef", "Tag" ], "tabs":[ @@ -1365,17 +1314,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide14", - "label":"Divide14", + "name":"Sum7", + "label":"Sum7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -1387,12 +1337,13 @@ "SampleTime" ], "values":[ - "*/", - "Element-wise(.*)", - "off", + "rectangular", + "+-", + "on", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -1408,7 +1359,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -1417,7 +1368,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, @@ -1453,40 +1404,71 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Divide13", - "label":"Divide13", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_dirPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", + "className":"Simulink.Relay", + "icon":"WebViewIcon3", + "name":"dz_cntTrnsDet", + "label":"dz_cntTrnsDet", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "*/", - "Element-wise(.*)", - "off", + "dz_cntTrnsDetHi", + "dz_cntTrnsDetLo", + "1", + "0", + "Elements as channels (sample based)", "[]", "[]", - "fixdt(1,16,4)", - "off", - "Simplest", + "boolean", "off", - "1", - "All dimensions", - "-1" + "-1", + "on" ], "tabs":[ "Main", @@ -1495,7 +1477,7 @@ ], "tabs_idx":[ 0, - 2, + 5, 9 ] }, @@ -1505,16 +1487,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1567,25 +1549,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Constant4", + "label":"Constant4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "cf_speedCoef", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1593,56 +1593,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Divide11", - "label":"Divide11", + "name":"cf_speedCoef", + "label":"cf_speedCoef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "FramePeriod" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "cf_speedCoef", + "on", + "inf", "[]", "[]", - "Inherit: Same as first input", - "off", - "Simplest", + "fixdt(0,16,0)", "off", - "1", - "All dimensions", - "-1" + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8319", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1650,16 +1673,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1686,32 +1709,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", + "name":"Divide14", + "label":"Divide14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "0", - "on", - "inf", + "*/", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(1,16,4)", "off", - "inf" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -1720,8 +1751,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 9 ] }, "viewer":{ @@ -1730,7 +1761,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Product", "masktype":"" } }, @@ -1802,73 +1833,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"dz_trnsDet", - "label":"dz_trnsDet", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", + "~=", "off", - "inherit", - "-1", - "Inherit", + "boolean", + "Simplest", "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -1877,69 +1873,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8319", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_dir", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -2011,27 +1945,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Abs2", + "label":"Abs2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" + ], + "values":[ + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "-1", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Abs", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay1", + "label":"UnitDelay1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "dz_trnsDet", - "local", - "Tag" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2039,7 +2037,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -2111,43 +2109,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"UnitDelay5", - "label":"UnitDelay5", + "name":"Divide13", + "label":"Divide13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "*/", + "Element-wise(.*)", "off", - [ - ], - "Auto" + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 9 ] }, "viewer":{ @@ -2156,63 +2161,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motAbsPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Divide11", + "label":"Divide11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "cf_speedCoef", - "local", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2220,7 +2218,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, @@ -2292,71 +2290,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "cf_speedCoef", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Abs2", - "label":"Abs2", + "name":"dz_trnsDet", + "label":"dz_trnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "Inherit: auto", "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ @@ -2365,7 +2365,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Outport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.svg index 53653c6..bb419c1 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.svg @@ -268,44 +268,44 @@ - - - + + + - - + + - + - - 4 + + 1 - - + + - - - + + + - + - - uint16 + + z_counter @@ -316,58 +316,43 @@ - - - + + + - - + + - + - - cf_speedCoef + + 4 - - - - - - - - - - - - - - - - - cf_speedCoef + + - + - - + + - + uint16 @@ -379,45 +364,45 @@ - - + + - + - + - + - + - + - + - + - + - + @@ -432,38 +417,38 @@ - + - - - + + + - - + + - - Ini=0 + + int16 - - - + + + - - + + - - int16 + + Ini=0 @@ -474,45 +459,45 @@ - - + + - + - + - + - + - + - + - + - + - + @@ -527,38 +512,38 @@ - + - + - - + + - + Ini=0 - - + + - - + + - - boolean + + int16 @@ -569,253 +554,140 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + int16 + + + + + + + - - + + - - + + Ini=0 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - threshold=0 - Criteria : u2 ~= 0 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -836,32 +708,32 @@ - - - + + + - - + + - - Ini=0 + + int16 - - - + + + - - + + - - int16 + + Ini=0 @@ -872,187 +744,187 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - T + + - + + + + + + + + + + + + + T + + + + - + F - - + + - + - - + + - + threshold=0 Criteria : u2 ~= 0 @@ -1060,15 +932,15 @@ - + - - + + - + sfix16_En4 @@ -1090,67 +962,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1168,11 +1040,11 @@ - + - + int16 @@ -1184,28 +1056,28 @@ - - + + - + - - + + - - [z_counterRawPrev] + + [cf_speedCoef] - + @@ -1217,171 +1089,237 @@ - - - + + + - - + + - + - - + + - - + + [dz_trnsDet] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - dz_cntTrnsDet + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + + + + + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 - - + + - - + + - - int16 + + sfix16_En4 @@ -1392,28 +1330,28 @@ - - + + - + - + - - [n_motAbsPrev] + + [z_counter] - + @@ -1425,29 +1363,44 @@ - - - + + + - - + + - - + + - + [z_counter] - - + + + + + + + + + + + + + + + + + int16 @@ -1458,44 +1411,44 @@ - - - + + + - - + + - - + + - - 1 + + [dz_trnsDet] - - + + - - - + + + - - + + - - z_counter + + boolean @@ -1506,28 +1459,28 @@ - - + + - + - + - - [z_dir] + + [n_motAbsPrev] - + @@ -1539,44 +1492,44 @@ - - + + - + - + - - [z_counter] + + [n_motAbsPrev] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -1587,91 +1540,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_dir] - - - - - - - - - - + + - - - - - - - - - - int16 - - - - - - - + + - - + + - - Ini=0 + + int8 @@ -1682,44 +1588,29 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + [z_counterRawPrev] - - - - - - - - - - - - - - - - - boolean + + @@ -1730,60 +1621,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [cf_speedCoef] - - - - - - - - - - + + - - + + - - + + - - boolean + + uint16 @@ -1804,11 +1679,11 @@ - + - + [z_dir] @@ -1826,11 +1701,11 @@ - + - + int8 @@ -1852,11 +1727,11 @@ - + - + [z_dirPrev] @@ -1874,11 +1749,11 @@ - + - + int8 @@ -1890,77 +1765,125 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [z_counter] - - + + - - - - - - - - - - - - + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + - + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - [z_counter] + + [cf_speedCoef] - + - - + + - - + + - - int16 + + uint16 @@ -1971,69 +1894,60 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - - + + - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -2054,11 +1968,11 @@ - + - + [z_counterRawPrev] @@ -2076,11 +1990,11 @@ - + - + int16 @@ -2092,69 +2006,140 @@ - - - + + + - - + + - - + + - - + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + dz_cntTrnsDet - - + + - - + + - - sfix16_En4 + + boolean @@ -2165,204 +2150,252 @@ - - - + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + T - + - + F - + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 + + + + - + - - + + - + sfix16_En4 + + + + + + + + + + + + + + - - + + + + + + + 0 + + + + + + + + + + + + + + - - + + - - threshold=0 - Criteria : u2 ~= 0 + + sfix16_En4 @@ -2373,43 +2406,58 @@ - - - + + + - - + + - - + + - - [cf_speedCoef] + + cf_speedCoef - - + + + + + + + + + + + + + + + + + cf_speedCoef - + - - + + - + uint16 @@ -2421,52 +2469,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -2477,91 +2517,116 @@ - - + + - + - + - + [z_counter] - + - + - - + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - int16 + + - - - - - - - - - - - - - - - - - - - - + + - - 0 + + + - - + + - + - - + + - + sfix16_En4 @@ -2583,11 +2648,11 @@ - + - + 4 @@ -2605,11 +2670,11 @@ - + - + n_motAbsPrev @@ -2620,11 +2685,11 @@ - + - + sfix16_En4 @@ -2636,44 +2701,60 @@ - - - + + + - - + + - + - - + + - - 2 + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - dz_trnsDet + + boolean @@ -2684,44 +2765,59 @@ - - - + + + - - + + - - + + - - if { } + + 2 - - + + - - + + - - + + - - Action Port + + z_dirPrev + + + + + + + + + + + + + + + int8 @@ -2732,44 +2828,76 @@ - - - + + + - - + + - + - - + + - - [z_dir] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int8 + + int16 @@ -2780,92 +2908,91 @@ - - - + + + - - + + - + - - + + - - 2 - - - - - - - - - - - - - - + + - - + + - - z_dirPrev + + - - - - - - + + + + + + + - - + + - - int8 + + - - - - - - - - - + + - - + + + + + + + + + + + + + - - + + - - [dz_trnsDet] + + Ini=0 - - - + + + + + + + + + + + boolean @@ -2886,11 +3013,11 @@ - + - + 3 @@ -2908,11 +3035,11 @@ - + - + z_counterRawPrev @@ -2923,11 +3050,11 @@ - + - + int16 @@ -2939,91 +3066,69 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - - + + - - int16 + + sfix16_En4 @@ -3034,43 +3139,51 @@ - - - + + + - - + + - - + + - - [n_motAbsPrev] + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -3080,39 +3193,6 @@ - - - - - - - - - - - - - - - - - - [cf_speedCoef] - - - - - - - - - - - - - - - @@ -3125,11 +3205,11 @@ - + - + 1 @@ -3147,11 +3227,11 @@ - + - + z_dir @@ -3162,11 +3242,11 @@ - + - + int8 @@ -3178,124 +3258,44 @@ - - - + + + - - + + - - - - - - [cf_speedCoef] - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 2 - - - - - - - - - - + + - - - + + + - + - - int16 + + dz_trnsDet @@ -3308,7 +3308,7 @@ - + @@ -3773,10 +3773,10 @@ - + - + @@ -4020,5 +4020,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.json index 7c36919..fb757df 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.json @@ -97,6 +97,55 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9635", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Electrical angle calculation:

a_elecAngle = a_elecAngle_C * (z_posLowRes + z_dir * (z_counterRaw / z_counter))

where a_elecAngle_C = 60

", + "label":"

Electrical angle calculation:

a_elecAngle = a_elecAngle_C * (z_posLowRes + z_dir * (z_counterRaw / z_counter))

where a_elecAngle_C = 60

", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "Text", + "DropShadow", + "Interpreter", + "FontName", + "FontWeight", + "FontSize", + "FontAngle", + "ForegroundColor", + "BackgroundColor", + "HorizontalAlignment", + "UseDisplayTextAsClickCallback", + "ClickFcn" + ], + "values":[ + "\n\n

Electrical angle calculation:

\n

a_elecAngle = a_elecAngle_C * (z_posLowRes + z_dir * (z_counterRaw / z_counter))

\n

where a_elecAngle_C = 60

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8385", "className":"Simulink.Inport", @@ -901,86 +950,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", "className":"Simulink.Switch", @@ -1038,6 +1007,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417", "className":"Simulink.Sum", @@ -1098,43 +1100,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"a_elecAngle1", - "label":"a_elecAngle1", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "a_elecAngle", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,6)", - "off", - "inf" + "z_posHighRes", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1142,26 +1128,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8405", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_posHighRes", - "local", + "z_dir", "Tag" ], "tabs":[ @@ -1175,26 +1159,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_posLowRes", - "local", + "z_counterRaw", "Tag" ], "tabs":[ @@ -1208,16 +1190,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8405", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1225,7 +1207,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_counter", "Tag" ], "tabs":[ @@ -1244,11 +1226,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1256,7 +1238,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "z_posLowRes", "Tag" ], "tabs":[ @@ -1275,11 +1257,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1287,7 +1269,7 @@ "IconDisplay" ], "values":[ - "z_posLowRes", + "b_enaFOC", "Tag" ], "tabs":[ @@ -1306,11 +1288,75 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_posHighRes", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_posLowRes", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1333,7 +1379,7 @@ "off", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,15)", "off", "Simplest", "off", @@ -1363,21 +1409,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_enaFOC", - "local", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1391,30 +1435,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8389", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"b_enaFOC", + "label":"b_enaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_enaFOC", - "Tag" + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1422,7 +1502,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, @@ -1484,73 +1564,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counter", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8389", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1566,14 +1584,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -1585,10 +1609,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1608,30 +1639,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"a_elecAngle1", + "label":"a_elecAngle1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "b_enaFOC", - "Tag" + "a_elecAngle", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,6)", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1639,16 +1688,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1671,7 +1720,7 @@ "off", "[]", "[]", - "fixdt(1,16,15)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -1701,11 +1750,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1713,7 +1762,7 @@ "IconDisplay" ], "values":[ - "z_posHighRes", + "b_enaFOC", "Tag" ], "tabs":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.png index 91614cb5686f2540d800ef67c16dbe1cc29bba31..4e3fd13f59ec7b6cda87365a5bc83fd54bd656bb 100644 GIT binary patch literal 7333 zcmds6XH!#Aw+2N(M2Zxt0hOlGk)|}I1}P$h-jPVJO7AL2N08p6h!{!?EkJ;vfOHU$ z8Ug|a1nHg7?)JSO@7zD|en>KNW^(p9Yd>o}Wk)~JQNK#XMnytGauuqf@)Z1b{rgao zgYOFC$~^FM*+av`n}md>{ojW)^)3xN2?>W0ROO+8U(Ood(Z%54bYtsaHE+x9m9Jej z`^E1p*RCZeFQzF$i;`;4(L`OM(Fnhz`$u6TqjW@bV{^rO0~p)w*r$klw1tc3ADprb zUF(0(E?%pmBO|qAi*SC0M#;~}@B6`5CkJwlt!4NjBArrFGlwlaWZv+B!??^rS?rFP zHUfd5yixMZa^)hOt!zpdrH#^so3BYPzojGR;eN!D^j~(Nwecr~DEm1&B#9$E9#Lq} z$H&0gcB9Hd>ibPkFLT42F`8D~k1Vrt8OvCin0RS8Tj5hNCqxrG!R%I zSM{)0W>xjWoIHwn9mlj+>OPewD~W<>(Mvgz^#l!h6nRgmwB-#Cu9kz4r(F`PVyFZlC>wm&pS`-2T15uMM#5xV02)tYVzF3%# z^GC#;e>c8<-A+8SMBZ&}k1u68Ehu4fJD`~)N7g%XXh_d8a7{8Va9uVgHWp<{h`>(3 zo1pG%YlKZgZ+$=f35+US(a7LQwHxPD<46KY3pwJ4HliqiKgmJ%MBH zcX!I~r6mSxa#@dGO2f`gmLkUo8@f|tV`FL$AClg_eVbV4I~$yymBl7(+0^ytj{r^7 zD+;b4k73l^m`BdecTZ1G{p282SFV^;!&mN1FD}9(zH-B0Fg0v~**Y3~D)euW>)69f z1y9~KHr}`NCotuO5FNGn7__yuU8ZUrp@~~Q;&w_-xT*Tig&Q345tDHp%fI(fV(VRl z{A}^t2iWsmu=@7)wrHkSh8ExO$Vhijk7fWDc2-xAxy`9IIWKRZtBVp;3yO4fbAyjp zT0n6Z!b#lF?6Do7eGprM8WO!6WM&9sY)f2Jad7 z8-kr-BsuqA#@KZxcy7(Bf`RbQ#k#z zg+L%c4<7&9vMs-yl@+H(42IvLU}|b=0%g}(v+=yv)PHwK-G8TFTGnTELYs3$b9i{T z(1^1C4FXYahEDkT(;yi4@o~C?i%W4~VZ_(34>=4e$If%<-DzPDe3R>zA)0lwc84tz zYVNH!A6RnJCnY4%0AT-FTeEj@iL0s-cXDzf@ms4MKSXnSwoIR! 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 UczU%BoI8?0RdrMvD~P5# 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 XLNzB*($C<57eq}-OR-emGUR^%TGsV$ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg index 272ac5a..3c36734 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg @@ -57,6 +57,41 @@
+ + + + + + + + + + + + + Electrical angle calculation: + + + + + + + + a_elecAngle = a_elecAngle_C * (z_posLowRes + z_dir * (z_counterRaw / z_counter)) + + + + + + + + where a_elecAngle_C = 60 + + + + + + @@ -69,11 +104,11 @@ - + - + 1 @@ -91,11 +126,11 @@ - + - + z_pos @@ -106,11 +141,11 @@ - + - + int8 @@ -132,11 +167,11 @@ - + - + 2 @@ -154,11 +189,11 @@ - + - + z_dir @@ -169,11 +204,11 @@ - + - + int8 @@ -195,11 +230,11 @@ - + - + [z_pos] @@ -228,11 +263,11 @@ - + - + [z_dir] @@ -253,7 +288,7 @@ - + @@ -261,19 +296,19 @@ - + - + - + - + @@ -310,11 +345,11 @@ - + - + [a_elecAngle] @@ -332,11 +367,11 @@ - + - + ufix16_En6 @@ -358,11 +393,11 @@ - + - + 3 @@ -380,11 +415,11 @@ - + - + z_counter @@ -395,11 +430,11 @@ - + - + int16 @@ -421,11 +456,11 @@ - + - + [z_counter] @@ -454,11 +489,11 @@ - + - + 4 @@ -476,11 +511,11 @@ - + - + z_counterRaw @@ -491,11 +526,11 @@ - + - + int16 @@ -517,11 +552,11 @@ - + - + [z_counterRaw] @@ -542,7 +577,7 @@ - + @@ -550,27 +585,27 @@ - + - + - + - + - + - + @@ -596,11 +631,11 @@ - + - + boolean @@ -622,11 +657,11 @@ - + - + 1 @@ -644,11 +679,11 @@ - + - + int8 @@ -662,7 +697,7 @@ - + @@ -670,155 +705,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -836,11 +871,11 @@ - + - + int8 @@ -862,11 +897,11 @@ - + - + [z_dir] @@ -884,11 +919,11 @@ - + - + int8 @@ -910,11 +945,11 @@ - + - + [z_pos] @@ -932,11 +967,11 @@ - + - + int8 @@ -958,11 +993,11 @@ - + - + [a_elecAngle] @@ -991,35 +1026,35 @@ - + - + - + - + - + - + - + - + @@ -1037,11 +1072,11 @@ - + - + int8 @@ -1063,11 +1098,11 @@ - + - + 1 @@ -1085,11 +1120,11 @@ - + - + int8 @@ -1099,59 +1134,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - - + @@ -1159,155 +1146,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -1325,11 +1312,11 @@ - + - + ufix16_En12 @@ -1339,6 +1326,39 @@ + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + @@ -1351,35 +1371,35 @@ - + - + - + - + - + - + - + - + @@ -1397,11 +1417,11 @@ - + - + ufix16_En12 @@ -1413,57 +1433,9 @@ - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - + + + @@ -1471,11 +1443,11 @@ - + - + [z_posHighRes] @@ -1492,39 +1464,6 @@ - - - - - - - - - - - - - - - - - - [z_posLowRes] - - - - - - - - - - - - - - - @@ -1537,11 +1476,11 @@ - + - + [z_dir] @@ -1559,11 +1498,11 @@ - + - + int8 @@ -1585,11 +1524,11 @@ - + - + [z_counterRaw] @@ -1607,11 +1546,11 @@ - + - + int16 @@ -1623,44 +1562,44 @@ - - + + - + - + - - [z_posLowRes] + + [z_counter] - + - - + + - - + + - - int8 + + int16 @@ -1671,52 +1610,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [z_posLowRes] - - + + - - + + - - + + - - ufix16_En6 + + int8 @@ -1727,29 +1658,44 @@ - - - + + + - - + + - - + + - + [b_enaFOC] - - + + + + + + + + + + + + + + + + + boolean @@ -1760,44 +1706,44 @@ - - + + - + - + - - [b_enaFOC] + + [z_posHighRes] - + - - + + - - + + - - boolean + + ufix16_En12 @@ -1808,69 +1754,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + [z_posLowRes] - - - - - - - - - - - - - - - - - ufix16_En16 + + @@ -1881,44 +1787,52 @@ - - - + + + - - + + - - + + - - [z_counter] + + + + + + + + + + - - + + - - + + - - + + - - int16 + + sfix16_En15 @@ -1939,11 +1853,11 @@ - + - + [a_elecAngle] @@ -1961,11 +1875,11 @@ - + - + ufix16_En6 @@ -1987,11 +1901,11 @@ - + - + 5 @@ -2009,11 +1923,11 @@ - + - + b_enaFOC @@ -2024,11 +1938,11 @@ - + - + boolean @@ -2040,44 +1954,69 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - boolean + + ufix16_En16 @@ -2088,52 +2027,92 @@ - - - + + + - - + + - - + + - - + + 1 + + + + + + + + + + + + + + - - + + - - + + a_elecAngle + + + + + + + + + + + + + + + + + + + + + + + + + + a_elecAngle - - + + - - + + - - + + - - sfix16_En15 + + ufix16_En6 @@ -2144,44 +2123,100 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ufix16_En6 + + + + + + + + + + + + - + - + - - [z_posHighRes] + + [b_enaFOC] - + - - + + - - + + - - ufix16_En12 + + boolean @@ -2630,5 +2665,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json index c0d710d..187c5ce 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json @@ -602,6 +602,163 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8525", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"t_errQual", + "label":"t_errQual", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "t_errQual", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"r_errInpTgtThres", + "label":"r_errInpTgtThres", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "r_errInpTgtThres", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"g_Hb", + "label":"g_Hb", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "2", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Simplest", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Gain", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", "className":"Simulink.Outport", @@ -683,32 +840,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8525", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"t_errQual", - "label":"t_errQual", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "t_errQual", - "on", - "inf", + "u2 ~= 0", + "off", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -717,8 +882,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 1, + 9 ] }, "viewer":{ @@ -727,7 +892,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Switch", "masktype":"" } }, @@ -781,32 +946,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"r_errInpTgtThres", - "label":"r_errInpTgtThres", + "name":"Sum", + "label":"Sum", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "r_errInpTgtThres", - "on", - "inf", + "rectangular", + "+++", + "off", + "Inherit: Same as first input", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: Same as first input", "off", - "inf" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -815,8 +990,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 10 ] }, "viewer":{ @@ -825,213 +1000,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Nonreusable function", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Either edge detection" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum", - "label":"Sum", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "IconShape", - "Inputs", + "Operator", "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "+++", - "off", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"g_Hb", - "label":"g_Hb", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", "OutDataTypeStr", - "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "2", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", + "~=", "off", + "boolean", "Simplest", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "-1", + "on" ], "tabs":[ "Main", - "Signal Attributes", - "Parameter Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 1, + 4 ] }, "viewer":{ @@ -1040,16 +1045,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator7", - "label":"Relational Operator7", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1061,7 +1066,7 @@ "ZeroCross" ], "values":[ - ">", + "==", "off", "boolean", "Simplest", @@ -1090,50 +1095,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9398", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8517", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "InitialCondition", + "InputProcessing", "SampleTime", - "Threshold", - "ZeroCross" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", "0", - "on" + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 3, + 4 ] }, "viewer":{ @@ -1142,44 +1140,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "z_errCodePrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1187,56 +1173,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" + "b_errFlag", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1244,7 +1206,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Goto", "masktype":"" } }, @@ -1282,38 +1244,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"g_Hb1", + "label":"g_Hb1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Gain", + "Multiplication", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", - "ZeroCross" + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "==", + "4", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", "off", - "boolean", "Simplest", - "-1", - "on" + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 8, + 11 ] }, "viewer":{ @@ -1322,16 +1298,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1358,11 +1334,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1370,7 +1346,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "z_errCodePrev", "Tag" ], "tabs":[ @@ -1388,56 +1364,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8517", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", "className":"Simulink.From", @@ -1470,21 +1396,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_errCodePrev", - "local", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1498,55 +1422,105 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", + "className":"Either edge detection", + "icon":"WebViewIcon4", + "name":"either_edge", + "label":"either_edge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "[]", - "[]", - "uint8", + "FromPortIcon", + "ReadWrite", + "", + "All", + "on", + "on", + "", + "", "off", - "Real World Value (RWV)", - "Floor", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Nonreusable function", + "-1", + "", "off", - "-1" + "" ], "tabs":[ - "Parameter Attributes", + "Main", "-Other" ], "tabs_idx":[ 0, - 7 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Either edge detection" } }, { @@ -1597,75 +1571,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_posRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Debounce_Filter", + "label":"Debounce_Filter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "b_errFlag", - "local", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "on", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Use subsystem name", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Reusable function", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"Data Type Conversion3", + "label":"Data Type Conversion3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1708,58 +1715,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_errCodeRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"CTRL_COMM4", + "label":"CTRL_COMM4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_errCodeRaw", - "local", - "Tag" + "1", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1767,30 +1759,36 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", + "className":"Simulink.SFunction", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Bitwise Operator1", + "label":"Bitwise Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "logicop", + "UseBitMask", + "NumInputPorts", + "BitMask", + "BitMaskRealWorld" ], "values":[ - "VqFinPrev", - "Tag" + "AND", + "on", + "1", + "bin2dec('100')", + "Stored Integer" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1798,24 +1796,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" + "blocktype":"S-Function", + "masktype":"Bitwise Operator" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", + "z_errCode", + "local", "Tag" ], "tabs":[ @@ -1829,58 +1829,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"g_Hb1", - "label":"g_Hb1", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "4", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Simplest", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "VqFinPrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1888,7 +1860,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"From", "masktype":"" } }, @@ -1940,21 +1912,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_errCode", - "local", + "z_posRaw", "Tag" ], "tabs":[ @@ -1968,63 +1938,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"Relational Operator7", + "label":"Relational Operator7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "b_motStdStill", - "local", - "Tag" + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2032,46 +1983,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"CTRL_COMM4", - "label":"CTRL_COMM4", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "1", - "on", - "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint8", "off", - "inf" + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, 7 ] }, @@ -2081,7 +2030,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -2153,43 +2102,87 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "7", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "z_errCodeRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_errFlag", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2197,16 +2190,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2318,11 +2311,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2336,7 +2329,7 @@ "FramePeriod" ], "values":[ - "0", + "7", "on", "inf", "[]", @@ -2367,127 +2360,118 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Debounce_Filter", - "label":"Debounce_Filter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", + "z_errCodeRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM", + "label":"CTRL_COMM", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Use subsystem name", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Reusable function", - "-1", - "", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - "" + "inf" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 3, + 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", - "className":"Simulink.SFunction", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8510", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Bitwise Operator1", - "label":"Bitwise Operator1", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "logicop", - "UseBitMask", - "NumInputPorts", - "BitMask", - "BitMaskRealWorld" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "AND", - "on", - "1", - "bin2dec('100')", - "Stored Integer" + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ + "Main", + "Data Type", + "-Other" ], "tabs_idx":[ + 0, + 1, + 4 ] }, "viewer":{ @@ -2496,24 +2480,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"S-Function", - "masktype":"Bitwise Operator" + "blocktype":"RelationalOperator", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "z_errCodeRaw", + "local", "Tag" ], "tabs":[ @@ -2527,24 +2513,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_errCodePrev", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -2558,43 +2546,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8510", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9398", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", + "Criteria", "InputSameDT", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", + "Threshold", "ZeroCross" ], "values":[ - "==", + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", "off", - "boolean", - "Simplest", "-1", + "0", "on" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 1, - 4 + 9 ] }, "viewer":{ @@ -2603,7 +2603,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png index 005767863ea501d3bd2a198f0347d2038a4fe156..5efe4d27e2624a4adbaa3b2b21f7757f1cf7b23b 100644 GIT binary patch literal 6574 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 literal 6575 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 - - - + + + - - + + - + - - 2 + + t_errQual - - + + - - - + + + - + - - b_errFlag + + uint16 @@ -469,44 +469,59 @@ - - - + + + - - + + - + - - t_errQual + + r_errInpTgtThres - - + + - - - + + + - + - - uint16 + + r_errInpTgtThres + + + + + + + + + + + + + + + int16 @@ -517,44 +532,44 @@ - - - + + + - - + + - - + + - - t_errDequal + + 2 - - + + - - + + - - + + - - uint16 + + uint8 @@ -565,59 +580,44 @@ - - - + + + - - + + - - + + - - r_errInpTgtThres + + 2 - - + + - - - - - - - - - - r_errInpTgtThres - - - - - - - + + - + - - int16 + + b_errFlag @@ -628,283 +628,187 @@ - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - + - + - - boolean + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - + + - - + + - - uint8 + + T - - - - - - - - - - - - - - - - - - - - + + - - 2 + + F - - + + - + - - + + - + uint8 @@ -916,60 +820,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + t_errDequal - - - - - - - - - - + + - - + + - - + + - - boolean + + uint16 @@ -980,180 +868,84 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - ~= 0 + + - - + + - - + + - - + + - - boolean + + uint8 @@ -1166,7 +958,7 @@ - + @@ -1174,19 +966,19 @@ - + - + - + - + @@ -1212,11 +1004,11 @@ - + - + boolean @@ -1228,188 +1020,229 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + uint8 - - - - - - - + + + + + + - - + + - - T + + Ini=0 + + + + + + + + + + + + + + + + + + - - + + - - F + + [z_errCodePrev] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [b_errFlag] + + + + + + + @@ -1430,11 +1263,11 @@ - + - + [VqFinPrev] @@ -1453,68 +1286,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + 4 - - - - - - - - - - - - + + + + - - + + - - + + - - boolean + + uint8 @@ -1525,43 +1334,43 @@ - - + + - + - + - + [b_errFlag] - + - + - - + + - + boolean @@ -1573,44 +1382,44 @@ - - + + - + - + - - [b_errFlag] + + [z_errCodePrev] - + - - + + - - + + - - boolean + + uint8 @@ -1621,90 +1430,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_errCodePrev] - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - + - - + + - + uint8 @@ -1716,44 +1478,44 @@ - - + + - + - + - - [z_errCodePrev] + + [b_motStdStill] - + - - + + - - + + - - uint8 + + boolean @@ -1764,29 +1526,148 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean @@ -1797,29 +1678,29 @@ - - + + - + - + - + - + - + @@ -1834,22 +1715,22 @@ - + - + - - + + - + uint8 @@ -1861,286 +1742,323 @@ - - - + + + - - + + - + - - + + - - + + u - - + + - - - - - - - - - - - - - - - - - + + tAcv - - - - - - + + + + + + + tDeacv - - + + - - uint8 + + y - - - - - - - - - - - - - - - - - - - - + + - - [z_posRaw] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - [b_errFlag] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - [z_errCodeRaw] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + - - + + + + + + + + + + + + Debounce_Filter + + - + - - + + - - [z_errCodeRaw] + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + boolean @@ -2151,44 +2069,60 @@ - - - + + + - - + + - + - - + + - - [VqFinPrev] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - int16 + + uint8 @@ -2199,43 +2133,43 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + 1 - - + + - + - - + + - + boolean @@ -2247,43 +2181,59 @@ - - - + + + - - + + - - + + - - 4 + + Bitwise + + + + + + + + AND + + + + + + + + 0x4 - - + + - + - - + + - + uint8 @@ -2295,75 +2245,76 @@ - - - + + + - - + + - + - - + + - - + + [z_errCode] - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - + + + + + + + + + + + + + + + + + + + [VqFinPrev] + - - + + - + - - + + - + int16 @@ -2375,29 +2326,76 @@ - - - + + + - - + + - + - - + + - - [z_errCode] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + int16 @@ -2408,44 +2406,44 @@ - - - + + + - - + + - - + + - - if { } + + [z_posRaw] - - + + - - - + + + - - + + - - Action Port + + uint8 @@ -2456,29 +2454,60 @@ - - - + + + - - + + - + - - + + - - [b_motStdStill] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + boolean @@ -2489,44 +2518,60 @@ - - - + + + - - + + - + + + + + + + + + - + - - 1 + + + + + + + + + + - - + + - - + + - - + + - - boolean + + uint8 @@ -2547,11 +2592,11 @@ - + - + 3 @@ -2569,11 +2614,11 @@ - + - + VqFinPrev @@ -2584,11 +2629,11 @@ - + - + int16 @@ -2600,43 +2645,43 @@ - - - + + + - - + + - - + + - - 7 + + [z_errCodeRaw] - - + + - + - - + + - + uint8 @@ -2648,44 +2693,44 @@ - - - + + + - - + + - - + + - - 0 + + if { } - - + + - - - + + + - - + + - - uint8 + + Action Port @@ -2696,58 +2741,43 @@ - - - + + + - - + + - - + + - - 2 + + [b_errFlag] - - - - - - - - - - - - - - - - - b_motStdStill + + - + - - + + - + boolean @@ -2769,11 +2799,11 @@ - + - + 0 @@ -2791,11 +2821,11 @@ - + - + uint8 @@ -2807,322 +2837,58 @@ - - - + + + - - + + - - - - - - - u - - - - - - - - tAcv - - - - - - - - tDeacv - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 2 - - + + - - - - - - - - - - Debounce_Filter + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + b_motStdStill - + - - + + - + boolean @@ -3134,59 +2900,43 @@ - - - + + + - - + + - - - - - - Bitwise - - - - - - - - AND - - - - + + - - 0x4 + + 7 - - + + - + - - + + - + uint8 @@ -3208,11 +2958,11 @@ - + - + [z_errCodeRaw] @@ -3230,11 +2980,11 @@ - + - + uint8 @@ -3246,43 +2996,43 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] + + 0 - - + + - + - - + + - + uint8 @@ -3304,27 +3054,27 @@ - + - + - + - + - + - + @@ -3350,11 +3100,261 @@ - + - + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCodeRaw] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ~= 0 + + + + + + + + + + + + + + + + + + + + + boolean @@ -4002,5 +4002,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json index 557cf0f..31ad6dd 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json @@ -49,42 +49,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2426", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"yPrev", - "label":"yPrev", + "name":"yDefault", + "label":"yDefault", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "inspector":{ "params":[ @@ -100,11 +69,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "1", @@ -119,10 +94,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -142,16 +124,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2426", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"yDefault", - "label":"yDefault", + "name":"yPrev", + "label":"yPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "inspector":{ "params":[ @@ -167,17 +149,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "1", @@ -192,17 +168,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -222,7 +191,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg index 84745a1..9b53a02 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg @@ -32,44 +32,44 @@ - - - + + + - - + + - + - - else { } + + 1 - - + + - - + + - + - - Action Port + + yDefault @@ -143,44 +143,44 @@ - - - + + + - - + + - + - - 1 + + else { } - - + + - - + + - + - - yDefault + + Action Port @@ -205,5 +205,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json index 2c7eb34..2c50827 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json @@ -1,37 +1,72 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2445", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2447", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"yDeacv", + "label":"yDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - ">", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -40,73 +75,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "yPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "tDeacv", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, @@ -168,73 +137,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2447", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2445", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"yDeacv", - "label":"yDeacv", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", + ">", "off", - "inherit", - "-1", - "Inherit", + "boolean", + "Simplest", "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -243,24 +177,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_cntRst", + "yPrev", + "local", "Tag" ], "tabs":[ @@ -274,48 +210,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "uint16", - "off", - "inf" + "b_cntRst", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -323,16 +241,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -340,7 +258,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "yDeacv", "Tag" ], "tabs":[ @@ -359,21 +277,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2437", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "yDeacv", - "local", + "tDeacv", "Tag" ], "tabs":[ @@ -387,16 +303,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -404,7 +320,7 @@ "IconDisplay" ], "values":[ - "yDeacv", + "yPrev", "Tag" ], "tabs":[ @@ -423,25 +339,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Constant6", + "label":"Constant6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "held", - "Only when execution is resumed" + "1", + "on", + "inf", + "[]", + "[]", + "uint16", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -449,7 +383,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Constant", "masktype":"" } }, @@ -570,61 +504,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2430", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_cntRst", - "label":"b_cntRst", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "tDeacv", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -632,7 +532,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, @@ -729,6 +629,106 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "yDeacv", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2430", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_cntRst", + "label":"b_cntRst", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2429", "className":"Simulink.Inport", @@ -797,20 +797,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2437", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "tDeacv", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -823,7 +823,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.png index 81719479bebf0da7733a6183c3dd12c24ead414f..73a9444469c47b4a63d675bf38428b023d571ccd 100644 GIT binary patch literal 6891 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 literal 6887 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 - - - + + + - - + + - + - - - - - - - - - + - - + + 1 - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [yPrev] + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - [tDeacv] - - - - - - - + + yDeacv @@ -153,155 +71,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -319,11 +237,11 @@ - + - + boolean @@ -335,44 +253,60 @@ - - - + + + - - + + - + - - + + - - 1 + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - yDeacv + + boolean @@ -383,44 +317,29 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + [yPrev] - - - - - - - - - - - - - - - - - boolean + + @@ -431,44 +350,44 @@ - - - + + + - - + + - - + + - - 1 + + [b_cntRst] - - + + - - + + - - + + - - uint16 + + boolean @@ -479,43 +398,43 @@ - - + + - + - + - - [yPrev] + + [yDeacv] - + - + - - + + - + boolean @@ -527,29 +446,44 @@ - - - + + + - - + + - - + + - - [yDeacv] + + [tDeacv] - - + + + + + + + + + + + + + + + + + uint16 @@ -560,43 +494,43 @@ - - + + - + - + - - [yDeacv] + + [yPrev] - + - + - - + + - + boolean @@ -608,44 +542,44 @@ - - - - - - + + + + + + - - + + - - elseif { } + + 1 - - + + - - - + + + - - + + - - Action Port + + uint16 @@ -666,11 +600,11 @@ - + - + 0 @@ -688,11 +622,11 @@ - + - + boolean @@ -714,11 +648,11 @@ - + - + 3 @@ -736,11 +670,11 @@ - + - + yPrev @@ -751,11 +685,11 @@ - + - + boolean @@ -767,59 +701,29 @@ - - - + + + - - + + - - + + - - 2 + + [tDeacv] - - - - - - - - - - - - - - - - - b_cntRst - - - - - - - - - - - - - - - boolean + + @@ -840,11 +744,11 @@ - + - + [b_cntRst] @@ -873,155 +777,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1039,11 +943,11 @@ - + - + Counter @@ -1054,11 +958,11 @@ - + - + uint16 @@ -1066,29 +970,29 @@ - + - + - + - + - + - + @@ -1112,11 +1016,11 @@ - + - + [tDeacv] @@ -1134,11 +1038,11 @@ - + - + uint16 @@ -1148,6 +1052,102 @@ + + + + + + + + + + + + + + + + + + [yDeacv] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + b_cntRst + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -1213,44 +1213,44 @@ - - - + + + - - + + - + - - [tDeacv] + + elseif { } - - + + - - - + + + - + - - uint16 + + Action Port @@ -1443,5 +1443,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg index 6c470fd..88cbd69 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg @@ -15,7 +15,7 @@ - + @@ -486,32 +486,32 @@ - - - + + + - + - - Ini=initVal + + uint16 - - - + + + - + - - uint16 + + Ini=initVal @@ -592,5 +592,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json index fdbc69a..5f1cf9e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json @@ -1,4 +1,84 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2418", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"cnt", + "label":"cnt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2416", "className":"Simulink.Sum", @@ -126,64 +206,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2415", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "inspector":{ - "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" - ], - "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" - ], - "tabs":[ - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"MinMax", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2418", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"cnt", - "label":"cnt", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "inspector":{ "params":[ @@ -199,20 +226,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -224,17 +245,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -254,16 +268,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2412", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "inspector":{ "params":[ @@ -286,7 +300,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -326,60 +340,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2412", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2415", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "OutMax", + "OutMin", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "1", - "Port number", + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", + "Floor", "-1", - "auto", "off", - "", - "on", - "off", - "off", - "off" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -388,7 +388,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"MinMax", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg index 7cb2e35..84ebc0f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg @@ -10,6 +10,54 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + cnt + + + + + + + @@ -23,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -69,11 +117,11 @@ - + - + uint16 @@ -95,11 +143,11 @@ - + - + 3 @@ -117,11 +165,11 @@ - + - + rst @@ -132,11 +180,11 @@ - + - + boolean @@ -148,108 +196,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 2 - - - - - - - - - - + + - - - - - - - - - - - uint16 + + + - - - - - - - - - - - - - - - - - - - - + + - - 1 - - - - - - - + + max - - - + + + - - + + - - cnt + + uint16 @@ -260,58 +259,58 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - max + + inc - + - - + + - + uint16 @@ -323,58 +322,59 @@ - - - + + + - - + + - + - - + + - - 1 + + + + + + + + + + - - - - + - - - - - - - - - - - inc + + + + + + + - - + + - + - + uint16 @@ -388,7 +388,7 @@ - + @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json index 70e5d95..10d6485 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json @@ -1,115 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2490", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - ">", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2489", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_cntRst", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "yAcv", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2492", "className":"Simulink.Outport", @@ -191,25 +80,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2484", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "tAcv", - "Tag" + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -217,16 +132,61 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2490", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2489", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -235,7 +195,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "b_cntRst", "local", "Tag" ], @@ -255,21 +215,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2488", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "yPrev", - "local", + "yAcv", "Tag" ], "tabs":[ @@ -283,7 +241,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -350,11 +308,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2484", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -362,7 +320,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "tAcv", "Tag" ], "tabs":[ @@ -411,6 +369,35 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "z_cntInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2479", "className":"Simulink.Constant", @@ -461,51 +448,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" + "held", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -513,36 +474,89 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "z_cntInit" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0" + "yAcv", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant1", + "label":"Constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "1", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Constant", "masktype":"" } }, @@ -613,6 +627,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2488", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "yPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2475", "className":"Simulink.Inport", @@ -681,20 +728,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "tAcv", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -707,56 +756,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png index ec5ec7e054bf4017cf0060e0d02c207d1e810f2b..57009d5109eb44a68b6e0bcef84964bf6e39402d 100644 GIT binary patch literal 6792 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 literal 6794 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 CwanT8 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.svg index da416b7..5976b6b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.svg @@ -13,60 +13,44 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + 1 - - - - - - - - - - + + - - - + + + - - + + - - boolean + + yAcv @@ -77,272 +61,188 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [yAcv] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - yAcv + + - - - - - - - - - - - - - - - - - - - - + + - - [tAcv] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - uint16 + + - - - - - - - - - - - - - - - - - - - - + + - - [tAcv] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [yPrev] + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + T - - - - - - - - - - - - - - - - - - - - + + - - [tAcv] + + F - - + + - - + + - - + + - - uint16 + + boolean @@ -353,43 +253,59 @@ - - - + + + - - + + - + - - + + - - [yPrev] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + boolean @@ -401,44 +317,29 @@ - - - + + + - - + + - - + + - - [yAcv] + + [b_cntRst] - - - - - - - - - - - - - - - - - boolean + + @@ -449,43 +350,43 @@ - - + + - + - + - - [b_cntRst] + + [yAcv] - + - + - - + + - + boolean @@ -497,43 +398,43 @@ - - - + + + - - + + - - + + - - 1 + + [tAcv] - - + + - + - - + + - + uint16 @@ -545,187 +446,139 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [yPrev] + + + + + + + + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + [tAcv] + + + + + + + + + + + + + + - - + + - - T + + uint16 + + + + + + + + + + + + + + + + + + - - + + - - F + + [b_cntRst] - - + + - + - - + + - + boolean @@ -747,225 +600,402 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Counter + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + - - + + - - + + uint16 + + + + + + + + + + + + + + + + + + - - + + - - + + if { } - - + + - - + + - - + + - - Counter + + Action Port - - - - + + + + + + + + + + + + + + + - - + + - - uint16 + + [yAcv] - + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + 1 - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + boolean @@ -986,11 +1016,11 @@ - + - + 3 @@ -1008,11 +1038,11 @@ - + - + b_errPrev @@ -1023,11 +1053,11 @@ - + - + boolean @@ -1037,6 +1067,39 @@ + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + + + + + + + + + + @@ -1049,11 +1112,11 @@ - + - + 2 @@ -1071,11 +1134,11 @@ - + - + b_cntRst @@ -1086,11 +1149,11 @@ - + - + boolean @@ -1102,92 +1165,29 @@ - - - - - - - - - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - + + + - - + + - - + + - - 1 + + [tAcv] - - - - - - - - - - - - - - - - - boolean + + @@ -1443,5 +1443,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg index d4dcb2d..8a4f03e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg @@ -15,7 +15,7 @@ - + @@ -592,5 +592,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json index 00945c3..21de95a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json @@ -1,41 +1,62 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2416", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2418", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"cnt", + "label":"cnt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "round", - "|++", - "on", - "Inherit: Same as first input", + "1", + "Port number", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -45,7 +66,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -54,121 +75,76 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2415", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"rst_Delay", + "label":"rst_Delay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "initVal" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "z_cntInit" ], "tabs":[ - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 1 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2418", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2416", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"cnt", - "label":"cnt", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ - "Port", - "IconDisplay", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "1", - "Port number", + "round", + "|++", + "on", + "Inherit: Same as first input", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", + "Inherit: Same as first input", "off", - "held", + "Simplest", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -178,7 +154,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -187,7 +163,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Sum", "masktype":"" } }, @@ -259,11 +235,64 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2413", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2415", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax", + "label":"MinMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"MinMax", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2412", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ @@ -286,7 +315,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -326,40 +355,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"rst_Delay", - "label":"rst_Delay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "z_cntInit" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2412", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2413", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ @@ -382,7 +382,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.svg index 0a84ec2..94c32ef 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.svg @@ -13,68 +13,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - - + + + - - + + - - uint16 + + cnt @@ -85,108 +61,203 @@ - - - + + + - - + + - + + + + + + + + u + + + + + + + + rst + + + + + + + + y + - + - - + + 1 - - + + - - + + z + + + + + + + + - + + + + - - - - - - + + + + + + + + + + Ini=z_cntInit - + - - + + - + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - + + - - 1 + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - cnt + + uint16 @@ -207,11 +278,11 @@ - + - + 3 @@ -229,11 +300,11 @@ - + - + rst @@ -244,11 +315,11 @@ - + - + boolean @@ -260,58 +331,59 @@ - - - + + + - - + + - + - - + + - - 2 + + + + + + + + + + - - - - + - - - - - - - - - - - max + + + + + + + - - + + - - + + - + uint16 @@ -323,146 +395,74 @@ - - - + + + - - + + - - - - - - u - - - - - - - - rst - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - + + - - + + 1 - - + + - - - + + + - - + + - - Ini=z_cntInit + + inc - - + + - - + + - + uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + @@ -472,44 +472,44 @@ - - 1 + + 2 - + - - + + - + - - inc + + max - + - + - + uint16 @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg index ca80d06..870cb30 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg @@ -120,32 +120,32 @@ - - - + + + - + - - boolean + + Ini=0 - - - + + + - + - - Ini=0 + + boolean @@ -158,7 +158,7 @@ - + @@ -345,5 +345,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json index 725b60e..26ecb5c 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json @@ -1,90 +1,107 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2496", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", + "className":"Either edge detection", + "icon":"WebViewIcon4", + "name":"either_edge", + "label":"either_edge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "ReadWrite", + "", + "All", + "on", + "on", + "", + "", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "", + "void_void", "off", "off", - "[]", "off", - "held", + "", + "off", + "", + "off", "off", - "0", "", - [ - ], - "Dialog", "Auto", - "off" + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Nonreusable function", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Either edge detection" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Qualification", + "label":"Qualification", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -127,7 +144,7 @@ "ReadWrite", "", "All", - "on", + "off", "on", "", "", @@ -151,7 +168,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Nonreusable function", + "Auto", "-1", "", "off", @@ -173,31 +190,37 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Either edge detection" + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2465", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" ], "values":[ - "tAcv", - "local", - "Tag" + "3", + "[]", + "off", + "[]" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -205,16 +228,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -223,7 +246,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "tDeacv", "local", "Tag" ], @@ -275,6 +298,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2496", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2461", "className":"Simulink.Goto", @@ -402,108 +505,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Qualification", - "label":"Qualification", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -511,7 +517,7 @@ "IconDisplay" ], "values":[ - "u", + "y", "Tag" ], "tabs":[ @@ -530,11 +536,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -561,11 +567,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -573,7 +579,7 @@ "IconDisplay" ], "values":[ - "tDeacv", + "u", "Tag" ], "tabs":[ @@ -592,91 +598,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "y", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" - ], - "values":[ - "3", - "[]", - "off", - "[]" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "tDeacv", - "local", "Tag" ], "tabs":[ @@ -690,26 +624,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "y", - "local", + "b_cntRst", "Tag" ], "tabs":[ @@ -723,49 +655,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "yPrev", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -773,16 +686,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -790,7 +703,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "tAcv", "Tag" ], "tabs":[ @@ -809,19 +722,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "tAcv", + "yPrev", + "local", "Tag" ], "tabs":[ @@ -835,24 +750,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2448", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "yPrev", + "y", + "local", "Tag" ], "tabs":[ @@ -866,16 +783,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1096,11 +1013,104 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "2", + "u1 ~= 0", + "u2 ~=0", + "on", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2448", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1108,7 +1118,7 @@ "IconDisplay" ], "values":[ - "u", + "yPrev", "Tag" ], "tabs":[ @@ -1261,11 +1271,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1273,7 +1283,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "u", "Tag" ], "tabs":[ @@ -1292,37 +1302,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2465", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "u1 ~= 0", - "u2 ~=0", - "on", - "-1", - "on" + "tAcv", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1330,7 +1330,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Goto", "masktype":"" } }, @@ -1402,11 +1402,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2468", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1418,7 +1418,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", @@ -1447,11 +1447,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2468", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1463,7 +1463,7 @@ "SampleTime" ], "values":[ - "AND", + "NOT", "2", "rectangular", "off", @@ -1537,11 +1537,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png index 8970a9447e2bd61554c2eb556346ca8d3c167175..8b0fea8e8741c9fc05583f05d849a982d9c9c19d 100644 GIT binary patch literal 6783 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg index 59cc1ae..458ef8f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg @@ -10,60 +10,12 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - + @@ -71,83 +23,83 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -165,11 +117,11 @@ - + - + boolean @@ -177,29 +129,29 @@ - + - + - + - + - + - + @@ -213,95 +165,136 @@ - - - + + + - - + + + + + + + + + + + + + + + tAcv + + + + + + + + b_cntRst + + + + + + + + b_errPrev + - + - - [tAcv] + + yAcv + + + + + + + + if { } - - + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + - + - - [yPrev] + + Qualification - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [u] + + action - - - + + + + + + + + + + + + + + + + + boolean @@ -312,76 +305,65 @@ - - - + + + + + + + + + - - + + - + - + - - [b_cntRst] + + - - - - - - + + + + + + + - - - - - - - - - - - - + + - - - - - - - [yPrev] - - - + + - + - - + + - + boolean @@ -393,44 +375,29 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + [tDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -441,44 +408,29 @@ - - - + + + - - + + - - + + - - [yPrev] + + [u] - - - - - - - - - - - - - - - - - boolean + + @@ -489,136 +441,77 @@ - - - + + + - - - - - - - - + + - - - - - - tAcv - - - - - - - - b_cntRst - - - - - - - - b_errPrev - - - - - - - - yAcv - - - - + + - - if { } + + 1 - - - - - - - - + + - - - - - - - - + + - - + + - - Qualification + + y - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [b_cntRst] - - - - - - - - - - - - - - - - - action + + + @@ -629,49 +522,43 @@ - - - - - - - - + + - + - + - - [u] + + [yPrev] - + - + - - + + - + boolean @@ -683,43 +570,43 @@ - - + + - + - + - - [yPrev] + + [b_cntRst] - + - + - - + + - + boolean @@ -731,44 +618,44 @@ - - + + - + - + - - [tDeacv] + + [yPrev] - + - - + + - - + + - - uint16 + + boolean @@ -789,11 +676,11 @@ - + - + [y] @@ -811,11 +698,11 @@ - + - + boolean @@ -827,59 +714,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [yPrev] - - - - - - - - - - + + - + - - + + - + boolean @@ -891,29 +762,44 @@ - - - + + + - - + + - - + + - - [tDeacv] + + [u] - - + + + + + + + + + + + + + + + + + boolean @@ -924,29 +810,44 @@ - - - + + + - - + + - - + + - - [y] + + [tDeacv] - - + + + + + + + + + + + + + + + + + uint16 @@ -957,90 +858,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [b_cntRst] - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - + - - + + - + boolean @@ -1052,43 +906,43 @@ - - + + - + - + - - [b_cntRst] + + [yPrev] - + - + - - + + - + boolean @@ -1110,11 +964,11 @@ - + - + [tAcv] @@ -1132,11 +986,11 @@ - + - + uint16 @@ -1148,44 +1002,62 @@ - - - + + + - - + + - - + + - + [yPrev] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [y] + + + + + + + @@ -1196,43 +1068,43 @@ - - + + - + - + - + [u] - + - + - - + + - + boolean @@ -1260,43 +1132,43 @@ - + - + tDeacv - + - + b_cntRst - + - + yPrev - + - + yDeacv - + - + elseif { } @@ -1326,11 +1198,11 @@ - + - + Dequalification @@ -1347,11 +1219,11 @@ - + - + boolean @@ -1368,11 +1240,11 @@ - + - + action @@ -1406,157 +1278,362 @@ - + - + yPrev - + - + yDefault - + - + else { } - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + u2 + + + + + + + + if(u1 ~= 0) + + + + + + + + elseif(u2 ~=0) + + + + + + + + else + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + - - + + - - Default + + Ini=0 - - - - - - - + - - + + - + boolean - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - + + - + - + - - [u] + + [yPrev] - + - + - - + + - + boolean @@ -1578,11 +1655,11 @@ - + - + 3 @@ -1600,11 +1677,11 @@ - + - + tDeacv @@ -1615,11 +1692,11 @@ - + - + uint16 @@ -1641,11 +1718,11 @@ - + - + 2 @@ -1663,11 +1740,11 @@ - + - + tAcv @@ -1678,11 +1755,11 @@ - + - + uint16 @@ -1694,43 +1771,43 @@ - - + + - + - + - - [yPrev] + + [u] - + - + - - + + - + boolean @@ -1742,106 +1819,29 @@ - - - + + + - - + + - - - - - - u1 - - - - - - - - u2 - - - - - - - - if(u1 ~= 0) - - - - - - - - elseif(u2 ~=0) - - - - + + - - else + + [tAcv] - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action + + @@ -1915,30 +1915,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -1948,23 +1948,23 @@ - + - + - + boolean - - + + @@ -1979,30 +1979,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2012,23 +2012,23 @@ - + - + - + boolean - - + + @@ -2107,11 +2107,11 @@ - - + + - + @@ -2121,7 +2121,7 @@ - + @@ -2129,7 +2129,7 @@ - + @@ -2140,22 +2140,22 @@ - + - + - + boolean - + @@ -2597,5 +2597,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8519_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8519_d.svg index 082ceed..4cdfe8b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8519_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8519_d.svg @@ -120,32 +120,32 @@ - - - + + + - + - - Ini=0 + + boolean - - - + + + - + - - boolean + + Ini=0 @@ -158,7 +158,7 @@ - + @@ -345,5 +345,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json index de77fdf..9c92cba 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json @@ -111,73 +111,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9391", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8654", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "InitialCondition", + "InputProcessing", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", "0", + "Elements as channels (sample based)", + "-1", "", + "", + "off", [ ], - "Dialog", - "Auto", - "off" + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 3, + 4 ] }, "viewer":{ @@ -186,16 +156,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8651", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -204,7 +174,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "b_toTrqMod", "local", "Tag" ], @@ -224,11 +194,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -237,7 +207,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_toOpen", "local", "Tag" ], @@ -257,21 +227,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9390", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -285,26 +253,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "b_toTrqMod", "Tag" ], "tabs":[ @@ -318,26 +284,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toActive", - "local", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -351,26 +315,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -384,16 +346,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9390", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -401,7 +363,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -420,11 +382,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9423", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -433,7 +395,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "b_motStdStill", "local", "Tag" ], @@ -453,19 +415,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "z_ctrlModPrev", + "local", "Tag" ], "tabs":[ @@ -479,24 +443,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toOpen", + "b_toSpdMod", + "local", "Tag" ], "tabs":[ @@ -510,16 +476,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -527,7 +493,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_motStdStill", "Tag" ], "tabs":[ @@ -546,19 +512,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", + "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -572,121 +540,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon6", - "name":"F02_02_Control_Mode_Manager", - "label":"F02_02_Control_Mode_Manager", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "Stateflow.Translate.translate", - "ExplicitOnly", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motStdStill", + "b_errFlag", "Tag" ], "tabs":[ @@ -705,19 +576,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", + "b_errFlag", + "local", "Tag" ], "tabs":[ @@ -731,24 +604,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", + "z_ctrlMod", + "local", "Tag" ], "tabs":[ @@ -762,66 +637,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8654", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Elements as channels (sample based)", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F02_01_Mode_Transition_Calculation", - "label":"F02_01_Mode_Transition_Calculation", + "icon":"WebViewIcon6", + "name":"F02_02_Control_Mode_Manager", + "label":"F02_02_Control_Mode_Manager", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -862,9 +687,9 @@ "values":[ "FromPortIcon", "ReadWrite", - "", - "All", - "off", + "Stateflow.Translate.translate", + "ExplicitOnly", + "on", "on", "", "", @@ -873,7 +698,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -914,61 +739,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "b_toActive", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -976,16 +765,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9423", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8651", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -994,7 +783,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_motEna", "local", "Tag" ], @@ -1014,21 +803,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", - "local", + "b_motEna", "Tag" ], "tabs":[ @@ -1042,16 +829,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1059,7 +846,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toOpen", "Tag" ], "tabs":[ @@ -1078,11 +865,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8537", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1105,7 +892,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -1145,11 +932,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1158,7 +945,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_toActive", "local", "Tag" ], @@ -1177,6 +964,153 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8537", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_motEna", + "label":"b_motEna", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9391", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422", "className":"Simulink.Inport", @@ -1245,33 +1179,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F02_01_Mode_Transition_Calculation", + "label":"F02_01_Mode_Transition_Calculation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "b_errFlag", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.png index 5bcb2b0f804e3a3ffa1aa47cca01560cbf5927f5..8cc09998e324b4081aac91196c8b5e8879ada279 100644 GIT binary patch delta 6976 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 Yshk-cg2pPI6ff8Ne~fG5jj{_TC?T^t8&;pBmK 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 BuNeRU diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg index be2bd1a..4c3c44d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg @@ -109,176 +109,76 @@ - - - + + + - - + + - + - + - - 2 - - - - - - - - - - - - - - + + - - + + - - z_ctrlModPrev + + - - - - - - - - - - - - - - - - - - - - + + - - [b_motEna] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [b_errFlag] + + - - - - + - - - - - - - - - - - - - - - - - - - - - [b_toSpdMod] - - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [z_ctrlModReq] - - - - - - - + + uint8 @@ -289,28 +189,28 @@ - - + + - + - + - - [b_toActive] + + [b_toTrqMod] - + @@ -322,28 +222,28 @@ - - + + - + - + - - [z_ctrlMod] + + [b_toOpen] - + @@ -365,11 +265,11 @@ - + - + [z_ctrlModPrev] @@ -387,11 +287,11 @@ - + - + uint8 @@ -403,29 +303,44 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + [b_toTrqMod] - - + + + + + + + + + + + + + + + + + boolean @@ -436,43 +351,43 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_ctrlModReq] - + - + - - + + - + uint8 @@ -484,44 +399,44 @@ - - + + - + - + - - [b_toOpen] + + [z_ctrlModPrev] - + - - + + - - + + - - boolean + + uint8 @@ -532,43 +447,43 @@ - - + + - + - + - - [b_toActive] + + [b_toSpdMod] - + - + - - + + - + boolean @@ -580,44 +495,29 @@ - - - + + + - - + + - - + + - - [b_motEna] + + [b_motStdStill] - - - - - - - - - - - - - - - - - boolean + + @@ -628,128 +528,62 @@ - - - + + + - - - - - - - - + + - - - - - - b_toOpen - - - - - - - - b_toActive - - - - - - - - b_toSpdMod - - - - - - - - b_toTrqMod - - - - + + - - z_ctrlMod + + [z_ctrlModPrev] - - - - - - - - - - - - - - - - - F02_02_Control_Mode_Manager + + + - - - - - - - - - - - + + + + + + + + + + + + - + - - - - + + + - - + + [b_toSpdMod] - - - - - - - - - - - - - - - - - uint8 + + + @@ -761,12 +595,6 @@ - - - - - - @@ -776,11 +604,11 @@ - + - + [b_motStdStill] @@ -798,11 +626,11 @@ - + - + boolean @@ -814,44 +642,29 @@ - - - + + + - - + + - - + + - - [b_toTrqMod] + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - boolean + + @@ -862,43 +675,43 @@ - - + + - + - + - - [b_toSpdMod] + + [b_errFlag] - + - + - - + + - + boolean @@ -910,76 +723,62 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + [b_errFlag] - - - - - - - - - - + + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [z_ctrlMod] + + + + + + + @@ -990,209 +789,181 @@ - - - + + + - - - + + + - - + + - - - - - - b_motEna - - - - - - - - b_motStdStill - - - - + + - - b_errFlag + + b_toOpen - - + + - - z_ctrlModReq + + b_toActive - - + + - - z_ctrlModPrev + + b_toSpdMod - - + + - - b_toOpen + + b_toTrqMod - - + + - - b_toActive + + z_ctrlMod + + + + - - - + + + + - - b_toSpdMod + + - - + + - - b_toTrqMod + + F02_02_Control_Mode_Manager - + - - - + + + - - + + - + - - - + + + - - - - - - - - - - F02_01_Mode_Transition_Calculation + + - - - + + + - - + + - - + + - - boolean + + uint8 - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - boolean + + [b_toActive] - - - - - - - - - - - - - - - - - boolean + + + - - - - - - - + - - + + - + boolean @@ -1204,65 +975,77 @@ - - - - - - - - - + + + - - + + - - + + - - 4 + + [b_motEna] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - z_ctrlModReq + + [b_motEna] + + + + + + + - - + + - - + + - - uint8 + + boolean @@ -1273,29 +1056,44 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + [b_toOpen] - - + + + + + + + + + + + + + + + + + boolean @@ -1306,29 +1104,59 @@ - - - + + + - - + + - - + + - - [b_toTrqMod] + + 4 - - + + + + + + + + + + + + + + + + + z_ctrlModReq + + + + + + + + + + + + + + + uint8 @@ -1339,44 +1167,29 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [b_toActive] - - - - - - - - - - - - - - - - - uint8 + + @@ -1397,11 +1210,11 @@ - + - + 3 @@ -1419,11 +1232,11 @@ - + - + b_motEna @@ -1434,11 +1247,11 @@ - + - + boolean @@ -1450,29 +1263,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + 2 - - + + + + + + + + + + + + + + + + + z_ctrlModPrev @@ -1493,11 +1321,11 @@ - + - + 2 @@ -1515,11 +1343,11 @@ - + - + b_motStdStill @@ -1530,11 +1358,11 @@ - + - + boolean @@ -1546,43 +1374,209 @@ - - - + + + - - + + + + + + + + - - + + - - [b_errFlag] + + b_motEna + + + + + + + + b_motStdStill + + + + + + + + b_errFlag + + + + + + + + z_ctrlModReq + + + + + + + + z_ctrlModPrev + + + + + + + + b_toOpen + + + + + + + + b_toActive + + + + + + + + b_toSpdMod + + + + + + + + b_toTrqMod - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F02_01_Mode_Transition_Calculation - + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + - + - + boolean @@ -1595,6 +1589,12 @@ + + + + + + @@ -1971,5 +1971,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json index bcd6227..57d25b4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json @@ -258,32 +258,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"constant8", - "label":"constant8", + "name":"b_toActive", + "label":"b_toActive", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "OPEN_MODE", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -292,8 +323,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -302,16 +333,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8593", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant5", - "label":"constant5", + "name":"constant6", + "label":"constant6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -325,7 +356,7 @@ "FramePeriod" ], "values":[ - "VLT_MODE", + "SPD_MODE", "on", "inf", "[]", @@ -356,11 +387,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant2", - "label":"constant2", + "name":"constant5", + "label":"constant5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -374,7 +405,7 @@ "FramePeriod" ], "values":[ - "OPEN_MODE", + "VLT_MODE", "on", "inf", "[]", @@ -405,63 +436,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8590", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_toOpen", - "label":"b_toOpen", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "1", - "Port number", + "SPD_MODE", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", + "Inherit: Inherit via back propagation", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -470,8 +470,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -480,47 +480,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8590", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "FramePeriod" + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "SPD_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "==", "off", - "inf" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 1, + 4 ] }, "viewer":{ @@ -529,47 +525,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8585", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "FramePeriod" + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "TRQ_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "==", "off", - "inf" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 1, + 4 ] }, "viewer":{ @@ -578,16 +570,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator5", - "label":"Relational Operator5", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -628,11 +620,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8582", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator11", - "label":"Relational Operator11", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -673,11 +665,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8582", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", + "name":"Relational Operator11", + "label":"Relational Operator11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -689,7 +681,7 @@ "ZeroCross" ], "values":[ - "==", + "~=", "off", "boolean", "Simplest", @@ -718,11 +710,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator10", - "label":"Relational Operator10", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -763,11 +755,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8593", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"constant6", - "label":"constant6", + "name":"b_toOpen", + "label":"b_toOpen", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant2", + "label":"constant2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -781,7 +853,7 @@ "FramePeriod" ], "values":[ - "SPD_MODE", + "OPEN_MODE", "on", "inf", "[]", @@ -812,38 +884,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8585", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "==", + "TRQ_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - "boolean", - "Simplest", - "-1", - "on" + "inf" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 3, + 7 ] }, "viewer":{ @@ -852,16 +928,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"Relational Operator10", + "label":"Relational Operator10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -902,11 +978,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -915,7 +991,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_toOpen", "local", "Tag" ], @@ -935,11 +1011,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -948,7 +1024,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_toSpdMod", "local", "Tag" ], @@ -968,11 +1044,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -981,7 +1057,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "z_ctrlModPrev", "local", "Tag" ], @@ -1001,21 +1077,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "b_toOpen", "Tag" ], "tabs":[ @@ -1029,16 +1103,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1047,7 +1121,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_toActive", "local", "Tag" ], @@ -1066,6 +1140,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_motStdStill", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", "className":"Simulink.From", @@ -1098,11 +1203,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1111,7 +1216,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_motEna", "local", "Tag" ], @@ -1131,11 +1236,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1143,7 +1248,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1162,11 +1267,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1174,7 +1279,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_toTrqMod", "Tag" ], "tabs":[ @@ -1193,11 +1298,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1224,74 +1329,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"b_toActive", - "label":"b_toActive", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "b_toActive", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1299,16 +1355,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1316,7 +1372,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "b_errFlag", "Tag" ], "tabs":[ @@ -1335,25 +1391,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_toTrqMod", - "Tag" + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1361,7 +1453,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, @@ -1397,21 +1489,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toOpen", - "local", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1425,16 +1515,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1442,7 +1532,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -1461,19 +1551,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toTrqMod", + "local", "Tag" ], "tabs":[ @@ -1487,73 +1579,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"constant7", - "label":"constant7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "TRQ_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toActive", + "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -1567,16 +1612,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1584,7 +1629,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -1603,27 +1648,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_toTrqMod", - "local", - "Tag" + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1631,32 +1710,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"constant7", + "label":"constant7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "b_motEna", - "local", - "Tag" + "TRQ_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1664,24 +1759,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -1695,16 +1792,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9420", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1727,7 +1824,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -1767,11 +1864,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Relational Operator5", + "label":"Relational Operator5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1783,7 +1880,7 @@ "ZeroCross" ], "values":[ - "~=", + "==", "off", "boolean", "Simplest", @@ -1812,11 +1909,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8547", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1839,7 +1936,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -1879,39 +1976,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "b_motEna", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1919,16 +2002,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9420", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1951,7 +2034,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "5", "Port number", "[]", "[]", @@ -1991,61 +2074,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "b_errFlag", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2053,55 +2102,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8547", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"constant8", + "label":"constant8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "1", - "Port number", + "OPEN_MODE", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -2110,8 +2141,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -2120,47 +2151,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motEna", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2173,7 +2173,7 @@ ], "values":[ "AND", - "3", + "2", "rectangular", "off", "boolean", @@ -2246,11 +2246,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator6", - "label":"Logical Operator6", + "name":"Logical Operator9", + "label":"Logical Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2262,8 +2262,8 @@ "SampleTime" ], "values":[ - "OR", - "3", + "NOT", + "2", "rectangular", "off", "boolean", @@ -2291,11 +2291,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator6", + "label":"Logical Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2308,7 +2308,7 @@ ], "values":[ "OR", - "4", + "3", "rectangular", "off", "boolean", @@ -2336,11 +2336,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2353,7 +2353,7 @@ ], "values":[ "AND", - "2", + "3", "rectangular", "off", "boolean", @@ -2381,11 +2381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator9", - "label":"Logical Operator9", + "name":"Logical Operator4", + "label":"Logical Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2397,8 +2397,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "OR", + "4", "rectangular", "off", "boolean", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.png index 84a1bef03779d67312513173bf7a17cab28ecffa..2d054a6580a49a1690da75a9e6cb323655d436bd 100644 GIT binary patch delta 7632 zcmXw8cOcZ^|5piRmz8-*5<+&?A!MADmF&H@j;v2ec84Qzwyf;E$=)kDBQq;2*_+?f z_xJtYpEo}DJn#4Wd95cx79|^H;o!~d@<6Uj{+BVCXJ@4FC=*^c?p{_s{%2#aVe7P2 zjU2kjFK~B{fRAR66-|4hx1u?FVwIID6e%9R)DQD6r7Ao05@1SM5A9%=2&M2yW`cz{ z)fPKOA6@+sKT7fbcpu$kPKKKf>x?XV2eY?~o>N70G802B4I`9f+Nm5mMQSf!#<+1M zAa;)zQBG=+Rb0$b4)O{Lw;UWCo~;%cH8)9BPEK``DUrF8`4a??a8St$!ZL9!DXREL z%>&P8#`32_I&hq6BYo_K7`d9SB$k(#zl_>Y$lj+4-|6KjCPQ`IqoIMJdyIK#J{jD9 z${IA#?t2s3RWM?5`ts78o}|W??r^hZe5~WA2i?xx`M{j>ul8Fn^C+00^QV-Qlob^f z#=Hp?R!MLu<<~D$VF|?XlUXB*`KE#28h5V_9RpL6lD?Fc#UNOrw%@oQhni2>L3;Ud$+_AXBBPQ105{O@!a_7g~s`Rv@5U9e` zPB4?7yt+F1z`y|bQzE<@^&Zel;*@i8;?~Z8Gikw>K%|`?*V!rOV10G6n#w08hIsq-83dkU z&U=q!o1c8^Oznwz+5EFZS}kvqHHovP=LK2EtI*|YfZS=O96#+t8ls}yg1+U9++6vi z6gnZtrN#^9Xo6r;Cd0CRZF*B>Rn;5T;=e_=8=iZ6iwZeTe={vjW4moxo*)T(*R{A% zyPDGXm?^x2hMvBCb#LM5%*NV!82YefU|82{2uy_d=OlD2Z zEANyHwyD~QnS@dVYhaIgt7A2vfIvt2ki?l}^N#^Zb@dTnx|6n&A8NMskV)n1+P8bz ztg(rSwAtC&6^7urn3PZE=I1}4Cs{?TfZ`O+Fo=1oZP=7+YH6wK>m!DSI*)%1Zl~WV z!t_rtU7?N&$9-?Q+Sy0AISSdx`uks-XvCC1c(5t-Rf!FLHaR5hxCosuuK=&o~O< z;2U1SX(HvW`{QI~Wszzg`hR$}y}v)q2Pe%fe>FEzPd#LCjgwUrLrH+kSaJDw*@9td zVIu5#L1lJ+K4Ex=G?)UC;OCf|Vm`+_XGhycWz#X@-8rd#(ARsvRWhT+{opD&Xt4C6 z(~JK8{t~yo6`=-L*Xhp$Gj5F_1Z?Jw_z*=q|QKB{OuzcJ&rR&`!h#*4#saOCD-iH8$B z(hYf@yZ9XpiYg77%4VvAgIu0r6gy)5rLyvktVK|v5__EK_H3i3rY4WDusi^$N2)1H zjYqQ&C~hw|b5p|MtT;<(pX^cEe4fJ-; zamx2Omkv6Dq}e*S#r^fJ}UxI)cs(=K+LfBjQ!v7}|2iQ)0ZcCCvC`)D59 zc}-c25J?^(XFRvj%5eH~gsLi^s3@jfq+xgrfal%t4p(Gd*2~ABLtOEMm;t=pnT7b~ zbBh^8!c%)$|AL3Q-d^VB@7LBKo8G>@TfuFBDf%t>xEuGs$5=2~Qz@xafTO*)x0m=j zXds+`B^AI`gk0td)qdLa`01bZbpQe(8{@?qIy%8E#`B=S0Q@yRNVk5CMzEgz3g>o> z*ud{FEghboPT~{e;1568yt_qo;P++LxT2(d&q7hLFW&QOZ{yOB^1G+jA;7~U$sYHe2noQDc-7n6d*{sRSjhJ(c|C%3 zo8KMVT3H5P+Nt(S*DF3dgyp#>!rxx`HiSvD#$`;{E;nyYwz+!=nS- zZES1=gq@DyVNEa8g9Qq^HN-37oi+>ywYg4my1NKi$y(W?L(X2}kc->KEc6CPIr z(Py`pY$5p7_;P^e?FK_(*Z1ofp_5|oqwB-a=xAH>1s|EqYNTXP3p<{@N)0 zGuQXw)ZC{0w56{L6Wb;MLouT8o9BiW+JbHD?7WwR5Km@FGuXn4$ZHMQI5zm&5_&Ke}e_>iTlykD<>_hrpSs zogzRoYKC^0_74mc=GrSL^dz2NR%JvpLL|X!TU#A#?!0g~ zYIIFTodSRtX#4K2t7$2XTqZfX=SywIx5nfIz+>6jtejLzgPho{pVgo(6&OcTnsf2I zihxPeww)y?gKhP8Jupt7G^H;*O>`yMc&Mu&$bWo2)!4yEE7`}w5+0svC2=ItJ?`djF^~s>M&G>xn+JHCwbvYx%TNdt3~IAYhGNI^Agu>n+&+{L z7Sj>oc@14M^v*XvseYIY^$#L12Hqa|YCWP1`rL!t0z)989Boax=&@A^AEfVtXS+g3 z;_DRD)IdNY?CdyNjH8Nux9sXt(Qo82wHp+V#a;{3e{2X18v8}ve0=i-iZP4ZPIE7HbV+{PLEo2;Ur>V9-FPKuI`*&R8&`k8Zq?t_I8`| zg4LBf%}Izc4z2srEu`xz!bYrPLql(Y@o=oB%Nea*ntG0u@~EXD`aoG5Zm+GqY0GSH z*kH(w7wE6X*8YOYxBaJ6^T4B2pO?<513E@W<*lr8SU+$2M$60m{F&TiUa_{mCAh^c-YvLf;t+*k1&ZG341pcS+Dx0g2=*MXL1xnlxQ3~2aS zzq73*dEQAPji8VYQx4Z1^4kw=(#CP>XH@j`=zwEm3u^_&2Fx>pwXIOE+PPL=zs^0> zn5VnHp9nyxrna`N1wc~^$ie~`s-}5A`rtMxKu|5v+~r}ln+-=0kO zxzByWVj)#nSO&#@KP48Qyqldoyn|7geaYzRz-Vt~+s`A?j->#PIZ7*|ynN4p`{IvB zvmVczit&xC;$oBxvy_F!Lo+k8m|^!oU2lH`Lek~wtHKiD%e86x3H$XE&D&)=CEsn- zC=PsBGY$11eZd6HA&V;`dFE>x8YOO4e@@(KBjmt%#_K&25fQ1FUHR1!zB$*N3gFP1 zFi6+S%S*dKNdFZB))2P9qhFsbxLYUkIZ2bwn)QZ|leD+!vCr^GIwNL)M-Yz@#hy~e z`+K|j5pTRwqmg=Ask(1U&zDbm1@EmX483lho*F~WYQD2eEbWWyLu>r>!Z@i=(WmlP zFp7W`OJO9@yY%$?(&@ux&9=yVTd=8**NUjkhn8J|X}Gq#D*`&zY_U3+jI!sC8Td9u z_@#>KwlMbE-}Ak7I`O^~aoZb)6PaH|otHw`zj97iL$EXnc=CtEF0K2XV(SNi_+xve z&}Z!5P#MkWYn%kk0~0iy1ZEVWGS*H`t4x;*Ovfui%{|=ENncX;ezg4inR*W(?0}$T zxpPY;MeJ7Y!bebzid0~c3kwUuOzDCO63=c<*2Fh2QMOtm$bX|)PSyIRu zlbam7S&z(%guGrm%wJrn859aaKip{*6*WtzYu!|d@?xhpV&n6PXDl@WC$IGn<+nQ5 zrscd~Fx1k_O(iGDZTt~L_;(5YcP(dqwaavUl}S92gX+g;1>l{#7`-F<;<*9)XVCSs zV)B{mOWEl*jmL`&!~l%EcDfVZVQpup_Z^R1kjaias$gj3TueCmZ6rjl7OWFw9~R{J zGXc@GmBx1DMK7z~QDPU*o()!})Up6RKRB?}MZNIV)*6e^l5kz>X7@eOFJo+CU|?vt zx;%S39)Fib>M*c?6g=3NOyX3YK`}_$`M6{%KQ=D!skW>c+vZLiKb%ZqxFrkRe$zwNt~t~;)A{NMnzcK6qm?#T~aDhj&*V( zytR#uHhV!kmnb?qy1hS`q@<-Ec^anW1ZLQ3{4nw>DNf=>go8UmJ~irtfyRW?NAUv<^rLKDJ1Y+n27H`IAJ6#0+RV|K$EA1h)2cQz!ahO{#2- zs7(ArMlSTcC_CG`TrvE}&5F9aOt9n$&5e!8z-=oj5fWV; zqpos8rVh+V9@na9d~%dU!*Gpzj6lZWM^A9H{5#=VAXW+L(^f^7hr` z_9VKOl8x1{L0(yz_~77xh=k;&o*v;6>n(%+ZNDQ?L(hevr1tdIUUH||U^ERC=QS3z zES0E`1VI7`6%DprH;_UV<8AS&bMrW*q! zGbFaxkFKWTdNPnoLx5Z3vWS*q6McN~XK#jM-}jSQ?0Xvo!LzL_Rp3`WSwb^hBmdqKKXpWRzv)PXlQ7R21b zy`CiOB3<8{lY@`$X+J*~WAgcX4dB?b@>gJPcE33Bg2zazQ(X6dht${B?$l5fznRNe z1r)&B1tirhTu7*^)T}EvFE2ea6OEwJP@D^rHZddj7sL6-peH@5er2{p8{6Bf;FvZX zVD<735&tMo36HS+)IgGqY+ULBBcK7 zDYk!f^e-ucAh=V*4j#}UAOl)(t#x&MczAfYyJ2*d_$b9Q00bvMIf90WUF?q{5Qq}H zaW01dSfA0wn9<0{h!hCgI_uHy_nuyRfzG~Xc4MZl15HHBkL&Zd1s^R#`w$m|Dt2fG zT3V8w4r;m-n1W))$#0KtQoSaW%%Agyta^wHGwDIZuV25C zW)}iUCBAJT?}o~-adBmrma5kurCzS3R*3JlcEYaf;sG+TYW(Nh+(jb$mYL%eZGM_9 z?m#tFYOnP53kF`#)V%@OLT7h30Wb?6KazZ8f~V}A2Q_wV6gR8z(;DPBJ))2X=O{wX z?4#WaPAW5COQWO7fiQCsNq$Qh)P-Uim!TxWdzyd%zRcxtbMnkF%fa5Bf^?2p4*U*` zwP9dkZf;sehV+KOM+VVPZZoTU(8Asc&YPPT$2*I4f*~cfU|WG8xe?bq>F7kVQS_24 z2-6R8fLwU*Jq1uMUm05iA6%c5+>eK1s?+Y8FGe6tNg;8BSlJVZwkpC&2#PZG7jpx9VR5#MdvcNy(-j*!-m4=-o zy;!x;(6Go4(gv_aBK<}{>?lb)SrR4*6sNDRue*oG-VY5`7mze1spM4Q&n!64AD!hD z6?HmR?@b5n0{ODPzyB}x5~k12%6d4o<@<~<3_6L2dhCiDSxG+TzrVl7w!hp0;|yCV zeQi$XBuo!}3KR$18$_~W-_T^DO_d(k&x&n;#c&)PeE4O)?_?%JNI7p;h&lMS*@SDA(Gexe}Dgm1{kR# zR=la9A*r`lQBryT86RI@2HQU*1k|vJ^ai&QCMW;C>?!t7i|Z5{g0wFR0kMKaof+hQ zK>QaO)YH(=q%}1$%BmCK1vZ?n=f6GyHc3Z^n#u3@J}WvDWF1e4lg2legW>1*of;3Y z*=}ufU%UCYMgAE>z()VOspzL8dGepY;z^mfysxjgN>2Iw1vm|Q)sB>#QW+z^W8QuT z9!Me;DmHfS!cPYg0(ZwgQWCd}_?3O2XQLsAm4Khj%X{3kpT)gXKX;)*m@LA}D-93_ z+$>~QRcUkR=;$nKhPr0yBFej@(;6S+4&wxA@+z7=fMyuq6b}a%hvpG@)c^4QI;PThU z@*8$K>4=Dkemm9zb@h;*L_<$6e_3b<<4xAO8P$ndNEID@uoj@%+CvmSHiiQhG`$>p2&f# zB$b@IAY&Iv#=a2%L=+JjX;Z}N)O5lc0#M z5E#CA5&Y@n{X3ycH65U915z%feZ5Gae_GhWViy0H2x4lT7p?KpTxYoHFy$uJqr!cBZIH8?#61nNSY8>!VkX4Z>k~R+bKg1{}$N&HU delta 7581 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 - - - + + + - - + + - + - - OPEN_MODE + + 2 - - + + - - - + + + - + - - uint8 + + b_toActive @@ -227,11 +227,11 @@ - - + + - + @@ -241,29 +241,29 @@ - - VLT_MODE + + SPD_MODE - + - + - + - + uint8 @@ -275,11 +275,11 @@ - - + + - + @@ -289,29 +289,29 @@ - - OPEN_MODE + + VLT_MODE - + - + - + - + uint8 @@ -323,44 +323,44 @@ - - - + + + - - + + - + - - 1 + + SPD_MODE - - + + - - - + + + - + - - b_toOpen + + uint8 @@ -371,44 +371,68 @@ - - - + + + - - + + - + - + - - SPD_MODE + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + boolean @@ -419,44 +443,68 @@ - - - + + + - - + + - + - - + + - - TRQ_MODE + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + boolean @@ -467,37 +515,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -512,22 +560,22 @@ - + - + - - + + - + boolean @@ -539,29 +587,29 @@ - - - + + + - + - + - + - + - + @@ -576,22 +624,22 @@ - + - + - - + + - + boolean @@ -603,38 +651,30 @@ - - - + + + - + - + - + - - - - - - - - - - + + - - + + @@ -648,22 +688,22 @@ - + - + - - + + - + boolean @@ -675,37 +715,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -720,22 +760,22 @@ - + - + - - + + - + boolean @@ -747,44 +787,44 @@ - - - + + + - - + + - - + + - - SPD_MODE + + 1 - - + + - - - + + + - - + + - - uint8 + + b_toOpen @@ -795,68 +835,92 @@ - - - + + + - - + + - + - - + + - - + + OPEN_MODE - - - - - - - + + + + + + + + + + + + + - - + + - - + + uint8 - - + + + + + + + + + + + + + + + + + + + TRQ_MODE + - - + + - - + + - - + + - - boolean + + uint8 @@ -867,37 +931,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -912,22 +976,22 @@ - + - + - - + + - + boolean @@ -939,61 +1003,28 @@ - - - - - - - - - - - - - - - - [b_errFlag] - - - - - - - - - - - - - - - - - - - + + - + - + - - [b_motStdStill] + + [b_toOpen] - + @@ -1015,11 +1046,11 @@ - + - + [b_toSpdMod] @@ -1036,39 +1067,6 @@ - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - @@ -1081,11 +1079,11 @@ - + - + [z_ctrlModPrev] @@ -1104,44 +1102,44 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_toOpen] - + - - + + - - + + - - uint8 + + boolean @@ -1162,11 +1160,11 @@ - + - + [b_toActive] @@ -1185,43 +1183,43 @@ - - + + - + - + - - [b_toOpen] + + [b_motStdStill] - + - + - - + + - + boolean @@ -1233,44 +1231,44 @@ - - + + - + - + - - [b_motStdStill] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -1281,44 +1279,29 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [b_motEna] - - - - - - - - - - - - - - - - - uint8 + + @@ -1329,44 +1312,44 @@ - - - + + + - - + + - - + + - - 2 + + [z_ctrlModReq] - - + + - - - + + + - - + + - - b_toActive + + uint8 @@ -1377,43 +1360,43 @@ - - + + - + - + - - [b_toSpdMod] + + [b_toTrqMod] - + - + - - + + - + boolean @@ -1425,44 +1408,44 @@ - - + + - + - + - - [b_toTrqMod] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -1473,43 +1456,43 @@ - - + + - + - + - - [b_toOpen] + + [b_toActive] - + - + - - + + - + boolean @@ -1521,77 +1504,44 @@ - - - - - - - - - - - - - - - - [b_toOpen] - - - - - - - - - - - - - - - - - - - + + - + - + - - [z_ctrlModReq] + + [b_errFlag] - + - - + + - - + + - - uint8 + + boolean @@ -1602,43 +1552,58 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 4 - - + + + + + + + + + + + + + + + + + z_ctrlModReq - + - - + + - + uint8 @@ -1650,44 +1615,44 @@ - - - + + + - - + + - - + + - - TRQ_MODE + + [b_toOpen] - - + + - - + + - - + + - - uint8 + + boolean @@ -1698,44 +1663,44 @@ - - + + - + - + - - [b_toActive] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -1746,44 +1711,44 @@ - - + + - + - + - - [b_errFlag] + + [z_ctrlModPrev] - + - - + + - - + + - - boolean + + uint8 @@ -1804,11 +1769,11 @@ - + - + [b_toTrqMod] @@ -1827,28 +1792,28 @@ - - + + - + - + - - [b_motEna] + + [z_ctrlModReq] - + @@ -1860,44 +1825,44 @@ - - + + - + - + - - [z_ctrlModPrev] + + [b_toSpdMod] - + - - + + - - + + - - uint8 + + boolean @@ -1908,59 +1873,59 @@ - - + + - + - + - - 5 + + 3 - + - - + + - - + + - - z_ctrlModPrev + + b_errFlag - - + + - - + + - - uint8 + + boolean @@ -1971,60 +1936,77 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + TRQ_MODE - + + + + - + + + + + + + + + + + uint8 + - - - - - + + + + + + + + + + + + - - - - + - - + + - - boolean + + [b_motStdStill] + + + + + + + @@ -2035,58 +2017,58 @@ - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - b_errFlag + + b_motStdStill - + - - + + - + boolean @@ -2098,37 +2080,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -2143,22 +2125,85 @@ - + - + - - + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + b_motEna + + + + + + + + + + + - + boolean @@ -2170,58 +2215,43 @@ - - - + + + - - + + - - + + - - 2 + + [b_motEna] - - - - - - - - - - - - - - - - - b_motStdStill + + - + - - + + - + boolean @@ -2233,58 +2263,58 @@ - - + + - + - + - - 4 + + 5 - + - - + + - - + + - - z_ctrlModReq + + z_ctrlModPrev - + - - + + - + uint8 @@ -2296,59 +2326,29 @@ - - - + + + - - + + - - + + - - 1 + + [b_errFlag] - - - - - - - - - - - - - - - - - b_motEna - - - - - - - - - - - - - - - boolean + + @@ -2359,44 +2359,44 @@ - - - + + + - - + + - + - - [b_motEna] + + OPEN_MODE - - + + - - + + - + - - boolean + + uint8 @@ -2407,29 +2407,29 @@ - - - + + + - - + + - + - - + + - + @@ -2440,23 +2440,23 @@ - + - + - + boolean - - + + @@ -2535,30 +2535,30 @@ - - - + + + - - + + - + - - + + - + - - + + @@ -2568,23 +2568,23 @@ - + - + - + boolean - - + + @@ -2599,29 +2599,29 @@ - - - + + + - - + + - + - - + + - + @@ -2632,23 +2632,23 @@ - + - + - + boolean - - + + @@ -2663,29 +2663,29 @@ - - - + + + - - + + - + - - + + - + @@ -2696,23 +2696,23 @@ - + - + - + boolean - - + + @@ -2727,30 +2727,30 @@ - - - + + + - - + + - + - - + + - + - - + + @@ -2760,23 +2760,23 @@ - + - + - + boolean - - + + @@ -3050,10 +3050,10 @@ - + - + @@ -3417,5 +3417,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json index 56691f7..4f58feb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json @@ -213,11 +213,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:32", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"", + "label":"[b_toSpdMod]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -227,8 +227,8 @@ "Document" ], "values":[ - 2, - "", + 1, + "[b_toSpdMod]", "", "" ], @@ -246,11 +246,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:32", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toSpdMod]", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -260,8 +260,8 @@ "Document" ], "values":[ - 1, - "[b_toSpdMod]", + 2, + "", "", "" ], @@ -312,11 +312,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:31", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toTrqMod]", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -327,7 +327,7 @@ ], "values":[ 1, - "[b_toTrqMod]", + "", "", "" ], @@ -345,11 +345,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:31", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"", + "label":"[b_toTrqMod]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -360,7 +360,7 @@ ], "values":[ 1, - "", + "[b_toTrqMod]", "", "" ], @@ -423,11 +423,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:13", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:14", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toActive]", + "label":"[b_toOpen]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -438,7 +438,7 @@ ], "values":[ 1, - "[b_toActive]", + "[b_toOpen]", "", "" ], @@ -456,11 +456,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:14", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:13", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toOpen]", + "label":"[b_toActive]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -471,7 +471,7 @@ ], "values":[ 1, - "[b_toOpen]", + "[b_toActive]", "", "" ], diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg index 7415f56..49ae392 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg @@ -49,28 +49,52 @@ ACTIVE + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + @@ -129,7 +153,7 @@ - + @@ -141,28 +165,40 @@ + + + + + + + + + + + + - + - + - + - + - + @@ -221,7 +257,7 @@ - + @@ -236,25 +272,25 @@ - + - + - + - + - + @@ -313,7 +349,7 @@ - + @@ -325,42 +361,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -387,7 +387,7 @@ - + @@ -395,26 +395,45 @@ - + - + - - + + - + + + + + + + + + + + + + + + [b_toSpdMod] + + + + + - - + + - - 2 + + 1 - + @@ -424,7 +443,7 @@ - + @@ -432,45 +451,26 @@ - + - + - - - - - - - - - - - - - - - - - - [b_toSpdMod] - - - + + - + - + - - 1 + + 2 - + @@ -517,13 +517,36 @@ - + + + + + + + + + + + + + + + + + + + + + + + + @@ -571,29 +594,6 @@ - - - - - - - - - - - - - - - - - - - - - - - @@ -703,7 +703,7 @@ - + @@ -711,31 +711,31 @@ - + - + - - + + - + - - + + - + - - [b_toActive] + + [b_toOpen] - + @@ -745,33 +745,33 @@ - + - + - + - - + + - + - - + + - + - - [b_toOpen] + + [b_toActive] - + @@ -798,5 +798,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json index 5338d52..6ca8aec 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json @@ -1049,335 +1049,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9142", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9195", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", + "className":"Simulink.SwitchCase", "icon":"WebViewIcon3", - "name":"Vq", - "label":"Vq", + "name":"Switch Case", + "label":"Switch Case", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "CaseConditions", + "ShowDefaultCase", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "ZeroCross" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", + "{VLT_MODE, SPD_MODE, TRQ_MODE}", "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", "-1", - "", - "off", - "" + "on" ], "tabs":[ - "Main", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"SwitchCase", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9072", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9073", "className":"Simulink.Scope", "icon":"WebViewIcon3", - "name":"Scope8", - "label":"Scope8", + "name":"Scope9", + "label":"Scope9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":[ ], @@ -1392,108 +1107,30 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Park_Transform", - "label":"Park_Transform", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9072", + "className":"Simulink.Scope", + "icon":"WebViewIcon3", + "name":"Scope8", + "label":"Scope8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, + "inspector":[ + ], "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Scope", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Open_Mode", - "label":"Open_Mode", + "name":"Park_Transform", + "label":"Park_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1545,7 +1182,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -1586,11 +1223,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Mux8", - "label":"Mux8", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1598,7 +1235,7 @@ "DisplayOption" ], "values":[ - "3", + "2", "bar" ], "tabs":[ @@ -1668,13 +1305,145 @@ "[]" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_mot", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto36", + "label":"Goto36", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_cos", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto35", + "label":"Goto35", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_sin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1682,42 +1451,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8865", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"Goto34", + "label":"Goto34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "n_limProt", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1725,16 +1484,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8855", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto33", + "label":"Goto33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1743,7 +1502,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "n_min", "local", "Tag" ], @@ -1763,33 +1522,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", - "className":"Simulink.SwitchCase", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch Case", - "label":"Switch Case", + "name":"Goto30", + "label":"Goto30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "CaseConditions", - "ShowDefaultCase", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "{VLT_MODE, SPD_MODE, TRQ_MODE}", - "on", - "-1", - "on" + "Vq", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1797,16 +1550,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SwitchCase", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto34", - "label":"Goto34", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1815,7 +1568,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "r_inpTgtSca", "local", "Tag" ], @@ -1932,11 +1685,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1945,7 +1698,7 @@ "IconDisplay" ], "values":[ - "iq_limPrott", + "iq_max", "local", "Tag" ], @@ -1965,11 +1718,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", + "name":"Goto24", + "label":"Goto24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1978,7 +1731,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "id", "local", "Tag" ], @@ -1998,11 +1751,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2011,7 +1764,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "a_elecAngle", "local", "Tag" ], @@ -2031,11 +1784,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2044,7 +1797,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "Vd", "local", "Tag" ], @@ -2064,11 +1817,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8854", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"Goto32", + "label":"Goto32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2077,31 +1830,161 @@ "IconDisplay" ], "values":[ - "Vd_min", + "n_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_max", "local", "Tag" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Speed_Mode", + "label":"Speed_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2110,7 +1993,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "n_motAbs", "local", "Tag" ], @@ -2130,11 +2013,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2143,7 +2026,7 @@ "IconDisplay" ], "values":[ - "id_min", + "Vq_Vlt", "local", "Tag" ], @@ -2196,11 +2079,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto36", - "label":"Goto36", + "name":"Goto28", + "label":"Goto28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2209,7 +2092,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "iq_min", "local", "Tag" ], @@ -2229,19 +2112,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From71", - "label":"From71", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "Vq_Open", + "local", "Tag" ], "tabs":[ @@ -2255,38 +2140,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "2", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, @@ -2322,25 +2176,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9142", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From68", - "label":"From68", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "iq_limPrott", - "Tag" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2348,7 +2221,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -2384,19 +2257,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8821", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From65", - "label":"From65", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_max", + "Vd_max", + "local", "Tag" ], "tabs":[ @@ -2410,26 +2285,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8836", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8822", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"From66", + "label":"From66", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_prev", - "local", + "n_min", "Tag" ], "tabs":[ @@ -2443,26 +2316,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8821", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From65", + "label":"From65", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", - "local", + "n_max", "Tag" ], "tabs":[ @@ -2476,7 +2347,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -2512,19 +2383,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From63", - "label":"From63", + "name":"Goto40", + "label":"Goto40", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", + "id_TgtAbs", + "local", "Tag" ], "tabs":[ @@ -2538,7 +2411,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -2574,11 +2447,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From60", + "label":"From60", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2586,7 +2459,7 @@ "IconDisplay" ], "values":[ - "Vq", + "iq_min", "Tag" ], "tabs":[ @@ -2609,71 +2482,7 @@ "className":"Simulink.From", "icon":"WebViewIcon3", "name":"From59", - "label":"From59", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_Trq", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From56", - "label":"From56", + "label":"From59", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2681,7 +2490,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "iq_max", "Tag" ], "tabs":[ @@ -2700,21 +2509,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From58", + "label":"From58", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Open", - "local", + "id_min", "Tag" ], "tabs":[ @@ -2728,16 +2535,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From54", - "label":"From54", + "name":"From57", + "label":"From57", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2745,7 +2552,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "id_max", "Tag" ], "tabs":[ @@ -2764,11 +2571,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From50", - "label":"From50", + "name":"From56", + "label":"From56", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2776,7 +2583,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vd_min", "Tag" ], "tabs":[ @@ -2795,11 +2602,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From49", - "label":"From49", + "name":"From61", + "label":"From61", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2807,7 +2614,7 @@ "IconDisplay" ], "values":[ - "Vq_Open", + "iq", "Tag" ], "tabs":[ @@ -2826,11 +2633,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From48", - "label":"From48", + "name":"From55", + "label":"From55", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2838,7 +2645,7 @@ "IconDisplay" ], "values":[ - "Vq_Trq", + "Vd_max", "Tag" ], "tabs":[ @@ -2857,11 +2664,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From61", - "label":"From61", + "name":"From53", + "label":"From53", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2869,7 +2676,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vd_max", "Tag" ], "tabs":[ @@ -2888,21 +2695,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"From71", + "label":"From71", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", - "local", + "id", "Tag" ], "tabs":[ @@ -2916,25 +2721,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"Mux8", + "label":"Mux8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "iq", - "Tag" + "3", + "bar" ], "tabs":[ "Parameter Attributes" @@ -2947,16 +2752,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From43", - "label":"From43", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2964,7 +2769,7 @@ "IconDisplay" ], "values":[ - "Vd", + "Vq_Spd", "Tag" ], "tabs":[ @@ -2983,101 +2788,116 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_devSignal1", - "label":"r_devSignal1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Motor_Limitations", + "label":"Motor_Limitations", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "on", + "", + "", "off", + "", + "void_void", "off", - "0", "off", - "reset", + "on", + "", + "off", + "", + "off", "off", - "0", "", - [ - ], - "Dialog", "Auto", - "off" + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", - "local", + "iq", "Tag" ], "tabs":[ @@ -3091,16 +2911,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From41", - "label":"From41", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3108,7 +2928,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vq_Vlt", "Tag" ], "tabs":[ @@ -3127,11 +2947,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8805", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From42", + "label":"From42", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3139,7 +2959,7 @@ "IconDisplay" ], "values":[ - "Vq_prev", + "Vq_min", "Tag" ], "tabs":[ @@ -3158,11 +2978,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From40", - "label":"From40", + "name":"From52", + "label":"From52", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3170,7 +2990,7 @@ "IconDisplay" ], "values":[ - "Vq", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -3189,21 +3009,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"From41", + "label":"From41", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_max", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -3217,25 +3035,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"Mux1", + "label":"Mux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "b_enaFOC", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -3248,16 +3066,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3265,7 +3083,7 @@ "IconDisplay" ], "values":[ - "id", + "n_mot", "Tag" ], "tabs":[ @@ -3284,21 +3102,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto30", - "label":"Goto30", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq", - "local", + "Vq_min", "Tag" ], "tabs":[ @@ -3312,26 +3128,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8854", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto32", - "label":"Goto32", + "name":"From68", + "label":"From68", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_max", - "local", + "iq_limPrott", "Tag" ], "tabs":[ @@ -3345,7 +3159,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -3412,21 +3226,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8855", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto33", - "label":"Goto33", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_min", - "local", + "r_cos", "Tag" ], "tabs":[ @@ -3440,16 +3252,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3457,7 +3269,7 @@ "IconDisplay" ], "values":[ - "Vq_Vlt", + "Vd", "Tag" ], "tabs":[ @@ -3476,11 +3288,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3507,11 +3319,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3519,7 +3331,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_cos", "Tag" ], "tabs":[ @@ -3538,19 +3350,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", + "id_Tgt", + "local", "Tag" ], "tabs":[ @@ -3564,24 +3378,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", + "iq_limPrott", + "local", "Tag" ], "tabs":[ @@ -3595,16 +3411,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From55", - "label":"From55", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3612,7 +3428,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "Vq_max", "Tag" ], "tabs":[ @@ -3631,19 +3447,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd", + "z_ctrlMod", + "local", "Tag" ], "tabs":[ @@ -3657,16 +3475,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From52", - "label":"From52", + "name":"From48", + "label":"From48", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3674,7 +3492,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vq_Trq", "Tag" ], "tabs":[ @@ -3724,11 +3542,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3736,7 +3554,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -3755,11 +3573,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From49", + "label":"From49", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3767,7 +3585,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_Open", "Tag" ], "tabs":[ @@ -3786,11 +3604,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9195", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vq", + "label":"Vq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3798,7 +3696,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", "Tag" ], "tabs":[ @@ -3817,19 +3715,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From60", - "label":"From60", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_min", + "Vq_min", + "local", "Tag" ], "tabs":[ @@ -3843,16 +3743,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3860,7 +3760,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "iq", "Tag" ], "tabs":[ @@ -3879,21 +3779,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq", - "local", + "Vd", "Tag" ], "tabs":[ @@ -3907,26 +3805,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -3940,16 +3836,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Mode", - "label":"Speed_Mode", + "name":"Open_Mode", + "label":"Open_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4042,135 +3938,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From42", - "label":"From42", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_Spd", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4178,7 +3950,7 @@ "IconDisplay" ], "values":[ - "Vd", + "id", "Tag" ], "tabs":[ @@ -4197,11 +3969,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From57", - "label":"From57", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4209,7 +3981,7 @@ "IconDisplay" ], "values":[ - "id_max", + "b_enaFOC", "Tag" ], "tabs":[ @@ -4228,44 +4000,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4273,7 +4012,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "Vq_max", "Tag" ], "tabs":[ @@ -4292,42 +4031,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Field_Weakening", + "label":"Field_Weakening", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "r_inpTgtSca", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8836", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4336,7 +4141,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_prev", "local", "Tag" ], @@ -4356,11 +4161,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4368,7 +4173,7 @@ "IconDisplay" ], "values":[ - "id", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -4387,21 +4192,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto35", - "label":"Goto35", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", - "local", + "Vq", "Tag" ], "tabs":[ @@ -4415,7 +4218,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -4517,11 +4320,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto40", - "label":"Goto40", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4530,7 +4333,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vq_Trq", "local", "Tag" ], @@ -4550,19 +4353,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", + "id_min", + "local", "Tag" ], "tabs":[ @@ -4576,26 +4381,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"From54", + "label":"From54", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Vlt", - "local", + "Vd_min", "Tag" ], "tabs":[ @@ -4609,35 +4412,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9073", - "className":"Simulink.Scope", - "icon":"WebViewIcon3", - "name":"Scope9", - "label":"Scope9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":[ - ], - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Scope", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From43", + "label":"From43", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4645,7 +4429,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "Vd", "Tag" ], "tabs":[ @@ -4664,21 +4448,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8805", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id", - "local", + "Vq_prev", "Tag" ], "tabs":[ @@ -4692,16 +4474,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4709,7 +4491,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "r_sin", "Tag" ], "tabs":[ @@ -4728,11 +4510,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4741,7 +4523,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vd_min", "local", "Tag" ], @@ -4761,27 +4543,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "z_ctrlMod", - "local", - "Tag" + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4789,16 +4605,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Motor_Limitations", - "label":"Motor_Limitations", + "name":"Torque_Mode", + "label":"Torque_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4850,7 +4666,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -4891,11 +4707,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4903,7 +4719,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "a_elecAngle", "Tag" ], "tabs":[ @@ -4922,20 +4738,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8667", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "b_enaFOC", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -4948,16 +4764,83 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8822", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From66", - "label":"From66", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4965,7 +4848,7 @@ "IconDisplay" ], "values":[ - "n_min", + "id_Tgt", "Tag" ], "tabs":[ @@ -4984,11 +4867,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From40", + "label":"From40", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5011,7 +4925,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -5034,11 +4948,108 @@ "Signal Attributes", "-Other" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From37", + "label":"From37", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto23", + "label":"Goto23", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -5046,25 +5057,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "name":"From50", + "label":"From50", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "bar" + "Vq", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -5077,7 +5088,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, @@ -5113,11 +5124,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5125,7 +5136,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "id", "Tag" ], "tabs":[ @@ -5144,11 +5155,54 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8865", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5171,7 +5225,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -5211,11 +5265,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clarke_Transform", - "label":"Clarke_Transform", + "name":"Voltage_Mode", + "label":"Voltage_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5267,7 +5321,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -5283,251 +5337,50 @@ "Inherit from model", "Inherit from model", "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "-1", "", - "on", "off", - "off", - "off" + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8667", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "reset", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -5535,16 +5388,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From63", + "label":"From63", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5552,7 +5405,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "n_mot", "Tag" ], "tabs":[ @@ -5571,11 +5424,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Field_Weakening", - "label":"Field_Weakening", + "name":"Clarke_Transform", + "label":"Clarke_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5668,11 +5521,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From58", - "label":"From58", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5680,7 +5533,7 @@ "IconDisplay" ], "values":[ - "id_min", + "Vq_min", "Tag" ], "tabs":[ @@ -5699,11 +5552,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_devSignal1", + "label":"r_devSignal1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5726,7 +5659,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -5766,11 +5699,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From53", - "label":"From53", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5778,7 +5711,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -5796,6 +5729,73 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_enaFOC", + "label":"b_enaFOC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8827#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.png index 8dbff5f9b1d05ab2bb4a238761040db4293cbf8b..213c50718407c583114379cfd5f1cb3822b8569a 100644 GIT binary patch literal 9737 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 G8S+2$C#Y=z literal 9753 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�A55zeHN5@hECR zwXm&jpe=-9xJC3}8~-^ndemT-yJ|!#ffT3p^Egrsw>bYjKE-33!0w0#x6M9s{)=^! znDanEad@Z5z;0-1Q}u<`%S;NjA z+Ag@DFvx$b<)dV^lN8|{LBI=v2`;$Yg%oA3`z;GzsPU;UHM(j*)F=W*Vf&m=IUg$_ z3fqO<32GuN=1Q?-f*=-xF5_$Vi83nz8>0*@mcNq@ez$_J z>*Z)A?P47eP7n@|@0neW?m{ki|2H1gP)0?Unjyv=cdMRqkE8FVBq_Rznlx0J-r^jA zAZWRG7ho201+@|k1`~gSNW|Tx-e^$uXFt##N0*_kRX+M?$bKNI%(n$SHoMfHJ~lqy z*4~aQRteb<%!cam*N{9ChJdXN;S7}8wT8Y2ay%o~O;==^T(0H@I5}kQ5zLGi z$H-($$j!2i1Qe+86*(_W7gj=24kg`e!axGB2UBm-3sFo?9x9Kwx(U_<$V0ASjQa3v z+cX9Le~?U{9?ZzpZn@Lgb=|f9ghJiG>I6esyr^LwoMjuq7$VVCHwZzew3I2WIDz68)~R!OX%?EO+>_ONVg&&O1Mq}R<8UDcgQ)&4PQ){i4djVYO|lUYNI znIcnT-UD?c#PWY;131&5nxB&2A%|#}G3?gT=3WjwgWiiu^dUxDlL9w-c+Wf3?* zWW~d)@TNrUy>E8RtDBu1@A@TqQd0Ym=ex+@eF`v_d0A{TPJjQRq9}K)1>@Bt#Gn)Ax?Inb<(kgVs@;Pxd890e)i@j0~N^v>8+x+ z*4^bn5JwQw?CkWgQ~8&25Wg#Sr;L*=qXv8U-V;kEkRde&6c9*0dv&_^T_XaVqO5>_ zs|0MTdqMavq41^x8jZ%oT}2MqGIoELuBPLaVz=ozh;p9b>FZqmczFT-mh_zYEjB_9 z$m`PfHnl(s85mfgiSli83`*yBusw(vvH4#wk~|4<0!oOEeixU2T$6Cra{a+iekVaa zf%_fW67UVULP<#pB&ta1EGmaukZapm(~O6ZIGRIU(s-Qb`B2n7|)r-ET9$82%_rMr9{psOu;6TJKM+0 z7HW+qTY3yX^s#gp*PGp4LT``lYbukKluBrkpKVy diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg index 0e18f9b..67b9227 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg @@ -749,15 +749,15 @@ - + - + - + int16 @@ -770,15 +770,15 @@ - + - + - + int16 @@ -1202,152 +1202,121 @@ - - - + + + - - - - - - - - + + - + - - r_inpTgtSca + + u1 - + - - Vq_max + + case [ 1 ]: - + - - Vq_min + + case [ 2 ]: - + - - iq_limProt + + case [ 3 ]: - - - - - n_limProt - - - - - - - - Vq_Vlt - - - - + - - case: { } + + default: - - - - - - - - + + - - - - - - - - - + + + - - + + - - Voltage_Mode + + action - - - - - - - - + + - - + + - + action + + + - - - - + + + - - + + action + + + + + + + - - + + - - sfix16_En4 + + action @@ -1358,52 +1327,30 @@ - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -1417,38 +1364,8 @@ - - - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1459,44 +1376,45 @@ - - - + + + - - + + - + - - + + - - 4 + + + + + + + + + + - - - - + - - - - - - - - - - - Vq + + + + + + + @@ -1507,167 +1425,143 @@ - - - + + + - + - - + + - - + + - - r_inpTgtSca + + i_apha - - + + - - Vq_max + + i_beta - - + + - - Vq_min + + r_sin - - + + - - iq - - - - - - - - iq_max - - - - - - - - iq_min - - - - - - - - n_limProt + + r_cos - - + + - - Vq_Trq + + iq_Raw - - + + - - case: { } + + id_Raw - + - - + + - + - - + + - - + + - - Torque_Mode + + Park_Transform - + - - + + - - + + - - action + + sfix16_En4 - + - + - - + + - + sfix16_En4 @@ -1679,51 +1573,50 @@ - + - + - - + + - - + + - - - - - - - - - + - - + + - - + + - - - - - + + + + - - - + + + + + + + + + + + sfix16_En4 @@ -1734,143 +1627,107 @@ - - - + + + - - - - - - - - + + - - + + - - i_apha + + - - - - - - - i_beta + + + + + + - - - - - - - r_sin + + + + + + - - + + - - r_cos + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - iq_Raw + + - - + + - - id_Raw + + - - - - - - - - - - + - - - - - - - - - - - - - - - - - Park_Transform - + - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - + - - + + - + sfix16_En4 @@ -1882,126 +1739,62 @@ - - - - - - - - - + + + - - - - - - - - + + - - - - - - Vq_prev - - - - - - - - Vq_Open - - - - + + - - default: { } + + [n_mot] - - - - - - - - + + - - - - - - - - - - - - - - - - - Open_Mode - - + + + + + + + + + + + + - - - - - - - - - - + - - + + - - action + + [b_enaFOC] - - - - - - - - - - - - - - - - - sfix16_En4 + + + @@ -2012,50 +1805,29 @@ - - - - - - - - - + + + - - + + - + - - + + [r_cos] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2066,44 +1838,62 @@ - - - + + + - - + + - - + + - - + + [r_sin] - - + + - - - - + + + + + + + + + + + + + + + - + - - sfix16_En4 + + [n_limProt] + + + + + + + @@ -2114,60 +1904,29 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + [n_min] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2178,84 +1937,28 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [Vq] - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - + @@ -2267,153 +1970,28 @@ - - - - - - - - - - - - - - - - u1 - - - - - - - - case [ 1 ]: - - - - - - - - case [ 2 ]: - - - - - - - - case [ 3 ]: - - - - - - - - default: - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - + + - + - - + + - - [n_limProt] + + [r_inpTgtSca] - + @@ -2430,78 +2008,78 @@ - + - + - + - + id_Tgt - + - + id - + - + Vd_max - + - + Vd_min - + - + id_max - + - + id_min - + - + Vd - + - + if { } @@ -2509,7 +2087,7 @@ - + @@ -2522,7 +2100,7 @@ - + @@ -2531,11 +2109,11 @@ - + - + Vd_Calculation @@ -2543,42 +2121,42 @@ - + - - + + - - + + - - action + + sfix16_En4 - + - - + + - - + + - - sfix16_En4 + + action @@ -2589,34 +2167,34 @@ - + - + - + - + - + - - [iq_limPrott] + + [iq_max] - + @@ -2628,28 +2206,28 @@ - - + + - + - - + + - - [iq_max] + + [id] - + @@ -2661,28 +2239,28 @@ - - + + - + - - + + - - [n_motAbs] + + [a_elecAngle] - + @@ -2694,28 +2272,28 @@ - - + + - + - - + + - - [b_enaFOC] + + [Vd] - + @@ -2727,28 +2305,28 @@ - - + + - + - - + + - - [Vd_min] + + [n_max] - + @@ -2760,28 +2338,28 @@ - - + + - + - - + + - - [id_Tgt] + + [id_max] - + @@ -2793,29 +2371,168 @@ - - - + + + - - + + + + + + + + - - + + - - [id_min] + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + n_mot + + + + + + + + n_max + + + + + + + + n_min + + + + + + + + iq_limProt + + + + + + + + Vq_Spd + + + + + + + + case: { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Speed_Mode + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action @@ -2826,28 +2543,34 @@ - - + + + + + + + + - + - - + + - - [Vq_Spd] + + [n_motAbs] - + @@ -2859,28 +2582,28 @@ - - + + - + - - + + - - [r_cos] + + [Vq_Vlt] - + @@ -2892,44 +2615,29 @@ - - - + + + - - + + - - + + - - [id] + + [Vq_Spd] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2940,44 +2648,62 @@ - - - + + + - - + + - - + + - - + + [iq_min] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vq_Open] + + + + + + + @@ -2998,11 +2724,11 @@ - + - + [z_ctrlMod] @@ -3020,11 +2746,11 @@ - + - + uint8 @@ -3036,43 +2762,90 @@ - - - + + + - - + + - + - - + + - - [iq_limPrott] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 - + - - + + - + sfix16_En4 @@ -3094,11 +2867,11 @@ - + - + [n_limProt] @@ -3116,11 +2889,11 @@ - + - + sfix16_En4 @@ -3132,43 +2905,76 @@ - - + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + - + - + - - [n_max] + + [n_min] - + - + - - + + - + sfix16_En4 @@ -3180,62 +2986,44 @@ - - - + + + - - + + - - + + - - [Vq_prev] + + [n_max] - - + + - - - - - - - - - - - - - - - + + + + - + - - [Vq_min] - - - - - - - + + sfix16_En4 @@ -3294,44 +3082,29 @@ - - - + + + - - + + - + - - [n_mot] + + [id_TgtAbs] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3352,11 +3125,11 @@ - + - + [iq_limPrott] @@ -3374,11 +3147,11 @@ - + - + sfix16_En4 @@ -3390,43 +3163,43 @@ - - + + - + - - + + - - [Vq] + + [iq_min] - + - + - - + + - + sfix16_En4 @@ -3448,11 +3221,11 @@ - + - + [iq_max] @@ -3470,11 +3243,11 @@ - + - + sfix16_En4 @@ -3486,29 +3259,92 @@ - - - + + + - - + + + + + + + + + [id_min] + + + + + + + + + + + + + + + - + - - [Vq_Trq] + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3529,11 +3365,11 @@ - + - + [Vd_min] @@ -3551,11 +3387,11 @@ - + - + sfix16_En4 @@ -3567,29 +3403,44 @@ - - - + + + - - + + - - + + - - [Vq_Open] + + [iq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3600,43 +3451,43 @@ - - + + - + - + - - [Vd_min] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -3648,43 +3499,43 @@ - - + + - + - + - - [Vq] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -3696,43 +3547,43 @@ - - + + - + - - + + - - [Vq_Open] + + [id] - + - + - - + + - + sfix16_En4 @@ -3744,125 +3595,538 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - + - + - - [Vq_Trq] + + [Vq_Spd] - + - + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + z_ctrlMod + + + + + + + + Vd + + + + + + + + id_TgtAbs + + + + + + + + iq + + + + + + + + n_mot + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + iq_max + + + + + + + + iq_min + + + + + + + + iq_limProt + + + + + + + + n_max + + + + + + + + n_min + + + + + + + + n_limProt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Motor_Limitations + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - - + + + + - - [iq] + + - - - - - - + + + + + + + sfix16_En4 - + + + + + + + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - - + + + + - - [Vd_max] + + - - - - - - + + + + + + + sfix16_En4 @@ -3874,6 +4138,12 @@ + + + + + + @@ -3883,11 +4153,11 @@ - + - + [iq] @@ -3905,11 +4175,11 @@ - + - + sfix16_En4 @@ -3921,43 +4191,43 @@ - - + + - + - + - - [Vd] + + [Vq_Vlt] - + - + - - + + - + sfix16_En4 @@ -3969,124 +4239,43 @@ - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - r_devSignal1 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - - - - - - - + + - + - + - - [Vq_max] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -4098,43 +4287,43 @@ - - + + - + - + - - [Vq_prev] + + [id_TgtAbs] - + - + - - + + - + sfix16_En4 @@ -4146,43 +4335,43 @@ - - + + - + - + - - [Vq] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -4194,29 +4383,44 @@ - - - + + + - - + + - - + + - - [id_max] + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4227,44 +4431,44 @@ - - + + - + - + - - [b_enaFOC] + + [n_mot] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -4275,43 +4479,43 @@ - - + + - + - + - - [id] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -4323,62 +4527,44 @@ - - - + + + - - + + - - + + - - [Vq] + + [iq_limPrott] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [n_max] - - - - - - - + + sfix16_En4 @@ -4399,11 +4585,11 @@ - + - + [iq] @@ -4421,11 +4607,11 @@ - + - + sfix16_En4 @@ -4447,11 +4633,11 @@ - + - + [n_motAbs] @@ -4469,11 +4655,11 @@ - + - + sfix16_En4 @@ -4485,29 +4671,44 @@ - - - + + + - - + + - - + + - - [n_min] + + [r_cos] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -4518,43 +4719,43 @@ - - + + - + - + - - [Vq_Vlt] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -4566,43 +4767,91 @@ - - + + - + - - + + - + [r_sin] - + - + - - + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + - + sfix16_En14 @@ -4614,44 +4863,62 @@ - - - + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - [Vq_max] + + [iq_limPrott] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4662,44 +4929,44 @@ - - + + - + - + - - [z_ctrlMod] + + [Vq_max] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4710,44 +4977,29 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [z_ctrlMod] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4758,43 +5010,43 @@ - - + + - + - + - - [Vd_max] + + [Vq_Trq] - + - + - - + + - + sfix16_En4 @@ -4806,43 +5058,43 @@ - - + + - + - + - - [Vd] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -4854,43 +5106,43 @@ - - + + - + - + - - [id_TgtAbs] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -4902,43 +5154,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_Open] - + - + - - + + - + sfix16_En4 @@ -4950,44 +5202,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + 4 - - + + - - - + + + - - + + - - sfix16_En4 + + Vq @@ -4998,43 +5250,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -5046,44 +5298,29 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [Vq_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -5094,43 +5331,43 @@ - - + + - + - - + + - - [iq_min] + + [iq] - + - + - - + + - + sfix16_En4 @@ -5142,43 +5379,43 @@ - - + + - + - + - - [id_Tgt] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -5190,62 +5427,44 @@ - - - + + + - - + + - - + + - - [iq] + + [Vq_max] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [Vd] - - - - - - - + + sfix16_En4 @@ -5256,269 +5475,119 @@ - - - + + + - + - - + + - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - n_mot - - - - - - - - n_max - - - - - - - - n_min - - - - + + - - iq_limProt + + Vq_prev - - + + - - Vq_Spd + + Vq_Open - - + + - - case: { } + + default: { } - + - - + + - - - - - - - - - - - - - - - Speed_Mode - - - - - - - + - - + + - - + + - - sfix16_En4 + + Open_Mode - + - + - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - + + + + + + action - + + + + + + + - - + + - + sfix16_En4 @@ -5530,43 +5599,49 @@ - - + + + + + + + + - + - + - - [Vq_Spd] + + [id] - + - + - - + + - + sfix16_En4 @@ -5578,44 +5653,44 @@ - - + + - + - - + + - - [a_elecAngle] + + [b_enaFOC] - + - - + + - - + + - - ufix16_En6 + + boolean @@ -5626,43 +5701,43 @@ - - + + - + - + - - [Vd] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -5674,172 +5749,185 @@ - - - + + + - - + + + + + + + + - - + + - - [id_max] + + a_elecAngle - - - - - - + + + + + + + n_motAbs - - - - - - + + + + + + + r_sin - - + + - - sfix16_En4 + + r_cos - - - - - - - - - - - - - - - - - - - - + + - - [a_elecAngle] + + id_Tgt + + + + + + + + id_TgtAbs - - + + + + + + + + - - - - - - - - - - - - - - - + - - - + + + + - - [b_enaFOC] + + - - - - - - + + + + + + + Field_Weakening - - + + + + + + + + - - + + - - boolean + + sfix16_En4 - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - [r_inpTgtSca] + + sfix16_En14 - - - + + + + + + + + + + + + + + + + + sfix16_En14 - + + + + + + + - - + + - + sfix16_En4 @@ -5851,28 +5939,34 @@ - - + + + + + + + + - + - - + + - - [r_inpTgtSca] + + [Vq_prev] - + @@ -5884,44 +5978,44 @@ - - + + - + - + - - [id] + + [z_ctrlMod] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -5932,29 +6026,44 @@ - - - + + + - - + + - - + + - - [r_sin] + + [Vq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -5967,49 +6076,49 @@ - + - + - + - + - + iq_raw - + - + id_raw - + - + iq - + - + id @@ -6017,7 +6126,7 @@ - + @@ -6030,7 +6139,7 @@ - + @@ -6039,11 +6148,11 @@ - + - + Current_Filtering @@ -6051,7 +6160,7 @@ - + @@ -6060,11 +6169,11 @@ - + - + sfix16_En4 @@ -6072,7 +6181,7 @@ - + @@ -6081,11 +6190,11 @@ - + - + sfix16_En4 @@ -6097,34 +6206,34 @@ - + - + - + - + - - + + - - [id_TgtAbs] + + [Vq_Trq] - + @@ -6136,44 +6245,29 @@ - - - + + + - - + + - - + + - - [r_sin] + + [id_min] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -6184,78 +6278,44 @@ - - - + + + - - + + - - + + - - [Vq_Vlt] + + [Vd_min] - - + + - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - + + sfix16_En4 @@ -6266,44 +6326,44 @@ - - + + - + - + - - [r_cos] + + [Vd] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -6314,29 +6374,44 @@ - - - + + + - - + + - - + + - - [id] + + [Vq_prev] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -6347,44 +6422,44 @@ - - + + - + - - + + - - [n_mot] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -6395,28 +6470,28 @@ - - + + - + - - + + - - [iq_min] + + [Vd_min] - + @@ -6428,29 +6503,59 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] + + 6 - - + + + + + + + + + + + + + + + + + a_elecAngle + + + + + + + + + + + + + + + ufix16_En6 @@ -6461,210 +6566,146 @@ - - - + + + - + - - + + - - - - - - - z_ctrlMod - - - - - - - - Vd - - - - - - - - id_TgtAbs - - - - - - - - iq - - - - - - - - n_mot - - - - - - - - Vd_max - - + - - Vd_min + + r_inpTgtSca - + - - Vq_max + + Vq_max - + - - Vq_min + + Vq_min - + - - id_max + + iq - + - - id_min + + iq_max - + - - iq_max + + iq_min - + - - iq_min + + n_limProt - + - - iq_limProt + + Vq_Trq - - - - - n_max - - - - - - - - n_min - - - - + - - n_limProt + + case: { } - + - - + + - + - - + + - - + + - - Motor_Limitations + + Torque_Mode - + - + - - + + - + sfix16_En4 @@ -6672,230 +6713,233 @@ - + - - + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + - + - - sfix16_En4 + + [a_elecAngle] + + + + + + + - - - - - - - - + + - + - - sfix16_En4 + + ufix16_En6 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [b_enaFOC] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - + + - + - - sfix16_En4 + + boolean - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + 5 - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - - + + + - + - - sfix16_En4 + + n_motAbs - - - - - - - + - + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [id_Tgt] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 @@ -6907,49 +6951,43 @@ - - - - - - - - + + - + - + - - [Vq_max] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -6961,44 +6999,59 @@ - - - + + + - - + + - - + + - - if { } + + 4 - - + + - - + + - - + + + + + + n_mot + + + + + + + + + + + - - Action Port + + sfix16_En4 @@ -7009,43 +7062,43 @@ - - + + - + - + - - [n_min] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -7057,59 +7110,29 @@ - - - + + + - - + + - - + + - - 5 + + [iq] - - - - - - - - - - - - - - - - - n_motAbs - - - - - - - - - - - - - - - sfix16_En4 + + @@ -7120,44 +7143,29 @@ - - - + + + - - + + - + - - + + [Vq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -7168,43 +7176,43 @@ - - + + - + - + - - [id_Tgt] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -7216,44 +7224,44 @@ - - + + - + - - + + - - [r_cos] + + [id_Tgt] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -7264,58 +7272,43 @@ - - - + + + - - + + - - + + - - 4 + + [id] - - - - - - - - - - - - - - - - - n_mot + + - + - - + + - + sfix16_En4 @@ -7327,128 +7320,52 @@ - - - + + + - - - - - - - - + + - - - - - - i_phaAB - - - - - - - - i_phaBC - - - - + + - - i_alpha + + u1 - - + + - - i_beta + + if(u1 ~= 0) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Clarke_Transform - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - - - + + - - + + - - sfix16_En4 + + action @@ -7460,12 +7377,6 @@ - - - - - - @@ -7475,11 +7386,11 @@ - + - + 3 @@ -7497,11 +7408,11 @@ - + - + r_inpTgtSca @@ -7512,11 +7423,11 @@ - + - + sfix16_En4 @@ -7528,107 +7439,152 @@ - - - + + + - - + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + iq_limProt + + + + + + + + n_limProt + + + + + + + + Vq_Vlt + - + - - [Vq_min] + + case: { } - - + + + + + + + + - - - + + + + + + + + + - + - - sfix16_En4 + + Voltage_Mode - - - - - - - - - - - - - - - + - - - + + + + - - 6 - - - - - - - - - - - - - - + + - - + + - - a_elecAngle + + action - - + + + + + + + + - - + + - - ufix16_En6 + + sfix16_En4 @@ -7639,59 +7595,50 @@ - - - + + + + + + + + + - - + + - - + + - - 2 + + if { } - - + + - - - - - - - - - - z_ctrlMod - - - - - - - + + - - + + - - uint8 + + Action Port @@ -7702,43 +7649,43 @@ - - + + - + - + - - [Vq_min] + + [n_mot] - + - + - - + + - + sfix16_En4 @@ -7750,122 +7697,106 @@ - - - + + + - + - - + + - - - - - - - a_elecAngle - - - - - - - - n_motAbs - - - - + + + - - r_sin + + i_phaAB - - + + - - r_cos + + i_phaBC - - + + - - id_Tgt + + i_alpha - - + + - - id_TgtAbs + + i_beta - + - - + + - + - - + + - - + + - - Field_Weakening + + Clarke_Transform - + - + - - + + - + sfix16_En4 @@ -7873,62 +7804,74 @@ - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En14 + + [Vq_min] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 @@ -7940,50 +7883,44 @@ - - - - - - - - - + + + - - + + - - + + - - [id_min] + + 5 - - + + - - - + + + - - + + - - sfix16_En4 + + r_devSignal1 @@ -7994,59 +7931,59 @@ - - + + - + - + - - 1 + + 2 - + - - + + - - + + - - b_enaFOC + + z_ctrlMod - - + + - - + + - - boolean + + uint8 @@ -8057,43 +7994,43 @@ - - + + - + - + - - [Vd_max] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -8103,6 +8040,69 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + b_enaFOC + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -9843,5 +9843,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json index a45e431..61cf2e7 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json @@ -160,11 +160,103 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8723", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"b_selPhaABCurrMeas", + "label":"b_selPhaABCurrMeas", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "b_selPhaABCurrMeas", + "on", + "inf", + "[]", + "[]", + "boolean", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8720", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "on", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8721", "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"Merge1", - "label":"Merge1", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -199,11 +291,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8719", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -212,7 +304,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "i_alphaBC", "local", "Tag" ], @@ -232,11 +324,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8718", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8715", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -245,7 +337,7 @@ "IconDisplay" ], "values":[ - "i_betaBC", + "i_phaBC", "local", "Tag" ], @@ -265,11 +357,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8714", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -278,7 +370,7 @@ "IconDisplay" ], "values":[ - "i_alphaBC", + "i_phaAB", "local", "Tag" ], @@ -360,21 +452,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8715", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_phaBC", - "local", + "i_phaAB", "Tag" ], "tabs":[ @@ -388,7 +478,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_alpha", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -424,37 +545,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8720", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8703", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "on", - "-1", - "on" + "i_alphaBC", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -462,16 +571,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8719", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_beta", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -479,7 +621,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_alphaAB", "Tag" ], "tabs":[ @@ -498,11 +640,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -510,7 +652,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "i_phaAB", "Tag" ], "tabs":[ @@ -529,11 +671,110 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8703", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8713", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_alphaAB", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8712", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_alpha", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8718", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_betaBC", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -541,7 +782,7 @@ "IconDisplay" ], "values":[ - "i_alphaBC", + "i_beta", "Tag" ], "tabs":[ @@ -560,42 +801,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8723", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"b_selPhaABCurrMeas", - "label":"b_selPhaABCurrMeas", + "name":"Merge1", + "label":"Merge1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" ], "values":[ - "b_selPhaABCurrMeas", - "on", - "inf", - "[]", + "2", "[]", - "boolean", "off", - "inf" + "[]" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 3 ] }, "viewer":{ @@ -604,7 +835,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Merge", "masktype":"" } }, @@ -706,83 +937,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8714", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaAB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8721", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" - ], - "values":[ - "2", - "[]", - "off", - "[]" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8713", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -791,7 +950,7 @@ "IconDisplay" ], "values":[ - "i_alphaAB", + "i_betaAB", "local", "Tag" ], @@ -810,68 +969,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_alpha", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8705", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_betaBC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "className":"Simulink.SubSystem", @@ -1037,11 +1134,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8705", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -1049,7 +1146,7 @@ "IconDisplay" ], "values":[ - "i_alphaAB", + "i_betaBC", "Tag" ], "tabs":[ @@ -1134,103 +1231,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8712", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_alpha", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaAB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_betaAB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.png index fa884d0b53a218e2ac7055b0e8f67af0bf5cc0c2..fc8ba69a5bf7b5ab54975a7e4560b2c05726367a 100644 GIT binary patch literal 5858 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 W={L_q4luNas6TnCT%~07_WuCMN+QPq literal 5855 zcmd^@hc}z=`^Te3RVlTrN)b9xL4?|S)T*kj_THr^5i@x=gGP6YrNmD`-*$4qeer;Mg@UDXf)K7pMdY)iw`9QxR)81 zzXxAeywpv6A&_fdFFqt`{MT+mAk4`c$_h^d-)+x6^I}-dqgV*o6Pikow(n1Ov%Se+ zdx@3(wtUP7==MG5kpVkNYtxl4;@QsA=DWWK{66}AG|Haa%l~sWVNDJ78iDdI@Ws@XBn6eT~v0wQ*O~1`S>nb zJvO1Z_})9&P`1?{*-^6|vHgF#Ms?*9yd=!`NgB-`WNLMF=L_Cvq)I!TE-AThTsGd~ z9u*a}hQq}Utt!D-zebQ=hQWR&6${Cd{t|dE6GTU&D@|_XuGDw>=

yO;aPj@s%{}`&6xltPEnmI}fq)$%<&40@kHrHt`VGdJ$yBVN>aR)jn*U*E{v;#eS{}n5|3kibKD_uvf$9 zeP?Q+5c`N-P2k%KC%;i(CIy=UdQekyVnN_h^m7!ZHVM%(w{#hR;n{H!G$kJd-zKA= zsN!(nx(#d)B=b2tl2H1lD1mgngM)*5)Z3fI<6atCT8&Lqd$)q2CdKAtWMnF~wj2jx z%`@Te!K(>-^#2RAtgK||daDy**rv(s7>L7w*N>4AX!(8ok+lK%*GuO6{8^xGTy?(3 pNhSU_-w?j!)*d%dkG6kTgjG6}BH(NJ;6*M(SJP1Ai<;xJ{{hX*iwFP! literal 5599 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 - - - + + + - - + + - + - + - + - + - + - - - - - - - - - + - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -215,7 +207,7 @@ - + @@ -223,19 +215,19 @@ - + - + - + - + @@ -253,11 +245,11 @@ - + - + sfix16_En4 @@ -269,51 +261,67 @@ - - - + + + - - + + + + + + + + + + - + - + - + - + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -325,44 +333,52 @@ - - - + + + - - + + - - + + - - 1 + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -373,59 +389,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - + - + - + ufix16_En16 @@ -715,5 +715,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json index 5987b63..3807d34 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json @@ -195,6 +195,86 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8759", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"id_Tgt", + "label":"id_Tgt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", "className":"Simulink.Outport", @@ -437,42 +517,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"b_fieldWeakEna", - "label":"b_fieldWeakEna", + "name":"r_cos_M1", + "label":"r_cos_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", "OutMin", "OutMax", - "OutDataTypeStr", + "InternalRulePriority", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" ], "values":[ - "b_fieldWeakEna", + "1", + "off", + "Explicit values", + "Dialog", + "r_cos_M1", + "Flat", + "None", "on", - "inf", + "0", + "off", + "Inherit: Same as output", "[]", "[]", - "boolean", + "fixdt(1,16,14)", + "[]", + "[]", + "Speed", "off", - "inf" + "Simplest", + "off", + "Clip", + "Inherit: Same as output", + "", + "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 10, + 20 ] }, "viewer":{ @@ -481,7 +593,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Interpolation_n-D", "masktype":"" } }, @@ -564,6 +676,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8750", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_elecPeriod3", + "label":"a_elecPeriod3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", + "on", + "inf", + "[]", + "[]", + "uint8", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8760", "className":"Simulink.Outport", @@ -645,11 +806,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8750", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"a_elecPeriod3", - "label":"a_elecPeriod3", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -668,7 +829,7 @@ "inf", "[]", "[]", - "uint8", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -694,112 +855,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", + "name":"a_elecAngle_XA", + "label":"a_elecAngle_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", + "SampleTime" ], "values":[ - "0", - "on", - "inf", + "Explicit values", + "Dialog", + "a_elecAngle_XA", + "Index only", + "Evenly spaced points", + "Clip", + "off", + "None", + "off", + "Inherit: Same as input", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754", - "className":"Simulink.Interpolation_nD", - "icon":"WebViewIcon3", - "name":"r_cos_M1", - "label":"r_cos_M1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", - "OutMin", - "OutMax", - "InternalRulePriority", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" - ], - "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "r_cos_M1", - "Flat", - "None", - "on", - "0", - "off", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(1,16,14)", - "[]", - "[]", - "Speed", + "uint8", + "fixdt(0,16,14)", "off", "Simplest", - "off", - "Clip", - "Inherit: Same as output", + "on", "", + "10", + "11", + "10", + "Inherit: auto", "-1" ], "tabs":[ @@ -809,8 +919,8 @@ ], "tabs_idx":[ 0, - 10, - 20 + 9, + 16 ] }, "viewer":{ @@ -819,77 +929,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"PreLookup", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"a_elecAngle_XA", - "label":"a_elecAngle_XA", + "name":"b_fieldWeakEna", + "label":"b_fieldWeakEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" + "FramePeriod" ], "values":[ - "Explicit values", - "Dialog", - "a_elecAngle_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", - "Inherit: Same as input", + "b_fieldWeakEna", + "on", + "inf", "[]", "[]", - "uint8", - "fixdt(0,16,14)", + "boolean", "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" + "inf" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 9, - 16 + 3, + 7 ] }, "viewer":{ @@ -898,79 +978,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8746", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"id_fieldWeak_M1", - "label":"id_fieldWeak_M1", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", "OutMin", "OutMax", - "InternalRulePriority", + "OutDataTypeStr", "LockScale", + "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", "SampleTime" ], "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "id_fieldWeak_M1", - "Linear", - "None", - "off", - "0", - "off", - "Inherit: Same as output", "[]", "[]", - "fixdt(0,10,0)", - "[]", - "[]", - "Speed", + "fixdt(1,16,4)", "off", - "Simplest", + "Real World Value (RWV)", + "Floor", "off", - "Clip", - "Inherit: Same as output", - "", "-1" ], "tabs":[ - "Main", - "Data Types", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 10, - 20 + 7 ] }, "viewer":{ @@ -979,7 +1025,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -1041,40 +1087,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8746", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "2", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "Real World Value (RWV)", - "Floor", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 2, + 11 ] }, "viewer":{ @@ -1083,78 +1149,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8759", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"id_Tgt", - "label":"id_Tgt", + "name":"id_fieldWeak_M1", + "label":"id_fieldWeak_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Port", - "IconDisplay", + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", "OutMin", "OutMax", - "OutDataTypeStr", + "InternalRulePriority", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", + "1", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Explicit values", + "Dialog", + "id_fieldWeak_M1", + "Linear", + "None", "off", + "0", "off", + "Inherit: Same as output", "[]", + "[]", + "fixdt(0,10,0)", + "[]", + "[]", + "Speed", "off", - "held", + "Simplest", "off", - "0", + "Clip", + "Inherit: Same as output", "", - [ - ], - "Dialog", - "Auto", - "off" + "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 10, + 20 ] }, "viewer":{ @@ -1163,16 +1230,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Interpolation_n-D", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1195,7 +1262,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -1293,73 +1360,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.png index 7e3b00003035153769b338a4b5d075b21a31d128..50d14ee2ef2f2ca7289f78ff92c0637552fed7d5 100644 GIT binary patch literal 9524 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 S0w06IP*>Jgs#36i{XYPbHh_8n literal 9515 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 xu=8;%UjKs4JOJFS^Zvi_pZ`B@;5mInG}tyU7 + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + id_Tgt + + + + + + + + @@ -107,11 +155,11 @@ - + - + 2 @@ -129,11 +177,11 @@ - + - + r_cos @@ -155,11 +203,11 @@ - + - + 1 @@ -177,11 +225,11 @@ - + - + r_sin @@ -195,52 +243,28 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + @@ -248,7 +272,7 @@ - + @@ -264,7 +288,7 @@ - + @@ -272,7 +296,7 @@ - + @@ -280,7 +304,7 @@ - + @@ -288,7 +312,7 @@ - + @@ -296,7 +320,7 @@ - + @@ -304,7 +328,7 @@ - + @@ -312,7 +336,7 @@ - + @@ -320,7 +344,7 @@ - + @@ -328,7 +352,7 @@ - + @@ -336,7 +360,7 @@ - + @@ -344,7 +368,7 @@ - + @@ -352,7 +376,7 @@ - + @@ -360,7 +384,7 @@ - + @@ -368,7 +392,7 @@ - + @@ -376,7 +400,7 @@ - + @@ -384,7 +408,7 @@ - + @@ -392,7 +416,7 @@ - + @@ -400,7 +424,7 @@ - + @@ -408,7 +432,7 @@ - + @@ -416,7 +440,7 @@ - + @@ -424,7 +448,7 @@ - + @@ -432,7 +456,7 @@ - + @@ -440,7 +464,7 @@ - + @@ -448,7 +472,7 @@ - + @@ -456,7 +480,7 @@ - + @@ -464,7 +488,7 @@ - + @@ -472,7 +496,7 @@ - + @@ -480,7 +504,7 @@ - + @@ -488,30 +512,54 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + - + 1-D T(k,f) - + - + k1 - + - + f1 @@ -529,11 +577,11 @@ - + - + r_sin_M1 @@ -544,11 +592,11 @@ - + - + sfix16_En14 @@ -560,778 +608,325 @@ - - - + + + - - + + - - + + - - b_fieldWeakEna - - - - - - - + + - - - - - - + + + + + + + - - + + - - b_fieldWeakEna + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n_fieldWeak_XA - - - - - - - - - - - - - - - ufix8_En6 - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - id_TgtAbs - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + 1-D T(k,f) - + - + k1 - + - + f1 @@ -1349,11 +944,11 @@ - + - + r_cos_M1 @@ -1364,11 +959,11 @@ - + - + sfix16_En14 @@ -1380,95 +975,183 @@ - - - + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + + + + - + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + @@ -1481,37 +1164,52 @@ - + - - + + - - + + - - a_elecAngle_XA + + n_fieldWeak_XA - + + + + + + + + + + ufix8_En6 + + + + + + - - + + - + uint8 @@ -1523,179 +1221,283 @@ - - - + + + - - + + - - + + - - + + 0 + + + + + + + + + + + + + + - - + + - - + + uint8 + + + + + + + + + + + + + + + + + + - - + + - - + + 4 + + + + + + + + + + + + + + - - + + - - + + id_TgtAbs + + + + + + + + + + + + + + + + + + - - + + - - + + 0 + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1-D T(k,f) + + - - + + - - k1 + + - - + + - - f1 + + + + + + + + + + - - + + - - + + - - + + - - id_fieldWeak_M1 + + a_elecAngle_XA - - + + - - + + - - ufix10 + + uint8 @@ -1706,70 +1508,149 @@ - - - + + + - - + + - - + + - - + + b_fieldWeakEna + + + + + + + + + + + + + + - - + + - - + + b_fieldWeakEna + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + @@ -1777,7 +1658,7 @@ - + @@ -1785,7 +1666,7 @@ - + @@ -1793,7 +1674,7 @@ - + @@ -1801,7 +1682,7 @@ - + @@ -1809,7 +1690,7 @@ - + @@ -1817,7 +1698,7 @@ - + @@ -1825,7 +1706,7 @@ - + @@ -1833,7 +1714,7 @@ - + @@ -1841,7 +1722,7 @@ - + @@ -1849,157 +1730,93 @@ - + - + - - T + + - + - - F - - - - - - - - - - - - - - + + - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - 3 + + T + + + + + + + + F - - + + - - - + + + - - + + - - id_Tgt + + sfix16_En4 @@ -2020,11 +1837,11 @@ - + - + 2 @@ -2042,11 +1859,11 @@ - + - + n_motAbs @@ -2057,11 +1874,11 @@ - + - + sfix16_En4 @@ -2073,44 +1890,179 @@ - - - + + + - - + + - - + + - - -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 - - + + + + + + + + + + + + + + + + + id_fieldWeak_M1 - - + + - - + + - - sfix16_En4 + + ufix10 @@ -2131,11 +2083,11 @@ - + - + 1 @@ -2153,11 +2105,11 @@ - + - + a_elecAngle @@ -2168,11 +2120,11 @@ - + - + ufix16_En6 @@ -2182,6 +2134,54 @@ + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -2440,5 +2440,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json index 4664627..e42e60a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json @@ -472,53 +472,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8879", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8878", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Mux4", + "label":"Mux4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "IconShape", "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "DisplayOption" ], "values":[ - "rectangular", - "--", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "3", + "bar" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -526,16 +498,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"MinMax2", + "label":"MinMax2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -553,7 +525,7 @@ ], "values":[ "Inherit: Inherit via internal rule", - "min", + "max", "on", "1", "off", @@ -643,11 +615,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8879", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -667,7 +639,7 @@ ], "values":[ "rectangular", - "-+", + "--", "off", "Inherit: Inherit via internal rule", "[]", @@ -675,7 +647,7 @@ "fixdt(1,16,4)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -702,25 +674,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8878", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8873", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Mux4", - "label":"Mux4", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "3", - "bar" + "0.5", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Floor", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -728,16 +728,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8870", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Add1", - "label":"Add1", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -762,10 +762,10 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as first input", - "off", - "Floor", + "fixdt(1,16,4)", "off", + "Simplest", + "on", "1", "All dimensions", "-1" @@ -792,53 +792,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8869", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8871", + "className":"Simulink.Demux", "icon":"WebViewIcon3", - "name":"Add", - "label":"Add", + "name":"Demux", + "label":"Demux", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Outputs", + "DisplayOption", + "BusSelectionMode" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "off", - "1", - "All dimensions", - "-1" + "3", + "bar", + "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -846,7 +820,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Demux", "masktype":"" } }, @@ -910,52 +884,105 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8873", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "Gain", - "Multiplication", + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "on", + "1", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"MinMax", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8870", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Add1", + "label":"Add1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", + "CollapseDim", + "CollapseMode", "SampleTime" ], "values":[ - "0.5", - "Element-wise(K.*u)", + "rectangular", + "-+", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as input", + "Inherit: Same as first input", "off", "Floor", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", + "on", + "1", + "All dimensions", "-1" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, - 11 + 10 ] }, "viewer":{ @@ -964,51 +991,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8869", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"MinMax2", - "label":"MinMax2", + "name":"Add", + "label":"Add", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", + "IconShape", "Inputs", - "LockScale", - "OutMax", + "InputSameDT", + "AccumDataTypeStr", "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", "SaturateOnIntegerOverflow", - "ZeroCross" + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Inherit: Inherit via internal rule", - "max", - "on", - "1", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Floor", - "-1", + "Inherit: Inherit via internal rule", "off", - "on" + "Floor", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 10 ] }, "viewer":{ @@ -1017,7 +1050,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Sum", "masktype":"" } }, @@ -1080,39 +1113,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8871", - "className":"Simulink.Demux", - "icon":"WebViewIcon3", - "name":"Demux", - "label":"Demux", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "Outputs", - "DisplayOption", - "BusSelectionMode" - ], - "values":[ - "3", - "bar", - "off" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Demux", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg index f8ed0d4..148940c 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg @@ -361,51 +361,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + - + - - + + - + sfix16_En4 @@ -417,30 +409,30 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -454,22 +446,22 @@ - - + + - + - - + + - + sfix16_En4 @@ -491,11 +483,11 @@ - + - + 2/sqrt(3) @@ -513,11 +505,11 @@ - + - + int16 @@ -529,59 +521,51 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix16_En4 @@ -593,43 +577,43 @@ - - - + + + - - + + - - + + - - + + 0.5 - - + + - + - - + + - + sfix16_En4 @@ -641,59 +625,59 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix16_En4 @@ -705,68 +689,74 @@ - - - + + + - - + + - - + + - - + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + int16 - - - + + + + + + + + + + + int16 - - + + - - + + - - sfix16_En4 + + int16 @@ -787,11 +777,11 @@ - + - + 1/2 @@ -809,11 +799,11 @@ - + - + sfix16_En5 @@ -825,43 +815,59 @@ - - - + + + - - + + - + - - + + - - 0.5 + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -873,59 +879,59 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -937,44 +943,68 @@ - - - + + + - - + + + + + + + + + + - + - - sqrt(3)/2 + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - sfix16_En5 + + sfix16_En4 @@ -985,74 +1015,44 @@ - - - + + + - - + + - - + + - - + + sqrt(3)/2 - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - int16 + + - - + + - + - - int16 + + sfix16_En5 @@ -1193,10 +1193,10 @@ - + - + @@ -1384,10 +1384,10 @@ - + - + @@ -1409,5 +1409,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json index 2384a1a..7dcd594 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json @@ -509,7 +509,7 @@ "fixdt(1,16,4)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -568,7 +568,7 @@ "fixdt(1,16,4)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -595,11 +595,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -608,7 +608,7 @@ "IconDisplay" ], "values":[ - "Vq", + "r_sin", "local", "Tag" ], @@ -690,42 +690,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -734,7 +703,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd", "local", "Tag" ], @@ -847,19 +816,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd", + "Vq", + "local", "Tag" ], "tabs":[ @@ -873,7 +844,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -935,11 +906,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -992,27 +994,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8891", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "r_cos", - "local", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,5)", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1020,16 +1046,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1082,11 +1108,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1095,7 +1121,7 @@ "IconDisplay" ], "values":[ - "Vd", + "r_cos", "local", "Tag" ], @@ -1115,51 +1141,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8891", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "Vq", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1167,16 +1167,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1184,7 +1184,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd", "Tag" ], "tabs":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg index 567829f..f77fe20 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg @@ -548,11 +548,11 @@ - - + + - + @@ -562,14 +562,14 @@ - - [Vq] + + [r_sin] - + @@ -677,76 +677,28 @@ - - - - - - - - - - - - - - - - [Vq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - + + - + - + - - [r_sin] + + [Vd] - + @@ -768,11 +720,11 @@ - + - + [r_cos] @@ -790,11 +742,11 @@ - + - + sfix16_En14 @@ -816,11 +768,11 @@ - + - + [Vq] @@ -838,11 +790,11 @@ - + - + sfix16_En4 @@ -864,11 +816,11 @@ - + - + [r_cos] @@ -886,11 +838,11 @@ - + - + sfix16_En14 @@ -902,44 +854,29 @@ - - - + + + - - + + - - + + - - [Vd] + + [Vq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -960,19 +897,19 @@ - + - + - + - + @@ -990,11 +927,11 @@ - + - + sfix16_En5 @@ -1006,51 +943,99 @@ - - + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En5 @@ -1062,29 +1047,52 @@ - - - + + + - - + + + + + + + + + + - + - - [r_cos] + + - - + + + + + + + + + + + + + + + + + sfix16_En5 @@ -1095,51 +1103,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En5 @@ -1151,28 +1159,28 @@ - - + + - + - + - - [Vd] + + [r_cos] - + @@ -1184,52 +1192,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + [Vq] - - + + - + - + - - sfix16_En5 + + sfix16_En4 @@ -1240,11 +1240,11 @@ - - + + - + @@ -1254,30 +1254,30 @@ - - [r_sin] + + [Vd] - + - - + + - + - - sfix16_En14 + + sfix16_En4 @@ -1540,5 +1540,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json index 3d6e18c..527b837 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json @@ -245,11 +245,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9015", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -278,7 +278,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "10", "Port number", "[]", "[]", @@ -291,7 +291,7 @@ "auto", "off", "off", - "V_min", + "V_max", "off", "reset", "off", @@ -405,11 +405,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -438,7 +438,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "5", "Port number", "[]", "[]", @@ -451,7 +451,7 @@ "auto", "off", "off", - "V_min", + "V_max", "off", "reset", "off", @@ -485,11 +485,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -518,7 +518,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -565,11 +565,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -598,7 +598,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "6", "Port number", "[]", "[]", @@ -645,63 +645,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9015", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9005", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"n_max1", + "label":"n_max1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "10", - "Port number", + "n_max", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", - "off", - "reset", + "fixdt(1,16,4)", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -710,8 +679,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -720,16 +689,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -758,7 +727,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "8", "Port number", "[]", "[]", @@ -771,7 +740,7 @@ "auto", "off", "off", - "V_max", + "V_min", "off", "reset", "off", @@ -805,73 +774,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"iq_max_M1", + "label":"iq_max_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", "OutMin", "OutMax", - "OutDataTypeStr", + "InternalRulePriority", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "1", "off", + "Explicit values", + "Dialog", + "iq_max_M1", + "Flat", + "None", + "on", + "0", "off", - "V_min", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,4)", + "[]", + "[]", + "Speed", "off", - "reset", + "Simplest", "off", - "0", + "Clip", + "Inherit: Same as output", "", - [ - ], - "Dialog", - "Auto", - "off" + "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 10, + 20 ] }, "viewer":{ @@ -880,115 +850,35 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Interpolation_n-D", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9000", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "1", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9005", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"n_max1", - "label":"n_max1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "n_max", - "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", + "uint8", "off", "inf" ], @@ -1014,90 +904,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", - "className":"Simulink.PreLookup", - "icon":"WebViewIcon3", - "name":"iq_max_XA", - "label":"iq_max_XA", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", - "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" - ], - "values":[ - "Explicit values", - "Dialog", - "iq_max_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", - "Inherit: Same as input", - "[]", - "[]", - "uint8", - "fixdt(0,8,6)", - "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" - ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 9, - 16 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"PreLookup", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"iq_max_M1", - "label":"iq_max_M1", + "name":"Vq_max_M1", + "label":"Vq_max_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1131,7 +942,7 @@ "off", "Explicit values", "Dialog", - "iq_max_M1", + "Vq_max_M1", "Flat", "None", "on", @@ -1174,11 +985,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"a_elecPeriod2", - "label":"a_elecPeriod2", + "name":"Vd_max1", + "label":"Vd_max1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1192,12 +1003,12 @@ "FramePeriod" ], "values":[ - "0", + "Vd_max", "on", "inf", "[]", "[]", - "uint8", + "fixdt(1,16,4)", "off", "inf" ], @@ -1223,74 +1034,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Vq_max_M1", - "label":"Vq_max_M1", + "name":"a_elecPeriod2", + "label":"a_elecPeriod2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", - "InternalRulePriority", + "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" + "FramePeriod" ], "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "Vq_max_M1", - "Flat", - "None", - "on", "0", - "off", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(1,16,4)", + "on", + "inf", "[]", "[]", - "Speed", - "off", - "Simplest", + "uint8", "off", - "Clip", - "Inherit: Same as output", - "", - "-1" + "inf" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 10, - 20 + 3, + 7 ] }, "viewer":{ @@ -1299,205 +1078,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_limProt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Speed_Limit_Protection", - "label":"Speed_Limit_Protection", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Speed_Limit_Protection", + "label":"Speed_Limit_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1590,11 +1180,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8983", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8986", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1635,27 +1225,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "n_min", - "local", - "Tag" + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1663,16 +1265,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8986", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1713,27 +1315,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8983", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "n_max", - "local", - "Tag" + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1741,32 +1355,665 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8982", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"MinMax", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vq_min", + "label":"Vq_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"iq_limProt", + "label":"iq_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "9", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto16", + "label":"Goto16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd", + "z_ctrlMod", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto15", + "label":"Goto15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto14", + "label":"Goto14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8966", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_limProt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_limProt", "local", "Tag" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vd_max", + "label":"Vd_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_max", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1774,7 +2021,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, @@ -1812,11 +2059,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain6", - "label":"Gain6", + "name":"Gain5", + "label":"Gain5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1871,11 +2118,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8957", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain5", - "label":"Gain5", + "name":"Gain3", + "label":"Gain3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1930,52 +2177,103 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8957", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8955", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Gain3", - "label":"Gain3", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", + "className":"Simulink.PreLookup", + "icon":"WebViewIcon3", + "name":"iq_max_XA", + "label":"iq_max_XA", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", "SampleTime" ], "values":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", + "Explicit values", + "Dialog", + "iq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", "off", - "Zero", + "None", "off", + "Inherit: Same as input", "[]", "[]", - "Inherit: Same as input", + "uint8", + "fixdt(0,8,6)", + "off", + "Simplest", + "on", + "", + "10", + "11", + "10", + "Inherit: auto", "-1" ], "tabs":[ "Main", - "Signal Attributes", - "Parameter Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 9, + 16 ] }, "viewer":{ @@ -1984,42 +2282,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"PreLookup", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8954", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "iq_max", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2027,56 +2313,108 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Gain1", - "label":"Gain1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9016", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"n_min", + "label":"n_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "-1", - "Element-wise(K.*u)", + "11", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -2086,16 +2424,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8955", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2103,7 +2441,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "id_max", "Tag" ], "tabs":[ @@ -2122,11 +2460,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8954", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2134,7 +2472,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "Vd_min", "Tag" ], "tabs":[ @@ -2153,44 +2491,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_mot", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8949", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2198,7 +2503,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -2217,11 +2522,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2230,7 +2535,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "n_min", "local", "Tag" ], @@ -2250,19 +2555,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", + "Vd", + "local", "Tag" ], "tabs":[ @@ -2276,26 +2583,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8966", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_limProt", - "local", + "n_min", "Tag" ], "tabs":[ @@ -2309,7 +2614,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -2346,37 +2651,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8945", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", "className":"Simulink.From", @@ -2409,21 +2683,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8940", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd_min", - "local", + "n_max", "Tag" ], "tabs":[ @@ -2437,16 +2709,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9017", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"n_limProt", + "label":"n_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2475,7 +2747,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "9", + "12", "Port number", "[]", "[]", @@ -2522,85 +2794,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8941", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" - ], - "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"If", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2608,7 +2806,7 @@ "IconDisplay" ], "values":[ - "iq", + "iq_min", "Tag" ], "tabs":[ @@ -2627,19 +2825,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "n_max", + "local", "Tag" ], "tabs":[ @@ -2653,16 +2853,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8936", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2670,7 +2870,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "iq_max", "Tag" ], "tabs":[ @@ -2689,11 +2889,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9016", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_min", - "label":"n_min", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2722,7 +2922,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "11", + "2", "Port number", "[]", "[]", @@ -2769,148 +2969,81 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9000", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", + "name":"Vq_max_XA", + "label":"Vq_max_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", + "SampleTime" ], "values":[ - "0", - "on", - "inf", + "Explicit values", + "Dialog", + "Vq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", + "off", + "None", + "off", + "Inherit: Same as input", "[]", "[]", "uint8", + "fixdt(0,8,6)", "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Current_Limit_Protection", - "label":"Current_Limit_Protection", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", + "Simplest", "on", "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "10", + "11", + "10", + "Inherit: auto", + "-1" ], "tabs":[ "Main", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 6 + 9, + 16 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"PreLookup", "masktype":"" } }, @@ -2974,92 +3107,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "VLT_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8921", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "SPD_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "Vq_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3067,52 +3133,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8982", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "z_ctrlMod", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3120,24 +3164,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_max", + "iq_min", + "local", "Tag" ], "tabs":[ @@ -3151,46 +3197,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "-1", - "on" + "Vd_max", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3198,16 +3228,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8949", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8941", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3215,7 +3245,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "n_min", "Tag" ], "tabs":[ @@ -3234,72 +3264,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Vq_max_XA", - "label":"Vq_max_XA", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" + "FramePeriod" ], "values":[ - "Explicit values", - "Dialog", - "Vq_max_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", - "Inherit: Same as input", + "i_max", + "on", + "inf", "[]", "[]", - "uint8", - "fixdt(0,8,6)", + "fixdt(1,16,4)", "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" + "inf" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 9, - 16 + 3, + 7 ] }, "viewer":{ @@ -3308,30 +3308,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"CTRL_COMM3", + "label":"CTRL_COMM3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "n_limProt", - "Tag" + "TRQ_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3339,55 +3357,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8921", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "4", - "Port number", + "SPD_MODE", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -3396,8 +3396,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -3406,32 +3406,46 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "id_TgtAbs", - "local", - "Tag" + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3439,30 +3453,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8940", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "n_max", - "Tag" + "VLT_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3470,16 +3502,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3487,7 +3519,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "n_limProt", "Tag" ], "tabs":[ @@ -3506,27 +3538,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Gain1", + "label":"Gain1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "z_ctrlMod", - "local", - "Tag" + "-1", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3534,16 +3592,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8918", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"iq", + "label":"iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3566,7 +3624,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -3606,74 +3664,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9017", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8945", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "12", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "n_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3681,32 +3690,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "iq_max", - "local", - "Tag" + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3714,26 +3733,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "iq_limProt", "Tag" ], "tabs":[ @@ -3747,30 +3764,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8936", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8920", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"CTRL_COMM", + "label":"CTRL_COMM", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "iq_max", - "Tag" + "VLT_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3778,7 +3813,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, @@ -3850,32 +3885,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8918", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"CTRL_COMM3", - "label":"CTRL_COMM3", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "TRQ_MODE", - "on", - "inf", + "5", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -3884,8 +3937,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -3894,16 +3947,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3911,7 +3964,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "id_min", "Tag" ], "tabs":[ @@ -3930,81 +3983,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_max1", - "label":"Vd_max1", + "name":"Vd", + "label":"Vd", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Vd_max", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8920", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "VLT_MODE", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", "off", - "inf" + "off", + "off" ], "tabs":[ "Main", @@ -4013,8 +4035,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -4023,16 +4045,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4040,7 +4062,7 @@ "IconDisplay" ], "values":[ - "id_min", + "iq", "Tag" ], "tabs":[ @@ -4059,25 +4081,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Gain6", + "label":"Gain6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "Vd", - "Tag" + "-1", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4085,16 +4135,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4102,7 +4152,7 @@ "IconDisplay" ], "values":[ - "n_min", + "Vq_min", "Tag" ], "tabs":[ @@ -4121,11 +4171,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd", - "label":"Vd", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4148,7 +4198,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -4188,11 +4238,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4200,7 +4250,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "Vd", "Tag" ], "tabs":[ @@ -4219,11 +4269,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4232,7 +4282,7 @@ "IconDisplay" ], "values":[ - "id_min", + "n_mot", "local", "Tag" ], @@ -4252,158 +4302,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Current_Limit_Protection", + "label":"Current_Limit_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "i_max", + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", + "", + "", + "off", + "", + "void_void", "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", "off", "", - "on", + "off", + "", "off", "off", - "off" + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8980", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8981", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4444,11 +4444,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8981", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8980", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png index b0e71fd3fa0daa8bc7abbac03700d3b8f3e53d9b..358b28a73b6109e6165590e2ab9107ed96e29b65 100644 GIT binary patch literal 14265 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

6|r=PDyQLjV{PK@TlxLx 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 K66InB{{IW91lk$^ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.svg index d6accce..56eaaeb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.svg @@ -188,11 +188,11 @@ - - + + - + @@ -202,30 +202,30 @@ - - 8 + + 10 - + - - + + - + - - iq_min + + n_max @@ -284,11 +284,11 @@ - - + + - + @@ -298,30 +298,30 @@ - - 6 + + 5 - + - - + + - + - - id_min + + id_max @@ -332,11 +332,11 @@ - - + + - + @@ -346,30 +346,30 @@ - - 5 + + 3 - + - - + + - + - - id_max + + Vq_max @@ -380,11 +380,11 @@ - - + + - + @@ -394,30 +394,30 @@ - - 4 + + 6 - + - - + + - + - - Vq_min + + id_min @@ -428,44 +428,44 @@ - - - + + + - - + + - + - - 10 + + n_max - - + + - - - + + + - + - - n_max + + sfix16_En4 @@ -476,11 +476,11 @@ - - + + - + @@ -490,30 +490,30 @@ - - 3 + + 8 - + - - + + - + - - Vq_max + + iq_min @@ -524,649 +524,362 @@ - - - + + + - - + + - + - - 2 - - - - - - - - - - - - - - + + - + - - Vd_min + + - - - - - - - - - - - - - - - - - - - - + + - - 1 - - - - - - - + + - - - - - - + + + + + + + - + - - Vd_max + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - n_max + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - iq_max_XA - - - - - - - + + - - + + - - uint8 + + - - - - - - - - - - - - - - - - - - - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - + + - - + + 1-D T(k,f) - - + + - - + + k1 - - + + - - + + f1 + + + + + + + + + + + + + + - - + + - - + + iq_max_M1 + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - - - - - f1 - - - - - - - - - - - - - - - - - - - - - - iq_max_M1 - - - - - - - - - - - - - - + sfix16_En4 @@ -1178,43 +891,43 @@ - - + + - + - + - + 0 - + - + - - + + - + uint8 @@ -1228,7 +941,7 @@ - + @@ -1236,315 +949,315 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + 1-D T(k,f) - + - + k1 - + - + f1 @@ -1562,11 +1275,11 @@ - + - + Vq_max_M1 @@ -1577,11 +1290,11 @@ - + - + sfix16_En4 @@ -1593,37 +1306,423 @@ - - - - + + + + + + + + + + + + + + + + Vd_max + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + n_mot + + + + + + + + n_max + + + + + + + + n_min + + + + + + + + n_limProt + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Speed_Limit_Protection + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + - + - + - + - + - + - + @@ -1649,12 +1748,244 @@ - - + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + Vq_min + + + + + + + + + + + + + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + + + + + - - boolean + + iq_limProt @@ -1665,68 +1996,52 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + u1 - - + + - - + + if(u1 ~= 0) - - - - - - - - - - + + - - + + - - + + - - boolean + + action @@ -1737,28 +2052,28 @@ - - + + - + - + - - [iq_limProt] + + [id_min] - + @@ -1770,28 +2085,28 @@ - - + + - + - + - - [iq_min] + + [iq_max] - + @@ -1803,28 +2118,28 @@ - - + + - + - + - - [id_max] + + [Vd_min] - + @@ -1836,136 +2151,29 @@ - - - + + + - - - - - - - - + + - - - - - - n_mot - - - - - - - - n_max - - - - - - - - n_min - - - - - - - - n_limProt - - - - + + - - if { } + + [id_TgtAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Speed_Limit_Protection - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1976,74 +2184,29 @@ - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - - - - - - - - - - - - - - - - + + [z_ctrlMod] - - - - - - - - - - - boolean + + + @@ -2054,28 +2217,28 @@ - - + + - + - + - - [n_min] + + [id_max] - + @@ -2087,68 +2250,95 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + [Vq_min] - + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + - - + + - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [n_limProt] + + + + + + + @@ -2159,28 +2349,28 @@ - - + + - + - + - - [n_max] + + [iq_limProt] - + @@ -2192,29 +2382,44 @@ - - - + + + - - + + - - + + - - [Vd] + + 1 - - + + + + + + + + + + + + + + + + + Vd_max @@ -2235,11 +2440,11 @@ - + - + [Vd_max] @@ -2258,43 +2463,43 @@ - - + + - + - + - + -1 - + - + - - + + - + sfix16_En4 @@ -2306,43 +2511,43 @@ - - + + - + - + - + -1 - + - + - - + + - + sfix16_En4 @@ -2354,43 +2559,43 @@ - - - + + + - - + + - - + + - - -1 + + [iq_min] - - + + - + - - + + - + sfix16_En4 @@ -2402,100 +2607,139 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - u1 + + - - + + - - if(u1 ~= 0) - - - - - - - + + - - - - - - + + + + + + + - - + + - - action + + - - - - - - - - - - - - + + - - - - - - - -1 - - - + + + + + + + + + + + + + + + + + iq_max_XA - - + + - - + + - - sfix16_En4 + + uint8 @@ -2506,43 +2750,43 @@ - - + + - + - + - - [iq_min] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -2554,43 +2798,43 @@ - - + + - + - + - - [iq_max] + + [id_TgtAbs] - + - + - - + + - + sfix16_En4 @@ -2602,29 +2846,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + 11 - - + + + + + + + + + + + + + + + + + n_min @@ -2635,43 +2894,43 @@ - - + + - + - + - - [id_TgtAbs] + + [id_max] - + - + - - + + - + sfix16_En4 @@ -2683,29 +2942,44 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [Vd_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2716,43 +2990,43 @@ - - + + - + - + - + [z_ctrlMod] - + - + - - + + - + uint8 @@ -2764,61 +3038,28 @@ - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - + + - + - + - - [iq] + + [n_min] - + @@ -2830,44 +3071,29 @@ - - - + + + - - + + - - + + - - [n_max] + + [Vd] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2878,43 +3104,43 @@ - - + + - + - + - - [n_mot] + + [n_min] - + - + - - + + - + sfix16_En4 @@ -2926,28 +3152,28 @@ - - + + - + - + - - [Vd_min] + + [iq] - + @@ -2959,44 +3185,44 @@ - - - + + + - - + + - - + + - - 9 + + [n_mot] - - + + - - - + + + - - + + - - iq_limProt + + sfix16_En4 @@ -3007,43 +3233,43 @@ - - + + - + - + - - [n_min] + + [n_max] - + - + - - + + - + sfix16_En4 @@ -3055,52 +3281,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + 12 - - + + - - - + + + - - + + - - action + + n_limProt @@ -3111,43 +3329,43 @@ - - + + - + - + - - [iq] + + [iq_min] - + - + - - + + - + sfix16_En4 @@ -3159,44 +3377,29 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [n_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3207,43 +3410,43 @@ - - + + - + - + - - [Vd_min] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -3255,92 +3458,44 @@ - - + + - - - - - - - - - - - - 11 - - - - - - - - - - - - - - - - - - - - - - n_min - - - - - - - - - - - - - - - - + + - - + + - - 0 + + 2 - - + + - - - + + + - - + + - - uint8 + + Vd_min @@ -3351,136 +3506,139 @@ - - - + + + - - - - - - - - + + - + - - + + - - iq + + - - + + - - iq_max + + - - + + - - iq_min + + - - + + - - iq_limProt + + - - + + - - if { } + + - - - - - - - - + + + - - + + - - - - - - - - + + + - - + + - - + + - - Current_Limit_Protection + + - - - - - - - - + + + - - + + - - + + - - sfix16_En4 + + - + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + Vq_max_XA + + + + + + + - - + + - - action + + uint8 @@ -3492,12 +3650,6 @@ - - - - - - @@ -3507,11 +3659,11 @@ - + - + -1 @@ -3529,11 +3681,11 @@ - + - + sfix16_En4 @@ -3545,44 +3697,44 @@ - - - + + + - - + + - - + + - - VLT_MODE + + [Vq_max] - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3593,43 +3745,43 @@ - - - + + + - - + + - - + + - - SPD_MODE + + [z_ctrlMod] - - + + - + - - + + - + uint8 @@ -3641,60 +3793,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - - - - - - - - - - - - - - + + + - - sfix16_En4 + + [iq_min] + + + + + + + @@ -3705,43 +3826,43 @@ - - + + - + - + - - [id_max] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -3753,75 +3874,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [n_min] - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -3833,44 +3922,44 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] + + i_max - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3881,138 +3970,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + TRQ_MODE - - - - - - - - - - - - - - - - - - - - - - - - - Vq_max_XA + + - + - - + + - + uint8 @@ -4024,44 +4018,44 @@ - - - + + + - - + + - - + + - - [n_limProt] + + SPD_MODE - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4072,58 +4066,75 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + - - + + - - 4 + + + + + + + + + + - - - - + - - - - - - - - - - - iq + + + + + + + - + - + - + sfix16_En4 @@ -4135,29 +4146,44 @@ - - - + + + - - + + - + - - [id_TgtAbs] + + VLT_MODE - - + + + + + + + + + + + + + + + + + uint8 @@ -4168,43 +4194,43 @@ - - + + - + - + - - [n_max] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -4216,43 +4242,43 @@ - - - + + + - - + + - - + + - - [iq_limProt] + + -1 - - + + - + - - + + - + sfix16_En4 @@ -4264,91 +4290,58 @@ - - - - - - - - - - - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - n_mot + + iq - + - - + + - + sfix16_En4 @@ -4360,44 +4353,44 @@ - - - + + + - - + + - - + + - - 12 + + [n_max] - - + + - - - + + + - - + + - - n_limProt + + sfix16_En4 @@ -4408,29 +4401,52 @@ - - - + + + - - + + + + + + + + + u1 + - + - - [iq_max] + + if(u1 ~= 0) - - + + + + + + + + + + + + + + + + + action @@ -4441,29 +4457,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [iq_limProt] + + + + + + + - - - + + + + + + + + + + + sfix16_En4 @@ -4474,44 +4505,44 @@ - - - + + + - - + + - - + + - - [iq_max] + + VLT_MODE - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4532,11 +4563,11 @@ - + - + 3 @@ -4554,11 +4585,11 @@ - + - + id_TgtAbs @@ -4569,11 +4600,11 @@ - + - + sfix16_En4 @@ -4585,91 +4616,58 @@ - - - + + + - - + + - - + + - - TRQ_MODE + + 5 - - + + - - - - - - - - - - - uint8 + + + - - - - - - - - - - - - - - - - - - - + - - [Vq_min] - - - - - - - + + n_mot - + - + - + sfix16_En4 @@ -4681,43 +4679,43 @@ - - - + + + - - + + - + - - Vd_max + + [id_min] - - + + - + - + - + sfix16_En4 @@ -4729,44 +4727,59 @@ - - - + + + - - + + - + - - VLT_MODE + + 2 - - + + - - - + + + - + - - uint8 + + Vd + + + + + + + + + + + + + + + sfix16_En4 @@ -4777,43 +4790,43 @@ - - + + - + - + - - [id_min] + + [iq] - + - + - - + + - + sfix16_En4 @@ -4825,43 +4838,43 @@ - - - + + + - - + + - - + + - - [Vd] + + -1 - - + + - + - - + + - + sfix16_En4 @@ -4873,43 +4886,43 @@ - - + + - + - + - - [n_min] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -4921,59 +4934,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - Vd + + z_ctrlMod - - + + - - - + + + - - sfix16_En4 + + uint8 @@ -4984,43 +4997,43 @@ - - + + - + - + - - [Vd_max] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -5032,28 +5045,28 @@ - - + + - + - + - - [id_min] + + [n_mot] - + @@ -5065,155 +5078,136 @@ - - - + + + - - + + + + + + + + - - + + - - i_max + + iq - - - - - - + + + + + + + iq_max - - - - - - + + + + + + + iq_min - - + + - - sfix16_En4 + + iq_limProt - - - - - - - - - - - - - - - - - - - - + + - - [iq_min] + + if { } - - + + + + + + + + - - - - + - - - + + + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - + - - 1 - - - - - - - + + Current_Limit_Protection - - - + + + + + + + + + - + - - z_ctrlMod + + sfix16_En4 - - + + + + + + + + - + - - uint8 + + action @@ -5224,11 +5218,17 @@ - - + + + + + + + + - + @@ -5238,7 +5238,7 @@ - + @@ -5246,7 +5246,7 @@ - + @@ -5256,43 +5256,43 @@ - - - - - - - - - - - - + - - + + - + boolean + + + + + + + + + + + - - + + - + @@ -5302,7 +5302,7 @@ - + @@ -5310,7 +5310,7 @@ - + @@ -5320,32 +5320,32 @@ - - - - - - - - - - - - + - - + + - + boolean + + + + + + + + + + + @@ -6310,5 +6310,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json index fca0b34..e5393a4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json @@ -80,88 +80,115 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8931", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as second input", + "Inherit: Inherit via internal rule", "off", - "Floor", - "off" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Sum", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8928", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" ], "values":[ - "reset", - "Only when execution is resumed" + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8931", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8929", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -173,16 +200,15 @@ "SampleTime" ], "values":[ - "round", - "|+-", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: Same as first input", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -195,7 +221,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -204,7 +230,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8928", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", "masktype":"" } }, @@ -275,63 +332,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8929", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8932", "className":"Simulink.Constant", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg index 53506ec..30467b2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg @@ -59,11 +59,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + - + @@ -71,35 +135,35 @@ - + - + - + - + - + - + - + - + @@ -111,35 +175,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -157,11 +221,11 @@ - + - + sfix16_En4 @@ -173,44 +237,52 @@ - - - + + + - - + + - - + + - - if { } + + + + + + + + + + - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -221,60 +293,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -295,11 +351,11 @@ - + - + 3 @@ -317,11 +373,11 @@ - + - + iq_min @@ -331,68 +387,12 @@ - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + sfix16_En4 @@ -711,5 +711,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg index b53bd94..0f5c0cf 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg @@ -63,7 +63,7 @@ - + @@ -1012,15 +1012,15 @@ - - - + + + @@ -1103,10 +1103,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json index ad4885e..401c824 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json @@ -49,42 +49,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8991", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8990", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8996", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_min", - "label":"n_min", + "name":"n_limProt", + "label":"n_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "inspector":{ "params":[ @@ -100,14 +69,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -119,10 +94,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -142,7 +124,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, @@ -236,7 +218,7 @@ "Inherit: Same as first input", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -263,91 +245,81 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8996", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "DoSatur" ], "values":[ - "1", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", + "Inherit: Same as second input", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", + "Floor", "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8991", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8989", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8990", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"n_min", + "label":"n_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "inspector":{ "params":[ @@ -370,7 +342,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -410,42 +382,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8989", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "DoSatur" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "2", + "Port number", "[]", "[]", - "Inherit: Same as second input", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", "off", - "Floor", "off" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Inport", + "masktype":"" } }, { diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg index ff062e1..de02a4f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg @@ -76,44 +76,44 @@ - - - + + + - - + + - + - - if { } + + 1 - - + + - - + + - + - - Action Port + + n_limProt @@ -124,58 +124,59 @@ - - - + + + - - + + - + - - 3 - - - - - - - - - - - - - - + + - + - - n_min + + + + + + + + + + + + + + + + + - + - - + + - + sfix16_En4 @@ -187,59 +188,51 @@ - - - + + + - - + + - - - - - - - - - + - + - + - + - - + + - + - + - + sfix16_En4 @@ -251,51 +244,107 @@ - - - + + + - - + + - + - + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - + - - + + - + sfix16_En4 @@ -307,44 +356,44 @@ - - - + + + - - + + - - + + - - 1 + + if { } - - + + - - + + - - + + - - n_limProt + + Action Port @@ -355,58 +404,58 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - n_max + + n_min - + - - + + - + sfix16_En4 @@ -418,107 +467,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 2 - + + + + - - - - - - - - up - - - - - - - - u - - - - - - - - lo + + + - + - - y - - - - - - - + + n_max - + - + - + sfix16_En4 @@ -711,5 +711,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg index f9ec28d..fe948e9 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg @@ -1009,16 +1009,16 @@ - + - + - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json index be8adf3..0901a91 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json @@ -129,140 +129,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042", - "className":"Rising edge init", - "icon":"WebViewIcon4", - "name":"rising_edge_init", - "label":"rising_edge_init", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Nonreusable function", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Rising edge init" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9041", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9039", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"dV_openRate", - "label":"dV_openRate", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "dV_openRate", - "on", - "inf", - "[]", - "[]", - "fixdt(1,28,16)", - "off", - "inf" + "Vq_prev", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -270,7 +157,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, @@ -334,44 +221,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9038", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_Open", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9036", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9035", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ @@ -379,7 +233,7 @@ "IconDisplay" ], "values":[ - "Vq_Open", + "Vq_prev", "Tag" ], "tabs":[ @@ -398,41 +252,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9032", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9034", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Constant23", - "label":"Constant23", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "0", - "on", - "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(1,16,4)", "off", - "inf" + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, 7 ] }, @@ -442,46 +294,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9034", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9038", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "Vq_Open", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -489,16 +327,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9035", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9036", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ @@ -506,7 +344,7 @@ "IconDisplay" ], "values":[ - "Vq_prev", + "Vq_Open", "Tag" ], "tabs":[ @@ -525,25 +363,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9031", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9033", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "reset", - "Only when execution is resumed" + "[]", + "[]", + "fixdt(1,28,16)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -551,7 +405,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -649,22 +503,69 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9039", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9032", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Constant23", + "label":"Constant23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "Vq_prev", - "local", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9031", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -677,7 +578,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9041", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"dV_openRate", + "label":"dV_openRate", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "dV_openRate", + "on", + "inf", + "[]", + "[]", + "fixdt(1,28,16)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", "masktype":"" } }, @@ -749,50 +699,100 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9033", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042", + "className":"Rising edge init", + "icon":"WebViewIcon4", + "name":"rising_edge_init", + "label":"rising_edge_init", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "[]", - "[]", - "fixdt(1,28,16)", + "FromPortIcon", + "ReadWrite", + "", + "All", + "on", + "on", + "", + "", "off", - "Real World Value (RWV)", - "Floor", + "", + "void_void", "off", - "-1" + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Nonreusable function", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes", + "Main", "-Other" ], "tabs_idx":[ 0, - 7 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Rising edge init" } }, { diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg index 26694f1..85cefbf 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg @@ -80,171 +80,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - dV_openRate + + [Vq_prev] - - - - - - - - - - - - - - - - - dV_openRate - - - - - - - - - - - - - - - sfix28_En16 + + @@ -265,11 +123,11 @@ - + - + -1 @@ -287,11 +145,11 @@ - + - + sfix28_En16 @@ -303,76 +161,43 @@ - - - - - - - - - - - - - - - - [Vq_Open] - - - - - - - - - - - - - - - - - - - + + - + - + - - [Vq_Open] + + [Vq_prev] - + - + - - + + - + sfix16_En4 @@ -382,54 +207,6 @@ - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - @@ -442,19 +219,19 @@ - + - + - + - + @@ -480,11 +257,11 @@ - + - + sfix16_En4 @@ -496,43 +273,76 @@ - - + + + + + + + + + + + + + + + + [Vq_Open] + + + + + + + + + + + + + + + + + + + - + - + - - [Vq_prev] + + [Vq_Open] - + - + - - + + - + sfix16_En4 @@ -544,44 +354,60 @@ - - - + + + - - + + - + - - + + - - default: { } + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - Action Port + + sfix28_En16 @@ -602,75 +428,75 @@ - + - + u - + - + initVal - + - + init - + - + inc - + - + dec - + - + y - + - + - + - + - + - + @@ -688,11 +514,11 @@ - + - + Rate_Limiter @@ -703,11 +529,11 @@ - + - + sfix28_En16 @@ -715,29 +541,29 @@ - + - + - + - + - + - + @@ -751,29 +577,155 @@ - - - + + + - - + + - - + + - - [Vq_prev] + + 0 - - + + + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + default: { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + dV_openRate + + + + + + + + + + + + + + + + + + + + + + dV_openRate + + + + + + + + + + + + + + + sfix28_En16 @@ -794,11 +746,11 @@ - + - + 1 @@ -816,11 +768,11 @@ - + - + Vq_prev @@ -831,11 +783,11 @@ - + - + sfix16_En4 @@ -847,60 +799,108 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - - + + - - + + - - sfix28_En16 + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1071,5 +1071,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg index 633b293..2dd19a8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg @@ -15,7 +15,7 @@ - + @@ -444,7 +444,7 @@ - + @@ -853,5 +853,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg index bd08018..cc561ae 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg @@ -63,7 +63,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -654,7 +654,7 @@ - + @@ -1009,7 +1009,7 @@ - + @@ -1018,7 +1018,7 @@ - + @@ -1103,10 +1103,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json index a853c1a..b8d0b55 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json @@ -129,11 +129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2343", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -153,7 +153,7 @@ ], "values":[ "rectangular", - "+-", + "++", "off", "Inherit: Inherit via internal rule", "[]", @@ -227,11 +227,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Delay_Init1", + "label":"Delay_Init1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "inspector":{ + "params":[ + "initVal" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2356", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"dec", - "label":"dec", + "name":"init", + "label":"init", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -254,7 +283,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -294,40 +323,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Delay_Init1", - "label":"Delay_Init1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2357", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2355", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", + "name":"initVal", + "label":"initVal", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -350,7 +350,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -390,11 +390,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2356", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2357", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"init", - "label":"init", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -417,7 +417,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -457,11 +457,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2343", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2346", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -481,7 +481,7 @@ ], "values":[ "rectangular", - "++", + "+-", "off", "Inherit: Inherit via internal rule", "[]", @@ -516,11 +516,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2355", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2358", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"initVal", - "label":"initVal", + "name":"dec", + "label":"dec", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -543,7 +543,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "5", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg index 6cd4261..6244b79 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg @@ -96,59 +96,67 @@ - - + + - + - + - + - + - + - + - + + + + + + + + + - + - + - - + + - + sfix28_En16 @@ -170,35 +178,35 @@ - + - + - + - + - + - + - + - + @@ -210,35 +218,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -256,74 +264,11 @@ - + - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - dec - - - - - - - - - - - - - - + sfix28_En16 @@ -337,7 +282,7 @@ - + @@ -345,59 +290,59 @@ - + - + u - + - + initVal - + - + init - + - + y - + - + 1 - + - + z - + - + @@ -415,11 +360,11 @@ - + - + sfix28_En16 @@ -427,29 +372,29 @@ - + - + - + - + - + - + @@ -463,58 +408,121 @@ - - + + - + - + - - 4 + + 3 - + - - + + + + + + + + + + init + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + - + - - inc + + 2 + + + + + + + + + + + + + + + + + + + + + + initVal - + - - + + - + sfix28_En16 @@ -526,59 +534,59 @@ - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - init + + inc - - + + - - + + - - boolean + + sfix28_En16 @@ -589,67 +597,59 @@ - - + + - + - - - - - - - - - + - + - + - + - + - + - + - + - + - + sfix28_En16 @@ -661,11 +661,11 @@ - - + + - + @@ -675,44 +675,44 @@ - - 2 + + 5 - + - - + + - + - - initVal + + dec - + - + - + sfix28_En16 @@ -953,5 +953,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg index 5dafbfa..0a5c655 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg @@ -232,5 +232,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json index 13fd7b2..cd400ba 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json @@ -536,53 +536,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9062", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "r_cos", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -590,26 +564,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", - "local", + "i_beta", "Tag" ], "tabs":[ @@ -623,16 +595,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9059", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -640,7 +612,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_cos", "Tag" ], "tabs":[ @@ -659,25 +631,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9059", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "r_cos", - "Tag" + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -685,16 +685,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9057", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -702,7 +702,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "r_sin", "Tag" ], "tabs":[ @@ -721,11 +721,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9054", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -733,7 +733,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_cos", "Tag" ], "tabs":[ @@ -752,21 +752,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9063", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9054", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_apha", - "local", + "r_sin", "Tag" ], "tabs":[ @@ -780,7 +778,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -842,11 +840,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -854,7 +852,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "i_apha", "Tag" ], "tabs":[ @@ -872,6 +870,72 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_beta", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto26", + "label":"Goto26", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_sin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9051", "className":"Simulink.Product", @@ -930,11 +994,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -942,7 +1006,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "i_apha", "Tag" ], "tabs":[ @@ -961,44 +1025,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_beta", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1051,11 +1082,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9057", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1063,7 +1094,7 @@ "IconDisplay" ], "values":[ - "i_apha", + "i_beta", "Tag" ], "tabs":[ @@ -1082,19 +1113,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9063", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "i_apha", + "local", "Tag" ], "tabs":[ @@ -1108,16 +1141,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1169,39 +1202,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9062", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_cos", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9048#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg index 38af469..d53c56c 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg @@ -476,68 +476,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [r_cos] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -548,29 +509,44 @@ - - - + + + - - + + - - + + - - [r_sin] + + [i_beta] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -581,43 +557,43 @@ - - + + - + - + - - [r_sin] + + [r_cos] - + - + - - + + - + sfix16_En14 @@ -629,44 +605,68 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - [r_cos] + + - - + + - - + + - + - - sfix16_En14 + + sfix16_En4 @@ -677,11 +677,11 @@ - - + + - + @@ -691,30 +691,30 @@ - - [i_beta] + + [r_sin] - + - - + + - + - - sfix16_En4 + + sfix16_En14 @@ -725,11 +725,11 @@ - - + + - + @@ -739,29 +739,29 @@ - - [r_sin] + + [r_cos] - + - + - + - + sfix16_En14 @@ -773,29 +773,44 @@ - - - + + + - - + + - + - - [i_apha] + + [r_sin] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -816,19 +831,19 @@ - + - + - + - + @@ -846,11 +861,11 @@ - + - + sfix16_En4 @@ -862,43 +877,43 @@ - - + + - + - + - - [i_beta] + + [i_apha] - + - + - - + + - + sfix16_En4 @@ -910,100 +925,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - + - - [r_cos] + + [i_beta] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -1014,28 +958,28 @@ - - + + - + - + - - [i_beta] + + [r_sin] - + @@ -1047,51 +991,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -1113,11 +1057,11 @@ - + - + [i_apha] @@ -1135,11 +1079,11 @@ - + - + sfix16_En4 @@ -1151,43 +1095,51 @@ - - - + + + - - + + - - + + - - [i_apha] + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1199,51 +1151,43 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [i_beta] - - + + - + - - + + - + sfix16_En4 @@ -1255,28 +1199,28 @@ - - + + - + - + - - [r_cos] + + [i_apha] - + @@ -1286,6 +1230,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -1540,5 +1540,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json index 776f25a..6b6047e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json @@ -129,11 +129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_nKp", - "label":"cf_nKp", + "name":"cf_nKi", + "label":"cf_nKi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -147,12 +147,12 @@ "FramePeriod" ], "values":[ - "cf_nKp", - "on", + "cf_nKi", + "off", "inf", "[]", "[]", - "fixdt(0,16,8)", + "fixdt(0,16,16)", "off", "inf" ], @@ -178,11 +178,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9103", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_nKi", - "label":"cf_nKi", + "name":"cf_nKb", + "label":"cf_nKb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -196,8 +196,8 @@ "FramePeriod" ], "values":[ - "cf_nKi", - "off", + "cf_nKb", + "on", "inf", "[]", "[]", @@ -227,11 +227,83 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9103", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9100", + "className":"Simulink.SignalConversion", + "icon":"WebViewIcon3", + "name":"Signal Conversion2", + "label":"Signal Conversion2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" + ], + "values":[ + "Signal copy", + "Inherit: auto", + "off" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SignalConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9099", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_nKb", - "label":"cf_nKb", + "name":"cf_nKp", + "label":"cf_nKp", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -245,12 +317,12 @@ "FramePeriod" ], "values":[ - "cf_nKb", + "cf_nKp", "on", "inf", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(0,16,8)", "off", "inf" ], @@ -369,11 +441,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9097", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9096", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -382,7 +454,7 @@ "IconDisplay" ], "values":[ - "n_min", + "n_max", "local", "Tag" ], @@ -402,50 +474,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9099", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9096", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -454,7 +487,7 @@ "IconDisplay" ], "values":[ - "n_max", + "iq_limProt", "local", "Tag" ], @@ -474,11 +507,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9093", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -487,7 +520,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_min", "local", "Tag" ], @@ -507,21 +540,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -535,27 +566,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9100", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "r_inpTgtSca", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -568,26 +597,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "n_mot", "Tag" ], "tabs":[ @@ -601,16 +628,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9084", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -618,7 +645,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "iq_limProt", "Tag" ], "tabs":[ @@ -637,32 +664,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"cf_iqKiLimProt", - "label":"cf_iqKiLimProt", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "cf_iqKiLimProt", - "on", - "inf", + "7", + "Port number", "[]", "[]", - "fixdt(0,16,16)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -671,8 +716,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -681,24 +726,160 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9084", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9080", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"n_min", + "label":"n_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9079", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_max", + "label":"n_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -712,24 +893,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9097", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", + "n_min", + "local", "Tag" ], "tabs":[ @@ -743,16 +926,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9078", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -775,7 +958,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "4", "Port number", "[]", "[]", @@ -815,19 +998,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -841,16 +1026,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9080", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_min", - "label":"n_min", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -873,7 +1058,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "3", "Port number", "[]", "[]", @@ -913,11 +1098,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9079", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9076", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -940,7 +1125,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -980,71 +1165,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "n_mot", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,10)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -1054,7 +1210,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -1063,47 +1219,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"cf_iqKiLimProt", + "label":"cf_iqKiLimProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "FramePeriod" ], "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", + "cf_iqKiLimProt", + "on", + "inf", "[]", "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", + "fixdt(0,16,16)", "off", - "1", - "All dimensions", - "-1" + "inf" ], "tabs":[ "Main", @@ -1112,8 +1258,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 3, + 7 ] }, "viewer":{ @@ -1122,7 +1268,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Constant", "masktype":"" } }, @@ -1160,117 +1306,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "**", + "Element-wise(.*)", "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9078", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "4", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "fixdt(1,16,10)", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -1280,7 +1349,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -1289,16 +1358,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9086", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9085", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1306,7 +1375,7 @@ "IconDisplay" ], "values":[ - "n_min", + "n_max", "Tag" ], "tabs":[ @@ -1325,21 +1394,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9093", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "Vq_min", - "local", "Tag" ], "tabs":[ @@ -1353,7 +1420,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -1425,61 +1492,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9076", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "reset", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1487,16 +1518,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9085", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9086", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1504,7 +1535,7 @@ "IconDisplay" ], "values":[ - "n_max", + "n_min", "Tag" ], "tabs":[ @@ -1522,37 +1553,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.png index 47384429e95a440cbe9627bd0da6055acf181746..5121050048a57e5c47246264d8da4e66f65b6b6d 100644 GIT binary patch delta 4667 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 TcVBBL3HWHM8>m%2w0`|RzS$IA delta 4651 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 Z!lg_haC2uW^f?K5Xu@^WOCOpC{}22=BU1nX diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg index 3a3d51a..877593a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg @@ -86,54 +86,6 @@ - - - - - - - - - - - - - - - - - - cf_nKp - - - - - - - - - - - - - - - - - - - - - - ufix16_En8 - - - - - - - - @@ -146,11 +98,11 @@ - + - + cf_nKi @@ -168,11 +120,11 @@ - + - + ufix16_En16 @@ -194,11 +146,11 @@ - + - + cf_nKb @@ -216,11 +168,11 @@ - + - + ufix16_En16 @@ -232,188 +184,172 @@ - - - + + + - - + + - - - - - - - - err - + - - + + - - P + + - + - - I + + - + - - Kb + + - + - - ext_limProt + + - + - - satMax + + - + - - satMin + + - + - - out + + - + - - PI(z) - - - - - - - - - - - - - - + + - + - - PI_backCalc_fixdt_n - - - - - - - + + - + - - sfix16_En4 + + + + + + + + + + - - - - - + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - - - - - - [n_min] - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -426,7 +362,7 @@ - + @@ -434,35 +370,35 @@ - + - + - + - + - + - + - + - + @@ -474,35 +410,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -520,11 +456,11 @@ - + - + sfix16_En4 @@ -536,29 +472,44 @@ - - - + + + - - + + - - + + - - [n_max] + + cf_nKp - - + + + + + + + + + + + + + + + + + ufix16_En8 @@ -569,29 +520,155 @@ - - - + + + - - + + - - + + - - [iq_limProt] + + err + + + + + + + + P + + + + + + + + I + + + + + + + + Kb + + + + + + + + ext_limProt + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + PI(z) - - + + + + + + + + + + + + + + + + + PI_backCalc_fixdt_n + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -602,28 +679,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [n_max] - + @@ -635,171 +712,205 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [iq_limProt] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vq_min] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vq_max] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [r_inpTgtSca] + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 - - + + + + + + + + + + + + + + + + + + + [n_mot] + - - + + - + - - + + - + sfix16_En4 @@ -811,29 +922,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [iq_limProt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -844,43 +970,58 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 7 - - + + + + + + + + + + + + + + + + + iq_limProt - + - - + + - + sfix16_En4 @@ -892,59 +1033,59 @@ - - - + + + - - + + - - + + - - cf_iqKiLimProt + + 6 - - + + - - + + - - + + - - cf_iqKiLimProt + + n_min - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -955,43 +1096,58 @@ - - - + + + - - + + - - + + - - [iq_limProt] + + 5 - - + + + + + + + + + + + + + + + + + n_max - + - - + + - + sfix16_En4 @@ -1003,44 +1159,62 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [Vq_max] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [n_min] + + + + + + + @@ -1051,58 +1225,58 @@ - - + + - + - + - - 7 + + 4 - + - - + + - - + + - - iq_limProt + + n_mot - + - - + + - + sfix16_En4 @@ -1114,44 +1288,29 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1162,58 +1321,58 @@ - - + + - + - + - - 6 + + 3 - + - - + + - - + + - - n_min + + Vq_min - + - - + + - + sfix16_En4 @@ -1225,58 +1384,58 @@ - - + + - + - + - - 5 + + 2 - + - - + + - - + + - - n_max + + Vq_max - + - - + + - + sfix16_En4 @@ -1288,43 +1447,59 @@ - - - + + + - - + + - - + + - - [n_mot] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1336,116 +1511,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + cf_iqKiLimProt - - - - - - - - - - - - - - - - - sfix16_En10 + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - + + cf_iqKiLimProt - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1466,11 +1584,11 @@ - + - + [n_mot] @@ -1489,59 +1607,52 @@ - - - + + + - - + + - - + + - - 3 + + - - - - - - + + + + + + + - - - - - - - - - - - Vq_min + + + - - + + - - + + - - sfix16_En4 + + sfix16_En10 @@ -1552,58 +1663,43 @@ - - - + + + - - + + - - + + - - 4 + + [n_max] - - - - - - - - - - - - - - - - - n_mot + + - + - - + + - + sfix16_En4 @@ -1615,43 +1711,43 @@ - - + + - + - + - - [n_min] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -1661,39 +1757,6 @@ - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - @@ -1706,11 +1769,11 @@ - + - + 1 @@ -1728,11 +1791,11 @@ - + - + r_inpTgtSca @@ -1743,11 +1806,11 @@ - + - + sfix16_En4 @@ -1759,59 +1822,44 @@ - - - + + + - - + + - - + + - - 2 + + case: { } - - + + - - - - - - - - - - Vq_max - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -1822,92 +1870,44 @@ - - + + - + - + - - [n_max] + + [n_min] - + - + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - case: { } - - - - - - - - - - - - - - - - + - - Action Port + + sfix16_En4 @@ -2240,5 +2240,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg index a254a49..6f34f5a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg @@ -15,7 +15,7 @@ - + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2282_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2282_d.svg index b45060b..6868753 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2282_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2282_d.svg @@ -63,7 +63,7 @@ - + @@ -1009,16 +1009,16 @@ - + - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json index 4bff7e7..7954e08 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json @@ -1,100 +1,62 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2285", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2290", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", + "1", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2293", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "-+|", "off", - "Inherit: Inherit via internal rule", - "[]", "[]", - "Inherit: Inherit via internal rule", "off", - "Simplest", + "held", "off", - "1", - "All dimensions", - "-1" + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -104,7 +66,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -113,7 +75,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, @@ -168,122 +130,79 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2284", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2282", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "DoSatur" ], "values":[ - "rectangular", - "+++", - "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: Same as second input", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "Floor", + "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2290", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2273", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"out", - "label":"out", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "**", + "Element-wise(.*)", "off", "[]", + "[]", + "fixdt(1,16,5)", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -293,7 +212,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -302,55 +221,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2282", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2273", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2292", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -373,10 +253,10 @@ "off", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Inherit via internal rule", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -403,17 +283,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2292", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2293", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -425,9 +306,10 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "round", + "-+|", "off", + "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", @@ -446,7 +328,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -455,7 +337,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, @@ -660,63 +542,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2272", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2291", "className":"Simulink.Inport", @@ -948,6 +773,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2272", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2251", "className":"Simulink.Inport", @@ -1015,6 +897,124 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2285", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum6", + "label":"Sum6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2284", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2250", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.png index 2967021e00f300affc5c094539a8a6f136207c15..c5131063c35d5bd62fffccbfd77611eccab772e2 100644 GIT binary patch delta 5539 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 delta 5547 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 - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + out @@ -151,7 +63,7 @@ - + @@ -159,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -208,119 +120,31 @@ - - - - - - - - - - - sfix32_En20 - - - - - + - + Ini=0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + sfix32_En20 @@ -330,59 +154,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - - - + @@ -390,35 +166,35 @@ - + - + - + - + - + - + - + - + @@ -430,35 +206,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -476,11 +252,11 @@ - + - + sfix16_En4 @@ -494,7 +270,7 @@ - + @@ -502,19 +278,19 @@ - + - + - + - + @@ -532,11 +308,11 @@ - + - + sfix16_En5 @@ -550,7 +326,7 @@ - + @@ -558,19 +334,19 @@ - + - + - + - + @@ -588,11 +364,11 @@ - + - + sfix32_En20 @@ -604,8 +380,72 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + @@ -614,11 +454,11 @@ - + - + 7 @@ -636,11 +476,11 @@ - + - + satMin @@ -651,11 +491,11 @@ - + - + sfix16_En4 @@ -677,11 +517,11 @@ - + - + 6 @@ -699,11 +539,11 @@ - + - + satMax @@ -714,11 +554,11 @@ - + - + sfix16_En4 @@ -740,11 +580,11 @@ - + - + 5 @@ -762,11 +602,11 @@ - + - + ext_limProt @@ -777,11 +617,11 @@ - + - + sfix16_En10 @@ -791,62 +631,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - @@ -859,11 +643,11 @@ - + - + 4 @@ -881,11 +665,11 @@ - + - + Kb @@ -896,11 +680,11 @@ - + - + ufix16_En16 @@ -914,7 +698,7 @@ - + @@ -928,19 +712,19 @@ - + - + u - + - + y @@ -970,11 +754,11 @@ - + - + Integrator @@ -991,11 +775,11 @@ - + - + sfix16_En4 @@ -1023,11 +807,11 @@ - + - + 3 @@ -1045,11 +829,11 @@ - + - + I @@ -1060,11 +844,11 @@ - + - + ufix16_En16 @@ -1074,6 +858,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + @@ -1086,11 +926,11 @@ - + - + 2 @@ -1108,11 +948,11 @@ - + - + P @@ -1123,11 +963,11 @@ - + - + ufix16_En8 @@ -1137,6 +977,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + @@ -1486,5 +1486,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg index e943e31..0481f51 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg @@ -63,7 +63,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -654,7 +654,7 @@ - + @@ -1009,7 +1009,7 @@ - + @@ -1018,7 +1018,7 @@ - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json index bb60424..0ad3888 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json @@ -49,11 +49,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9137", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_iqKi", - "label":"cf_iqKi", + "name":"cf_iqKb", + "label":"cf_iqKb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -67,7 +67,7 @@ "FramePeriod" ], "values":[ - "cf_iqKi", + "cf_iqKb", "on", "inf", "[]", @@ -98,32 +98,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9137", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9136", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"cf_iqKb", - "label":"cf_iqKb", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "cf_iqKb", - "on", - "inf", + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(0,16,16)", + "Inherit: Inherit via internal rule", "off", - "inf" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -132,8 +142,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 10 ] }, "viewer":{ @@ -142,16 +152,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9136", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9135", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -170,8 +180,8 @@ "SampleTime" ], "values":[ - "rectangular", - "++", + "round", + "|+-", "off", "Inherit: Inherit via internal rule", "[]", @@ -179,7 +189,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -205,6 +215,88 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9134", + "className":"Simulink.SignalConversion", + "icon":"WebViewIcon3", + "name":"Signal Conversion2", + "label":"Signal Conversion2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" + ], + "values":[ + "Signal copy", + "Inherit: auto", + "off" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SignalConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_iqKp", + "label":"cf_iqKp", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKp", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,8)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", "className":"Saturation Dynamic", @@ -245,11 +337,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9130", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -258,7 +350,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "iq", "local", "Tag" ], @@ -278,11 +370,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9130", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -291,7 +383,7 @@ "IconDisplay" ], "values":[ - "iq", + "iq_min", "local", "Tag" ], @@ -311,27 +403,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9141", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Vq_Trq", + "label":"Vq_Trq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "iq_min", - "local", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -339,7 +478,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, @@ -377,11 +516,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9127", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -390,7 +529,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "r_inpTgtSca", "local", "Tag" ], @@ -443,21 +582,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -471,16 +608,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9122", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -488,7 +625,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "n_limProt", "Tag" ], "tabs":[ @@ -507,19 +644,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_min", + "n_limProt", + "local", "Tag" ], "tabs":[ @@ -533,16 +672,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -550,7 +689,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -569,22 +708,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9134", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "iq_min", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -597,16 +734,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9119", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -614,7 +751,7 @@ "IconDisplay" ], "values":[ - "iq", + "iq_max", "Tag" ], "tabs":[ @@ -633,154 +770,56 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_backCalc_fixdt_Iq", - "label":"PI_backCalc_fixdt_Iq", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "on", - "off", - "off", - "-1", - "Reusable function", - "Use subsystem name", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "off", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" + "Vq_min", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9117", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "reset", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -788,16 +827,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -820,7 +859,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "5", "Port number", "[]", "[]", @@ -860,70 +899,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9135", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9141", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_Trq", - "label":"Vq_Trq", + "name":"iq", + "label":"iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -939,20 +919,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "4", "Port number", "[]", "[]", @@ -964,17 +938,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -994,66 +961,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1061,16 +992,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1093,7 +1024,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "6", "Port number", "[]", "[]", @@ -1133,51 +1064,115 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9122", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"PI_backCalc_fixdt_Iq", + "label":"PI_backCalc_fixdt_Iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ - "n_limProt", - "Tag" + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "on", + "off", + "off", + "-1", + "Reusable function", + "Use subsystem name", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "off", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9117", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9127", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "iq_max", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1190,30 +1185,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9119", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "iq_max", - "Tag" + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1221,16 +1252,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_iqKp", - "label":"cf_iqKp", + "name":"cf_iqKi", + "label":"cf_iqKi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1244,12 +1275,12 @@ "FramePeriod" ], "values":[ - "cf_iqKp", + "cf_iqKi", "on", "inf", "[]", "[]", - "fixdt(0,16,8)", + "fixdt(0,16,16)", "off", "inf" ], @@ -1275,11 +1306,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1302,7 +1333,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -1342,11 +1373,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1369,7 +1400,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -1409,11 +1440,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"n_limProt", + "label":"n_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1436,7 +1467,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "7", "Port number", "[]", "[]", @@ -1475,37 +1506,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png index a2a7e8cb522a3fc121976683647d62435d069eb5..69911957ee0d1ec2221db38a053e46a11ad4b93b 100644 GIT binary patch literal 5235 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 delta 4612 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 pOhPAN=$ - - + + - + @@ -75,29 +75,29 @@ - - cf_iqKi + + cf_iqKb - + - + - + - + ufix16_En16 @@ -109,44 +109,68 @@ - - - + + + - - + + - + - - cf_iqKb + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -157,67 +181,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix16_En4 @@ -229,107 +245,171 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + - - up + + - + - - u + + - + - - lo + + - + - - y + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -341,54 +421,181 @@ - - - + + + - - + + - - + + - - [n_limProt] + + cf_iqKp - - + + - - - - - - - - - - - + + + + + + + + + + + ufix16_En8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + - + - + [iq] @@ -417,11 +624,11 @@ - + - + [iq_min] @@ -440,29 +647,44 @@ - - - + + + - - + + - - + + - - [Vq_min] + + 1 - - + + + + + + + + + + + + + + + + + Vq_Trq @@ -473,28 +695,28 @@ - - + + - + - + - - [iq_max] + + [Vq_min] - + @@ -506,28 +728,28 @@ - - + + - + - + - - [Vq_max] + + [r_inpTgtSca] - + @@ -539,28 +761,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_max] - + @@ -582,11 +804,11 @@ - + - + [Vq_max] @@ -604,11 +826,11 @@ - + - + sfix16_En4 @@ -620,43 +842,43 @@ - - + + - + - + - - [iq_min] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -668,43 +890,76 @@ - - + + + + + + + + + + + + + + + + [n_limProt] + + + + + + + + + + + + + + + + + + + - + - + - - [Vq_min] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -716,171 +971,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [iq_min] - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -892,43 +1019,43 @@ - - + + - + - + - - [iq] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -940,156 +1067,45 @@ - - - + + + - - + + - - - - - - err - - - - - - - - P - - - - - - - - I - - - - - - - - Kb - - - - - - - - ext_limProt - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - out - - - - + + - - PI(z) + + [Vq_min] - - - - - - - - - - - - - - - - - PI_backCalc_fixdt_Iq + + - + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + sfix16_En4 + @@ -1099,59 +1115,44 @@ - - - + + + - - + + - - + + - - 6 + + case: { } - - + + - - - - - - - - - - iq_min - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -1162,58 +1163,58 @@ - - + + - + - + - - 7 + + 5 - + - - + + - - + + - - n_limProt + + iq_max - + - - + + - + sfix16_En4 @@ -1225,59 +1226,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + 4 - - + + + + + + + + + + + + + + + + + iq - + - - + + - + sfix16_En4 @@ -1289,44 +1289,44 @@ - - - + + + - - + + - - + + - - 1 + + [iq] - - + + - - - + + + - - + + - - Vq_Trq + + sfix16_En4 @@ -1337,58 +1337,58 @@ - - + + - + - + - - 5 + + 6 - + - - + + - - + + - - iq_max + + iq_min - + - - + + - + sfix16_En4 @@ -1400,107 +1400,155 @@ - - - + + + - - + + + + + + + + + err + + + + + + + + P + + + + + + + + I + + + + + + + + Kb + + + + + + + + ext_limProt + + + + + + + + satMax + + + + + + + + satMin + - + - - 4 + + out + + + + + + + + PI(z) - - + + - - + + - - + + - - iq + + PI_backCalc_fixdt_Iq - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - + + - - [n_limProt] - - - - - - - + + - - - - - - - - - - - - - sfix16_En4 + + + + + + + + + + + + + + + + + + @@ -1511,44 +1559,29 @@ - - - + + + - - + + - - + + - - case: { } + + [iq_max] - - - - - - - - - - - - - - - - - Action Port + + @@ -1559,92 +1592,59 @@ - - - + + + - - + + - - + + - - [iq_max] + + 3 - - + + - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - - - - - - - - - - - - + - - cf_iqKp - - - - - - - + + Vq_min - - + + - + - - ufix16_En8 + + sfix16_En4 @@ -1655,59 +1655,44 @@ - - - + + + - - + + - + - - 3 + + cf_iqKi - - - - - - - - - - - - - - - - - Vq_min + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1728,11 +1713,11 @@ - + - + 2 @@ -1750,11 +1735,11 @@ - + - + Vq_max @@ -1765,11 +1750,11 @@ - + - + sfix16_En4 @@ -1791,11 +1776,11 @@ - + - + 1 @@ -1813,11 +1798,11 @@ - + - + r_inpTgtSca @@ -1828,11 +1813,11 @@ - + - + sfix16_En4 @@ -1844,43 +1829,58 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 7 - - + + + + + + + + + + + + + + + + + n_limProt - + - + - + sfix16_En4 @@ -2214,5 +2214,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json index 5a379fe..346d2e8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json @@ -79,6 +79,56 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2528", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2275", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2279", "className":"Simulink.Sum", @@ -138,56 +188,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2528", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2275", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2697", "className":"Simulink.DataTypeConversion", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg index 26532c8..4b723fb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg @@ -61,162 +61,162 @@ - - - + + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - + + - - + + - + sfix32_En20 + + + + + + + + + + + Ini=0 + + + + - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - + - + sfix32_En20 @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg index bdc585f..6951f64 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg @@ -63,7 +63,7 @@ - + @@ -1012,15 +1012,15 @@ - - - + + + @@ -1103,10 +1103,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json index 02b648a..9392e61 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json @@ -79,124 +79,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2285", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2293", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "-+|", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2527", "className":"Simulink.UnitDelay", @@ -248,11 +130,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2284", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2293", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -271,8 +153,8 @@ "SampleTime" ], "values":[ - "rectangular", - "+++", + "round", + "-+|", "off", "Inherit: Inherit via internal rule", "[]", @@ -280,7 +162,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -306,45 +188,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2282", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2275", "className":"Simulink.SubSystem", @@ -443,11 +286,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2273", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2292", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -470,10 +313,10 @@ "off", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Inherit via internal rule", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -500,50 +343,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2396", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2284", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ - "Port", - "IconDisplay", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "5", - "Port number", + "rectangular", + "+++", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via internal rule", "off", - "", + "Simplest", "on", - "off", - "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -553,7 +388,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -562,22 +397,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2272", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2285", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -589,12 +425,13 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", "on", @@ -610,7 +447,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -619,16 +456,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2252", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2254", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -651,7 +488,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "7", "Port number", "[]", "[]", @@ -691,11 +528,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2254", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2396", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -718,7 +555,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "5", "Port number", "[]", "[]", @@ -825,11 +662,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2251", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2252", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -852,7 +689,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -958,6 +795,112 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2251", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"P", + "label":"P", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2282", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2250", "className":"Simulink.Inport", @@ -1026,11 +969,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2273", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -1053,10 +996,67 @@ "off", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,5)", "off", "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2272", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", "1", "All dimensions", "-1" diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.png index 0f12c16fcedcd6e7f6ce5e2fc64f7ee2f1b09706..21e7be0bb4951e78ae21f3def6b481d3c2c6eaf2 100644 GIT binary patch literal 6992 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 literal 6981 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 - - - + + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -143,27 +166,27 @@ - + - + - + - + - + - + @@ -181,11 +204,11 @@ - + - + sfix16_En4 @@ -197,95 +220,157 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + u - - + + - - + + y + + + + - - - + + + + - - + + + + + + - - + + + + + + + + + + + - - + + Integrator - + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix32_En20 - - - - - - - - - - - Ini=0 - - - - @@ -302,51 +387,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -364,11 +449,11 @@ - + - + sfix32_En20 @@ -380,107 +465,67 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - + + - - up + + - - + + - - u + + - - + + - - lo + + - - + + - - y + + - - + + - + - - + + - + sfix16_En4 @@ -492,90 +537,58 @@ - - - + + + - - - - - - - - + + - - - - - - u - - - - + + - - y + + 7 - - - - - - - - + + - - - - - - - - + + - - + + - - Integrator + + satMin - - - - - - - + - - + + - + sfix16_En4 @@ -585,68 +598,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - @@ -659,11 +610,11 @@ - + - + 5 @@ -681,11 +632,11 @@ - + - + ext_limProt @@ -696,11 +647,11 @@ - + - + sfix32_En20 @@ -712,52 +663,59 @@ - - - + + + - - + + - - + + - - + + 4 + + + + + + + + + + + + + + - - + + - - - - - - - - - + + Kb - - + + - - + + - - sfix32_En20 + + ufix16_En16 @@ -778,11 +736,11 @@ - + - + 3 @@ -800,11 +758,11 @@ - + - + I @@ -815,11 +773,11 @@ - + - + ufix16_En16 @@ -831,58 +789,58 @@ - - + + - + - + - - 7 + + 6 - + - - + + - - + + - - satMin + + satMax - + - - + + - + sfix16_En4 @@ -894,59 +852,59 @@ - - + + - + - + - - 4 + + 2 - + - - + + - - + + - - Kb + + P - - + + - - + + - - ufix16_En16 + + ufix16_En8 @@ -957,59 +915,108 @@ - - - + + + - - + + - + - - + + - - 2 + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - + + + + + + + + up + + + + + + + + u + + + + + + + + lo - + - - P + + y + + + + + + + - - + + - + - - ufix16_En8 + + sfix16_En4 @@ -1020,11 +1027,11 @@ - - + + - + @@ -1034,44 +1041,44 @@ - - 6 + + 1 - + - - + + - + - - satMax + + err - + - + - + sfix16_En4 @@ -1083,59 +1090,52 @@ - - - + + + - - + + - + - - 1 - - - - - - - - - - - - - - + + - + - - err + + + + + + + + + - + - + - - sfix16_En4 + + sfix16_En5 @@ -1146,51 +1146,51 @@ - - - + + + - - + + - + - + - + - + - - + + - - + + - + - + sfix32_En20 @@ -1486,5 +1486,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg index 5f04b9e..a9c27ee 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg @@ -63,7 +63,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -654,7 +654,7 @@ - + @@ -1012,10 +1012,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json index 9d24bc1..3a6a5a9 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json @@ -32,7 +32,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -188,11 +188,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9167", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9166", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_idKi", - "label":"cf_idKi", + "name":"cf_idKb", + "label":"cf_idKb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -206,7 +206,7 @@ "FramePeriod" ], "values":[ - "cf_idKi", + "cf_idKb", "on", "inf", "[]", @@ -236,6 +236,204 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"PI_backCalc_fixdt_Id", + "label":"PI_backCalc_fixdt_Id", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" + ], + "values":[ + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "on", + "off", + "off", + "-1", + "Reusable function", + "Use subsystem name", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "off", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto18", + "label":"Goto18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9169", "className":"Simulink.Constant", @@ -286,11 +484,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -299,7 +497,7 @@ "IconDisplay" ], "values":[ - "id_min", + "id_Tgt", "local", "Tag" ], @@ -319,11 +517,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9161", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -332,7 +530,7 @@ "IconDisplay" ], "values":[ - "id", + "id_min", "local", "Tag" ], @@ -352,11 +550,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9161", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -365,7 +563,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "id", "local", "Tag" ], @@ -385,19 +583,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9158", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_min", + "Vd_max", + "local", "Tag" ], "tabs":[ @@ -411,7 +611,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -447,61 +647,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9153", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "Vd_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -509,25 +673,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9150", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "id_Tgt", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -540,16 +704,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9167", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_idKi", + "label":"cf_idKi", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_idKi", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -572,7 +785,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -612,22 +825,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9150", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "id_Tgt", - "local", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -640,56 +851,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9166", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_idKb", - "label":"cf_idKb", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_idKb", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", + "blocktype":"ActionPort", "masktype":"" } }, @@ -725,11 +887,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -752,7 +914,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "5", "Port number", "[]", "[]", @@ -792,174 +954,78 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "DoSatur" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "4", + "Port number", "[]", "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_backCalc_fixdt_Id", - "label":"PI_backCalc_fixdt_Id", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" - ], - "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "on", - "off", + "Inherit: auto", "off", + "inherit", "-1", - "Reusable function", - "Use subsystem name", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "off", + "Inherit", + "-1", + "auto", "off", "", - "", - "off", + "on", "off", "off", - "", - "", - "on" + "off" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 11 ] }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9145", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id", - "label":"id", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -982,7 +1048,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -1022,11 +1088,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1034,7 +1100,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "id", "Tag" ], "tabs":[ @@ -1053,11 +1119,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9144", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9145", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_Tgt", - "label":"id_Tgt", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1080,7 +1146,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -1120,11 +1186,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9153", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1132,7 +1198,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "id_min", "Tag" ], "tabs":[ @@ -1151,77 +1217,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9158", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9144", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"id_Tgt", + "label":"id_Tgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1244,7 +1244,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "1", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg index cf15186..283a12e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg @@ -173,11 +173,11 @@ - - + + - + @@ -187,29 +187,29 @@ - - cf_idKi + + cf_idKb - + - + - + - + ufix16_En16 @@ -221,44 +221,108 @@ - - - + + + - - + + - + - + - - 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -269,29 +333,155 @@ - - - + + + - - + + - - + + - - [id_min] + + err + + + + + + + + P + + + + + + + + I + + + + + + + + Kb + + + + + + + + ext_limProt + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + PI(z) - - + + + + + + + + + + + + + + + + + PI_backCalc_fixdt_Id + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -302,28 +492,28 @@ - - + + - + - + - - [id] + + [id_max] - + @@ -345,11 +535,11 @@ - + - + [Vd_min] @@ -368,44 +558,44 @@ - - - + + + - - + + - - + + - - [id_min] + + 0 - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -416,44 +606,29 @@ - - - + + + - - + + - - + + - - [Vd_min] + + [id_Tgt] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -464,59 +639,29 @@ - - - + + + - - + + - - + + - - 6 + + [id_min] - - - - - - - - - - - - - - - - - id_min - - - - - - - - - - - - - - - sfix16_En4 + + @@ -527,44 +672,29 @@ - - - + + + - - + + - - + + - - if { } + + [id] - - - - - - - - - - - - - - - - - Action Port + + @@ -575,59 +705,29 @@ - - - + + + - - + + - - + + - - 5 + + [Vd_max] - - - - - - - - - - - - - - - - - id_max - - - - - - - - - - - - - - - sfix16_En4 + + @@ -638,29 +738,44 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [Vd_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -671,44 +786,44 @@ - - - + + + - - + + - - + + - - cf_idKb + + [Vd_max] - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -719,43 +834,43 @@ - - + + - + - + - - [id_max] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -767,59 +882,44 @@ - - - + + + - - + + - - + + - - 3 + + cf_idKi - - - - - - - - - - - - - - - - - Vd_max + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -830,107 +930,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 6 - + + + + - - - - - - - - up - - - - - - - - u - - - - - - - - lo + + + - - + + - - y - - - - - - - + + id_min - + - - + + - + sfix16_En4 @@ -942,155 +993,44 @@ - - - + + + - - + + - - - - - - err - - - - - - - - P - - - - - - - - I - - - - - - - - Kb - - - - - - - - ext_limProt - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - out - - - - + + - - PI(z) + + if { } - - - - - - - - - - - - - - - - - PI_backCalc_fixdt_Id - - - - - - - - - - - - - - - sfix16_En4 + + - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + Action Port @@ -1101,43 +1041,43 @@ - - + + - + - - + + - - [id] + + [id_max] - + - + - - + + - + sfix16_En4 @@ -1149,58 +1089,58 @@ - - + + - + - + - - 2 + + 5 - + - - + + - - + + - - id + + id_max - + - - + + - + sfix16_En4 @@ -1212,43 +1152,58 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + 4 - - + + + + + + + + + + + + + + + + + Vd_min - + - - + + - + sfix16_En4 @@ -1260,58 +1215,58 @@ - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - id_Tgt + + Vd_max - + - - + + - + sfix16_En4 @@ -1323,43 +1278,43 @@ - - + + - + - + - - [Vd_max] + + [id] - + - + - - + + - + sfix16_En4 @@ -1371,29 +1326,59 @@ - - - + + + - - + + - - + + - - [id_max] + + 2 - - + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + sfix16_En4 @@ -1404,29 +1389,44 @@ - - - + + + - - + + - - + + - - [Vd_max] + + [id_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1437,11 +1437,11 @@ - - + + - + @@ -1451,44 +1451,44 @@ - - 4 + + 1 - + - - + + - + - - Vd_min + + id_Tgt - + - + - + sfix16_En4 @@ -1766,5 +1766,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.json index d1a8906..acdabc6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.json @@ -49,120 +49,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2697", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2276", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"u", - "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2281", "className":"Simulink.Outport", @@ -302,6 +188,120 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2697", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2276", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2697#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg index fb6bd5f..5c12ffc 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg @@ -15,7 +15,7 @@ - + @@ -108,60 +108,44 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + 1 - - - - - - - - - - + + - - - + + + - - + + - - sfix16_En4 + + y @@ -172,58 +156,67 @@ - - - + + + - - + + - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - u + + + + + + + + + - + - - + + - + sfix32_En20 @@ -235,44 +228,60 @@ - - - + + + - - + + - + - - + + - - 1 + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - y + + sfix16_En4 @@ -283,67 +292,58 @@ - - - + + + - - + + - - + + - - + + 1 - - - - - - - + + + + + + - - - - - - - + + + + + + - + - - - - - - - - - + + u - + - + - + sfix32_En20 @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg index cd244c1..7b88981 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg @@ -63,7 +63,7 @@ - + @@ -1009,16 +1009,16 @@ - + - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json index 14b1f92..5912b14 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json @@ -1,60 +1,205 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2527", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2293", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "0", - "Inherited", - "-1", + "round", + "-+|", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2282", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", "", "", "off", - [ - ], - "Auto" + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "State Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2285", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -73,16 +218,16 @@ "SampleTime" ], "values":[ - "round", - "-+|", + "rectangular", + "++", "off", "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -109,11 +254,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2290", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2254", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"out", - "label":"out", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -129,20 +274,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "7", "Port number", "[]", "[]", @@ -154,17 +293,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -184,23 +316,22 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2284", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2272", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -212,10 +343,9 @@ "SampleTime" ], "values":[ - "rectangular", - "+++", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", @@ -234,7 +364,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -243,7 +373,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, @@ -305,40 +435,100 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2292", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2527", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2396", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"ext_limProt", + "label":"ext_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "5", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -348,7 +538,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -357,55 +547,75 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2282", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2284", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ + "rectangular", + "+++", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as second input", + "Inherit: Inherit via internal rule", "off", - "Floor", - "off" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Sum", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2254", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2290", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -421,14 +631,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "1", "Port number", "[]", "[]", @@ -440,10 +656,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -463,16 +686,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2253", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2291", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -495,7 +718,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "4", "Port number", "[]", "[]", @@ -535,11 +758,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2396", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2253", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -562,7 +785,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -602,11 +825,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2291", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2251", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"P", + "label":"P", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -629,7 +852,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -736,70 +959,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2285", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2272", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2292", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -825,7 +989,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -851,170 +1015,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2251", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"P", - "label":"P", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2250", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.png index cdc27932f9969a13f5e1a771ddeaacb9cce82491..0f12c16fcedcd6e7f6ce5e2fc64f7ee2f1b09706 100644 GIT binary patch literal 6981 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 - - - + + + - - + + - + - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - + + - - sfix32_En20 + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - Ini=0 + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - + + - - + + up - - + + - - + + u - - + + - - + + lo + + + + + + + + y - - + + - - + + - - + + - + sfix16_En4 @@ -172,44 +189,91 @@ - - - + + + - - + + + + + + + + + + + + + + + u + - + - - 1 + + y - - + + + + + + + + - - + + + + + + + + - + - - out + + Integrator + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -220,84 +284,137 @@ - - - + + + + + + + + + - - + + - - - - - - - - - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + - + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 7 - - + + + + + + + + + + + + + + + + + satMin - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -308,52 +425,52 @@ - - - + + + - + - - + + - - + + - - + + - - + + - + - - + + - - + + - - sfix16_En5 + + sfix32_En20 @@ -364,52 +481,52 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - sfix32_En20 + + sfix16_En5 @@ -420,46 +537,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -469,59 +586,42 @@ - - - - - - - up - - - - - - - - u + + + + + + - - - - - - - lo + + + + + + - - + + - - y - - - - - - - + + Ini=0 - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -532,59 +632,59 @@ - - + + - + - + - - 7 + + 5 - + - - + + - - + + - - satMin + + ext_limProt - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -595,59 +695,84 @@ - - - + + + - - + + - - + + - - 6 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - satMax + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -658,59 +783,44 @@ - - + + - + - + - - 5 - - - - - - - - - - - - - - + + 1 - - - - - - - ext_limProt + + + + + + - - - + + + - - + + - - sfix32_En20 + + out @@ -731,11 +841,11 @@ - + - + 4 @@ -753,11 +863,11 @@ - + - + Kb @@ -768,11 +878,11 @@ - + - + ufix16_En16 @@ -784,59 +894,59 @@ - - + + - + - + - - 3 + + 6 - + - - + + - - + + - - I + + satMax - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -847,124 +957,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 2 - - - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - + + P - - + + - - + + - - sfix32_En20 + + ufix16_En8 @@ -975,59 +1020,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - P + + I - - + + - - + + - - ufix16_En8 + + ufix16_En16 @@ -1038,91 +1083,52 @@ - - - + + + - - - - - - - - + + - - + + - - u + + - - + + - - y + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Integrator + + - - - - - - - - + + - + - - sfix16_En4 + + sfix32_En20 @@ -1134,12 +1140,6 @@ - - - - - - @@ -1486,5 +1486,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg index 5125cb0..27dfc14 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg @@ -1009,7 +1009,7 @@ - + @@ -1018,7 +1018,7 @@ - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json index bb182ff..a7f5507 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json @@ -1,62 +1,41 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9190", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Vq_Vlt", - "label":"Vq_Vlt", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "Port", - "IconDisplay", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "rectangular", + "+++", "off", + "Inherit: Inherit via internal rule", "[]", + "[]", + "Inherit: Inherit via internal rule", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -66,7 +45,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -75,7 +54,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Sum", "masktype":"" } }, @@ -113,50 +92,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -165,7 +105,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "r_inpTgtSca", "local", "Tag" ], @@ -185,11 +125,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -197,7 +137,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "n_limProt", "Tag" ], "tabs":[ @@ -216,85 +156,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_limProt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_limProt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9185", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "Vq_min", - "local", "Tag" ], "tabs":[ @@ -308,7 +182,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -344,11 +218,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -356,7 +230,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -375,53 +249,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9190", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "rectangular", - "+++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "Vq_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -429,16 +277,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"n_limProt", + "label":"n_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -461,7 +309,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -501,11 +349,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -514,7 +362,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "iq_limProt", "local", "Tag" ], @@ -534,11 +382,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"Vq_Vlt", + "label":"Vq_Vlt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -554,14 +402,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -573,10 +427,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -596,7 +457,71 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_limProt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", "masktype":"" } }, @@ -668,21 +593,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "iq_limProt", "Tag" ], "tabs":[ @@ -696,30 +619,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "reset", - "Only when execution is resumed" + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -727,7 +686,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, @@ -799,19 +758,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9185", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", + "local", "Tag" ], "tabs":[ @@ -825,7 +786,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -896,6 +857,45 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9172#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png index bb49c430cb7011f6ea0ab22c4d6215520346aa8c..fd969163d0d3994b3b7673dcdd59dea04c916bc4 100644 GIT binary patch literal 5273 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg index 63baee6..8137fa0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg @@ -13,44 +13,84 @@ - - - + + + - - + + - + - - 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - Vq_Vlt + + sfix16_En4 @@ -71,131 +111,131 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -221,11 +261,11 @@ - + - + sfix16_En4 @@ -237,107 +277,76 @@ - - - + + + - - + + - - - - - - - - - + - - - - - - - - - - - - - - - - - + - - + + [r_inpTgtSca] - + + + + + + + + + + + + + + + + + + - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - + + - - y + + [n_limProt] - - + + - + - - + + - + sfix16_En4 @@ -349,29 +358,44 @@ - - - + + + - - + + - - + + - - [iq_limProt] + + [Vq_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -382,43 +406,43 @@ - - + + - + - + - - [Vq_min] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -430,43 +454,43 @@ - - + + - + - + - - [iq_limProt] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -478,28 +502,28 @@ - - + + - + - + - - [n_limProt] + + [Vq_max] - + @@ -511,76 +535,58 @@ - - - + + + - - + + - - + + - - [Vq_min] + + 5 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [Vq_max] - - - - - - - + + n_limProt - + - - + + - + sfix16_En4 @@ -592,44 +598,29 @@ - - - + + + - - + + - - + + - - [n_limProt] + + [iq_limProt] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -640,84 +631,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + Vq_Vlt @@ -728,59 +679,44 @@ - - - + + + - - + + - - + + - - 4 + + case: { } - - + + - - - - - - - - - - iq_limProt - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -791,28 +727,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [n_limProt] - + @@ -824,58 +760,58 @@ - - + + - + - + - - 5 + + 3 - + - - + + - - + + - - n_limProt + + Vq_min - + - - + + - + sfix16_En4 @@ -887,58 +823,43 @@ - - - + + + - - + + - - + + - - 3 + + [iq_limProt] - - - - - - - - - - - - - - - - - Vq_min + + - + - - + + - + sfix16_En4 @@ -950,77 +871,59 @@ - - - + + + - - + + - - + + - - [Vq_max] + + 4 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - case: { } - - - - - - - + + iq_limProt - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -1041,11 +944,11 @@ - + - + 2 @@ -1063,11 +966,11 @@ - + - + Vq_max @@ -1078,11 +981,11 @@ - + - + sfix16_En4 @@ -1094,44 +997,29 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [Vq_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1152,11 +1040,11 @@ - + - + 1 @@ -1174,11 +1062,11 @@ - + - + r_inpTgtSca @@ -1189,11 +1077,123 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1387,5 +1387,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg index 24cecde..02b23ef 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg @@ -63,7 +63,7 @@ - + @@ -1009,9 +1009,6 @@ - - - @@ -1021,6 +1018,9 @@ + + + @@ -1103,10 +1103,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json index bc8d862..c9f6da6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json @@ -1418,73 +1418,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9455", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", + "==", "off", - "inherit", - "-1", - "Inherit", + "boolean", + "Simplest", "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -1493,7 +1458,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -1548,11 +1513,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9225", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1561,7 +1526,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgtSca", "local", "Tag" ], @@ -1581,11 +1546,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1594,7 +1559,7 @@ "IconDisplay" ], "values":[ - "VqFin", + "VqFinPrev", "local", "Tag" ], @@ -1614,64 +1579,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "VqFinPrev", + "VqFin", + "local", "Tag" ], "tabs":[ @@ -1685,16 +1607,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1702,7 +1624,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "VqFin", "Tag" ], "tabs":[ @@ -1721,11 +1643,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9214", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9210", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1733,7 +1655,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "b_enaFOC", "Tag" ], "tabs":[ @@ -1752,21 +1674,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "VqFinPrev", - "local", "Tag" ], "tabs":[ @@ -1780,16 +1700,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9210", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9214", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1797,7 +1717,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1816,11 +1736,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9455", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1836,14 +1756,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "4", "Port number", "[]", "[]", @@ -1855,10 +1781,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1878,45 +1811,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "FramePeriod" ], "values":[ - "u2 ~= 0", - "off", + "CTRL_COM", + "on", + "inf", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" + "inf" ], "tabs":[ "Main", @@ -1925,8 +1850,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 3, + 7 ] }, "viewer":{ @@ -1935,37 +1860,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "CTRL_COM", - "on", - "inf", + "8", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1974,8 +1917,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1984,16 +1927,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9225", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2002,7 +1945,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlTypSel", "local", "Tag" ], @@ -2021,37 +1964,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "VqFin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9201", "className":"Simulink.Inport", @@ -2119,6 +2031,94 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Switch", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9208#out:3", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.svg index 2adc373..c5cac08 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.svg @@ -1163,30 +1163,30 @@ - + - + - + int16 - + - + - + int16 @@ -1797,44 +1797,68 @@ - - - + + + - - + + - + - + - - 4 + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - VqFinPrev + + boolean @@ -1855,35 +1879,35 @@ - + - + - + - + - + - + - + - + @@ -1904,32 +1928,65 @@ + + + + + + + + + + + Ini=0 + + + + - + - + int16 + + + + + + + + + + + + + + - - - - - + + - - Ini=0 + + [r_inpTgtSca] + + + + + + + @@ -1940,28 +1997,28 @@ - - + + - + - + - - [z_ctrlTypSel] + + [VqFinPrev] - + @@ -1983,11 +2040,11 @@ - + - + [VqFin] @@ -2006,68 +2063,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + [VqFin] - - - - - - - - - - + + - - + + - - + + - - boolean + + int16 @@ -2078,44 +2111,44 @@ - - + + - + - + - - [VqFinPrev] + + [b_enaFOC] - + - - + + - - + + - - int16 + + boolean @@ -2126,43 +2159,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [VqFinPrev] - + - + - - + + - + int16 @@ -2184,11 +2217,11 @@ - + - + [z_ctrlTypSel] @@ -2206,11 +2239,11 @@ - + - + uint8 @@ -2222,29 +2255,44 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + 4 - - + + + + + + + + + + + + + + + + + VqFinPrev @@ -2255,44 +2303,44 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + CTRL_COM - - + + - - + + - - + + - - boolean + + uint8 @@ -2313,11 +2361,11 @@ - + - + 8 @@ -2335,11 +2383,11 @@ - + - + r_inpTgtSca @@ -2350,11 +2398,11 @@ - + - + int16 @@ -2364,6 +2412,102 @@ + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 + + + + + + + + @@ -2376,155 +2520,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -2542,11 +2686,11 @@ - + - + int16 @@ -2558,188 +2702,44 @@ - - - - - - - - - - - - - - - - CTRL_COM - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - + + - + - + - - [VqFin] + + [r_inpTgtSca] - + - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - z_ctrlTypSel - - - - - - + - + - - uint8 + + int16 @@ -3218,5 +3218,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg index 266df7d..65a81b8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg @@ -10,5 +10,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9293_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9293_d.svg index 4d4c12c..f03d846 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9293_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9293_d.svg @@ -10,5 +10,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json index 2f56e88..a430679 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json @@ -172,44 +172,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9368", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9367", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9366", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -218,7 +185,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "z_ctrlModPrev", "local", "Tag" ], @@ -277,11 +244,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9365", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -289,7 +256,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -308,11 +275,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9362", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -320,7 +287,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_inpTgt", "Tag" ], "tabs":[ @@ -369,70 +336,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9366", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlModPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9369", "className":"Simulink.Goto", @@ -467,11 +370,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Commutation_Control_Type", - "label":"Commutation_Control_Type", + "name":"FOC_Control_Type", + "label":"FOC_Control_Type", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -563,6 +466,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9367", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9336", "className":"Simulink.Inport", @@ -765,11 +701,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"FOC_Control_Type", - "label":"FOC_Control_Type", + "name":"Commutation_Control_Type", + "label":"Commutation_Control_Type", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -862,11 +829,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9365", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9368", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9362", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -874,7 +874,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgtSca", "Tag" ], "tabs":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg index 0621acf..da9c965 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg @@ -82,7 +82,7 @@ - + @@ -124,30 +124,30 @@ - + - + - + action - + - + - + action @@ -159,11 +159,11 @@ - - + + - + @@ -173,47 +173,14 @@ - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] + + [z_ctrlModPrev] - + @@ -227,7 +194,7 @@ - + @@ -235,19 +202,19 @@ - + - + - + - + @@ -273,11 +240,11 @@ - + - + sfix16_En4 @@ -289,44 +256,44 @@ - - + + - + - + - - [r_inpTgt] + + [z_ctrlModPrev] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -337,43 +304,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [r_inpTgt] - + - + - - + + - + sfix16_En4 @@ -395,11 +362,11 @@ - + - + [z_ctrlTypSel] @@ -417,11 +384,11 @@ - + - + uint8 @@ -431,87 +398,6 @@ - - - - - - - - - - - - - - - - - - [z_ctrlModPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -524,11 +410,11 @@ - + - + [z_ctrlTypSel] @@ -547,9 +433,9 @@ - - - + + + @@ -557,34 +443,42 @@ - - + + - - + + - + r_inpTgt - - + + - - r_inpTgtScaCOM + + z_ctrlModPrev - - + + - - if { } + + r_inpTgtScaFOC + + + + + + + + else { } @@ -596,8 +490,8 @@ - - + + @@ -609,16 +503,16 @@ - - + + - - + + - - Commutation_Control_Type + + FOC_Control_Type @@ -630,15 +524,15 @@ - + - - + + - + action @@ -651,15 +545,15 @@ - + - - + + - + sfix16_En4 @@ -671,13 +565,46 @@ - + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + @@ -687,11 +614,11 @@ - + - + 3 @@ -709,11 +636,11 @@ - + - + z_ctrlModPrev @@ -724,11 +651,11 @@ - + - + uint8 @@ -750,11 +677,11 @@ - + - + 2 @@ -772,11 +699,11 @@ - + - + r_inpTgt @@ -787,11 +714,11 @@ - + - + sfix16_En4 @@ -813,11 +740,11 @@ - + - + 1 @@ -835,11 +762,11 @@ - + - + z_ctrlTypSel @@ -850,11 +777,11 @@ - + - + uint8 @@ -866,9 +793,57 @@ - - - + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + @@ -876,42 +851,34 @@ - - + + - - + + - + r_inpTgt - - - - - - z_ctrlModPrev - - - - + + - - r_inpTgtScaFOC + + r_inpTgtScaCOM - - + + - - else { } + + if { } @@ -923,8 +890,8 @@ - - + + @@ -936,16 +903,16 @@ - - + + - - + + - - FOC_Control_Type + + Commutation_Control_Type @@ -957,16 +924,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -978,16 +945,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -998,17 +965,50 @@ - + - + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + - + @@ -1018,30 +1018,30 @@ - - [z_ctrlModPrev] + + [r_inpTgtSca] - + - - + + - + - - uint8 + + sfix16_En4 @@ -1234,5 +1234,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg index 3644055..ba337f2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg @@ -186,5 +186,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json index ce5ac28..4054849 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json @@ -1,53 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9358", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "i_max", - "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9360", "className":"Simulink.Outport", @@ -129,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9357", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9359", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -147,12 +98,12 @@ "FramePeriod" ], "values":[ - "0", + "n_max", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(1,16,4)", "off", "inf" ], @@ -178,11 +129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9358", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -196,12 +147,12 @@ "FramePeriod" ], "values":[ - "1000", + "i_max", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(1,16,4)", "off", "inf" ], @@ -227,11 +178,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9355", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9357", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -245,12 +196,12 @@ "FramePeriod" ], "values":[ - "Vd_max", + "0", "on", "inf", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -275,107 +226,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9354", - "className":"Simulink.Selector", - "icon":"WebViewIcon3", - "name":"Selector", - "label":"Selector", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "inspector":{ - "params":[ - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "Indices", - "OutputSizes" - ], - "values":[ - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "[1 3]", - "1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 24 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Selector", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9353", "className":"Simulink.Mux", @@ -408,11 +258,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9352", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9351", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -421,7 +271,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "z_ctrlModPrev", "local", "Tag" ], @@ -474,27 +324,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9351", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9355", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_ctrlModPrev", - "local", - "Tag" + "Vd_max", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -502,7 +368,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, @@ -538,19 +404,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9347", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9352", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtScaFOC", + "r_inpTgt", + "local", "Tag" ], "tabs":[ @@ -564,16 +432,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9359", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -587,12 +455,12 @@ "FramePeriod" ], "values":[ - "n_max", + "1000", "on", "inf", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -617,6 +485,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9347", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9346", "className":"Simulink.Product", @@ -674,37 +573,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9348", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9345", "className":"Simulink.Product", @@ -860,6 +728,138 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9348", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From22", + "label":"From22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9354", + "className":"Simulink.Selector", + "icon":"WebViewIcon3", + "name":"Selector", + "label":"Selector", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "inspector":{ + "params":[ + "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", + "IndexParamArray", + "OutputSizeArray", + "InputPortWidth", + "SampleTime", + "IndexOptions", + "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", + "IndexParamArray", + "OutputSizeArray", + "InputPortWidth", + "SampleTime", + "IndexOptions", + "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", + "IndexParamArray", + "OutputSizeArray", + "InputPortWidth", + "SampleTime", + "IndexOptions", + "Indices", + "OutputSizes" + ], + "values":[ + "1", + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], + [ + "1" + ], + "4", + "-1", + "Index vector (port)", + "1", + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], + [ + "1" + ], + "4", + "-1", + "Index vector (port)", + "1", + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], + [ + "1" + ], + "4", + "-1", + "Index vector (port)", + "[1 3]", + "1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 24 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Selector", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9342", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg index 9f3b86f..1c8bc0b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg @@ -10,69 +10,6 @@ - - - - - - - - - - - - - - - - - - - i_max - - - - - - - - - - - - - - - - - - - - - - i_max - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - @@ -86,11 +23,11 @@ - + - + 1 @@ -108,11 +45,11 @@ - + - + r_inpTgtScaFOC @@ -124,91 +61,58 @@ - - + + - + - + - - 0 + + n_max - + - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - - - - - - - - - - - - - + + - - 1000 - - - - - - - + + n_max - + - - + + - + sfix16_En4 @@ -220,58 +124,58 @@ - - + + - + - + - - Vd_max + + i_max - + - - + + - - + + - - Vd_max + + i_max - + - - + + - + sfix16_En4 @@ -283,67 +187,43 @@ - - - + + + - - + + - - - - - - U - - - - - - - - Idx1 - - - - - - - - 0 - - - - + + - - Y + + 0 - - + + - + - - + + - + sfix16_En4 @@ -365,11 +245,11 @@ - + - + @@ -387,11 +267,11 @@ - + - + sfix16_En4 @@ -403,28 +283,28 @@ - - + + - + - + - - [r_inpTgt] + + [z_ctrlModPrev] - + @@ -446,11 +326,11 @@ - + - + [r_inpTgtScaFOC] @@ -469,29 +349,59 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + Vd_max - - + + + + + + + + + + + + + + + + + Vd_max + + + + + + + + + + + + + + + sfix16_En4 @@ -512,11 +422,11 @@ - + - + [z_ctrlModPrev] @@ -534,11 +444,11 @@ - + - + uint8 @@ -550,43 +460,76 @@ - - - + + + - - + + - - + + - - [r_inpTgtScaFOC] + + [r_inpTgt] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1000 + + + + + + + - + - - + + - + sfix16_En4 @@ -598,58 +541,43 @@ - - - + + + - - + + - - + + - - n_max + + [r_inpTgtScaFOC] - - - - - - - - - - - - - - - - - n_max + + - + - - + + - + sfix16_En4 @@ -663,7 +591,7 @@ - + @@ -671,35 +599,35 @@ - + - + - + - + - + - + - + - + @@ -718,11 +646,11 @@ - + - + ufix16_En12 @@ -732,54 +660,6 @@ - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -792,19 +672,19 @@ - + - + - + - + @@ -822,11 +702,11 @@ - + - + sfix16_En4 @@ -848,11 +728,11 @@ - + - + else { } @@ -870,11 +750,11 @@ - + - + Action Port @@ -896,11 +776,11 @@ - + - + 2 @@ -918,11 +798,11 @@ - + - + z_ctrlModPrev @@ -933,11 +813,11 @@ - + - + uint8 @@ -947,6 +827,126 @@ + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + U + + + + + + + + Idx1 + + + + + + + + 0 + + + + + + + + Y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -1208,5 +1208,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json index d606eac..1ac167f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json @@ -38,101 +38,101 @@ ":9309", ":9308", ":9307", + ":9306", + ":9305", ":9303", ":9302", + ":9299", + ":9298", + ":9295", ":9300", - ":9441", - ":9294", - ":9304", + ":9293", ":9292", - ":9290", - ":9284", - ":9282", ":9393", ":9389", + ":9284", ":9281", - ":9291", ":9280", + ":9441", ":9287", ":9285", - ":9283", + ":9272", ":9278", - ":9277", ":9276", - ":9299", + ":9275", + ":9274", ":9456", - ":9289", - ":9437", - ":9270", - ":9269", + ":9392", + ":9252", + ":9251", ":9250", ":9241", - ":9263", ":9262", - ":9418", - ":9251", ":9268", - ":9252", - ":9267", - ":9266", - ":9272", ":9265", - ":9264", ":9260", - ":9261", - ":9258", + ":9304", ":9259", - ":9257", + ":9286", + ":9387", ":9388", + ":9264", ":9436", - ":9288", - ":9306", - ":9244", + ":9249", + ":9242", ":9240", - ":9248", - ":9305", + ":9263", + ":9258", + ":9198", + ":9277", + ":9266", + ":9279", + ":8658", ":8535", - ":8469", - ":9245", + ":9385", + ":9290", + ":9282", + ":9291", + ":9437", + ":9270", ":8219", + ":9271", + ":9267", ":9301", ":8218", - ":9297", - ":9275", - ":9295", - ":9253", - ":9286", ":8217", - ":9249", - ":8658", - ":9279", - ":8220", - ":9385", - ":8213", + ":9244", + ":9248", + ":8469", + ":8216", + ":8215", + ":9257", + ":8214", + ":9288", + ":9289", + ":9261", ":8211", + ":9448", ":8210", + ":9297", ":8209", - ":9298", - ":9448", - ":8207", - ":8206", + ":8213", ":8208", - ":9274", - ":9387", - ":8216", + ":8212", + ":9253", + ":9245", + ":8206", + ":9283", ":8205", + ":9294", ":8204", - ":9198", - ":8212", - ":9293", - ":8214", - ":8215", ":8202", - ":9242", - ":9392", + ":8220", + ":9269", ":8201", ":8203", - ":9271", + ":8207", + ":9418", ":9268#out:1", ":8469#out:2", ":8215#out:1", @@ -262,46 +262,46 @@ ":8464", ":8426", ":8428", - ":9433", ":8467", - ":8463", + ":8466", ":9383", ":8462", - ":8458", + ":8460", ":8457", - ":8455", ":9379", + ":9377", ":8451", ":8450", ":8446", - ":9377", + ":9432", ":9431", - ":8436", + ":8437", + ":8468", + ":8435", + ":8434", ":9381", - ":8432", - ":8431", - ":9380", + ":8458", + ":9384", ":8430", - ":8429", ":8427", - ":9374", - ":8466", - ":8468", + ":8424", + ":8429", + ":9433", ":8384", ":8461", - ":8424", - ":8437", + ":9374", + ":8436", + ":8463", + ":9382", ":8449", ":9378", - ":8435", - ":9382", - ":9432", ":9333", - ":9384", ":9375", - ":8434", + ":8432", ":8224", - ":8460", + ":8431", + ":8455", + ":9380", ":8462#out:1", ":8440#out:1", ":8439#out:1", @@ -373,21 +373,21 @@ ":9373", ":9372", ":9370", - ":9368", - ":9367", + ":9366", ":9371", + ":9365", ":9364", - ":9362", ":9363", - ":9366", - ":9361", ":9369", - ":9337", + ":9341", + ":9367", ":9336", ":9335", ":9334", - ":9341", - ":9365", + ":9361", + ":9337", + ":9368", + ":9362", ":9337#out:1", ":9364#out:1", ":9362#out:1", @@ -441,24 +441,24 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json", "elements":[ - ":9358", ":9360", + ":9359", + ":9358", ":9357", - ":9356", - ":9355", - ":9354", ":9353", - ":9352", - ":9350", ":9351", + ":9350", + ":9355", ":9349", + ":9352", + ":9356", ":9347", - ":9359", ":9346", - ":9348", ":9345", ":9344", ":9343", + ":9348", + ":9354", ":9342", ":9342#out:1", ":9347#out:1", @@ -496,19 +496,17 @@ ":8227", ":8228", ":8234", - ":8229", ":8233", - ":8232", - ":8230", ":8231", + ":8232", + ":9634", ":8226#out:1", ":8228#out:1", ":8227#out:1", - ":8229#out:1", - ":8231#out:1", ":8232#out:1", ":8233#out:1", - ":8230#out:1" + ":8231#out:1", + ":9634#out:1" ], "sameAsElement":true }, @@ -575,10 +573,10 @@ ":8258", ":8251", ":8252", - ":8259", ":8262", - ":8249", ":8260", + ":8259", + ":8249", ":8259#out:1", ":8255#out:1", ":8253#out:1", @@ -628,64 +626,64 @@ ":8290", ":8266", ":8296", - ":8379", ":9430", ":8377", - ":8376", - ":8374", ":8373", - ":8372", - ":8378", - ":8370", - ":8369", - ":9428", ":8366", - ":9429", - ":8314", - ":8313", - ":8311", + ":8378", + ":8379", ":8306", - ":9427", ":8305", + ":8376", + ":8303", + ":8372", + ":8300", ":8299", - ":8312", ":8297", + ":8312", ":9425", + ":9428", ":8293", - ":8292", - ":8291", - ":8367", - ":8289", + ":8288", ":8286", - ":8294", + ":8304", ":8285", + ":8291", ":8284", ":9477", - ":8283", - ":8282", - ":8303", - ":8308", - ":8280", + ":8301", ":8298", + ":8367", + ":8282", ":8281", + ":8369", + ":8278", + ":8283", + ":8277", + ":8294", ":9426", + ":8289", ":8275", - ":8277", - ":8301", - ":8304", + ":8311", + ":8370", + ":8272", + ":8280", + ":8308", ":8270", - ":8278", + ":9427", ":8269", - ":8371", - ":8288", + ":9429", + ":8268", ":8267", - ":8300", - ":8268", + ":8292", + ":8314", + ":8374", ":8276", - ":8272", + ":8371", ":8264", - ":8310", + ":8313", ":8309", + ":8310", ":8293#out:1", ":8312#out:1", ":8290#out:1", @@ -759,11 +757,11 @@ "elements":[ ":8272:2418", ":8272:2515", - ":8272:2414", - ":8272:2416", ":8272:2415", + ":8272:2414", ":8272:2412", ":8272:2413", + ":8272:2416", ":8272:2515#out:1", ":8272:2415#out:1", ":8272:2413#out:1", @@ -823,50 +821,50 @@ ":8364", ":8365", ":8360", + ":8358", ":8357", - ":8355", + ":8354", + ":8353", ":8352", - ":8350", - ":8349", ":8351", - ":8347", + ":8348", ":8345", - ":8340", - ":8356", - ":8346", - ":8339", + ":8342", + ":8341", + ":8347", ":8337", - ":8358", - ":8336", ":8335", - ":8353", ":8334", - ":8344", + ":8339", + ":8333", + ":8332", + ":8340", + ":8331", ":8330", ":8329", + ":8327", + ":8336", + ":8325", + ":8346", + ":8326", ":8338", + ":8356", + ":8349", + ":8321", + ":8355", + ":8319", ":8328", ":8324", - ":8326", - ":8323", - ":8348", - ":8331", - ":8322", - ":8327", - ":8321", ":8318", - ":8359", - ":8319", - ":8332", + ":8344", ":8316", - ":8341", + ":8320", + ":8350", ":8317", - ":8354", - ":8333", - ":8342", + ":8323", + ":8322", ":8315", - ":8325", - ":8320", + ":8359", ":8343", ":8315#out:1", ":8316#out:1", @@ -923,6 +921,7 @@ "elements":[ ":8422", ":8423", + ":9635", ":8385", ":8386", ":8406", @@ -941,25 +940,25 @@ ":8413", ":8416", ":8391", - ":8421", ":8418", + ":8412", ":8417", - ":8420", ":8411", - ":8410", ":8405", ":8404", - ":8398", - ":8393", - ":8412", - ":8397", - ":8392", ":8403", - ":8400", - ":8389", + ":8398", ":8396", - ":8394", ":8395", + ":8410", + ":8394", + ":8400", + ":8389", + ":8392", + ":8421", + ":8420", + ":8393", + ":8397", ":8385#out:1", ":8386#out:1", ":8399#out:1", @@ -1019,49 +1018,49 @@ ":8526", ":8499", ":8497", - ":8527", ":8525", - ":8524", ":9405", - ":8519", - ":8514", ":8520", - ":9404", - ":9398", - ":8509", + ":8527", ":8515", - ":9395", + ":8524", + ":8514", + ":8509", ":8508", - ":8493", - ":8492", ":8517", - ":9408", ":9406", - ":8484", + ":8504", + ":9395", + ":8521", + ":8492", + ":9407", + ":9408", + ":9400", + ":8519", ":8483", + ":8486", + ":8484", + ":9412", + ":9410", + ":8503", + ":9402", + ":9403", ":8487", - ":8504", + ":9404", ":8482", + ":9394", ":8491", - ":8500", - ":9402", - ":9400", - ":8521", - ":9403", - ":8503", ":8474", - ":9397", - ":9412", - ":9394", - ":8479", - ":8478", - ":9396", + ":8493", ":8480", - ":8486", - ":9410", + ":9396", + ":8479", ":8494", - ":9407", + ":8478", ":8510", + ":8500", + ":9397", + ":9398", ":9401", ":8497#out:1", ":8470#out:1", @@ -1123,40 +1122,40 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json", "elements":[ - ":8486:2496", ":8486:2507", - ":8486:2465", - ":8486:2464", + ":8486:2473", + ":8486:2472", + ":8486:2466", ":8486:2463", + ":8486:2496", ":8486:2461", ":8486:2460", ":8486:2459", ":8486:2458", - ":8486:2473", - ":8486:2456", - ":8486:2451", - ":8486:2452", ":8486:2457", - ":8486:2472", - ":8486:2466", - ":8486:2462", - ":8486:2509", + ":8486:2455", + ":8486:2453", + ":8486:2452", ":8486:2450", + ":8486:2451", ":8486:2449", - ":8486:2448", - ":8486:2454", + ":8486:2464", + ":8486:2462", + ":8486:2456", ":8486:2428", ":8486:2423", - ":8486:2453", + ":8486:2467", + ":8486:2509", + ":8486:2448", ":8486:2422", ":8486:2421", - ":8486:2455", - ":8486:2467", + ":8486:2454", + ":8486:2465", ":8486:2420", + ":8486:2469", ":8486:2468", - ":8486:2470", ":8486:2471", - ":8486:2469", + ":8486:2470", ":8486:2507#out:1", ":8486:2422#out:1", ":8486:2421#out:1", @@ -1205,9 +1204,9 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json", "elements":[ ":8486:2427", - ":8486:2425", - ":8486:2424", ":8486:2426", + ":8486:2424", + ":8486:2425", ":8486:2424#out:1" ], "sameAsElement":true @@ -1228,25 +1227,25 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json", "elements":[ + ":8486:2447", + ":8486:2446", ":8486:2445", ":8486:2443", - ":8486:2441", - ":8486:2446", - ":8486:2447", ":8486:2440", - ":8486:2434", - ":8486:2436", - ":8486:2442", ":8486:2438", - ":8486:2432", + ":8486:2437", + ":8486:2436", + ":8486:2434", ":8486:2433", ":8486:2431", - ":8486:2430", + ":8486:2441", ":8486:2444", ":8486:2435", ":8486:2439", + ":8486:2442", + ":8486:2430", ":8486:2429", - ":8486:2437", + ":8486:2432", ":8486:2438#out:1", ":8486:2429#out:1", ":8486:2430#out:1", @@ -1279,12 +1278,12 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json", "elements":[ + ":8486:2435:2418", ":8486:2435:2416", ":8486:2435:2414", - ":8486:2435:2415", - ":8486:2435:2418", ":8486:2435:2413", ":8486:2435:2412", + ":8486:2435:2415", ":8486:2435:2515", ":8486:2435:2515#out:1", ":8486:2435:2415#out:1", @@ -1340,24 +1339,24 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json", "elements":[ + ":8486:2492", + ":8486:2491", ":8486:2490", ":8486:2489", - ":8486:2487", - ":8486:2492", - ":8486:2484", - ":8486:2486", - ":8486:2488", + ":8486:2483", ":8486:2482", ":8486:2481", - ":8486:2483", + ":8486:2484", ":8486:2485", - ":8486:2479", - ":8486:2491", ":8486:2480", - ":8486:2476", - ":8486:2475", + ":8486:2479", ":8486:2477", + ":8486:2487", ":8486:2478", + ":8486:2476", + ":8486:2488", + ":8486:2475", + ":8486:2486", ":8486:2474", ":8486:2480#out:1", ":8486:2491#out:1", @@ -1391,13 +1390,13 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json", "elements":[ - ":8486:2480:2416", - ":8486:2480:2415", ":8486:2480:2418", - ":8486:2480:2414", - ":8486:2480:2413", ":8486:2480:2515", + ":8486:2480:2416", + ":8486:2480:2414", + ":8486:2480:2415", ":8486:2480:2412", + ":8486:2480:2413", ":8486:2480:2515#out:1", ":8486:2480:2415#out:1", ":8486:2480:2413#out:1", @@ -1505,33 +1504,33 @@ "elements":[ ":8655", ":8634", - ":9391", - ":8651", - ":8650", + ":8654", + ":8647", + ":8640", + ":9390", + ":8636", + ":8635", + ":8632", + ":8630", + ":9423", + ":8642", ":8646", + ":9424", ":8645", - ":8643", + ":8628", + ":8650", ":8639", - ":9390", - ":8640", - ":8632", - ":8625", + ":8603", ":8624", + ":8651", ":8633", - ":8603", - ":9424", - ":8636", - ":8630", - ":8654", - ":8546", + ":8625", ":8539", - ":9423", - ":8647", - ":8635", + ":8643", ":8537", - ":8642", + ":9391", ":9422", - ":8628", + ":8546", ":8536", ":8634#out:1", ":8537#out:1", @@ -1576,56 +1575,56 @@ ":8602", ":8600", ":8599", - ":8595", + ":8598", + ":8593", ":8592", - ":8591", - ":8597", ":8590", - ":8589", - ":8586", - ":8582", ":8587", - ":8581", - ":8593", ":8585", ":8584", - ":8572", - ":9421", + ":8583", + ":8582", + ":8580", + ":8597", + ":8591", + ":8589", + ":8581", + ":8571", ":8570", - ":8568", ":8565", - ":8564", - ":8569", ":8563", + ":8569", ":9419", - ":8559", - ":8598", - ":8562", + ":8564", + ":8573", + ":8560", ":8558", - ":8561", - ":8571", ":8556", - ":8560", - ":8594", ":8553", ":8552", - ":8566", - ":8573", + ":8549", + ":8561", + ":8559", ":8555", - ":8551", - ":8583", + ":8566", + ":8568", + ":8562", ":8548", - ":8580", + ":8594", + ":9421", ":9420", - ":8549", + ":8586", ":8547", ":8554", - ":8575", + ":8551", + ":8572", + ":8595", + ":8574", ":8578", + ":8579", ":8577", + ":8575", ":8576", - ":8574", - ":8579", ":8587#out:1", ":8593#out:1", ":8594#out:1", @@ -1688,14 +1687,14 @@ ":8603:6", ":8603:4", ":8603:33", - ":8603:30", ":8603:32", + ":8603:30", ":8603:12", - ":8603:31", ":8603:9", + ":8603:31", ":8603:1", - ":8603:13", ":8603:14", + ":8603:13", ":8603:2" ], "sameAsElement":false @@ -1748,125 +1747,125 @@ ":9071", ":9025", ":9197", - ":9171", - ":9142", - ":9195", - ":9109", + ":9108", + ":9073", ":9072", ":9045", - ":9029", - ":9028", + ":9026", ":9027", ":8912", - ":8865", - ":8861", - ":9108", + ":8864", + ":8863", + ":8858", + ":8857", ":8856", + ":8855", + ":8852", + ":8848", ":9143", - ":8853", ":8846", + ":8845", + ":8842", + ":8841", + ":8854", + ":8839", + ":9074", ":8843", - ":8863", - ":8838", - ":8847", - ":8850", + ":8834", ":8832", - ":8858", - ":8826", - ":9026", + ":8849", + ":8830", ":8825", - ":8824", + ":9142", ":8823", + ":8837", + ":8822", ":8821", - ":8836", - ":8862", ":8820", - ":8819", + ":8860", ":8818", - ":8815", + ":8816", ":8814", - ":8831", + ":8813", + ":8812", ":8811", - ":8830", - ":8809", - ":8806", - ":8804", - ":8803", ":8817", - ":8837", + ":8810", + ":8808", + ":8826", + ":9028", + ":8802", + ":8913", ":8800", - ":8798", - ":9196", - ":8864", + ":8801", + ":8797", + ":8807", ":8796", - ":8805", - ":8795", - ":8839", - ":8790", - ":8787", - ":8852", - ":8854", + ":9023", + ":8791", + ":8789", + ":8824", ":8786", ":8785", - ":8855", - ":8801", - ":8781", + ":8784", + ":8794", + ":8783", + ":8782", + ":8847", + ":8853", ":8780", - ":8779", - ":8777", - ":8810", - ":8776", - ":8807", + ":8851", + ":8803", ":8774", - ":8773", ":8772", - ":8792", - ":8816", - ":8770", - ":8844", - ":8841", - ":9074", + ":8804", + ":9195", + ":8777", + ":8862", ":8768", - ":8797", - ":8802", - ":8775", - ":8794", - ":8812", - ":8842", - ":8771", - ":8765", - ":8848", + ":8776", + ":8773", + ":9029", ":8766", - ":8857", - ":8726", - ":8860", - ":8783", - ":8834", - ":9073", - ":8784", - ":8845", - ":8791", - ":8849", - ":8851", - ":8913", + ":8790", ":8793", - ":8667", - ":8822", + ":8743", + ":8836", + ":8779", + ":8815", + ":8726", + ":8831", + ":8850", + ":8809", + ":8798", + ":8805", + ":8781", + ":8838", + ":8664", + ":9109", + ":8775", + ":8771", ":8663", - ":9023", - ":8788", - ":8782", + ":8770", + ":8795", ":8662", - ":8668", + ":8792", + ":8844", + ":8861", + ":8806", + ":8788", + ":8787", + ":8865", ":8661", + ":9171", + ":8667", + ":8819", + ":8668", ":8799", - ":8664", + ":9196", ":8660", - ":8789", - ":8743", - ":8813", + ":8765", ":8659", - ":8808", ":8827#out:1", ":8828#out:1", ":8767#out:1", @@ -2006,32 +2005,32 @@ "elements":[ ":8725", ":8724", - ":8722", - ":8719", - ":8718", + ":8723", + ":8720", + ":8721", ":8716", + ":8715", + ":8714", ":8711", ":8710", - ":8715", - ":8704", - ":8720", ":8709", - ":8707", + ":8706", + ":8704", ":8703", - ":8723", - ":8686", - ":8714", - ":8721", + ":8719", + ":8702", + ":8708", ":8713", - ":8706", - ":8705", + ":8712", + ":8718", + ":8707", + ":8722", + ":8686", + ":8717", ":8671", ":8670", - ":8702", + ":8705", ":8669", - ":8712", - ":8708", - ":8717", ":8686#out:1", ":8705#out:1", ":8704#out:1", @@ -2072,17 +2071,17 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.json", "elements":[ ":8685", + ":8683", ":8684", + ":8680", ":8679", - ":8682", ":8678", - ":8677", - ":8680", - ":8676", - ":8683", - ":8675", ":8681", + ":8676", + ":8682", ":8674", + ":8675", + ":8677", ":8673", ":8672", ":8673#out:1", @@ -2112,20 +2111,20 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json", "elements":[ ":8701", - ":8698", - ":8696", ":8700", - ":8694", - ":8699", - ":8693", + ":8697", + ":8696", + ":8695", + ":8691", ":8690", + ":8699", ":8689", - ":8695", - ":8697", - ":8688", ":8692", + ":8694", + ":8688", + ":8698", ":8687", - ":8691", + ":8693", ":8691#out:1", ":8690#out:1", ":8693#out:1", @@ -2154,22 +2153,22 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json", "elements":[ - ":8741", ":8740", - ":8739", - ":8737", - ":8736", + ":8741", ":8735", + ":8736", ":8734", - ":8732", + ":8742", ":8733", + ":8738", + ":8730", ":8731", ":8729", - ":8742", - ":8730", ":8728", - ":8738", ":8727", + ":8739", + ":8732", + ":8737", ":8739#out:1", ":8729#out:2", ":8740#out:1", @@ -2201,11 +2200,11 @@ "elements":[ ":8738:2407", ":8738:2406", - ":8738:2404", + ":8738:2405", ":8738:2403", + ":8738:2404", ":8738:2402", ":8738:2401", - ":8738:2405", ":8738:2400", ":8738:2399", ":8738:2399#out:1", @@ -2238,23 +2237,23 @@ ":8762", ":8763", ":8764", + ":8759", ":8758", ":8757", ":8755", - ":8751", + ":8754", ":8753", - ":8760", ":8750", + ":8760", ":8749", - ":8754", ":8748", - ":8752", - ":8747", + ":8751", ":8746", - ":8759", + ":8747", ":8745", - ":8756", + ":8752", ":8744", + ":8756", ":8748#out:1", ":8755#out:1", ":8744#out:1", @@ -2294,18 +2293,18 @@ ":8867", ":8881", ":8883", - ":8879", - ":8876", + ":8878", + ":8877", ":8875", + ":8879", + ":8873", ":8880", - ":8878", + ":8871", + ":8874", + ":8876", ":8870", ":8869", - ":8874", - ":8873", - ":8877", ":8872", - ":8871", ":8880#out:1", ":8879#out:1", ":8872#out:1", @@ -2349,22 +2348,22 @@ ":8890", ":8908", ":8907", - ":8903", + ":8905", ":8902", ":8901", - ":8900", - ":8905", + ":8904", ":8899", ":8897", ":8896", - ":8898", + ":8903", ":8894", - ":8893", - ":8906", + ":8895", ":8892", - ":8904", ":8891", - ":8895", + ":8893", + ":8906", + ":8900", + ":8898", ":8889#out:1", ":8888#out:1", ":8887#out:1", @@ -2408,92 +2407,92 @@ ":9020", ":9021", ":9022", - ":9013", + ":9015", ":9012", - ":9011", ":9010", - ":9009", - ":9015", ":9008", - ":9007", - ":9006", + ":9011", ":9005", - ":9004", + ":9013", ":9003", - ":9001", + ":9000", ":8998", - ":8984", - ":8985", - ":8977", - ":8974", - ":8972", + ":8997", + ":9001", ":8987", - ":8983", - ":8964", ":8986", - ":8963", - ":8962", + ":8985", + ":8984", + ":8983", + ":8982", + ":9009", + ":9014", + ":8978", + ":8975", + ":8973", + ":8971", + ":8970", + ":8969", + ":8972", + ":8968", + ":8967", + ":8966", + ":8977", + ":9006", ":8961", - ":8960", ":8959", ":8957", - ":8978", - ":8956", ":8955", + ":9004", ":8954", - ":8965", ":8952", - ":8968", - ":8948", - ":8966", + ":9016", + ":8951", + ":8950", + ":8949", + ":8964", + ":8962", + ":8943", ":8976", - ":8945", ":8942", - ":8971", - ":9014", - ":8941", - ":8979", - ":8938", - ":8935", - ":8950", - ":9016", - ":9000", - ":8924", + ":8940", + ":9017", + ":8937", + ":8963", + ":8936", + ":9007", + ":8999", ":8958", - ":8922", + ":8935", + ":8948", + ":8974", + ":8946", + ":8941", + ":9002", + ":8923", ":8921", - ":8982", - ":8951", ":8919", - ":8949", - ":8999", + ":8922", ":8944", + ":8956", ":8917", - ":8970", - ":8940", + ":8945", + ":8979", ":8939", - ":8969", - ":8918", - ":9017", - ":8973", - ":8967", - ":8936", - ":8916", - ":8923", - ":8947", - ":8997", ":8920", + ":8916", + ":8918", ":8953", - ":8934", - ":8943", ":8915", - ":8946", - ":8975", - ":9002", - ":8937", + ":8938", + ":8960", + ":8947", ":8914", - ":8980", + ":8934", + ":8965", + ":8924", ":8981", + ":8980", ":8999#out:1", ":8947#out:1", ":8935#out:1", @@ -2571,11 +2570,11 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json", "elements":[ ":8933", + ":8931", ":8930", + ":8929", ":8928", - ":8931", ":8927", - ":8929", ":8932", ":8926", ":8925", @@ -2641,13 +2640,13 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json", "elements":[ ":8995", - ":8991", - ":8990", + ":8996", ":8994", ":8992", - ":8996", - ":8989", ":8993", + ":8991", + ":8990", + ":8989", ":8988", ":8993#out:1", ":8990#out:1", @@ -2713,19 +2712,19 @@ "elements":[ ":9044", ":9043", - ":9042", - ":9041", + ":9039", ":9037", + ":9035", + ":9034", ":9038", ":9036", + ":9033", + ":9040", ":9032", - ":9034", - ":9035", ":9031", - ":9040", - ":9039", + ":9041", ":9030", - ":9033", + ":9042", ":9030#out:1", ":9032#out:1", ":9042#out:1", @@ -2758,14 +2757,14 @@ "elements":[ ":9040:2353", ":9040:2360", - ":9040:2346", + ":9040:2343", ":9040:2395", - ":9040:2358", ":9040:2342", - ":9040:2357", ":9040:2356", - ":9040:2343", ":9040:2355", + ":9040:2357", + ":9040:2346", + ":9040:2358", ":9040:2359", ":9040:2356#out:1", ":9040:2342#out:1", @@ -2891,23 +2890,23 @@ ":9048", ":9049", ":9067", + ":9062", + ":9060", + ":9059", ":9066", - ":9064", ":9061", - ":9059", - ":9057", + ":9055", ":9054", - ":9063", ":9053", - ":9060", - ":9051", - ":9055", + ":9056", ":9065", - ":9050", + ":9064", + ":9051", ":9058", - ":9056", ":9052", - ":9062", + ":9057", + ":9063", + ":9050", ":9048#out:1", ":9047#out:1", ":9046#out:1", @@ -2948,37 +2947,37 @@ "elements":[ ":9107", ":9106", - ":9105", ":9104", ":9103", - ":9098", - ":9097", + ":9100", ":9099", + ":9105", + ":9098", ":9096", ":9095", - ":9092", - ":9100", - ":9091", + ":9093", + ":9089", ":9088", - ":9102", + ":9087", ":9084", - ":9090", ":9081", - ":9089", ":9080", ":9079", - ":9087", - ":9083", - ":9101", - ":9094", - ":9077", + ":9091", + ":9097", ":9078", - ":9086", - ":9093", - ":9075", + ":9092", + ":9077", ":9076", + ":9101", + ":9102", + ":9094", + ":9083", ":9085", + ":9090", + ":9075", ":9082", + ":9086", ":9090#out:1", ":9089#out:1", ":9104#out:1", @@ -3022,22 +3021,22 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json", "elements":[ - ":9098:2285", - ":9098:2293", - ":9098:2527", - ":9098:2284", ":9098:2290", + ":9098:2527", ":9098:2282", ":9098:2273", ":9098:2292", + ":9098:2293", ":9098:2254", ":9098:2253", ":9098:2396", - ":9098:2272", ":9098:2291", ":9098:2275", ":9098:2252", + ":9098:2272", ":9098:2251", + ":9098:2285", + ":9098:2284", ":9098:2250", ":9098:2273#out:1", ":9098:2275#out:1", @@ -3173,37 +3172,37 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json", "elements":[ ":9140", - ":9138", ":9137", ":9136", + ":9135", + ":9134", + ":9139", ":9133", - ":9131", ":9130", ":9129", + ":9141", ":9128", - ":9127", - ":9125", ":9126", + ":9125", ":9123", + ":9122", + ":9131", + ":9121", ":9120", + ":9119", ":9124", - ":9134", - ":9118", - ":9132", - ":9115", - ":9116", - ":9135", - ":9141", + ":9117", ":9114", ":9113", - ":9122", - ":9117", - ":9119", - ":9139", + ":9118", + ":9115", + ":9132", + ":9127", ":9112", + ":9138", ":9111", ":9110", - ":9121", + ":9116", ":9138#out:1", ":9121#out:1", ":9123#out:1", @@ -3248,22 +3247,22 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json", "elements":[ ":9132:2290", - ":9132:2285", - ":9132:2293", ":9132:2527", - ":9132:2284", - ":9132:2282", + ":9132:2293", ":9132:2275", - ":9132:2273", - ":9132:2396", - ":9132:2272", - ":9132:2252", + ":9132:2292", + ":9132:2284", + ":9132:2285", ":9132:2254", + ":9132:2396", ":9132:2291", - ":9132:2251", + ":9132:2252", ":9132:2253", + ":9132:2251", + ":9132:2282", ":9132:2250", - ":9132:2292", + ":9132:2273", + ":9132:2272", ":9132:2273#out:1", ":9132:2275#out:1", ":9132:2284#out:1", @@ -3299,8 +3298,8 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json", "elements":[ ":9132:2281", - ":9132:2279", ":9132:2528", + ":9132:2279", ":9132:2697", ":9132:2276", ":9132:2697#out:1", @@ -3400,30 +3399,30 @@ ":9165", ":9170", ":9168", - ":9167", + ":9166", + ":9164", + ":9163", + ":9160", + ":9159", ":9169", + ":9157", ":9162", ":9161", - ":9159", - ":9156", + ":9158", ":9154", + ":9153", + ":9151", + ":9167", ":9149", ":9150", - ":9148", - ":9157", - ":9166", ":9155", + ":9148", + ":9147", ":9146", - ":9164", - ":9163", ":9152", ":9145", - ":9151", + ":9156", ":9144", - ":9153", - ":9160", - ":9158", - ":9147", ":9152#out:1", ":9151#out:1", ":9144#out:1", @@ -3463,22 +3462,22 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json", "elements":[ - ":9163:2527", ":9163:2293", - ":9163:2290", - ":9163:2284", - ":9163:2273", - ":9163:2292", ":9163:2282", + ":9163:2275", + ":9163:2285", ":9163:2254", - ":9163:2253", + ":9163:2272", + ":9163:2273", + ":9163:2527", ":9163:2396", + ":9163:2284", + ":9163:2290", ":9163:2291", - ":9163:2252", - ":9163:2285", - ":9163:2272", + ":9163:2253", ":9163:2251", - ":9163:2275", + ":9163:2252", + ":9163:2292", ":9163:2250", ":9163:2273#out:1", ":9163:2275#out:1", @@ -3515,10 +3514,10 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.json", "elements":[ ":9163:2528", - ":9163:2697", - ":9163:2276", ":9163:2281", ":9163:2279", + ":9163:2697", + ":9163:2276", ":9163:2697#out:1", ":9163:2528#out:1", ":9163:2279#out:1", @@ -3612,26 +3611,26 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json", "elements":[ - ":9191", + ":9190", ":9189", - ":9188", - ":9187", + ":9184", + ":9182", ":9181", - ":9180", - ":9186", - ":9185", ":9179", - ":9182", - ":9190", - ":9175", - ":9184", - ":9176", - ":9174", + ":9178", ":9183", + ":9176", + ":9187", + ":9191", ":9177", + ":9186", + ":9174", + ":9180", + ":9175", ":9173", - ":9178", + ":9185", ":9172", + ":9188", ":9172#out:1", ":9181#out:1", ":9179#out:1", @@ -3729,22 +3728,22 @@ ":9209", ":9199", ":9223", - ":9455", + ":9233", ":9449", - ":9227", + ":9225", + ":9452", ":9451", - ":9233", + ":9453", + ":9210", ":9454", - ":9215", ":9214", - ":9452", - ":9210", - ":9206", - ":9235", + ":9455", ":9207", - ":9225", - ":9453", + ":9206", + ":9227", ":9201", + ":9235", + ":9215", ":9208#out:3", ":9208#out:2", ":9208#out:1", diff --git a/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx b/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx index a571936c643ac3c5296371ce19accecb66286a20..28802d09e84b4185ada2e629588810bcd8ef258c 100644 GIT binary patch literal 183420 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

    9>s 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 c(kd59)^yd;0)Nb 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 AU;qFB literal 175820 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%0Adsc*M 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

    1Uww$*4oYU8@ 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

    L+lJN)}pj*PTc4dfU+~Cv3lrxlaV*XOg$#c&w0( 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 F{{aumAmji5 literal 384028 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

    DyUb;$iM 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

    DQ#2dDf14352!gSr?F#g`(@ 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 Y^AHaoEGY)kJ@)4-oo`8u`eV}lZ^>FNF8}}l

    `^iKG4Sf^CWLX;W{1RW!Ukj}4Ke6D*DZAPi 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 diff --git a/Inc/BLDC_controller.h b/Inc/BLDC_controller.h index eaea0a3..3c9b48f 100644 --- a/Inc/BLDC_controller.h +++ b/Inc/BLDC_controller.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1164 + * Model version : 1.1175 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Oct 6 14:06:21 2019 + * C/C++ source code generated on : Sun Oct 20 19:28:43 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex diff --git a/Inc/rtwtypes.h b/Inc/rtwtypes.h index 363a240..0a49c83 100644 --- a/Inc/rtwtypes.h +++ b/Inc/rtwtypes.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1164 + * Model version : 1.1175 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Oct 6 14:06:21 2019 + * C/C++ source code generated on : Sun Oct 20 19:28:43 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex diff --git a/Src/BLDC_controller.c b/Src/BLDC_controller.c index 1dbe0a2..6d0e1dc 100644 --- a/Src/BLDC_controller.c +++ b/Src/BLDC_controller.c @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1164 + * Model version : 1.1175 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Oct 6 14:06:21 2019 + * C/C++ source code generated on : Sun Oct 20 19:28:43 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -816,11 +816,11 @@ void BLDC_controller_step(RT_MODEL *const rtM) ExtY *rtY = (ExtY *) rtM->outputs; uint16_T finalAccum; uint8_T rtb_Sum; - uint8_T rtb_BitwiseOperator; - boolean_T rtb_RelationalOperator9; + boolean_T rtb_LogicalOperator; int8_T rtb_Sum2_h; boolean_T rtb_RelationalOperator4_d; boolean_T rtb_RelationalOperator1_m; + uint8_T rtb_Sum_l; uint8_T rtb_iq_max_XA; int16_T rtb_Merge; int16_T rtb_Switch2_fv; @@ -830,7 +830,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) int16_T rtb_Saturation; int16_T rtb_Saturation1; int16_T rtb_Sum6; - int16_T rtb_r_sin_M1; + int16_T rtb_Add; int16_T rtb_Sum2_e; int16_T rtb_TmpSignalConversionAtLow_Pa[2]; uint8_T rtb_n_fieldWeak_XA_o2; @@ -841,6 +841,8 @@ void BLDC_controller_step(RT_MODEL *const rtM) int8_T UnitDelay3; int32_T tmp_0; int32_T tmp_1; + int32_T tmp_2; + int32_T tmp_3; int16_T rtb_Switch2_d_0; /* Outputs for Atomic SubSystem: '/BLDC_controller' */ @@ -897,7 +899,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of If: '/If1' */ - /* S-Function (sfix_bitop): '/Bitwise Operator' incorporates: + /* Logic: '/Logical Operator' incorporates: * Inport: '/b_hallA ' * Inport: '/b_hallB' * Inport: '/b_hallC' @@ -905,17 +907,16 @@ void BLDC_controller_step(RT_MODEL *const rtM) * UnitDelay: '/UnitDelay2' * UnitDelay: '/UnitDelay3' */ - rtb_BitwiseOperator = (uint8_T)(rtU->b_hallA ^ rtU->b_hallB ^ rtU->b_hallC ^ - rtDW->UnitDelay3_DSTATE_fy ^ rtDW->UnitDelay1_DSTATE_m ^ - rtDW->UnitDelay2_DSTATE_f); + rtb_LogicalOperator = (boolean_T)((rtU->b_hallA != 0) ^ (rtU->b_hallB != 0) ^ + (rtU->b_hallC != 0) ^ (rtDW->UnitDelay3_DSTATE_fy != 0) ^ + (rtDW->UnitDelay1_DSTATE_m != 0)) ^ (rtDW->UnitDelay2_DSTATE_f != 0); /* If: '/If2' incorporates: - * DataTypeConversion: '/Data Type Conversion2' * If: '/If2' * Inport: '/z_counterRawPrev' * UnitDelay: '/UnitDelay3' */ - if (rtb_BitwiseOperator != 0) { + if (rtb_LogicalOperator) { /* Outputs for IfAction SubSystem: '/F01_04_Direction_Detection' incorporates: * ActionPort: '/Action Port' */ @@ -1064,10 +1065,9 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Constant: '/Constant6' incorporates: * Constant: '/z_maxCntRst2' - * DataTypeConversion: '/Data Type Conversion2' */ - rtb_Switch1_a = (int16_T) Counter(1, rtP->z_maxCntRst, rtb_BitwiseOperator != - 0, &rtDW->Counter_e); + rtb_Switch1_a = (int16_T) Counter(1, rtP->z_maxCntRst, rtb_LogicalOperator, + &rtDW->Counter_e); /* End of Outputs for SubSystem: '/Counter' */ @@ -1109,13 +1109,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) * RelationalOperator: '/Relational Operator3' * Relay: '/n_commDeacv' */ - rtb_RelationalOperator4_d = ((rtP->z_ctrlTypSel != 0) && - rtDW->n_commDeacv_Mode && (!rtDW->dz_cntTrnsDet)); + rtb_LogicalOperator = ((rtP->z_ctrlTypSel != 0) && rtDW->n_commDeacv_Mode && ( + !rtDW->dz_cntTrnsDet)); /* RelationalOperator: '/Relational Operator9' incorporates: * Constant: '/n_stdStillDet' */ - rtb_RelationalOperator9 = (rtb_Abs5 < rtP->n_stdStillDet); + rtb_RelationalOperator4_d = (rtb_Abs5 < rtP->n_stdStillDet); /* If: '/If2' incorporates: * Constant: '/b_diagEna' @@ -1201,7 +1201,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) } rtb_RelationalOperator1_m = ((rtb_Switch2_d_0 > rtP->r_errInpTgtThres) && - rtb_RelationalOperator9); + rtb_RelationalOperator4_d); } /* End of Switch: '/Switch3' */ @@ -1215,11 +1215,11 @@ void BLDC_controller_step(RT_MODEL *const rtM) * RelationalOperator: '/Relational Operator1' * RelationalOperator: '/Relational Operator3' */ - rtb_BitwiseOperator = (uint8_T)(((uint32_T)((rtb_Sum == 7) << 1) + (rtb_Sum == - 0)) + (rtb_RelationalOperator1_m << 2)); + rtb_Sum_l = (uint8_T)(((uint32_T)((rtb_Sum == 7) << 1) + (rtb_Sum == 0)) + + (rtb_RelationalOperator1_m << 2)); /* Outputs for Atomic SubSystem: '/Debounce_Filter' */ - Debounce_Filter(rtb_BitwiseOperator != 0, rtP->t_errQual, rtP->t_errDequal, + Debounce_Filter(rtb_Sum_l != 0, rtP->t_errQual, rtP->t_errDequal, &rtDW->Merge_n, &rtDW->Debounce_Filter_f); /* End of Outputs for SubSystem: '/Debounce_Filter' */ @@ -1237,7 +1237,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) */ if (rtb_RelationalOperator1_m) { /* Outport: '/z_errCode' */ - rtY->z_errCode = rtb_BitwiseOperator; + rtY->z_errCode = rtb_Sum_l; } else { /* Outport: '/z_errCode' incorporates: * UnitDelay: '/UnitDelay' @@ -1292,42 +1292,42 @@ void BLDC_controller_step(RT_MODEL *const rtM) if (rtDW->is_active_c1_BLDC_controller == 0U) { rtDW->is_active_c1_BLDC_controller = 1U; rtDW->is_c1_BLDC_controller = IN_OPEN; - rtb_BitwiseOperator = OPEN_MODE; + rtb_Sum_l = OPEN_MODE; } else if (rtDW->is_c1_BLDC_controller == IN_ACTIVE) { if (rtb_RelationalOperator1_m) { rtDW->is_ACTIVE = IN_NO_ACTIVE_CHILD; rtDW->is_c1_BLDC_controller = IN_OPEN; - rtb_BitwiseOperator = OPEN_MODE; + rtb_Sum_l = OPEN_MODE; } else { switch (rtDW->is_ACTIVE) { case IN_SPEED_MODE: - rtb_BitwiseOperator = SPD_MODE; + rtb_Sum_l = SPD_MODE; break; case IN_TORQUE_MODE: - rtb_BitwiseOperator = TRQ_MODE; + rtb_Sum_l = TRQ_MODE; break; default: - rtb_BitwiseOperator = VLT_MODE; + rtb_Sum_l = VLT_MODE; break; } } } else { - rtb_BitwiseOperator = OPEN_MODE; + rtb_Sum_l = OPEN_MODE; if ((!rtb_RelationalOperator1_m) && ((rtU->z_ctrlModReq == 1) || (rtU->z_ctrlModReq == 2) || (rtU->z_ctrlModReq == 3)) && - rtb_RelationalOperator9) { + rtb_RelationalOperator4_d) { rtDW->is_c1_BLDC_controller = IN_ACTIVE; if (rtU->z_ctrlModReq == 3) { rtDW->is_ACTIVE = IN_TORQUE_MODE; - rtb_BitwiseOperator = TRQ_MODE; + rtb_Sum_l = TRQ_MODE; } else if (rtU->z_ctrlModReq == 2) { rtDW->is_ACTIVE = IN_SPEED_MODE; - rtb_BitwiseOperator = SPD_MODE; + rtb_Sum_l = SPD_MODE; } else { rtDW->is_ACTIVE = IN_VOLTAGE_MODE; - rtb_BitwiseOperator = VLT_MODE; + rtb_Sum_l = VLT_MODE; } } } @@ -1354,20 +1354,20 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Product: '/Divide3' * Sum: '/Sum3' */ - if (rtb_RelationalOperator4_d) { + if (rtb_LogicalOperator) { /* Product: '/Divide1' */ - tmp_1 = rtb_Switch1_a << 16; - tmp_1 = (tmp_1 == MIN_int32_T) && (rtDW->z_counterRawPrev == -1) ? - MAX_int32_T : tmp_1 / rtDW->z_counterRawPrev; - if (tmp_1 < 0) { - tmp_1 = 0; + tmp_3 = rtb_Switch1_a << 16; + tmp_3 = (tmp_3 == MIN_int32_T) && (rtDW->z_counterRawPrev == -1) ? + MAX_int32_T : tmp_3 / rtDW->z_counterRawPrev; + if (tmp_3 < 0) { + tmp_3 = 0; } else { - if (tmp_1 > 65535) { - tmp_1 = 65535; + if (tmp_3 > 65535) { + tmp_3 = 65535; } } - rtb_Switch2_d = (uint16_T)(((int16_T)((tmp_1 * rtDW->Switch2_e) >> 1) + + rtb_Switch2_d = (uint16_T)(((int16_T)((tmp_3 * rtDW->Switch2_e) >> 1) + (rtb_Sum2_h << 15)) >> 3); } else { rtb_Switch2_d = (uint16_T)((uint16_T)rtb_Sum2_h << 12); @@ -1381,10 +1381,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Saturate: '/Saturation' incorporates: * Inport: '/i_phaAB' */ - tmp_1 = rtU->i_phaAB << 4; - if (tmp_1 >= 24000) { + tmp_3 = rtU->i_phaAB << 4; + if (tmp_3 >= 24000) { rtb_Saturation = 24000; - } else if (tmp_1 <= -24000) { + } else if (tmp_3 <= -24000) { rtb_Saturation = -24000; } else { rtb_Saturation = (int16_T)(rtU->i_phaAB << 4); @@ -1395,10 +1395,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Saturate: '/Saturation1' incorporates: * Inport: '/i_phaBC' */ - tmp_1 = rtU->i_phaBC << 4; - if (tmp_1 >= 24000) { + tmp_3 = rtU->i_phaBC << 4; + if (tmp_3 >= 24000) { rtb_Saturation1 = 24000; - } else if (tmp_1 <= -24000) { + } else if (tmp_3 <= -24000) { rtb_Saturation1 = -24000; } else { rtb_Saturation1 = (int16_T)(rtU->i_phaBC << 4); @@ -1507,26 +1507,26 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Gain: '/Gain4' */ - tmp_1 = 18919 * rtb_Saturation; + tmp_3 = 18919 * rtb_Saturation; /* Gain: '/Gain2' */ - tmp_0 = 18919 * rtb_Saturation1; + tmp_2 = 18919 * rtb_Saturation1; /* Sum: '/Sum1' incorporates: * Gain: '/Gain2' * Gain: '/Gain4' */ - tmp_1 = (((tmp_1 < 0 ? 32767 : 0) + tmp_1) >> 15) + (int16_T)(((tmp_0 < 0 ? - 16383 : 0) + tmp_0) >> 14); - if (tmp_1 > 32767) { - tmp_1 = 32767; + tmp_3 = (((tmp_3 < 0 ? 32767 : 0) + tmp_3) >> 15) + (int16_T)(((tmp_2 < 0 ? + 16383 : 0) + tmp_2) >> 14); + if (tmp_3 > 32767) { + tmp_3 = 32767; } else { - if (tmp_1 < -32768) { - tmp_1 = -32768; + if (tmp_3 < -32768) { + tmp_3 = -32768; } } - rtb_Sum6 = (int16_T)tmp_1; + rtb_Sum6 = (int16_T)tmp_3; /* End of Sum: '/Sum1' */ /* End of Outputs for SubSystem: '/Clarke_PhasesAB' */ @@ -1535,32 +1535,32 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Sum: '/Sum3' */ - tmp_1 = rtb_Saturation - rtb_Saturation1; - if (tmp_1 > 32767) { - tmp_1 = 32767; + tmp_3 = rtb_Saturation - rtb_Saturation1; + if (tmp_3 > 32767) { + tmp_3 = 32767; } else { - if (tmp_1 < -32768) { - tmp_1 = -32768; + if (tmp_3 < -32768) { + tmp_3 = -32768; } } /* Gain: '/Gain2' incorporates: * Sum: '/Sum3' */ - tmp_1 *= 18919; - rtb_Sum6 = (int16_T)(((tmp_1 < 0 ? 32767 : 0) + tmp_1) >> 15); + tmp_3 *= 18919; + rtb_Sum6 = (int16_T)(((tmp_3 < 0 ? 32767 : 0) + tmp_3) >> 15); /* Sum: '/Sum1' */ - tmp_1 = -rtb_Saturation - rtb_Saturation1; - if (tmp_1 > 32767) { - tmp_1 = 32767; + tmp_3 = -rtb_Saturation - rtb_Saturation1; + if (tmp_3 > 32767) { + tmp_3 = 32767; } else { - if (tmp_1 < -32768) { - tmp_1 = -32768; + if (tmp_3 < -32768) { + tmp_3 = -32768; } } - rtb_Saturation = (int16_T)tmp_1; + rtb_Saturation = (int16_T)tmp_3; /* End of Sum: '/Sum1' */ /* End of Outputs for SubSystem: '/Clarke_PhasesBC' */ @@ -1572,7 +1572,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_iq_max_XA = plook_u8u16_evencka(rtb_Switch2_d, 0U, 128U, 180U); /* Interpolation_n-D: '/r_sin_M1' */ - rtb_r_sin_M1 = rtConstP.r_sin_M1_Table[rtb_iq_max_XA]; + rtb_Add = rtConstP.r_sin_M1_Table[rtb_iq_max_XA]; /* Interpolation_n-D: '/r_cos_M1' */ rtb_Saturation1 = rtConstP.r_cos_M1_Table[rtb_iq_max_XA]; @@ -1583,21 +1583,21 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Product: '/Divide1' * Product: '/Divide4' */ - tmp_1 = (int16_T)((rtb_Sum6 * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> 14) + tmp_3 = (int16_T)((rtb_Sum6 * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> 14) - (int16_T)((rtb_Saturation * rtConstP.r_sin_M1_Table[rtb_iq_max_XA]) >> 14); - if (tmp_1 > 32767) { - tmp_1 = 32767; + if (tmp_3 > 32767) { + tmp_3 = 32767; } else { - if (tmp_1 < -32768) { - tmp_1 = -32768; + if (tmp_3 < -32768) { + tmp_3 = -32768; } } /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: * Sum: '/Sum6' */ - rtb_TmpSignalConversionAtLow_Pa[0] = (int16_T)tmp_1; + rtb_TmpSignalConversionAtLow_Pa[0] = (int16_T)tmp_3; /* Sum: '/Sum1' incorporates: * Interpolation_n-D: '/r_cos_M1' @@ -1605,21 +1605,21 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Product: '/Divide2' * Product: '/Divide3' */ - tmp_1 = (int16_T)((rtb_Saturation * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> + tmp_3 = (int16_T)((rtb_Saturation * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> 14) + (int16_T)((rtb_Sum6 * rtConstP.r_sin_M1_Table[rtb_iq_max_XA]) >> 14); - if (tmp_1 > 32767) { - tmp_1 = 32767; + if (tmp_3 > 32767) { + tmp_3 = 32767; } else { - if (tmp_1 < -32768) { - tmp_1 = -32768; + if (tmp_3 < -32768) { + tmp_3 = -32768; } } /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: * Sum: '/Sum1' */ - rtb_TmpSignalConversionAtLow_Pa[1] = (int16_T)tmp_1; + rtb_TmpSignalConversionAtLow_Pa[1] = (int16_T)tmp_3; /* Outputs for Atomic SubSystem: '/Low_Pass_Filter' */ Low_Pass_Filter(rtb_TmpSignalConversionAtLow_Pa, rtP->cf_currFilt, @@ -1669,7 +1669,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) */ rtb_Sum2_h = rtDW->If1_ActiveSubsystem_h; UnitDelay3 = -1; - if (rtb_RelationalOperator4_d) { + if (rtb_LogicalOperator) { UnitDelay3 = 0; } @@ -1715,10 +1715,19 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ + /* Sum: '/Sum3' */ + tmp_3 = rtb_Sum6 - rtDW->Sum1[1]; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } + /* Outputs for Atomic SubSystem: '/PI_backCalc_fixdt_Id' */ - PI_backCalc_fixdt((int16_T)(rtb_Sum6 - rtDW->Sum1[1]), rtP->cf_idKp, - rtP->cf_idKi, rtP->cf_idKb, 0, rtP->Vd_max, (int16_T) - -rtP->Vd_max, &rtDW->Switch2, + PI_backCalc_fixdt((int16_T)tmp_3, rtP->cf_idKp, rtP->cf_idKi, rtP->cf_idKb, + 0, rtP->Vd_max, (int16_T)-rtP->Vd_max, &rtDW->Switch2, &rtDW->PI_backCalc_fixdt_Id); /* End of Outputs for SubSystem: '/PI_backCalc_fixdt_Id' */ @@ -1782,7 +1791,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) */ rtb_Sum2_h = rtDW->If1_ActiveSubsystem_f; UnitDelay3 = -1; - if ((rtb_BitwiseOperator == 1) || (rtb_BitwiseOperator == 2)) { + if ((rtb_Sum_l == 1) || (rtb_Sum_l == 2)) { UnitDelay3 = 0; } @@ -1816,9 +1825,19 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/cf_iqKpLimProt' * Sum: '/Sum3' */ - rtDW->Divide4 = (int16_T)(((int16_T)(rtb_Switch2_d_0 - rtDW->Sum1[0]) * - rtP->cf_iqKpLimProt) >> 6); + tmp_3 = ((int16_T)(rtb_Switch2_d_0 - rtDW->Sum1[0]) * rtP->cf_iqKpLimProt) + >> 6; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } + + rtDW->Divide4 = (int16_T)tmp_3; + /* End of Product: '/Divide4' */ /* End of Outputs for SubSystem: '/Current_Limit_Protection' */ } @@ -1833,7 +1852,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) */ rtb_Sum2_h = rtDW->If2_ActiveSubsystem_c; UnitDelay3 = -1; - if ((rtb_BitwiseOperator == 1) || (rtb_BitwiseOperator == 3)) { + if ((rtb_Sum_l == 1) || (rtb_Sum_l == 3)) { UnitDelay3 = 0; } @@ -1868,9 +1887,19 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/cf_nKpLimProt' * Sum: '/Sum1' */ - rtDW->Divide1 = (int16_T)(((int16_T)(rtb_Switch2_d_0 - rtb_Switch2_fv) * - rtP->cf_nKpLimProt) >> 6); + tmp_3 = ((int16_T)(rtb_Switch2_d_0 - rtb_Switch2_fv) * rtP->cf_nKpLimProt) + >> 6; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } + rtDW->Divide1 = (int16_T)tmp_3; + + /* End of Product: '/Divide1' */ /* End of Outputs for SubSystem: '/Speed_Limit_Protection' */ } @@ -1890,7 +1919,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Sum: '/Sum3' */ rtb_Sum2_h = rtDW->SwitchCase_ActiveSubsystem; - switch (rtb_BitwiseOperator) { + switch (rtb_Sum_l) { case 1: UnitDelay3 = 0; break; @@ -1915,26 +1944,32 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Sum: '/Sum3' */ - rtb_Sum2_e = (int16_T)((rtb_Merge + rtDW->Divide4) + rtDW->Divide1); + tmp_3 = (rtb_Merge + rtDW->Divide4) + rtDW->Divide1; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' * RelationalOperator: '/UpperRelop' + * Sum: '/Sum3' * Switch: '/Switch' */ - if (rtb_Sum2_e > rtb_Sum6) { + if ((int16_T)tmp_3 > rtb_Sum6) { /* SignalConversion: '/Signal Conversion2' */ rtDW->Merge = rtb_Sum6; - } else if (rtb_Sum2_e < rtb_Saturation) { + } else if ((int16_T)tmp_3 < rtb_Saturation) { /* Switch: '/Switch' incorporates: * SignalConversion: '/Signal Conversion2' */ rtDW->Merge = rtb_Saturation; } else { - /* SignalConversion: '/Signal Conversion2' incorporates: - * Switch: '/Switch' - */ - rtDW->Merge = rtb_Sum2_e; + /* SignalConversion: '/Signal Conversion2' */ + rtDW->Merge = (int16_T)tmp_3; } /* End of Switch: '/Switch2' */ @@ -1976,11 +2011,20 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ + /* Sum: '/Sum3' */ + tmp_3 = rtb_Gain6 - rtb_Switch2_fv; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } + /* Outputs for Atomic SubSystem: '/PI_backCalc_fixdt_n' */ - rtDW->Merge = (int16_T) PI_backCalc_fixdt_n((int16_T)(rtb_Gain6 - - rtb_Switch2_fv), rtP->cf_nKp, rtP->cf_nKi, rtP->cf_nKb, (int16_T) - ((rtDW->Divide4 * rtP->cf_iqKiLimProt) >> 10), rtb_Sum6, rtb_Saturation, - &rtDW->PI_backCalc_fixdt_n_p); + rtDW->Merge = (int16_T) PI_backCalc_fixdt_n((int16_T)tmp_3, rtP->cf_nKp, + rtP->cf_nKi, rtP->cf_nKb, (int16_T)((rtDW->Divide4 * rtP->cf_iqKiLimProt) + >> 10), rtb_Sum6, rtb_Saturation, &rtDW->PI_backCalc_fixdt_n_p); /* End of Outputs for SubSystem: '/PI_backCalc_fixdt_n' */ @@ -2007,19 +2051,27 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Sum: '/Sum2' */ - rtb_Gain6 = (int16_T)(rtb_Merge + rtDW->Divide1); + tmp_3 = rtb_Merge + rtDW->Divide1; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } /* Switch: '/Switch2' incorporates: * RelationalOperator: '/LowerRelop1' + * Sum: '/Sum2' */ - if (!(rtb_Gain6 > rtb_Sum2_e)) { + if (!((int16_T)tmp_3 > rtb_Sum2_e)) { /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' */ - if (rtb_Gain6 < rtb_Gain1) { + if ((int16_T)tmp_3 < rtb_Gain1) { rtb_Sum2_e = rtb_Gain1; } else { - rtb_Sum2_e = rtb_Gain6; + rtb_Sum2_e = (int16_T)tmp_3; } /* End of Switch: '/Switch' */ @@ -2027,6 +2079,16 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ + /* Sum: '/Sum1' */ + tmp_3 = rtb_Sum2_e - rtDW->Sum1[0]; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } + /* Outputs for Atomic SubSystem: '/PI_backCalc_fixdt_Iq' */ /* SignalConversion: '/Signal Conversion2' incorporates: @@ -2036,9 +2098,9 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/constant' * Sum: '/Sum1' */ - PI_backCalc_fixdt((int16_T)(rtb_Sum2_e - rtDW->Sum1[0]), rtP->cf_iqKp, - rtP->cf_iqKi, rtP->cf_iqKb, 0, rtb_Sum6, rtb_Saturation, - &rtDW->Merge, &rtDW->PI_backCalc_fixdt_Iq); + PI_backCalc_fixdt((int16_T)tmp_3, rtP->cf_iqKp, rtP->cf_iqKi, rtP->cf_iqKb, + 0, rtb_Sum6, rtb_Saturation, &rtDW->Merge, + &rtDW->PI_backCalc_fixdt_Iq); /* End of Outputs for SubSystem: '/PI_backCalc_fixdt_Iq' */ @@ -2071,24 +2133,24 @@ void BLDC_controller_step(RT_MODEL *const rtM) */ /* Outputs for Atomic SubSystem: '/rising_edge_init' */ - rtb_RelationalOperator9 = rising_edge_init(&rtDW->rising_edge_init_p); + rtb_RelationalOperator4_d = rising_edge_init(&rtDW->rising_edge_init_p); /* End of Outputs for SubSystem: '/rising_edge_init' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * UnitDelay: '/UnitDelay4' */ - tmp_1 = rtDW->UnitDelay4_DSTATE_er << 12; + tmp_3 = rtDW->UnitDelay4_DSTATE_er << 12; /* Gain: '/Gain3' incorporates: * Constant: '/dV_openRate' */ - tmp_0 = -rtP->dV_openRate; + tmp_2 = -rtP->dV_openRate; /* Outputs for Atomic SubSystem: '/Rate_Limiter' */ - rtb_Sum2 = Rate_Limiter(0, (tmp_1 & 134217728) != 0 ? tmp_1 | -134217728 : - tmp_1 & 134217727, rtb_RelationalOperator9, rtP->dV_openRate, (tmp_0 & - 134217728) != 0 ? tmp_0 | -134217728 : tmp_0 & 134217727, + rtb_Sum2 = Rate_Limiter(0, (tmp_3 & 134217728) != 0 ? tmp_3 | -134217728 : + tmp_3 & 134217727, rtb_RelationalOperator4_d, rtP->dV_openRate, (tmp_2 & + 134217728) != 0 ? tmp_2 | -134217728 : tmp_2 & 134217727, &rtDW->Rate_Limiter_l); /* End of Outputs for SubSystem: '/Rate_Limiter' */ @@ -2111,65 +2173,137 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Product: '/Divide1' * Product: '/Divide4' */ - rtb_Sum6 = (int16_T)(((int16_T)((rtDW->Switch2 * rtb_Saturation1) >> 13) - - (int16_T)((rtDW->Merge * rtb_r_sin_M1) >> 13)) >> 1); + tmp_3 = ((int16_T)((rtDW->Switch2 * rtb_Saturation1) >> 13) - (int16_T) + ((rtDW->Merge * rtb_Add) >> 13)) >> 1; /* Sum: '/Sum1' incorporates: * Product: '/Divide2' * Product: '/Divide3' */ - rtb_Saturation1 = (int16_T)(((int16_T)((rtDW->Switch2 * rtb_r_sin_M1) >> 13) - + (int16_T)((rtDW->Merge * rtb_Saturation1) >> 13)) >> 1); + tmp_2 = ((int16_T)((rtDW->Switch2 * rtb_Add) >> 13) + (int16_T)((rtDW->Merge + * rtb_Saturation1) >> 13)) >> 1; - /* Gain: '/Gain1' */ - tmp_1 = 14189 * rtb_Saturation1; + /* Gain: '/Gain1' incorporates: + * Sum: '/Sum1' + */ + tmp_2 = 14189 * (int16_T)tmp_2; /* Sum: '/Sum6' incorporates: * Gain: '/Gain1' - * Gain: '/Gain3' + * Sum: '/Sum6' */ - rtb_Saturation1 = (int16_T)(((int16_T)(((tmp_1 < 0 ? 8191 : 0) + tmp_1) >> - 13) - rtb_Sum6) >> 1); + tmp_2 = ((int16_T)(((tmp_2 < 0 ? 8191 : 0) + tmp_2) >> 13) - (int16_T)tmp_3) + >> 1; - /* Sum: '/Sum2' */ - rtb_Sum2_e = (int16_T)(-rtb_Sum6 - rtb_Saturation1); + /* Sum: '/Sum2' incorporates: + * Sum: '/Sum6' + * Sum: '/Sum6' + */ + tmp_1 = -(int16_T)tmp_3 - (int16_T)tmp_2; + if (tmp_1 > 32767) { + tmp_1 = 32767; + } else { + if (tmp_1 < -32768) { + tmp_1 = -32768; + } + } - /* MinMax: '/MinMax1' */ - rtb_Saturation = rtb_Sum6; - if (!(rtb_Sum6 < rtb_Saturation1)) { - rtb_Saturation = rtb_Saturation1; + /* MinMax: '/MinMax1' incorporates: + * Sum: '/Sum2' + * Sum: '/Sum6' + * Sum: '/Sum6' + */ + rtb_Saturation = (int16_T)tmp_3; + if (!((int16_T)tmp_3 < (int16_T)tmp_2)) { + rtb_Saturation = (int16_T)tmp_2; } - if (!(rtb_Saturation < rtb_Sum2_e)) { - rtb_Saturation = rtb_Sum2_e; + if (!(rtb_Saturation < (int16_T)tmp_1)) { + rtb_Saturation = (int16_T)tmp_1; } - /* MinMax: '/MinMax2' */ - rtb_r_sin_M1 = rtb_Sum6; - if (!(rtb_Sum6 > rtb_Saturation1)) { - rtb_r_sin_M1 = rtb_Saturation1; + /* MinMax: '/MinMax2' incorporates: + * Sum: '/Sum2' + * Sum: '/Sum6' + * Sum: '/Sum6' + */ + rtb_Saturation1 = (int16_T)tmp_3; + if (!((int16_T)tmp_3 > (int16_T)tmp_2)) { + rtb_Saturation1 = (int16_T)tmp_2; } - if (!(rtb_r_sin_M1 > rtb_Sum2_e)) { - rtb_r_sin_M1 = rtb_Sum2_e; + if (!(rtb_Saturation1 > (int16_T)tmp_1)) { + rtb_Saturation1 = (int16_T)tmp_1; } - /* Gain: '/Gain2' incorporates: + /* Sum: '/Add' incorporates: * MinMax: '/MinMax1' * MinMax: '/MinMax2' + */ + tmp_0 = rtb_Saturation + rtb_Saturation1; + if (tmp_0 > 32767) { + tmp_0 = 32767; + } else { + if (tmp_0 < -32768) { + tmp_0 = -32768; + } + } + + /* Gain: '/Gain2' incorporates: * Sum: '/Add' */ - rtb_r_sin_M1 = (int16_T)((int16_T)(rtb_Saturation + rtb_r_sin_M1) >> 1); + rtb_Add = (int16_T)(tmp_0 >> 1); + + /* Sum: '/Add1' incorporates: + * Sum: '/Sum6' + */ + tmp_3 = (int16_T)tmp_3 - rtb_Add; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } + + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' + */ + rtDW->Gain4[0] = (int16_T)((18919 * tmp_3) >> 18); + + /* Sum: '/Add1' incorporates: + * Sum: '/Sum6' + */ + tmp_3 = (int16_T)tmp_2 - rtb_Add; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } + + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' + */ + rtDW->Gain4[1] = (int16_T)((18919 * tmp_3) >> 18); + + /* Sum: '/Add1' incorporates: + * Sum: '/Sum2' + */ + tmp_3 = (int16_T)tmp_1 - rtb_Add; + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } /* Gain: '/Gain4' incorporates: * Sum: '/Add1' */ - rtDW->Gain4[0] = (int16_T)(((int16_T)(rtb_Sum6 - rtb_r_sin_M1) * 18919) >> - 18); - rtDW->Gain4[1] = (int16_T)(((int16_T)(rtb_Saturation1 - rtb_r_sin_M1) * - 18919) >> 18); - rtDW->Gain4[2] = (int16_T)(((int16_T)(rtb_Sum2_e - rtb_r_sin_M1) * 18919) >> - 18); + rtDW->Gain4[2] = (int16_T)((18919 * tmp_3) >> 18); /* Update for UnitDelay: '/UnitDelay4' */ rtDW->UnitDelay4_DSTATE_er = rtDW->Merge; @@ -2203,10 +2337,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ - if (rtb_RelationalOperator4_d) { - rtb_Saturation1 = rtDW->Gain4[0]; - rtb_Sum6 = rtDW->Gain4[1]; - rtb_Sum2_e = rtDW->Gain4[2]; + if (rtb_LogicalOperator) { + rtb_Saturation = rtDW->Gain4[0]; + rtb_Saturation1 = rtDW->Gain4[1]; + rtb_Sum6 = rtDW->Gain4[2]; } else { if (rtConstP.vec_hallToPos_Value[rtb_Sum] > 5) { /* LookupNDDirect: '/z_commutMap_M1' @@ -2241,17 +2375,17 @@ void BLDC_controller_step(RT_MODEL *const rtM) * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2 = rtb_Sum2_h * 3; - rtb_Saturation1 = (int16_T)(rtb_Merge * + rtb_Saturation = (int16_T)(rtb_Merge * rtConstP.z_commutMap_M1_table[rtb_Sum2]); - rtb_Sum6 = (int16_T)(rtConstP.z_commutMap_M1_table[1 + rtb_Sum2] * rtb_Merge); - rtb_Sum2_e = (int16_T)(rtConstP.z_commutMap_M1_table[2 + rtb_Sum2] * + rtb_Saturation1 = (int16_T)(rtConstP.z_commutMap_M1_table[1 + rtb_Sum2] * rtb_Merge); + rtb_Sum6 = (int16_T)(rtConstP.z_commutMap_M1_table[2 + rtb_Sum2] * rtb_Merge); } /* End of Switch: '/Switch1' */ /* Update for UnitDelay: '/UnitDelay1' */ - rtDW->UnitDelay1_DSTATE = rtb_BitwiseOperator; + rtDW->UnitDelay1_DSTATE = rtb_Sum_l; /* Update for UnitDelay: '/UnitDelay3' incorporates: * Inport: '/b_hallA ' @@ -2280,13 +2414,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Outputs for SubSystem: '/BLDC_controller' */ /* Outport: '/DC_phaA' */ - rtY->DC_phaA = rtb_Saturation1; + rtY->DC_phaA = rtb_Saturation; /* Outport: '/DC_phaB' */ - rtY->DC_phaB = rtb_Sum6; + rtY->DC_phaB = rtb_Saturation1; /* Outport: '/DC_phaC' */ - rtY->DC_phaC = rtb_Sum2_e; + rtY->DC_phaC = rtb_Sum6; /* Outputs for Atomic SubSystem: '/BLDC_controller' */ /* Outport: '/n_mot' incorporates: diff --git a/Src/BLDC_controller_data.c b/Src/BLDC_controller_data.c index c44fcfd..7f566c1 100644 --- a/Src/BLDC_controller_data.c +++ b/Src/BLDC_controller_data.c @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1164 + * Model version : 1.1175 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Oct 6 14:06:21 2019 + * C/C++ source code generated on : Sun Oct 20 19:28:43 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex diff --git a/build/firmware.bin b/build/firmware.bin index 3ccea159d603c7573e0b60874c5417afd71bea52..2b87d6b78542c366d7f833667ab71d092292571b 100644 GIT binary patch delta 5399 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

mOqjPE8|G}z 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%0DqH6c0Pd@8$#O@_46l=tmZDiKjPVBA zKG|`NH3T_MVI34<3&qS$8ZpoYi_zlK z@3RjN3JTg?^$Q5dn2pC^U01=&aTuE}LxJHEzK1{;0j~D2ScZ_4j+y?9-$PlRT#BXT zjG4#vWJ?8rxy#5p{2GUJ19z#Uj<&Y7m6g2bTs9a+=NxZ%H*>2q$G~4fSLo8ju4m#QBF=y@=8jiq}36XWMJT#M4t>H rRfKlDpt}OQt$c}^@_+8J - - - + + + - + + + + + + + + + + + + b_selPhaABCurrMeas + + + + + + + + + + + + + + + + + + + + + + b_selPhaABCurrMeas + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + else + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + - + - + - + - + @@ -146,22 +288,22 @@ - + - + - - + + - + sfix16_En4 @@ -173,28 +315,28 @@ - - + + - + - + - - [i_beta] + + [i_alphaBC] - + @@ -206,28 +348,28 @@ - - + + - + - + - - [i_betaBC] + + [i_phaBC] - + @@ -239,28 +381,28 @@ - - + + - + - + - - [i_alphaBC] + + [i_phaAB] - + @@ -282,11 +424,11 @@ - + - + [i_phaBC] @@ -304,11 +446,11 @@ - + - + sfix16_En4 @@ -330,11 +472,11 @@ - + - + [i_phaBC] @@ -352,11 +494,11 @@ - + - + sfix16_En4 @@ -368,29 +510,44 @@ - - - + + + - - + + - - + + - - [i_phaBC] + + [i_phaAB] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -401,43 +558,43 @@ - - + + - + - + - - [i_betaAB] + + [i_alpha] - + - + - - + + - + sfix16_En4 @@ -449,75 +606,44 @@ - - - + + + - - + + - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - + + - - else + + [i_betaAB] - - - - - - - - - - - - - - - - - action + + - - + + - - + + - - action + + sfix16_En4 @@ -528,43 +654,43 @@ - - + + - + - + - - [i_phaAB] + + [i_alphaBC] - + - + - - + + - + sfix16_En4 @@ -576,44 +702,29 @@ - - - + + + - - + + - - + + - + [i_beta] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -624,43 +735,43 @@ - - + + - + - + - - [i_alphaBC] + + [i_alphaAB] - + - + - - + + - + sfix16_En4 @@ -672,59 +783,44 @@ - - - + + + - - + + - - + + - - b_selPhaABCurrMeas + + [i_phaAB] - - - - - - - - - - - - - - - - - b_selPhaABCurrMeas + + - - + + - - + + - - boolean + + sfix16_En4 @@ -735,157 +831,95 @@ - - - + + + - - - - - - - - + + - - - - - - i_phaB - - - - - - - - i_phaC - - - - - - - - i_alphaBC - - - - - - - - i_betaBC - - - - + + - - else { } + + [i_alphaAB] - - - - - - - - + + - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - Clarke_PhasesBC + + [i_alpha] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - action + + [i_betaBC] - - - - - - - - - - - - - - - - - sfix16_En4 + + + @@ -896,35 +930,44 @@ - - - - - - - - - + + + - - + + - - + + - - [i_phaAB] + + [i_beta] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -935,29 +978,29 @@ - - - + + + - + - + - + - + - + @@ -972,22 +1015,22 @@ - + - + - - + + - + sfix16_En4 @@ -999,76 +1042,156 @@ - - - + + + - - + + + + + + + + - - + + - - [i_alphaAB] + + i_phaB + + + + + + + + i_phaC + + + + + + + + i_alphaBC + + + + + + + + i_betaBC + + + + + + + + else { } - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + Clarke_PhasesBC + + - + - - + + + + + + + + + + + - - [i_alpha] + + action - - - + + + + + + + + + + + + + + + + + sfix16_En4 - + + + + + + + - - + + - + sfix16_En4 @@ -1080,44 +1203,35 @@ - - - + + + + + + + + + - - + + - - + + - - [i_betaBC] + + [i_betaAB] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1130,7 +1244,7 @@ - + @@ -1144,43 +1258,43 @@ - + - + i_phaA - + - + i_phaB - + - + i_alphaAB - + - + i_betaAB - + - + if { } @@ -1210,11 +1324,11 @@ - + - + Clarke_PhasesAB @@ -1227,16 +1341,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1248,16 +1362,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1269,15 +1383,15 @@ - + - - + + - + sfix16_En4 @@ -1305,11 +1419,11 @@ - + - + 2 @@ -1327,11 +1441,11 @@ - + - + i_phaBC @@ -1342,11 +1456,11 @@ - + - + sfix16_En4 @@ -1358,43 +1472,43 @@ - - + + - + - + - - [i_alphaAB] + + [i_betaBC] - + - + - - + + - + sfix16_En4 @@ -1416,11 +1530,11 @@ - + - + 1 @@ -1438,11 +1552,11 @@ - + - + i_phaAB @@ -1453,92 +1567,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_alpha] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaAB] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -1548,39 +1581,6 @@ - - - - - - - - - - - - - - - - - - [i_betaAB] - - - - - - - - - - - - - - - @@ -1877,5 +1877,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.json index d67eec8..80bc0b4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.json @@ -49,11 +49,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8683", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"i_betaAB", - "label":"i_betaAB", + "name":"i_alphaAB", + "label":"i_alphaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -82,7 +82,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -129,27 +129,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"i_betaAB", + "label":"i_betaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "i_phaA", - "local", - "Tag" + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -157,58 +204,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "i_phaB", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -216,58 +237,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8678", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1/sqrt(3)", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "i_phaA", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -275,16 +270,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8678", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -302,7 +297,7 @@ "SampleTime" ], "values":[ - "2/sqrt(3)", + "1/sqrt(3)", "Element-wise(K.*u)", "[]", "[]", @@ -339,22 +334,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", + "className":"Simulink.SignalConversion", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Signal Conversion2", + "label":"Signal Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" ], "values":[ - "i_phaB", - "local", - "Tag" + "Signal copy", + "Inherit: auto", + "off" ], "tabs":[ "Parameter Attributes" @@ -367,7 +362,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SignalConversion", "masktype":"" } }, @@ -403,63 +398,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8683", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"i_alphaAB", - "label":"i_alphaAB", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Port", - "IconDisplay", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", + "[]", + "fixdt(1,16,4)", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -469,7 +443,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -478,25 +452,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8675", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8674", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "i_phaA", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -509,27 +483,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8675", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "i_phaA", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -542,30 +514,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8674", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "held", - "Only when execution is resumed" + "2/sqrt(3)", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -573,7 +573,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Gain", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.svg index 2c751bd..155256d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.svg @@ -64,11 +64,11 @@ - - + + - + @@ -78,30 +78,30 @@ - - 2 + + 1 - + - - + + - + - - i_betaAB + + i_alphaAB @@ -112,197 +112,44 @@ - - - + + + - - + + - - - - - [i_phaA] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1/sqrt(3) - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - + - - 2/sqrt(3) + + 2 - - + + - - - + + + - - + + - - sfix16_En4 + + i_betaAB @@ -323,11 +170,11 @@ - + - + [i_phaB] @@ -346,92 +193,29 @@ - - - - - - - - - - - - - - - - [i_phaB] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - + + + - - + + - - + + - - 1 + + [i_phaA] - - - - - - - - - - - - - - - - - i_alphaAB + + @@ -442,43 +226,43 @@ - - - + + + - - + + - - + + - - [i_phaA] + + 1/sqrt(3) - - + + - + - - + + - + sfix16_En4 @@ -500,131 +284,131 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -650,11 +434,131 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaB] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -668,7 +572,7 @@ - + @@ -676,11 +580,11 @@ - + - + if { } @@ -698,11 +602,11 @@ - + - + Action Port @@ -712,6 +616,102 @@ + + + + + + + + + + + + + + + + + + [i_phaA] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2/sqrt(3) + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -972,5 +972,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json index 80e533d..274afdb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json @@ -49,11 +49,91 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8700", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"i_betaBC", + "label":"i_betaBC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -73,7 +153,7 @@ ], "values":[ "rectangular", - "+-", + "--", "off", "Inherit: Inherit via internal rule", "[]", @@ -141,74 +221,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8700", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"i_betaBC", - "label":"i_betaBC", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "i_phaB", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -216,58 +249,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8694", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "1/sqrt(3)", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "i_phaC", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -275,7 +280,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8690", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_phaB", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -359,68 +395,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8690", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8689", "className":"Simulink.ActionPort", @@ -453,21 +427,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "i_phaB", - "local", "Tag" ], "tabs":[ @@ -481,57 +453,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8694", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", "SampleTime" ], "values":[ - "rectangular", - "--", - "off", - "Inherit: Inherit via internal rule", + "1/sqrt(3)", + "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as input", "off", - "Simplest", - "on", - "1", - "All dimensions", + "Zero", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 10 + 8, + 11 ] }, "viewer":{ @@ -540,7 +512,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Gain", "masktype":"" } }, @@ -612,25 +584,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "i_phaB", - "Tag" + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -638,7 +638,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, @@ -710,11 +710,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg index 99ec061..3089940 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg @@ -64,59 +64,99 @@ - - - + + + - - + + - + - - + + 2 + + + + + + + + + + + + + + - + - - + + i_betaBC + + + + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + + - + - + - - + + - + sfix16_En4 @@ -138,11 +178,11 @@ - + - + [i_phaC] @@ -161,44 +201,29 @@ - - - + + + - - + + - - + + - - 2 + + [i_phaB] - - - - - - - - - - - - - - - - - i_betaBC + + @@ -209,43 +234,43 @@ - - - + + + - - + + - - + + - - 1/sqrt(3) + + [i_phaC] - - + + - + - - + + - + sfix16_En4 @@ -257,91 +282,43 @@ - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - i_alphaBC - - - - - - - - - - - - + + - + - + - - [i_phaC] + + [i_phaB] - + - + - - + + - + sfix16_En4 @@ -353,44 +330,44 @@ - - - + + + - - + + - - + + - - [i_phaB] + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + i_alphaBC @@ -403,7 +380,7 @@ - + @@ -411,11 +388,11 @@ - + - + else { } @@ -433,11 +410,11 @@ - + - + Action Port @@ -449,29 +426,44 @@ - - - + + + - - + + - - + + - + [i_phaB] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -482,51 +474,43 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 1/sqrt(3) - - + + - + - - + + - + sfix16_En4 @@ -548,11 +532,11 @@ - + - + 2 @@ -570,11 +554,11 @@ - + - + i_phaC @@ -585,11 +569,11 @@ - + - + sfix16_En4 @@ -601,43 +585,59 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + - + - - [i_phaB] + + - - + + - + - + - + sfix16_En4 @@ -712,11 +712,11 @@ - - + + - + @@ -726,29 +726,29 @@ - + [i_phaC] - + - + - + - + sfix16_En4 @@ -886,5 +886,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json index 1f4510b..c33a5b0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json @@ -1,4 +1,53 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_currFilt", + "label":"cf_currFilt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_currFilt", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8741", "className":"Simulink.Outport", @@ -80,69 +129,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_currFilt", - "label":"cf_currFilt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_currFilt", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8735", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "iq_raw", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -155,16 +157,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -173,7 +175,7 @@ "IconDisplay" ], "values":[ - "id", + "id_raw", "local", "Tag" ], @@ -193,11 +195,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -206,7 +208,7 @@ "IconDisplay" ], "values":[ - "id_raw", + "iq", "local", "Tag" ], @@ -226,27 +228,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8735", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "iq_raw", - "local", - "Tag" + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -254,26 +303,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq", - "local", + "id_raw", "Tag" ], "tabs":[ @@ -287,47 +334,109 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Low_Pass_Filter", + "label":"Low_Pass_Filter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ - "iq_raw", - "Tag" + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "on", + "off", + "off", + "-1", + "Reusable function", + "Use subsystem name", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "off", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -335,7 +444,7 @@ "IconDisplay" ], "values":[ - "id_raw", + "iq", "Tag" ], "tabs":[ @@ -418,11 +527,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8728", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id", - "label":"id", + "name":"id_raw", + "label":"id_raw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -438,17 +547,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "2", @@ -463,17 +566,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -493,47 +589,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8728", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8727", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_raw", - "label":"id_raw", + "name":"iq_raw", + "label":"iq_raw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -556,7 +621,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -596,154 +661,56 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Low_Pass_Filter", - "label":"Low_Pass_Filter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "Inputs", + "DisplayOption" ], "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "on", - "off", - "off", - "-1", - "Reusable function", - "Use subsystem name", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "off", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" + "2", + "bar" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8727", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"iq_raw", - "label":"iq_raw", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "iq_raw", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -751,7 +718,40 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.png index db19ffc175a3abe8cd440b0429f6ca3864a7acd2..94313d84d1532891db8cdc7ccf9054b6c1387303 100644 GIT binary patch literal 5186 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 literal 5189 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg index d7ee03d..905b44e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - iq - - - - - - - @@ -71,11 +23,11 @@ - + - + cf_currFilt @@ -93,11 +45,11 @@ - + - + cf_currFilt @@ -108,11 +60,11 @@ - + - + ufix16_En16 @@ -124,44 +76,44 @@ - - - + + + - - + + - - + + - - + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + iq @@ -172,28 +124,28 @@ - - + + - + - + - - [id] + + [iq_raw] - + @@ -215,11 +167,11 @@ - + - + [id_raw] @@ -236,39 +188,6 @@ - - - - - - - - - - - - - - - - - - [iq_raw] - - - - - - - - - - - - - - - @@ -281,11 +200,11 @@ - + - + [iq] @@ -304,44 +223,44 @@ - - - + + + - - + + - - + + - - [iq_raw] + + 2 - - + + - - - + + + - - + + - - sfix16_En4 + + id @@ -362,11 +281,11 @@ - + - + [id_raw] @@ -384,11 +303,11 @@ - + - + sfix16_En4 @@ -400,475 +319,205 @@ - - - + + + - - + + - - + + - - [id] - - - - - - - - - - - - - - + + u - - + + - - sfix16_En4 + + coef - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - + + y - - + + - - sfix16_En4 + + - - - - - - + + + + + + + - - + + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - id - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - + + - - - - - - id_raw - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - coef - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + coef @@ -886,11 +535,11 @@ - + - + Low_Pass_Filter @@ -901,11 +550,11 @@ - + - + sfix16_En4 @@ -913,29 +562,29 @@ - + - + - + - + - + - + @@ -949,43 +598,265 @@ - - - + + + - - + + - - + + - - 1 + + [iq] - - + + - + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + id_raw + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + - + - + iq_raw @@ -996,11 +867,107 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_raw] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1010,6 +977,39 @@ + + + + + + + + + + + + + + + + + + [id] + + + + + + + + + + + + + + + @@ -1166,5 +1166,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json index 9483254..8243d81 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json @@ -130,11 +130,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2405", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum5", + "label":"Sum5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -154,12 +154,12 @@ ], "values":[ "rectangular", - "++", + "+-", "on", - "Inherit: Inherit via internal rule", + "Inherit: Same as first input", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -246,17 +246,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -268,12 +269,13 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "rectangular", + "++", + "on", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", "Simplest", "off", @@ -289,7 +291,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -298,37 +300,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "1", - "on", - "inf", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: Same as first input", "off", - "inf" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -337,8 +347,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 9 ] }, "viewer":{ @@ -347,47 +357,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2405", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Sum5", - "label":"Sum5", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "FramePeriod" ], "values":[ - "rectangular", - "+-", + "1", "on", - "Inherit: Same as first input", + "inf", "[]", "[]", - "Inherit: Same as first input", - "off", - "Simplest", + "Inherit: Inherit via back propagation", "off", - "1", - "All dimensions", - "-1" + "inf" ], "tabs":[ "Main", @@ -396,8 +396,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 3, + 7 ] }, "viewer":{ @@ -406,7 +406,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Constant", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.png index 6e382e0685b98fe76f9daa450f4badcd527ceab4..82272b088586d1e8729f1e6c0ab48608f74fc1ee 100644 GIT binary patch literal 5622 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