From 183776ceb24ce23a21464ee21ff542d7bb2fe547 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Tue, 31 Dec 2019 13:34:32 +0100 Subject: [PATCH 01/26] Updated webview --- .../html/webview/support/slwebview.json | 3 +- ...motorControl_FOC_R2017b_fixdt_10007_d.json | 62 +- ...CmotorControl_FOC_R2017b_fixdt_10007_d.svg | 94 +- ...CmotorControl_FOC_R2017b_fixdt_10035_d.svg | 2 +- ...motorControl_FOC_R2017b_fixdt_10066_d.json | 964 +-- ...CmotorControl_FOC_R2017b_fixdt_10066_d.png | Bin 8759 -> 8754 bytes ...CmotorControl_FOC_R2017b_fixdt_10066_d.svg | 1958 +++--- ...motorControl_FOC_R2017b_fixdt_10164_d.json | 162 +- ...CmotorControl_FOC_R2017b_fixdt_10164_d.svg | 354 +- ...motorControl_FOC_R2017b_fixdt_10364_d.json | 1994 +++--- ...CmotorControl_FOC_R2017b_fixdt_10364_d.png | Bin 10673 -> 10680 bytes ...CmotorControl_FOC_R2017b_fixdt_10364_d.svg | 3418 +++++------ ...Control_FOC_R2017b_fixdt_10454_2779_d.json | 134 +- ...rControl_FOC_R2017b_fixdt_10454_2779_d.svg | 186 +- ...Control_FOC_R2017b_fixdt_10454_2791_d.json | 134 +- ...rControl_FOC_R2017b_fixdt_10454_2791_d.svg | 378 +- ...Control_FOC_R2017b_fixdt_10454_2816_d.json | 72 +- ...rControl_FOC_R2017b_fixdt_10454_2816_d.svg | 110 +- ...motorControl_FOC_R2017b_fixdt_10454_d.json | 750 +-- ...CmotorControl_FOC_R2017b_fixdt_10454_d.svg | 1316 ++-- ...rControl_FOC_R2017b_fixdt_10455_2779_d.svg | 28 +- ...Control_FOC_R2017b_fixdt_10455_2791_d.json | 196 +- ...rControl_FOC_R2017b_fixdt_10455_2791_d.svg | 526 +- ...Control_FOC_R2017b_fixdt_10455_2816_d.json | 124 +- ...rControl_FOC_R2017b_fixdt_10455_2816_d.svg | 304 +- ...motorControl_FOC_R2017b_fixdt_10455_d.json | 1028 ++-- ...CmotorControl_FOC_R2017b_fixdt_10455_d.svg | 1436 ++--- ...CmotorControl_FOC_R2017b_fixdt_10507_d.svg | 24 +- ...CmotorControl_FOC_R2017b_fixdt_10508_d.svg | 26 +- ...motorControl_FOC_R2017b_fixdt_10566_d.json | 828 +-- ...CmotorControl_FOC_R2017b_fixdt_10566_d.svg | 1390 ++--- ...motorControl_FOC_R2017b_fixdt_10584_d.json | 252 +- ...CmotorControl_FOC_R2017b_fixdt_10584_d.svg | 340 +- ...CmotorControl_FOC_R2017b_fixdt_10594_d.svg | 8 +- ...motorControl_FOC_R2017b_fixdt_10602_d.json | 326 +- ...CmotorControl_FOC_R2017b_fixdt_10602_d.svg | 660 +- ...Control_FOC_R2017b_fixdt_10745_2877_d.json | 168 +- ...rControl_FOC_R2017b_fixdt_10745_2877_d.svg | 278 +- ...rControl_FOC_R2017b_fixdt_10745_2895_d.svg | 14 +- ...motorControl_FOC_R2017b_fixdt_10745_d.json | 558 +- ...CmotorControl_FOC_R2017b_fixdt_10745_d.svg | 696 +-- ...Control_FOC_R2017b_fixdt_10746_2877_d.json | 160 +- ...rControl_FOC_R2017b_fixdt_10746_2877_d.svg | 142 +- ...rControl_FOC_R2017b_fixdt_10746_2895_d.svg | 12 +- ...motorControl_FOC_R2017b_fixdt_10746_d.json | 490 +- ...CmotorControl_FOC_R2017b_fixdt_10746_d.svg | 702 +-- ...Control_FOC_R2017b_fixdt_10808_2877_d.json | 230 +- ...rControl_FOC_R2017b_fixdt_10808_2877_d.svg | 284 +- ...rControl_FOC_R2017b_fixdt_10808_2895_d.svg | 8 +- ...motorControl_FOC_R2017b_fixdt_10808_d.json | 590 +- ...CmotorControl_FOC_R2017b_fixdt_10808_d.svg | 754 +-- ...Control_FOC_R2017b_fixdt_10828_2779_d.json | 166 +- ...rControl_FOC_R2017b_fixdt_10828_2779_d.svg | 234 +- ...Control_FOC_R2017b_fixdt_10828_2791_d.json | 254 +- ...rControl_FOC_R2017b_fixdt_10828_2791_d.svg | 760 +-- ...Control_FOC_R2017b_fixdt_10828_2816_d.json | 102 +- ...rControl_FOC_R2017b_fixdt_10828_2816_d.svg | 228 +- ...motorControl_FOC_R2017b_fixdt_10828_d.json | 722 +-- ...CmotorControl_FOC_R2017b_fixdt_10828_d.png | Bin 7579 -> 7584 bytes ...CmotorControl_FOC_R2017b_fixdt_10828_d.svg | 1252 ++-- ...CmotorControl_FOC_R2017b_fixdt_10829_d.svg | 12 +- ...motorControl_FOC_R2017b_fixdt_11017_d.json | 2 + ...CmotorControl_FOC_R2017b_fixdt_11017_d.png | Bin 0 -> 611 bytes ...CmotorControl_FOC_R2017b_fixdt_11017_d.svg | 14 + ...LDCmotorControl_FOC_R2017b_fixdt_29_d.json | 2811 ++++----- ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.png | Bin 12762 -> 12042 bytes ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg | 5422 +++++++++-------- ...motorControl_FOC_R2017b_fixdt_29_icons.png | Bin 3304 -> 3304 bytes ...CmotorControl_FOC_R2017b_fixdt_8220_d.json | 582 +- ...DCmotorControl_FOC_R2017b_fixdt_8220_d.png | Bin 12669 -> 12669 bytes ...DCmotorControl_FOC_R2017b_fixdt_8220_d.svg | 842 +-- ...DCmotorControl_FOC_R2017b_fixdt_8225_d.svg | 28 +- ...DCmotorControl_FOC_R2017b_fixdt_8235_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_8247_d.json | 62 +- ...DCmotorControl_FOC_R2017b_fixdt_8247_d.svg | 122 +- ...CmotorControl_FOC_R2017b_fixdt_8263_d.json | 1180 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8263_d.png | Bin 8107 -> 8108 bytes ...DCmotorControl_FOC_R2017b_fixdt_8263_d.svg | 2862 ++++----- ...orControl_FOC_R2017b_fixdt_8272_2515_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8272_d.json | 74 +- ...DCmotorControl_FOC_R2017b_fixdt_8272_d.svg | 394 +- ...CmotorControl_FOC_R2017b_fixdt_8314_d.json | 1558 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8314_d.svg | 3202 +++++----- ...CmotorControl_FOC_R2017b_fixdt_8384_d.json | 598 +- ...DCmotorControl_FOC_R2017b_fixdt_8384_d.svg | 1028 ++-- ...CmotorControl_FOC_R2017b_fixdt_8469_d.json | 1490 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8469_d.png | Bin 6364 -> 6364 bytes ...DCmotorControl_FOC_R2017b_fixdt_8469_d.svg | 2842 ++++----- ...rControl_FOC_R2017b_fixdt_8486_2423_d.json | 136 +- ...orControl_FOC_R2017b_fixdt_8486_2423_d.svg | 114 +- ...rControl_FOC_R2017b_fixdt_8486_2428_d.json | 520 +- ...orControl_FOC_R2017b_fixdt_8486_2428_d.png | Bin 6890 -> 6878 bytes ...orControl_FOC_R2017b_fixdt_8486_2428_d.svg | 968 +-- ...trol_FOC_R2017b_fixdt_8486_2435_2515_d.svg | 2 +- ...rControl_FOC_R2017b_fixdt_8486_2435_d.json | 216 +- ...orControl_FOC_R2017b_fixdt_8486_2435_d.svg | 364 +- ...rControl_FOC_R2017b_fixdt_8486_2473_d.json | 512 +- ...orControl_FOC_R2017b_fixdt_8486_2473_d.svg | 1316 ++-- ...trol_FOC_R2017b_fixdt_8486_2480_2515_d.svg | 4 +- ...rControl_FOC_R2017b_fixdt_8486_2480_d.json | 74 +- ...orControl_FOC_R2017b_fixdt_8486_2480_d.svg | 366 +- ...orControl_FOC_R2017b_fixdt_8486_2507_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8486_d.json | 670 +- ...DCmotorControl_FOC_R2017b_fixdt_8486_d.png | Bin 6788 -> 6798 bytes ...DCmotorControl_FOC_R2017b_fixdt_8486_d.svg | 1332 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8519_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8535_d.json | 682 +-- ...DCmotorControl_FOC_R2017b_fixdt_8535_d.png | Bin 10645 -> 10635 bytes ...DCmotorControl_FOC_R2017b_fixdt_8535_d.svg | 1596 ++--- ...CmotorControl_FOC_R2017b_fixdt_8546_d.json | 1126 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8546_d.svg | 1846 +++--- ...CmotorControl_FOC_R2017b_fixdt_8603_d.json | 54 +- ...DCmotorControl_FOC_R2017b_fixdt_8603_d.svg | 336 +- ...CmotorControl_FOC_R2017b_fixdt_8658_d.json | 2598 ++++---- ...DCmotorControl_FOC_R2017b_fixdt_8658_d.png | Bin 9638 -> 9651 bytes ...DCmotorControl_FOC_R2017b_fixdt_8658_d.svg | 5198 ++++++++-------- ...CmotorControl_FOC_R2017b_fixdt_8668_d.json | 694 +-- ...DCmotorControl_FOC_R2017b_fixdt_8668_d.png | Bin 5840 -> 5850 bytes ...DCmotorControl_FOC_R2017b_fixdt_8668_d.svg | 1148 ++-- ...CmotorControl_FOC_R2017b_fixdt_8671_d.json | 336 +- ...DCmotorControl_FOC_R2017b_fixdt_8671_d.svg | 610 +- ...CmotorControl_FOC_R2017b_fixdt_8686_d.json | 382 +- ...DCmotorControl_FOC_R2017b_fixdt_8686_d.svg | 410 +- ...CmotorControl_FOC_R2017b_fixdt_8726_d.json | 676 +- ...DCmotorControl_FOC_R2017b_fixdt_8726_d.png | Bin 5234 -> 5211 bytes ...DCmotorControl_FOC_R2017b_fixdt_8726_d.svg | 960 +-- ...CmotorControl_FOC_R2017b_fixdt_8738_d.json | 258 +- ...DCmotorControl_FOC_R2017b_fixdt_8738_d.png | Bin 5622 -> 4927 bytes ...DCmotorControl_FOC_R2017b_fixdt_8738_d.svg | 434 +- ...CmotorControl_FOC_R2017b_fixdt_8743_d.json | 398 +- ...DCmotorControl_FOC_R2017b_fixdt_8743_d.svg | 1366 ++--- ...CmotorControl_FOC_R2017b_fixdt_8866_d.json | 224 +- ...DCmotorControl_FOC_R2017b_fixdt_8866_d.svg | 358 +- ...CmotorControl_FOC_R2017b_fixdt_8886_d.json | 202 +- ...DCmotorControl_FOC_R2017b_fixdt_8886_d.svg | 474 +- ...CmotorControl_FOC_R2017b_fixdt_8913_d.json | 2748 ++++----- ...DCmotorControl_FOC_R2017b_fixdt_8913_d.png | Bin 13754 -> 13755 bytes ...DCmotorControl_FOC_R2017b_fixdt_8913_d.svg | 4600 +++++++------- ...DCmotorControl_FOC_R2017b_fixdt_9029_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_9045_d.json | 378 +- ...DCmotorControl_FOC_R2017b_fixdt_9045_d.svg | 530 +- ...CmotorControl_FOC_R2017b_fixdt_9074_d.json | 570 +- ...DCmotorControl_FOC_R2017b_fixdt_9074_d.png | Bin 6692 -> 6690 bytes ...DCmotorControl_FOC_R2017b_fixdt_9074_d.svg | 838 +-- ...CmotorControl_FOC_R2017b_fixdt_9109_d.json | 1144 ++-- ...DCmotorControl_FOC_R2017b_fixdt_9109_d.svg | 1518 ++--- ...CmotorControl_FOC_R2017b_fixdt_9143_d.json | 708 +-- ...DCmotorControl_FOC_R2017b_fixdt_9143_d.svg | 940 +-- ...DCmotorControl_FOC_R2017b_fixdt_9164_d.svg | 6 +- ...CmotorControl_FOC_R2017b_fixdt_9171_d.json | 638 +- ...DCmotorControl_FOC_R2017b_fixdt_9171_d.png | Bin 5544 -> 5544 bytes ...DCmotorControl_FOC_R2017b_fixdt_9171_d.svg | 1198 ++-- ...DCmotorControl_FOC_R2017b_fixdt_9188_d.svg | 8 +- ...CmotorControl_FOC_R2017b_fixdt_9198_d.json | 1176 ++-- ...DCmotorControl_FOC_R2017b_fixdt_9198_d.png | Bin 8565 -> 8571 bytes ...DCmotorControl_FOC_R2017b_fixdt_9198_d.svg | 2120 +++---- ...DCmotorControl_FOC_R2017b_fixdt_9292_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9293_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9741_d.json | 376 +- ...DCmotorControl_FOC_R2017b_fixdt_9741_d.svg | 494 +- ...CmotorControl_FOC_R2017b_fixdt_9743_d.json | 188 +- ...DCmotorControl_FOC_R2017b_fixdt_9743_d.svg | 242 +- ...DCmotorControl_FOC_R2017b_fixdt_9842_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_9904_d.json | 262 +- ...DCmotorControl_FOC_R2017b_fixdt_9904_d.png | Bin 5718 -> 5738 bytes ...DCmotorControl_FOC_R2017b_fixdt_9904_d.svg | 596 +- ...CmotorControl_FOC_R2017b_fixdt_9937_d.json | 334 +- ...DCmotorControl_FOC_R2017b_fixdt_9937_d.png | Bin 5906 -> 5906 bytes ...DCmotorControl_FOC_R2017b_fixdt_9937_d.svg | 468 +- ...orControl_FOC_R2017b_fixdt_9948_2342_d.svg | 6 +- ...orControl_FOC_R2017b_fixdt_9948_2395_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_9948_d.json | 268 +- ...DCmotorControl_FOC_R2017b_fixdt_9948_d.svg | 518 +- ...DCmotorControl_FOC_R2017b_fixdt_9950_d.svg | 26 +- ...CmotorControl_FOC_R2017b_fixdt_9953_d.json | 1008 +-- ...DCmotorControl_FOC_R2017b_fixdt_9953_d.png | Bin 6395 -> 6405 bytes ...DCmotorControl_FOC_R2017b_fixdt_9953_d.svg | 1462 ++--- ...CmotorControl_FOC_R2017b_fixdt_9957_d.json | 498 +- ...DCmotorControl_FOC_R2017b_fixdt_9957_d.svg | 670 +- ...CmotorControl_FOC_R2017b_fixdt_9988_d.json | 62 +- ...DCmotorControl_FOC_R2017b_fixdt_9988_d.svg | 94 +- ...BLDCmotorControl_FOC_R2017b_fixdt_h_1.json | 1726 +++--- .../BLDCmotorControl_FOC_R2017b_fixdt_m.json | 93 + 183 files changed, 55591 insertions(+), 55508 deletions(-) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.svg diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json index 36f4043..99987e5 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json @@ -100,7 +100,8 @@ 88, 89, 90, - 91 + 91, + 92 ], "hierarchyUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_m.json" diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json index 3613553..f57e430 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json @@ -79,37 +79,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10009", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10007", - "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:10008", "className":"Simulink.Inport", @@ -177,6 +146,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10009", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "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:10008#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg index 6322f48..320f2f4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg @@ -61,44 +61,59 @@ - - - + + + - - + + - + - - else { } + + 1 - - + + - - + + - + - - Action Port + + r_inpTgtScaRaw + + + + + + + + + + + + + + + sfix16_En4 @@ -109,59 +124,44 @@ - - - + + + - - + + - - + + - - 1 + + else { } - - + + - - - - - - - - - - r_inpTgtScaRaw - - - - - - - + + - + - - sfix16_En4 + + Action Port @@ -186,5 +186,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg index 5052248..40eea73 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg @@ -519,5 +519,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json index 3d3af8d..f99a267 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json @@ -147,32 +147,40 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10518", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10513", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"r_fieldWeakHi", - "label":"r_fieldWeakHi", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "r_fieldWeakHi", - "on", - "inf", + "u2 ~= 0", + "off", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -181,8 +189,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 1, + 9 ] }, "viewer":{ @@ -191,16 +199,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10517", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10518", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_fieldWeakAuthLo", - "label":"n_fieldWeakAuthLo", + "name":"r_fieldWeakHi", + "label":"r_fieldWeakHi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -214,7 +222,7 @@ "FramePeriod" ], "values":[ - "n_fieldWeakAuthLo", + "r_fieldWeakHi", "on", "inf", "[]", @@ -245,32 +253,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10519", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10512", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"r_fieldWeakLo", - "label":"r_fieldWeakLo", + "name":"Sum4", + "label":"Sum4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "r_fieldWeakLo", - "on", - "inf", + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", - "inf" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -279,8 +297,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 10 ] }, "viewer":{ @@ -289,16 +307,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10516", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10514", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_fieldWeakAuthHi", - "label":"n_fieldWeakAuthHi", + "name":"a_phaAdvMax", + "label":"a_phaAdvMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -312,7 +330,7 @@ "FramePeriod" ], "values":[ - "n_fieldWeakAuthHi", + "a_phaAdvMax", "on", "inf", "[]", @@ -343,40 +361,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10513", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10511", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "Criteria", + "IconShape", + "Inputs", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "u2 ~= 0", + "rectangular", + "+-", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "Inherit: Same as first input", "off", + "Simplest", "off", - "-1", - "0", - "on" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -385,8 +405,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 10 ] }, "viewer":{ @@ -395,16 +415,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10512", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10510", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum4", - "label":"Sum4", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -459,11 +479,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10511", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10509", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -518,115 +538,89 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10509", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "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: Same as first input", - "off", - "Simplest", + "Inherit: Same as second input", "off", - "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:10506", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", - "ZeroCross" + "DoSatur" ], "values":[ - "==", + "[]", + "[]", + "Inherit: Same as second input", "off", - "boolean", - "Simplest", - "-1", - "on" + "Floor", + "off" ], "tabs":[ - "Main", - "Data Type", - "-Other" ], "tabs_idx":[ - 0, - 1, - 4 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10504", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10503", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -635,7 +629,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "r_inpTgt", "local", "Tag" ], @@ -655,11 +649,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10503", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10504", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -668,7 +662,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "n_motAbs", "local", "Tag" ], @@ -721,73 +715,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10500", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10506", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_fieldWeak", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10514", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_phaAdvMax", - "label":"a_phaAdvMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "FramePeriod" + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "a_phaAdvMax", - "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", + "==", "off", - "inf" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 1, + 4 ] }, "viewer":{ @@ -796,16 +755,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10499", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10500", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -813,7 +772,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -831,45 +790,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", - "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:10498", "className":"Simulink.From", @@ -902,42 +822,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10497", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10493", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10495", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide14", - "label":"Divide14", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -955,12 +844,12 @@ "SampleTime" ], "values":[ - "*/", + "**", "Element-wise(.*)", "off", "[]", "[]", - "fixdt(0,16,15)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -1104,60 +993,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10491", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "CTRL_FOC", - "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:10495", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10493", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide14", + "label":"Divide14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -1175,12 +1015,12 @@ "SampleTime" ], "values":[ - "**", + "*/", "Element-wise(.*)", "off", "[]", "[]", - "Inherit: Same as first input", + "fixdt(0,16,15)", "off", "Simplest", "off", @@ -1210,20 +1050,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10489", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10505", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "r_blendFactor", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1236,30 +1078,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10496", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10491", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "r_blendFactor", - "Tag" + "CTRL_FOC", + "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" @@ -1267,46 +1127,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10490", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10501", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "-1", - "on" + "z_ctrlTypSel", + "local", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1314,58 +1160,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10510", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10489", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "rectangular", - "+-", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "held", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1373,7 +1191,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"ActionPort", "masktype":"" } }, @@ -1445,21 +1263,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10505", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10497", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_blendFactor", - "local", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1473,16 +1289,96 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10487", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10519", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", + "name":"r_fieldWeakLo", + "label":"r_fieldWeakLo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "r_fieldWeakLo", + "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:10499", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From24", + "label":"From24", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10520", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_fieldWeak ", + "label":"r_fieldWeak ", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -1498,14 +1394,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -1517,10 +1419,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1540,71 +1449,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10496", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" + "r_blendFactor", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"From", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10501", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10490", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "z_ctrlTypSel", - "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" @@ -1612,16 +1527,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10486", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10487", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel", - "label":"z_ctrlTypSel", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -1644,7 +1559,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -1684,11 +1599,109 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10520", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10516", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"r_fieldWeak ", - "label":"r_fieldWeak ", + "name":"n_fieldWeakAuthHi", + "label":"n_fieldWeakAuthHi", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "n_fieldWeakAuthHi", + "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:10517", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"n_fieldWeakAuthLo", + "label":"n_fieldWeakAuthLo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "n_fieldWeakAuthLo", + "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:10486", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "inspector":{ "params":[ @@ -1704,17 +1717,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "1", @@ -1729,17 +1736,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -1759,7 +1759,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.png index 392943e1093f51ce8249bd9f0fd649d1985cc04d..ed880b46c9db74f69bf1016ca7fc2f12f9e667ea 100644 GIT binary patch delta 7104 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 Hdj95r<~kRW delta 7109 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 - - - + + + - - + + - + - - r_fieldWeakHi + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - r_fieldWeakHi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + - + - - + + - + sfix16_En4 @@ -149,58 +278,58 @@ - - + + - + - + - - n_fieldWeakAuthLo + + r_fieldWeakHi - + - - + + - - + + - - n_fieldWeakAuthLo + + r_fieldWeakHi - + - - + + - + sfix16_En4 @@ -212,58 +341,59 @@ - - - + + + - - + + - - + + - - r_fieldWeakLo - - - - - - - + + - - - - - - + + + + + + + - - + + - - r_fieldWeakLo + + + + + + + + + - + - - + + - + sfix16_En4 @@ -275,250 +405,58 @@ - - + + - + - + - - n_fieldWeakAuthHi + + a_phaAdvMax - + - - - - - - - - - - n_fieldWeakAuthHi - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - T - - - - + - - F - - - - - - - + + a_phaAdvMax - + - - + + - + sfix16_En4 @@ -530,59 +468,59 @@ - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -594,59 +532,59 @@ - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -668,27 +606,27 @@ - + - + - + - + - + - + @@ -706,11 +644,11 @@ - + - + sfix16_En4 @@ -722,38 +660,46 @@ - - - - - - + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + @@ -763,27 +709,59 @@ + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + - - + + - - + + - - + + - - boolean + + sfix16_En4 @@ -794,142 +772,107 @@ - - - + + + - - + + - + - - + + - - [n_motAbs] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [r_inpTgt] + + - - - - - - + + + + + + + - - - - - - - - - - - - + + - - + + - - [r_fieldWeak] + + up - - - - - - + + + + + + + u - - - - - - - - - - - - - - - - - - - - + + - - [r_fieldWeak] + + lo + + + + + + + + y - - + + - + - - + + - + sfix16_En4 @@ -941,59 +884,62 @@ - - - + + + - - + + - - + + - - a_phaAdvMax + + [r_inpTgt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - a_phaAdvMax + + [n_motAbs] - - - - - - - - - - - sfix16_En4 + + + @@ -1004,44 +950,29 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + [r_fieldWeak] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1052,108 +983,68 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - - - - - up - + - - + + - - u + + - - + + - - lo + + - - + + - - y + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -1164,43 +1055,43 @@ - - + + - + - - + + - - [n_motAbs] + + [r_fieldWeak] - + - + - - + + - + sfix16_En4 @@ -1212,44 +1103,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [n_motAbs] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1260,69 +1151,52 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - + + - - + + - - + + - - + + - - ufix16_En15 + + sfix16_En4 @@ -1335,7 +1209,7 @@ - + @@ -1343,19 +1217,19 @@ - + - + - + - + @@ -1373,11 +1247,11 @@ - + - + ufix16_En15 @@ -1391,7 +1265,7 @@ - + @@ -1399,35 +1273,35 @@ - + - + - + - + - + - + - + - + @@ -1446,11 +1320,84 @@ - + - + + ufix16_En15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ufix16_En15 @@ -1460,6 +1407,39 @@ + + + + + + + + + + + + + + + + + + [r_blendFactor] + + + + + + + + + + + + + + + @@ -1472,11 +1452,11 @@ - + - + CTRL_FOC @@ -1494,12 +1474,45 @@ - + - - uint8 + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + @@ -1510,52 +1523,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -1566,44 +1571,59 @@ - - - + + + - - + + - - + + - - if { } + + 3 - - + + - - + + - - + + - - Action Port + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 @@ -1614,44 +1634,44 @@ - - + + - + - + - - [r_blendFactor] + + [z_ctrlTypSel] - + - - + + - - + + - - ufix16_En15 + + uint8 @@ -1662,75 +1682,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + r_fieldWeakLo - - - - - + + + + - - - + + + + + + + + + + + r_fieldWeakLo - + - - + + - + sfix16_En4 @@ -1742,59 +1745,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + [r_inpTgt] - - + + - + - - + + - + sfix16_En4 @@ -1806,59 +1793,92 @@ - - + + - + - + - - 3 + + 1 - + - - + + - - + + - - n_motAbs + + r_fieldWeak + + + + + + + + + + + + + + + + + + + + + + + + + + [r_blendFactor] + + + + + + + - - + + - - + + - - sfix16_En4 + + ufix16_En15 @@ -1869,29 +1889,76 @@ - - - + + + - - + + - + - - + + - - [r_blendFactor] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1912,11 +1979,11 @@ - + - + 2 @@ -1934,11 +2001,11 @@ - + - + r_inpTgt @@ -1949,11 +2016,11 @@ - + - + sfix16_En4 @@ -1965,107 +2032,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + n_fieldWeakAuthHi - + + + + - - - - - - - - up - - - - - - - - u - - - - - - - - lo + + + - - + + - - y - - - - - - - + + n_fieldWeakAuthHi - + - - + + - + sfix16_En4 @@ -2077,29 +2095,59 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + n_fieldWeakAuthLo - - + + + + + + + + + + + + + + + + + n_fieldWeakAuthLo + + + + + + + + + + + + + + + sfix16_En4 @@ -2120,11 +2168,11 @@ - + - + 1 @@ -2142,11 +2190,11 @@ - + - + z_ctrlTypSel @@ -2157,11 +2205,11 @@ - + - + uint8 @@ -2171,54 +2219,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_fieldWeak - - - - - - - - @@ -2743,10 +2743,10 @@ - + - + @@ -2796,5 +2796,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json index 93f4284..a310c6e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json @@ -49,11 +49,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10186", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10168", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"task3", - "label":"task3", + "name":"task2", + "label":"task2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "inspector":{ "params":[ @@ -82,7 +82,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -179,11 +179,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10162", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10184", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"UnitDelay5", + "label":"UnitDelay5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "inspector":{ "params":[ @@ -197,7 +197,7 @@ "StateStorageClass" ], "values":[ - "1", + "0", "Inherited", "-1", "", @@ -229,73 +229,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10167", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10162", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"task1", - "label":"task1", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "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":[ "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", + "Inherited", "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", "", + "", + "off", [ ], - "Dialog", - "Auto", - "off" + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 3, + 4 ] }, "viewer":{ @@ -304,7 +274,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -359,11 +329,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10168", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10167", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"task2", - "label":"task2", + "name":"task1", + "label":"task1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "inspector":{ "params":[ @@ -392,7 +362,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -486,43 +456,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10184", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10186", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UnitDelay5", - "label":"UnitDelay5", + "name":"task3", + "label":"task3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "0", - "Inherited", + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "", - "", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", "off", + "0", + "", [ ], - "Auto" + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 11 ] }, "viewer":{ @@ -531,7 +531,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Outport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg index 7606b2f..db4340b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg @@ -41,11 +41,11 @@ - - + + - + @@ -55,30 +55,30 @@ - - 3 + + 2 - + - + - + - - task3 + + task2 @@ -148,36 +148,131 @@ + + + + + + + + + + + boolean + + + + - + - + Ini=0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + boolean + + + + + + + + + + + Ini=0 + + + + @@ -194,35 +289,35 @@ - + - + - + - + - + - + - + - + @@ -248,11 +343,11 @@ - + - + Ini=1 @@ -260,29 +355,29 @@ - + - + - + - + - + - + @@ -294,59 +389,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - task1 - - - - - - - - - + @@ -354,35 +401,35 @@ - + - + - + - + - + - + - + - + @@ -408,11 +455,11 @@ - + - + Ini=1 @@ -423,11 +470,11 @@ - + - + boolean @@ -439,44 +486,44 @@ - - + + - + - + - - 2 + + 1 - + - + - - + + - - task2 + + task1 @@ -497,19 +544,19 @@ - + - + - + - + @@ -535,11 +582,11 @@ - + - + boolean @@ -551,91 +598,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 3 - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - - + + + - + - - boolean + + task3 @@ -871,5 +871,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json index c4481e4..63b974b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json @@ -80,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Vd_Calculation", - "label":"Vd_Calculation", + "name":"Voltage_Mode", + "label":"Voltage_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -177,11 +177,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Mode", - "label":"Speed_Mode", + "name":"Torque_Mode", + "label":"Torque_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -274,11 +274,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", + "className":"Simulink.SwitchCase", + "icon":"WebViewIcon3", + "name":"Switch Case", + "label":"Switch Case", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "CaseConditions", + "ShowDefaultCase", + "SampleTime", + "ZeroCross" + ], + "values":[ + "{VLT_MODE, SPD_MODE, TRQ_MODE}", + "on", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SwitchCase", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", + "name":"Speed_Mode", + "label":"Speed_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -371,27 +410,33 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10425", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8912", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "iq_min", - "local", - "Tag" + "[]", + "off", + "[]", + "4" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -399,7 +444,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Merge", "masktype":"" } }, @@ -436,119 +481,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10424", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "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:10368", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"Vq", - "label":"Vq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "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:10420", "className":"Simulink.Goto", @@ -583,11 +515,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10419", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto30", - "label":"Goto30", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -596,7 +528,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vq_min", "local", "Tag" ], @@ -715,11 +647,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10411", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10735", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -728,7 +660,7 @@ "IconDisplay" ], "values":[ - "id_max", + "r_inpTgtScaAbs", "local", "Tag" ], @@ -748,54 +680,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Vd_Calculation", + "label":"Vd_Calculation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "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":[ + "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":"If", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10410", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10412", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -804,7 +790,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "id", "local", "Tag" ], @@ -824,11 +810,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10735", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10424", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -837,7 +823,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "iq_max", "local", "Tag" ], @@ -857,11 +843,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10409", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10410", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -870,7 +856,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "Vd_min", "local", "Tag" ], @@ -890,11 +876,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10723", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10409", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -903,7 +889,7 @@ "IconDisplay" ], "values":[ - "r_nLimProtMax", + "Vd_max", "local", "Tag" ], @@ -923,33 +909,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", - "className":"Simulink.SwitchCase", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10723", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch Case", - "label":"Switch Case", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ - "CaseConditions", - "ShowDefaultCase", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "{VLT_MODE, SPD_MODE, TRQ_MODE}", - "on", - "-1", - "on" + "r_nLimProtMax", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -957,16 +937,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SwitchCase", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10722", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -975,7 +955,7 @@ "IconDisplay" ], "values":[ - "Vq_Vlt", + "r_iqLimProtMax", "local", "Tag" ], @@ -995,11 +975,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10427", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10425", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1008,7 +988,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "iq_min", "local", "Tag" ], @@ -1028,11 +1008,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1041,7 +1021,7 @@ "IconDisplay" ], "values":[ - "Vq_Trq", + "Vq_Vlt", "local", "Tag" ], @@ -1094,25 +1074,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10030", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "r_inpTgtSca", - "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" @@ -1120,16 +1112,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10030", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From67", - "label":"From67", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1137,7 +1129,7 @@ "IconDisplay" ], "values":[ - "Vq_nLimProtMax", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -1156,11 +1148,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10367", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From60", + "label":"From60", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1168,7 +1160,7 @@ "IconDisplay" ], "values":[ - "Vq", + "iq_min", "Tag" ], "tabs":[ @@ -1187,11 +1179,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10367", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From58", - "label":"From58", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1199,7 +1191,7 @@ "IconDisplay" ], "values":[ - "id_min", + "Vq", "Tag" ], "tabs":[ @@ -1218,11 +1210,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From57", - "label":"From57", + "name":"From59", + "label":"From59", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1230,7 +1222,7 @@ "IconDisplay" ], "values":[ - "id_max", + "iq_max", "Tag" ], "tabs":[ @@ -1249,11 +1241,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From59", - "label":"From59", + "name":"From58", + "label":"From58", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1261,7 +1253,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "id_min", "Tag" ], "tabs":[ @@ -1280,42 +1272,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From53", - "label":"From53", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Open_Mode", + "label":"Open_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "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":[ - "Vd_max", - "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:10742", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From57", + "label":"From57", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1323,7 +1381,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "id_max", "Tag" ], "tabs":[ @@ -1342,19 +1400,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From48", - "label":"From48", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "Vq_Trq", + "local", "Tag" ], "tabs":[ @@ -1368,16 +1428,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10722", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1386,7 +1446,7 @@ "IconDisplay" ], "values":[ - "r_iqLimProtMax", + "Vd", "local", "Tag" ], @@ -1406,21 +1466,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10419", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From48", + "label":"From48", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", - "local", + "Vq_Trq", "Tag" ], "tabs":[ @@ -1434,16 +1492,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1451,7 +1509,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vq_Spd", "Tag" ], "tabs":[ @@ -1470,11 +1528,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10730", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From68", - "label":"From68", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1482,7 +1540,7 @@ "IconDisplay" ], "values":[ - "iq_limProtErr", + "r_nLimProtMax", "Tag" ], "tabs":[ @@ -1501,11 +1559,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1513,7 +1571,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", "Tag" ], "tabs":[ @@ -1532,11 +1590,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1544,7 +1602,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "Vq_max", "Tag" ], "tabs":[ @@ -1563,21 +1621,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From49", + "label":"From49", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Spd", - "local", + "Vq_Open", "Tag" ], "tabs":[ @@ -1591,16 +1647,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10724", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1608,7 +1664,7 @@ "IconDisplay" ], "values":[ - "r_iqLimProtMax", + "n_mot", "Tag" ], "tabs":[ @@ -1627,11 +1683,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From68", + "label":"From68", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1639,7 +1695,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "iq_limProtErr", "Tag" ], "tabs":[ @@ -1658,11 +1714,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10730", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10724", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1670,7 +1726,7 @@ "IconDisplay" ], "values":[ - "r_nLimProtMax", + "r_iqLimProtMax", "Tag" ], "tabs":[ @@ -1689,19 +1745,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10418", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -1715,16 +1773,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1732,7 +1790,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -1751,21 +1809,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10408", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From54", + "label":"From54", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_Tgt", - "local", + "Vd_min", "Tag" ], "tabs":[ @@ -1779,24 +1835,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Goto30", + "label":"Goto30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_Tgt", + "Vq", + "local", "Tag" ], "tabs":[ @@ -1810,121 +1868,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "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:8766", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10411", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "id_max", + "local", "Tag" ], "tabs":[ @@ -1938,16 +1901,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1955,7 +1918,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -1974,11 +1937,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From54", - "label":"From54", + "name":"From53", + "label":"From53", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -1986,7 +1949,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "Vd_max", "Tag" ], "tabs":[ @@ -2005,20 +1968,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10366", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "id", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2031,7 +1994,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, @@ -2103,11 +2066,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10416", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From25", + "label":"From25", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From18", + "label":"From18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10720", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_limProtErr", - "label":"iq_limProtErr", + "name":"r_iqLimProtMax", + "label":"r_iqLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2130,7 +2155,7 @@ "OutputFunctionCall" ], "values":[ - "19", + "17", "Port number", "[]", "[]", @@ -2170,11 +2195,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10720", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10422", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_iqLimProtMax", - "label":"r_iqLimProtMax", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2197,7 +2222,7 @@ "OutputFunctionCall" ], "values":[ - "17", + "15", "Port number", "[]", "[]", @@ -2237,11 +2262,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10423", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10742", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10406", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2264,7 +2320,7 @@ "OutputFunctionCall" ], "values":[ - "16", + "13", "Port number", "[]", "[]", @@ -2304,128 +2360,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10721", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10366", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"r_nLimProtMax", - "label":"r_nLimProtMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "18", - "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:10422", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "15", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "held", + "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" @@ -2433,16 +2386,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From60", - "label":"From60", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2450,7 +2403,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vq_Vlt", "Tag" ], "tabs":[ @@ -2469,86 +2422,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10407", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "14", - "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:8780", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10398", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "iq", + "local", "Tag" ], "tabs":[ @@ -2562,24 +2450,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10421", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq", + "iq_limProtErr", + "local", "Tag" ], "tabs":[ @@ -2593,24 +2483,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10369", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd", + "Vq_Spd", + "local", "Tag" ], "tabs":[ @@ -2624,7 +2516,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -2696,21 +2588,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10398", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From67", + "label":"From67", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq", - "local", + "Vq_nLimProtMax", "Tag" ], "tabs":[ @@ -2724,16 +2614,96 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10414", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10368", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"Vq", + "label":"Vq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10416", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_limProtErr", + "label":"iq_limProtErr", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2756,7 +2726,7 @@ "OutputFunctionCall" ], "values":[ - "11", + "19", "Port number", "[]", "[]", @@ -2796,11 +2766,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10405", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10404", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2823,7 +2793,7 @@ "OutputFunctionCall" ], "values":[ - "10", + "9", "Port number", "[]", "[]", @@ -2863,25 +2833,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10407", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Vq_min", - "Tag" + "14", + "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" @@ -2889,16 +2895,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10369", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2906,7 +2912,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vd", "Tag" ], "tabs":[ @@ -2925,11 +2931,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10404", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10403", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -2952,7 +2958,7 @@ "OutputFunctionCall" ], "values":[ - "9", + "7", "Port number", "[]", "[]", @@ -3023,11 +3029,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3035,7 +3041,7 @@ "IconDisplay" ], "values":[ - "Vq_Spd", + "Vq_max", "Tag" ], "tabs":[ @@ -3121,42 +3127,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlMod", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10402", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10426", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_Tgt", - "label":"id_Tgt", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3179,7 +3154,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "5", "Port number", "[]", "[]", @@ -3219,50 +3194,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8912", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "inspector":{ - "params":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" - ], - "values":[ - "[]", - "off", - "[]", - "4" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10734", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10423", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtScaAbs", - "label":"r_inpTgtScaAbs", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3285,7 +3221,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "16", "Port number", "[]", "[]", @@ -3325,11 +3261,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3337,7 +3273,7 @@ "IconDisplay" ], "values":[ - "Vq_Vlt", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -3356,196 +3292,100 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10418", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "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:10421", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_limProtErr", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10734", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From49", - "label":"From49", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_Open", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Open_Mode", - "label":"Open_Mode", + "name":"r_inpTgtScaAbs", + "label":"r_inpTgtScaAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "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", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", + "inherit", + "-1", + "Inherit", "-1", + "auto", + "off", "", + "on", "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:8770", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From13", + "label":"From13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_Tgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -3617,11 +3457,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10403", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8800", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From45", + "label":"From45", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10373", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id", - "label":"id", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3644,7 +3546,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "3", "Port number", "[]", "[]", @@ -3684,11 +3586,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10412", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10408", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3697,7 +3599,7 @@ "IconDisplay" ], "values":[ - "id", + "id_Tgt", "local", "Tag" ], @@ -3717,11 +3619,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10427", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3730,7 +3632,7 @@ "IconDisplay" ], "values":[ - "Vd", + "n_mot", "local", "Tag" ], @@ -3750,11 +3652,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10406", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10402", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"id_Tgt", + "label":"id_Tgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3777,7 +3679,7 @@ "OutputFunctionCall" ], "values":[ - "13", + "6", "Port number", "[]", "[]", @@ -3817,11 +3719,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10426", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From20", + "label":"From20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10721", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"r_nLimProtMax", + "label":"r_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3844,7 +3777,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "18", "Port number", "[]", "[]", @@ -3951,11 +3884,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10373", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10405", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ @@ -3978,7 +3911,74 @@ "OutputFunctionCall" ], "values":[ - "3", + "10", + "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:10414", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_max", + "label":"Vq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "11", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.png index d572ef3b5e97c77a27d041e8267e0f4a13088808..75edb28adf8eab70de0c11ccdd000927cb525a51 100644 GIT binary patch literal 10680 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 literal 10673 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 - - - + + + @@ -71,7 +71,7 @@ - + @@ -81,64 +81,64 @@ - - id_Tgt + + r_inpTgtSca - - id + + r_inpTgtScaAbs - - Vd_max + + Vq_max - - Vd_min + + Vq_min - - id_max + + r_iqLimProtMax - - id_min + + r_nLimProtMax - - Vd + + Vq_Vlt - - if { } + + case: { } @@ -150,7 +150,7 @@ - + @@ -163,16 +163,16 @@ - - + + - + - - Vd_Calculation + + Voltage_Mode @@ -184,16 +184,16 @@ - - + + - + - - sfix16_En4 + + action @@ -205,16 +205,16 @@ - - + + - + - - action + + sfix16_En4 @@ -225,15 +225,15 @@ - + - - + + @@ -241,65 +241,81 @@ - + - + - + r_inpTgtSca - + - + Vq_max - + - + Vq_min - + - - n_mot + + iq - + - - iq_limProtErr + + iq_max - + - - Vq_Spd + + iq_min + + + + + Vq_nLimProtMax + + + + + + + + Vq_Trq + + + - + case: { } @@ -312,7 +328,7 @@ - + @@ -325,16 +341,16 @@ - - + + - - + + - - Speed_Mode + + Torque_Mode @@ -346,16 +362,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -367,16 +383,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -387,165 +403,126 @@ - + - - + + - - - - - - - - + + - - - - - - - r_inpTgtSca - - - - - - - - r_inpTgtScaAbs - - + - - Vq_max + + u1 - + - - Vq_min + + case [ 1 ]: - + - - r_iqLimProtMax + + case [ 2 ]: - + - - r_nLimProtMax + + case [ 3 ]: - - - - - Vq_Vlt - - - - + - - case: { } + + default: - - - - - - - - + + - + + + + - - - - + + + - - + + action + + + + + + + - + - - Voltage_Mode + + action - - - - - - - - + + - + - - sfix16_En4 + + action - - - - - - - - + + - + - + action @@ -557,68 +534,152 @@ - + + + + - + - - - - - + + - + - - [iq_min] + + r_inpTgtSca - - - - - - + + + + + + + Vq_max - + + + + + + + Vq_min + + + + + + + + n_mot + + + + + + + + iq_limProtErr + + + + + + + + Vq_Spd + + + + + + + + case: { } + + - - - - - - - - - + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + Speed_Mode + + - + - - + + + + + + + + + + + - - [b_enaAdvCtrl] + + action - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -629,29 +690,66 @@ - - - + + + + + + + + + - - + + - + - - + + - - [iq_max] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -662,44 +760,29 @@ - - - + + + - - + + - - + + - - 2 + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - Vq + + @@ -720,11 +803,11 @@ - + - + [Vq_nLimProtMax] @@ -743,28 +826,28 @@ - - + + - + - - + + - - [Vq] + + [Vq_min] - + @@ -786,11 +869,11 @@ - + - + [z_ctrlMod] @@ -819,11 +902,11 @@ - + - + [id_min] @@ -852,11 +935,11 @@ - + - + [r_inpTgtSca] @@ -875,28 +958,28 @@ - - + + - + - + - - [id_max] + + [r_inpTgtScaAbs] - + @@ -908,51 +991,159 @@ - - - + + + - - + + + + + + + + - - + + - - u1 + + id_Tgt - - + + - - if(u1 ~= 0) + + id - - + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + Vd + + + + + + + + if { } + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vd_Calculation - - + + + + + + + + - - + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + - + action @@ -964,28 +1155,34 @@ - - + + + + + + + + - + - + - - [Vd_min] + + [id] - + @@ -997,28 +1194,28 @@ - - + + - + - + - - [r_inpTgtScaAbs] + + [iq_max] - + @@ -1030,28 +1227,28 @@ - - + + - + - + - - [Vd_max] + + [Vd_min] - + @@ -1063,28 +1260,28 @@ - - + + - + - + - - [r_nLimProtMax] + + [Vd_max] - + @@ -1096,121 +1293,29 @@ - - - + + + - - + + - - - - - - u1 - - - - - - - - case [ 1 ]: - - - - - - - - case [ 2 ]: - - - - - - - - case [ 3 ]: - - - - + + - - default: + + [r_nLimProtMax] - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action + + @@ -1221,28 +1326,28 @@ - - + + - + - - + + - - [Vq_Vlt] + + [r_iqLimProtMax] - + @@ -1254,28 +1359,28 @@ - - + + - + - + - - [n_mot] + + [iq_min] - + @@ -1287,28 +1392,28 @@ - - + + - + - + - - [Vq_Trq] + + [Vq_Vlt] - + @@ -1330,11 +1435,11 @@ - + - + [Vq_Open] @@ -1353,44 +1458,52 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - + + - - + + - - sfix16_En4 + + action @@ -1401,43 +1514,43 @@ - - + + - + - + - - [Vq_nLimProtMax] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -1449,43 +1562,43 @@ - - + + - + - + - - [Vq] + + [iq_min] - + - + - - + + - + sfix16_En4 @@ -1497,43 +1610,43 @@ - - + + - + - + - - [id_min] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -1545,43 +1658,43 @@ - - + + - + - + - - [id_max] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -1593,43 +1706,43 @@ - - + + - + - + - - [iq_max] + + [id_min] - + - + - - + + - + sfix16_En4 @@ -1641,91 +1754,119 @@ - - - + + + - - + + + + + + + + - - + + - - [Vd_max] + + r_inpTgtSca + + + + + + + + Vq_Open + + + + + + + + default: { } - - + + + + + + + + - - - + + + + + + + + + - - + + - - sfix16_En4 + + Open_Mode - - - - - - - - - - - - - - - + - - - + + + + - - [r_inpTgtScaAbs] + + - - - - - - + + + + + + + action - + + + + + + + - - + + - + sfix16_En4 @@ -1737,43 +1878,49 @@ - - + + + + + + + + - + - + - - [Vq_Trq] + + [id_max] - + - + - - + + - + sfix16_En4 @@ -1785,28 +1932,28 @@ - - + + - + - - + + - - [r_iqLimProtMax] + + [Vq_Trq] - + @@ -1818,28 +1965,28 @@ - - + + - + - - + + - - [Vq_min] + + [Vd] - + @@ -1851,139 +1998,43 @@ - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_limProtErr] - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - + + - + - + - - [r_inpTgtSca] + + [Vq_Trq] - + - + - - + + - + sfix16_En4 @@ -1995,43 +2046,43 @@ - - + + - + - + - - [n_mot] + + [Vq_Spd] - + - + - - + + - + sfix16_En4 @@ -2043,76 +2094,43 @@ - - - - - - - - - - - - - - - - [Vq_Spd] - - - - - - - - - - - - - - - - - - - + + - + - + - - [r_iqLimProtMax] + + [r_nLimProtMax] - + - + - - + + - + sfix16_En4 @@ -2124,43 +2142,43 @@ - - + + - + - + - + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -2172,43 +2190,43 @@ - - + + - + - + - - [r_nLimProtMax] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -2220,43 +2238,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_Open] - + - + - - + + - + sfix16_En4 @@ -2268,44 +2286,44 @@ - - + + - + - - + + - - [b_enaAdvCtrl] + + [n_mot] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -2316,29 +2334,44 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [iq_limProtErr] - - + + + + + + + + + + + + + + + + + sfix32_En20 @@ -2349,43 +2382,43 @@ - - + + - + - + - - [id_Tgt] + + [r_iqLimProtMax] - + - + - - + + - + sfix16_En4 @@ -2397,168 +2430,77 @@ - - - + + + - - - - - - - - + + - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - iq - - - - - - - - iq_max - - - - - - - - iq_min - - - - - - - - Vq_nLimProtMax - - - - - - - - Vq_Trq - - - - + + - - case: { } + + [Vq_max] - - - - - - - - + + - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - Torque_Mode + + [z_ctrlMod] - - - - - - - - - - - - - - - - - action + + + - - - - - - - - + + - - + + - - sfix16_En4 + + uint8 @@ -2569,49 +2511,43 @@ - - - - - - - - + + - + - + - - [id] + + [Vd_min] - + - + - - + + - + sfix16_En4 @@ -2623,44 +2559,62 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [Vq] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [id_max] + + + + + + + @@ -2671,44 +2625,44 @@ - - + + - + - - + + - - [Vd_min] + + [b_enaAdvCtrl] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2719,44 +2673,44 @@ - - - + + + - - + + - - + + - - if { } + + [Vd_max] - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -2767,58 +2721,43 @@ - - - + + + - - + + - - + + - - 20 + + [id] - - - - - - - - - - - - - - - - - Vq_nLimProtMax + + - + - - + + - + sfix16_En4 @@ -2830,59 +2769,59 @@ - - + + - + - + - - 19 + + 20 - + - - + + - - + + - - iq_limProtErr + + Vq_nLimProtMax - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -2893,58 +2832,43 @@ - - - + + + - - + + - - + + - - 17 + + [Vq_max] - - - - - - - - - - - - - - - - - r_iqLimProtMax + + - + - - + + - + sfix16_En4 @@ -2956,58 +2880,43 @@ - - - + + + - - + + - - + + - - 16 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - iq_min + + - + - - + + - + sfix16_En4 @@ -3019,58 +2928,58 @@ - - + + - + - + - - 18 + + 17 - + - - + + - - + + - - r_nLimProtMax + + r_iqLimProtMax - + - - + + - + sfix16_En4 @@ -3092,11 +3001,11 @@ - + - + 15 @@ -3114,11 +3023,11 @@ - + - + iq_max @@ -3129,11 +3038,11 @@ - + - + sfix16_En4 @@ -3145,43 +3054,43 @@ - - + + - + - + - - [iq_min] + + [r_inpTgtScaAbs] - + - + - - + + - + sfix16_En4 @@ -3193,58 +3102,58 @@ - - + + - + - + - - 14 + + 13 - + - - + + - - + + - - id_min + + id_max - + - - + + - + sfix16_En4 @@ -3256,44 +3165,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -3304,43 +3213,43 @@ - - + + - + - + - - [iq] + + [Vq_Vlt] - + - + - - + + - + sfix16_En4 @@ -3352,44 +3261,95 @@ - - - + + + - - + + - - + + - - [Vd] + + [iq] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + [iq_limProtErr] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vq_Spd] + + + + + + + @@ -3410,48 +3370,96 @@ - - + + + + + + 12 + + + + + + + + + + + + + + + + + + + + + + Vq_min + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + - - 12 + + [Vq_nLimProtMax] - - - - - - - - - - - - - - - - - Vq_min + + - + - - + + - + sfix16_En4 @@ -3463,29 +3471,44 @@ - - - + + + - - + + - - + + - - [iq] + + 2 - - + + + + + + + + + + + + + + + + + Vq @@ -3496,59 +3519,59 @@ - - + + - + - + - - 11 + + 19 - + - - + + - - + + - - Vq_max + + iq_limProtErr - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -3559,58 +3582,58 @@ - - + + - + - + - - 10 + + 9 - + - - + + - - + + - - Vd_min + + Vd_max - + - - + + - + sfix16_En4 @@ -3622,43 +3645,58 @@ - - - + + + - - + + - - + + - - [Vq_min] + + 14 - - + + + + + + + + + + + + + + + + + id_min - + - - + + - + sfix16_En4 @@ -3670,43 +3708,43 @@ - - + + - + - + - - [Vq_max] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -3718,58 +3756,58 @@ - - + + - + - + - - 9 + + 7 - + - - + + - - + + - - Vd_max + + id - + - - + + - + sfix16_En4 @@ -3791,11 +3829,11 @@ - + - + [Vq_min] @@ -3813,11 +3851,11 @@ - + - + sfix16_En4 @@ -3829,43 +3867,43 @@ - - + + - + - + - - [Vq_Spd] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -3887,11 +3925,11 @@ - + - + 8 @@ -3909,11 +3947,11 @@ - + - + iq @@ -3924,11 +3962,11 @@ - + - + sfix16_En4 @@ -3940,44 +3978,59 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] + + 5 - - + + - - - + + + + + + + + + + + n_mot + + + + + + + - - + + - - uint8 + + sfix16_En4 @@ -3988,58 +4041,58 @@ - - + + - + - + - - 6 + + 16 - + - - + + - - + + - - id_Tgt + + iq_min - + - - + + - + sfix16_En4 @@ -4051,59 +4104,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [r_inpTgtSca] - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -4125,11 +4162,11 @@ - + - + 4 @@ -4147,11 +4184,11 @@ - + - + r_inpTgtScaAbs @@ -4162,11 +4199,11 @@ - + - + sfix16_En4 @@ -4178,43 +4215,43 @@ - - + + - + - + - - [Vq_Vlt] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -4226,62 +4263,59 @@ - - - + + + - - + + - - + + - - [Vq_max] + + 2 - - + + - - - - - - - - - - - - - - - + + + + - + - - [iq_limProtErr] + + z_ctrlMod - - - + + + + + + + + + + + uint8 @@ -4292,43 +4326,43 @@ - - + + - + - + - - [Vq_Open] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -4340,120 +4374,107 @@ - - - + + + - - - - - - - - + + - - - - - - - r_inpTgtSca - - - - - - Vq_Open - - - - + - - default: { } + + [iq] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Open_Mode + + sfix16_En4 - + + + + + + + + + + + + + + + - - - - + + + - - + + 3 + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + r_inpTgtSca - - - - - - - - + + - - + + - - action + + sfix16_En4 @@ -4464,65 +4485,62 @@ - - - - - - - - - + + + - - + + - - + + - - 2 + + [id_Tgt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - z_ctrlMod + + [n_mot] - - - - - - - - - - - uint8 + + + @@ -4533,58 +4551,58 @@ - - + + - + - + - - 7 + + 6 - + - - + + - - + + - - id + + id_Tgt - + - - + + - + sfix16_En4 @@ -4596,62 +4614,44 @@ - - - + + + - - + + - - + + - - [id] + + [Vq_min] - - + + - - - - - - - - - - - - - - - + + + + - + - - [Vd] - - - - - - - + + sfix16_En4 @@ -4662,11 +4662,11 @@ - - + + - + @@ -4676,44 +4676,44 @@ - - 13 + + 18 - + - - + + - + - - id_max + + r_nLimProtMax - + - + - + sfix16_En4 @@ -4725,11 +4725,11 @@ - - + + - + @@ -4739,45 +4739,45 @@ - - 5 + + 1 - + - - + + - + - - n_mot + + b_enaAdvCtrl - - + + - + - - sfix16_En4 + + boolean @@ -4788,11 +4788,11 @@ - - + + - + @@ -4802,45 +4802,45 @@ - - 1 + + 10 - + - - + + - + - - b_enaAdvCtrl + + Vd_min - - + + - + - - boolean + + sfix16_En4 @@ -4851,11 +4851,11 @@ - - + + - + @@ -4865,44 +4865,44 @@ - - 3 + + 11 - + - - + + - + - - r_inpTgtSca + + Vq_max - + - + - + sfix16_En4 @@ -5195,11 +5195,11 @@ - + - + @@ -5810,5 +5810,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json index 2e9de79..1ae2eb8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json @@ -138,73 +138,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2786", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"u", - "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", - "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:10454:2789", "className":"Simulink.UnitDelay", @@ -302,6 +235,73 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2786", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", + "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:10454:2787#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg index 667e23c..12b1eeb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg @@ -131,74 +131,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - + @@ -206,35 +143,35 @@ - + - + - + - + - + - + - + - + @@ -255,32 +192,32 @@ - - - + + + - - + + - - sfix32_En20 + + Ini=0 - - - + + + - - + + - - Ini=0 + + sfix32_En20 @@ -301,19 +238,19 @@ - + - + - + - + @@ -339,11 +276,11 @@ - + - + sfix16_En4 @@ -353,6 +290,69 @@ + + + + + + + + + + + + + + + + + + 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_10454_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json index 4fa88b0..52208ad 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json @@ -1,10 +1,10 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2710", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"hitMin", + "label":"hitMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ @@ -33,7 +33,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -80,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ @@ -113,7 +113,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -160,11 +160,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2710", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2709", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMin", - "label":"hitMin", + "name":"hitMax", + "label":"hitMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ @@ -193,7 +193,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -285,11 +285,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2849", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2848", "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ @@ -454,40 +454,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2848", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2699", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"up", + "label":"up", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "u2 ~= 0", - "off", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", + "", + "on", "off", - "-1", - "0", - "on" + "off", + "off" ], "tabs":[ "Main", @@ -496,8 +506,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -506,55 +516,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2699", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2849", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"up", - "label":"up", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "Threshold", + "ZeroCross" ], "values":[ - "1", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", - "", - "on", + "Zero", "off", "off", - "off" + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -563,8 +563,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -573,7 +573,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Switch", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg index 0b25f6d..a6b8112 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg @@ -13,11 +13,11 @@ - - + + - + @@ -27,30 +27,30 @@ - - 2 + + 3 - + - - + + - + - - y + + hitMin @@ -61,11 +61,11 @@ - - + + - + @@ -75,30 +75,30 @@ - - 1 + + 2 - + - - + + - + - - hitMax + + y @@ -109,11 +109,11 @@ - - + + - + @@ -123,30 +123,30 @@ - - 3 + + 1 - + - - + + - + - - hitMin + + hitMax @@ -236,157 +236,157 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T @@ -394,29 +394,29 @@ - + F - + - + - + - + sfix16_En4 @@ -570,250 +570,250 @@ - - - + + + - - + + - + - - + + 1 + + + + + + + + + + + + + + - + - - + + up - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - T + + - + - - F - - - - - - - - - - - - - - + + - + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - 1 - - - - - - - + + - - - - - - + + + + + + + T - + - - up + + F + + + + + + + - + - + - + sfix16_En4 @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json index 3bbedfe..71919eb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json @@ -276,40 +276,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2840", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2841", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"DataTypeConv4", - "label":"DataTypeConv4", + "name":"Equal1", + "label":"Equal1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "[]", - "[]", - "int8", + "==", "on", - "Real World Value (RWV)", + "Inherit: Logical (see Configuration Parameters: Optimization)", "Zero", - "off", - "-1" + "-1", + "on" ], "tabs":[ - "Parameter Attributes", + "Main", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 7 + 1, + 4 ] }, "viewer":{ @@ -318,7 +316,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -370,38 +368,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2841", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2840", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Equal1", - "label":"Equal1", + "name":"DataTypeConv4", + "label":"DataTypeConv4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", "RndMeth", - "SampleTime", - "ZeroCross" + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "==", + "[]", + "[]", + "int8", "on", - "Inherit: Logical (see Configuration Parameters: Optimization)", + "Real World Value (RWV)", "Zero", - "-1", - "on" + "off", + "-1" ], "tabs":[ - "Main", - "Data Type", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 7 ] }, "viewer":{ @@ -410,7 +410,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"DataTypeConversion", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg index e96628f..31eba4d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg @@ -189,7 +189,7 @@ - + @@ -269,7 +269,7 @@ - + @@ -347,30 +347,38 @@ - - - + + + - - + + - + - - + + - + - - + + + + + + + + + + @@ -384,23 +392,23 @@ - - + + - - + + - - + + - - int8 + + boolean @@ -421,19 +429,19 @@ - + - + - + - + @@ -459,11 +467,11 @@ - + - + int8 @@ -475,38 +483,30 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - + - - + + @@ -520,23 +520,23 @@ - - + + - - + + - + - - boolean + + int8 @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json index 8455f21..c206fd2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json @@ -1,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2785", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"out", - "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", - "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:10454:2817", "className":"Simulink.UnitDelay", @@ -282,118 +202,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2845", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "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_hitSat", + "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:10454:2794", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2846", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_hitMax", - "local", + "b_hitSat", "Tag" ], "tabs":[ @@ -407,16 +261,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2795", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2794", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ @@ -425,7 +279,7 @@ "IconDisplay" ], "values":[ - "b_hitMin", + "b_hitMax", "local", "Tag" ], @@ -445,11 +299,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2846", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2832", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ @@ -457,7 +311,7 @@ "IconDisplay" ], "values":[ - "b_hitSat", + "b_hitMax", "Tag" ], "tabs":[ @@ -476,19 +330,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2833", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2795", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "b_hitMin", + "local", "Tag" ], "tabs":[ @@ -502,30 +358,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2832", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2778", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Divide5", + "label":"Divide5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_hitMax", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,5)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -533,80 +415,119 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2814", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "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":[ - "u2 ~= 0", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "on", + "", + "", "off", - "Zero", + "", + "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", - "0", - "on" + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2781", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2776", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -618,16 +539,15 @@ "SampleTime" ], "values":[ - "rectangular", - "++", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -640,7 +560,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -649,45 +569,135 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2776", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2785", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "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":[ - "**", - "Element-wise(.*)", + "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:10454:2733", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMin", + "label":"satMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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", @@ -697,7 +707,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -706,22 +716,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2778", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2781", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -733,12 +744,13 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Inherit via internal rule", "off", "Simplest", "on", @@ -754,7 +766,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -763,32 +775,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2845", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2814", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "b_hitSat", - "local", - "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" @@ -796,7 +832,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Switch", "masktype":"" } }, @@ -965,11 +1001,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2833", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2773", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ @@ -992,7 +1059,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "6", "Port number", "[]", "[]", @@ -1032,11 +1099,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2771", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ @@ -1059,7 +1126,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -1099,60 +1166,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2815", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant", - "label":"Constant", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "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:10454:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2770", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"P", + "label":"P", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ @@ -1175,7 +1193,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -1215,50 +1233,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2769", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2815", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"err", - "label":"err", + "name":"Constant", + "label":"Constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "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", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -1267,8 +1267,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -1277,16 +1277,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2773", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2769", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"err", + "label":"err", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ @@ -1309,7 +1309,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "1", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.svg index 8d44d89..211d4ec 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.svg @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + boolean @@ -140,11 +92,11 @@ - + - + Ini=0 @@ -166,35 +118,35 @@ - + - + - + - + - + - + - + - + @@ -212,11 +164,11 @@ - + - + sfix16_En4 @@ -238,91 +190,91 @@ - + - + up - + - + u - + - + lo - + - + hitMax - + - + y - + - + hitMin - + - + - + - + - + - + - + - + - + - + @@ -336,75 +288,75 @@ - + - - + + - + boolean - - + + - - + + - - boolean + + sfix16_En4 - - + + - - + + - - sfix16_En4 + + boolean - + - + - + - + - + - + @@ -418,91 +370,77 @@ - - - + + + - - - - - - - - + + - - - - - - u - - - - + + - - y + + [b_hitSat] - - - - - - - - + + - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - Integrator + + [b_hitSat] + + + + + + + - - - - - - - - + + - - + + - - sfix16_En4 + + boolean @@ -514,12 +452,6 @@ - - - - - - @@ -529,11 +461,11 @@ - + - + [b_hitMax] @@ -552,29 +484,44 @@ - - - + + + - - + + - - + + - - [b_hitMin] + + [b_hitMax] - - + + + + + + + + + + + + + + + + + boolean @@ -585,44 +532,85 @@ - - + + - - + + - + - - [b_hitSat] + + [b_hitMin] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + - + - - boolean + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En5 @@ -633,44 +621,91 @@ - - - + + + - - + + + + + + + + - - + + - - [b_hitMin] + + u + + + + + + + + y - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrator - - + + + + + + + + - - + + - - boolean + + sfix16_En4 @@ -681,44 +716,241 @@ - - - + + + + + + + + + - - + + - - + + - - [b_hitMax] + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + satMin + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - boolean + + sfix32_En20 @@ -739,395 +971,178 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - - - - - - F - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - sfix16_En5 + + F - - - - - - - - - - - - + + + + + - + + + + - - + + - - [b_hitSat] - - - - - - - + + sfix32_En20 @@ -1154,35 +1169,35 @@ - + - + preIntegrator - + - + preSat - + - + hitSat - + - + Clamp @@ -1212,11 +1227,11 @@ - + - + Clamping_circuit @@ -1233,11 +1248,11 @@ - + - + boolean @@ -1265,11 +1280,11 @@ - + - + 4 @@ -1287,11 +1302,11 @@ - + - + satMax @@ -1302,11 +1317,11 @@ - + - + sfix16_En4 @@ -1318,59 +1333,44 @@ - - - + + + - - + + - - + + - - 3 + + [b_hitMin] - - - - - - - - - - - - - - - - - I + + - - + + - + - - ufix16_En16 + + boolean @@ -1381,11 +1381,11 @@ - - + + - + @@ -1395,45 +1395,45 @@ - - 2 + + 6 - + - - + + - + - - P + + ext_limProt - - + + - + - - ufix16_En12 + + sfix32_En20 @@ -1444,44 +1444,59 @@ - - - + + + - - + + - + - - 0 + + 3 - - + + - - - + + + - + - - sfix32_En20 + + I + + + + + + + + + + + + + + + ufix16_En16 @@ -1492,59 +1507,59 @@ - - + + - + - + - - 5 + + 2 - + - - + + - - + + - - satMin + + P - - + + - - + + - - sfix16_En4 + + ufix16_En12 @@ -1555,59 +1570,44 @@ - - - + + + - - + + - - + + - - 1 + + 0 - - - - - - - - - - - - - - - - - err + + - - + + - + - - sfix16_En4 + + sfix32_En20 @@ -1618,11 +1618,11 @@ - - + + - + @@ -1632,45 +1632,45 @@ - - 6 + + 1 - + - - + + - + - - ext_limProt + + err - - + + - + - - sfix32_En20 + + sfix16_En4 @@ -1683,7 +1683,7 @@ - + @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg index ea97384..85fc095 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg @@ -15,7 +15,7 @@ - + @@ -72,32 +72,32 @@ - - - + + + - + - - Ini=0 + + sfix32_En20 - - - + + + - + - - sfix32_En20 + + Ini=0 @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json index 570c2ee..da73bc3 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json @@ -125,11 +125,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2710", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"hitMin", + "label":"hitMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ @@ -158,7 +158,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -262,63 +262,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2710", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2848", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"hitMin", - "label":"hitMin", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "Threshold", + "ZeroCross" ], "values":[ - "3", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", - "[]", - "off", - "held", "off", + "-1", "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", @@ -327,8 +304,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -337,7 +314,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Switch", "masktype":"" } }, @@ -409,38 +386,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2704", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2700", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"LowerRelop1", - "label":"LowerRelop1", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - ">", + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Nearest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -449,16 +448,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2700", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2377", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"u", - "label":"u", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ @@ -474,11 +473,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "2", @@ -493,10 +498,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -516,7 +528,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, @@ -588,50 +600,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2848", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2704", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"LowerRelop1", + "label":"LowerRelop1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ - "Criteria", + "Operator", "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", + "Nearest", "-1", - "0", "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, 1, - 9 + 4 ] }, "viewer":{ @@ -640,7 +640,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"RelationalOperator", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg index 5c71280..52e8745 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg @@ -63,7 +63,7 @@ - + @@ -140,11 +140,11 @@ - - + + - + @@ -154,30 +154,30 @@ - - 2 + + 3 - + - - + + - + - - y + + hitMin @@ -380,44 +380,188 @@ - - - + + + - - + + - + - - 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - - + + + - - + + - - hitMin + + sfix16_En4 @@ -438,11 +582,11 @@ - + - + 3 @@ -460,11 +604,11 @@ - + - + lo @@ -475,11 +619,11 @@ - + - + sfix16_En4 @@ -491,75 +635,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 2 - - - - - - - - - - + + - - + + - - + + - - LowerRelop1 + + u - - + + - - + + - - boolean + + sfix16_En4 @@ -570,59 +698,44 @@ - - + + - + - + - + 2 - + - - - - - - - - - - u - - - - - - - + + - - + + - - sfix16_En4 + + y @@ -643,11 +756,11 @@ - + - + 1 @@ -665,11 +778,11 @@ - + - + up @@ -680,11 +793,11 @@ - + - + sfix16_En4 @@ -696,188 +809,75 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - T + + + + + + - + - - F - - - - - - - + + LowerRelop1 - - + + - + - - sfix16_En4 + + boolean @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json index 09fd3f8..7c38e18 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json @@ -213,6 +213,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2839", + "className":"Simulink.Signum", + "icon":"WebViewIcon3", + "name":"SignDeltaU3", + "label":"SignDeltaU3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", + "inspector":{ + "params":[ + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Signum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2840", "className":"Simulink.DataTypeConversion", @@ -307,6 +338,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2837", + "className":"Simulink.Signum", + "icon":"WebViewIcon3", + "name":"SignDeltaU2", + "label":"SignDeltaU2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", + "inspector":{ + "params":[ + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Signum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2843", "className":"Simulink.Inport", @@ -374,37 +436,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2839", - "className":"Simulink.Signum", - "icon":"WebViewIcon3", - "name":"SignDeltaU3", - "label":"SignDeltaU3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", - "inspector":{ - "params":[ - "ZeroCross", - "SampleTime" - ], - "values":[ - "on", - "-1" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Signum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2841", "className":"Simulink.RelationalOperator", @@ -450,37 +481,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2837", - "className":"Simulink.Signum", - "icon":"WebViewIcon3", - "name":"SignDeltaU2", - "label":"SignDeltaU2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", - "inspector":{ - "params":[ - "ZeroCross", - "SampleTime" - ], - "values":[ - "on", - "-1" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Signum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2838", "className":"Simulink.Logic", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg index e3a0522..6a42e4a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg @@ -187,30 +187,46 @@ - - - + + + - - + + - + - - + + + + + + + + + + - + - - + + + + + + + + + + @@ -224,23 +240,23 @@ - - + + - - + + - - + + - - int8 + + int16 @@ -251,29 +267,29 @@ - - + + - + - + - + - + - + @@ -288,22 +304,22 @@ - + - + - - + + - + int8 @@ -315,59 +331,60 @@ - - - + + + - - + + - + - - + + - - 3 + + + + + + + + + + - - - - + - - - - - - - - - - - hitSat + + + + + + + - - + + - - + + - - boolean + + int8 @@ -378,45 +395,45 @@ - - - + + + - + - + - + - + - + - + - + - + - + @@ -431,23 +448,23 @@ - + - + - - + + - - int16 + + int32 @@ -458,67 +475,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + 3 - - - - - + + + + - - - + + + + + + + + + + + hitSat - + - - + + - + boolean @@ -530,46 +538,38 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + @@ -583,23 +583,23 @@ - - + + - - + + - + - - int32 + + boolean @@ -612,7 +612,7 @@ - + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json index a5fb375..3d8d1bf 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json @@ -1,42 +1,72 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2817", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2785", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "0", - "Inherited", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "", - "", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", "off", + "0", + "", [ ], - "Auto" + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 11 ] }, "viewer":{ @@ -45,16 +75,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2783", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ @@ -79,7 +109,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", "on", @@ -109,122 +139,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2794", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMax", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2795", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMin", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2833", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_hitMin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2832", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2781", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_hitMax", - "Tag" + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "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" @@ -232,87 +193,100 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2785", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"out", - "label":"out", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Saturation_hit", + "label":"Saturation_hit", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "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", + "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":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "off", + "off", "off", - "inherit", - "-1", - "Inherit", "-1", - "auto", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", "off", - "[]", "off", - "held", "off", - "0", "", - [ - ], - "Dialog", - "Auto", - "off" + "", + "on" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"SubSystem", "masktype":"" } }, @@ -414,51 +388,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2778", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2794", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "b_hitMax", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -466,24 +416,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2846", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2795", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hitSat", + "b_hitMin", + "local", "Tag" ], "tabs":[ @@ -497,48 +449,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2815", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2845", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Constant", - "label":"Constant", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_hitSat", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -546,7 +482,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, @@ -593,8 +529,75 @@ ], "tabs_idx":[ 0, - 1, - 9 + 1, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Switch", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2773", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"ext_limProt", + "label":"ext_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "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":{ @@ -603,91 +606,95 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Saturation_hit", - "label":"Saturation_hit", + "icon":"WebViewIcon1", + "name":"Clamping_circuit", + "label":"Clamping_circuit", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", "", + "All", + "off", + "on", "", "", - "ReadWrite", + "off", "", - "All", + "void_void", + "off", "off", + "on", + "", + "off", + "", "off", "off", - "-1", - "Auto", - "Auto", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "on", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -701,27 +708,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2845", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2732", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_hitSat", - "local", - "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" @@ -729,16 +770,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2771", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ @@ -761,7 +802,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -801,18 +842,48 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2783", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2846", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitSat", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2778", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide5", + "label":"Divide5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -824,13 +895,12 @@ "SampleTime" ], "values":[ - "rectangular", - "++", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "fixdt(1,16,5)", "off", "Simplest", "on", @@ -846,7 +916,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -855,55 +925,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2771", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2776", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "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", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Inherit via internal rule", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -913,7 +973,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -922,66 +982,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2773", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2833", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "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" + "b_hitMin", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -989,113 +1013,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2815", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant", + "label":"Constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "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" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", + "0", "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-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:10455:2732", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2733", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ @@ -1118,7 +1094,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -1224,6 +1200,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2832", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2769", "className":"Simulink.Inport", @@ -1292,50 +1299,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2776", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2817", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", + "0", + "Inherited", + "-1", + "", + "", "off", - "1", - "All dimensions", - "-1" + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 9 + 3, + 4 ] }, "viewer":{ @@ -1344,7 +1344,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"UnitDelay", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.svg index 0492093..4d94151 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.svg @@ -13,91 +13,116 @@ - - - + + + - - + + - + - + - - + + 1 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + out - - + + + + + + + + + - - - + + - - - + + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + + + + + + + + + - - - + + + + + + + + + + - - + + - - Ini=0 + + sfix16_En4 @@ -118,35 +143,35 @@ - + - + - + - + - + - + - + - + @@ -164,11 +189,11 @@ - + - + sfix32_En20 @@ -180,206 +205,186 @@ - - - + + + - - + + - - + + - - [b_hitMax] + + up - - - - - - + + + + + + + u - - - - - - - - - - - - - - - - - - - - + + - - [b_hitMin] + + lo - - - - - - + + + + + + + hitMax - - - - - - - - - - - - - - - - - - - - + + - - [b_hitMin] + + y - - - - - - + + + + + + + hitMin - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - [b_hitMax] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + boolean - - - - - - - - - - - - - - - + + + + - - + + - - 1 + + boolean - - - + + + + + + + + + + + sfix16_En4 - - - - + - - + + - - out + + + + + + + + + + + + + + + + + + + + + + @@ -406,19 +411,19 @@ - + - + u - + - + y @@ -448,11 +453,11 @@ - + - + Integrator @@ -469,11 +474,11 @@ - + - + sfix16_En4 @@ -485,58 +490,35 @@ - + - - + + - - + + - - - - - - - - - - + + - - + + [b_hitMax] - - - - - - - - - - - - - - - - - sfix16_En5 + + @@ -547,44 +529,29 @@ - - + + - - + + - - - - - - [b_hitSat] - - - - - - - - - - - - - - - - - - + + - - boolean + + [b_hitMin] + + + + + + + @@ -595,44 +562,29 @@ - - - + + + - - + + - - + + - - 0 + + [b_hitSat] - - - - - - - - - - - - - - - - - sfix32_En20 + + @@ -653,155 +605,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -819,11 +771,11 @@ - + - + sfix32_En20 @@ -835,186 +787,170 @@ - - - + + + - - + + - - - - - - up - - - - + + - - u + + 6 - - - - - - - lo + + + + + + - - - - - - - hitMax + + + + + + - - + + - - y + + ext_limProt - - - - - - - hitMin + + + + + + - - + + - - + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + preIntegrator - - + + - - + + preSat - - + + - - + + hitSat - - + + - - + + Clamp - - - - - - - - - - - - - + + + + - - sfix16_En4 + + - - - + + + + + + + + + - - + + - - boolean + + Clamping_circuit - - - - - - + + + + - - boolean + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + boolean @@ -1025,29 +961,65 @@ - - - + + + + + + + + + - - + + - - + + - - [b_hitSat] + + 4 - - + + + + + + + + + + + + + + + + + satMax + + + + + + + + + + + + + + + sfix16_En4 @@ -1058,59 +1030,59 @@ - - + + - + - + - - 5 + + 3 - + - - + + - - + + - - satMin + + I - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1121,68 +1093,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [b_hitSat] - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -1193,59 +1141,52 @@ - - - + + + - - + + - - + + - - 3 + + - - - - - - + + + + + + + - - - - - - - - - - - I + + + - - + + - - + + - - ufix16_En16 + + sfix16_En5 @@ -1256,58 +1197,51 @@ - - - + + + - - + + - - + + - - 6 + + - - - - - - + + + + + + + - - - - - - - - - - - ext_limProt + + + - + - - + + - + sfix32_En20 @@ -1319,107 +1253,92 @@ - - - + + + - - - - - - - - + + - - + + - - preIntegrator + + [b_hitMin] - - - - - - - preSat + + + + + + - - - - - - - hitSat + + + + + + - - + + - - Clamp + + boolean - + + + + + + + + + + + + + + + - - - - + + + - - + + 0 - - - - - - - - - - - - - - - - - Clamping_circuit + + + - - - - - - - - + + - - + + - - boolean + + sfix32_En20 @@ -1430,64 +1349,58 @@ - - - - - - - - + + - + - + - - 4 + + 5 - + - - + + - - + + - - satMax + + satMin - + - - + + - + sfix16_En4 @@ -1509,11 +1422,11 @@ - + - + 2 @@ -1531,11 +1444,11 @@ - + - + P @@ -1546,11 +1459,11 @@ - + - + ufix16_En12 @@ -1560,6 +1473,54 @@ + + + + + + + + + + + + + + + + + + [b_hitMax] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -1572,11 +1533,11 @@ - + - + 1 @@ -1594,11 +1555,11 @@ - + - + err @@ -1609,11 +1570,11 @@ - + - + sfix16_En4 @@ -1625,52 +1586,91 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 - - + + - + - - sfix32_En20 + + boolean @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg index 5be994b..8d37a76 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_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,6 +1009,9 @@ + + + @@ -1018,9 +1021,6 @@ - - - @@ -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_10508_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.svg index fa09bba..cdaf007 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_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,16 +1009,16 @@ - + - + - + - + @@ -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_10566_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json index 9c5fdc9..df6125b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json @@ -79,86 +79,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10575", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_iqLimProtMax", - "label":"r_iqLimProtMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", - "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", - "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:10653", "className":"Simulink.Constant", @@ -307,27 +227,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10658", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10651", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "r_inpTgtScaAbs", - "local", - "Tag" + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "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, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -335,108 +281,74 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10649", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt1", + "label":"I_backCalc_fixdt1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "yInit" ], "values":[ - "r_nLimProtMax", - "local", - "Tag" + "0" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10634", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt", + "label":"I_backCalc_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "yInit" ], "values":[ - "rectangular", - "+-", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "0" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10625", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10630", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -445,7 +357,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "n_motAbs", "local", "Tag" ], @@ -465,11 +377,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10642", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10627", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -478,7 +390,7 @@ "IconDisplay" ], "values":[ - "r_iqLimProtMax", + "iqAbs", "local", "Tag" ], @@ -529,11 +441,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10630", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10658", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -542,7 +454,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "r_inpTgtScaAbs", "local", "Tag" ], @@ -562,19 +474,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10655", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10642", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_max", + "r_iqLimProtMax", + "local", "Tag" ], "tabs":[ @@ -588,16 +502,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10627", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10629", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -606,7 +520,7 @@ "IconDisplay" ], "values":[ - "iqAbs", + "n_max", "local", "Tag" ], @@ -626,40 +540,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"I_backCalc_fixdt", - "label":"I_backCalc_fixdt", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10633", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "yInit" + "GotoTag", + "IconDisplay" ], "values":[ - "0" + "iqAbs", + "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:10659", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10641", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -667,7 +583,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "r_iqLimProtMax", "Tag" ], "tabs":[ @@ -686,11 +602,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10643", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10672", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant", + "label":"Constant", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "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:10659", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -698,7 +663,7 @@ "IconDisplay" ], "values":[ - "r_nLimProtMax", + "r_inpTgtScaAbs", "Tag" ], "tabs":[ @@ -717,20 +682,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10641", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10570", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "r_iqLimProtMax", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -743,26 +708,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10629", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10632", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_max", - "local", + "iq_max", "Tag" ], "tabs":[ @@ -776,48 +739,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10673", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10655", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "n_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -825,47 +770,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10651", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10575", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"r_iqLimProtMax", + "label":"r_iqLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "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", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "off", + "0", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -875,7 +841,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -884,48 +850,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10672", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10625", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Constant", - "label":"Constant", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "iq_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -933,30 +883,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10570", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10577", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "held", - "Only when execution is resumed" + "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" @@ -964,16 +950,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10568", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10576", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -996,7 +982,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -1036,71 +1022,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"I_backCalc_fixdt1", - "label":"I_backCalc_fixdt1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10634", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "yInit" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "0" + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "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/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10633", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iqAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10567", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10568", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iqAbs", - "label":"iqAbs", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -1123,7 +1108,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -1163,50 +1148,96 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10576", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10649", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ - "Port", - "IconDisplay", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_nLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10643", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_nLimProtMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10673", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant1", + "label":"Constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "4", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -1215,8 +1246,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -1225,7 +1256,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, @@ -1297,42 +1328,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10632", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", - "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:10577", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10567", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"iqAbs", + "label":"iqAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "inspector":{ "params":[ @@ -1355,7 +1355,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.svg index 31cd610..49a5cda 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.svg @@ -59,54 +59,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_iqLimProtMax - - - - - - - - @@ -119,11 +71,11 @@ - + - + cf_nKiLimProt @@ -141,11 +93,11 @@ - + - + cf_nKiLimProt @@ -156,11 +108,11 @@ - + - + ufix16_En16 @@ -182,11 +134,11 @@ - + - + cf_iqKiLimProt @@ -204,11 +156,11 @@ - + - + cf_iqKiLimProt @@ -219,11 +171,11 @@ - + - + ufix16_En16 @@ -245,11 +197,11 @@ - + - + cf_KbLimProt @@ -267,11 +219,11 @@ - + - + cf_KbLimProt @@ -282,11 +234,11 @@ - + - + ufix16_En12 @@ -298,62 +250,60 @@ - - - + + + - - + + - - + + - - [r_inpTgtScaAbs] + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [r_nLimProtMax] - - - - - - - + + sfix16_En4 @@ -364,93 +314,154 @@ - - - + + + - - + + + + + + + + + err + + + + + + + + I + - + - - + + Kb - + - - + + satMax - + - - + + satMin + + + + + + + + out + + + + + + + + I(z) - - + + + + + + + + + + + + + + + + + I_backCalc_fixdt1 - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - + + + - - + + - - [iq_max] + + Ini=0 - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -461,81 +472,158 @@ - - - + + + - - + + - - - + + + - - [r_iqLimProtMax] + + err + + + + + + + + I + + + + + + + + Kb + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + I(z) - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [n_motAbs] + + I_backCalc_fixdt - - - + + + + + + + + + + + Ini=0 - + - - + + - + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -552,11 +640,11 @@ - + - + [n_motAbs] @@ -575,43 +663,76 @@ - - + + + + + + + + + + + + + + + + [iqAbs] + + + + + + + + + + + + + + + + + + + - + - + - - [n_max] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -623,28 +744,28 @@ - - + + - + - + - - [iqAbs] + + [r_inpTgtScaAbs] - + @@ -656,201 +777,157 @@ - - - + + + - - + + - - - - - - err - - - - - - - - I - - - - - - - - Kb - - - - - - - - satMax - - - - + + - - satMin + + [r_iqLimProtMax] - - - - - - - out + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - I(z) + + [n_max] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - I_backCalc_fixdt + + [iqAbs] - - - - - - - - - - - Ini=0 + + + - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - [r_inpTgtScaAbs] + + [r_iqLimProtMax] - + - + - - + + - + sfix16_En4 @@ -862,43 +939,43 @@ - - - + + + - - + + - - + + - - [r_nLimProtMax] + + 0 - - + + - + - - + + - + sfix16_En4 @@ -910,43 +987,43 @@ - - + + - + - + - - [r_iqLimProtMax] + + [r_inpTgtScaAbs] - + - + - - + + - + sfix16_En4 @@ -958,29 +1035,44 @@ - - - + + + - - + + - - + + - - [n_max] + + case: { } - - + + + + + + + + + + + + + + + + + Action Port @@ -991,43 +1083,43 @@ - - - + + + - - + + - - + + - - 0 + + [iq_max] - - + + - + - - + + - + sfix16_En4 @@ -1039,59 +1131,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + [n_max] - - + + - + - - + + - + sfix16_En4 @@ -1103,44 +1179,44 @@ - - - + + + - - + + - - + + - - 0 + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + r_iqLimProtMax @@ -1151,44 +1227,29 @@ - - - + + + - - + + - - + + - - case: { } + + [iq_max] - - - - - - - - - - - - - - - - - Action Port + + @@ -1199,58 +1260,58 @@ - - + + - + - + - - 3 + + 5 - + - - + + - - + + - - iq_max + + n_max - + - - + + - + sfix16_En4 @@ -1262,154 +1323,59 @@ - - - + + + - - + + - - - - - - err - - - - - - - - I - - - - - - - - Kb - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - out - - - - + + - - I(z) - - - - - - - + + 4 - - - - - - - - - - - I_backCalc_fixdt1 + + + - - - + + + - - + + - - Ini=0 + + n_motAbs - + - - - - - - - sfix16_En4 - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + + sfix16_En4 @@ -1420,43 +1386,59 @@ - - - + + + - - + + - - + + - - [iqAbs] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1468,58 +1450,58 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - iqAbs + + iq_max - + - - + + - + sfix16_En4 @@ -1531,58 +1513,76 @@ - - - + + + - - + + - - + + - - 4 + + [r_nLimProtMax] - - + + - - - - + + + + + + + + + + + + + + + - + - - n_motAbs + + [r_nLimProtMax] + + + + + + + - + - + - + sfix16_En4 @@ -1594,58 +1594,43 @@ - - - + + + - - + + - + - - 1 + + 0 - - - - - - - - - - - - - - - - - r_inpTgtScaAbs + + - + - - + + - + sfix16_En4 @@ -1657,43 +1642,58 @@ - - - + + + - - + + - - + + - - [iq_max] + + 1 - - + + + + + + + + + + + + + + + + + r_inpTgtScaAbs - + - + - + sfix16_En4 @@ -1705,11 +1705,11 @@ - - + + - + @@ -1719,44 +1719,44 @@ - - 5 + + 2 - + - - + + - + - - n_max + + iqAbs - + - + - + sfix16_En4 @@ -2102,5 +2102,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.json index e7ffb4f..0e2ba35 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.json @@ -129,89 +129,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10597", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "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:10587", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10661", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "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", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "fixdt(1,32,20)", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -221,7 +231,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -230,16 +240,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10586", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10587", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ @@ -262,7 +272,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -302,84 +312,100 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10597", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "DoSatur" ], "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", + "Inherit: Same as second input", "off", - "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:10591", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10586", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "held", - "Only when execution is resumed" + "2", + "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" @@ -387,7 +413,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, @@ -459,51 +485,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10661", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10591", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,32,20)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "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" @@ -511,7 +511,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"ActionPort", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg index d0eeac6..af7ffe6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg @@ -124,108 +124,116 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - + + + + - - - - - - - - up + + + - - + + - - u + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - lo + + - - + + - - y + + - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -246,11 +254,11 @@ - + - + 3 @@ -268,11 +276,11 @@ - + - + iq_min @@ -283,11 +291,11 @@ - + - + sfix16_En4 @@ -299,122 +307,107 @@ - - - + + + - - + + - + - - + + - - 2 - - - - - - - - - - - - - - + + - - + + - - iq_max + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - + + + + + + + + + up + - + - - + + u - + - - + + lo - + - - + + y - - + + - + - + - + sfix16_En4 @@ -426,44 +419,59 @@ - - - + + + - - + + - + - - case: { } + + 2 - - + + - - + + - + - - Action Port + + iq_max + + + + + + + + + + + + + + + sfix16_En4 @@ -484,11 +492,11 @@ - + - + 1 @@ -506,11 +514,11 @@ - + - + iq @@ -521,11 +529,11 @@ - + - + sfix16_En4 @@ -537,52 +545,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + case: { } - - + + - - - + + + - + - - sfix32_En20 + + Action Port @@ -711,5 +711,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.svg index fc7f1d2..a02db1f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.svg @@ -63,7 +63,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_10602_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.json index dde1e1f..abc5253 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.json @@ -1,53 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10811", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_nKiLimProt", - "label":"cf_nKiLimProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_nKiLimProt", - "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:10619", "className":"Simulink.Outport", @@ -128,6 +79,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10811", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_nKiLimProt", + "label":"cf_nKiLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_nKiLimProt", + "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:10809", "className":"Simulink.Sum", @@ -237,44 +237,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10777", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt", + "label":"I_backCalc_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "yInit" ], "values":[ - "n_motAbs", - "local", - "Tag" + "0" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10776", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10777", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ @@ -283,7 +279,7 @@ "IconDisplay" ], "values":[ - "n_max", + "n_motAbs", "local", "Tag" ], @@ -336,25 +332,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10804", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10803", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "n_max", - "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" @@ -362,25 +376,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10805", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10609", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "n_motAbs", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -393,36 +407,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"I_backCalc_fixdt", - "label":"I_backCalc_fixdt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", - "inspector":{ - "params":[ - "yInit" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", + "blocktype":"ActionPort", "masktype":"" } }, @@ -458,20 +443,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10609", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10805", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "n_motAbs", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -484,7 +469,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, @@ -556,43 +541,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10803", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10804", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "n_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -600,16 +567,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10774", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10607", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ @@ -632,7 +599,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -672,11 +639,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10607", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10776", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "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:10774", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ @@ -699,7 +699,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.svg index cd8dceb..bbc5fce 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.svg @@ -13,59 +13,44 @@ - - - + + + - - + + - + - - cf_nKiLimProt + + 1 - - + + - - + + - - - - - cf_nKiLimProt - - - - - - - - - - - + - - ufix16_En16 + + Vq_nLimProtMax @@ -76,44 +61,59 @@ - - - + + + - - + + - - + + - - 1 + + cf_nKiLimProt - - + + - - + + + + + + + + + + cf_nKiLimProt + + + + + + + - + - - Vq_nLimProtMax + + ufix16_En16 @@ -251,29 +251,154 @@ - - - + + + - - + + - + - - [n_motAbs] + + err + + + + + + + + I + + + + + + + + Kb + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + I(z) - - + + + + + + + + + + + + + + + + + I_backCalc_fixdt + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -284,28 +409,28 @@ - - + + - + - + - - [n_max] + + [n_motAbs] - + @@ -327,11 +452,11 @@ - + - + [Vq_max] @@ -350,43 +475,43 @@ - - - + + + - - + + - - + + - - [n_max] + + 0 - - + + - + - - + + - + sfix16_En4 @@ -398,202 +523,44 @@ - - - + + + - - + + - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - err - - - - - - - - I - - - - - - - - Kb - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - out - - - - + + - - I(z) + + case: { } - - + + - - - - - - - - - - I_backCalc_fixdt - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + Action Port @@ -614,11 +581,11 @@ - + - + [Vq_max] @@ -636,11 +603,11 @@ - + - + sfix16_En4 @@ -652,44 +619,44 @@ - - - + + + - - + + - - + + - - case: { } + + [n_motAbs] - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -710,11 +677,11 @@ - + - + 3 @@ -732,11 +699,11 @@ - + - + Vq_max @@ -747,11 +714,11 @@ - + - + sfix16_En4 @@ -763,43 +730,43 @@ - - - + + + - - + + - - + + - - 0 + + [n_max] - - + + - + - - + + - + sfix16_En4 @@ -811,58 +778,58 @@ - - + + - + - + - - 1 + + 2 - + - - + + - - + + - - n_motAbs + + n_max - + - - + + - + sfix16_En4 @@ -874,11 +841,44 @@ - - + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + - + @@ -888,44 +888,44 @@ - - 2 + + 1 - + - - + + - + - - n_max + + n_motAbs - + - + - + sfix16_En4 @@ -1091,5 +1091,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json index 180a1d5..83c14ff 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json @@ -80,40 +80,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2879", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2880", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", "SampleTime" ], "values":[ + "round", + "|++", + "off", + "Inherit: Same as first input", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", - "Real World Value (RWV)", - "Floor", + "Simplest", "off", + "1", + "All dimensions", "-1" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 2, + 10 ] }, "viewer":{ @@ -122,57 +134,95 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2880", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2896", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "yInit", + "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:10745:2879", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", "SampleTime" ], "values":[ - "round", - "|++", - "off", - "Inherit: Same as first input", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", - "Simplest", + "Real World Value (RWV)", + "Floor", "off", - "1", - "All dimensions", "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 7 ] }, "viewer":{ @@ -181,7 +231,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -252,56 +302,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2896", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "yInit", - "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:10745:2878#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg index 9cdfa6a..60653bd 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg @@ -59,70 +59,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -135,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -181,11 +117,11 @@ - + - + sfix32_En16 @@ -197,59 +133,91 @@ - - - + + + - - + + - + - - + + - - 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - u + + sfix32_En16 - - - + + + - - + + - - sfix32_En16 + + Ini=yInit @@ -260,90 +228,122 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 - - + + + + + + + + + + + + + + + + + + + 1 + - - + + - - - + + + - + - - Ini=yInit + + u - - + + - + - + sfix32_En16 @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.svg index b01636a..fa862dc 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.svg @@ -63,7 +63,7 @@ - + @@ -1009,15 +1009,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_10745_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json index 8fd2db3..2c33559 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json @@ -1,4 +1,84 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2889", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2894", "className":"Simulink.UnitDelay", @@ -50,18 +130,17 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2892", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2869", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -73,16 +152,15 @@ "SampleTime" ], "values":[ - "rectangular", - "++", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -95,7 +173,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -104,104 +182,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", - "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", + "blocktype":"Product", "masktype":"" } }, @@ -272,63 +253,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2891", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", - "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", - "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:10745:2893", "className":"Simulink.Sum", @@ -365,66 +289,27 @@ "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:10745:2895", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" + "-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":"" } }, { @@ -495,63 +380,79 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2889", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"out", - "label":"out", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", "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", + "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:10745:2891", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", "off", "[]", + "[]", + "Inherit: Inherit via internal rule", "off", - "held", + "Simplest", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -561,7 +462,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -570,22 +471,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2869", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2892", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -597,15 +499,16 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -618,7 +521,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -627,16 +530,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2890", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2853", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", "inspector":{ "params":[ @@ -659,7 +659,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -699,11 +699,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2853", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2851", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"err", + "label":"err", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", "inspector":{ "params":[ @@ -726,7 +726,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -766,11 +766,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2851", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2890", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"err", - "label":"err", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", "inspector":{ "params":[ @@ -793,7 +793,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.svg index aabeea9..ee3a5c5 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.svg @@ -10,6 +10,54 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + @@ -23,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -72,103 +120,31 @@ - - - - - - - - - - - sfix32_En16 - - - - - + - + Ini=0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + sfix32_En16 @@ -180,91 +156,52 @@ - - - + + + - - - - - - - - + + - - + + - - u + + - - + + - - y + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Integrator + + - - - - - - - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -276,12 +213,6 @@ - - - - - - @@ -291,11 +222,11 @@ - + - + 5 @@ -313,11 +244,11 @@ - + - + satMin @@ -328,11 +259,11 @@ - + - + sfix16_En4 @@ -344,52 +275,60 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - + + - - + + - - sfix32_En16 + + sfix16_En4 @@ -400,59 +339,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + 4 - - + + + + + + + + + + + + + + + + + satMax - - + + - - + + - + sfix16_En4 @@ -474,35 +412,35 @@ - + - + - + - + - + - + - + - + @@ -514,35 +452,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -560,11 +498,11 @@ - + - + sfix16_En4 @@ -576,59 +514,52 @@ - - - + + + - - + + - - + + - - 4 + + - - - - - - + + + + + + + - - - - - - - - - - - satMax + + + - - + + - - + + - - sfix16_En4 + + sfix32_En16 @@ -639,44 +570,68 @@ - - - + + + - - + + - - + + - - 1 + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - out + + sfix32_En16 @@ -687,52 +642,91 @@ - - - + + + - - + + + + + + + + - - + + - - + + u - - + + - - + + y - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrator - - + + + + + + + + - + - - sfix32_En20 + + sfix16_En4 @@ -743,11 +737,17 @@ - - + + + + + + + + - + @@ -757,45 +757,45 @@ - - 3 + + 2 - + - - + + - + - - Kb + + I - + - + - - ufix16_En12 + + ufix16_En16 @@ -806,11 +806,11 @@ - - + + - + @@ -820,45 +820,45 @@ - - 2 + + 1 - + - - + + - + - - I + + err - - + + - + - - ufix16_En16 + + sfix16_En4 @@ -869,11 +869,11 @@ - - + + - + @@ -883,45 +883,45 @@ - - 1 + + 3 - + - - + + - + - - err + + Kb - - + + - + - - sfix16_En4 + + ufix16_En12 @@ -1140,5 +1140,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json index 1094cf2..3761fc0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json @@ -1,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2882", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", - "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:10746:2896", "className":"Simulink.UnitDelay", @@ -188,6 +108,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2882", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "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:10746:2879", "className":"Simulink.DataTypeConversion", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg index 46796c8..f0a576d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + sfix32_En16 @@ -140,11 +92,11 @@ - + - + Ini=yInit @@ -166,35 +118,35 @@ - + - + - + - + - + - + - + - + @@ -212,11 +164,11 @@ - + - + sfix32_En16 @@ -226,6 +178,54 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.svg index 8afff39..6aa0f64 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_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_10746_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json index c3742ae..8233d32 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json @@ -80,43 +80,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2894", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2892", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "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", - "", - "", + "rectangular", + "++", "off", - [ - ], - "Auto" + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 10 ] }, "viewer":{ @@ -125,7 +134,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Sum", "masktype":"" } }, @@ -188,6 +197,103 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2895", "className":"Saturation Dynamic", @@ -227,6 +333,56 @@ "masktype":"Saturation Dynamic" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2894", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2854", "className":"Simulink.Inport", @@ -295,11 +451,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2890", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2855", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "inspector":{ "params":[ @@ -322,7 +478,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "5", "Port number", "[]", "[]", @@ -362,40 +518,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2869", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2890", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "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", + "3", + "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", @@ -405,7 +571,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -414,16 +580,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2891", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2869", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "inspector":{ "params":[ @@ -476,50 +642,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2853", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2891", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "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":[ - "2", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Inherit via internal rule", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -529,7 +685,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -538,16 +694,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2855", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2853", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "inspector":{ "params":[ @@ -570,7 +726,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -609,162 +765,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", - "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:10746:2892", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", - "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:10746:2851", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.svg index 363d551..44a5d35 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.svg @@ -61,90 +61,67 @@ - - - + + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - - + + - + sfix32_En16 @@ -166,27 +143,27 @@ - + - + - + - + - + - + @@ -204,11 +181,106 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrator + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -221,8 +293,14 @@ + + + + + + - + @@ -230,35 +308,35 @@ - + - + - + - + - + - + - + - + @@ -270,35 +348,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -316,11 +394,11 @@ - + - + sfix16_En4 @@ -332,59 +410,91 @@ - - - + + + - - + + - + - - + + - - 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - satMax + + sfix32_En16 - - - + + + - - + + - - sfix16_En4 + + Ini=0 @@ -395,59 +505,59 @@ - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - Kb + + satMax - - + + - - + + - - ufix16_En12 + + sfix16_En4 @@ -458,108 +568,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 5 - - - - - - - - - - - - - - - - - sfix32_En20 + + - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - + + satMin - - + + - - + + - - sfix32_En16 + + sfix16_En4 @@ -570,59 +631,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - I + + Kb - + - - + + - - ufix16_En16 + + ufix16_En12 @@ -633,59 +694,52 @@ - - - + + + - - + + - - + + - - 5 + + - - - - - - + + + + + + + - - - - - - - - - - - satMin + + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -696,91 +750,52 @@ - - - + + + - - - - - - - - + + - - + + - - u + + - - + + - - y + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Integrator + + - - - - - - - - + + - - + + - - sfix16_En4 + + sfix32_En16 @@ -791,74 +806,59 @@ - - - - - - - - - + + + - - + + - - + + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - + - - - - - - - - - + + I - - + + - + - - sfix32_En16 + + ufix16_En16 @@ -1140,5 +1140,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json index 36a5222..5793ceb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json @@ -1,42 +1,72 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2896", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2882", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "yInit", - "Inherited", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "", - "", + "Inherit", + "-1", + "auto", "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", [ ], - "Auto" + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 11 ] }, "viewer":{ @@ -45,7 +75,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Outport", "masktype":"" } }, @@ -109,73 +139,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2882", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2896", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "yInit", + "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:10808:2879", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", "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" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "1", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", + "fixdt(1,16,4)", "off", - "held", + "Real World Value (RWV)", + "Floor", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -184,7 +231,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -255,53 +302,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2879", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", - "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:10808:2878#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg index a3cc180..b772885 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg @@ -13,91 +13,44 @@ - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 1 - - - - - - - - - - - - - - - - - - - - - - - - - Ini=yInit + + - - - + + + - - + + - - sfix32_En16 + + y @@ -118,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -164,11 +117,11 @@ - + - + sfix32_En16 @@ -180,106 +133,90 @@ - - - + + + - - + + - + - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - y + + - - - - - - - - - - - - + + - - - - - - - 1 - - - + + - - - + + + - - + + - - u + + Ini=yInit - - + + - - + + - + sfix32_En16 @@ -301,19 +238,19 @@ - + - + - + - + @@ -339,11 +276,11 @@ - + - + sfix16_En4 @@ -353,6 +290,69 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.svg index 02721e9..3f0e43b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.svg @@ -63,7 +63,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_10808_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json index 5a0197f..f7f50de 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json @@ -1,41 +1,62 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2892", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2889", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "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", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -45,7 +66,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -54,104 +75,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2892", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "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" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", "off", + "Simplest", "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Sum", "masktype":"" } }, @@ -195,130 +178,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2891", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", - "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", - "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:10808:2889", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2894", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"out", - "label":"out", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "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":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", "0", + "Inherited", + "-1", "", + "", + "off", [ ], - "Dialog", - "Auto", - "off" + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 3, + 4 ] }, "viewer":{ @@ -327,55 +223,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2855", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2869", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "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":[ - "5", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Inherit via internal rule", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -385,7 +271,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -394,66 +280,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2894", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "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":[ - "0", - "Inherited", - "-1", + "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:10808:2854", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2855", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "inspector":{ "params":[ @@ -476,7 +409,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -516,18 +449,17 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2893", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2891", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -539,10 +471,9 @@ "SampleTime" ], "values":[ - "round", - "-+|", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", @@ -561,7 +492,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -570,16 +501,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2890", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2853", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "inspector":{ "params":[ @@ -602,7 +533,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -642,11 +573,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2851", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2890", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"err", - "label":"err", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "inspector":{ "params":[ @@ -669,7 +600,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -709,17 +640,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2869", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2893", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -731,9 +663,10 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "round", + "-+|", "off", + "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", @@ -752,7 +685,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -761,16 +694,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2853", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2854", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", "inspector":{ "params":[ @@ -793,7 +726,74 @@ "OutputFunctionCall" ], "values":[ - "2", + "4", + "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:10808:2851", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"err", + "label":"err", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "1", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.svg index 36f207c..67cf9f9 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.svg @@ -13,68 +13,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - - + + + - - + + - - sfix32_En16 + + out @@ -85,91 +61,68 @@ - - - + + + - - - - - - - - + + - - + + - - u + + - - + + - - y - - - - - - - - - - - - - + + - - - - - - - - + + + - - + + - - + + - - Integrator + + + + + + + + + - - - - - - - - + + - - + + - - sfix16_En4 + + sfix32_En16 @@ -181,12 +134,6 @@ - - - - - - @@ -196,35 +143,35 @@ - + - + - + - + - + - + - + - + @@ -236,35 +183,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -282,11 +229,11 @@ - + - + sfix16_En4 @@ -298,100 +245,147 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix32_En16 + + + + + + + + + + + Ini=0 + + + + - - - + + + - - + + - - + + - - 1 + + + + + + + + + + - - + + - - - + + + - - + + - - out + + sfix32_En20 @@ -402,58 +396,90 @@ - - - + + + - - + + + + + + + + - - + + - - 5 + + u + + + + + + + + y - - + + + + + + + + - - + + + + + + + + - - + + - - satMin + + Integrator - + + + + + + + - - + + - + sfix16_En4 @@ -465,91 +491,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - + + + + + + + + + 5 + - - + + - - - + + + - + - - Ini=0 + + satMin - - + + - + - - sfix32_En16 + + sfix16_En4 @@ -560,59 +560,52 @@ - - - + + + - - + + - + - - 4 - - - - - - - - - - - - - - + + - + - - satMax + + + + + + + + + - - + + - + - - sfix16_En4 + + sfix32_En16 @@ -623,60 +616,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + 2 - - + + + + + + + + + + + + + + + + + I - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -697,11 +689,11 @@ - + - + 3 @@ -719,11 +711,11 @@ - + - + Kb @@ -734,11 +726,11 @@ - + - + ufix16_En12 @@ -750,58 +742,59 @@ - - - + + + - - + + - - + + - - 1 - - - - - - - + + - - - - - - + + + + + + + - + - - err + + + + + + + + + - - + + - + - + sfix16_En4 @@ -813,52 +806,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + 4 - - + + + + + + + + + + + + + + + + + satMax - - + + - + - - sfix32_En20 + + sfix16_En4 @@ -869,11 +869,11 @@ - - + + - + @@ -883,45 +883,45 @@ - - 2 + + 1 - + - - + + - + - - I + + err - - + + - + - - ufix16_En16 + + sfix16_En4 @@ -1140,5 +1140,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json index fdfbd27..c6a3fc7 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json @@ -1,4 +1,54 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2789", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", + "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:10828:2790", "className":"Simulink.Outport", @@ -80,43 +130,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2789", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2788", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "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", - [ - ], - "Auto" + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 10 ] }, "viewer":{ @@ -125,7 +184,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Sum", "masktype":"" } }, @@ -176,65 +235,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2788", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "|++", - "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:10828:2786", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg index 79b4feb..4a3fd07 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg @@ -10,60 +10,12 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - + @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -120,32 +72,32 @@ - - - + + + - - + + - - Ini=0 + + sfix32_En20 - - - + + + - - + + - - sfix32_En20 + + Ini=0 @@ -156,60 +108,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - - - - - - + + - - - + + + - - + + - - sfix16_En4 + + y @@ -230,35 +166,35 @@ - + - + - + - + - + - + - + - + @@ -276,11 +212,11 @@ - + - + sfix32_En20 @@ -290,6 +226,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json index 5d1718e..6799d2e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json @@ -80,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2709", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"hitMax", + "label":"hitMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ @@ -113,7 +113,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -160,63 +160,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2709", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2849", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "Threshold", + "ZeroCross" ], "values":[ - "1", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "Inherit: Inherit via back propagation", "off", - "[]", + "Zero", "off", - "held", "off", + "-1", "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", @@ -225,8 +202,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -235,7 +212,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Switch", "masktype":"" } }, @@ -285,40 +262,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2849", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2377", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "u2 ~= 0", - "off", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", - "-1", + "[]", + "off", + "held", + "off", "0", - "on" + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -327,8 +327,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -337,7 +337,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Outport", "masktype":"" } }, @@ -387,11 +387,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2700", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2701", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"u", - "label":"u", + "name":"lo", + "label":"lo", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ @@ -414,7 +414,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -454,40 +454,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2848", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2700", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "u2 ~= 0", - "off", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", "off", "off", - "-1", - "0", - "on" + "off" ], "tabs":[ "Main", @@ -496,8 +506,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -506,16 +516,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2701", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2699", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"lo", - "label":"lo", + "name":"up", + "label":"up", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ @@ -538,7 +548,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -578,50 +588,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2699", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2848", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"up", - "label":"up", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "Threshold", + "ZeroCross" ], "values":[ - "1", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", - "", - "on", + "Zero", "off", "off", - "off" + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -630,8 +630,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -640,7 +640,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Switch", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg index 0f8cd15..bc1c52a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg @@ -59,54 +59,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - @@ -119,11 +71,11 @@ - + - + 1 @@ -141,11 +93,11 @@ - + - + hitMax @@ -155,85 +107,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UpperRelop - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -246,155 +119,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -412,11 +285,11 @@ - + - + sfix16_En4 @@ -428,30 +301,30 @@ - - + + - + - + - + - + - - + + @@ -465,37 +338,37 @@ - + - - + + - - + + - - LowerRelop1 + + UpperRelop - + - - + + - + boolean @@ -507,59 +380,44 @@ - - + + - + - + - + 2 - + - - - - - - - - - - u - - - - - - - + + - - + + - - sfix16_En4 + + y @@ -570,86 +428,290 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - + + LowerRelop1 + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + 3 + + + + + + + + + + + + + + - - + + - - + + lo + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + @@ -657,7 +719,7 @@ - + @@ -665,7 +727,7 @@ - + @@ -673,7 +735,7 @@ - + @@ -681,7 +743,7 @@ - + @@ -689,7 +751,7 @@ - + @@ -697,7 +759,7 @@ - + @@ -705,7 +767,7 @@ - + @@ -713,170 +775,108 @@ - + - + - - T + + - + - - F - - - - - - - - - - - - - - + + - + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - 3 - - - - - - - + + - - - - - - + + + + + + + - + - - lo - - - - - - - + + - + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - 1 - - - - - - - + + - - - - - - + + + + + + + T - + - - up + + F + + + + + + + - + - + - + sfix16_En4 @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json index cb9dfc5..73bcba1 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json @@ -245,56 +245,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2841", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Equal1", - "label":"Equal1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "on", - "Inherit: Logical (see Configuration Parameters: Optimization)", - "Zero", - "-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:10828:2836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2840", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"DataTypeConv3", - "label":"DataTypeConv3", + "name":"DataTypeConv4", + "label":"DataTypeConv4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ @@ -337,11 +292,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2840", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2836", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"DataTypeConv4", - "label":"DataTypeConv4", + "name":"DataTypeConv3", + "label":"DataTypeConv3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ @@ -481,6 +436,51 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2841", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Equal1", + "label":"Equal1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "==", + "on", + "Inherit: Logical (see Configuration Parameters: Optimization)", + "Zero", + "-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:10828:2838", "className":"Simulink.Logic", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg index 1dc4deb..ecaa8d7 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg @@ -267,101 +267,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - + + - + - + - + - + - + @@ -376,22 +304,22 @@ - + - + - - + + - + int8 @@ -403,29 +331,29 @@ - - + + - + - + - + - + - + @@ -440,22 +368,22 @@ - + - + - - + + - + int8 @@ -477,35 +405,35 @@ - + - + - + - + - + - + - + - + @@ -531,11 +459,11 @@ - + - + int16 @@ -557,11 +485,11 @@ - + - + 3 @@ -579,11 +507,11 @@ - + - + hitSat @@ -594,11 +522,83 @@ - + - + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean @@ -612,7 +612,7 @@ - + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json index 5618e92..1b51581 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json @@ -80,43 +80,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2817", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2814", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "Threshold", + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "u2 ~= 0", "off", - [ - ], - "Auto" + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 1, + 9 ] }, "viewer":{ @@ -125,45 +132,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2814", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2781", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "Criteria", + "IconShape", + "Inputs", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "u2 ~= 0", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", + "Inherit: Inherit via internal rule", "off", - "-1", - "0", - "on" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -172,8 +181,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 10 ] }, "viewer":{ @@ -182,16 +191,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2783", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ @@ -216,7 +225,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", "on", @@ -375,6 +384,68 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2846", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitSat", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2832", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "className":"Simulink.SubSystem", @@ -469,25 +540,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2846", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2817", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "b_hitSat", - "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" @@ -495,24 +585,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2833", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2845", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hitMin", + "b_hitSat", + "local", "Tag" ], "tabs":[ @@ -526,7 +618,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -588,180 +680,89 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2845", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2778", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Divide5", + "label":"Divide5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_hitSat", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", - "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", + "**", + "Element-wise(.*)", "off", + "[]", + "[]", + "fixdt(1,16,5)", "off", + "Simplest", "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 9 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2773", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2815", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"Constant", + "label":"Constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "6", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -770,8 +771,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -780,7 +781,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2833", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -919,44 +951,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2794", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMax", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2773", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ @@ -979,7 +978,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "6", "Port number", "[]", "[]", @@ -1019,43 +1018,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2815", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2794", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Constant", - "label":"Constant", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_hitMax", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1063,75 +1046,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2783", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Clamping_circuit", + "label":"Clamping_circuit", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "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":[ - "rectangular", - "++", + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", "off", - "Simplest", "on", - "1", - "All dimensions", - "-1" + "", + "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, - 10 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2769", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2771", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"err", - "label":"err", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ @@ -1154,7 +1175,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -1194,40 +1215,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2778", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2770", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", + "name":"P", + "label":"P", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "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", + "2", + "Port number", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1237,7 +1268,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1246,47 +1277,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2832", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_hitMax", - "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:10828:2770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2769", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", + "name":"err", + "label":"err", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ @@ -1309,7 +1309,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.png index 92c294c554838fdf8b5118269d4e9d70f8d7ca26..ba494acd42ce53d6361f242fbb0ab954d5a5a628 100644 GIT binary patch literal 7584 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - boolean - - - - - - - - - + @@ -166,155 +71,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -332,11 +237,11 @@ - + - + sfix32_En20 @@ -358,35 +263,35 @@ - + - + - + - + - + - + - + - + @@ -404,11 +309,11 @@ - + - + sfix32_En20 @@ -418,11 +323,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + - + @@ -436,19 +413,19 @@ - + - + u - + - + y @@ -478,11 +455,11 @@ - + - + Integrator @@ -499,11 +476,11 @@ - + - + sfix16_En4 @@ -531,11 +508,11 @@ - + - + [b_hitMin] @@ -554,101 +531,197 @@ - - - + + + - - + + - - - - - - up - - - - - - - - u - - - - + + - - lo + + [b_hitSat] - - - - - - - hitMax + + + + + + - - - - - - - y + + + + + + - - + + - - hitMin + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + [b_hitMax] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + - + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + hitMax + + + + + + + + y + + + + + + + + hitMin + + + - + - + - + - + - + - + - + - + - + @@ -662,15 +735,15 @@ - + - - + + - + boolean @@ -681,26 +754,26 @@ - + - + sfix16_En4 - + - - + + - + boolean @@ -708,29 +781,29 @@ - + - + - + - + - + - + @@ -744,43 +817,90 @@ - - - + + + - - + + - + - - + + - - [b_hitSat] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 - + - - + + - + boolean @@ -792,44 +912,29 @@ - - - + + + - - + + - - + + - - [b_hitMin] + + [b_hitSat] - - - - - - - - - - - - - - - - - boolean + + @@ -850,19 +955,19 @@ - + - + - + - + @@ -880,11 +985,11 @@ - + - + sfix32_En20 @@ -896,140 +1001,100 @@ - - - + + + - - + + - - + + - - [b_hitSat] + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - preIntegrator - - - - - - - - preSat - - - - - - - - hitSat + + + - - + + - - Clamp + + sfix16_En5 - + + + + + + + + + + + + + + + - - - - + + + - - + + 0 - - - - - - - - - - - - - - - - - Clamping_circuit + + + - - - - - - - - + + - - + + - - boolean + + sfix32_En20 @@ -1040,65 +1105,44 @@ - - - - - - - - - + + + - - + + - - + + - - 6 + + [b_hitMin] - - - - - - - - - - - - - - - - - ext_limProt + + - - + + - - + + - - sfix32_En20 + + boolean @@ -1119,11 +1163,11 @@ - + - + 5 @@ -1141,11 +1185,11 @@ - + - + satMin @@ -1156,11 +1200,11 @@ - + - + sfix16_En4 @@ -1182,11 +1226,11 @@ - + - + 4 @@ -1204,11 +1248,11 @@ - + - + satMax @@ -1219,11 +1263,11 @@ - + - + sfix16_En4 @@ -1235,92 +1279,59 @@ - - - - - - - - - - - - - - - - [b_hitMax] - - - - - - - - - - - - - - - - - - - + + - + - + - - 3 + + 6 - + - - + + - - + + - - I + + ext_limProt - - + + - - + + - - ufix16_En16 + + sfix32_En20 @@ -1331,44 +1342,29 @@ - - - + + + - - + + - - + + - - 0 + + [b_hitMax] - - - - - - - - - - - - - - - - - sfix32_En20 + + @@ -1379,68 +1375,107 @@ - - - + + + - - + + + + + + + + - - + + - - + + preIntegrator - - + + - - + + preSat - - + + - - + + hitSat - - + + - - + + Clamp - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clamping_circuit - - + + + + + + + + - - + + - - sfix16_En4 + + boolean @@ -1451,59 +1486,65 @@ - - + + + + + + + + - + - + - - 1 + + 3 - + - - + + - - + + - - err + + I - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1514,100 +1555,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 2 - - + + - - - - - - - - - - - sfix16_En5 + + + - - - - - - - - - - - - - - - - - - - + - - [b_hitMax] - - - - - - - + + P - - + + - + - - boolean + + ufix16_En12 @@ -1618,11 +1618,11 @@ - - + + - + @@ -1632,45 +1632,45 @@ - - 2 + + 1 - + - - + + - + - - P + + err - - + + - + - - ufix16_En12 + + sfix16_En4 @@ -1683,7 +1683,7 @@ - + @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.svg index c29baab..24dd02b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.svg @@ -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_11017_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.json new file mode 100644 index 0000000..32960f8 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.json @@ -0,0 +1,2 @@ +[ +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.png new file mode 100644 index 0000000000000000000000000000000000000000..628e7dba8ddf45673e200b5bc32d94f851daf07b GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yaTa()7BevL9RXp+soH$f3=B-7 zo-U3d6?5KR-Y9rLLEylK34hD$#2(ynQuKXrEIaKPbKk$)j311e9Sk^FMu`y;1}(h7 XH(7hCYX9s5rWyuMS3j3^P6 + + + + + + + + + + + + + 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 6924cf8..31a209f 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 @@ -98,11 +98,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10192", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9307", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Task1: Diagnostics + Control_Manager
Task2: Field Weakening + Limitations
Task3: PI Controllers in FOC

", - "label":"

Task1: Diagnostics + Control_Manager
Task2: Field Weakening + Limitations
Task3: PI Controllers in FOC

", + "name":"

The rotor position is implemented based on the following table:

", + "label":"

The rotor position is implemented based on the following table:

", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -120,7 +120,7 @@ "ClickFcn" ], "values":[ - "\n\n

Task1: Diagnostics + Control_Manager
Task2: Field Weakening + Limitations
Task3: PI Controllers in FOC

", + "\n\n

The rotor position is implemented based on the following table:

", "off", "rich", "auto", @@ -147,11 +147,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9307", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10192", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

The rotor position is implemented based on the following table:

", - "label":"

The rotor position is implemented based on the following table:

", + "name":"

Task1: Diagnostics + Control_Manager
Task2: Field Weakening + Limitations
Task3: PI Controllers in FOC

", + "label":"

Task1: Diagnostics + Control_Manager
Task2: Field Weakening + Limitations
Task3: PI Controllers in FOC

", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -169,7 +169,7 @@ "ClickFcn" ], "values":[ - "\n\n

The rotor position is implemented based on the following table:

", + "\n\n

Task1: Diagnostics + Control_Manager
Task2: Field Weakening + Limitations
Task3: PI Controllers in FOC

", "off", "rich", "auto", @@ -275,6 +275,86 @@ "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:9304", "className":"Simulink.Outport", @@ -516,32 +596,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10064", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_fieldWeakEna", - "label":"b_fieldWeakEna", + "name":"DC_phaB", + "label":"DC_phaB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "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":[ - "b_fieldWeakEna", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "boolean", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -550,8 +661,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -560,16 +671,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_diagEna", - "label":"b_diagEna", + "name":"z_ctrlTypSel1", + "label":"z_ctrlTypSel1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -583,12 +694,12 @@ "FramePeriod" ], "values":[ - "b_diagEna", + "z_ctrlTypSel", "on", "inf", "[]", "[]", - "boolean", + "uint8", "off", "inf" ], @@ -614,20 +725,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9441", - "className":"Simulink.Terminator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Terminator", - "label":"Terminator", + "name":"b_diagEna", + "label":"b_diagEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ + "b_diagEna", + "on", + "inf", + "[]", + "[]", + "boolean", + "off", + "inf" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 7 ] }, "viewer":{ @@ -636,7 +769,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Terminator", + "blocktype":"Constant", "masktype":"" } }, @@ -738,46 +871,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10751", - "className":"Simulink.Saturate", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10156", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Saturation1", - "label":"Saturation1", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "UpperLimit", - "LowerLimit", - "LinearizeAsGain", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", "RndMeth", "SampleTime", "ZeroCross" ], "values":[ - "1700", - "-1700", - "on", - "[]", - "[]", - "fixdt(1,16,4)", + "~=", "off", - "Floor", + "boolean", + "Simplest", "-1", "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, - 8 + 1, + 4 ] }, "viewer":{ @@ -786,7 +911,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Saturate", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -931,37 +1056,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "u1 == CTRL_FOC", - "", - "off", - "-1", - "on" + "b_hallB", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -969,16 +1084,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9934", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9280", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -987,7 +1102,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_posRaw", "local", "Tag" ], @@ -1040,11 +1155,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9289", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9285", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", + "name":"Goto24", + "label":"Goto24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1053,7 +1168,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "DC_phaB", "local", "Tag" ], @@ -1073,11 +1188,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9286", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9283", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1086,7 +1201,7 @@ "IconDisplay" ], "values":[ - "DC_phaC", + "z_pos", "local", "Tag" ], @@ -1106,11 +1221,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":[ @@ -1119,7 +1234,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "r_devSignal2", "local", "Tag" ], @@ -1139,11 +1254,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10189", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10187", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1152,7 +1267,7 @@ "IconDisplay" ], "values":[ - "task3", + "task2", "local", "Tag" ], @@ -1172,74 +1287,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"DC_phaB", - "label":"DC_phaB", + "name":"Goto16", + "label":"Goto16", "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":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "z_ctrlModReq", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1247,16 +1315,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10188", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1265,7 +1333,7 @@ "IconDisplay" ], "values":[ - "task1", + "i_phaBC", "local", "Tag" ], @@ -1285,27 +1353,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10187", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "task2", - "local", - "Tag" + "1", + "u1 == CTRL_FOC", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1313,16 +1391,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9275", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1331,7 +1409,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "a_elecAngle", "local", "Tag" ], @@ -1351,11 +1429,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9275", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9456", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1364,7 +1442,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "VqFinPrev", "local", "Tag" ], @@ -1384,27 +1462,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10139", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"If3", + "label":"If3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "i_phaAB", - "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" @@ -1412,16 +1500,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9278", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9287", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1430,7 +1518,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "DC_phaA", "local", "Tag" ], @@ -1483,19 +1571,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10159", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_devSignal1", + "local", "Tag" ], "tabs":[ @@ -1509,78 +1599,202 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:11017", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Motor_winding", + "label":"Motor_winding", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_hallA", - "Tag" - ], - "tabs":[ - "Parameter Attributes" + "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" ], - "tabs_idx":0 + "values":[ + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "off", + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" + ], + "tabs":[ + ], + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Implemented_control_methods", + "label":"Implemented_control_methods", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "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":[ - "z_ctrlTypSel", - "Tag" + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "off", + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "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:9250", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10159", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1607,11 +1821,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1619,7 +1833,7 @@ "IconDisplay" ], "values":[ - "r_devSignal2", + "r_devSignal1", "Tag" ], "tabs":[ @@ -1638,21 +1852,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9269", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10692", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From39", + "label":"From39", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", - "local", + "n_motAbs", "Tag" ], "tabs":[ @@ -1666,16 +1878,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10355", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1683,7 +1895,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "task2", "Tag" ], "tabs":[ @@ -1702,25 +1914,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10692", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"From39", - "label":"From39", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "n_motAbs", - "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" @@ -1728,16 +1952,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10355", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1745,7 +1969,7 @@ "IconDisplay" ], "values":[ - "task2", + "n_mot", "Tag" ], "tabs":[ @@ -1764,11 +1988,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"From33", + "label":"From33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1776,7 +2000,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "DC_phaC", "Tag" ], "tabs":[ @@ -1795,12 +2019,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", @@ -1808,7 +2032,7 @@ "IconDisplay" ], "values":[ - "b_hallC", + "i_phaAB", "local", "Tag" ], @@ -1828,11 +2052,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1840,7 +2064,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "z_errCode", "Tag" ], "tabs":[ @@ -1859,21 +2083,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9282", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_errCode", - "local", + "b_hallB", "Tag" ], "tabs":[ @@ -1887,16 +2109,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10161", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1904,7 +2126,7 @@ "IconDisplay" ], "values":[ - "DC_phaB", + "n_motAbs", "Tag" ], "tabs":[ @@ -1923,11 +2145,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10160", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1935,7 +2157,7 @@ "IconDisplay" ], "values":[ - "DC_phaA", + "r_inpTgt", "Tag" ], "tabs":[ @@ -1954,11 +2176,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1966,7 +2188,7 @@ "IconDisplay" ], "values":[ - "b_hallC", + "VqFinPrev", "Tag" ], "tabs":[ @@ -1985,11 +2207,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9287", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1998,7 +2220,7 @@ "IconDisplay" ], "values":[ - "DC_phaA", + "b_hallC", "local", "Tag" ], @@ -2018,11 +2240,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2030,7 +2252,7 @@ "IconDisplay" ], "values":[ - "z_errCode", + "r_inpTgt", "Tag" ], "tabs":[ @@ -2049,19 +2271,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10257", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "task1", + "n_mot", + "local", "Tag" ], "tabs":[ @@ -2075,24 +2299,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10188", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "VqFinPrev", + "task1", + "local", "Tag" ], "tabs":[ @@ -2106,16 +2332,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2123,7 +2349,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -2142,11 +2368,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2154,7 +2380,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "z_dir", "Tag" ], "tabs":[ @@ -2173,11 +2399,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10257", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2185,7 +2411,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "task1", "Tag" ], "tabs":[ @@ -2204,11 +2430,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2216,7 +2442,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -2235,11 +2461,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10259", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2247,7 +2473,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "task2", "Tag" ], "tabs":[ @@ -2266,11 +2492,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10356", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2278,7 +2504,7 @@ "IconDisplay" ], "values":[ - "task3", + "b_motEna", "Tag" ], "tabs":[ @@ -2297,11 +2523,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2309,7 +2535,7 @@ "IconDisplay" ], "values":[ - "r_fieldWeak", + "b_motEna", "Tag" ], "tabs":[ @@ -2328,11 +2554,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2340,7 +2566,7 @@ "IconDisplay" ], "values":[ - "r_fieldWeak", + "z_posRaw", "Tag" ], "tabs":[ @@ -2359,11 +2585,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2371,7 +2597,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "DC_phaB", "Tag" ], "tabs":[ @@ -2390,11 +2616,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10191", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2402,7 +2628,7 @@ "IconDisplay" ], "values":[ - "r_devSignal1", + "task1", "Tag" ], "tabs":[ @@ -2421,11 +2647,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10259", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2433,7 +2659,7 @@ "IconDisplay" ], "values":[ - "task2", + "r_devSignal2", "Tag" ], "tabs":[ @@ -2452,19 +2678,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9289", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto28", + "label":"Goto28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "b_motEna", + "local", "Tag" ], "tabs":[ @@ -2478,16 +2706,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10155", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2495,7 +2723,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -2611,11 +2839,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2623,7 +2851,7 @@ "IconDisplay" ], "values":[ - "b_hallB", + "DC_phaA", "Tag" ], "tabs":[ @@ -2642,11 +2870,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2654,7 +2882,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "b_hallC", "Tag" ], "tabs":[ @@ -2673,27 +2901,47 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10751", + "className":"Simulink.Saturate", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Saturation1", + "label":"Saturation1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "UpperLimit", + "LowerLimit", + "LinearizeAsGain", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "i_phaBC", - "local", - "Tag" + "1700", + "-1700", + "on", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Floor", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 8 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2701,16 +2949,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Saturate", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2718,7 +2966,7 @@ "IconDisplay" ], "values":[ - "DC_phaC", + "a_elecAngle", "Tag" ], "tabs":[ @@ -2737,108 +2985,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10066", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F04_Field_Weakening", - "label":"F04_Field_Weakening", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From18", + "label":"From18", "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", + "IconDisplay" ], "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", - "" + "b_motStdStill", + "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":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9930", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2846,7 +3028,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "z_pos", "Tag" ], "tabs":[ @@ -2865,11 +3047,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10191", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9278", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_motAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2877,7 +3092,7 @@ "IconDisplay" ], "values":[ - "task1", + "VqFinPrev", "Tag" ], "tabs":[ @@ -2896,21 +3111,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9930", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", - "local", + "a_elecAngle", "Tag" ], "tabs":[ @@ -2924,16 +3137,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2941,7 +3154,7 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -3057,43 +3270,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel1", - "label":"z_ctrlTypSel1", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "z_ctrlTypSel", - "on", - "inf", - "[]", - "[]", - "uint8", - "off", - "inf" + "a_elecAngle", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3101,26 +3296,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9285", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "DC_phaB", - "local", + "b_motStdStill", "Tag" ], "tabs":[ @@ -3134,24 +3327,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10161", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10189", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "task3", + "local", "Tag" ], "tabs":[ @@ -3165,16 +3360,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_Estimations", - "label":"F01_Estimations", + "name":"F03_Control_Mode_Manager", + "label":"F03_Control_Mode_Manager", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3226,7 +3421,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -3267,91 +3462,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion7", - "label":"Data Type Conversion7", - "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: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", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10160", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3359,7 +3474,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "n_mot", "Tag" ], "tabs":[ @@ -3378,58 +3493,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion5", - "label":"Data Type Conversion5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F04_Field_Weakening", + "label":"F04_Field_Weakening", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "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":[ - "[]", - "[]", - "int16", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "Real World Value (RWV)", - "Floor", + "on", + "", + "", "off", - "-1" + "", + "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, - 7 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10065", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion4", - "label":"Data Type Conversion4", + "name":"Data Type Conversion2", + "label":"Data Type Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3445,11 +3610,11 @@ "values":[ "[]", "[]", - "int16", + "fixdt(1,16,4)", "off", "Real World Value (RWV)", "Floor", - "off", + "on", "-1" ], "tabs":[ @@ -3472,37 +3637,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10356", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "task3", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3510,30 +3663,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9299", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"DC_phaA", + "label":"DC_phaA", "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":[ - "VqFinPrev", - "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" @@ -3541,16 +3743,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9269", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3559,7 +3761,7 @@ "IconDisplay" ], "values":[ - "b_hallA", + "r_inpTgt", "local", "Tag" ], @@ -3579,25 +3781,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "z_posRaw", - "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" @@ -3605,32 +3823,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10154", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "r_devSignal1", - "local", - "Tag" + "CTRL_COM", + "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" @@ -3638,125 +3872,122 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9301", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"DC_phaC", - "label":"DC_phaC", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F05_Field_Oriented_Control", + "label":"F05_Field_Oriented_Control", "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":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "on", + "", + "", "off", + "", + "void_void", "off", - "[]", "off", - "held", "off", - "0", "", - [ - ], - "Dialog", + "off", + "", + "off", + "off", + "", "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:8210", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9441", + "className":"Simulink.Terminator", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Terminator", + "label":"Terminator", "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":{ @@ -3765,26 +3996,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Terminator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10158", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_fieldWeak", - "local", + "i_phaBC", "Tag" ], "tabs":[ @@ -3798,41 +4027,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10749", - "className":"Simulink.Saturate", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Saturation", - "label":"Saturation", + "name":"i_phaAB", + "label":"i_phaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "UpperLimit", - "LowerLimit", - "LinearizeAsGain", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1700", - "-1700", - "on", + "7", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "Floor", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -3841,8 +4084,8 @@ ], "tabs_idx":[ 0, - 3, - 8 + 2, + 11 ] }, "viewer":{ @@ -3851,47 +4094,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Saturate", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10155", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "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:9305", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_devSignal1", - "label":"r_devSignal1", + "name":"b_hallB", + "label":"b_hallB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3907,20 +4119,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "7", + "5", "Port number", "[]", "[]", @@ -3932,17 +4138,10 @@ "-1", "auto", "off", + "", + "on", "off", - "0", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -3962,70 +4161,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9456", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "VqFinPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10154", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"b_hallC", + "label":"b_hallC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "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", + "6", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -4034,8 +4218,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -4044,16 +4228,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10065", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion2", - "label":"Data Type Conversion2", + "name":"Data Type Conversion7", + "label":"Data Type Conversion7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4069,11 +4253,11 @@ "values":[ "[]", "[]", - "fixdt(1,16,4)", + "int16", "off", "Real World Value (RWV)", "Floor", - "on", + "off", "-1" ], "tabs":[ @@ -4096,50 +4280,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10064", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_hallC", - "label":"b_hallC", + "name":"b_fieldWeakEna", + "label":"b_fieldWeakEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "6", - "Port number", + "b_fieldWeakEna", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "boolean", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -4148,8 +4314,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -4158,65 +4324,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"i_DCLink", - "label":"i_DCLink", + "name":"Data Type Conversion4", + "label":"Data Type Conversion4", "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":[ - "9", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "int16", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -4225,55 +4371,41 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10749", + "className":"Simulink.Saturate", "icon":"WebViewIcon3", - "name":"b_hallB", - "label":"b_hallB", + "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":[ - "5", - "Port number", + "1700", + "-1700", + "on", "[]", "[]", - "Inherit: auto", + "fixdt(1,16,4)", "off", - "inherit", - "-1", - "Inherit", + "Floor", "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "on" ], "tabs":[ "Main", @@ -4282,8 +4414,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 8 ] }, "viewer":{ @@ -4292,16 +4424,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Saturate", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F05_Field_Oriented_Control", - "label":"F05_Field_Oriented_Control", + "name":"F01_Estimations", + "label":"F01_Estimations", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4353,7 +4485,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -4394,11 +4526,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204", + "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:8208", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_hallA ", - "label":"b_hallA ", + "name":"i_phaBC", + "label":"i_phaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4421,7 +4586,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "8", "Port number", "[]", "[]", @@ -4461,36 +4626,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10139", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"If3", - "label":"If3", + "name":"b_hallA ", + "label":"b_hallA ", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", - "u1 ~= 0", - "", + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 4 + 2, + 11 ] }, "viewer":{ @@ -4499,44 +4688,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10156", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "b_hallA", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4544,113 +4721,63 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F03_Control_Mode_Manager", - "label":"F03_Control_Mode_Manager", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion5", + "label":"Data Type Conversion5", "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:8203", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9301", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", + "name":"DC_phaC", + "label":"DC_phaC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4666,11 +4793,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "3", @@ -4685,10 +4818,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -4708,16 +4848,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"i_phaBC", - "label":"i_phaBC", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4740,7 +4880,7 @@ "OutputFunctionCall" ], "values":[ - "8", + "3", "Port number", "[]", "[]", @@ -4780,11 +4920,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"i_DCLink", + "label":"i_DCLink", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4807,7 +4947,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "9", "Port number", "[]", "[]", @@ -4842,79 +4982,94 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9934", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_dir", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From17", + "label":"From17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_fieldWeak", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9299", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"DC_phaA", - "label":"DC_phaA", + "name":"From12", + "label":"From12", "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", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "i_phaAB", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4922,16 +5077,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4939,7 +5094,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_hallA", "Tag" ], "tabs":[ @@ -4958,11 +5113,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"i_phaAB", - "label":"i_phaAB", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4985,7 +5140,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "2", "Port number", "[]", "[]", @@ -5025,104 +5180,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Implemented_control_methods", - "label":"Implemented_control_methods", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "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", - "off", - "off", - "off", - "-1", - "Auto", - "Auto", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "on", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -5130,7 +5192,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -5216,11 +5278,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9272", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9286", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -5229,7 +5291,7 @@ "IconDisplay" ], "values":[ - "r_devSignal2", + "DC_phaC", "local", "Tag" ], @@ -5249,11 +5311,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlModReq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10158", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -5262,7 +5355,7 @@ "IconDisplay" ], "values":[ - "b_hallB", + "r_fieldWeak", "local", "Tag" ], @@ -5282,11 +5375,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10157", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10255", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -5299,7 +5392,7 @@ ], "values":[ "AND", - "3", + "2", "rectangular", "off", "boolean", @@ -5327,11 +5420,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10255", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10157", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -5344,7 +5437,7 @@ ], "values":[ "AND", - "2", + "3", "rectangular", "off", "boolean", 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 9f12b1dd3aacc040475dd0c0842de90e6cb2a101..474cf3325cf2907bada5047bf7c2011fec4b1aaa 100644 GIT binary patch literal 12042 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 f|NoCPoCW9z4*RChwTi%pHE - + - + @@ -54,7 +54,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -126,7 +126,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -150,7 +150,7 @@ - + @@ -158,7 +158,7 @@ - + @@ -166,7 +166,7 @@ - + @@ -174,7 +174,7 @@ - + @@ -182,7 +182,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -198,7 +198,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -214,7 +214,7 @@ - + @@ -222,7 +222,7 @@ - + @@ -230,7 +230,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -262,7 +262,7 @@ - + @@ -270,7 +270,7 @@ - + @@ -278,7 +278,7 @@ - + @@ -293,7 +293,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -317,7 +317,7 @@ - + @@ -325,7 +325,7 @@ - + @@ -340,7 +340,7 @@ - + @@ -348,7 +348,7 @@ - + @@ -356,7 +356,7 @@ - + @@ -364,7 +364,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -387,7 +387,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -403,7 +403,7 @@ - + @@ -411,7 +411,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -439,76 +439,103 @@ - - - + + + - - + + - - Task1 + + The rotor position is implemented based on the following table: - - - - - - - : Diagnostics + Control_Manager + + + + + + + + + + - - Task2 + + Task1 + : Diagnostics + Control_Manager - - : Field Weakening + Limitations + + Task2 + : Field Weakening + Limitations - - Task3 - - - - - - - - : PI Controllers in FOC + + Task3 + : PI Controllers in FOC - + - - - + + + - - - - - - - The rotor position is implemented based on the following table: + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + r_devSignal2 + + @@ -517,11 +544,11 @@ - - + + - + @@ -531,30 +558,30 @@ - - 8 + + 7 - + - + - + - - r_devSignal2 + + r_devSignal1 @@ -566,10 +593,10 @@ - + - + @@ -579,29 +606,29 @@ - + 6 - + - + - + - + a_elecAngle @@ -614,10 +641,10 @@ - + - + @@ -627,29 +654,29 @@ - + 5 - + - + - + - + n_mot @@ -662,10 +689,10 @@ - + - + @@ -675,29 +702,29 @@ - + 4 - + - + - + - + z_errCode @@ -709,59 +736,44 @@ - - - + + + - - + + - + - - b_fieldWeakEna + + 2 - - + + - - + + - - - - - b_fieldWeakEna - - - - - - - - - - - + - - boolean + + DC_phaB @@ -772,44 +784,44 @@ - - + + - + - + - - b_diagEna + + z_ctrlTypSel - + - - + + - - + + - - boolean + + uint8 @@ -820,45 +832,44 @@ - - - + + + + + + - - - - - - - - - + - - + + - - + + b_diagEna - - - + + + - - - - - - - + + + + + + + + + + + boolean @@ -870,8 +881,8 @@ - - + + @@ -879,33 +890,33 @@ - + - + - + task1 - + - + task2 - + - + task3 @@ -918,7 +929,7 @@ - + @@ -931,15 +942,15 @@ - + - - + + - + Task_Scheduler @@ -952,15 +963,15 @@ - + - - + + - + boolean @@ -973,15 +984,15 @@ - + - - + + - + boolean @@ -994,15 +1005,15 @@ - + - - + + - + boolean @@ -1014,52 +1025,36 @@ - + - - + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -1073,23 +1068,23 @@ - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -1107,51 +1102,51 @@ - + - + MODEL INFO - + - - Version: 1.1249 + + Version: 1.1256 - + - + Author: Emanuel Feru - + - + Last modified by: eferu - + - - Last update: 12-dec-2019 20:22:14 + + Last update: 30-dec-2019 18:06:55 - + - + Copyright © 2019-2020 Emanuel FERU @@ -1166,29 +1161,29 @@ - + - + - + - + - + - + @@ -1203,50 +1198,50 @@ - + - + - + - + u1 - + - + if(u1 ~= 0) - + - + - - + + - + action @@ -1258,52 +1253,29 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 == CTRL_FOC) + + [b_hallB] - - - - - - - - - - - - - - - - - action + + @@ -1314,28 +1286,28 @@ - - + + - + - + - - [z_dir] + + [z_posRaw] - + @@ -1357,11 +1329,11 @@ - + - + [z_ctrlTypSel] @@ -1380,28 +1352,28 @@ - - + + - + - - + + - - [b_motEna] + + [DC_phaB] - + @@ -1413,28 +1385,28 @@ - - + + - + - + - - [DC_phaC] + + [z_pos] - + @@ -1446,28 +1418,28 @@ - - + + - + - + - - [z_pos] + + [r_devSignal2] - + @@ -1479,28 +1451,28 @@ - - + + - + - + - - [task3] + + [task2] - + @@ -1512,44 +1484,29 @@ - - - + + + - - + + - - + + - - 2 + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - DC_phaB + + @@ -1560,28 +1517,28 @@ - - + + - + - + - - [task1] + + [i_phaBC] - + @@ -1593,29 +1550,52 @@ - - - + + + - - + + - - + + - - [task2] + + u1 + + + + + + + + if(u1 == CTRL_FOC) - - + + + + + + + + + + + + + + + + + action @@ -1626,28 +1606,28 @@ - - + + - + - + - - [z_ctrlModReq] + + [a_elecAngle] - + @@ -1659,28 +1639,28 @@ - - + + - + - - + + - - [a_elecAngle] + + [VqFinPrev] - + @@ -1692,29 +1672,52 @@ - - - + + + - - + + - - + + - - [i_phaAB] + + u1 + + + + + + + + if(u1 ~= 0) - - + + + + + + + + + + + + + + + + + action @@ -1725,28 +1728,28 @@ - - + + - + - - + + - - [n_motAbs] + + [DC_phaA] - + @@ -1759,27 +1762,27 @@ - + - + - + - + [b_motStdStill] - + @@ -1791,44 +1794,76 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + [r_devSignal1] - - + + - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - uint8 + + Motor_winding + + + + + + + + + + + + + + @@ -1839,44 +1874,43 @@ - - - + + + - - + + + + + + + + + - - + + - - [b_hallA] + + Implemented_control_methods - - - + + + - - - - - - - - - - - uint8 + + + @@ -1887,43 +1921,43 @@ - - + + - + - + - + [z_ctrlTypSel] - + - + - - + + - + uint8 @@ -1935,44 +1969,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_devSignal1] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1983,43 +2017,43 @@ - - + + - + - + - - [r_devSignal2] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -2031,76 +2065,43 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + [task2] - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - + + - + - - + + - + boolean @@ -2112,44 +2113,52 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - + + - - + + - - sfix16_En4 + + action @@ -2160,44 +2169,44 @@ - - + + - + - + - - [task2] + + [n_mot] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -2208,44 +2217,44 @@ - - + + - + - + - - [n_mot] + + [DC_phaC] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -2256,28 +2265,28 @@ - - + + - + - + - - [b_hallC] + + [i_phaAB] - + @@ -2289,44 +2298,44 @@ - - + + - + - + - - [a_elecAngle] + + [z_errCode] - + - - + + - - + + - - sfix16_En6 + + uint8 @@ -2337,29 +2346,44 @@ - - - + + + - - + + - - + + - - [z_errCode] + + [b_hallB] - - + + + + + + + + + + + + + + + + + uint8 @@ -2370,44 +2394,44 @@ - - + + - + - + - - [DC_phaB] + + [n_motAbs] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -2418,44 +2442,44 @@ - - + + - + - + - - [DC_phaA] + + [r_inpTgt] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -2466,44 +2490,44 @@ - - + + - + - + - - [b_hallC] + + [VqFinPrev] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2514,28 +2538,28 @@ - - + + - + - + - - [DC_phaA] + + [b_hallC] - + @@ -2547,44 +2571,44 @@ - - + + - + - + - - [z_errCode] + + [r_inpTgt] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2595,44 +2619,62 @@ - - - + + + - - + + - - + + - - [task1] + + [n_mot] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [task1] + + + + + + + @@ -2643,44 +2685,44 @@ - - + + - + - + - - [VqFinPrev] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2691,44 +2733,44 @@ - - + + - + - + - - [a_elecAngle] + + [z_dir] - + - - + + - - + + - - sfix16_En6 + + int8 @@ -2739,44 +2781,44 @@ - - + + - + - + - - [r_inpTgt] + + [task1] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2787,44 +2829,44 @@ - - + + - + - + - - [z_dir] + + [r_fieldWeak] - + - - + + - - + + - - int8 + + sfix16_En4 @@ -2835,44 +2877,44 @@ - - + + - + - + - - [z_ctrlModReq] + + [task2] - + - - + + - - + + - - uint8 + + boolean @@ -2883,44 +2925,44 @@ - - + + - + - + - - [n_mot] + + [b_motEna] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2931,43 +2973,43 @@ - - + + - + - + - - [task3] + + [b_motEna] - + - + - - + + - + boolean @@ -2979,44 +3021,44 @@ - - + + - + - + - - [r_fieldWeak] + + [z_posRaw] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -3027,44 +3069,44 @@ - - + + - + - + - - [r_fieldWeak] + + [DC_phaB] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -3075,44 +3117,44 @@ - - + + - + - + - - [i_phaAB] + + [task1] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -3123,43 +3165,43 @@ - - + + - + - + - - [r_devSignal1] + + [r_devSignal2] - + - + - - + + - + sfix16_En4 @@ -3171,92 +3213,29 @@ - - - - - - - - - - - - - - - - [task2] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - + + + - - + + - - + + - + [b_motEna] - - - - - - - - - - - - - - - - - boolean + + @@ -3267,44 +3246,44 @@ - - + + - + - + - - [b_motEna] + + [z_ctrlTypSel] - + - - + + - - + + - - boolean + + uint8 @@ -3316,7 +3295,7 @@ - + @@ -3325,113 +3304,113 @@ - + - + - + b_enaAdvCtrl - + - + z_ctrlTypSel - + - + z_pos - + - + V_phaABC_FOC - + - + Vq - + - + r_inpTgtSca - + - + a_elecAngle - + - + z_dir - + - + r_fieldWeak - + - + DC_phaA - + - + DC_phaB - + - + DC_phaC - + - + VqFinPrev @@ -3444,7 +3423,7 @@ - + @@ -3457,15 +3436,15 @@ - + - - + + - + F06_Control_Type_Management @@ -3478,16 +3457,16 @@ - - + + - - + + - - sfix16_En4 + + int16 @@ -3499,15 +3478,15 @@ - + - - + + - + int16 @@ -3520,16 +3499,16 @@ - - + + - - + + - - int16 + + sfix16_En4 @@ -3541,15 +3520,15 @@ - + - - + + - + int16 @@ -3561,50 +3540,50 @@ - + - + - + - + - - [b_hallB] + + [DC_phaA] - + - + - - + + - - uint8 + + int16 @@ -3615,43 +3594,43 @@ - - + + - + - + - - [z_ctrlTypSel] + + [b_hallC] - + - + - - + + - + uint8 @@ -3663,29 +3642,76 @@ - - - + + + - - + + - + - - + + - - [i_phaBC] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3696,44 +3722,44 @@ - - + + - + - + - - [DC_phaC] + + [a_elecAngle] - + - - + + - - + + - - int16 + + sfix16_En6 @@ -3744,136 +3770,92 @@ - - - + + + - - - - - - - - + + - - - - - - - z_ctrlTypSel - - - - - - - - r_inpTgt - - - - - - - - n_motAbs - - - - - - r_fieldWeak - - - - + - - if { } + + [b_motStdStill] - - - - - - - - + + - - - - - - - - - + + + - - + + - - F04_Field_Weakening + + boolean - - - - - - - - - - + + + + + + + + + + + + + + + - + - - action + + [z_pos] + + + + + + + - - - - - - - - + + - + - - sfix16_En4 + + int8 @@ -3884,50 +3866,29 @@ - - - - - - - - - + + + - - + + - + - - [a_elecAngle] + + [n_motAbs] - - - - - - - - - - - - - - - - - sfix16_En6 + + @@ -3938,44 +3899,44 @@ - - + + - + - + - - [task1] + + [VqFinPrev] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -3986,29 +3947,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [a_elecAngle] - - + + + + + + + + + + + + + + + + + sfix16_En6 @@ -4019,11 +3995,11 @@ - - + + - + @@ -4033,30 +4009,30 @@ - - [i_phaBC] + + [z_ctrlTypSel] - + - - + + - + - - sfix16_En4 + + uint8 @@ -4068,16 +4044,16 @@ - - + + - + - + @@ -4087,7 +4063,7 @@ - + z_posRaw @@ -4095,7 +4071,7 @@ - + b_motStdStill @@ -4103,7 +4079,7 @@ - + VqFinPrev @@ -4111,7 +4087,7 @@ - + z_errCode @@ -4119,7 +4095,7 @@ - + b_errFlag @@ -4127,7 +4103,7 @@ - + if { } @@ -4135,12 +4111,12 @@ - + - + @@ -4148,20 +4124,20 @@ - + - + - + - + F02_Diagnostics @@ -4169,20 +4145,20 @@ - + - + - + - + action @@ -4190,42 +4166,42 @@ - + - - + + - + - - boolean + + uint8 - + - - + + - + - - uint8 + + boolean @@ -4236,50 +4212,50 @@ - + - + - - + + - - + + - + - - z_ctrlTypSel + + [a_elecAngle] - - + + - - + + - + - - uint8 + + sfix16_En6 @@ -4290,29 +4266,44 @@ - - - + + + - - + + - + - - [DC_phaB] + + [b_motStdStill] - - + + + + + + + + + + + + + + + + + boolean @@ -4323,44 +4314,29 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + [task3] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4371,162 +4347,154 @@ - - - + + + - + - - + + - + - - b_hallA + + b_errFlag - + - - b_hallB + + b_motStdStill - + - - b_hallC + + b_motEna - + - - z_posRaw + + z_ctrlTypSel - + - - z_pos + + z_ctrlModReq - + - - z_dir + + r_inpTgt - + - - n_mot + + VqFinPrev - + - - n_motAbs + + z_ctrlMod - + - - a_elecAngle + + r_inpTgtSca - - - - - b_motStdStill - - - - + - - b_enaAdvCtrl + + if { } - + - - + + - + - - + + - - + + - - F01_Estimations + + F03_Control_Mode_Manager - + - + - - + + - + uint8 @@ -4534,147 +4502,236 @@ - + - - + + - - + + - - int8 + + sfix16_En4 - + - - + + - - + + - - sfix16_En6 + + action - + + + + + + + + + + + + + + + + + + + + + - - - - + + + - + + [n_mot] + + + + + + + + + + + + + - - + + - + sfix16_En4 - + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + z_ctrlTypSel - - + + - - boolean + + r_inpTgt + + + + + + + + n_motAbs + + + + + + + + r_fieldWeak + + + + + + + + if { } - + - + - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + F04_Field_Weakening - + - - + + - - + + - - int8 + + action - + - - + + - - + + - - boolean + + sfix16_En4 @@ -4685,36 +4742,36 @@ - + - + - + - + - + - + - - + + - - + + @@ -4728,23 +4785,23 @@ - + - - + + - - + + - - int16 + + sfix16_En4 @@ -4755,29 +4812,44 @@ - - - + + + - - + + - - + + - - [z_posRaw] + + [task3] - - + + + + + + + + + + + + + + + + + boolean @@ -4788,44 +4860,44 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + DC_phaA @@ -4836,60 +4908,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - - - - int16 + + @@ -4900,29 +4941,29 @@ - - + + - + - + - + - + - + @@ -4937,22 +4978,22 @@ - + - + - - + + - + int16 @@ -4964,52 +5005,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + CTRL_COM - - + + - - + + - - + + - - action + + uint8 @@ -5020,303 +5053,295 @@ - - - + + + - - + + + + + + + + - - + + - - [VqFinPrev] + + b_enaAdvCtrl - - - - - - + + + + + + + z_ctrlMod - - - - - - + + + + + + + r_inpTgtSca - - + + - - sfix16_En4 + + task2 - - - - - - - - - - - - - - - - - - - - + + - - [b_hallA] + + task3 - - - - - - + + + + + + + b_motEna - - - - - - - - - - - - - - - - - - - - + + - - [z_posRaw] + + n_mot - - - - - - + + + + + + + n_motAbs - - - - - - + + + + + + + r_fieldWeak - - + + - - uint8 + + a_elecAngle - - - - - - - - - - - - - - - - - - - - + + - - [r_devSignal1] + + i_phaAB - - - - - - + + + + + + + i_phaBC - - - - - - - - - - - - - - - - - - - - + + - - 3 + + V_phaABC_FOC + + + + + + + + Vq + + + + + + + + r_devSignal1 + + + + + + + + r_devSignal2 + + + + + + + + if { } - - + + + + + + + + - - + + + + + + + + - - + + - - DC_phaC + + F05_Field_Oriented_Control - - - - - - - - - - - - - - - + - - - + + + + - - + + - - + + - - + + action - - - - - - - - - - - + + + + + + + + + + + + + + + + + sfix16_En4 - - + + + + + + + + - - + + - - int16 + + sfix16_En4 - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - [r_fieldWeak] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -5327,51 +5352,41 @@ - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + + + + @@ -5380,23 +5395,8 @@ - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -5407,44 +5407,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [i_phaBC] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -5455,44 +5455,59 @@ - - + + - + - + - + 7 - + - - + + - - + + - - r_devSignal1 + + i_phaAB + + + + + + + + + + + + + + + int16 @@ -5503,29 +5518,59 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + 5 - - + + + + + + + + + + + + + + + + + b_hallB + + + + + + + + + + + + + + + uint8 @@ -5536,43 +5581,58 @@ - - - + + + - - + + - - + + - - CTRL_COM + + 6 - - + + + + + + + + + + + + + + + + + b_hallC - + - - + + - + uint8 @@ -5584,30 +5644,30 @@ - - + + - + - + - + - - + + - - + + @@ -5621,23 +5681,23 @@ - + - - + + - - + + - - sfix16_En4 + + int16 @@ -5648,59 +5708,59 @@ - - - + + + - - + + - - + + - - 6 + + b_fieldWeakEna - - + + - - + + - - + + - - b_hallC + + b_fieldWeakEna - - + + - - + + - - uint8 + + boolean @@ -5711,58 +5771,59 @@ - - - + + + - - + + - + - - + + - - 9 + + + + + + + + + + - - - - + - - - - - - - - - - - i_DCLink + + + + + + + - + - - + + - + int16 @@ -5774,59 +5835,76 @@ - - - + + + - - + + - + - - + + - - 5 + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - b_hallB + + + + + + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -5837,210 +5915,225 @@ - - - + + + - + - - + + - - - - - - b_enaAdvCtrl - - - - + + - - z_ctrlMod + + b_hallA - - + + - - r_inpTgtSca + + b_hallB - - + + - - task2 + + b_hallC - - + + - - task3 + + z_posRaw - - + + - - b_motEna + + z_pos - - + + - - n_mot + + z_dir - - + + - - n_motAbs + + n_mot - - + + - - r_fieldWeak + + n_motAbs - - + + - - a_elecAngle + + a_elecAngle - - + + - - i_phaAB + + b_motStdStill - - + + - - i_phaBC + + b_enaAdvCtrl + + + + - - - + + + + - - V_phaABC_FOC + + + + + + - - - + + + + - - Vq + + - - + + - - r_devSignal1 + + F01_Estimations + + + + - - - + + + + - - r_devSignal2 + + - - + + - - if { } + + sfix16_En4 - + - + - - + + + + + + + + + + sfix16_En6 - + - + - - + + - - + + - - F05_Field_Oriented_Control + + int8 - + - + - - + + - + sfix16_En4 @@ -6048,84 +6141,84 @@ - + - - + + - - + + - - sfix16_En4 + + uint8 - + - - + + - - + + - - action + + int8 - + - - + + - - + + - - sfix16_En4 + + boolean - + - - + + - - + + - - sfix16_En4 + + boolean @@ -6136,13 +6229,109 @@ - + - + + + + + + + + + + + + + + + + [z_errCode] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + i_phaBC + + + + + + + + + + + + + + + int16 + + + + + + + + + + + @@ -6152,11 +6341,11 @@ - + - + 4 @@ -6174,11 +6363,11 @@ - - + + - + b_hallA @@ -6189,11 +6378,11 @@ - - + + - + uint8 @@ -6205,52 +6394,29 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [b_hallA] - - - - - - - - - - - - - - - - - action + + @@ -6261,30 +6427,30 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -6298,23 +6464,23 @@ - - + + - - + + - - + + - - boolean + + int16 @@ -6325,197 +6491,44 @@ - - - + + + - - - - - - - - + + - - - - - - - b_errFlag - - - - - - - - b_motStdStill - - - - - - - - b_motEna - - - - - - - - z_ctrlTypSel - - - - - - - - z_ctrlModReq - - - - - - - - r_inpTgt - - - - - - - - VqFinPrev - - - - - - - - z_ctrlMod - - - - - - - - r_inpTgtSca - - + - - if { } + + 3 - - - - - - - - + + - - - - - - - - + + - - - - - F03_Control_Mode_Manager - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - + - - uint8 + + DC_phaC @@ -6527,12 +6540,6 @@ - - - - - - @@ -6542,11 +6549,11 @@ - + - + 3 @@ -6564,11 +6571,11 @@ - - + + - + r_inpTgt @@ -6579,11 +6586,11 @@ - - + + - + int16 @@ -6595,58 +6602,58 @@ - - + + - + - + - - 8 + + 9 - + - - + + - - + + - - i_phaBC + + i_DCLink - + - - + + - + int16 @@ -6658,59 +6665,29 @@ - - - - - - - - - - - - - - - - 2 - - - - - - - - - + + + + + + - - - - + - - + + - - z_ctrlModReq + + [z_dir] - - - - - - - - - - - uint8 + + + @@ -6721,44 +6698,44 @@ - - - + + + - - + + - - + + - - 1 + + [r_fieldWeak] - - + + - - - + + + - - + + - - DC_phaA + + sfix16_En4 @@ -6769,44 +6746,44 @@ - - + + - + - + - - [b_motStdStill] + + [i_phaAB] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -6817,59 +6794,44 @@ - - - + + + - - + + - - + + - - 7 + + [b_hallA] - - - - - - - - - - - - - - - - - i_phaAB + + - + - - + + - - int16 + + uint8 @@ -6880,43 +6842,59 @@ - - - + + + - - + + + + + + + + + 2 + + + + + + + + - - + + - - + + - - Implemented_control_methods + + z_ctrlModReq - - - + + + - - - - - - + + + + + + + uint8 @@ -6927,44 +6905,44 @@ - - + + - + - + - - [z_pos] + + [z_ctrlTypSel] - + - - + + - - + + - - int8 + + uint8 @@ -6985,11 +6963,11 @@ - + - + 1 @@ -7007,11 +6985,11 @@ - - + + - + b_motEna @@ -7022,11 +7000,11 @@ - - + + - + boolean @@ -7038,28 +7016,28 @@ - - + + - + - - + + - - [r_devSignal2] + + [DC_phaC] - + @@ -7071,28 +7049,76 @@ - - + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + - + - + - - [b_hallB] + + [r_fieldWeak] - + @@ -7104,29 +7130,29 @@ - - - + + + - - + + - - + + - - + + - + - + @@ -7136,61 +7162,61 @@ + + + + + + + + + + + - + - + - + boolean - - - - - - - - - - - - - - + + + - - + + - - + + - - + + - + - + @@ -7200,32 +7226,32 @@ - - - - - - - - - - - - + - - + + - + boolean + + + + + + + + + + + @@ -7233,11 +7259,11 @@ - + - + @@ -7247,11 +7273,11 @@ - + - + @@ -7261,11 +7287,11 @@ - + - + @@ -7275,11 +7301,11 @@ - + - + @@ -7289,11 +7315,11 @@ - + - + @@ -7303,11 +7329,11 @@ - + - + @@ -7317,11 +7343,11 @@ - + - + @@ -7331,11 +7357,11 @@ - + - + @@ -7345,11 +7371,11 @@ - + - + @@ -7359,11 +7385,11 @@ - + - + @@ -7373,11 +7399,11 @@ - + - + @@ -7387,11 +7413,11 @@ - + - + @@ -7401,11 +7427,11 @@ - + - + @@ -7415,11 +7441,11 @@ - + - + @@ -7429,11 +7455,11 @@ - + - + @@ -7443,11 +7469,11 @@ - + - + @@ -7457,11 +7483,11 @@ - + - + @@ -7471,11 +7497,11 @@ - + - + @@ -7485,11 +7511,11 @@ - + - + @@ -7499,11 +7525,11 @@ - + - + @@ -7513,11 +7539,11 @@ - + - + @@ -7527,11 +7553,11 @@ - + - + @@ -7541,11 +7567,11 @@ - + - + @@ -7569,11 +7595,11 @@ - + - + @@ -7583,11 +7609,11 @@ - + - + @@ -7597,11 +7623,11 @@ - + - + @@ -7611,11 +7637,11 @@ - + - + @@ -7625,11 +7651,11 @@ - + - + @@ -7639,11 +7665,11 @@ - + - + @@ -7653,11 +7679,11 @@ - + - + @@ -7667,11 +7693,11 @@ - + - + @@ -7695,32 +7721,32 @@ - + - + - + - + - + - + @@ -7729,11 +7755,11 @@ - + - + @@ -7771,11 +7797,11 @@ - + - + @@ -7785,11 +7811,11 @@ - + - + @@ -7799,11 +7825,11 @@ - + - + @@ -7813,11 +7839,11 @@ - + - + @@ -7827,11 +7853,11 @@ - + - + @@ -7855,11 +7881,11 @@ - + - + @@ -7883,11 +7909,11 @@ - + - + @@ -7897,11 +7923,11 @@ - + - + @@ -7911,11 +7937,11 @@ - + - + @@ -7925,11 +7951,11 @@ - + - + @@ -7953,11 +7979,11 @@ - + - + @@ -7967,11 +7993,11 @@ - + - + @@ -7981,11 +8007,11 @@ - + - + @@ -7995,11 +8021,11 @@ - + - + @@ -8009,11 +8035,11 @@ - + - + @@ -8023,11 +8049,11 @@ - + - + @@ -8037,11 +8063,11 @@ - + - + @@ -8051,11 +8077,11 @@ - + - + @@ -8065,11 +8091,11 @@ - + - + @@ -8079,11 +8105,11 @@ - + - + @@ -8093,11 +8119,11 @@ - + - + @@ -8107,11 +8133,11 @@ - + - + @@ -8121,11 +8147,11 @@ - + - + @@ -8135,11 +8161,11 @@ - + - + @@ -8150,31 +8176,31 @@ - + - + - + - + - + - + @@ -8211,11 +8237,11 @@ - + - + @@ -8225,11 +8251,11 @@ - + - + @@ -8239,11 +8265,11 @@ - + - + @@ -8253,11 +8279,11 @@ - + - + @@ -8267,11 +8293,11 @@ - + - + @@ -8281,11 +8307,11 @@ - + - + @@ -8295,11 +8321,11 @@ - + - + @@ -8309,11 +8335,11 @@ - + - + @@ -8323,11 +8349,11 @@ - + - + @@ -8337,11 +8363,11 @@ - + - + @@ -8351,11 +8377,11 @@ - + - + @@ -8365,11 +8391,11 @@ - + - + @@ -8379,11 +8405,11 @@ - + - + @@ -8393,11 +8419,11 @@ - + - + @@ -8407,11 +8433,11 @@ - + - + @@ -8421,11 +8447,11 @@ - + - + @@ -8435,11 +8461,11 @@ - + - + @@ -8449,11 +8475,11 @@ - + - + @@ -8463,11 +8489,11 @@ - + - + @@ -8477,11 +8503,11 @@ - + - + @@ -8491,11 +8517,11 @@ - + - + @@ -8505,11 +8531,11 @@ - + - + @@ -8574,5 +8600,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 71ba30cb001fe2e8860775db3c910df3bc10dfa4..0d3cd53f8919a4886951977c76262b4a0d2a4701 100644 GIT binary patch delta 19 acmaDM`9gAn4u_nGis@801&)m-TX+CL90mFS delta 19 acmaDM`9gAn4hN60IDbT)sPsmYEj$1|9tF1m 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 d81e028..8a5a1ea 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 @@ -1352,11 +1352,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8467", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1385,7 +1385,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "8", "Port number", "[]", "[]", @@ -1398,9 +1398,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -1432,11 +1432,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaAdvCtrl", - "label":"b_enaAdvCtrl", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1465,7 +1465,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "7", "Port number", "[]", "[]", @@ -1478,9 +1478,9 @@ "auto", "off", "off", - "[]", + "0", "off", - "held", + "reset", "off", "0", "", @@ -1512,11 +1512,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9933", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8467", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1545,7 +1545,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "6", "Port number", "[]", "[]", @@ -1592,11 +1592,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1625,7 +1625,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "5", "Port number", "[]", "[]", @@ -1672,74 +1672,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_posRaw", - "label":"z_posRaw", + "name":"Goto9", + "label":"Goto9", "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", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "z_dirPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1747,7 +1700,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, @@ -1851,11 +1804,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1864,7 +1817,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "n_motAbs", "local", "Tag" ], @@ -1884,11 +1837,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1897,7 +1850,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "a_elecAngle", "local", "Tag" ], @@ -1917,11 +1870,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1929,7 +1882,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "z_posRaw", "Tag" ], "tabs":[ @@ -1948,11 +1901,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1960,7 +1913,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1979,11 +1932,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1991,7 +1944,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -2010,11 +1963,11 @@ } }, { - "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":[ @@ -2022,7 +1975,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "z_counter", "Tag" ], "tabs":[ @@ -2041,11 +1994,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2053,7 +2006,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "z_dir", "Tag" ], "tabs":[ @@ -2072,25 +2025,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"z_posRaw", + "label":"z_posRaw", "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":[ - "a_elecAngle", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "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" @@ -2098,16 +2100,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2115,7 +2117,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_pos", "Tag" ], "tabs":[ @@ -2134,11 +2136,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2146,7 +2148,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "z_dirPrev", "Tag" ], "tabs":[ @@ -2164,6 +2166,113 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From14", + "label":"From14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_motAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8457", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_counter", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "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:8384", "className":"Simulink.SubSystem", @@ -2262,11 +2371,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2274,7 +2383,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "a_elecAngle", "Tag" ], "tabs":[ @@ -2293,11 +2402,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2305,7 +2414,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -2324,11 +2433,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2336,7 +2478,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "z_counterRaw", "Tag" ], "tabs":[ @@ -2355,21 +2497,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9932", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", - "local", + "z_dir", "Tag" ], "tabs":[ @@ -2383,16 +2523,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9933", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2421,7 +2561,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -2467,146 +2607,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8457", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_counter", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_enaAdvCtrl", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:9932", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_dir", - "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 0813437beb96a6c7f10abeb7ead042bd25292f27..d8e6a914c42ac6373241e26d3810e9a3fe53b20c 100644 GIT binary patch delta 9845 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 oUkqy~!Gu-DKllIrNy~Jm(*1d!J<^ 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 - + @@ -771,7 +771,7 @@ - + @@ -1110,7 +1110,7 @@ - + @@ -1239,16 +1239,16 @@ - - + + - + - - sfix16_En4 + + int16 @@ -1302,16 +1302,16 @@ - - + + - + - - int16 + + boolean @@ -1323,15 +1323,15 @@ - + - + - + int16 @@ -1344,16 +1344,16 @@ - - + + - + - - boolean + + sfix16_En4 @@ -1372,7 +1372,7 @@ - + @@ -1469,16 +1469,16 @@ - - + + - + - - int8 + + uint8 @@ -1490,16 +1490,16 @@ - - + + - + - - uint8 + + int8 @@ -1789,11 +1789,11 @@ - - + + - + @@ -1803,30 +1803,30 @@ - - 6 + + 8 - + - - + + - + - - a_elecAngle + + b_enaAdvCtrl @@ -1837,11 +1837,11 @@ - - + + - + @@ -1851,30 +1851,30 @@ - - 8 + + 7 - + - - + + - + - - b_enaAdvCtrl + + b_motStdStill @@ -1885,11 +1885,11 @@ - - + + - + @@ -1899,30 +1899,30 @@ - - 3 + + 6 - + - - + + - + - - z_dir + + a_elecAngle @@ -1933,11 +1933,11 @@ - - + + - + @@ -1947,30 +1947,30 @@ - - 7 + + 5 - + - - + + - + - - b_motStdStill + + n_motAbs @@ -1981,44 +1981,29 @@ - - - + + + - - + + - + - - 1 + + [z_dirPrev] - - - - - - - - - - - - - - - - - z_posRaw + + @@ -2039,11 +2024,11 @@ - + - + [z_posRaw] @@ -2072,11 +2057,11 @@ - + - + [z_counterRaw] @@ -2105,11 +2090,11 @@ - + - + [b_motStdStill] @@ -2126,6 +2111,39 @@ + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + @@ -2138,11 +2156,11 @@ - + - + [a_elecAngle] @@ -2161,29 +2179,44 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [z_posRaw] - - + + + + + + + + + + + + + + + + + uint8 @@ -2204,11 +2237,11 @@ - + - + [b_motStdStill] @@ -2226,11 +2259,11 @@ - + - + boolean @@ -2252,11 +2285,11 @@ - + - + [b_enaAdvCtrl] @@ -2274,11 +2307,11 @@ - + - + boolean @@ -2300,11 +2333,11 @@ - + - + [z_counter] @@ -2322,11 +2355,11 @@ - + - + int16 @@ -2338,44 +2371,44 @@ - - + + - + - + - - [b_enaAdvCtrl] + + [z_dir] - + - - + + - - + + - - boolean + + int8 @@ -2386,44 +2419,44 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + 1 - - + + - - - + + + - - + + - - int8 + + z_posRaw @@ -2434,44 +2467,44 @@ - - + + - + - + - - [a_elecAngle] + + [z_pos] - + - - + + - - + + - - sfix16_En6 + + int8 @@ -2482,43 +2515,43 @@ - - + + - + - + - - [z_dir] + + [z_dirPrev] - + - + - - + + - + int8 @@ -2530,44 +2563,133 @@ - - + + - + - + - - [z_counterRaw] + + [n_motAbs] - + - - + + - - + + - - int16 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action @@ -2580,7 +2702,7 @@ - + @@ -2594,51 +2716,51 @@ - + - + z_pos - + - + z_dir - + - + z_counter - + - + z_counterRaw - + - + b_enaAdvCtrl - + - + a_elecAngle @@ -2668,11 +2790,11 @@ - + - + F01_05_Electrical_Angle_Estimation @@ -2689,11 +2811,11 @@ - + - + sfix16_En6 @@ -2705,98 +2827,50 @@ - + - - - - - - - - - - - - - - - [z_pos] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - + - + - + - - [n_motAbs] + + [a_elecAngle] - + - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -2807,44 +2881,44 @@ - - + + - + - + - - [z_posRaw] + + [b_enaAdvCtrl] - + - - + + - - + + - - uint8 + + boolean @@ -2855,28 +2929,28 @@ - - + + - + - + - - [n_motAbs] + + [b_enaAdvCtrl] - + @@ -2888,110 +2962,44 @@ - - - + + + - - + + - - + + - - 5 + + [z_counterRaw] - - - - - - - - - - - - - - - - - n_motAbs - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - [b_enaAdvCtrl] - - - - - - - + + int16 @@ -3002,52 +3010,44 @@ - - - + + + - - + + - - - - - - - u1 - - + - - if(u1 ~= 0) + + [z_dir] - - + + - - + + - + - - action + + int8 @@ -3058,44 +3058,44 @@ - - - + + + - - + + - + - - [z_dir] + + 3 - - + + - - - + + + - + - - int8 + + z_dir @@ -3666,5 +3666,5 @@ - + 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 af607fa..55539fa 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 @@ -499,32 +499,32 @@
- - - + + + - + - - uint8 + + Ini=0 - - - + + + - + - - Ini=0 + + uint8 @@ -537,7 +537,7 @@ - + @@ -757,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 3a394a6..1e10a80 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 @@ -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 07f089d..1f0a093 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 @@ -723,6 +723,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:8260", "className":"Simulink.UnitDelay", @@ -773,37 +804,6 @@ "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 b9bcf3c..307f312 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 @@ -906,6 +906,54 @@ + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + @@ -918,35 +966,35 @@ - + - + - + - + - + - + - + - + @@ -972,11 +1020,11 @@ - + - + Ini=0 @@ -987,11 +1035,11 @@ - + - + int8 @@ -1001,54 +1049,6 @@ - - - - - - - - - - - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - 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 f3ddefb..acbe4bc 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 @@ -685,11 +685,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaAdvCtrl", - "label":"b_enaAdvCtrl", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -718,7 +718,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "5", "Port number", "[]", "[]", @@ -731,9 +731,9 @@ "auto", "off", "off", - "[]", + "0", "off", - "held", + "reset", "off", "0", "", @@ -765,11 +765,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_counterRaw", + "label":"z_counterRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -798,7 +798,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -845,11 +845,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counterRaw", - "label":"z_counterRaw", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -878,7 +878,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -925,11 +925,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8373", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"z_maxCntRst", - "label":"z_maxCntRst", + "name":"z_maxCntRst2", + "label":"z_maxCntRst2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -973,110 +973,6 @@ "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:8372", - "className":"Simulink.Relay", - "icon":"WebViewIcon3", - "name":"n_commDeacv", - "label":"n_commDeacv", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "SampleTime", - "ZeroCross" - ], - "values":[ - "n_commDeacvHi", - "n_commAcvLo", - "1", - "0", - "Elements as channels (sample based)", - "[]", - "[]", - "boolean", - "off", - "-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:8371", "className":"Simulink.UnitDelay", @@ -1178,63 +1074,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "Threshold", + "ZeroCross" ], "values":[ - "3", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "Inherit: Inherit via back propagation", "off", - "0", + "Zero", "off", - "reset", "off", + "-1", "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", @@ -1243,8 +1116,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -1253,7 +1126,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Switch", "masktype":"" } }, @@ -1348,51 +1221,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Mux3", + "label":"Mux3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "Inputs", + "DisplayOption" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" + "2", + "bar" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1400,7 +1247,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Mux", "masktype":"" } }, @@ -1436,12 +1283,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8311", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9429", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8311", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux1", + "label":"Mux1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "Inputs", @@ -1467,27 +1363,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "n_mot", - "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" @@ -1495,16 +1401,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1513,7 +1419,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "b_motStdStill", "local", "Tag" ], @@ -1533,43 +1439,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_maxCntRst2", - "label":"z_maxCntRst2", + "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" @@ -1577,16 +1467,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1595,7 +1485,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "n_motAbsPrev", "local", "Tag" ], @@ -1615,11 +1505,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1628,7 +1518,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_dirPrev", "local", "Tag" ], @@ -1681,11 +1571,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1693,7 +1583,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "dz_trnsDet", "Tag" ], "tabs":[ @@ -1712,11 +1602,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1724,7 +1614,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "n_motRaw", "Tag" ], "tabs":[ @@ -1743,37 +1633,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "z_counterRaw", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1781,16 +1659,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1798,7 +1676,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "n_motAbs", "Tag" ], "tabs":[ @@ -1848,11 +1726,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1860,7 +1738,7 @@ "IconDisplay" ], "values":[ - "n_motRaw", + "z_dirPrev", "Tag" ], "tabs":[ @@ -1879,11 +1757,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1892,7 +1770,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "z_counter", "local", "Tag" ], @@ -1912,11 +1790,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1924,7 +1802,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -1943,11 +1821,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1956,7 +1834,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "n_motAbs", "local", "Tag" ], @@ -1976,19 +1854,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "n_mot", + "local", "Tag" ], "tabs":[ @@ -2002,16 +1882,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2019,7 +1899,7 @@ "IconDisplay" ], "values":[ - "n_motAbsPrev", + "b_edge", "Tag" ], "tabs":[ @@ -2038,74 +1918,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"From17", + "label":"From17", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "z_counterRawPrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2113,16 +1944,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2130,7 +1961,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_counterRaw", "Tag" ], "tabs":[ @@ -2149,11 +1980,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2162,7 +1993,7 @@ "IconDisplay" ], "values":[ - "n_motAbsPrev", + "b_enaAdvCtrl", "local", "Tag" ], @@ -2182,25 +2013,49 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"n_commDeacv", + "label":"n_commDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "SampleTime", + "ZeroCross" ], "values":[ - "z_counterRawPrev", - "Tag" + "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" @@ -2208,16 +2063,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2225,7 +2080,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_dir", "Tag" ], "tabs":[ @@ -2244,11 +2099,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2256,7 +2111,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "n_motAbsPrev", "Tag" ], "tabs":[ @@ -2275,25 +2130,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8270", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Mux3", - "label":"Mux3", + "name":"Constant4", + "label":"Constant4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "2", - "bar" + "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" @@ -2301,30 +2174,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "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":[ - "b_edge", - "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" @@ -2332,30 +2254,46 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "z_counterRaw", - "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" @@ -2363,16 +2301,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2380,7 +2318,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "n_motAbs", "Tag" ], "tabs":[ @@ -2430,94 +2368,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8281", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_enaAdvCtrl", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8270", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8267", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", + "name":"z_dirPrev", + "label":"z_dirPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "0", + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", "off", - "inf" + "off", + "off" ], "tabs":[ "Main", @@ -2526,8 +2420,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -2536,36 +2430,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "z_cntInit" + "GotoTag", + "IconDisplay" ], "values":[ - "z_maxCntRst" + "z_counter", + "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":"" } }, @@ -2667,50 +2563,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8267", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Port", - "IconDisplay", + "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: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", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "3", - "Port number", + "z_maxCntRst", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -2719,8 +2628,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -2729,7 +2638,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, @@ -2765,40 +2674,104 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"From18", + "label":"From18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "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":{ @@ -2807,26 +2780,53 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", - "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:8286", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", - "local", + "n_motAbs", "Tag" ], "tabs":[ @@ -2840,7 +2840,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_8263_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.png index a2c92c3a0901a0e7a3ce6c376f62ca724aa8dd8f..56f3b064164c3901dcc4dbca836d7613ff75ce68 100644 GIT binary patch delta 6404 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 TtjsM=ftUVmW1TW>rzigdU@wyK delta 6125 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 - + @@ -679,54 +679,6 @@ - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - b_enaAdvCtrl - - - - - - - - @@ -739,11 +691,11 @@ - + - + 5 @@ -761,11 +713,11 @@ - + - + b_motStdStill @@ -787,11 +739,11 @@ - + - + 4 @@ -809,11 +761,11 @@ - + - + z_counterRaw @@ -825,44 +777,44 @@ - - - + + + - - + + - - + + - - z_maxCntRst + + 3 - - + + - - - + + + - - + + - - int16 + + z_counter @@ -873,170 +825,44 @@ - - + + - + - + - - n_stdStillDet + + z_maxCntRst - + - - - - - - - - - - - n_stdStillDet - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n_commDeacv - - - - - - + + - - + + - - boolean + + int16 @@ -1057,35 +883,35 @@ - + - + - + - + - + - + - + - + @@ -1111,11 +937,11 @@ - + - + sfix16_En4 @@ -1126,11 +952,11 @@ - + - + Ini=0 @@ -1152,35 +978,35 @@ - + - + - + - + - + - + - + - + @@ -1201,32 +1027,32 @@ - - - + + + - - + + - - Ini=z_maxCntRst + + int16 - - - + + + - - + + - - int16 + + Ini=z_maxCntRst @@ -1237,341 +1063,165 @@ - - - + + + - - + + - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - z_counter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -1589,11 +1239,11 @@ - + - + sfix16_En4 @@ -1605,44 +1255,60 @@ - - - + + + - - + + - + - - + + - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -1653,44 +1319,60 @@ - - - + + + - - + + - + - - + + - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int16 + + boolean @@ -1701,62 +1383,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [dz_trnsDet] - - - - - - - + + boolean @@ -1767,77 +1431,44 @@ - - - + + + - - + + - - + + - - z_maxCntRst + + - - + + - - - - - - - - - - int16 + + - - - - - - - - - - - - - - - - - - - - + + - - [z_dirPrev] - - - - - - - + + sfix16_En4 @@ -1848,109 +1479,58 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + n_stdStillDet - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motRaw] + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - [n_motAbs] - - - - - - - + + n_stdStillDet - + - - + + - + sfix16_En4 @@ -1962,44 +1542,44 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + - - + + - - + + - - + + - - boolean + + int16 @@ -2020,19 +1600,19 @@ - + - + u1 - + - + if(u1 ~= 0) @@ -2050,11 +1630,11 @@ - + - + action @@ -2066,44 +1646,29 @@ - - - + + + - - + + - - + + - - [z_counterRaw] + + [b_motStdStill] - - - - - - - - - - - - - - - - - int16 + + @@ -2114,44 +1679,29 @@ - - - + + + - - + + - - + + - - [b_edge] + + [dz_trnsDet] - - - - - - - - - - - - - - - - - boolean + + @@ -2162,44 +1712,62 @@ - - - + + + - - + + - - + + - - [n_motRaw] + + [n_motAbsPrev] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [z_dirPrev] + + + + + + + @@ -2210,28 +1778,28 @@ - - + + - + - + - - [b_motStdStill] + + [n_motRaw] - + @@ -2243,44 +1811,44 @@ - - + + - + - - + + - - [z_dirPrev] + + [dz_trnsDet] - + - - + + - - + + - - int8 + + boolean @@ -2291,29 +1859,44 @@ - - - + + + - - + + - - + + - - [b_enaAdvCtrl] + + [n_motRaw] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2324,44 +1907,44 @@ - - + + - + - + - - [b_enaAdvCtrl] + + [z_counterRaw] - + - - + + - - + + - - boolean + + int16 @@ -2372,43 +1955,43 @@ - - + + - + - - + + - - [n_motAbsPrev] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -2420,44 +2003,44 @@ - - - + + + - - + + - - + + - - 2 + + [b_edge] - - + + - - - + + + - - + + - - n_motAbs + + boolean @@ -2468,43 +2051,43 @@ - - + + - + - + - - [z_dir] + + [z_dirPrev] - + - + - - + + - + int8 @@ -2516,28 +2099,28 @@ - - + + - + - + - - [n_motAbsPrev] + + [z_counter] - + @@ -2549,44 +2132,44 @@ - - + + - + - - + + - - [z_counterRawPrev] + + [b_enaAdvCtrl] - + - - + + - - + + - - int16 + + boolean @@ -2597,44 +2180,29 @@ - - - + + + - - + + - - + + - + [n_motAbs] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2645,44 +2213,29 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + [n_mot] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2693,43 +2246,43 @@ - - - + + + - - + + - - + + - - + + [b_edge] - - + + - + - - + + - + boolean @@ -2741,44 +2294,44 @@ - - + + - + - - + + - - [b_edge] + + [z_counterRawPrev] - + - - + + - - + + - - boolean + + int16 @@ -2799,11 +2352,11 @@ - + - + [z_counterRaw] @@ -2821,11 +2374,11 @@ - + - + int16 @@ -2837,44 +2390,29 @@ - - - + + + - - + + - - + + - - [z_counter] + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - int16 + + @@ -2885,43 +2423,106 @@ - - - + + + - - + + - + - - + + - - [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + n_commDeacv - + - - + + - + boolean @@ -2933,44 +2534,44 @@ - - + + - + - - + + - - [z_counter] + + [z_dir] - + - - + + - - + + - - int16 + + int8 @@ -2981,44 +2582,44 @@ - - + + - + - - + + - - [b_enaAdvCtrl] + + [n_motAbsPrev] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -3039,11 +2640,11 @@ - + - + 0 @@ -3061,11 +2662,11 @@ - + - + sfix16_En4 @@ -3077,250 +2678,331 @@ - - - + + + - - + + - - - - - - inc - - - - - - - - max - - - - - - - - rst - - - - - - - - cnt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 6 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + b_enaAdvCtrl + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - - + + + - - + + - - Counter + + sfix16_En4 - - - - + + + + + + + + + + + + + + + - - + + - - int16 + + [n_motAbs] - - - + + + + + + + + + + - - + + - - Ini=z_maxCntRst + + sfix16_En4 - - - - + + + + + + + + + + + + + + + + + + - - + + [b_motStdStill] - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_dirPrev + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + int16 @@ -3333,7 +3015,7 @@ - + @@ -3347,67 +3029,67 @@ - + - + z_dir - + - + z_dirPrev - + - + z_counterRawPrev - + - + n_motAbsPrev - + - + z_counter - + - + dz_trnsDet - + - + n_motRaw - + - + if { } @@ -3437,11 +3119,11 @@ - + - + Raw_Motor_Speed_Estimation @@ -3454,16 +3136,16 @@ - - + + - - + + - - int16 + + sfix16_En4 @@ -3475,175 +3157,558 @@ - - + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + z_maxCntRst + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motRaw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaAdvCtrl] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - action + + - - - - - - - - + + + - - + + - - + + - - boolean + + - - - - - - - - + + + - - + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - 3 + + - - + + - - + + - - + + - - z_dirPrev + + Counter - - - + + + - - + + - - int8 + + Ini=z_maxCntRst - - - - - - - - - - - - - - - + - - + + - - [n_motRaw] + + - - - - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - sfix16_En4 + + int16 @@ -3654,109 +3719,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [n_motAbs] - - - - - - - - - - + + - + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - + - - [z_counter] - - - - - - - + + sfix16_En4 @@ -3769,7 +3769,7 @@ - + @@ -3863,32 +3863,32 @@ + + + + + + + + + + + - + - + boolean - - - - - - - - - - - @@ -4627,5 +4627,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 a8e112e..178a72f 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 cefe63f..bb6067b 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 @@ -79,6 +79,35 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"rst_Delay", + "label":"rst_Delay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", + "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:8272:2416", "className":"Simulink.Sum", @@ -192,11 +221,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2413", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2414", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "name":"rst", + "label":"rst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ @@ -219,7 +248,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -259,11 +288,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2414", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2413", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ @@ -286,7 +315,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -392,35 +421,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"rst_Delay", - "label":"rst_Delay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "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: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 fbd08f4..17dafc9 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 @@ -59,6 +59,141 @@ + + + + + + + + + + + + + + + + + + u + + + + + + + + rst + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=z_cntInit + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -71,35 +206,35 @@ - + - + - + - + - + - + - + - + @@ -117,11 +252,11 @@ - + - + int16 @@ -135,7 +270,7 @@ - + @@ -143,19 +278,19 @@ - + - + - + - + @@ -181,11 +316,11 @@ - + - + int16 @@ -197,59 +332,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - max + + rst - - + + - - + + - - int16 + + boolean @@ -260,59 +395,59 @@ - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - rst + + max - - + + - - + + - - boolean + + int16 @@ -333,11 +468,11 @@ - + - + 1 @@ -355,11 +490,11 @@ - + - + inc @@ -370,151 +505,16 @@ - + - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - rst - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=z_cntInit - - - - - - - - - - - - - - + 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 f808cad..71f911b 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 @@ -245,51 +245,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 ] }, @@ -299,45 +320,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"cf_speedCoef", + "label":"cf_speedCoef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "FramePeriod" ], "values":[ - "u2 ~= 0", + "cf_speedCoef", "on", + "inf", "[]", "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "off", + "fixdt(0,16,0)", "off", - "-1", - "0", - "on" + "inf" ], "tabs":[ "Main", @@ -346,8 +359,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 3, + 7 ] }, "viewer":{ @@ -356,55 +369,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"UnitDelay5", + "label":"UnitDelay5", "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":{ @@ -413,16 +419,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8351", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -468,11 +474,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"g_Ha", + "label":"g_Ha", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "4", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-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:8351", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -518,11 +583,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"dz_trnsDet", - "label":"dz_trnsDet", + "name":"n_motRaw", + "label":"n_motRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -551,7 +616,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -598,44 +663,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "cf_speedCoef", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -688,159 +720,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "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:8340", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_counterRawPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_motAbsPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "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:8336", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "z_dir", - "local", - "Tag" + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Floor", + "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" @@ -848,30 +772,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Sum7", + "label":"Sum7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "z_dir", - "Tag" + "rectangular", + "+-", + "on", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "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, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -879,30 +831,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"dz_trnsDet", + "label":"dz_trnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "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":[ - "cf_speedCoef", - "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" @@ -910,7 +911,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, @@ -965,25 +966,49 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"dz_cntTrnsDet", + "label":"dz_cntTrnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "SampleTime", + "ZeroCross" ], "values":[ - "z_dir", - "Tag" + "dz_cntTrnsDetHi", + "dz_cntTrnsDetLo", + "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" @@ -991,30 +1016,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "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" @@ -1022,24 +1061,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", + "z_counterRawPrev", + "local", "Tag" ], "tabs":[ @@ -1053,24 +1094,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "cf_speedCoef", + "z_counter", + "local", "Tag" ], "tabs":[ @@ -1084,79 +1127,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"Goto", + "label":"Goto", "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" + "z_dir", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1164,44 +1160,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "n_motAbsPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1209,56 +1193,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide13", - "label":"Divide13", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "z_dir", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1266,26 +1224,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", - "local", + "n_motAbsPrev", "Tag" ], "tabs":[ @@ -1299,79 +1255,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_motRaw", - "label":"n_motRaw", + "name":"From4", + "label":"From4", "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", + "IconDisplay" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "z_dir", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1379,16 +1286,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1396,7 +1303,7 @@ "IconDisplay" ], "values":[ - "n_motAbsPrev", + "z_dirPrev", "Tag" ], "tabs":[ @@ -1415,11 +1322,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1427,7 +1334,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "z_counter", "Tag" ], "tabs":[ @@ -1446,32 +1353,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", + "name":"Divide13", + "label":"Divide13", "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", @@ -1480,8 +1395,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 9 ] }, "viewer":{ @@ -1490,16 +1405,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide11", - "label":"Divide11", + "name":"Divide14", + "label":"Divide14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1517,12 +1432,12 @@ "SampleTime" ], "values":[ - "**", + "*/", "Element-wise(.*)", "off", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", "Simplest", "off", @@ -1552,41 +1467,56 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Abs2", - "label":"Abs2", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "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:8327", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "-1", - "on" + "z_counter", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1594,24 +1524,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRawPrev", + "cf_speedCoef", + "local", "Tag" ], "tabs":[ @@ -1625,7 +1557,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -1661,43 +1593,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"cf_speedCoef", - "label":"cf_speedCoef", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "cf_speedCoef", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,0)", - "off", - "inf" + "z_counterRawPrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1705,16 +1619,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1722,7 +1636,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "cf_speedCoef", "Tag" ], "tabs":[ @@ -1741,38 +1655,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"dz_cntTrnsDet", - "label":"dz_cntTrnsDet", + "name":"Constant4", + "label":"Constant4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "SampleTime", - "ZeroCross" + "FramePeriod" ], "values":[ - "dz_cntTrnsDetHi", - "dz_cntTrnsDetLo", - "1", "0", - "Elements as channels (sample based)", + "on", + "inf", "[]", "[]", - "boolean", + "Inherit: Inherit via back propagation", "off", - "-1", - "on" + "inf" ], "tabs":[ "Main", @@ -1781,8 +1689,8 @@ ], "tabs_idx":[ 0, - 5, - 9 + 3, + 7 ] }, "viewer":{ @@ -1791,7 +1699,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Constant", "masktype":"" } }, @@ -1863,11 +1771,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "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:8345", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum7", - "label":"Sum7", + "name":"Sum13", + "label":"Sum13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1887,7 +1828,7 @@ ], "values":[ "rectangular", - "+-", + "++++", "on", "Inherit: Inherit via internal rule", "[]", @@ -1922,43 +1863,81 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"UnitDelay5", - "label":"UnitDelay5", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "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:8322", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide11", + "label":"Divide11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", "off", - [ - ], - "Auto" + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 9 ] }, "viewer":{ @@ -1967,48 +1946,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "Threshold", + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", "off", - [ - ], - "Auto" + "Floor", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 1, + 9 ] }, "viewer":{ @@ -2017,7 +2003,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Switch", "masktype":"" } }, @@ -2089,19 +2075,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", + "z_dirPrev", + "local", "Tag" ], "tabs":[ @@ -2115,65 +2103,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", + "name":"Abs2", + "label":"Abs2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "2", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", - "off" + "-1", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ @@ -2182,55 +2150,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Divide14", - "label":"Divide14", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", + "0", + "Inherited", + "-1", + "", + "", "off", - "1", - "All dimensions", - "-1" + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 9 + 3, + 4 ] }, "viewer":{ @@ -2239,16 +2200,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"z_dirPrev", + "label":"z_dirPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -2271,7 +2232,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -2311,42 +2272,81 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8345", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum13", - "label":"Sum13", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "GotoTag", + "IconDisplay" + ], + "values":[ + "dz_trnsDet", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_dir", + "label":"z_dir", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "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":[ - "rectangular", - "++++", - "on", - "Inherit: Inherit via internal rule", + "1", + "Port number", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -2356,7 +2356,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -2365,7 +2365,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Inport", "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 e235a05..776ae86 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 @@ -220,44 +220,44 @@ - - - + + + - - + + - + - - 4 + + 1 - - + + - - - + + + - + - - uint16 + + z_counter @@ -268,204 +268,249 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + cf_speedCoef - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + cf_speedCoef - - - - - - - + + + + + + - - + + - - + + uint16 + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + int16 + + + + + + + - - + + - - + + Ini=0 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - T + + - - + + - - F + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + int16 - - + + - - + + - - threshold=0 - Criteria : u2 ~= 0 + + Ini=0 @@ -476,204 +521,44 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + + - - F + + 4 - - - - - - - - - - - - - - - - - threshold=0 - Criteria : u2 ~= 0 + + - - + + - - + + - - sfix16_En4 + + uint16 @@ -694,35 +579,35 @@ - + - + - + - + - + - + - + - + @@ -748,11 +633,11 @@ - + - + int16 @@ -763,11 +648,11 @@ - + - + Ini=0 @@ -779,91 +664,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 3 - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - - + + + - - + + - - int16 + + n_motRaw @@ -874,77 +712,204 @@ - - - + + + - - + + - - + + - - 2 - - - - - - - - - - - - - - + + - - + + - - dz_trnsDet + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + - - + + + + + + - + + + + - - + + - - [cf_speedCoef] + + sfix16_En4 - - - + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 @@ -957,7 +922,7 @@ - + @@ -965,155 +930,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -1131,11 +1096,11 @@ - + - + sfix16_En4 @@ -1146,11 +1111,11 @@ - + - + threshold=0 Criteria : u2 ~= 0 @@ -1163,209 +1128,60 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRawPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbsPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - + + - - + + - + - - int8 + + int16 @@ -1376,44 +1192,44 @@ - - - + + + - - + + - + - - [cf_speedCoef] + + 2 - - + + - - - + + + - + - - uint16 + + dz_trnsDet @@ -1426,7 +1242,7 @@ - + @@ -1483,32 +1299,32 @@ - - - + + + - + - - boolean + + Ini=0 - - - + + + - + - - Ini=0 + + boolean @@ -1519,236 +1335,107 @@ - - - + + + - - + + - + - + - - [z_dir] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - + + - - + + - - int8 + + - - - - - - - - - - - - - - - - - - - - + + - - [z_counter] - - - - - - - + + - - - - - - - - - - - int16 - + - - - - - - - - - - - - - - - - - - - - - [cf_speedCoef] - - - + + - - - - - - - - - - - uint16 + + + - - - - - - - - - - - - - - - - - - - - + + - - 1 - - - - - - - + + dz_cntTrnsDet - - - + + + - - + + - - z_counter + + boolean @@ -1761,7 +1448,7 @@ - + @@ -1769,19 +1456,19 @@ - + - + - + - + @@ -1807,11 +1494,11 @@ - + - + boolean @@ -1823,69 +1510,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + [z_counterRawPrev] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1906,11 +1553,11 @@ - + - + [z_counter] @@ -1929,44 +1576,29 @@ - - - + + + - - + + - - + + - - 3 + + [z_dir] - - - - - - - - - - - - - - - - - n_motRaw + + @@ -1977,44 +1609,29 @@ - - - + + + - - + + - - - + + + - + [n_motAbsPrev] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2025,44 +1642,44 @@ - - + + - + - + - - [dz_trnsDet] + + [z_dir] - + - - + + - - + + - - boolean + + int8 @@ -2073,43 +1690,43 @@ - - - + + + - - + + - - + + - - 0 + + [n_motAbsPrev] - - + + - + - - + + - + sfix16_En4 @@ -2121,52 +1738,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [z_dir] - - + + - - + + - - + + - - sfix16_En4 + + int8 @@ -2177,76 +1786,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_dirPrev] - - - - - - - - - - + + - - + + - - + + - - int16 + + int8 @@ -2257,43 +1834,43 @@ - - + + - + - - + + - - [z_counterRawPrev] + + [z_counter] - + - + - - + + - + int16 @@ -2305,44 +1882,69 @@ - - - + + + - - + + - - + + - - if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -2353,59 +1955,69 @@ - - - + + + - - + + - - + + - - cf_speedCoef - - - - - - - - - - - - - - + + - - + + - - cf_speedCoef + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - uint16 + + sfix16_En4 @@ -2416,43 +2028,43 @@ - - + + - + - + - + [z_counter] - + - + - - + + - + int16 @@ -2464,107 +2076,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_counter] - - - - - - - - - - - - - - - - - - - - - - - - - dz_cntTrnsDet + + - - + + - - + + - - boolean + + int16 @@ -2575,59 +2124,77 @@ - - - + + + - - + + - - + + - - 4 + + [cf_speedCoef] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - n_motAbsPrev + + if { } - - - + + + + + + + + + + - - + + - - sfix16_En4 + + Action Port @@ -2638,59 +2205,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + [z_counterRawPrev] - - + + - + - - + + - + int16 @@ -2702,91 +2253,155 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [cf_speedCoef] + + + + + + + + + + + + + + - - + + - - + + uint16 + + + + + + + + + + + + + + + + + + - - + + - - + + 0 - + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + 4 + - - + + - - - + + + - - + + - - Ini=0 + + n_motAbsPrev - - + + - - + + - - int16 + + sfix16_En4 @@ -2797,90 +2412,132 @@ - - - + + + - - + + - + - - + + - - + + [dz_trnsDet] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - Ini=0 + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + int16 @@ -2892,58 +2549,483 @@ - - - + + + - - + + - - + + - - 3 + + [cf_speedCoef] - - + + + + + + + + + + + + + + + + + uint16 - - - - - - - - - - - z_counterRawPrev + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_counterRawPrev + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + int16 @@ -2955,48 +3037,95 @@ - - - + + + - - + + - + - - + + - - [z_counter] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + int16 + + + + + + + + + + + Ini=0 + + + + @@ -3013,11 +3142,11 @@ - + - + 2 @@ -3035,11 +3164,11 @@ - + - + z_dirPrev @@ -3050,11 +3179,11 @@ - + - + int8 @@ -3066,69 +3195,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + [dz_trnsDet] - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -3149,11 +3253,11 @@ - + - + 1 @@ -3171,11 +3275,11 @@ - + - + z_dir @@ -3186,11 +3290,11 @@ - + - + int8 @@ -3200,115 +3304,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - + @@ -3338,32 +3338,32 @@ + + + + + + + + + + + - + - + boolean - - - - - - - - - - - @@ -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 f51d3b8..84135be 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 @@ -999,63 +999,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "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:8417", "className":"Simulink.Sum", @@ -1169,11 +1112,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1182,7 +1125,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "z_posHighRes", "local", "Tag" ], @@ -1202,19 +1145,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRaw", + "z_posLowRes", + "local", "Tag" ], "tabs":[ @@ -1228,24 +1173,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", + "b_enaAdvCtrl", + "local", "Tag" ], "tabs":[ @@ -1259,16 +1206,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8405", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1276,7 +1223,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_counterRaw", "Tag" ], "tabs":[ @@ -1295,11 +1242,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1307,7 +1254,7 @@ "IconDisplay" ], "values":[ - "z_posLowRes", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1326,25 +1273,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "b_enaAdvCtrl", - "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" @@ -1352,52 +1325,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9664", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "Inherit: Inherit via internal rule", - "max", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "z_posLowRes", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1405,7 +1356,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"From", "masktype":"" } }, @@ -1441,11 +1392,11 @@ } }, { - "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":[ @@ -1498,25 +1449,47 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9664", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "z_counter", - "Tag" + "Inherit: Inherit via internal rule", + "max", + "off", + "2", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" ], "tabs":[ - "Parameter Attributes" + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1524,16 +1497,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9665", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"Constant1", + "label":"Constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "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:8389", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1549,20 +1571,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "5", "Port number", "[]", "[]", @@ -1574,17 +1590,10 @@ "-1", "auto", "off", + "", + "on", "off", - "0", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -1604,16 +1613,109 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8405", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_dir", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "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:8394", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1723,60 +1825,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9665", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "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:8389", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaAdvCtrl", - "label":"b_enaAdvCtrl", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1792,14 +1845,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", "[]", "[]", @@ -1811,10 +1870,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1834,16 +1900,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1869,72 +1935,6 @@ "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:8411", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_posHighRes", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8385#out:1", "className":"Simulink.Line", 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 4bf2a94..b5abfd9 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 @@ -296,7 +296,7 @@ - + @@ -585,7 +585,7 @@ - + @@ -705,7 +705,7 @@ - + @@ -1190,198 +1190,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - sfix16_En12 - - - - - - - - @@ -1394,35 +1202,35 @@ - + - + - + - + - + - + - + - + @@ -1440,11 +1248,11 @@ - + - + sfix16_En12 @@ -1466,19 +1274,19 @@ - + - + - + - + @@ -1504,11 +1312,11 @@ - + - + int16 @@ -1518,6 +1326,72 @@ + + + + + + + + + + + + + + + + + + [z_posHighRes] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_posLowRes] + + + + + + + + + + + + + + + @@ -1530,11 +1404,11 @@ - + - + [b_enaAdvCtrl] @@ -1563,11 +1437,11 @@ - + - + [z_counterRaw] @@ -1585,11 +1459,11 @@ - + - + int16 @@ -1611,11 +1485,11 @@ - + - + [a_elecAngle] @@ -1633,11 +1507,11 @@ - + - + sfix16_En6 @@ -1649,44 +1523,188 @@ - - - + + + - - + + - - + + - - [z_dir] + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + - - + + - - + + - - + + - - int8 + + sfix16_En12 @@ -1707,11 +1725,11 @@ - + - + [z_posLowRes] @@ -1729,11 +1747,11 @@ - + - + int8 @@ -1745,44 +1763,100 @@ - - + + - + - + - - [b_enaAdvCtrl] + + [z_posHighRes] - + - - + + - - + + - - boolean + + sfix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 @@ -1803,19 +1877,19 @@ - + - + - + - + @@ -1841,11 +1915,11 @@ - + - + sfix16_En12 @@ -1857,43 +1931,43 @@ - - - + + + - - + + - - + + - - [z_posHighRes] + + 0 - - + + - + - - + + - + sfix16_En12 @@ -1905,52 +1979,107 @@ - - - + + + - - + + - - + + - - + + 5 + + + + + + + + + + + + + + - - + + - - + + b_enaAdvCtrl + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaAdvCtrl] - - + + - - + + - - + + - - sfix16_En14 + + boolean @@ -1961,44 +2090,44 @@ - - + + - + - + - - [z_counter] + + [z_dir] - + - - + + - - + + - - int16 + + int8 @@ -2009,44 +2138,44 @@ - - - + + + - - + + - - + + - - 1 + + [z_counter] - - + + - - - + + + - - + + - - a_elecAngle + + int16 @@ -2057,52 +2186,52 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - sfix16_En6 + + sfix16_En14 @@ -2115,7 +2244,7 @@ - + @@ -2123,35 +2252,35 @@ - + - + - + - + - + - + - + - + @@ -2170,11 +2299,11 @@ - + - + sfix16_En14 @@ -2186,107 +2315,44 @@ - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix16_En12 - - - - - - - - - - - - + + - + - + - - 5 + + 1 - + - - - - - - - - - - b_enaAdvCtrl - - - - - - - + + - - + + - - boolean + + a_elecAngle @@ -2297,110 +2363,44 @@ - - + + - + - + - + [b_enaAdvCtrl] - + - + - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posLowRes] - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - [z_posHighRes] - - - - - - - + + boolean @@ -2911,5 +2911,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 58bb7db..92a242f 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 @@ -603,63 +603,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8525", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"t_errQual", + "label":"t_errQual", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "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":[ - "2", - "Port number", - "[]", + "t_errQual", + "on", + "inf", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", "[]", + "Inherit: Inherit via back propagation", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -668,8 +637,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -678,45 +647,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8524", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"t_errDequal", + "label":"t_errDequal", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "FramePeriod" ], "values":[ - "u2 ~= 0", - "off", + "t_errDequal", + "on", + "inf", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" + "inf" ], "tabs":[ "Main", @@ -725,8 +686,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 3, + 7 ] }, "viewer":{ @@ -735,55 +696,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9398", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"g_Hb", + "label":"g_Hb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "u2 ~= 0", - "off", + "2", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "Inherit: Same as input", "off", + "Simplest", "off", - "-1", - "0", - "on" + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 2, + 8, + 11 ] }, "viewer":{ @@ -792,57 +755,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8517", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Sum", - "label":"Sum", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "rectangular", - "+++", - "off", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", + "0", + "Inherited", + "-1", + "", + "", "off", - "1", - "All dimensions", - "-1" + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 3, + 4 ] }, "viewer":{ @@ -851,43 +805,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8510", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"r_errInpTgtThres", + "label":"r_errInpTgtThres", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "==", + "r_errInpTgtThres", + "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":{ @@ -896,43 +854,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9398", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", + "Criteria", "InputSameDT", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", + "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":{ @@ -941,57 +911,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8510", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"g_Hb1", - "label":"g_Hb1", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "4", - "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":{ @@ -1000,16 +956,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":[ @@ -1021,7 +977,7 @@ "ZeroCross" ], "values":[ - ">", + "==", "off", "boolean", "Simplest", @@ -1050,11 +1006,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9395", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1063,7 +1019,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "z_errCodePrev", "local", "Tag" ], @@ -1083,42 +1039,85 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8524", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"t_errDequal", - "label":"t_errDequal", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_errFlag", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"g_Hb1", + "label":"g_Hb1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "t_errDequal", - "on", - "inf", + "4", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: Same as input", "off", - "inf" + "Simplest", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 2, + 8, + 11 ] }, "viewer":{ @@ -1127,43 +1126,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Sum", + "label":"Sum", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", + "IconShape", + "Inputs", "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", - "ZeroCross" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "==", + "rectangular", + "+++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", "off", - "boolean", "Simplest", - "-1", - "on" + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 10 ] }, "viewer":{ @@ -1172,7 +1185,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Sum", "masktype":"" } }, @@ -1210,43 +1223,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8525", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"t_errQual", - "label":"t_errQual", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "t_errQual", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "z_errCode", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1254,37 +1251,78 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"r_errInpTgtThres", - "label":"r_errInpTgtThres", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_errCodeRaw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "r_errInpTgtThres", - "on", - "inf", + "u2 ~= 0", + "off", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -1293,8 +1331,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 1, + 9 ] }, "viewer":{ @@ -1303,30 +1341,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Relational Operator7", + "label":"Relational Operator7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "z_errCodeRaw", - "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" @@ -1334,16 +1386,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1370,19 +1422,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9395", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_errCodePrev", + "VqFinPrev", + "local", "Tag" ], "tabs":[ @@ -1396,16 +1450,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1432,25 +1486,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "z_posRaw", - "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" @@ -1458,16 +1526,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "className":"Simulink.SubSystem", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", + "className":"Either edge detection", "icon":"WebViewIcon4", - "name":"Debounce_Filter", - "label":"Debounce_Filter", + "name":"either_edge", + "label":"either_edge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1526,7 +1594,7 @@ "off", "off", "", - "Use subsystem name", + "Auto", "", "Auto", "Inherit from model", @@ -1534,7 +1602,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Reusable function", + "Auto", "-1", "", "off", @@ -1556,15 +1624,46 @@ ], "finder":{ "blocktype":"SubSystem", + "masktype":"Either edge detection" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8484", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1607,11 +1706,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1619,7 +1718,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_errFlag", "Tag" ], "tabs":[ @@ -1638,11 +1737,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1685,27 +1784,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "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":[ - "z_errCode", - "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" @@ -1713,32 +1859,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "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":[ - "b_errFlag", - "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" @@ -1746,32 +1908,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_errCodeRaw", - "local", - "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" @@ -1779,16 +1957,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "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":[ @@ -1831,42 +2009,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_errFlag", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1874,7 +2021,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "z_errCodeRaw", "Tag" ], "tabs":[ @@ -1941,103 +2088,6 @@ "masktype":"" } }, - { - "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":[ - "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", - "Auto", - "-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:8478", "className":"Simulink.Constant", @@ -2088,21 +2138,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_errCodePrev", - "local", + "z_posRaw", "Tag" ], "tabs":[ @@ -2116,58 +2164,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"g_Hb", - "label":"g_Hb", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Simplest", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "z_errCodePrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2175,40 +2195,121 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Abs4", - "label":"Abs4", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "[]", - "[]", - "Inherit: Same as input", + "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", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Debounce_Filter", + "label":"Debounce_Filter", + "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", - "Floor", "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", - "on" + "", + "off", + "" ], "tabs":[ - "Signal Attributes", + "Main", "-Other" ], "tabs_idx":[ @@ -2217,53 +2318,35 @@ ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM4", - "label":"CTRL_COMM4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "VqFinPrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2271,65 +2354,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9396", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"Abs4", + "label":"Abs4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "2", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Same as input", "off", + "Floor", "off", - "off" + "-1", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ @@ -2338,7 +2401,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Abs", "masktype":"" } }, @@ -2410,74 +2473,30 @@ } }, { - "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":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8517", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", + "className":"Simulink.SFunction", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"Bitwise Operator1", + "label":"Bitwise Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "logicop", + "UseBitMask", + "NumInputPorts", + "BitMask", + "BitMaskRealWorld" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "AND", + "on", + "1", + "bin2dec('100')", + "Stored Integer" ], "tabs":[ - "Main", - "State Attributes", - "-Other" ], "tabs_idx":[ - 0, - 3, - 4 ] }, "viewer":{ @@ -2486,37 +2505,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", - "masktype":"" + "blocktype":"S-Function", + "masktype":"Bitwise Operator" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9396", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "0", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -2525,8 +2562,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -2535,62 +2572,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", - "className":"Simulink.SFunction", - "icon":"WebViewIcon3", - "name":"Bitwise Operator1", - "label":"Bitwise Operator1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "logicop", - "UseBitMask", - "NumInputPorts", - "BitMask", - "BitMaskRealWorld" - ], - "values":[ - "AND", - "on", - "1", - "bin2dec('100')", - "Stored Integer" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"S-Function", - "masktype":"Bitwise Operator" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "b_errFlag", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2603,7 +2603,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "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 baeb30c7c7e37b4d2c009cb365c47e06ff3791ba..8b88ef8165c4eb365a74d36968dc6d6eacc9fac5 100644 GIT binary patch delta 5573 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 P6nGivm}pmOK8gAdKTTtw delta 5548 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 B9qIr8 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg index 204753c..38f2544 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg @@ -424,44 +424,44 @@ - - - + + + - - + + - + - - 2 + + t_errQual - - + + - - - + + + - + - - b_errFlag + + uint16 @@ -472,349 +472,411 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + t_errDequal - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + uint16 + + + + + + + + + + + + + + + + + + - - + + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + uint8 + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + - - F + + + + + + + + + + - - + + - + - - + + - + uint8 + + + + + + + + + + + Ini=0 + + + + - - - + + + - - + + - - + + - - + + r_errInpTgtThres - - - - - - - + + + + + + - - - + + + + + + + + + + + + + + r_errInpTgtThres + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + ~= 0 @@ -832,11 +894,11 @@ - + - + boolean @@ -848,84 +910,68 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + boolean @@ -936,37 +982,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -981,22 +1027,22 @@ - + - + - - + + - + boolean @@ -1008,60 +1054,62 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_errCodePrev] - + + + + - - + + + + + + + + + - - - - - - + + - - - - + - - + + - - boolean + + [b_errFlag] + + + + + + + @@ -1082,11 +1130,11 @@ - + - + 4 @@ -1104,11 +1152,11 @@ - + - + uint8 @@ -1120,213 +1168,84 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - + + - - + + - - [VqFinPrev] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - t_errDequal - - - - - - - - - - - - - - + + - - + + - - uint16 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -1347,11 +1266,11 @@ - + - + [b_motStdStill] @@ -1370,44 +1289,29 @@ - - - + + + - - + + - - + + - - t_errQual + + [z_errCode] - - - - - - - - - - - - - - - - - uint16 + + @@ -1418,59 +1322,29 @@ - - - + + + - - + + - - + + - - r_errInpTgtThres + + [z_errCodeRaw] - - - - - - - - - - - - - - - - - r_errInpTgtThres - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1481,43 +1355,187 @@ - - - + + + - - + + - - + + - - [z_errCodeRaw] + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + - - + + - + - - + + - + uint8 @@ -1529,44 +1547,60 @@ - - - + + + - - + + - + - - + + - - [z_errCodeRaw] + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + boolean @@ -1577,43 +1611,43 @@ - - + + - + - + - - [z_errCodePrev] + + [z_errCodeRaw] - + - + - - + + - + uint8 @@ -1625,44 +1659,29 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] + + [VqFinPrev] - - - - - - - - - - - - - - - - - uint8 + + @@ -1673,43 +1692,43 @@ - - + + - + - + - - [z_posRaw] + + [z_errCodePrev] - + - + - - + + - + uint8 @@ -1721,290 +1740,179 @@ - - - + + + - - + + - + - - + + - - u + + - - + + - - tAcv + + - - - - - - - tDeacv - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - Debounce_Filter + + - + - - + + - + boolean @@ -2012,29 +1920,29 @@ - + - + - + - + - + - + @@ -2048,29 +1956,77 @@ - - - + + + - - + + - + - - + + - - + + [b_motStdStill] - - - - + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -2085,22 +2041,22 @@ - + - + - - + + - + uint8 @@ -2112,43 +2068,43 @@ - - + + - + - + - - [b_motStdStill] + + [b_errFlag] - + - + - - + + - + boolean @@ -2160,29 +2116,29 @@ - - + + - + - + - + - + - + @@ -2197,22 +2153,22 @@ - + - + - - + + - + uint8 @@ -2224,29 +2180,44 @@ - - - + + + - - + + - - + + - - [z_errCode] + + 2 - - + + + + + + + + + + + + + + + + + b_errFlag @@ -2257,29 +2228,44 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + 1 - - + + + + + + + + + + + + + + + + + boolean @@ -2290,29 +2276,44 @@ - - - + + + - - + + - - + + - - [z_errCodeRaw] + + 0 - - + + + + + + + + + + + + + + + + + uint8 @@ -2323,29 +2324,29 @@ - - + + - + - + - + - + - + @@ -2360,22 +2361,22 @@ - + - + - - + + - + uint8 @@ -2387,44 +2388,44 @@ - - + + - + - + - - [b_errFlag] + + [z_errCodeRaw] - + - - + + - - + + - - boolean + + uint8 @@ -2435,44 +2436,44 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + 7 - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2483,43 +2484,43 @@ - - + + - + - + - - 7 + + 0 - + - + - - + + - + uint8 @@ -2531,148 +2532,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [z_posRaw] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -2683,43 +2580,43 @@ - - - + + + - - + + - - + + - - 0 + + [z_errCodePrev] - - + + - + - - + + - + uint8 @@ -2731,29 +2628,44 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] + + if { } - - + + + + + + + + + + + + + + + + + Action Port @@ -2764,298 +2676,323 @@ - - - + + + - - + + - - + + - - 2 + + u - - - - - - + + + + + + + tAcv - - - - - - + + + + + + + tDeacv + + + + + + + + y + + + + + + + + - + - - uint8 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - 2 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - b_motStdStill + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - 3 + + - - + + - - + + - - + + + + + + Debounce_Filter + + + + + + + + + + + - - VqFinPrev + + boolean - - - - + - - + + - - sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + @@ -3066,44 +3003,44 @@ - - + + - + - + - - [b_errFlag] + + [VqFinPrev] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -3114,46 +3051,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -3167,38 +3104,23 @@ - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3209,44 +3131,59 @@ - - - + + + - - + + - - + + - - 0 + + 3 - - + + + + + + + + + + + + + + + + + VqFinPrev - - + + - - + + - - uint8 + + sfix16_En4 @@ -3267,27 +3204,27 @@ - + - + Bitwise - + - + AND - + - + 0x4 @@ -3305,11 +3242,11 @@ - + - + uint8 @@ -3321,44 +3258,107 @@ - - - + + + - - + + - - + + - - if { } + + 2 - - + + - - + + + + + + + + + + b_motStdStill + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_errFlag] + + + + + + + + + + + + + + - + - - Action Port + + boolean @@ -3401,32 +3401,32 @@ - - - - - - - - - - - - + - + boolean + + + + + + + + + + + @@ -4005,5 +4005,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 8cf0d47..557cf0f 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,11 +49,42 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2426", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"yDefault", - "label":"yDefault", + "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", + "icon":"WebViewIcon3", + "name":"yPrev", + "label":"yPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "inspector":{ "params":[ @@ -69,17 +100,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "1", @@ -94,17 +119,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -124,47 +142,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "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", + "blocktype":"Inport", "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":[ @@ -180,11 +167,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "1", @@ -199,10 +192,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -222,7 +222,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "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 3267db5..7fd1531 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 @@ - - - + + + - - + + - + - - 1 + + else { } - - + + - - + + - + - - yDefault + + Action Port @@ -80,44 +80,59 @@ - - - + + + - - + + - + - - else { } + + 1 - - + + - - + + - + - - Action Port + + yPrev + + + + + + + + + + + + + + + boolean @@ -128,59 +143,44 @@ - - + + - + - + - + 1 - + - - - - - - - - - - yPrev - - - - - - - + + - + - - boolean + + yDefault @@ -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 5f1d79c..3229c25 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,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2447", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"yDeacv", - "label":"yDeacv", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "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:2445", "className":"Simulink.RelationalOperator", @@ -125,11 +45,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2444", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -138,7 +58,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "b_cntRst", "local", "Tag" ], @@ -158,51 +78,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2446", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "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" + "tDeacv", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -210,26 +106,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "tDeacv", - "local", + "b_cntRst", "Tag" ], "tabs":[ @@ -243,7 +137,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -279,11 +173,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2437", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -291,7 +185,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "tDeacv", "Tag" ], "tabs":[ @@ -310,11 +204,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -322,7 +216,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "yPrev", "Tag" ], "tabs":[ @@ -341,56 +235,107 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "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":[ - "z_cntInit" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0" + "yPrev", + "local", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "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:8486:2444", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2447", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"yDeacv", + "label":"yDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "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":[ - "b_cntRst", - "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" @@ -398,40 +343,36 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "z_cntInit" ], "values":[ - "yDeacv", - "local", - "Tag" + "0" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, @@ -467,50 +408,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2431", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"yPrev", - "label":"yPrev", + "name":"Constant6", + "label":"Constant6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "3", - "Port number", + "1", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "uint16", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -519,8 +442,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -529,38 +452,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2437", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "tDeacv", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, @@ -645,11 +537,101 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2429", + "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:2446", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "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:8486:2431", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"tDeacv", - "label":"tDeacv", + "name":"yPrev", + "label":"yPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -672,7 +654,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -779,32 +761,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2429", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "name":"tDeacv", + "label":"tDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "1", - "on", - "inf", + "Port number", "[]", "[]", - "uint16", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -813,8 +813,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -823,7 +823,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "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 6d715c51861bf15bd956da51beaf138500ceb1a2..fa226199f7269fe7e7e48ea05f3009aa694026e6 100644 GIT binary patch literal 6878 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 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - yDeacv - - - - - - - - + @@ -71,19 +23,19 @@ - + - + - + - + @@ -109,11 +61,11 @@ - + - + boolean @@ -125,28 +77,28 @@ - - + + - + - + - - [yPrev] + + [b_cntRst] - + @@ -158,187 +110,76 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [tDeacv] - - - - - - - T + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - F + + [b_cntRst] - - + + - + - - + + - + boolean @@ -350,29 +191,44 @@ - - - + + + - - + + - - + + - + [tDeacv] - - + + + + + + + + + + + + + + + + + uint16 @@ -383,43 +239,43 @@ - - + + - + - + - + [tDeacv] - + - + - - + + - + uint16 @@ -441,11 +297,11 @@ - + - + [yPrev] @@ -463,11 +319,11 @@ - + - + boolean @@ -479,44 +335,77 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + [yPrev] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + - - + + - - boolean + + yDeacv @@ -537,155 +426,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -703,11 +592,11 @@ - + - + Counter @@ -718,11 +607,11 @@ - + - + uint16 @@ -730,29 +619,29 @@ - + - + - + - + - + - + @@ -766,62 +655,44 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + elseif { } - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [yDeacv] - - - - - - - + + Action Port @@ -832,44 +703,44 @@ - - - + + + - - + + - - + + - - elseif { } + + 1 - - + + - - - + + + - - + + - - Action Port + + uint16 @@ -880,58 +751,43 @@ - - - + + + - - + + - - + + - - 3 + + 0 - - - - - - - - - - - - - - - - - yPrev + + - + - - + + - + boolean @@ -943,44 +799,44 @@ - - + + - + - + - - [tDeacv] + + [yDeacv] - + - - + + - - + + - - uint16 + + boolean @@ -991,44 +847,29 @@ - - - + + + - - + + - - + + - - 0 + + [yDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -1039,43 +880,187 @@ - - - + + + - - + + - - + + - - [yDeacv] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - + - - + + - + boolean @@ -1087,59 +1072,59 @@ - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - tDeacv + + yPrev - - + + - - + + - - uint16 + + boolean @@ -1160,11 +1145,11 @@ - + - + 2 @@ -1182,11 +1167,11 @@ - + - + b_cntRst @@ -1197,11 +1182,11 @@ - + - + boolean @@ -1213,43 +1198,58 @@ - - - + + + - - + + - - + + - + 1 - - + + + + + + + + + + + + + + + + + tDeacv - + - + - + uint16 @@ -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 3fa6b2b..7937fee 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 @@ -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 165cec5..8ee196c 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 @@ -80,75 +80,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2515", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"rst_Delay", - "label":"rst_Delay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "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:2435:2415", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2416", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "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", - "min", - "off", - "2", - "off", + "round", + "|++", + "on", + "Inherit: Same as first input", "[]", "[]", - "Floor", - "-1", + "Inherit: Same as first input", "off", - "on" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 10 ] }, "viewer":{ @@ -157,7 +134,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Sum", "masktype":"" } }, @@ -229,60 +206,75 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2515", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"rst_Delay", + "label":"rst_Delay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", + "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:2435:2415", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "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":[ + "Inherit: Inherit via internal rule", + "min", + "off", "2", - "Port number", + "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":{ @@ -291,47 +283,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2416", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "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", + "2", + "Port number", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -341,7 +341,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -350,7 +350,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Inport", "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 3cd3878..0acdef1 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 @@ -59,11 +59,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + rst + + + + + + + + + + + + + + + boolean + + + + + + + + - + @@ -71,51 +206,51 @@ - + - + u - + - + rst - + - + y - + - + 1 - + - + z - + - + @@ -128,61 +263,61 @@ - - - + + + - - + + - - uint16 + + Ini=z_cntInit - - - + + + - - + + - - Ini=z_cntInit + + uint16 - + - + - + - + - + - + @@ -198,7 +333,7 @@ - + @@ -206,19 +341,19 @@ - + - + - + - + @@ -244,11 +379,11 @@ - + - + uint16 @@ -258,69 +393,6 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - rst - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -333,11 +405,11 @@ - + - + 2 @@ -355,11 +427,11 @@ - + - + max @@ -369,84 +441,12 @@ - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + uint16 @@ -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 14c0834..dd598b9 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,101 +1,4 @@ [ - { - "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:2486", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "tAcv", - "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:2485", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_cntRst", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2492", "className":"Simulink.Outport", @@ -177,25 +80,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "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" @@ -203,16 +132,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2489", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -221,7 +150,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "b_cntRst", "local", "Tag" ], @@ -241,72 +170,58 @@ } }, { - "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":[ - ] + "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:8486:2479", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2485", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "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" @@ -314,48 +229,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2484", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "tAcv", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -363,25 +260,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "yAcv", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -394,7 +291,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, @@ -475,11 +372,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2479", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant6", + "label":"Constant6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "1", + "on", + "inf", + "[]", + "[]", + "uint16", + "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:8486:2482", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -487,7 +433,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "tAcv", "Tag" ], "tabs":[ @@ -505,6 +451,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "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: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", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2476", "className":"Simulink.Inport", @@ -572,6 +598,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:2488", "className":"Simulink.Goto", @@ -740,76 +795,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "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:8486:2484", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "tAcv", + "local", "Tag" ], "tabs":[ @@ -823,7 +823,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, 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 1c44b47..37953d9 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 @@ -10,6 +10,246 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + yAcv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + @@ -23,11 +263,11 @@ - + - + [b_cntRst] @@ -46,28 +286,28 @@ - - + + - + - + - - [tAcv] + + [yAcv] - + @@ -89,11 +329,11 @@ - + - + [b_cntRst] @@ -111,11 +351,11 @@ - + - + boolean @@ -127,44 +367,44 @@ - - - + + + - - + + - - + + - - 1 + + [tAcv] - - + + - - - + + + - - + + - - yAcv + + uint16 @@ -175,77 +415,44 @@ - - + + - + - + - - [tAcv] + + [yAcv] - + - - + + - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - + + - - [yAcv] - - - - - - - + + boolean @@ -256,235 +463,60 @@ - - - + + + - - + + - - - - - - - - inc - - - - - - - - max - - - - - - - - rst - - - - - - - - cnt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - - - + - - - - - - - - - - - Counter - + - - - - - - - - - - - uint16 + + + - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + boolean @@ -495,44 +527,44 @@ - - - + + + - - + + - - + + - - 1 + + [yPrev] - - + + - - + + - - + + - - uint16 + + boolean @@ -543,44 +575,44 @@ - - + + - + - + - + 1 - + - - + + - - + + - - boolean + + uint16 @@ -591,108 +623,92 @@ - - - + + + - - + + - - + + - - if { } + + [tAcv] - - - - - - - - - - - - - - - - - Action Port + + - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + uint16 - - + + + + + + + + + + + + + + + + + + + if { } + - - + + - - - + + + - - + + - - boolean + + Action Port @@ -703,43 +719,43 @@ - - - + + + - - + + - - + + - - [yPrev] + + 1 - - + + - + - - + + - + boolean @@ -751,43 +767,58 @@ - - - + + + - - + + - - + + - - [yAcv] + + 3 - - + + + + + + + + + + + + + + + + + b_errPrev - + - - + + - + boolean @@ -799,59 +830,235 @@ - - - + + + - - + + + + + + + + + inc + - + - - 3 + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Counter - - - + + + - - + + - - b_errPrev + + uint16 - - - - + - - + + - - boolean + + + + + + + + + + + + + + + + + + + + + + @@ -872,11 +1079,11 @@ - + - + [yPrev] @@ -905,11 +1112,11 @@ - + - + 2 @@ -927,11 +1134,11 @@ - + - + b_cntRst @@ -942,11 +1149,11 @@ - + - + boolean @@ -968,11 +1175,11 @@ - + - + 1 @@ -990,11 +1197,11 @@ - + - + tAcv @@ -1005,11 +1212,11 @@ - + - + uint16 @@ -1021,236 +1228,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - + + + - - + + - - + + - + [tAcv] - - - - - - - - - - - - - - - - - uint16 + + @@ -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 4c89dbd..1ca64bc 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 6d8a137..78fd3e3 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 @@ -79,6 +79,35 @@ "masktype":"" } }, + { + "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:2416", "className":"Simulink.Sum", @@ -192,11 +221,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2414", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2413", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ @@ -219,7 +248,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -259,11 +288,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2413", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2414", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "name":"rst", + "label":"rst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ @@ -286,7 +315,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -325,35 +354,6 @@ "masktype":"" } }, - { - "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", "className":"Simulink.Inport", 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 2f35a6e..32860eb 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 @@ -59,6 +59,141 @@ + + + + + + + + + + + + + + + + + + u + + + + + + + + rst + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=z_cntInit + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -71,35 +206,35 @@ - + - + - + - + - + - + - + - + @@ -117,11 +252,11 @@ - + - + uint16 @@ -135,7 +270,7 @@ - + @@ -143,19 +278,19 @@ - + - + - + - + @@ -181,11 +316,11 @@ - + - + uint16 @@ -195,69 +330,6 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - rst - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -270,11 +342,11 @@ - + - + 2 @@ -292,11 +364,11 @@ - + - + max @@ -307,11 +379,11 @@ - + - + uint16 @@ -323,131 +395,59 @@ - - - + + + - - + + - - - - - - u - - - - - - - - rst - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - + + - - + + 3 - - + + - - - + + + - - + + - - Ini=z_cntInit + + rst - - - - - - - - - - uint16 + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + boolean @@ -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 3315e8b..b84a2dc 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 @@ - - - + + + - + - - 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_8486_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json index 0fb295a..2d13f10 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 @@ -227,45 +227,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Qualification", + "label":"Qualification", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "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":[ - "2", - "u1 ~= 0", - "u2 ~=0", + "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", - "on" + "", + "off", + "" ], "tabs":[ - "Parameter Attributes", + "Main", "-Other" ], "tabs_idx":[ 0, - 4 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"SubSystem", "masktype":"" } }, @@ -303,11 +357,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2463", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -316,7 +370,7 @@ "IconDisplay" ], "values":[ - "u", + "yPrev", "local", "Tag" ], @@ -336,11 +390,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2461", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -349,7 +403,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "tDeacv", "local", "Tag" ], @@ -369,11 +423,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2459", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "y", + "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:2460", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -381,7 +468,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "yPrev", "Tag" ], "tabs":[ @@ -400,21 +487,62 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "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:2458", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "yPrev", - "local", "Tag" ], "tabs":[ @@ -428,16 +556,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -445,7 +573,7 @@ "IconDisplay" ], "values":[ - "tDeacv", + "y", "Tag" ], "tabs":[ @@ -464,11 +592,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2458", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" + ], + "values":[ + "[]", + "off", + "[]", + "3" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -495,11 +662,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -526,11 +693,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -538,7 +705,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "tDeacv", "Tag" ], "tabs":[ @@ -557,11 +724,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -569,7 +736,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "yPrev", "Tag" ], "tabs":[ @@ -588,21 +755,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "tDeacv", - "local", + "u", "Tag" ], "tabs":[ @@ -616,16 +781,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2448", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -633,7 +798,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "b_cntRst", "Tag" ], "tabs":[ @@ -652,11 +817,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -683,108 +848,75 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Dequalification", - "label":"Dequalification", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2461", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "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", - "" + "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:2448", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "yPrev", + "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":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Qualification", - "label":"Qualification", + "name":"Dequalification", + "label":"Dequalification", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -877,81 +1009,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", - "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":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" - ], - "values":[ - "[]", - "off", - "[]", - "3" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2460", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2459", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -959,7 +1021,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "b_cntRst", "Tag" ], "tabs":[ @@ -1074,6 +1136,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "tAcv", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2422", "className":"Simulink.Inport", @@ -1141,37 +1234,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "yPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2421", "className":"Simulink.Inport", @@ -1239,68 +1301,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "u", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_cntRst", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2420", "className":"Simulink.Inport", @@ -1369,11 +1369,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2463", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1382,7 +1382,7 @@ "IconDisplay" ], "values":[ - "y", + "u", "local", "Tag" ], @@ -1447,11 +1447,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1463,7 +1463,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", @@ -1492,11 +1492,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1537,11 +1537,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator4", + "label":"Logical Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1553,7 +1553,7 @@ "SampleTime" ], "values":[ - "AND", + "NOT", "2", "rectangular", "off", 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 343b0986b3ddb883eb58642d604e8a346290b7ca..2f537560330a53a4f1e726772f43aed4f17e33e4 100644 GIT binary patch delta 5971 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 - - - + + + - - + + + + + + + + - + - - u1 + + tAcv - + - - u2 + + b_cntRst - + - - if(u1 ~= 0) + + b_errPrev - + - - elseif(u2 ~=0) + + yAcv - + - - else + + if { } - - + + + + + + + + - - - + + + + + + + + + - + - - action + + Qualification - - + + + + + + + + - + - + action - - + + + + + + + + - + - - action + + boolean @@ -419,6 +449,12 @@ + + + + + + @@ -451,11 +487,11 @@ - - + + - + @@ -465,14 +501,14 @@ - - [u] + + [yPrev] - + @@ -484,11 +520,11 @@ - - + + - + @@ -498,14 +534,14 @@ - - [b_cntRst] + + [tDeacv] - + @@ -517,43 +553,76 @@ - - + + + + + + + + + + + + + + + + [y] + + + + + + + + + + + + + + + + + + + - + - + - - [b_cntRst] + + [yPrev] - + - + - - + + - + boolean @@ -565,77 +634,106 @@ - - - + + + - - + + - - + + - - [yPrev] + + u1 + + + + + + + + u2 + + + + + + + + if(u1 ~= 0) + + + + + + + + elseif(u2 ~=0) + + + + + + + + else - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [tDeacv] + + action - - - + + + + + + + + + + + action - - + + - - + + - - uint16 + + action @@ -656,11 +754,11 @@ - + - + [yPrev] @@ -678,11 +776,11 @@ - + - + boolean @@ -694,43 +792,43 @@ - - + + - + - + - - [u] + + [y] - + - + - - + + - + boolean @@ -742,43 +840,107 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + - + - + - + [yPrev] - + - + - - + + - + boolean @@ -790,44 +952,44 @@ - - + + - + - + - - [tAcv] + + [u] - + - - + + - - + + - - uint16 + + boolean @@ -838,29 +1000,44 @@ - - - + + + - - + + - - + + - + [tDeacv] - - + + + + + + + + + + + + + + + + + uint16 @@ -871,43 +1048,43 @@ - - + + - + - + - + [yPrev] - + - + - - + + - + boolean @@ -929,11 +1106,11 @@ - + - + [u] @@ -951,11 +1128,11 @@ - + - + boolean @@ -967,136 +1144,173 @@ - - - + + + - - - - - - - - + + - - + + - - tDeacv + + [b_cntRst] - - - - - - - b_cntRst + + + + + + - - - - - - - yPrev + + + + + + - - + + - - yDeacv + + boolean + + + + + + + + + + + + + + + + + + - - + + - - elseif { } + + [u] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Dequalification + + boolean - + + + + + + + + + + + + + + + - - - - + + + - - + + [b_cntRst] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - boolean + + [yPrev] + + + + + + + - - - - - - - - + + - - + + - - action + + boolean @@ -1107,14 +1321,8 @@ - - - - - - - - + + @@ -1123,50 +1331,50 @@ - + - + - - tAcv + + tDeacv - + - + b_cntRst - + - - b_errPrev + + yPrev - + - - yAcv + + yDeacv - + - - if { } + + elseif { } @@ -1178,7 +1386,7 @@ - + @@ -1191,16 +1399,16 @@ - - + + - - + + - - Qualification + + Dequalification @@ -1212,15 +1420,15 @@ - + - - + + - + action @@ -1233,15 +1441,15 @@ - + - - + + - + boolean @@ -1253,161 +1461,49 @@ - + - - - - - - - - - - - - - - - [y] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - + - + - + - - [yPrev] + + [b_cntRst] - + - + - - + + - + boolean @@ -1421,7 +1517,7 @@ - + @@ -1435,173 +1531,104 @@ - + - + yPrev - + - + yDefault - - - - - - - else { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - 3 + + else { } - - + + + + + + + + - - + + + + + + + + - - + + - - tDeacv + + Default - - + + + + + + + + - - + + - - uint16 + + action + + + + + + + + + + + + + + + + + + + + + boolean @@ -1612,44 +1639,50 @@ - - + + + + + + + + - + - + - - [yPrev] + + [tAcv] - + - - + + - - + + - - boolean + + uint16 @@ -1660,58 +1693,58 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - tAcv + + tDeacv - + - - + + - + uint16 @@ -1723,92 +1756,59 @@ - - - + + + - - + + - - + + - - [u] + + 2 - - + + - - - - - - - - - - - boolean + + + - - - - - - - - - - - - - - - - - - - + - - [b_cntRst] - - - - - - - + + tAcv - - + + - + - - boolean + + uint16 @@ -1882,11 +1882,11 @@ - - + + - + @@ -1896,14 +1896,14 @@ - - [y] + + [u] - + @@ -1979,30 +1979,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2012,23 +2012,23 @@ - + - + - + boolean - - + + @@ -2043,11 +2043,11 @@ - - + + - + @@ -2057,7 +2057,7 @@ - + @@ -2065,7 +2065,7 @@ - + @@ -2076,22 +2076,22 @@ - + - + - + boolean - + @@ -2107,30 +2107,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2140,23 +2140,23 @@ - + - + - + 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 8fbcce4..9949a68 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 447728f..0d919ed 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 @@ -191,44 +191,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8654", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10024", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "Elements as channels (sample based)", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "z_ctrlTypSel", + "local", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -236,16 +219,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Goto", "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":[ @@ -254,7 +237,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "b_toTrqMod", "local", "Tag" ], @@ -274,11 +257,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9423", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -287,7 +270,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_toSpdMod", "local", "Tag" ], @@ -307,11 +290,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10024", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -320,7 +303,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "b_toActive", "local", "Tag" ], @@ -340,21 +323,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10020", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", - "local", + "VqFinPrev", "Tag" ], "tabs":[ @@ -368,26 +349,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10017", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -401,26 +380,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10019", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "VqFinPrev", - "local", + "b_toTrqMod", "Tag" ], "tabs":[ @@ -434,26 +411,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toOpen", - "local", + "b_motEna", "Tag" ], "tabs":[ @@ -467,26 +442,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10028", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", - "local", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -500,16 +473,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10017", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9996", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -517,7 +490,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "r_inpTgt", "Tag" ], "tabs":[ @@ -536,19 +509,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", + "b_errFlag", + "local", "Tag" ], "tabs":[ @@ -562,16 +537,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9995", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -579,7 +554,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -598,19 +573,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10028", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10023", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_inpTgt", + "local", "Tag" ], "tabs":[ @@ -624,16 +601,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -642,7 +619,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "z_ctrlMod", "local", "Tag" ], @@ -662,11 +639,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9996", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9994", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -674,7 +651,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -693,11 +670,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -705,7 +682,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "b_errFlag", "Tag" ], "tabs":[ @@ -724,11 +701,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10023", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -737,7 +714,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "b_toOpen", "local", "Tag" ], @@ -788,21 +765,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9997", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -816,24 +791,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toActive", + "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -847,16 +824,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -864,7 +841,7 @@ "IconDisplay" ], "values":[ - "b_toTrqMod", + "b_toActive", "Tag" ], "tabs":[ @@ -883,11 +860,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9995", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -895,7 +872,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toOpen", "Tag" ], "tabs":[ @@ -914,11 +891,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9423", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8603", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F03_03_Input_Target_Synthesis", - "label":"F03_03_Input_Target_Synthesis", + "icon":"WebViewIcon6", + "name":"F03_02_Control_Mode_Manager", + "label":"F03_02_Control_Mode_Manager", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -959,9 +969,9 @@ "values":[ "FromPortIcon", "ReadWrite", - "", - "All", - "off", + "Stateflow.Translate.translate", + "ExplicitOnly", + "on", "on", "", "", @@ -970,7 +980,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -1011,11 +1021,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "className":"Simulink.SubSystem", - "icon":"WebViewIcon6", - "name":"F03_02_Control_Mode_Manager", - "label":"F03_02_Control_Mode_Manager", + "icon":"WebViewIcon1", + "name":"F03_03_Input_Target_Synthesis", + "label":"F03_03_Input_Target_Synthesis", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1056,9 +1066,9 @@ "values":[ "FromPortIcon", "ReadWrite", - "Stateflow.Translate.translate", - "ExplicitOnly", - "on", + "", + "All", + "off", "on", "", "", @@ -1067,7 +1077,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -1107,39 +1117,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "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:8546", "className":"Simulink.SubSystem", @@ -1238,11 +1215,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10022", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10256", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:10018", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1265,7 +1273,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "7", "Port number", "[]", "[]", @@ -1305,11 +1313,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10018", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9997", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:10022", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1332,7 +1373,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "6", "Port number", "[]", "[]", @@ -1372,11 +1413,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8651", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1385,7 +1426,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_motEna", "local", "Tag" ], @@ -1405,11 +1446,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10021", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1432,7 +1473,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -1472,19 +1513,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10019", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", + "VqFinPrev", + "local", "Tag" ], "tabs":[ @@ -1498,25 +1541,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10256", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "b_toSpdMod", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1529,16 +1572,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10021", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8537", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel", - "label":"z_ctrlTypSel", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1561,7 +1604,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -1601,11 +1644,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8537", + "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", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1628,7 +1721,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -1668,73 +1761,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9994", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10020", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "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:9422", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8536", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1757,7 +1788,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -1797,19 +1828,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModPrev", + "local", "Tag" ], "tabs":[ @@ -1823,16 +1856,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8536", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1855,7 +1888,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "5", "Port number", "[]", "[]", @@ -1895,11 +1928,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1907,7 +1940,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -1925,39 +1958,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_toSpdMod", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8634#out:1", "className":"Simulink.Line", 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 80620177c108eaa717010b4d35af8bbdd3177779..221ac4e556c17307871762fcf8aac22c7e56492c 100644 GIT binary patch literal 10635 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 literal 10645 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 CM~9jK 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 b242311..2849e18 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 @@ -155,152 +155,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - @@ -313,11 +167,11 @@ - + - + [z_ctrlTypSel] @@ -346,11 +200,11 @@ - + - + [b_toTrqMod] @@ -369,28 +223,28 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_toSpdMod] - + @@ -402,28 +256,28 @@ - - + + - + - + - - [VqFinPrev] + + [b_toActive] - + @@ -435,62 +289,44 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + [VqFinPrev] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [z_ctrlMod] - - - - - - - + + sfix16_En4 @@ -511,11 +347,11 @@ - + - + [z_ctrlMod] @@ -533,11 +369,11 @@ - + - + uint8 @@ -549,43 +385,43 @@ - - + + - + - + - - [b_motEna] + + [b_toTrqMod] - + - + - - + + - + boolean @@ -597,44 +433,44 @@ - - + + - + - + - - [z_ctrlModPrev] + + [b_motEna] - + - - + + - - + + - - uint8 + + boolean @@ -655,11 +491,11 @@ - + - + [r_inpTgtSca] @@ -677,11 +513,11 @@ - + - + sfix16_En4 @@ -693,29 +529,44 @@ - - - + + + - - + + - - + + - - [b_toActive] + + [r_inpTgt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -726,44 +577,29 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + [b_errFlag] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -774,44 +610,44 @@ - - + + - + - + - - [b_toSpdMod] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -832,11 +668,11 @@ - + - + [r_inpTgt] @@ -855,44 +691,29 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + [z_ctrlMod] - - - - - - - - - - - - - - - - - boolean + + @@ -903,29 +724,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -936,43 +772,43 @@ - - + + - + - + - - [b_toActive] + + [b_errFlag] - + - + - - + + - + boolean @@ -984,43 +820,76 @@ - - + + + + + + + + + + + + + + + + [b_toOpen] + + + + + + + + + + + + + + + + + + + - + - + - - [b_toTrqMod] + + [b_motStdStill] - + - + - - + + - + boolean @@ -1032,43 +901,43 @@ - - + + - + - + - + [z_ctrlModReq] - + - + - - + + - + uint8 @@ -1080,123 +949,158 @@ - - - + + + - - - - - - - - + + - - - - - - z_ctrlTypSel - - - - + + - - z_ctrlModReq + + [z_ctrlModReq] - - - - - - - z_ctrlMod + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - r_inpTgt + + [b_toActive] + + + + + + + + + + + + + + - - + + - - VqFinPrev + + boolean + + + + + + + + + + + + + + + + + + - - + + - - r_inpTgtSca + + [b_toOpen] - - - - - - - - + + - - - - - - - - - + + + - - + + - - F03_03_Input_Target_Synthesis + + boolean - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [b_motStdStill] + + + + + + + @@ -1208,64 +1112,58 @@ - - - - - - - + - + - + - + b_toOpen - + - + b_toActive - + - + b_toSpdMod - + - + b_toTrqMod - + - + z_ctrlMod @@ -1273,7 +1171,7 @@ - + @@ -1282,59 +1180,59 @@ - + - + F03_02_Control_Mode_Manager - + - + - - - - - - - - - - uint8 + + - + - + - - + + - + - + - - + + + + + + + + + + uint8 @@ -1345,35 +1243,129 @@ - + - + - - + + - - + + + + + + + + - - + + - - [z_ctrlModPrev] + + z_ctrlTypSel + + + + + + + + z_ctrlModReq + + + + + + + + z_ctrlMod + + + + + + + + r_inpTgt + + + + + + + + VqFinPrev + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F03_03_Input_Target_Synthesis - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1385,8 +1377,14 @@ + + + + + + - + @@ -1400,75 +1398,75 @@ - + - + b_motEna - + - + b_motStdStill - + - + b_errFlag - + - + z_ctrlModReq - + - + z_ctrlModPrev - + - + b_toOpen - + - + b_toActive - + - + b_toSpdMod - + - + b_toTrqMod @@ -1498,11 +1496,11 @@ - + - + F03_01_Mode_Transition_Calculation @@ -1515,15 +1513,15 @@ - + - - + + - + boolean @@ -1536,15 +1534,15 @@ - + - - + + - + boolean @@ -1557,15 +1555,15 @@ - + - - + + - + boolean @@ -1578,15 +1576,15 @@ - + - - + + - + boolean @@ -1598,65 +1596,50 @@ - + - - + + - - + + - - + + - - 6 + + if { } - - + + - - - - - - - - - - r_inpTgt - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -1677,11 +1660,11 @@ - + - + 7 @@ -1699,11 +1682,11 @@ - + - + VqFinPrev @@ -1714,11 +1697,11 @@ - + - + sfix16_En4 @@ -1730,28 +1713,28 @@ - - + + - + - + - - [b_errFlag] + + [r_inpTgtSca] - + @@ -1763,59 +1746,59 @@ - - + + - + - + - - 5 + + 6 - + - - + + - - + + - - z_ctrlModReq + + r_inpTgt - - + + - - + + - - uint8 + + sfix16_En4 @@ -1826,44 +1809,29 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + [b_motEna] - - - - - - - - - - - - - - - - - boolean + + @@ -1874,44 +1842,59 @@ - - - + + + - - + + - - + + - - if { } + + 4 - - + + - - + + - - + + - - Action Port + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 @@ -1922,59 +1905,77 @@ - - - + + + - - + + - - + + - - 4 + + [VqFinPrev] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - z_ctrlTypSel + + [b_toSpdMod] + + + + + + + - - + + - - + + - - uint8 + + boolean @@ -1995,11 +1996,11 @@ - + - + 3 @@ -2017,11 +2018,11 @@ - + - + b_motEna @@ -2032,11 +2033,11 @@ - + - + boolean @@ -2048,92 +2049,76 @@ - - - + + + - - + + - + - - + + - - [z_ctrlTypSel] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - uint8 + + - - - - - - - - - - - - + + - - - - - - - [VqFinPrev] - - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2154,11 +2139,11 @@ - + - + 2 @@ -2176,11 +2161,11 @@ - + - + b_motStdStill @@ -2191,11 +2176,11 @@ - + - + boolean @@ -2207,43 +2192,58 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + 1 - - + + + + + + + + + + + + + + + + + b_errFlag - + - + - + boolean @@ -2255,59 +2255,92 @@ - - + + + + + + + + + + + + + + + + [z_ctrlModPrev] + + + + + + + + + + + + + + + + + + + - + - + - - 1 + + 5 - + - - + + - - + + - - b_errFlag + + z_ctrlModReq - - + + - - + + - - boolean + + uint8 @@ -2318,77 +2351,44 @@ - - + + - + - + - - [z_ctrlModReq] + + [z_ctrlModPrev] - + - + - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - + - - [b_toSpdMod] - - - - - - - + + uint8 @@ -2839,5 +2839,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 e5773cb..871e0db 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 @@ -98,11 +98,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_toTrqMod", - "label":"b_toTrqMod", + "name":"b_toSpdMod", + "label":"b_toSpdMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -131,7 +131,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -178,11 +178,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_toActive", - "label":"b_toActive", + "name":"b_toOpen", + "label":"b_toOpen", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -211,7 +211,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -258,11 +258,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant8", - "label":"constant8", + "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", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant2", + "label":"constant2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -307,11 +356,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant5", - "label":"constant5", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -325,7 +374,7 @@ "FramePeriod" ], "values":[ - "VLT_MODE", + "TRQ_MODE", "on", "inf", "[]", @@ -355,6 +404,51 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator6", + "label":"Relational Operator6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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:8590", "className":"Simulink.Constant", @@ -495,11 +589,56 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"Relational Operator2", + "label":"Relational Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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:8581", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator10", + "label":"Relational Operator10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -540,11 +679,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"constant8", + "label":"constant8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -558,7 +697,7 @@ "FramePeriod" ], "values":[ - "TRQ_MODE", + "OPEN_MODE", "on", "inf", "[]", @@ -589,11 +728,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -683,32 +822,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"constant2", - "label":"constant2", + "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", @@ -717,8 +887,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -727,49 +897,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_toOpen", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", - "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":[ @@ -810,11 +947,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -823,7 +960,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_errFlag", "local", "Tag" ], @@ -843,11 +980,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -856,7 +993,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "b_motStdStill", "local", "Tag" ], @@ -876,19 +1013,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -902,26 +1041,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", - "local", + "b_toOpen", "Tag" ], "tabs":[ @@ -935,71 +1072,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "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", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toActive", - "local", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1013,16 +1103,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1030,7 +1120,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1049,74 +1139,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_toSpdMod", - "label":"b_toSpdMod", + "name":"Goto5", + "label":"Goto5", "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", + "TagVisibility", + "IconDisplay" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "b_toSpdMod", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1124,7 +1167,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, @@ -1174,11 +1217,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1186,7 +1229,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1205,21 +1248,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -1233,16 +1274,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1250,7 +1291,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_motEna", "Tag" ], "tabs":[ @@ -1269,11 +1310,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1281,38 +1322,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_toTrqMod", + "b_toActive", "Tag" ], "tabs":[ @@ -1331,38 +1341,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "==", + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -1371,49 +1403,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_toSpdMod", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1421,7 +1420,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_errFlag", "Tag" ], "tabs":[ @@ -1440,25 +1439,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "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_motEna", - "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" @@ -1466,16 +1501,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1483,7 +1518,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1502,11 +1537,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1514,7 +1549,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1533,27 +1568,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"constant5", + "label":"constant5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_ctrlModPrev", - "local", - "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" @@ -1561,16 +1612,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1593,7 +1644,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -1633,19 +1684,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", + "b_motEna", + "local", "Tag" ], "tabs":[ @@ -1659,26 +1712,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", - "local", + "b_toOpen", "Tag" ], "tabs":[ @@ -1692,16 +1743,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9420", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1724,7 +1775,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -1764,61 +1815,58 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"Goto6", + "label":"Goto6", "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":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "b_toOpen", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_toSpdMod", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1826,24 +1874,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_toActive", + "local", "Tag" ], "tabs":[ @@ -1857,16 +1907,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9420", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"b_toTrqMod", + "label":"b_toTrqMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1882,14 +1932,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -1901,10 +1957,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1924,7 +1987,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, @@ -1996,74 +2059,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"b_toOpen", - "label":"b_toOpen", + "name":"From2", + "label":"From2", "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":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "b_toTrqMod", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2071,48 +2085,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"constant7", - "label":"constant7", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "TRQ_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_toTrqMod", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2120,24 +2118,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", + "z_ctrlModPrev", + "local", "Tag" ], "tabs":[ @@ -2151,16 +2151,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2172,8 +2172,8 @@ "SampleTime" ], "values":[ - "OR", - "4", + "AND", + "3", "rectangular", "off", "boolean", @@ -2201,11 +2201,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator6", - "label":"Logical Operator6", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2217,8 +2217,8 @@ "SampleTime" ], "values":[ - "OR", - "3", + "AND", + "2", "rectangular", "off", "boolean", @@ -2246,11 +2246,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator7", - "label":"Logical Operator7", + "name":"Logical Operator4", + "label":"Logical Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2262,8 +2262,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "OR", + "4", "rectangular", "off", "boolean", @@ -2291,11 +2291,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator6", + "label":"Logical Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2307,8 +2307,8 @@ "SampleTime" ], "values":[ - "AND", - "2", + "OR", + "3", "rectangular", "off", "boolean", @@ -2336,11 +2336,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator9", - "label":"Logical Operator9", + "name":"Logical Operator7", + "label":"Logical Operator7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2381,11 +2381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator9", + "label":"Logical Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2397,8 +2397,8 @@ "SampleTime" ], "values":[ - "AND", - "3", + "NOT", + "2", "rectangular", "off", "boolean", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.svg index 49c638f..e1e0ff4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.svg @@ -83,11 +83,11 @@ - - + + - + @@ -97,30 +97,30 @@ - - 4 + + 3 - + - - + + - + - - b_toTrqMod + + b_toSpdMod @@ -131,11 +131,11 @@ - - + + - + @@ -145,30 +145,30 @@ - - 2 + + 1 - + - - + + - + - - b_toActive + + b_toOpen @@ -179,11 +179,11 @@ - - + + - + @@ -193,29 +193,29 @@ - - OPEN_MODE + + TRQ_MODE - + - + - + - + uint8 @@ -227,11 +227,11 @@ - - + + - + @@ -241,29 +241,29 @@ - - VLT_MODE + + OPEN_MODE - + - + - + - + uint8 @@ -275,11 +275,11 @@ - - + + - + @@ -289,29 +289,29 @@ - - SPD_MODE + + TRQ_MODE - + - + - + - + uint8 @@ -323,11 +323,11 @@ - - - + + + - + @@ -337,7 +337,7 @@ - + @@ -345,7 +345,7 @@ - + @@ -353,7 +353,7 @@ - + @@ -368,22 +368,22 @@ - + - + - + - + boolean @@ -395,37 +395,85 @@ - - - + + + - + + + + + + + + + + + + SPD_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + - + - + - + - + - + - + @@ -440,22 +488,22 @@ - + - + - - + + - + boolean @@ -467,37 +515,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -512,22 +560,22 @@ - + - + - - + + - + boolean @@ -539,44 +587,60 @@ - - - + + + - - + + - + - - + + - - TRQ_MODE + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + boolean @@ -587,37 +651,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -632,22 +696,22 @@ - + - + - - + + - + boolean @@ -659,43 +723,43 @@ - - + + - + - + - - SPD_MODE + + OPEN_MODE - + - + - - + + - + uint8 @@ -707,118 +771,37 @@ - - - + + + - - + + - + - - + + - - OPEN_MODE - - - - - - - + + - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - [b_toOpen] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + @@ -833,22 +816,22 @@ - + - + - - + + - + boolean @@ -860,62 +843,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + SPD_MODE - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_motEna] - - - - - - - + + uint8 @@ -926,77 +891,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 2 - - + + - - - - - - - - - - - uint8 + + + - - - - - - - - - - - - - - - - - - - - + + - - [b_toTrqMod] - - - - - - - + + b_toActive @@ -1007,30 +939,38 @@ - - - + + + - + - + - + - - + + - - + + + + + + + + + + @@ -1044,22 +984,22 @@ - + - + - - + + - + boolean @@ -1071,28 +1011,28 @@ - - + + - + - + - - [b_toActive] + + [b_errFlag] - + @@ -1104,44 +1044,29 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + [b_motStdStill] - - - - - - - - - - - - - - - - - boolean + + @@ -1152,108 +1077,29 @@ - - - + + + - - + + - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - b_toSpdMod - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - - - - boolean + + @@ -1274,11 +1120,11 @@ - + - + [b_toOpen] @@ -1296,11 +1142,11 @@ - + - + boolean @@ -1312,77 +1158,44 @@ - - - - - - - - - - - - - - - - [b_errFlag] - - - - - - - - - - - - - - - - - - - + + - + - + - - [z_ctrlModReq] + + [b_motStdStill] - + - - + + - - + + - - uint8 + + boolean @@ -1403,11 +1216,11 @@ - + - + [z_ctrlModReq] @@ -1425,11 +1238,11 @@ - + - + uint8 @@ -1441,44 +1254,29 @@ - - - + + + - - + + - - + + - - [b_toTrqMod] + + [b_toSpdMod] - - - - - - - - - - - - - - - - - boolean + + @@ -1489,38 +1287,30 @@ - - - + + + - + - + - + - - - - - - - - - - + + - - + + @@ -1534,22 +1324,22 @@ - + - + - - + + - + boolean @@ -1561,29 +1351,44 @@ - - - + + + - - + + - - + + - - [b_toSpdMod] + + [z_ctrlModReq] - - + + + + + + + + + + + + + + + + + uint8 @@ -1594,43 +1399,43 @@ - - + + - + - + - - [z_ctrlModReq] + + [z_ctrlModPrev] - + - + - - + + - + uint8 @@ -1652,11 +1457,11 @@ - + - + [b_motEna] @@ -1674,11 +1479,11 @@ - + - + boolean @@ -1690,43 +1495,43 @@ - - + + - + - + - - [b_toSpdMod] + + [b_toActive] - + - + - - + + - + boolean @@ -1738,44 +1543,59 @@ - - - + + + - - + + - - + + - - [b_toActive] + + 5 - - + + + + + + + + + + + + + + + + + z_ctrlModPrev - - + + - - + + - - boolean + + uint8 @@ -1786,29 +1606,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + [b_errFlag] - - + + + + + + + + + + + + + + + + + boolean @@ -1819,58 +1654,58 @@ - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - z_ctrlModPrev + + z_ctrlModReq - + - - + + - + uint8 @@ -1882,44 +1717,44 @@ - - + + - + - + - - [b_motStdStill] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -1930,29 +1765,44 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + [z_ctrlModReq] - - + + + + + + + + + + + + + + + + + uint8 @@ -1963,58 +1813,43 @@ - - - + + + - - + + - - + + - - 4 + + VLT_MODE - - - - - - - - - - - - - - - - - z_ctrlModReq + + - + - - + + - + uint8 @@ -2036,11 +1871,11 @@ - + - + 3 @@ -2058,11 +1893,11 @@ - + - + b_errFlag @@ -2073,11 +1908,11 @@ - + - + boolean @@ -2089,44 +1924,77 @@ - - + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + - + - + - - [z_ctrlModPrev] + + [b_toOpen] - + - - + + - - + + - - uint8 + + boolean @@ -2147,11 +2015,11 @@ - + - + 2 @@ -2169,11 +2037,11 @@ - + - + b_motStdStill @@ -2184,11 +2052,11 @@ - + - + boolean @@ -2200,58 +2068,76 @@ - - - + + + - - + + - - + + - - 1 + + [b_toOpen] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - b_motEna + + [b_toSpdMod] + + + + + + + - + - - + + - + boolean @@ -2263,44 +2149,140 @@ - - + + + + + + + + + + + + + + + + [b_toActive] + + + + + + + + + + + + + + + + + + + - + - + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + b_toTrqMod + + + + + + + + + + + + + + + + + + + + + - + 1 - + - - + + - - + + - - b_toOpen + + b_motEna + + + + + + + + + + + + + + + boolean @@ -2311,44 +2293,44 @@ - - - + + + - - + + - - + + - - TRQ_MODE + + [b_toTrqMod] - - + + - - + + - - + + - - uint8 + + boolean @@ -2359,44 +2341,62 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + [b_toTrqMod] - - + + - - - - + + + + + + + + + + + + + + + - + - - boolean + + [z_ctrlModPrev] + + + + + + + @@ -2407,30 +2407,30 @@ - - - + + + - - + + - + - - + + - + - - + + @@ -2439,62 +2439,62 @@ + + + + + + + + + + + - + - - + + - + boolean - - - - - - - - - - - - - - + + + - - + + - + - - + + - + - - + + @@ -2503,62 +2503,62 @@ + + + + + + + + + + + - + - - + + - + boolean - - - - - - - - - - - - - - + + + - - + + - + - - + + - + - - + + @@ -2568,23 +2568,23 @@ - + - + - + boolean - - + + @@ -2599,30 +2599,30 @@ - - - + + + - - + + - + - - + + - + - - + + @@ -2631,43 +2631,43 @@ + + + + + + + + + + + - + - - + + - + boolean - - - - - - - - - - - - - + + - + @@ -2677,7 +2677,7 @@ - + @@ -2685,7 +2685,7 @@ - + @@ -2696,22 +2696,22 @@ - + - + - + boolean - + @@ -2727,30 +2727,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2759,32 +2759,32 @@ + + + + + + + + + + + - + - - + + - + boolean - - - - - - - - - - - @@ -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 5c344d6..0e31ae5 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 @@ -45,11 +45,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:28", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:6", "className":"Stateflow.State", "icon":"WebViewIcon7", - "name":"VOLTAGE_MODE", - "label":"VOLTAGE_MODE", + "name":"SPEED_MODE", + "label":"SPEED_MODE", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -64,7 +64,7 @@ "values":[ false, "Auto", - "VOLTAGE_MODE\n\nentry:\nz_ctrlMod = VLT_MODE;", + "SPEED_MODE\n\nentry:\nz_ctrlMod = SPD_MODE;", false, false, "", @@ -90,11 +90,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:28", "className":"Stateflow.State", "icon":"WebViewIcon7", - "name":"SPEED_MODE", - "label":"SPEED_MODE", + "name":"VOLTAGE_MODE", + "label":"VOLTAGE_MODE", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -109,7 +109,7 @@ "values":[ false, "Auto", - "SPEED_MODE\n\nentry:\nz_ctrlMod = SPD_MODE;", + "VOLTAGE_MODE\n\nentry:\nz_ctrlMod = VLT_MODE;", false, false, "", @@ -180,7 +180,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:33", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:12", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -194,7 +194,7 @@ "Document" ], "values":[ - 1, + 2, "", "", "" @@ -213,11 +213,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", + "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":[ @@ -227,8 +227,8 @@ "Document" ], "values":[ - 2, - "", + 1, + "[b_toTrqMod]", "", "" ], @@ -279,7 +279,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:12", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -293,7 +293,7 @@ "Document" ], "values":[ - 2, + 1, "", "", "" @@ -312,7 +312,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:33", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -345,11 +345,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:31", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toTrqMod]", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -359,8 +359,8 @@ "Document" ], "values":[ - 1, - "[b_toTrqMod]", + 2, + "", "", "" ], @@ -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]", "", "" ], @@ -489,11 +489,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":[ @@ -504,7 +504,7 @@ ], "values":[ 1, - "[b_toActive]", + "[b_toOpen]", "", "" ], 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 bca34d6..c43b4dd 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 @@ -67,6 +67,18 @@ + + + + + + + + + + + + @@ -74,91 +86,91 @@ - + - + - + - + - + - + - - + + - + - - + + - + - - VOLTAGE_MODE + + SPEED_MODE - + - + - + - + entry: - + - - + + - + - - z_ctrlMod = VLT_MODE; + + z_ctrlMod = SPD_MODE; - + - + @@ -166,91 +178,91 @@ - + - + - + - + - + - + - - + + - + - - + + - + - - SPEED_MODE + + VOLTAGE_MODE - + - + - + - + entry: - + - - + + - + - - z_ctrlMod = SPD_MODE; + + z_ctrlMod = VLT_MODE; - + - + @@ -260,25 +272,25 @@ - + - + - + - + - + @@ -337,7 +349,7 @@ - + @@ -349,22 +361,10 @@ - - - - - - - - - - - - - + @@ -372,12 +372,26 @@ - + - + - + + + + + + + + + + + + + 2 + + @@ -387,7 +401,7 @@ - + @@ -395,26 +409,45 @@ - + - + - - + + - + + + + + + + + + + + + + + + [b_toTrqMod] + + + + + - - + + - - 2 + + 1 - + @@ -441,19 +474,19 @@ - + - + - + - + [b_toSpdMod] @@ -463,11 +496,11 @@ - + - + 1 @@ -480,7 +513,7 @@ - + @@ -488,26 +521,12 @@ - + - + - - - - - - - - - - - - - 2 - - + @@ -517,7 +536,7 @@ - + @@ -525,12 +544,12 @@ - + - + - + @@ -540,7 +559,7 @@ - + @@ -548,45 +567,26 @@ - + - + - - - - - - - - - - - - - - - - - - [b_toTrqMod] - - - + + - + - + - - 1 + + 2 - + @@ -617,7 +617,7 @@ - + @@ -726,33 +726,33 @@ - + - + - + - - + + - + - - + + - + - - [b_toOpen] + + [b_toActive] - + @@ -762,33 +762,33 @@ - + - + - + - - + + - + - - + + - + - - [b_toActive] + + [b_toOpen] - + @@ -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 1788a44..4841cad 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 @@ -810,177 +810,82 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10173", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"toNegative", - "label":"toNegative", + "name":"r_devSignal1", + "label":"r_devSignal1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "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":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", + "3", + "Port number", "[]", "[]", - "Inherit: Same as input", - "-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:8743", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Sine_Cosine_Approximation", - "label":"Sine_Cosine_Approximation", - "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", + "Inherit: auto", "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "on", - "", "off", - "", + "0", "off", + "reset", "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" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "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":"Outport", "masktype":"" } }, @@ -1065,30 +970,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9072", - "className":"Simulink.Scope", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10173", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Scope8", - "label":"Scope8", + "name":"toNegative", + "label":"toNegative", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":[ - ], + "inspector":{ + "params":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "-1", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] + }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Scope", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Park_Transform", - "label":"Park_Transform", + "name":"Sine_Cosine_Approximation", + "label":"Sine_Cosine_Approximation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1181,21 +1126,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9073", + "className":"Simulink.Scope", "icon":"WebViewIcon3", - "name":"Mux7", - "label":"Mux7", + "name":"Scope9", + "label":"Scope9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "3", - "bar" - ], + "inspector":[ + ], + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Scope", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux8", + "label":"Mux8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "3", + "bar" + ], "tabs":[ "Parameter Attributes" ], @@ -1212,11 +1176,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "name":"Mux7", + "label":"Mux7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1224,7 +1188,7 @@ "DisplayOption" ], "values":[ - "2", + "3", "bar" ], "tabs":[ @@ -1243,74 +1207,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"r_devSignal1", - "label":"r_devSignal1", + "name":"Mux2", + "label":"Mux2", "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" + "Inputs", + "DisplayOption" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "2", + "bar" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1318,7 +1233,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Mux", "masktype":"" } }, @@ -1463,11 +1378,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10365", "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1506,44 +1421,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Park_Transform", + "label":"Park_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "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":[ - "n_mot", - "local", - "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":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1552,7 +1531,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "b_enaAdvCtrl", "local", "Tag" ], @@ -1572,11 +1551,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto36", - "label":"Goto36", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1585,7 +1564,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "Vq_min", "local", "Tag" ], @@ -1605,11 +1584,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1618,7 +1597,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vq_max", "local", "Tag" ], @@ -1638,11 +1617,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"Goto35", + "label":"Goto35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1651,7 +1630,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_sin", "local", "Tag" ], @@ -1671,11 +1650,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"Goto34", + "label":"Goto34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1684,7 +1663,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_nLimProtMax", "local", "Tag" ], @@ -1704,11 +1683,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10703", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", + "name":"Goto28", + "label":"Goto28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1717,7 +1696,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "iq_min", "local", "Tag" ], @@ -1737,11 +1716,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10171", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto24", + "label":"Goto24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1750,7 +1729,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "id", "local", "Tag" ], @@ -1770,11 +1749,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1783,7 +1762,7 @@ "IconDisplay" ], "values":[ - "id_min", + "iq", "local", "Tag" ], @@ -1803,11 +1782,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10703", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1816,7 +1795,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "r_inpTgtScaAbs", "local", "Tag" ], @@ -1836,11 +1815,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10171", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1849,7 +1828,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "id_Tgt", "local", "Tag" ], @@ -1869,11 +1848,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10360", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1882,7 +1861,7 @@ "IconDisplay" ], "values":[ - "task2", + "id_max", "local", "Tag" ], @@ -1902,11 +1881,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10687", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1915,7 +1894,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "Vd_min", "local", "Tag" ], @@ -1935,11 +1914,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10686", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10728", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto30", + "label":"Goto30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1948,7 +1927,7 @@ "IconDisplay" ], "values":[ - "iqAbs", + "r_nLimProtMax", "local", "Tag" ], @@ -1968,11 +1947,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10448", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1981,7 +1960,7 @@ "IconDisplay" ], "values":[ - "r_fieldWeak", + "VdPrev", "local", "Tag" ], @@ -2001,11 +1980,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10448", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10395", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2014,7 +1993,7 @@ "IconDisplay" ], "values":[ - "VdPrev", + "Vq", "local", "Tag" ], @@ -2067,11 +2046,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10359", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10394", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2080,7 +2059,7 @@ "IconDisplay" ], "values":[ - "task3", + "Vd", "local", "Tag" ], @@ -2100,21 +2079,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10394", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From71", + "label":"From71", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd", - "local", + "id", "Tag" ], "tabs":[ @@ -2128,25 +2105,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10428", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Mux1", + "label":"Mux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "id", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -2159,26 +2136,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10428", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", - "local", + "id", "Tag" ], "tabs":[ @@ -2192,7 +2167,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -2259,11 +2234,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10433", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10441", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From57", - "label":"From57", + "name":"From60", + "label":"From60", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2271,7 +2246,7 @@ "IconDisplay" ], "values":[ - "id_max", + "iq_min", "Tag" ], "tabs":[ @@ -2290,11 +2265,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From56", - "label":"From56", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2302,7 +2277,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "Vq", "Tag" ], "tabs":[ @@ -2321,19 +2296,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From55", - "label":"From55", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", + "id_min", + "local", "Tag" ], "tabs":[ @@ -2347,26 +2324,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10395", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10440", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From59", + "label":"From59", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq", - "local", + "iq_max", "Tag" ], "tabs":[ @@ -2380,16 +2355,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10440", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10434", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From59", - "label":"From59", + "name":"From58", + "label":"From58", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2397,7 +2372,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "id_min", "Tag" ], "tabs":[ @@ -2416,19 +2391,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10431", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10359", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From53", - "label":"From53", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", + "task3", + "local", "Tag" ], "tabs":[ @@ -2442,24 +2419,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From52", - "label":"From52", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_TgtAbs", + "r_fieldWeak", + "local", "Tag" ], "tabs":[ @@ -2473,16 +2452,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10362", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10433", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From57", + "label":"From57", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2490,7 +2469,7 @@ "IconDisplay" ], "values":[ - "task2", + "id_max", "Tag" ], "tabs":[ @@ -2509,11 +2488,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10743", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"From55", + "label":"From55", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2521,7 +2500,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "Vd_max", "Tag" ], "tabs":[ @@ -2540,11 +2519,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10439", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10432", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From64", - "label":"From64", + "name":"From54", + "label":"From54", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2552,7 +2531,7 @@ "IconDisplay" ], "values":[ - "Vq_nLimProtMax", + "Vd_min", "Tag" ], "tabs":[ @@ -2571,21 +2550,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10728", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10431", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto30", - "label":"Goto30", + "name":"From53", + "label":"From53", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_nLimProtMax", - "local", + "Vd_max", "Tag" ], "tabs":[ @@ -2599,24 +2576,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10726", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_iqLimProtMax", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -2630,16 +2609,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10444", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"From52", + "label":"From52", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2647,7 +2626,7 @@ "IconDisplay" ], "values":[ - "iq", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -2666,11 +2645,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10362", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From41", - "label":"From41", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2678,7 +2657,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "task2", "Tag" ], "tabs":[ @@ -2697,19 +2676,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10707", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From39", - "label":"From39", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "n_mot", + "local", "Tag" ], "tabs":[ @@ -2723,16 +2704,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10445", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10743", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2740,7 +2721,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "r_inpTgtScaAbs", "Tag" ], "tabs":[ @@ -2759,11 +2740,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From43", - "label":"From43", + "name":"From50", + "label":"From50", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2771,7 +2752,7 @@ "IconDisplay" ], "values":[ - "Vd", + "Vq", "Tag" ], "tabs":[ @@ -2790,11 +2771,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10697", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10726", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2802,7 +2783,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "r_iqLimProtMax", "Tag" ], "tabs":[ @@ -2821,11 +2802,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"From42", + "label":"From42", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2833,7 +2814,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "Vq_min", "Tag" ], "tabs":[ @@ -2852,11 +2833,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From40", - "label":"From40", + "name":"From41", + "label":"From41", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2864,7 +2845,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vq_max", "Tag" ], "tabs":[ @@ -2883,11 +2864,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2895,7 +2876,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -2914,11 +2895,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From69", + "label":"From69", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2926,7 +2907,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -2945,11 +2926,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2957,7 +2938,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "id", "Tag" ], "tabs":[ @@ -2976,11 +2957,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10446", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2988,7 +2969,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "iq", "Tag" ], "tabs":[ @@ -3007,11 +2988,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10688", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3019,7 +3000,7 @@ "IconDisplay" ], "values":[ - "VdPrev", + "iq", "Tag" ], "tabs":[ @@ -3038,11 +3019,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3050,7 +3031,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "r_cos", "Tag" ], "tabs":[ @@ -3069,19 +3050,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10436", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -3095,24 +3078,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "iq_limProtErr", + "local", "Tag" ], "tabs":[ @@ -3126,16 +3111,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3143,7 +3128,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "r_sin", "Tag" ], "tabs":[ @@ -3162,11 +3147,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10698", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3174,7 +3159,7 @@ "IconDisplay" ], "values":[ - "iqAbs", + "r_sin", "Tag" ], "tabs":[ @@ -3193,19 +3178,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10701", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlMod", + "local", "Tag" ], "tabs":[ @@ -3219,16 +3206,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10432", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10446", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From54", - "label":"From54", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3236,7 +3223,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -3255,42 +3242,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux8", - "label":"Mux8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "3", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3298,7 +3254,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "b_motEna", "Tag" ], "tabs":[ @@ -3317,11 +3273,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10174", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3329,7 +3285,7 @@ "IconDisplay" ], "values":[ - "r_fieldWeak", + "VdPrev", "Tag" ], "tabs":[ @@ -3348,11 +3304,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3360,7 +3316,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vq_max", "Tag" ], "tabs":[ @@ -3379,27 +3335,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10447", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_limProtErr", - "local", - "Tag" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "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" @@ -3407,26 +3380,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From40", + "label":"From40", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_enaAdvCtrl", - "local", + "Vq", "Tag" ], "tabs":[ @@ -3440,16 +3411,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10434", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10430", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From58", - "label":"From58", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3457,7 +3428,7 @@ "IconDisplay" ], "values":[ - "id_min", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -3476,11 +3447,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10729", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10429", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3488,7 +3459,7 @@ "IconDisplay" ], "values":[ - "r_nLimProtMax", + "id_Tgt", "Tag" ], "tabs":[ @@ -3507,11 +3478,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10437", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3519,7 +3490,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "a_elecAngle", "Tag" ], "tabs":[ @@ -3538,11 +3509,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From42", - "label":"From42", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3550,7 +3521,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "iq", "Tag" ], "tabs":[ @@ -3569,261 +3540,105 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clarke_Transform", - "label":"Clarke_Transform", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10697", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From34", + "label":"From34", "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" + "GotoTag", + "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", - "" + "n_motAbs", + "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":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Current_Filtering", - "label":"Current_Filtering", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9717", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto32", + "label":"Goto32", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "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", - "" + "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:10702", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9072", + "className":"Simulink.Scope", "icon":"WebViewIcon3", - "name":"Abs1", - "label":"Abs1", + "name":"Scope8", + "label":"Scope8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "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 - ] - }, + "inspector":[ + ], "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Scope", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10687", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "n_motAbs", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -3836,16 +3651,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10688", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10393", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3853,7 +3668,7 @@ "IconDisplay" ], "values":[ - "iq", + "task3", "Tag" ], "tabs":[ @@ -3872,20 +3687,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8667", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "Vd_max", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -3898,32 +3715,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "a_elecAngle", - "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" @@ -3931,26 +3758,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10445", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", - "local", + "n_mot", "Tag" ], "tabs":[ @@ -3964,40 +3789,90 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10689", - "className":"Simulink.Abs", - "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"FOC", + "label":"FOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "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":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "Zero", + "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", - "on" + "", + "off", + "" ], "tabs":[ - "Signal Attributes", + "Main", "-Other" ], "tabs_idx":[ @@ -4006,29 +3881,31 @@ ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10719", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From71", - "label":"From71", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "r_iqLimProtMax", + "local", "Tag" ], "tabs":[ @@ -4042,66 +3919,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From43", + "label":"From43", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "10", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "Vd", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4109,24 +3950,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10441", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From60", - "label":"From60", + "name":"Goto36", + "label":"Goto36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_min", + "r_cos", + "local", "Tag" ], "tabs":[ @@ -4140,66 +3983,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"r_fieldWeak", - "label":"r_fieldWeak", + "name":"From15", + "label":"From15", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "9", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "r_inpTgtSca", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4207,16 +4014,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"FOC", - "label":"FOC", + "name":"Clarke_Transform", + "label":"Clarke_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4255,42 +4062,200 @@ "VariantControl" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", + "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:10360", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto16", + "label":"Goto16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "task2", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10702", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs1", + "label":"Abs1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "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:8667", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:10689", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs5", + "label":"Abs5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" + ], + "values":[ + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", "-1", - "", - "off", - "" + "on" ], "tabs":[ - "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ @@ -4299,31 +4264,29 @@ ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto34", - "label":"Goto34", + "name":"From56", + "label":"From56", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_nLimProtMax", - "local", + "Vd_min", "Tag" ], "tabs":[ @@ -4337,16 +4300,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From33", + "label":"From33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4354,7 +4317,7 @@ "IconDisplay" ], "values":[ - "iq", + "id_Tgt", "Tag" ], "tabs":[ @@ -4373,19 +4336,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10686", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", + "iqAbs", + "local", "Tag" ], "tabs":[ @@ -4399,66 +4364,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10691", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"From4", + "label":"From4", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "8", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "Vd", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4466,16 +4395,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4498,7 +4427,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "7", "Port number", "[]", "[]", @@ -4538,11 +4467,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10429", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10729", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4550,7 +4479,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "r_nLimProtMax", "Tag" ], "tabs":[ @@ -4569,54 +4498,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10365", - "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:10358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"task3", - "label":"task3", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4639,7 +4525,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -4679,25 +4565,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10393", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], - "values":[ - "task3", - "Tag" + "values":[ + "10", + "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" @@ -4705,16 +4627,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10437", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4722,7 +4644,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "Vq_min", "Tag" ], "tabs":[ @@ -4741,43 +4663,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10447", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10358", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"task3", + "label":"task3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "0", - "Inherited", + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", + "Inherit", + "-1", + "auto", + "off", "", - "", + "on", "off", - [ - ], - "Auto" + "off", + "off" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 11 ] }, "viewer":{ @@ -4786,16 +4725,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10691", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4818,7 +4757,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "8", "Port number", "[]", "[]", @@ -4858,44 +4797,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"r_fieldWeak", + "label":"r_fieldWeak", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4918,7 +4824,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "9", "Port number", "[]", "[]", @@ -4958,11 +4864,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10435", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10701", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4989,54 +4895,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10719", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_iqLimProtMax", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9717", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10174", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto32", - "label":"Goto32", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", - "local", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -5050,26 +4921,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq_max", - "local", + "r_cos", "Tag" ], "tabs":[ @@ -5083,16 +4952,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5115,7 +4984,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -5155,21 +5024,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10444", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From45", + "label":"From45", + "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:10439", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"From64", + "label":"From64", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_max", - "local", + "Vq_nLimProtMax", "Tag" ], "tabs":[ @@ -5183,16 +5081,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10357", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"task2", - "label":"task2", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5215,7 +5113,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -5255,42 +5153,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_enaAdvCtrl", - "label":"b_enaAdvCtrl", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5313,7 +5180,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -5353,19 +5220,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From69", - "label":"From69", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", + "iq_max", + "local", "Tag" ], "tabs":[ @@ -5379,26 +5248,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10707", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto35", - "label":"Goto35", + "name":"From39", + "label":"From39", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", - "local", + "r_inpTgtScaAbs", "Tag" ], "tabs":[ @@ -5412,16 +5279,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10698", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5429,7 +5296,7 @@ "IconDisplay" ], "values":[ - "iq", + "iqAbs", "Tag" ], "tabs":[ @@ -5448,11 +5315,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Current_Filtering", + "label":"Current_Filtering", + "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:10435", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From50", - "label":"From50", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5460,7 +5424,7 @@ "IconDisplay" ], "values":[ - "Vq", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -5479,25 +5443,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10357", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"task2", + "label":"task2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "id", - "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" @@ -5505,7 +5505,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, 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 c862a83e63ae17b67a6cbc572b2adddb4b962ecd..1389d8d99e1a82e911a9eb4422dcc4b5ac6e2037 100644 GIT binary patch literal 9651 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 literal 9638 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 - + @@ -364,15 +364,15 @@ - + - + - + sfix16_En4 @@ -385,15 +385,15 @@ - + - + - + sfix16_En4 @@ -413,7 +413,7 @@ - + @@ -762,7 +762,7 @@ - + @@ -903,6 +903,102 @@ + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + r_devSignal1 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + Vq + + + + + + + + @@ -915,11 +1011,11 @@ - + - + -1 @@ -937,11 +1033,11 @@ - + - + sfix16_En4 @@ -955,7 +1051,7 @@ - + @@ -969,27 +1065,27 @@ - + - + a_elecAngle - + - + r_sin - + - + r_cos @@ -1019,11 +1115,11 @@ - + - + Sine_Cosine_Approximation @@ -1040,11 +1136,11 @@ - + - + sfix16_En14 @@ -1061,11 +1157,11 @@ - + - + sfix16_En14 @@ -1093,19 +1189,19 @@ - + - + - + - + @@ -1132,44 +1228,44 @@ - - - + + + - - + + - - + + - - 2 + + - - + + - - - + + + - - + + - - Vq + + sfix16_En4 @@ -1180,45 +1276,92 @@ - - - + + + - - + + - + - - + + - - + + + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 - - + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1229,9 +1372,9 @@ - - - + + + @@ -1239,71 +1382,183 @@ - - + + - - + + - - i_apha + + z_ctrlMod - - + + - - i_beta + + r_inpTgtScaAbs - - + + - - r_sin + + VdPrev - - + + - - r_cos + + id_TgtAbs - - + + - - iq_Raw + + iq - - + + - - id_Raw + + iqAbs - - - - - - - - + + + - - + + n_motAbs + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + iq_max + + + + + + + + iq_min + + + + + + + + r_iqLimProtMax + + + + + + + + r_nLimProtMax + + + + + + + + iq_limProtErr + + + + + + + + Vq_nLimProtMax + + + + + + + + if { } + + + + + + + + + + + + + @@ -1315,16 +1570,16 @@ - - + + - - + + - - Park_Transform + + Motor_Limitations @@ -1336,15 +1591,15 @@ - + - - + + - + sfix16_En4 @@ -1357,404 +1612,225 @@ - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - + + action - - - + + + + + + + + + + + + + + + + + sfix16_En4 - + + + + + + + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En4 - + + + + + + + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - - + + + + - - 3 - - - - - - - - - - - - - - + + - - + + - - r_devSignal1 + + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - z_ctrlMod - - - - - - - - r_inpTgtScaAbs - - - - - - - - VdPrev - - - - - - - - id_TgtAbs - - - - - - - - iq - + - - - + + + + - - iqAbs + + - - - - - n_motAbs - - - - - - - - Vd_max - - - - - - - - Vd_min - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - id_max - - - - - - - - id_min - - - - - - - - iq_max - - - - - - - - iq_min - - - - - - - - r_iqLimProtMax - - - - - - - - r_nLimProtMax - - - - - - - - iq_limProtErr - - - - - - - - Vq_nLimProtMax - - - - + - - if { } - - - - - - - - - - - - - + + sfix16_En4 - + - + - - + + - - + + - - Motor_Limitations + + sfix32_En20 - + - + - - + + - + sfix16_En4 @@ -1762,210 +1838,245 @@ - + - + - - + + - + sfix16_En4 - + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + u1 - - + + - - sfix16_En4 + + if(u1 ~= 0) + + + + + + + - - - - - - - - + + - - + + - + action - + + + + + + + + + + + + + + + - - - - + + + - - + + u1 - - + + - - sfix16_En4 + + if(u1 ~= 0) + + + + + + + - - - - - - - - + + - - + + - - sfix16_En4 + + action - + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + i_apha - - + + - - sfix16_En4 + + i_beta - - - - - - - - + + + - - + + r_sin - - + + - - sfix16_En4 + + r_cos - - - - - - - - + + + - - + + iq_Raw - - + + - - sfix16_En4 + + id_Raw - - - - - - - - - - + - - - + + + + - - sfix32_En20 + + - + - - + + - - + + - - sfix16_En4 + + Park_Transform @@ -1977,15 +2088,15 @@ - + - - + + - + sfix16_En4 @@ -1998,15 +2109,15 @@ - + - - + + - + sfix16_En4 @@ -2018,58 +2129,35 @@ - + - - + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - action + + @@ -2080,52 +2168,29 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [Vq_min] - - - - - - - - - - - - - - - - - action + + @@ -2136,28 +2201,28 @@ - - + + - + - + - - [n_mot] + + [Vq_max] - + @@ -2169,28 +2234,28 @@ - - + + - + - - + + - - [Vq_max] + + [r_sin] - + @@ -2202,28 +2267,28 @@ - - + + - + - + - - [r_cos] + + [Vq_nLimProtMax] - + @@ -2245,11 +2310,11 @@ - + - + [iq_min] @@ -2268,28 +2333,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [id] - + @@ -2311,11 +2376,11 @@ - + - + [iq] @@ -2344,11 +2409,11 @@ - + - + [r_inpTgtScaAbs] @@ -2377,11 +2442,11 @@ - + - + [id_Tgt] @@ -2400,28 +2465,28 @@ - - + + - + - + - - [id_min] + + [id_max] - + @@ -2443,11 +2508,11 @@ - + - + [Vd_min] @@ -2466,28 +2531,94 @@ - - + + - + - + - - [Vd_max] + + [r_nLimProtMax] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [VdPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + @@ -2499,28 +2630,28 @@ - - + + - + - + - - [task2] + + [id_TgtAbs] - + @@ -2532,28 +2663,28 @@ - - + + - + - + - - [n_motAbs] + + [Vd] - + @@ -2565,29 +2696,44 @@ - - - + + + - - + + - - + + - - [iqAbs] + + [id] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2598,29 +2744,44 @@ - - - + + + - - + + - - + + - - [r_fieldWeak] + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2631,29 +2792,44 @@ - - - + + + - - + + - - + + - - [VdPrev] + + [id] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2664,29 +2840,44 @@ - - - + + + - - + + - - + + - - [id_TgtAbs] + + [iq_limProtErr] - - + + + + + + + + + + + + + + + + + sfix32_En20 @@ -2697,29 +2888,44 @@ - - - + + + - - + + - - + + - - [task3] + + [iq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2730,29 +2936,44 @@ - - - + + + - - + + - - + + - - [Vd] + + [iq_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2763,43 +2984,43 @@ - - + + - + - + - - [id] + + [Vq] - + - + - + - + sfix16_En4 @@ -2811,11 +3032,11 @@ - - + + - + @@ -2825,14 +3046,14 @@ - - [Vq_min] + + [id_min] - + @@ -2844,11 +3065,11 @@ - - + + - + @@ -2858,30 +3079,30 @@ - - [iq_limProtErr] + + [iq_max] - + - - + + - + - - sfix32_En20 + + sfix16_En4 @@ -2892,11 +3113,11 @@ - - + + - + @@ -2906,29 +3127,29 @@ - - [iq] + + [id_min] - + - + - + - + sfix16_En4 @@ -2940,44 +3161,62 @@ - - - + + + - - + + - + - - [id_max] + + [task3] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [r_fieldWeak] + + + + + + + @@ -2988,43 +3227,43 @@ - - + + - + - + - - [Vd_min] + + [id_max] - + - + - - + + - + sfix16_En4 @@ -3046,11 +3285,11 @@ - + - + [Vd_max] @@ -3068,11 +3307,11 @@ - + - + sfix16_En4 @@ -3084,76 +3323,43 @@ - - - - - - - - - - - - - - - - [Vq] - - - - - - - - - - - - - - - - - - - + + - + - + - - [iq_max] + + [Vd_min] - + - + - - + + - + sfix16_En4 @@ -3175,11 +3381,11 @@ - + - + [Vd_max] @@ -3197,11 +3403,11 @@ - + - + sfix16_En4 @@ -3211,6 +3417,39 @@ + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + @@ -3223,11 +3462,11 @@ - + - + [id_TgtAbs] @@ -3245,11 +3484,11 @@ - + - + sfix16_En4 @@ -3271,11 +3510,11 @@ - + - + [task2] @@ -3293,11 +3532,11 @@ - + - + boolean @@ -3309,44 +3548,29 @@ - - - + + + - - + + - - + + - - [r_inpTgtScaAbs] + + [n_mot] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3357,11 +3581,11 @@ - - + + - + @@ -3371,29 +3595,29 @@ - - [Vq_nLimProtMax] + + [r_inpTgtScaAbs] - + - + - + - + sfix16_En4 @@ -3405,29 +3629,44 @@ - - - + + + - - + + - + - - [r_nLimProtMax] + + [Vq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3448,11 +3687,11 @@ - + - + [r_iqLimProtMax] @@ -3470,11 +3709,11 @@ - + - + sfix16_En4 @@ -3486,43 +3725,43 @@ - - + + - + - + - - [iq] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -3544,11 +3783,11 @@ - + - + [Vq_max] @@ -3566,11 +3805,11 @@ - + - + sfix16_En4 @@ -3582,44 +3821,44 @@ - - + + - + - + - - [r_inpTgtScaAbs] + + [b_enaAdvCtrl] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -3630,44 +3869,44 @@ - - + + - + - + - - [n_mot] + + [z_ctrlMod] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -3678,43 +3917,43 @@ - - + + - + - + - - [Vd] + + [id] - + - + - - + + - + sfix16_En4 @@ -3726,43 +3965,43 @@ - - + + - + - + - - [n_motAbs] + + [iq] - + - + - - + + - + sfix16_En4 @@ -3774,43 +4013,43 @@ - - + + - + - - + + - - [id_Tgt] + + [iq] - + - + - - + + - + sfix16_En4 @@ -3822,44 +4061,44 @@ - - + + - + - + - - [Vq] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -3870,44 +4109,62 @@ - - - + + + - - + + - - + + - - [r_sin] + + [r_inpTgtSca] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En14 + + [iq_limProtErr] + + + + + + + @@ -3918,43 +4175,43 @@ - - + + - + - - + + - - [r_cos] + + [r_sin] - + - + - - + + - + sfix16_En14 @@ -3976,11 +4233,11 @@ - + - + [r_sin] @@ -3998,11 +4255,11 @@ - + - + sfix16_En14 @@ -4012,6 +4269,39 @@ + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + @@ -4024,11 +4314,11 @@ - + - + [z_ctrlMod] @@ -4046,11 +4336,11 @@ - + - + uint8 @@ -4062,44 +4352,44 @@ - - + + - + - - + + - - [VdPrev] + + [b_motEna] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -4110,44 +4400,44 @@ - - + + - + - + - - [a_elecAngle] + + [VdPrev] - + - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -4168,11 +4458,11 @@ - + - + [Vq_max] @@ -4190,11 +4480,11 @@ - + - + sfix16_En4 @@ -4206,92 +4496,91 @@ - - - + + + - - + + - + - - + + - - [r_inpTgtSca] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - + + - - - - - - - [b_enaAdvCtrl] - - - + + + + + + + + + + + + + + + + + Ini=0 - - + + - - + + - - boolean + + sfix16_En4 @@ -4302,43 +4591,43 @@ - - + + - + - + - - [iqAbs] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -4350,44 +4639,44 @@ - - + + - + - - + + - - [r_inpTgtSca] + + [b_enaAdvCtrl] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -4398,43 +4687,43 @@ - - + + - + - + - - [Vd_min] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -4446,44 +4735,44 @@ - - - + + + - - + + - - + + - - + + [a_elecAngle] - - + + - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -4494,44 +4783,44 @@ - - + + - + - - + + - - [b_enaAdvCtrl] + + [iq] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -4542,43 +4831,43 @@ - - + + - + - - + + - - [r_fieldWeak] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -4590,44 +4879,29 @@ - - - + + + - - + + - - + + - - [Vq] - - - - - - - + + [b_motEna] - - - - - - - - - - - - sfix16_En4 + + + + @@ -4638,29 +4912,45 @@ - - - + + + - - + + - + - - + + - - [iq_limProtErr] + + + + + + + + + + + + + + + + + + - - + + @@ -4671,28 +4961,28 @@ - - + + - + - - + + - - [b_enaAdvCtrl] + + [n_motAbs] - + @@ -4704,44 +4994,44 @@ - - + + - + - + - - [id_min] + + [task3] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -4752,44 +5042,29 @@ - - - + + + - - + + - - + + - - [r_nLimProtMax] + + [Vd_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4800,44 +5075,52 @@ - - - + + + - - + + - - + + - - [Vq_min] + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - + + - - + + - - sfix16_En4 + + action @@ -4848,43 +5131,43 @@ - - + + - + - + - - [Vq_min] + + [n_mot] - + - + - - + + - + sfix16_En4 @@ -4896,9 +5179,9 @@ - - - + + + @@ -4906,187 +5189,193 @@ - - + + - - + + - - i_phaAB + + b_enaAdvCtrl - - + + - - i_phaBC + + z_ctrlMod - - + + - - i_alpha + + r_inpTgtSca - - + + - - i_beta + + r_inpTgtScaAbs - - - - - - - - + + + - - + + n_mot - - - - - - - - + + + - - + + id_Tgt - - + + - - Clarke_Transform + + id + + + + + + + + iq + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + id_max + + + + + + + + id_min - - - - - - - - + + + - - + + iq_max - - + + - - sfix16_En4 + + iq_min - - - - - - - - + + + - - + + r_iqLimProtMax - - + + - - sfix16_En4 + + r_nLimProtMax - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - iq_raw + + iq_limProtErr - - + + - - id_raw + + Vq_nLimProtMax - - + + - - iq + + Vd - - + + - - id + + Vq - - + + - + if { } @@ -5094,75 +5383,75 @@ - + - - + + - + - - + + - - + + - - Current_Filtering + + FOC - + - - + + - - + + - - sfix16_En4 + + action - + - + - - + + - + sfix16_En4 @@ -5170,21 +5459,21 @@ - + - - + + - - + + - - action + + sfix16_En4 @@ -5195,178 +5484,35 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - + + - - + + - - + + - - [iq] + + [r_iqLimProtMax] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -5377,44 +5523,44 @@ - - - + + + - - + + - - + + - - if { } + + [Vd] - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -5425,28 +5571,28 @@ - - + + - + - + - - [a_elecAngle] + + [r_cos] - + @@ -5458,29 +5604,44 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] + + [r_inpTgtSca] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -5491,123 +5652,127 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + i_phaAB - - + + - - + + i_phaBC - - + + - - + + i_alpha - - + + - - + + i_beta - - - - - - - - - - + + + + + + + + - - - - + - - - + + + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - + - - [id] + + Clarke_Transform - - - + + + + + + + + + + + + + + + + + sfix16_En4 - + + + + + + + - - + + - + sfix16_En4 @@ -5619,59 +5784,35 @@ - - - + + + + + + + + + - - + + - - - - - - - 10 - - - - - - - - - - - - - - - - + - - a_elecAngle + + [task2] - - - - - - - - - - - sfix16_En6 + + + @@ -5682,43 +5823,75 @@ - - - + + + - - + + - + - - + + - - [iq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -5730,59 +5903,44 @@ - - - + + + - - + + - - + + - - 9 + + if { } - - + + - - - - - - - - - - r_fieldWeak - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -5793,300 +5951,171 @@ - - - + + + - - - - - - - - + + - - - - - - - - b_enaAdvCtrl - - - - - - - - z_ctrlMod - - - - - - - - r_inpTgtSca - - - - - - - - r_inpTgtScaAbs - - - - - - - - n_mot - - - - - - - - id_Tgt - - - - - - - - id - - - - - - - - iq - - - - - - - - Vd_max - - - - - - - - Vd_min - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - id_max - - - - - - - - id_min - - - - - - - - iq_max - - - - - - - - iq_min - - - - - - - - r_iqLimProtMax - - - - - - - - r_nLimProtMax - - - - - - - - iq_limProtErr - + - + - - Vq_nLimProtMax + + - - + + - - Vd + + - - + + - - Vq + + - - + + - - if { } + + + + + + + + + + - - - - - - - - + + - + + + + - - - - + + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - FOC + + [Vd_min] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - action + + [id_Tgt] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 @@ -6098,34 +6127,28 @@ - - - - - - - - + + - + - - + + - - [Vq_nLimProtMax] + + [iqAbs] - + @@ -6137,43 +6160,43 @@ - - + + - + - - + + - - [iq] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -6185,44 +6208,59 @@ - - - + + + - - + + - - + + - - [r_cos] + + 7 - - + + + + + + + + + + + + + + + + + n_mot - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -6233,58 +6271,43 @@ - - - + + + - - + + - - + + - - 8 + + [r_nLimProtMax] - - - - - - - - - - - - - - - - - n_motAbs + + - + - - + + - + sfix16_En4 @@ -6306,11 +6329,11 @@ - + - + 6 @@ -6328,11 +6351,11 @@ - + - + b_motEna @@ -6343,11 +6366,11 @@ - + - + boolean @@ -6359,44 +6382,59 @@ - - - + + + - - + + - - - + + + - - [id_Tgt] + + 10 - - + + + + + + + + + + + + + + + + + a_elecAngle - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -6407,52 +6445,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [Vq_min] - - + + - - + + - - + + - - action + + sfix16_En4 @@ -6473,11 +6503,11 @@ - + - + 5 @@ -6495,11 +6525,11 @@ - + - + task3 @@ -6510,11 +6540,11 @@ - + - + boolean @@ -6526,44 +6556,59 @@ - - - + + + - - + + - - + + - - [task3] + + 8 - - + + + + + + + + + + + + + + + + + n_motAbs - - + + - - + + - - boolean + + sfix16_En4 @@ -6574,44 +6619,59 @@ - - - + + + - - + + - - + + - - [b_motEna] + + 9 - - + + + + + + + + + + + + + + + + + r_fieldWeak - - + + - - + + - - boolean + + sfix16_En4 @@ -6622,90 +6682,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - + - - + + - + sfix16_En4 @@ -6717,58 +6730,43 @@ - - - + + + - - + + - - + + - - 7 + + [r_fieldWeak] - - - - - - - - - - - - - - - - - n_mot + + - + - + - + sfix16_En4 @@ -6780,29 +6778,44 @@ - - - + + + - - + + - + - - [id] + + [r_cos] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -6823,11 +6836,11 @@ - + - + 3 @@ -6845,11 +6858,11 @@ - + - + r_inpTgtSca @@ -6860,11 +6873,11 @@ - + - + sfix16_En4 @@ -6876,43 +6889,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [iq] - + - + - - + + - + sfix16_En4 @@ -6924,95 +6937,44 @@ - - - + + + - - + + - - + + - - [r_iqLimProtMax] + + [Vq_nLimProtMax] - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motEna] + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - [iq_max] - - - - - - - + + sfix16_En4 @@ -7023,92 +6985,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - z_ctrlMod + + b_enaAdvCtrl - - - - - - - - - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - [id_max] - - - - - - - + + boolean @@ -7119,59 +7048,59 @@ - - + + - + - + - - 4 + + 2 - + - - + + - - + + - - task2 + + z_ctrlMod - - + + - - + + - - boolean + + uint8 @@ -7182,44 +7111,29 @@ - - - + + + - - + + - - + + - - [Vd] + + [iq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -7229,60 +7143,45 @@ - - - - + + + + - - + + - - + + - - 1 + + [r_inpTgtScaAbs] - - - - - - - - - - - - - - - - - b_enaAdvCtrl + + - - + + - - + + - - boolean + + sfix16_En4 @@ -7293,44 +7192,44 @@ - - + + - + - + - - [z_ctrlMod] + + [iqAbs] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -7341,76 +7240,156 @@ - - - + + + - - + + + + + + + + - - + + - - [r_sin] + + iq_raw + + + + + + + + id_raw + + + + + + + + iq + + + + + + + + id + + + + + + + + if { } - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + Current_Filtering + + - + - - + + + + + + + + + + + - - [iq] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + action - + + + + + + + - - + + - + sfix16_En4 @@ -7422,43 +7401,49 @@ - - + + + + + + + + - + - + - - [Vq] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -7470,44 +7455,59 @@ - - - + + + - - + + - - + + - - [id] + + 4 - - + + + + + + + + + + + + + + + + + task2 - - + + - + - - sfix16_En4 + + boolean @@ -9136,5 +9136,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 d5eac28..dfc1716 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 @@ -49,11 +49,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8721", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"Merge1", + "label":"Merge1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -88,54 +88,11 @@ } }, { - "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:8722", + "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":[ @@ -169,39 +126,6 @@ "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:8719", "className":"Simulink.Goto", @@ -236,11 +160,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -249,7 +173,7 @@ "IconDisplay" ], "values":[ - "i_betaAB", + "i_alphaBC", "local", "Tag" ], @@ -269,11 +193,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8714", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8715", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -282,7 +206,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_phaBC", "local", "Tag" ], @@ -334,72 +258,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:8715", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaBC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8711", "className":"Simulink.From", @@ -432,73 +290,11 @@ } }, { - "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:8707", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -506,7 +302,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "i_phaAB", "Tag" ], "tabs":[ @@ -525,11 +321,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8725", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8724", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"i_beta", - "label":"i_beta", + "name":"i_alpha", + "label":"i_alpha", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -558,7 +354,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -636,11 +432,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8705", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -648,7 +444,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_betaBC", "Tag" ], "tabs":[ @@ -667,11 +463,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8703", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8710", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -679,7 +475,7 @@ "IconDisplay" ], "values":[ - "i_alphaBC", + "i_phaBC", "Tag" ], "tabs":[ @@ -698,25 +494,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8720", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "i_alphaAB", - "Tag" + "1", + "u1 ~= 0", + "", + "on", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -724,26 +532,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_alphaBC", - "local", + "i_alpha", "Tag" ], "tabs":[ @@ -757,96 +563,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8724", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"i_alpha", - "label":"i_alpha", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "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", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clarke_PhasesAB", - "label":"Clarke_PhasesAB", + "name":"Clarke_PhasesBC", + "label":"Clarke_PhasesBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -939,11 +665,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8725", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"i_beta", + "label":"i_beta", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "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:8707", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -951,7 +757,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_beta", "Tag" ], "tabs":[ @@ -970,11 +776,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8703", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_alphaBC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "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: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:8671", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clarke_PhasesBC", - "label":"Clarke_PhasesBC", + "name":"Clarke_PhasesAB", + "label":"Clarke_PhasesAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -1067,11 +970,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8710", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -1079,7 +982,38 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "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:8702", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_alphaAB", "Tag" ], "tabs":[ @@ -1164,6 +1098,39 @@ "masktype":"" } }, + { + "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:8669", "className":"Simulink.Inport", @@ -1231,6 +1198,39 @@ "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: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 5e946dba18cc4b7346db993f14205ec215fbad8e..a6224a296a525582adaa92b7850590894bc3dba8 100644 GIT binary patch literal 5850 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 literal 5840 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 D&BX_a diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg index c10f455..01833c4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg @@ -76,11 +76,11 @@ - - - + + + - + @@ -90,7 +90,7 @@ - + @@ -98,7 +98,7 @@ - + @@ -113,22 +113,22 @@ - + - + - + - + sfix16_En4 @@ -140,108 +140,29 @@ - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - - - - - else - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - + + + - + - + - + - + - + @@ -256,22 +177,22 @@ - + - + - - + + - + sfix16_En4 @@ -281,39 +202,6 @@ - - - - - - - - - - - - - - - - - - [i_betaBC] - - - - - - - - - - - - - - - @@ -326,11 +214,11 @@ - + - + [i_beta] @@ -349,28 +237,28 @@ - - + + - + - + - - [i_betaAB] + + [i_alphaBC] - + @@ -382,28 +270,28 @@ - - + + - + - + - - [i_phaAB] + + [i_phaBC] - + @@ -425,11 +313,11 @@ - + - + [i_alphaAB] @@ -448,62 +336,44 @@ - - - + + + - - + + - - + + - - [i_alpha] + + [i_phaBC] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [i_phaBC] - - - - - - - + + sfix16_En4 @@ -514,43 +384,43 @@ - - + + - + - + - - [i_phaBC] + + [i_phaAB] - + - + - - + + - + sfix16_En4 @@ -562,44 +432,44 @@ - - - + + + - - + + - - + + - - [i_alpha] + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + i_alpha @@ -610,43 +480,43 @@ - - + + - + - + - - [i_betaBC] + + [i_betaAB] - + - + - - + + - + sfix16_En4 @@ -658,43 +528,43 @@ - - + + - + - + - - [i_beta] + + [i_betaBC] - + - + - - + + - + sfix16_En4 @@ -706,44 +576,44 @@ - - - + + + - - + + - - + + - - 2 + + [i_phaBC] - - + + - - - + + + - - + + - - i_beta + + sfix16_En4 @@ -754,44 +624,75 @@ - - - + + + - - + + - - + + - - [i_betaAB] + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + else - - + + - - + + - - + + - - sfix16_En4 + + action + + + + + + + + + + + + + + + action @@ -802,43 +703,43 @@ - - + + - + - + - - [i_phaAB] + + [i_alpha] - + - + - - + + - + sfix16_En4 @@ -850,125 +751,157 @@ - - - + + + - - + + + + + + + + - - + + - - [i_alphaBC] + + i_phaB + + + + + + + + i_phaC + + + + + + + + i_alphaBC + + + + + + + + i_betaBC + + + + + + + + else { } - - + + + + + + + + - - - + + + + + + + + + - - + + - - sfix16_En4 + + Clarke_PhasesBC - - - - - - - - - - - - - - - + - - - + + + + - - [i_alphaAB] + + - - - - - - + + + + + + + action - + + + + + + + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - - + + + + - - [i_alphaBC] + + - - - - - - + + + + + + + sfix16_En4 @@ -979,44 +912,50 @@ - - + + + + + + + + - + - + - - 1 + + 2 - + - - + + - - + + - - i_alpha + + i_beta @@ -1027,156 +966,91 @@ - - - + + + - - - - - - - - + + - - - - - - i_phaA - - - - - - - - i_phaB - - - - - - - - i_alphaAB - - - - - - - - i_betaAB - - - - + + - - if { } + + [i_beta] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Clarke_PhasesAB + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [i_alphaBC] - - - - - - - - - - - - - - - - - action + + + - - - - - - - + - - + + - + sfix16_En4 @@ -1188,50 +1062,62 @@ - - - - - - - - - + + + - - + + - - + + - - [i_phaAB] + + [i_betaBC] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [i_betaAB] + + + + + + + @@ -1242,9 +1128,9 @@ - - - + + + @@ -1252,50 +1138,50 @@ - + - + - - i_phaB + + i_phaA - + - - i_phaC + + i_phaB - + - - i_alphaBC + + i_alphaAB - + - - i_betaBC + + i_betaAB - + - - else { } + + if { } @@ -1307,7 +1193,7 @@ - + @@ -1320,16 +1206,16 @@ - - + + - - + + - - Clarke_PhasesBC + + Clarke_PhasesAB @@ -1341,16 +1227,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1362,16 +1248,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1383,15 +1269,15 @@ - + - - + + - + sfix16_En4 @@ -1403,49 +1289,97 @@ - + - + - + - + - - [i_phaBC] + + [i_phaAB] - + - + - - + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_alphaAB] + + + + + + + + + + + + + + + + + + - + sfix16_En4 @@ -1467,11 +1401,11 @@ - + - + 2 @@ -1489,11 +1423,11 @@ - + - + i_phaBC @@ -1504,11 +1438,11 @@ - + - + sfix16_En4 @@ -1518,6 +1452,39 @@ + + + + + + + + + + + + + + + + + + [i_phaAB] + + + + + + + + + + + + + + + @@ -1530,11 +1497,11 @@ - + - + 1 @@ -1552,11 +1519,11 @@ - + - + i_phaAB @@ -1567,11 +1534,11 @@ - + - + sfix16_En4 @@ -1581,6 +1548,39 @@ + + + + + + + + + + + + + + + + + + [i_alpha] + + + + + + + + + + + + + + + @@ -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 40daabe..61d0889 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:8683", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"i_alphaAB", - "label":"i_alphaAB", + "name":"i_betaAB", + "label":"i_betaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -82,7 +82,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -188,22 +188,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "i_phaB", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -216,16 +216,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_phaA", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "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":[ @@ -254,7 +287,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -301,44 +334,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8675", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -346,7 +346,7 @@ "IconDisplay" ], "values":[ - "i_phaB", + "i_phaA", "Tag" ], "tabs":[ @@ -365,20 +365,20 @@ } }, { - "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" @@ -391,7 +391,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, @@ -454,70 +454,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8674", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "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:8679", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaA", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8673", "className":"Simulink.Inport", @@ -585,6 +521,98 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"Gain2", + "label":"Gain2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "2/sqrt(3)", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "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:8681", + "className":"Simulink.SignalConversion", + "icon":"WebViewIcon3", + "name":"Signal Conversion2", + "label":"Signal Conversion2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "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:8672", "className":"Simulink.Inport", @@ -653,53 +681,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "2/sqrt(3)", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "i_phaB", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -707,7 +707,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"From", "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 1f11d03..2279b4e 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 @@ - - 1 + + 2 - + - - + + - + - - i_alphaAB + + i_betaAB @@ -184,172 +184,29 @@ - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [i_phaB] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -360,44 +217,29 @@ - - - + + + - - + + - - + + - - 2 + + [i_phaA] - - - - - - - - - - - - - - - - - i_betaAB + + @@ -408,29 +250,44 @@ - - - + + + - - + + - - + + - - [i_phaB] + + 1 - - + + + + + + + + + + + + + + + + + i_alphaAB @@ -441,43 +298,43 @@ - - + + - + - + - - [i_phaB] + + [i_phaA] - + - + - - + + - + sfix16_En4 @@ -489,44 +346,44 @@ - - - + + + - - + + - - + + - - [i_phaA] + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -547,11 +404,11 @@ - + - + 1/sqrt(3) @@ -569,11 +426,11 @@ - + - + sfix16_En4 @@ -585,44 +442,59 @@ - - - + + + - - + + - - + + - - if { } + + 2 - - + + - - + + - - + + - - Action Port + + i_phaB + + + + + + + + + + + + + + + sfix16_En4 @@ -633,29 +505,44 @@ - - - + + + - - + + - - + + - - [i_phaA] + + 2/sqrt(3) - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -666,58 +553,171 @@ - - - + + + - - + + - + - - + + - - 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - i_phaB + + + + + + + - + - + - + sfix16_En4 @@ -792,43 +792,43 @@ - - - + + + - - + + - + - - 2/sqrt(3) + + [i_phaB] - - + + - + - + - + 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 5301809..24ff7c6 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 @@ -129,74 +129,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8699", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8696", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"i_alphaBC", - "label":"i_alphaBC", + "name":"Goto15", + "label":"Goto15", "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":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "i_phaC", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -204,58 +157,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "rectangular", - "+-", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "i_phaC", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -263,16 +188,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -292,7 +217,7 @@ ], "values":[ "rectangular", - "--", + "+-", "off", "Inherit: Inherit via internal rule", "[]", @@ -327,51 +252,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8694", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8699", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"i_alphaBC", + "label":"i_alphaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "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":[ - "1/sqrt(3)", - "Element-wise(K.*u)", + "1", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "Zero", "off", "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -381,16 +327,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -398,7 +344,7 @@ "IconDisplay" ], "values":[ - "i_phaB", + "i_phaC", "Tag" ], "tabs":[ @@ -417,19 +363,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaC", + "i_phaB", + "local", "Tag" ], "tabs":[ @@ -443,7 +391,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -478,6 +426,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "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:8688", "className":"Simulink.Inport", @@ -546,25 +553,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8690", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8694", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "i_phaB", - "Tag" + "1/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" @@ -572,26 +607,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8696", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_phaC", - "local", + "i_phaB", "Tag" ], "tabs":[ @@ -605,7 +638,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -677,44 +710,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8690", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -722,7 +722,7 @@ "IconDisplay" ], "values":[ - "i_phaC", + "i_phaB", "Tag" ], "tabs":[ 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 0a32ec4..90f2a4c 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 @@ -112,44 +112,77 @@ - - - + + + - - + + - + - - 1 + + [i_phaC] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + [i_phaC] + + + + + + + + + + + + + + - - + + - - i_alphaBC + + sfix16_En4 @@ -170,27 +203,27 @@ - + - + - + - + - + - + @@ -208,11 +241,11 @@ - + - + sfix16_En4 @@ -224,52 +257,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + i_alphaBC @@ -280,43 +305,43 @@ - - - + + + - - + + - - + + - - 1/sqrt(3) + + [i_phaC] - - + + - + - - + + - + sfix16_En4 @@ -328,44 +353,29 @@ - - - + + + - - + + - - + + - + [i_phaB] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -376,44 +386,44 @@ - - - + + + - - + + - + - - [i_phaC] + + else { } - - + + - - - + + + - + - - sfix16_En4 + + Action Port @@ -424,44 +434,52 @@ - - - + + + - - + + - + - - else { } + + + + + + + + + + - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -482,11 +500,11 @@ - + - + 2 @@ -504,11 +522,11 @@ - + - + i_phaC @@ -519,11 +537,11 @@ - + - + sfix16_En4 @@ -535,43 +553,43 @@ - - - + + + - - + + - - + + - - [i_phaB] + + 1/sqrt(3) - - + + - + - - + + - + sfix16_En4 @@ -583,29 +601,44 @@ - - - + + + - - + + - - + + - - [i_phaC] + + [i_phaB] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -626,11 +659,11 @@ - + - + 1 @@ -648,11 +681,11 @@ - + - + i_phaB @@ -663,11 +696,11 @@ - + - + sfix16_En4 @@ -679,44 +712,11 @@ - - - - - - - - - - - - - - - - [i_phaB] - - - - - - - - - - - - - - - - - - - + + - + @@ -726,29 +726,29 @@ - - [i_phaC] + + [i_phaB] - + - + - + - + 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 1763ae0..1724c6e 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,21 +1,148 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8741", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"iq", + "label":"iq", "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":[ - "id", - "local", - "Tag" + "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: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", + "icon":"WebViewIcon3", + "name":"Mux2", + "label":"Mux2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -28,16 +155,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -46,7 +173,7 @@ "IconDisplay" ], "values":[ - "iq", + "id", "local", "Tag" ], @@ -66,112 +193,54 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Low_Pass_Filter", - "label":"Low_Pass_Filter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", "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" + "GotoTag", + "TagVisibility", + "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" + "id_raw", + "local", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "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:8733", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_raw", + "iq", + "local", "Tag" ], "tabs":[ @@ -185,16 +254,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -202,7 +271,7 @@ "IconDisplay" ], "values":[ - "id", + "iq_raw", "Tag" ], "tabs":[ @@ -221,27 +290,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8729", - "className":"Simulink.Demux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Demux1", - "label":"Demux1", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Outputs", - "DisplayOption", - "BusSelectionMode" + "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", - "bar", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "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" @@ -249,74 +365,118 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Demux", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_currFilt", - "label":"cf_currFilt", + "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":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "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":[ - "cf_currFilt", + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", "off", - "inf" + "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":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 3, - 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "bar" + "id_raw", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -329,27 +489,27 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8729", + "className":"Simulink.Demux", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Demux1", + "label":"Demux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Outputs", + "DisplayOption", + "BusSelectionMode" ], "values":[ - "id_raw", - "local", - "Tag" + "2", + "bar", + "off" ], "tabs":[ "Parameter Attributes" @@ -362,7 +522,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Demux", "masktype":"" } }, @@ -398,78 +558,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8728", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"id_raw", - "label":"id_raw", - "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" - ], - "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:8732", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -477,7 +570,7 @@ "IconDisplay" ], "values":[ - "iq_raw", + "iq", "Tag" ], "tabs":[ @@ -496,11 +589,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":[ @@ -516,17 +609,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "2", @@ -541,17 +628,10 @@ "-1", "auto", "off", + "", + "on", "off", - "0", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -571,7 +651,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, @@ -608,86 +688,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8741", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "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:8727", "className":"Simulink.Inport", @@ -756,11 +756,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -768,7 +768,7 @@ "IconDisplay" ], "values":[ - "iq", + "id", "Tag" ], "tabs":[ 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 5578673c22b2befa0f26f411d5229dbb6a9060fa..b7c48a39e5dcd64742fa86040b68771c8623a0c6 100644 GIT binary patch literal 5211 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 v8J4$6g@O2_xRnSYP~`doJ{i~qrj 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 YSAa4#UhH86*hGZrXy~hBRIMZa1H7Ve!T + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + iq + + + + + + + + + + + + + + + + + + + + + + + + + + cf_currFilt + + + + + + + + + + + + + + + + + + + + + + cf_currFilt + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + @@ -23,11 +182,11 @@ - + - + [id] @@ -44,6 +203,39 @@ + + + + + + + + + + + + + + + + + + [id_raw] + + + + + + + + + + + + + + + @@ -56,11 +248,11 @@ - + - + [iq] @@ -77,11 +269,107 @@ + + + + + + + + + + + + + + + + + + [iq_raw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + - + @@ -89,195 +377,195 @@ - + - + u - + - + coef - + - + y - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + coef @@ -295,11 +583,11 @@ - + - + Low_Pass_Filter @@ -309,267 +597,45 @@ - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [id_raw] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - cf_currFilt - - - - - - - - - - - - - - - - + - - cf_currFilt + + sfix16_En4 - - - - + - - + + - - ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + @@ -580,43 +646,43 @@ - - - + + + - - + + - - + + - - + + [id_raw] - - + + - + - - + + - + sfix16_En4 @@ -628,77 +694,59 @@ - - - + + + - - + + - - + + - - [id_raw] + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - if { } - - - - - - - + + sfix16_En4 - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -709,59 +757,44 @@ - - - + + + - - + + - - + + - - 2 + + if { } - - + + - - - - - - - - - - id_raw - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -772,43 +805,43 @@ - - + + - + - + - - [iq_raw] + + [iq] - + - + - - + + - + sfix16_En4 @@ -820,44 +853,59 @@ - - + + - + - + - + 2 - + - - + + - - + + - - id + + id_raw + + + + + + + + + + + + + + + sfix16_En4 @@ -878,11 +926,11 @@ - + - + [iq_raw] @@ -899,54 +947,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - iq - - - - - - - - @@ -1012,11 +1012,11 @@ - - + + - + @@ -1026,29 +1026,29 @@ - - [iq] + + [id] - + - + - + - + sfix16_En4 @@ -1093,7 +1093,7 @@ - + @@ -1214,5 +1214,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 84cf778..86848a0 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 @@ -1,6 +1,6 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2407", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2904", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", @@ -80,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2406", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2903", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -130,11 +130,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2405", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2902", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum5", - "label":"Sum5", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -154,8 +154,8 @@ ], "values":[ "rectangular", - "+-", - "on", + "++", + "off", "Inherit: Same as first input", "[]", "[]", @@ -189,11 +189,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2901", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -213,15 +213,15 @@ ], "values":[ "rectangular", - "++", - "on", - "Inherit: Inherit via internal rule", + "+-", + "off", + "Inherit: Same as first input", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -248,11 +248,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2900", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -275,7 +275,7 @@ "off", "[]", "[]", - "Inherit: Same as first input", + "Inherit: Inherit via internal rule", "off", "Simplest", "off", @@ -305,60 +305,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2400", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2899", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"coef", - "label":"coef", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "2", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "fixdt(1,16,4)", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -367,94 +347,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2898", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"coef", + "label":"coef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "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:8738:2403", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "[]", - "[]", - "Inherit: Same as first input", + "", + "on", "off", - "Simplest", "off", - "1", - "All dimensions", - "-1" + "off" ], "tabs":[ "Main", @@ -464,7 +405,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -473,12 +414,12 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2399", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2897", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", @@ -545,58 +486,7 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2399#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "inspector":{ - "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" - ], - "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" - ], - "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" - ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2898#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -647,7 +537,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2900#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -698,7 +588,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2403#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2897#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -749,7 +639,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2406#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2899#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -800,7 +690,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2405#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2903#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -851,7 +741,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2400#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2901#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -902,7 +792,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2902#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_8738_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.png index 82272b088586d1e8729f1e6c0ab48608f74fc1ee..f6547fcf253c87d949db426267807287f50a2270 100644 GIT binary patch literal 4927 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 literal 5622 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 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 1d2d640..a9d0474 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 @@ -234,54 +234,6 @@ - - - - - - - - - - - - - - - - - - 12 - - - - - - - - - - - - - - - - - - - - - - Vq_nLimProtMax - - - - - - - - @@ -294,11 +246,11 @@ - + - + 11 @@ -316,11 +268,11 @@ - + - + iq_limProtErr @@ -342,11 +294,11 @@ - + - + 9 @@ -364,11 +316,11 @@ - + - + r_iqLimProtMax @@ -380,44 +332,44 @@ - - + + - + - + - - 7 + + 8 - + - - + + - - + + - - iq_max + + iq_min @@ -428,44 +380,44 @@ - - + + - + - + - - 4 + + 5 - + - - + + - - + + - - Vq_min + + id_max @@ -476,44 +428,44 @@ - - + + - + - + - - 10 + + 1 - + - - + + - - + + - - r_nLimProtMax + + Vd_max @@ -526,7 +478,7 @@ - + @@ -534,83 +486,83 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -636,11 +588,11 @@ - + - + iq_maxSca_XA @@ -651,11 +603,11 @@ - + - + uint8 @@ -669,7 +621,7 @@ - + @@ -677,28 +629,52 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -714,7 +690,7 @@ - + @@ -722,7 +698,7 @@ - + @@ -730,7 +706,7 @@ - + @@ -738,7 +714,7 @@ - + @@ -746,7 +722,7 @@ - + @@ -754,7 +730,7 @@ - + @@ -762,7 +738,7 @@ - + @@ -770,7 +746,7 @@ - + @@ -778,7 +754,7 @@ - + @@ -786,7 +762,7 @@ - + @@ -794,7 +770,7 @@ - + @@ -802,7 +778,7 @@ - + @@ -810,7 +786,7 @@ - + @@ -818,7 +794,7 @@ - + @@ -826,7 +802,7 @@ - + @@ -834,7 +810,7 @@ - + @@ -842,7 +818,7 @@ - + @@ -850,7 +826,7 @@ - + @@ -858,7 +834,7 @@ - + @@ -866,7 +842,7 @@ - + @@ -874,7 +850,7 @@ - + @@ -882,7 +858,7 @@ - + @@ -890,7 +866,7 @@ - + @@ -898,7 +874,7 @@ - + @@ -906,7 +882,7 @@ - + @@ -914,7 +890,7 @@ - + @@ -922,7 +898,7 @@ - + @@ -930,7 +906,7 @@ - + @@ -938,54 +914,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + - + 1-D T(k,f) - + - + k1 - + - + f1 @@ -1003,11 +955,11 @@ - + - + iq_maxSca_M1 @@ -1018,11 +970,11 @@ - + - + ufix16_En16 @@ -1034,139 +986,242 @@ - - - + + + - - + + - + - - - - - - - - - - + + - - + + [iq_min] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [iq_max] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vd_min] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [r_iqLimProtMax] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [iq_limProtErr] - + + + + + + + + + + + + + + + + + + + + + + + + + 3 + - - + + - - + + - - + + - - Vq_max_XA + + Vq_max - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [r_inpTgtScaAbs] + + + + + + + @@ -1177,44 +1232,44 @@ - - + + - + - + - - 5 + + 2 - + - - + + - - + + - - id_max + + Vd_min @@ -1225,363 +1280,442 @@ - - - + + + - - + + + + + + + + - - + + - - + + iq - - + + - - + + iq_max - - + + - - + + iq_min - - + + - - + + iq_limProtErr - - + + - - + + case: { } + + + + - - - + + + + - - + + + + + + - - - + + + + - - + + - - + + - - + + Speed_Mode_Protection + + + + - - - + + + + - - + + - - + + - - + + action + + + + - - - + + + + - - + + - - + + - - + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [iqAbs] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + u1 - - + + - - + + case [ 1 ]: - - + + - - + + case [ 2 ]: - - + + - - + + case [ 3 ]: - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + action - - - - - - - + + + + + + - - + + - - + + action - - - - - - - + + + + + + - - + + - - + + action + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + [n_motAbs] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [z_ctrlMod] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - 1-D T(k,f) + + [n_max] - - - - - - - k1 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - f1 + + [VdPrev] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - Vq_max_M1 + + [Vd_max] - - - - - - - - - - - sfix16_En4 + + + @@ -1592,44 +1726,44 @@ - - - + + + - - + + - - + + - - Vd_max + + 10 - - + + - - - + + + - - + + - - sfix16_En4 + + r_nLimProtMax @@ -1640,181 +1774,44 @@ - - - + + + - - - - - - - - + + - - - - - - r_inpTgtScaAbs - - - - - - - - iqAbs - - - - - - - - iq_max - - - - - - - - n_motAbs - - - - - - - - n_max - - - - - - - - r_iqLimProtMax - - - - - - - - r_nLimProtMax - - - - + + - - case: { } + + 12 - - - - - - - - + + - - - - - - - - - - - - - - - - Voltage_Mode_Protection - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - + + - - + + - - sfix16_En4 + + Vq_nLimProtMax @@ -1825,50 +1822,44 @@ - - - - - - - - - + + + - - + + - - + + - - 6 + + -1 - - + + - - - + + + - - + + - - id_min + + sfix16_En4 @@ -1879,62 +1870,44 @@ - - - + + + - - + + - - + + - - [iq_min] + + -1 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [iq_max] - - - - - - - + + sfix16_En4 @@ -1945,469 +1918,362 @@ - - - + + + - - + + - - + + - - [Vd_min] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [r_iqLimProtMax] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [iq_limProtErr] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [id_TgtAbs] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [r_inpTgtScaAbs] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - 3 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - Vq_max + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - [n_motAbs] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [z_ctrlMod] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [VdPrev] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [id_max] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - -1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + 1-D T(k,f) - - + + - - sfix16_En4 + + k1 - - - - - - - - - - - - - - - - - - - - + + - - [Vq_nLimProtMax] + + f1 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - -1 - - - - - - - + + Vq_max_M1 - + - - + + - + sfix16_En4 @@ -2429,11 +2295,11 @@ - + - + -1 @@ -2451,11 +2317,11 @@ - + - + sfix16_En4 @@ -2477,11 +2343,11 @@ - + - + [iq_min] @@ -2499,12 +2365,45 @@ - - + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + - - sfix16_En4 + + [id_min] + + + + + + + @@ -2525,11 +2424,11 @@ - + - + [iq_max] @@ -2547,11 +2446,11 @@ - + - + sfix16_En4 @@ -2563,43 +2462,43 @@ - - + + - + - + - - [id_min] + + [id_TgtAbs] - + - + - - + + - + sfix16_En4 @@ -2621,11 +2520,11 @@ - + - + [Vd_min] @@ -2643,11 +2542,11 @@ - + - + sfix16_En4 @@ -2669,11 +2568,11 @@ - + - + [r_nLimProtMax] @@ -2691,11 +2590,11 @@ - + - + sfix16_En4 @@ -2705,6 +2604,39 @@ + + + + + + + + + + + + + + + + + + [r_nLimProtMax] + + + + + + + + + + + + + + + @@ -2717,11 +2649,11 @@ - + - + [r_iqLimProtMax] @@ -2739,11 +2671,11 @@ - + - + sfix16_En4 @@ -2755,43 +2687,43 @@ - - + + - + - + - - [n_motAbs] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -2803,43 +2735,43 @@ - - + + - + - + - - [n_max] + + [iqAbs] - + - + - - + + - + sfix16_En4 @@ -2851,44 +2783,190 @@ - - + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + n_max + + + + + + + + Vq_max + + + + + + + + Vq_nLimProtMax + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Torque_Mode_Protection + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + - + - + - - [iq] + + [z_ctrlMod] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2899,43 +2977,43 @@ - - + + - + - + - - [Vd_max] + + [id_min] - + - + - - + + - + sfix16_En4 @@ -2947,44 +3025,139 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - [iq_limProtErr] + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Vq_max_XA - - + + - - + + - - sfix32_En20 + + uint8 @@ -2995,44 +3168,29 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [id_TgtAbs] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3043,44 +3201,44 @@ - - - + + + - - + + - - + + - - [iqAbs] + + 4 - - + + - - - + + + - - + + - - sfix16_En4 + + Vq_min @@ -3091,43 +3249,43 @@ - - + + - + - + - - [id_TgtAbs] + + [iq] - + - + - - + + - + sfix16_En4 @@ -3139,44 +3297,29 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [Vq_nLimProtMax] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3187,44 +3330,44 @@ - - - + + + - - + + - - + + - - [Vq_nLimProtMax] + + 7 - - + + - - - + + + - - + + - - sfix16_En4 + + iq_max @@ -3235,43 +3378,43 @@ - - + + - + - + - - [VdPrev] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -3283,43 +3426,43 @@ - - + + - + - + - - [n_motAbs] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -3331,102 +3474,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + [iq_limProtErr] - - + + - - - - - - - - - - ufix16_En16 + + - - - - - - - - - - - - - - - - - - - - + + - - [r_nLimProtMax] - - - - - - - + + sfix32_En20 @@ -3437,98 +3522,44 @@ - - - + + + - - + + - - - - - - u1 - - - - - - - - case [ 1 ]: - - - - - - - - case [ 2 ]: - - - - + + - - case [ 3 ]: + + [Vq_max] - - - - - - - - - - - - - - - - - action + + - - + + - - - - - action - - - - - - - - - - - + - - action + + sfix16_En4 @@ -3539,44 +3570,44 @@ - - - + + + - - + + - - + + - - 8 + + [Vq_nLimProtMax] - - + + - - - + + + - - + + - - iq_min + + sfix16_En4 @@ -3587,29 +3618,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [iq_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3620,29 +3666,44 @@ - - - + + + - - + + - + - - [Vq_min] + + [n_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3653,44 +3714,44 @@ - - - + + + - - + + - - + + - - 2 + + -1 - - + + - - - + + + - - + + - - Vd_min + + sfix16_En4 @@ -3701,59 +3762,83 @@ - - - + + + - + - - + + - - + + + + + + r_inpTgtScaAbs + + + + + + + + iqAbs + + + + + + + + iq_max + + + + - + n_motAbs - - + + - + n_max - - + + - - Vq_max + + r_iqLimProtMax - - + + - - Vq_nLimProtMax + + r_nLimProtMax - - + + - + case: { } @@ -3761,211 +3846,97 @@ - + - - + + - + - - + + - - + + - - Torque_Mode_Protection + + Voltage_Mode_Protection - + - - + + - - + + - - action + + sfix16_En4 - + - + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - n_max - - - - - - - + + sfix16_En4 - - + + + + + + + + - - + + - - sfix16_En4 + + action @@ -3976,52 +3947,50 @@ - - - + + + + + + + + + - - + + - - - - - - - - - - + + - - + + 0 - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4032,44 +4001,29 @@ - - - + + + - - + + - - + + - - [n_max] + + [Vq_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4080,28 +4034,28 @@ - - + + - + - - + + - - [iq] + + [id_max] - + @@ -4123,11 +4077,11 @@ - + - + 0 @@ -4145,11 +4099,11 @@ - + - + uint8 @@ -4161,92 +4115,69 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] - - - - - - - + + - - - - - - + + + + + + + - - + + - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - i_max + + + - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -4257,75 +4188,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 7 - - - - - + + + + - - - + + + + + + + + + + + n_motAbs - + - - + + - + sfix16_En4 @@ -4337,43 +4251,43 @@ - - + + - + - + - - [r_inpTgtScaAbs] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -4385,29 +4299,44 @@ - - - + + + - - + + - - + + - - [id_min] + + [Vq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4418,58 +4347,58 @@ - - + + - + - + - - 7 + + 5 - + - - + + - - + + - - n_motAbs + + iq - + - - + + - + sfix16_En4 @@ -4481,44 +4410,59 @@ - - + + - + - + - - 1 + + 4 - + - - + + - - + + - - Vd_max + + id_TgtAbs + + + + + + + + + + + + + + + sfix16_En4 @@ -4529,43 +4473,76 @@ - - + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + - + - + - - [iq_max] + + [n_max] - + - + - - + + - + sfix16_En4 @@ -4577,43 +4554,43 @@ - - - + + + - - + + - - + + - - [id_max] + + i_max - - + + - + - - + + - + sfix16_En4 @@ -4625,58 +4602,43 @@ - - - + + + - - + + - - + + - - 6 + + [n_motAbs] - - - - - - - - - - - - - - - - - iqAbs + + - + - - + + - + sfix16_En4 @@ -4688,43 +4650,58 @@ - - - + + + - - + + - - + + - - [Vq_min] + + 6 - - + + + + + + + + + + + + + + + + + iqAbs - + - - - + + + - + sfix16_En4 @@ -4736,29 +4713,44 @@ - - - + + + - - + + - - + + - - [n_max] + + 6 - - + + + + + + + + + + + + + + + + + id_min @@ -4769,44 +4761,59 @@ - - - + + + - - + + - - + + - - if { } + + 3 - - + + - - + + - - + + - - Action Port + + VdPrev + + + + + + + + + + + + + + + sfix16_En4 @@ -4817,43 +4824,43 @@ - - - + + + - - + + - - + + - - [iq_max] + + Vd_max - - + + - + - - + + - + sfix16_En4 @@ -4865,58 +4872,43 @@ - - - + + + - - + + - - + + - - 5 + + [n_motAbs] - - - - - - - - - - - - - - - - - iq + + - + - - + + - + sfix16_En4 @@ -4928,58 +4920,43 @@ - - - + + + - - + + - - + + - - 4 + + [VdPrev] - - - - - - - - - - - - - - - - - id_TgtAbs + + - + - - + + - + sfix16_En4 @@ -4991,58 +4968,43 @@ - - - + + + - - + + - - + + - - 3 + + [id_max] - - - - - - - - - - - - - - - - - VdPrev + + - + - - + + - + sfix16_En4 @@ -5054,136 +5016,180 @@ - - - + + + - - - - - - - - + + - + - - + + - - iq + + - - + + - - iq_max + + - - + + - - iq_min + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - iq_limProtErr + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - case: { } + + if { } - - - - - - - - + + - - - - - - - - + + - - + + - - Speed_Mode_Protection + + Action Port - + + + + + + + + + + + + + + + - - - - + + + - - + + - + - - sfix32_En20 + + + + + + + + + - - - - - - - - + + - + - - action + + sfix16_En4 @@ -5194,34 +5200,28 @@ - - - - - - - - + + - + - + - - [iqAbs] + + [Vq_max] - + @@ -5233,44 +5233,59 @@ - - - + + + - - + + - + - - -1 + + 1 - - + + - - - + + + - + - - sfix16_En4 + + z_ctrlMod + + + + + + + + + + + + + + + uint8 @@ -5281,43 +5296,43 @@ - - + + - + - + - - [iq_min] + + [r_inpTgtScaAbs] - + - + - - + + - + sfix16_En4 @@ -5329,58 +5344,43 @@ - - - + + + - - + + - - + + - - 2 + + n_max - - - - - - - - - - - - - - - - - r_inpTgtScaAbs + + - + - + - + sfix16_En4 @@ -5392,11 +5392,11 @@ - - + + - + @@ -5406,45 +5406,45 @@ - - 1 + + 2 - + - - + + - + - - z_ctrlMod + + r_inpTgtScaAbs - - + + - + - - uint8 + + sfix16_En4 @@ -5706,10 +5706,10 @@ - + - + @@ -6359,5 +6359,5 @@ - + 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 0605bca..3be0849 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 @@ -42,7 +42,7 @@ - + @@ -213,5 +213,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 18405d8..876245e 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 @@ -477,27 +477,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "r_sin", - "local", - "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" @@ -505,16 +531,75 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9063", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "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:9064", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -523,7 +608,7 @@ "IconDisplay" ], "values":[ - "i_apha", + "r_sin", "local", "Tag" ], @@ -576,53 +661,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "i_beta", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -630,7 +687,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"From", "masktype":"" } }, @@ -666,53 +723,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9059", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "rectangular", - "-+", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "r_cos", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -720,16 +749,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9059", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -737,7 +766,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "i_apha", "Tag" ], "tabs":[ @@ -756,11 +785,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9054", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -768,7 +797,7 @@ "IconDisplay" ], "values":[ - "i_apha", + "r_sin", "Tag" ], "tabs":[ @@ -787,11 +816,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9053", + "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:9052", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -843,39 +905,6 @@ "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:9057", "className":"Simulink.From", @@ -908,11 +937,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9051", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -965,11 +994,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":[ @@ -977,7 +1006,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_cos", "Tag" ], "tabs":[ @@ -996,11 +1025,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9051", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1084,11 +1113,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9053", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1141,50 +1170,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_cos", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9063", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_beta", + "i_apha", + "local", "Tag" ], "tabs":[ @@ -1198,7 +1198,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, 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 6b9aab2..666cec1 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 @@ -412,95 +412,60 @@ - - - + + + - - + + - + - - [r_sin] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - + - - [i_apha] + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [r_cos] - - - - - - - + + sfix16_En4 @@ -521,35 +486,35 @@ - + - + - + - + - + - + - + - + @@ -567,11 +532,11 @@ - + - + sfix16_En4 @@ -583,44 +548,62 @@ - - - + + + - - + + - - + + - + [r_sin] - - + + - - - - + + + + + + + + + + + + + + + - + - - sfix16_En14 + + [r_cos] + + + + + + + @@ -631,60 +614,92 @@ - - - + + + - - + + - + - - + + [i_beta] + + + + + + + + + + + + + + - + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [r_sin] - - + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -705,11 +720,11 @@ - + - + [r_cos] @@ -727,11 +742,11 @@ - + - + sfix16_En14 @@ -753,11 +768,11 @@ - + - + [i_apha] @@ -775,11 +790,11 @@ - + - + sfix16_En4 @@ -791,52 +806,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + [r_sin] - - + + - - + + - + - - sfix16_En4 + + sfix16_En14 @@ -878,54 +885,6 @@ - - - - - - - - - - - - - - - - - - [i_beta] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -938,19 +897,19 @@ - + - + - + - + @@ -968,11 +927,11 @@ - + - + sfix16_En4 @@ -984,44 +943,44 @@ - - + + - + - + - - [r_sin] + + [i_beta] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -1042,19 +1001,19 @@ - + - + - + - + @@ -1072,11 +1031,11 @@ - + - + sfix16_En4 @@ -1088,44 +1047,44 @@ - - + + - + - + - - [i_apha] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1146,19 +1105,19 @@ - + - + - + - + @@ -1176,11 +1135,11 @@ - + - + sfix16_En4 @@ -1192,44 +1151,44 @@ - - + + - + - + - - [r_cos] + + [i_apha] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -1240,43 +1199,51 @@ - - - + + + - - + + - - + + - - [i_beta] + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1286,6 +1253,39 @@ + + + + + + + + + + + + + + + + + + [i_apha] + + + + + + + + + + + + + + + @@ -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 3afdfa9..786c13c 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,91 +129,158 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_nKp", - "label":"cf_nKp", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "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":[ - "cf_nKp", + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", "on", - "inf", - "[]", - "[]", - "fixdt(0,16,12)", "off", - "inf" + "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":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 3, - 7 ] }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto31", + "label":"Goto31", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_limProtErr", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"cf_nKi", + "label":"cf_nKi", "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", - "|+-", + "cf_nKi", "off", - "Inherit: Inherit via internal rule", + "inf", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(0,16,16)", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "inf" ], "tabs":[ "Main", @@ -222,8 +289,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 3, + 7 ] }, "viewer":{ @@ -232,7 +299,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Constant", "masktype":"" } }, @@ -270,11 +337,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9094", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -283,7 +350,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "n_mot", "local", "Tag" ], @@ -303,11 +370,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -316,7 +383,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", "local", "Tag" ], @@ -336,21 +403,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq_limProtErr", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -364,7 +429,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -400,19 +465,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "Vq_max", + "local", "Tag" ], "tabs":[ @@ -426,16 +493,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -443,7 +510,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -462,11 +529,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10714", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -474,7 +541,7 @@ "IconDisplay" ], "values":[ - "iq_limProtErr", + "n_mot", "Tag" ], "tabs":[ @@ -493,21 +560,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9094", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10714", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", - "local", + "iq_limProtErr", "Tag" ], "tabs":[ @@ -521,55 +586,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"iq_limProtErr", - "label":"iq_limProtErr", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "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", + "round", + "|+-", + "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", @@ -579,7 +636,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -588,130 +645,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt", - "label":"PI_clamp_fixdt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "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", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"cf_nKi", - "label":"cf_nKi", + "name":"iq_limProtErr", + "label":"iq_limProtErr", "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_nKi", - "off", - "inf", + "5", + "Port number", "[]", "[]", - "fixdt(0,16,16)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -720,8 +702,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -730,16 +712,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9078", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -762,7 +744,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -802,20 +784,69 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"cf_nKp", + "label":"cf_nKp", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "r_inpTgtSca", - "Tag" + "cf_nKp", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,12)", + "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:9082", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -828,16 +859,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9076", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9078", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -860,7 +891,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -900,42 +931,11 @@ } }, { - "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":[ - "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:9075", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9076", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -958,7 +958,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -998,11 +998,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9075", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1025,7 +1025,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", 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 5ac1e7d148bf5f65eb82023a49364bb7a3a17e28..ccb0af67ea1848c72c4671be6942c30409201e37 100644 GIT binary patch delta 5171 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 delta 5142 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 HYa97Lk}g_{ 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 5e9498e..5387d15 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 @@ -80,140 +80,179 @@ - - - + + + - - + + - + - - cf_nKp - - - - - - - - - - - - - - + + err - + - - ufix16_En12 + + P + + + + + + + + I - - - - - - - - - - - - - - - - - - - + - - + + satMax - + - - + + satMin - + - - + + ext_limProt + + + + + + + + out + + + + + + + + PI(z) - - + + + + + + + + + + + + + + + + + PI_clamp_fixdt - + - - + + - + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - - [Vq_min] + + [iq_limProtErr] - + @@ -225,29 +264,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + cf_nKi - - + + + + + + + + + + + + + + + + + ufix16_En16 @@ -258,28 +312,28 @@ - - + + - + - + - - [Vq_max] + + [Vq_min] - + @@ -291,28 +345,28 @@ - - + + - + - + - - [iq_limProtErr] + + [n_mot] - + @@ -324,44 +378,29 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -382,11 +421,11 @@ - + - + [Vq_max] @@ -404,11 +443,11 @@ - + - + sfix16_En4 @@ -420,43 +459,43 @@ - - + + - + - + - - [n_mot] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -468,44 +507,77 @@ - - + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + - + - + - - [iq_limProtErr] + + [r_inpTgtSca] - + - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -516,29 +588,44 @@ - - - + + + - - + + - - + + - + [n_mot] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -549,58 +636,43 @@ - - - + + + - - + + - - + + - - 5 + + [iq_limProtErr] - - - - - - - - - - - - - - - - - iq_limProtErr + + - + - - + + - + sfix32_En20 @@ -612,147 +684,60 @@ - - - + + + - - + + - - - - - - err - - - - - - - - P - - - - - - - - I - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - ext_limProt - - - - + + - - out + + - - + + - - PI(z) - - - - - - - - - - - - - - + + - - + + - - PI_clamp_fixdt + + - - - - - - - - - - - sfix16_En4 + + + - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + sfix16_En4 @@ -763,44 +748,59 @@ - - - + + + - - + + - - + + - - cf_nKi + + 5 - - + + + + + + + + + + + + + + + + + iq_limProtErr - - + + - + - - ufix16_En16 + + sfix32_En20 @@ -811,11 +811,11 @@ - - + + - + @@ -825,44 +825,44 @@ - - 4 + + 3 - + - - + + - + - - n_mot + + Vq_min - + - + - + sfix16_En4 @@ -874,44 +874,44 @@ - - - + + + - - + + - + - - [r_inpTgtSca] + + cf_nKp - - + + - - + + - + - - sfix16_En4 + + ufix16_En12 @@ -922,59 +922,44 @@ - - - + + + - - + + - + - - 2 + + case: { } - - + + - - + + - - - - - Vq_max - - - - - - - - - - - + - - sfix16_En4 + + Action Port @@ -985,44 +970,59 @@ - - - + + + - - + + - - + + - - case: { } + + 4 - - + + - - + + + + + + + + + + n_mot + + + + + + + - + - - Action Port + + sfix16_En4 @@ -1033,11 +1033,11 @@ - - + + - + @@ -1047,44 +1047,44 @@ - - 1 + + 2 - + - - + + - + - - r_inpTgtSca + + Vq_max - + - + - + sfix16_En4 @@ -1096,11 +1096,11 @@ - - + + - + @@ -1110,44 +1110,44 @@ - - 3 + + 1 - + - - + + - + - - Vq_min + + r_inpTgtSca - + - + - + sfix16_En4 @@ -1355,5 +1355,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 870e392..de52989 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 @@ -1,131 +1,138 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9141", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"Vq_Trq", - "label":"Vq_Trq", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "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", + "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":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "on", + "off", "off", - "inherit", - "-1", - "Inherit", "-1", - "auto", + "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", - "held", "off", - "0", "", - [ - ], - "Dialog", - "Auto", - "off" + "", + "on" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10831", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10842", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", + "OutMax", + "OutMin", "RndMeth", + "SampleTime", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "ZeroCross" ], "values":[ - "round", - "|+-", - "off", "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", "[]", "[]", - "Inherit: Inherit via internal rule", + "Floor", + "-1", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 1 ] }, "viewer":{ @@ -134,48 +141,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10834", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10844", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"constant2", - "label":"constant2", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "Vq_minTrq", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -183,55 +174,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:10844", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -240,7 +192,7 @@ "IconDisplay" ], "values":[ - "Vq_minTrq", + "iq_min", "local", "Tag" ], @@ -260,11 +212,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -273,7 +225,7 @@ "IconDisplay" ], "values":[ - "Vq_nLimProtMax", + "Vq_min", "local", "Tag" ], @@ -359,46 +311,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10841", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10834", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"MinMax2", - "label":"MinMax2", + "name":"constant2", + "label":"constant2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "FramePeriod" ], "values":[ - "Inherit: Inherit via internal rule", - "max", - "off", - "2", - "off", + "0", + "on", + "inf", "[]", "[]", - "Floor", - "-1", + "Inherit: Inherit via back propagation", "off", - "on" + "inf" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 3, + 7 ] }, "viewer":{ @@ -407,40 +355,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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", + "blocktype":"Constant", "masktype":"" } }, @@ -478,42 +393,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10841", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"cf_iqKi", - "label":"cf_iqKi", + "name":"MinMax2", + "label":"MinMax2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", - "FramePeriod" + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "cf_iqKi", - "on", - "inf", + "Inherit: Inherit via internal rule", + "max", + "off", + "2", + "off", "[]", "[]", - "fixdt(0,16,16)", + "Floor", + "-1", "off", - "inf" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 1 ] }, "viewer":{ @@ -522,56 +441,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10840", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9141", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Vq_Trq", + "label":"Vq_Trq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "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":[ - "-1", - "Element-wise(K.*u)", + "1", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "Zero", "off", "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -581,16 +521,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10821", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10843", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_maxTrq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10819", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -598,7 +571,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "iq", "Tag" ], "tabs":[ @@ -617,11 +590,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10820", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10836", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -629,7 +602,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -648,11 +621,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10819", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10820", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -660,7 +633,7 @@ "IconDisplay" ], "values":[ - "iq", + "iq_max", "Tag" ], "tabs":[ @@ -679,11 +652,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10823", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -691,7 +664,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", "Tag" ], "tabs":[ @@ -741,19 +714,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10822", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -767,16 +742,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10838", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10845", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -784,7 +759,7 @@ "IconDisplay" ], "values":[ - "Vq_nLimProtMax", + "Vq_maxTrq", "Tag" ], "tabs":[ @@ -803,11 +778,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10823", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10822", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -815,7 +790,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "Vq_max", "Tag" ], "tabs":[ @@ -834,20 +809,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10845", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9117", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "Vq_maxTrq", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -860,7 +835,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, @@ -909,16 +884,96 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_iqKi", + "label":"cf_iqKi", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKi", + "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:10838", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_nLimProtMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"iq", + "label":"iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -941,7 +996,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "4", "Port number", "[]", "[]", @@ -981,11 +1036,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10821", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9112", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1008,7 +1094,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -1048,27 +1134,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10840", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "iq_min", - "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" @@ -1076,32 +1188,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10843", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Vq_nLimProtMax", + "label":"Vq_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Vq_maxTrq", - "local", - "Tag" + "7", + "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" @@ -1109,51 +1255,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10842", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", "LockScale", - "OutMax", - "OutMin", - "RndMeth", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", "2", - "off", + "Port number", "[]", "[]", - "Floor", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", "-1", + "auto", "off", - "on" + "", + "on", + "off", + "off", + "off" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 11 ] }, "viewer":{ @@ -1162,55 +1322,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10831", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "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":[ - "2", - "Port number", + "round", + "|+-", + "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", @@ -1220,7 +1372,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -1229,16 +1381,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1261,7 +1413,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -1300,130 +1452,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt", - "label":"PI_clamp_fixdt", - "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" - ], - "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:9117", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9110", "className":"Simulink.Inport", @@ -1492,44 +1520,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" ], "values":[ - "Vq_min", - "local", - "Tag" + "[]", + "[]", + "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":"Goto", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1552,7 +1586,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "6", "Port number", "[]", "[]", @@ -1592,61 +1626,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vq_nLimProtMax", - "label":"Vq_nLimProtMax", + "name":"Goto4", + "label":"Goto4", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "Vq_nLimProtMax", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1654,7 +1654,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg index a6e88b0..14baabe 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg @@ -13,156 +13,147 @@ - - - + + + - - + + - + - - 1 - - - - - - - - - - - - - - + + err - + - - Vq_Trq + + P + + + + + + + + I - - - - - - - - - - - - - - - - - - - + - - + + satMax - + - - + + satMin - + - - + + ext_limProt + + + + + + + + out + + + + + + + + PI(z) - - + + - - - + + + - - + + - - sfix16_En4 + + PI_clamp_fixdt - - - - - - - - - - - - - - - + + + + - - + + - - 0 - - - - - - - + + sfix16_En4 - - - - + - - + + - - sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + @@ -173,46 +164,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + @@ -222,58 +197,26 @@ - - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - y - - - + + - + - - + + - + sfix16_En4 @@ -295,11 +238,11 @@ - + - + [Vq_minTrq] @@ -318,28 +261,28 @@ - - + + - + - + - - [Vq_nLimProtMax] + + [iq_min] - + @@ -351,28 +294,28 @@ - - + + - + - + - - [iq] + + [Vq_min] - + @@ -384,28 +327,28 @@ - - + + - + - + - - [iq_max] + + [iq] - + @@ -417,60 +360,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [iq_max] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -481,29 +393,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 0 - - + + + + + + + + + + + + + + + + + sfix32_En20 @@ -524,11 +451,11 @@ - + - + [Vq_max] @@ -547,91 +474,59 @@ - - - + + + - - + + - + - - + + - - cf_iqKi - - - - - - - - - - - - - - + + - - + + - - ufix16_En16 + + - - - - - - - - - - - - + + - - - - - - - -1 - - - + + - + - + - + sfix16_En4 @@ -643,44 +538,44 @@ - - - + + + - - + + - + - - [iq_min] + + 1 - - + + - - - + + + - + - - sfix16_En4 + + Vq_Trq @@ -691,44 +586,29 @@ - - - + + + - - + + - + - - [iq_max] + + [Vq_maxTrq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -749,11 +629,11 @@ - + - + [iq] @@ -771,11 +651,11 @@ - + - + sfix16_En4 @@ -797,11 +677,11 @@ - + - + [r_inpTgtSca] @@ -819,11 +699,11 @@ - + - + sfix16_En4 @@ -835,43 +715,43 @@ - - + + - + - + - - [Vq_minTrq] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -883,43 +763,43 @@ - - + + - + - + - - [Vq_max] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -931,43 +811,43 @@ - - + + - + - + - - [Vq_nLimProtMax] + + [Vq_minTrq] - + - + - - + + - + sfix16_En4 @@ -979,44 +859,29 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1037,11 +902,11 @@ - + - + [Vq_maxTrq] @@ -1059,11 +924,11 @@ - + - + sfix16_En4 @@ -1075,44 +940,44 @@ - - - + + + - - + + - - + + - - cf_iqKp + + [Vq_max] - - + + - - + + - - + + - - ufix16_En12 + + sfix16_En4 @@ -1123,59 +988,44 @@ - - - + + + - - + + - - + + - - 6 + + case: { } - - + + - - - - - - - - - - iq_min - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -1186,59 +1036,44 @@ - - - + + + - - + + - - + + - - 5 + + cf_iqKp - - - - - - - - - - - - - - - - - iq_max + + - - + + - - + + - - sfix16_En4 + + ufix16_En12 @@ -1249,62 +1084,44 @@ - - - + + + - - + + - - + + - - [iq_min] + + cf_iqKi - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [Vq_maxTrq] - - - - - - - + + ufix16_En16 @@ -1315,59 +1132,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [Vq_nLimProtMax] - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -1379,58 +1180,58 @@ - - + + - + - + - - 2 + + 4 - + - - + + - - + + - - Vq_max + + iq - + - - + + - + sfix16_En4 @@ -1442,58 +1243,106 @@ - - + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - + - + - - 4 + + 3 - + - - + + - - + + - - iq + + Vq_min - + - - + + - + sfix16_En4 @@ -1505,147 +1354,234 @@ - - - + + + - - + + - - + + - - err + + -1 - - - - - - - P + + + + + + - - - - - - - I + + + + + + - - + + - - satMax + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - satMin + + 7 + + + + + + + + + + + + + + - - + + - - ext_limProt + + Vq_nLimProtMax + + + + + + + - - + + - - out + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - PI(z) + + 2 - - + + - - + + - - + + - - PI_clamp_fixdt + + Vq_max - + - - + + - + sfix16_En4 - + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1656,44 +1592,59 @@ - - - + + + - - + + - - + + - - case: { } + + 5 - - + + - - + + - - + + - - Action Port + + iq_max + + + + + + + + + + + + + + + sfix16_En4 @@ -1714,11 +1665,11 @@ - + - + 1 @@ -1736,11 +1687,11 @@ - + - + r_inpTgtSca @@ -1751,11 +1702,11 @@ - + - + sfix16_En4 @@ -1767,29 +1718,108 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + - + - - [Vq_min] + + lo + + + + + + + + y - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1800,58 +1830,58 @@ - - + + - + - + - - 3 + + 6 - + - - + + - - + + - - Vq_min + + iq_min - + - - + + - + sfix16_En4 @@ -1863,59 +1893,29 @@ - - - + + + - - + + - - + + - - 7 + + [Vq_nLimProtMax] - - - - - - - - - - - - - - - - - Vq_nLimProtMax - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2296,5 +2296,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 162c609..dc4ae41 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 @@ -58,6 +58,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9726", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant1", + "label":"constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "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:9170", "className":"Simulink.Outport", @@ -138,6 +187,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9725", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_idKp1", + "label":"cf_idKp1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_idKp", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,12)", + "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:9164", "className":"Saturation Dynamic", @@ -271,43 +369,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9726", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "id_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -315,26 +397,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9161", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id", - "local", + "Vd_min", "Tag" ], "tabs":[ @@ -348,26 +428,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9155", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd_min", - "local", + "id_max", "Tag" ], "tabs":[ @@ -381,16 +459,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9158", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -399,7 +477,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "Vd_min", "local", "Tag" ], @@ -419,11 +497,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9722", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -431,7 +509,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "id", "Tag" ], "tabs":[ @@ -450,25 +528,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9155", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "id_max", - "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" @@ -476,16 +590,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "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":[ @@ -494,7 +608,7 @@ "IconDisplay" ], "values":[ - "id_min", + "id_Tgt", "local", "Tag" ], @@ -514,25 +628,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"cf_idKi1", + "label":"cf_idKi1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "id", - "Tag" + "cf_idKi", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -540,32 +672,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "id_Tgt", - "local", - "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" @@ -573,24 +739,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9161", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_Tgt", + "id", + "local", "Tag" ], "tabs":[ @@ -604,16 +772,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9722", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -621,7 +789,7 @@ "IconDisplay" ], "values":[ - "id_min", + "Vd_max", "Tag" ], "tabs":[ @@ -640,109 +808,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9150", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "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:9149", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", - "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" - ], - "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:9148", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -765,7 +835,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -805,43 +875,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"cf_idKi1", - "label":"cf_idKi1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "cf_idKi", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" + "id_min", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -849,16 +901,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -866,7 +918,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "id_Tgt", "Tag" ], "tabs":[ @@ -885,11 +937,11 @@ } }, { - "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":[ @@ -912,7 +964,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -952,61 +1004,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"Goto29", + "label":"Goto29", "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", + "TagVisibility", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "id_min", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1014,16 +1032,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9145", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1046,7 +1064,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -1085,39 +1103,6 @@ "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:9144", "className":"Simulink.Inport", @@ -1186,43 +1171,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9725", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9150", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"cf_idKp1", - "label":"cf_idKp1", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "cf_idKp", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,12)", - "off", - "inf" + "held", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1230,7 +1197,40 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"ActionPort", + "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":"" } }, 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 1b39100..a6c015b 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 @@ -75,6 +75,54 @@ + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + @@ -87,11 +135,11 @@ - + - + 1 @@ -109,11 +157,11 @@ - + - + Vd @@ -123,6 +171,54 @@ + + + + + + + + + + + + + + + + + + cf_idKp + + + + + + + + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + @@ -135,35 +231,35 @@ - + - + - + - + - + - + - + - + @@ -175,35 +271,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -221,11 +317,11 @@ - + - + sfix16_En4 @@ -247,67 +343,67 @@ - + - + err - + - + P - + - + I - + - + satMax - + - + satMin - + - + ext_limProt - + - + out - + - + PI(z) @@ -325,56 +421,41 @@ - + - + PI_clamp_fixdt - - - - - - - - - - - sfix16_En4 - - - - - + - + - + - + - + - + @@ -382,50 +463,17 @@ - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -436,28 +484,28 @@ - - + + - + - + - - [id] + + [id_max] - + @@ -469,62 +517,44 @@ - - - + + + - - + + - - + + - + [Vd_min] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [Vd_max] - - - - - - - + + sfix16_En4 @@ -535,43 +565,43 @@ - - + + - + - + - - [Vd_max] + + [id_max] - + - + - - + + - + sfix16_En4 @@ -583,44 +613,29 @@ - - - + + + - - + + - - + + - - [id_max] + + [Vd_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -631,29 +646,44 @@ - - - + + + - - + + - - + + - - [id_min] + + [id] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -664,43 +694,58 @@ - - - + + + - - + + - - + + - - [id] + + 6 - - + + + + + + + + + + + + + + + + + id_min - + - - + + - + sfix16_En4 @@ -722,11 +767,11 @@ - + - + [id_Tgt] @@ -745,44 +790,44 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + cf_idKi - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -793,43 +838,58 @@ - - - + + + - - + + - - + + - - [id_min] + + 5 - - + + + + + + + + + + + + + + + + + id_max - + - - + + - + sfix16_En4 @@ -841,44 +901,29 @@ - - - + + + - - + + - - + + - - if { } + + [id] - - - - - - - - - - - - - - - - - Action Port + + @@ -889,58 +934,43 @@ - - - + + + - - + + - - + + - - 6 + + [Vd_max] - - - - - - - - - - - - - - - - - id_min + + - + - - + + - + sfix16_En4 @@ -952,58 +982,58 @@ - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - id_max + + Vd_min - + - - + + - + sfix16_En4 @@ -1015,44 +1045,44 @@ - - - + + + - - + + - - + + - - cf_idKi + + [id_min] - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -1063,43 +1093,43 @@ - - + + - + - + - - [Vd_min] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -1111,58 +1141,58 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - id + + Vd_max - + - - + + - + sfix16_En4 @@ -1174,59 +1204,29 @@ - - - + + + - - + + - - + + - - 4 + + [id_min] - - - - - - - - - - - - - - - - - Vd_min - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1237,11 +1237,11 @@ - - + + - + @@ -1251,44 +1251,44 @@ - - 3 + + 2 - + - - + + - + - - Vd_max + + id - + - + - + sfix16_En4 @@ -1298,39 +1298,6 @@ - - - - - - - - - - - - - - - - - - [id_max] - - - - - - - - - - - - - - - @@ -1343,11 +1310,11 @@ - + - + 1 @@ -1365,11 +1332,11 @@ - + - + id_Tgt @@ -1380,11 +1347,11 @@ - + - + sfix16_En4 @@ -1396,44 +1363,77 @@ - - - + + + - - + + - - + + - - cf_idKp + + if { } - - + + - - - + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + - + - - ufix16_En12 + + [Vd_max] + + + + + + + @@ -1696,5 +1696,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 e8db0d5..280f2c1 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 @@ -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_9171_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json index 517d4ba..589c51f 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,72 +1,76 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10740", + "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"Vq_Vlt", - "label":"Vq_Vlt", + "name":"SignDeltaU2", + "label":"SignDeltaU2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Signum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10732", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "OutMax", + "OutMin", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via internal rule", + "min", "off", + "3", "off", "[]", + "[]", + "Floor", + "-1", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -75,25 +79,27 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10740", - "className":"Simulink.Signum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9185", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"SignDeltaU2", - "label":"SignDeltaU2", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "ZeroCross", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "on", - "-1" + "Vq_min", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -106,65 +112,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Signum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10731", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" + "r_nLimProtMax", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"From", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10737", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9179", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -178,27 +174,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10725", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "r_iqLimProtMax", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -211,16 +205,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9185", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -229,7 +223,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "Vq_max", "local", "Tag" ], @@ -249,11 +243,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -262,7 +256,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_nLimProtMax", "local", "Tag" ], @@ -282,11 +276,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10738", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -294,7 +288,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_inpTgtScaAbs", "Tag" ], "tabs":[ @@ -313,20 +307,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10731", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189", + "className":"Simulink.SignalConversion", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Signal Conversion2", + "label":"Signal Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" ], "values":[ - "r_nLimProtMax", - "Tag" + "Signal copy", + "Inherit: auto", + "off" ], "tabs":[ "Parameter Attributes" @@ -339,30 +335,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SignalConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10741", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Vq_min", - "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" @@ -370,47 +392,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9179", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" ], "values":[ - "Vq_max", - "Tag" + "[]", + "[]", + "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":"From", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -419,7 +449,7 @@ "IconDisplay" ], "values":[ - "r_nLimProtMax", + "r_inpTgtSca", "local", "Tag" ], @@ -439,20 +469,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10725", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "r_iqLimProtMax", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -465,52 +495,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10732", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", - "3", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "Vq_min", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -518,16 +526,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_iqLimProtMax", - "label":"r_iqLimProtMax", + "name":"r_nLimProtMax", + "label":"r_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -550,7 +558,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -590,78 +598,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10741", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "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:9184", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10733", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtSca", - "local", "Tag" ], "tabs":[ @@ -675,16 +624,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9173", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"r_iqLimProtMax", + "label":"r_iqLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -707,7 +656,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "5", "Port number", "[]", "[]", @@ -747,11 +696,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9173", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -774,7 +723,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -814,11 +763,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_nLimProtMax", - "label":"r_nLimProtMax", + "name":"Vq_Vlt", + "label":"Vq_Vlt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -834,14 +783,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "1", "Port number", "[]", "[]", @@ -853,10 +808,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -876,7 +838,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, @@ -947,37 +909,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10738", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtScaAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9172", "className":"Simulink.Inport", @@ -1045,6 +976,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10737", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", "className":"Simulink.Goto", @@ -1079,25 +1043,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Vq_min", + "label":"Vq_min", "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":[ - "held", - "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" @@ -1105,7 +1105,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, 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 d478748eda4e26e544832d3e184f83d867c64451..63cf5cbc7445969dac6c2f84474ac8c5b4b9eba7 100644 GIT binary patch delta 4262 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

G2m&!f^dIB!;?7HaRo#0z{ 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 Cw74<= 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 daf0357..1cd7010 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 @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - Vq_Vlt - - - - - - - @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + int16 @@ -141,46 +93,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -190,58 +126,26 @@ - - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - y - - - + + - + - - + + - + sfix16_En4 @@ -253,28 +157,28 @@ - - + + - + - + - - [r_inpTgtScaAbs] + + [Vq_min] - + @@ -286,171 +190,139 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [r_nLimProtMax] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [Vq_max] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 - - + + + + + + + + + + + + + + + + + + + [r_iqLimProtMax] + - - + + - + - - + + - + sfix16_En4 @@ -462,28 +334,28 @@ - - + + - + - + - - [Vq_min] + + [Vq_max] - + @@ -495,28 +367,28 @@ - - + + - + - + - - [Vq_max] + + [r_nLimProtMax] - + @@ -528,43 +400,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [r_inpTgtScaAbs] - + - + - - + + - + sfix16_En4 @@ -576,43 +448,171 @@ - - - + + + - - + + - + - - + + - - [r_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -624,43 +624,51 @@ - - - + + + - - + + - - + + - - [Vq_min] + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -672,43 +680,107 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - [Vq_max] + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - + - - + + - + sfix16_En4 @@ -720,28 +792,28 @@ - - + + - + - + - - [r_nLimProtMax] + + [r_inpTgtSca] - + @@ -753,44 +825,44 @@ - - - + + + - - + + - - + + - - [r_iqLimProtMax] + + case: { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -801,59 +873,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [Vq_min] - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -865,114 +921,58 @@ - - + + - + - + - - 5 + + 6 - + - - - - - - - - - - - - - r_iqLimProtMax - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - - - - - - - + + r_nLimProtMax - + - + - + sfix16_En4 @@ -984,29 +984,44 @@ - - - + + + - - + + - + - + [r_inpTgtSca] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1017,58 +1032,58 @@ - - + + - + - + - - 3 + + 5 - + - - + + - - + + - - Vq_max + + r_iqLimProtMax - + - - + + - + sfix16_En4 @@ -1080,58 +1095,58 @@ - - + + - + - + - - 4 + + 3 - + - - + + - - + + - - Vq_min + + Vq_max - + - - + + - + sfix16_En4 @@ -1143,59 +1158,44 @@ - - + + - + - + - - 6 + + 1 - + - - - - - - - - - - r_nLimProtMax - - - - - - - + + - + - - sfix16_En4 + + Vq_Vlt @@ -1267,54 +1267,6 @@ - - - - - - - - - - - - - - - - - - [r_inpTgtScaAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -1327,11 +1279,11 @@ - + - + 1 @@ -1349,11 +1301,11 @@ - + - + r_inpTgtSca @@ -1364,11 +1316,11 @@ - + - + sfix16_En4 @@ -1378,6 +1330,39 @@ + + + + + + + + + + + + + + + + + + [r_inpTgtScaAbs] + + + + + + + + + + + + + + + @@ -1390,11 +1375,11 @@ - + - + [r_iqLimProtMax] @@ -1413,44 +1398,59 @@ - - - + + + - - + + - - + + - - case: { } + + 4 - - + + - - + + + + + + + + + + Vq_min + + + + + + + - + - - Action Port + + sfix16_En4 @@ -1699,5 +1699,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 67518a3..d8dd5d9 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 @@ -1012,13 +1012,13 @@ - + - + - + @@ -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 6babced..97591a0 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 @@ -976,37 +976,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "InitialCondition", + "InputProcessing", "SampleTime", - "ZeroCross" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "==", - "off", - "boolean", - "Simplest", + "0", + "Inherited", "-1", - "on" + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ "Main", - "Data Type", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 1, + 3, 4 ] }, @@ -1016,43 +1021,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9840", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "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":{ @@ -1061,7 +1078,104 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"SIN_Method", + "label":"SIN_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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":"" } }, @@ -1105,50 +1219,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Criteria", + "Operator", "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", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, 1, - 9 + 4 ] }, "viewer":{ @@ -1157,7 +1259,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -1195,11 +1297,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":[ @@ -1208,7 +1310,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgtSca", "local", "Tag" ], @@ -1228,11 +1330,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9926", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1241,7 +1343,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "a_elecAngle", "local", "Tag" ], @@ -1261,11 +1363,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9925", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1274,7 +1376,7 @@ "IconDisplay" ], "values":[ - "VqFin", + "r_fieldWeak", "local", "Tag" ], @@ -1294,39 +1396,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9835", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9927", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "a_elecAngle", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1334,7 +1422,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, @@ -1369,103 +1457,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"SIN_Method", - "label":"SIN_Method", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "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:9929", "className":"Simulink.From", @@ -1498,11 +1489,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9908", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1510,7 +1501,7 @@ "IconDisplay" ], "values":[ - "V_phaABC_FOC", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -1529,11 +1520,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9916", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9839", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1541,7 +1532,7 @@ "IconDisplay" ], "values":[ - "VqFin", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1560,25 +1551,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9927", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9835", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "a_elecAngle", - "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" @@ -1586,16 +1591,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9916", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1603,7 +1608,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "VqFin", "Tag" ], "tabs":[ @@ -1621,103 +1626,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"FOC_Method", - "label":"FOC_Method", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "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:9833", "className":"Simulink.If", @@ -1761,37 +1669,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9831", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_enaAdvCtrl", - "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", @@ -1840,11 +1717,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9214", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9928", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1852,7 +1762,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "z_dir", "Tag" ], "tabs":[ @@ -1920,42 +1830,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9839", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9915", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9831", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1963,7 +1842,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -1982,27 +1861,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9925", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "r_fieldWeak", - "local", - "Tag" + "CTRL_FOC", + "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" @@ -2010,16 +1905,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"COM_Method", - "label":"COM_Method", + "name":"FOC_Method", + "label":"FOC_Method", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2112,11 +2007,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9920", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2124,7 +2019,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "VqFinPrev", "Tag" ], "tabs":[ @@ -2143,11 +2038,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9832", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9915", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9214", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2174,11 +2100,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9922", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9923", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"r_fieldWeak", + "label":"r_fieldWeak", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2201,7 +2127,7 @@ "OutputFunctionCall" ], "values":[ - "8", + "9", "Port number", "[]", "[]", @@ -2241,32 +2167,83 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9834", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFinPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9922", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_dir", + "label":"z_dir", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "CTRL_FOC", - "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", @@ -2275,8 +2252,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -2285,47 +2262,73 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9920", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9840", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "==", "off", - [ - ], - "Auto" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ "Main", - "State Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, + 1, 4 ] }, @@ -2335,83 +2338,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9921", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"COM_Method", + "label":"COM_Method", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "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":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "on", + "", + "", "off", "", - "on", + "void_void", "off", "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", - "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:9928", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9908", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2419,7 +2452,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "V_phaABC_FOC", "Tag" ], "tabs":[ @@ -2438,19 +2471,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlTypSel", + "local", "Tag" ], "tabs":[ @@ -2464,56 +2499,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "CTRL_FOC", - "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":"" } }, @@ -2585,11 +2571,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9923", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9921", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_fieldWeak", - "label":"r_fieldWeak", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2612,7 +2598,7 @@ "OutputFunctionCall" ], "values":[ - "9", + "7", "Port number", "[]", "[]", @@ -2651,6 +2637,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9832", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "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", @@ -2719,60 +2736,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9926", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "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:9225", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9834", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "r_inpTgtSca", - "local", - "Tag" + "CTRL_FOC", + "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" @@ -2780,7 +2780,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.png index f8e1bff09418d07a6608a16b431511198a3e9270..06370c3da41ff2b6c7ad902d984b89588610a3e9 100644 GIT binary patch literal 8571 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 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 37c96d6..96f75e2 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 @@ -539,30 +539,30 @@ - + - + - + int16 - + - + - + int16 @@ -958,110 +958,46 @@ - - - + + + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + @@ -1075,86 +1011,37 @@ - - - - - - - - - - - - - - - - - boolean + + - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - + + Ini=0 - + - - + + - + sfix16_En4 @@ -1176,155 +1063,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -1342,11 +1229,11 @@ - + - + sfix16_En4 @@ -1358,95 +1245,144 @@ - - - + + + - - + + + + + + + + - - + + - - [z_dir] + + r_inpTgtSca - - - - - - + + + + + + + a_elecAngle - - - - - - - - - - - - - - - - - - - - + + - - [z_ctrlTypSel] + + z_dir + + + + + + + + r_fieldWeak + + + + + + + + V_phaABC_SIN + + + + + + + + elseif { } - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + SIN_Method + + - + - - + + + + + + + + + + + - - [VqFinPrev] + + action - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1457,29 +1393,66 @@ - - - + + + + + + + + + - - + + - + - - + + - - [VqFin] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1490,37 +1463,37 @@ - - + + - + - + - + - + - + - + - + @@ -1535,22 +1508,22 @@ - + - + - - + + - + boolean @@ -1562,44 +1535,62 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [z_dir] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [r_inpTgtSca] + + + + + + + @@ -1610,144 +1601,62 @@ - - - + + + - - - - - - - - + + - - - - - - r_inpTgtSca - - - - - - - - a_elecAngle - - - - - - - - z_dir - - - - - - - - r_fieldWeak - - - - - - - - V_phaABC_SIN - - - - + + - - elseif { } + + [a_elecAngle] - - - - - - - - + + - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - SIN_Method - - - - - - - - - - - - - - - - - + + - - sfix16_En4 + + [r_fieldWeak] - - - - - - - - - - - - - - - - - action + + + @@ -1758,50 +1667,44 @@ - - - - - - - - + + - + - + - - [r_fieldWeak] + + [a_elecAngle] - + - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -1812,43 +1715,43 @@ - - + + - + - + - - [V_phaABC_FOC] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -1860,43 +1763,43 @@ - - + + - + - + - - [VqFin] + + [r_fieldWeak] - + - + - - + + - + sfix16_En4 @@ -1908,44 +1811,44 @@ - - + + - + - + - - [a_elecAngle] + + [r_inpTgtSca] - + - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -1956,44 +1859,44 @@ - - + + - + - + - - [VqFinPrev] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2004,120 +1907,68 @@ - - - + + + - - - - - - - - + + - + - - + + - - V_phaABC_FOC_in + + - - + + - - V_phaABC_FOC + + - - + + - - if { } + + - - - - - - - - - - + - - - - - - - - - - - - - - - - - FOC_Method - + - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - + + - - + + - - action + + boolean @@ -2128,59 +1979,101 @@ - - - - - - - - - + + + - - + + - - + + - - u1 + + [VqFin] + + + + + + + + + + + + + + - + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + - + u2 - + - + if(u1 ~= 0) - + - + elseif(u2 ~= 0) - + - + else @@ -2194,45 +2087,45 @@ - + - - + + - + action - + - - + + - + action - + - - + + - + action @@ -2242,54 +2135,6 @@ - - - - - - - - - - - - - - - - - - [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -2302,19 +2147,19 @@ - + - + - + - + @@ -2340,11 +2185,11 @@ - + - + int16 @@ -2356,44 +2201,77 @@ - - + + + + + + + + + + + + + + + + [VqFin] + + + + + + + + + + + + + + + + + + + - + - + - - [z_ctrlTypSel] + + [z_dir] - + - - + + - - + + - - uint8 + + int8 @@ -2414,11 +2292,11 @@ - + - + CTRL_SIN @@ -2436,11 +2314,11 @@ - + - + uint8 @@ -2452,44 +2330,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [b_enaAdvCtrl] - + - - + + - - + + - - uint8 + + boolean @@ -2500,44 +2378,44 @@ - - - + + + - - + + - - + + - - [z_pos] + + CTRL_FOC - - + + - - + + - - + + - - int8 + + uint8 @@ -2548,29 +2426,120 @@ - - - + + + - - + + + + + + + + - - + + - - [r_fieldWeak] + + V_phaABC_FOC_in + + + + + + + + V_phaABC_FOC + + + + + + + + if { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FOC_Method + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2581,128 +2550,146 @@ - - - - + - + - - + + + + + - - + + - - VqFin + + [VqFinPrev] - - - - - - - z_pos + + + + + + + + + + + + + - - + + - - V_phaABC_COM + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - else { } + + [z_pos] - - - - - - - - + + - - - - - - - - - + + + - - + + - - COM_Method + + int8 - - - - - - - - - - + + + + + + + + + + + + + + + - + - - sfix16_En4 + + [z_ctrlTypSel] + + + + + + + - - - - - - - - + + - + - - action + + uint8 @@ -2713,50 +2700,59 @@ - - - - - - - - - + + + - - + + - + - - [b_enaAdvCtrl] + + 9 - - + + - - - + + + - + - - boolean + + r_fieldWeak + + + + + + + + + + + + + + + sfix16_En4 @@ -2767,44 +2763,29 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + [VqFinPrev] - - - - - - - - - - - - - - - - - uint8 + + @@ -2878,44 +2859,44 @@ - - - + + + - - + + - + - - CTRL_FOC + + [b_enaAdvCtrl] - - + + - - + + - + - - uint8 + + boolean @@ -2926,46 +2907,38 @@ - - - + + + - - + + - + - - + + - + - - + + - - - - - - - - - + - - + + @@ -2979,38 +2952,23 @@ - - + + - - - - - - - - - - sfix16_En4 - - - - - - - + + - - + + - - Ini=0 + + boolean @@ -3021,107 +2979,128 @@ - - - + + + - - + + + + + + + + - - + + - - 7 - - - - - - - - - - - - - - + + VqFin - - + + - - a_elecAngle + + z_pos - - - - - - + + + + + + + V_phaABC_COM - - + + - - sfix16_En6 + + else { } - - - - - - - - - - - - + + + + + + + + + + + - + - - + + + + + + + + + + + - - [z_dir] + + COM_Method - - - + + + + + + + + + + + + + + + + + action - - + + + + + + + + - - + + - - int8 + + sfix16_En4 @@ -3132,43 +3111,49 @@ - - + + + + + + + + - + - + - - [r_inpTgtSca] + + [V_phaABC_FOC] - + - + - - + + - + sfix16_En4 @@ -3180,44 +3165,29 @@ - - - + + + - - + + - - + + - - CTRL_FOC + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - uint8 + + @@ -3238,11 +3208,11 @@ - + - + 6 @@ -3260,11 +3230,11 @@ - + - + r_inpTgtSca @@ -3275,11 +3245,11 @@ - + - + sfix16_En4 @@ -3291,59 +3261,107 @@ - - + + - + - + - - 9 + + 7 - + - - + + - - + + - - r_fieldWeak + + a_elecAngle - + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + - + - - sfix16_En4 + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 @@ -3364,11 +3382,11 @@ - + - + 2 @@ -3386,11 +3404,11 @@ - + - + z_ctrlTypSel @@ -3401,11 +3419,11 @@ - + - + uint8 @@ -3417,62 +3435,44 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + CTRL_FOC - - + + - - - - - - - - - - - - - - - + + + + - + - - [r_inpTgtSca] - - - - - - - + + uint8 @@ -3515,32 +3515,32 @@ + + + + + + + + + + + - + - + boolean - - - - - - - - - - - @@ -4303,5 +4303,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 5f186b7..779e94b 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 7d3047f..b6269c5 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_9741_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json index c3608b3..929d623 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json @@ -612,11 +612,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9800", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9801", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ @@ -625,7 +625,7 @@ "IconDisplay" ], "values":[ - "r_fieldWeak", + "a_elecAngle", "local", "Tag" ], @@ -678,19 +678,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9810", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9820", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "V_phaABC_SIN", + "local", "Tag" ], "tabs":[ @@ -704,16 +706,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9805", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9818", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ @@ -721,7 +723,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -740,11 +742,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9803", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9810", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ @@ -752,7 +754,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "V_phaABC_SIN", "Tag" ], "tabs":[ @@ -771,43 +773,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10677", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9803", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant", - "label":"Constant", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "uint8", - "off", - "inf" + "a_elecAngle", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -815,25 +799,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9819", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9805", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "IconDisplay" ], "values":[ - "3", - "bar" + "z_dir", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -846,7 +830,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, @@ -882,11 +866,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9820", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9800", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ @@ -895,7 +879,7 @@ "IconDisplay" ], "values":[ - "V_phaABC_SIN", + "r_fieldWeak", "local", "Tag" ], @@ -915,50 +899,120 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9798", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9819", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"r_fieldWeak", - "label":"r_fieldWeak", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "DisplayOption" + ], + "values":[ + "3", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9816", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "4", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", + "Inherit: Same as first input", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "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:10677", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant", + "label":"Constant", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", "on", + "inf", + "[]", + "[]", + "uint8", "off", - "off", - "off" + "inf" ], "tabs":[ "Main", @@ -967,8 +1021,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -977,16 +1031,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9795", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9798", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"r_fieldWeak", + "label":"r_fieldWeak", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ @@ -1009,7 +1063,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -1049,75 +1103,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9818", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", - "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:9801", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", - "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:9796", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9797", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ @@ -1140,7 +1130,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -1180,11 +1170,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9797", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9795", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ @@ -1207,7 +1197,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -1247,40 +1237,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9816", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9796", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "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", + "1", + "Port number", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1290,7 +1290,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1299,7 +1299,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg index edff98c..2841929 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg @@ -1819,11 +1819,11 @@ - - + + - + @@ -1833,14 +1833,14 @@ - - [r_fieldWeak] + + [a_elecAngle] - + @@ -1885,44 +1885,29 @@ - - - + + + - - + + - + - + [V_phaABC_SIN] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1933,44 +1918,44 @@ - - + + - + - + - - [z_dir] + + [r_inpTgtSca] - + - - + + - - + + - - int8 + + sfix16_En4 @@ -1981,44 +1966,44 @@ - - + + - + - + - - [a_elecAngle] + + [V_phaABC_SIN] - + - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -2029,44 +2014,44 @@ - - - + + + - - + + - - + + - - 0 + + [a_elecAngle] - - + + - - + + - - + + - - uint8 + + sfix16_En6 @@ -2077,44 +2062,44 @@ - - - + + + - - + + - - + + - - + + [z_dir] - - + + - - + + - - + + - - sfix16_En14 + + int8 @@ -2135,11 +2120,11 @@ - + - + [r_fieldWeak] @@ -2157,11 +2142,11 @@ - + - + sfix16_En4 @@ -2173,28 +2158,28 @@ - - + + - + - + - - [V_phaABC_SIN] + + [r_fieldWeak] - + @@ -2206,59 +2191,44 @@ - - - + + + - - + + - - + + - - 4 + + - - - - - - - - - - - - - - - - - r_fieldWeak + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -2269,59 +2239,52 @@ - - - + + + - - + + - - + + - - 2 + + - - - - - - + + + + + + + - - - - - - - - - - - a_elecAngle + + + - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -2332,44 +2295,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 0 - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2380,29 +2343,59 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + 4 - - + + + + + + + + + + + + + + + + + r_fieldWeak + + + + + + + + + + + + + + + sfix16_En4 @@ -2413,11 +2406,11 @@ - - + + - + @@ -2427,45 +2420,45 @@ - - 1 + + 3 - + - - + + - + - - r_inpTgtSca + + z_dir - - + + - + - - sfix16_En4 + + int8 @@ -2476,11 +2469,11 @@ - - + + - + @@ -2490,45 +2483,45 @@ - - 3 + + 2 - + - - + + - + - - z_dir + + a_elecAngle - - + + - + - - int8 + + sfix16_En6 @@ -2539,51 +2532,58 @@ - - - + + + - - + + - - - - - - - - - + - - + + 1 - - + + + + + + + + + + + + + + + + + r_inpTgtSca - + - + - + sfix16_En4 @@ -2638,10 +2638,10 @@ - + - + @@ -2913,5 +2913,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json index 4c0c8ed..ab95f2c 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json @@ -802,99 +802,35 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Modulo_fixdt", - "label":"Modulo_fixdt", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9758", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "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", - "" + "r_fieldWeak", + "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":"" } }, @@ -961,35 +897,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9758", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Modulo_fixdt", + "label":"Modulo_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "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":[ - "r_fieldWeak", - "local", - "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":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg index d72bb4b..ac3a622 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg @@ -1058,114 +1058,29 @@ - - - + + + - - - - - - - - + + - - - - - num - - - - - - - - div - - - - + - - rem + + [r_fieldWeak] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -1177,12 +1092,6 @@ - - - - - - @@ -1192,11 +1101,11 @@ - + - + [r_fieldWeak] @@ -1214,11 +1123,11 @@ - + - + sfix16_En4 @@ -1240,11 +1149,11 @@ - + - + [r_fieldWeak] @@ -1262,11 +1171,11 @@ - + - + sfix16_En4 @@ -1278,29 +1187,114 @@ - - - + + + - - + + + + + + + + - - + + - - [r_fieldWeak] + + num + + + + + + + + div + + + + + + + + rem - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1312,6 +1306,12 @@ + + + + + + @@ -1689,5 +1689,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg index 5ef9e40..1a7d8c9 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg @@ -63,7 +63,7 @@ - + @@ -171,5 +171,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json index 70b40f1..bb59137 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json @@ -111,11 +111,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9911", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9823", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ @@ -124,7 +124,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "V_phaABC_COM", "local", "Tag" ], @@ -144,19 +144,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9211", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9911", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "z_pos", + "local", "Tag" ], "tabs":[ @@ -170,7 +172,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -206,27 +208,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9912", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9209", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "VqFin", - "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" @@ -234,30 +260,52 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9236", + "className":"Simulink.LookupNDDirect", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"z_commutMap_M1", + "label":"z_commutMap_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumberOfTableDimensions", + "InputsSelectThisObjectFromTable", + "TableIsInput", + "Table", + "DiagnosticForOutOfRangeInput", + "TableMin", + "TableMax", + "TableDataTypeStr", + "LockScale", + "SampleTime" ], "values":[ - "VqFin", - "Tag" + "2", + "Column", + "off", + "z_commutMap_M1", + "None", + "[]", + "[]", + "int8", + "off", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Table Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 5, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -265,26 +313,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"LookupNDDirect", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9823", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "V_phaABC_COM", - "local", + "VqFin", "Tag" ], "tabs":[ @@ -298,64 +344,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9209", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", - "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", + "blocktype":"From", "masktype":"" } }, @@ -426,6 +415,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9912", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9909", "className":"Simulink.Inport", @@ -494,47 +516,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9236", - "className":"Simulink.LookupNDDirect", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9211", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"z_commutMap_M1", - "label":"z_commutMap_M1", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ - "NumberOfTableDimensions", - "InputsSelectThisObjectFromTable", - "TableIsInput", - "Table", - "DiagnosticForOutOfRangeInput", - "TableMin", - "TableMax", - "TableDataTypeStr", - "LockScale", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "Column", - "off", - "z_commutMap_M1", - "None", - "[]", - "[]", - "int8", - "off", - "-1" + "z_pos", + "Tag" ], "tabs":[ - "Main", - "Table Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 5, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -542,7 +542,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"LookupNDDirect", + "blocktype":"From", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.png index 8cf73e6e3acf7138ff6ad49f18b521fa0e85b7ef..449c731d25b91b0dc88ee53b2add623d18be9fab 100644 GIT binary patch literal 5738 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

%838@b5UDqcG5x5p>mwW;@ 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 UJ3Unm42mIW1yy8;oMGU90m$o)CIA2c diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg index 9adb3b2..9731491 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg @@ -63,7 +63,7 @@ - + @@ -94,11 +94,11 @@ - - + + - + @@ -108,14 +108,14 @@ - - [z_pos] + + [V_phaABC_COM] - + @@ -127,44 +127,29 @@ - - - + + + - - + + - + - + [z_pos] - - - - - - - - - - - - - - - - - int8 + + @@ -185,11 +170,11 @@ - + - + [V_phaABC_COM] @@ -207,11 +192,11 @@ - + - + sfix16_En4 @@ -223,76 +208,51 @@ - - - + + + - - + + - - + + - - [VqFin] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [VqFin] + + - - + + - + - - + + - + sfix16_En4 @@ -304,29 +264,203 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + - + - - [V_phaABC_COM] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-D T[k] - - + + + + + + + + + + + + + + + + + z_commutMap_M1 + + + + + + + + + + + + + + + int8 @@ -337,51 +471,43 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [VqFin] - - + + - + - - + + - + sfix16_En4 @@ -403,11 +529,11 @@ - + - + 2 @@ -425,11 +551,11 @@ - + - + z_pos @@ -440,11 +566,11 @@ - + - + int8 @@ -454,6 +580,39 @@ + + + + + + + + + + + + + + + + + + [VqFin] + + + + + + + + + + + + + + + @@ -466,11 +625,11 @@ - + - + 1 @@ -488,11 +647,11 @@ - + - + VqFin @@ -503,11 +662,11 @@ - + - + sfix16_En4 @@ -519,202 +678,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - 2-D T[k] + + [z_pos] - - - - - - - - - - - - - - - - - z_commutMap_M1 + + - + - + - + int8 @@ -824,5 +824,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json index ebac8db..87617a8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json @@ -48,6 +48,86 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9951", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_inpTgtScaOpen", + "label":"r_inpTgtScaOpen", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "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:9950", "className":"Rising edge init", @@ -227,6 +307,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10006", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaOpen", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "className":"Simulink.SubSystem", @@ -321,25 +434,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9944", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9945", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Gain3", + "label":"Gain3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "r_inpTgtScaOpen", - "Tag" + "-1", + "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" @@ -347,26 +488,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10006", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9944", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtScaOpen", - "local", "Tag" ], "tabs":[ @@ -380,7 +519,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -463,52 +602,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9945", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9942", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Gain3", - "label":"Gain3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "Gain", - "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", "SampleTime" ], "values":[ - "-1", - "Element-wise(K.*u)", "[]", "[]", - "Inherit: Same as input", + "fixdt(1,16,4)", "off", - "Zero", + "Real World Value (RWV)", + "Floor", "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", "-1" ], "tabs":[ - "Main", - "Signal Attributes", "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 7 ] }, "viewer":{ @@ -517,7 +644,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -570,53 +697,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9942", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", - "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:9939", "className":"Simulink.ActionPort", @@ -648,86 +728,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9951", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_inpTgtScaOpen", - "label":"r_inpTgtScaOpen", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", - "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:9938", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.png index b2bd9f276946f7982c9663361d8f6963c69ae50d..ad14e82682ea23942a276007854b8f2005a4cdb1 100644 GIT binary patch literal 5906 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 + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaOpen + + + + + + + + - + @@ -50,43 +98,43 @@ - + - + - + - + - + - + - + - + - + - + @@ -99,46 +147,31 @@ - - - - - - - - - - - boolean - - - - - + - + - + - + - + - + @@ -146,6 +179,21 @@ + + + + + + + + + + + boolean + + + + @@ -162,11 +210,11 @@ - + - + dV_openRate @@ -184,11 +232,11 @@ - + - + dV_openRate @@ -199,11 +247,11 @@ - + - + sfix28_En16 @@ -225,11 +273,11 @@ - + - + [VqFinPrev] @@ -246,11 +294,44 @@ + + + + + + + + + + + + + + + + + + [r_inpTgtScaOpen] + + + + + + + + + + + + + + + - + @@ -258,75 +339,75 @@ - + - + u - + - + initVal - + - + init - + - + inc - + - + dec - + - + y - + - + - + - + - + - + @@ -344,11 +425,11 @@ - + - + Rate_Limiter @@ -359,11 +440,11 @@ - + - + sfix28_En16 @@ -371,29 +452,29 @@ - + - + - + - + - + - + @@ -407,44 +488,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtScaOpen] + + -1 - - + + - - + + - - + + - - sfix16_En4 + + sfix28_En16 @@ -455,29 +536,44 @@ - - - + + + - - + + - - + + - + [r_inpTgtScaOpen] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -498,19 +594,19 @@ - + - + - + - + @@ -536,11 +632,11 @@ - + - + sfix28_En16 @@ -562,11 +658,11 @@ - + - + [VqFinPrev] @@ -584,11 +680,11 @@ - + - + sfix16_En4 @@ -598,102 +694,6 @@ - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - @@ -760,44 +760,44 @@ - - - + + + - - + + - + - - if { } + + 0 - - + + - - - + + + - + - - Action Port + + sfix28_En16 @@ -808,44 +808,44 @@ - - - + + + - - + + - + - - 1 + + if { } - - + + - - + + - + - - r_inpTgtScaOpen + + Action Port @@ -1079,5 +1079,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg index 74ed60b..bd6e4a4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_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_9948_2395_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg index cb657cf..4e620a1 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -1012,10 +1012,10 @@ - + - + @@ -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_9948_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json index cc5b14a..0ec5e64 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json @@ -49,42 +49,63 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2343", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2360", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "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", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -94,7 +115,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -103,7 +124,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, @@ -196,11 +217,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2357", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"dec", - "label":"dec", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ @@ -223,7 +244,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -263,50 +284,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", - "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:9948:2357", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2356", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", + "name":"init", + "label":"init", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ @@ -329,7 +311,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -369,11 +351,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2356", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2358", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"init", - "label":"init", + "name":"dec", + "label":"dec", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ @@ -396,7 +378,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "5", "Port number", "[]", "[]", @@ -436,50 +418,81 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2355", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"initVal", - "label":"initVal", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "DoSatur" ], "values":[ - "2", - "Port number", "[]", "[]", - "Inherit: auto", + "Inherit: Same as second input", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2343", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", "off", - "", - "on", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", "off", + "Zero", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -489,7 +502,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -498,16 +511,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2360", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2359", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ @@ -523,17 +536,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "1", @@ -548,17 +555,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -578,16 +578,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2359", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2355", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"u", - "label":"u", + "name":"initVal", + "label":"initVal", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ @@ -610,7 +610,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_9948_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg index d3f2ba8..f275e2f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg @@ -48,68 +48,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - - + + + - - + + - - sfix28_En16 + + y @@ -130,27 +106,27 @@ - + - + - + - + - + - + @@ -168,11 +144,11 @@ - + - + sfix28_En16 @@ -194,59 +170,59 @@ - + - + u - + - + initVal - + - + init - + - + y - + - + 1 - + - + z - + - + @@ -264,11 +240,11 @@ - + - + sfix28_En16 @@ -276,29 +252,29 @@ - + - + - + - + - + - + @@ -310,6 +286,132 @@ + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + init + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -322,11 +424,11 @@ - + - + 5 @@ -344,11 +446,11 @@ - + - + dec @@ -359,11 +461,11 @@ - + - + sfix28_En16 @@ -377,7 +479,7 @@ - + @@ -385,35 +487,35 @@ - + - + - + - + - + - + - + - + @@ -425,35 +527,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -471,11 +573,11 @@ - + - + sfix28_En16 @@ -487,122 +589,68 @@ - - - + + + - - + + - - + + - - 4 - - - - - - - - - - - - - - + + - - + + - - inc - - - - - - - + + - - + + - - sfix28_En16 + + - - - - - - - - - - - - - - - - - - - - + + - - 3 + + - - - - - - - - - - - - - - - - - init + + - - + + - - + + - - boolean + + sfix28_En16 @@ -613,107 +661,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - initVal + + u - + - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - + - - y + + sfix28_En16 @@ -724,11 +724,11 @@ - - + + - + @@ -738,44 +738,44 @@ - - 1 + + 2 - + - - + + - + - - u + + initVal - + - + - + sfix28_En16 @@ -953,5 +953,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg index e55f86a..25383ed 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg @@ -120,32 +120,32 @@ - - - + + + - + - - boolean + + Ini=1 - - - + + + - + - - Ini=1 + + boolean @@ -232,5 +232,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json index 19fd313..d18b6ec 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json @@ -97,86 +97,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9992", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", - "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:10449", "className":"Simulink.Saturate", @@ -367,27 +287,33 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9999", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9987", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "z_ctrlMod", - "local", - "Tag" + "[]", + "off", + "[]", + "2" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -395,24 +321,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9981", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9985", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", + "z_ctrlTypSel", + "local", "Tag" ], "tabs":[ @@ -426,32 +354,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10004", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9992", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "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":[ - "VqFinPrev", - "local", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "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" @@ -459,16 +434,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9985", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10014", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -477,7 +452,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgtSca", "local", "Tag" ], @@ -528,19 +503,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9979", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9983", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgt", + "local", "Tag" ], "tabs":[ @@ -554,42 +531,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10002", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10015", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 == OPEN_MODE", - "", - "on", - "-1", - "on" + "r_inpTgtScaRaw", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -597,16 +562,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9978", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10005", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -614,7 +579,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "VqFinPrev", "Tag" ], "tabs":[ @@ -633,21 +598,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9982", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9977", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "r_inpTgt", "Tag" ], "tabs":[ @@ -661,59 +624,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9986", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"FOC_Control_Type", + "label":"FOC_Control_Type", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "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", - "u1 == CTRL_FOC", + "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", - "on" + "", + "off", + "" ], "tabs":[ - "Parameter Attributes", + "Main", "-Other" ], "tabs_idx":[ 0, - 4 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9977", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9978", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -721,7 +738,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -740,19 +757,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10005", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10004", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "VqFinPrev", + "local", "Tag" ], "tabs":[ @@ -766,7 +785,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -802,44 +821,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9984", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Default_Control_Type", + "label":"Default_Control_Type", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "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":[ - "r_inpTgtScaRaw", - "local", - "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":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10014", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9999", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -848,7 +931,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlMod", "local", "Tag" ], @@ -868,27 +951,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9983", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10016", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "r_inpTgt", - "local", - "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" @@ -896,24 +1013,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10015", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9982", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtScaRaw", + "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -927,16 +1046,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10016", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9955", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -959,7 +1078,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -999,99 +1118,45 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Default_Control_Type", - "label":"Default_Control_Type", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10002", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "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" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "FromPortIcon", - "ReadWrite", + "1", + "u1 == OPEN_MODE", "", - "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", - "" + "on" ], "tabs":[ - "Main", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 4 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"If", "masktype":"" } }, @@ -1129,164 +1194,59 @@ "[]", "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:10007", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Default_Mode", - "label":"Default_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", - "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", - "", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "", + "on", "off", "off", - "", - "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":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9987", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9981", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "off", - "[]", - "2" + "z_ctrlModReq", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1294,16 +1254,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9998", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9984", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaRaw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9954", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -1326,7 +1319,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -1366,11 +1359,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9955", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9998", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -1393,7 +1386,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -1433,11 +1426,85 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9979", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From19", + "label":"From19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9986", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 == CTRL_FOC", + "", + "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:10007", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"FOC_Control_Type", - "label":"FOC_Control_Type", + "name":"Default_Mode", + "label":"Default_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -1529,73 +1596,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9954", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlTypSel", - "label":"z_ctrlTypSel", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", - "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:9957#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png index c7a44cb6fcf67b33f1f715a34d9c331ceddd587d..eef681e6550588d257fea03fc3fc1580948dcaa0 100644 GIT binary patch delta 491 zcmVp`R@T|74Fbeh@OSptCo_wL=JrKN?j zu`yItC7aC}SDO|W7qQuFbai#n*4BomY23JR!>A!|X=&m0*I%cpsfk!D#`Wvhak*Ti z(`gnL7xDZ3OioTxSy@Ron0|nKjD~htE zk@Ukr&LDa0RgFYbQ`5SCPx9?j6a`JwaJgKls*1&8F>1^Utuo9l7@?{vZnt~geo~Vz z4mGJs-y0H;A|W;DdqVF?io;|&6V00RR9eDaf@ zBp#3B@pyRn@FDH(?Fcv24{gb6u=h+Q=?F|py}u~_Uew`6xnA4CWf@)b*y5dmM5UjY%5UjY%5UjY%5 hUjY%5UjYpk{11-JeR*wH126yp002ovPDHLkV1k9P<+1<( delta 485 zcmV76O!DZ_BNRo!<#LfoB+zx8nVA`CYik*QA0OxW=btzB zk(zV?K!1P#j@Ge_L?Y`-e*s2EM_E`{Kvh*-E|>A9v{)<~)|AKNabsk>p`l^b*CSom z`R#9i%b7E0@Or%@lSwp9!{Klg-1f!AMH~(XE|+WFLfk+>HR+0?Y-uF@Fpx7y9(z?I z(bUwm?vs4G6h%SPG+Zu!7pkgau~>{6^Fpf(a|=eOs*2m~Ubmmrq>DpMYSQY95|QjD0F00000NkvXXu0mjfcIM_t diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg index 467e3cf..6ce2a63 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg @@ -49,59 +49,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - - + @@ -109,35 +61,35 @@ - + - + - + - + - + - + - + - + @@ -163,11 +115,11 @@ - + - + sfix16_En4 @@ -181,7 +133,7 @@ - + @@ -195,27 +147,27 @@ - + - + VqFinPrev - + - + r_inpTgtScaOpen - + - + if { } @@ -245,11 +197,11 @@ - + - + Open_Mode @@ -262,16 +214,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -283,16 +235,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -311,7 +263,7 @@ - + @@ -319,19 +271,19 @@ - + - + - + - + @@ -357,11 +309,11 @@ - + - + sfix16_En4 @@ -373,29 +325,60 @@ - - - + + + - - + + - + - - + + - - [z_ctrlMod] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -406,44 +389,29 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - uint8 + + @@ -454,29 +422,44 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + 1 - - + + + + + + + + + + + + + + + + + r_inpTgtSca @@ -487,28 +470,28 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_inpTgtSca] - + @@ -530,11 +513,11 @@ - + - + [r_inpTgt] @@ -552,11 +535,11 @@ - + - + sfix16_En4 @@ -568,44 +551,77 @@ - - + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + - + - + - - [z_ctrlTypSel] + + [r_inpTgtScaRaw] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -616,75 +632,44 @@ - - - + + + - - + + - - - - - - u1 - - - - - - - - if(u1 == OPEN_MODE) - - - - + + - - else + + [VqFinPrev] - - - - - - - - - - - - - - - - - action + + - - + + - - + + - - action + + sfix16_En4 @@ -695,43 +680,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [r_inpTgt] - + - + - - + + - + sfix16_En4 @@ -743,108 +728,128 @@ - - - + + + - - + + + + + + + + - - + + - - [z_ctrlModReq] - - - - - - - + + r_inpTgt - - - - - - - - - - - - - - - - - - - - + + - - u1 + + z_ctrlModReq - - + + - - if(u1 == CTRL_FOC) + + r_inpTgtScaFOC - - + + - - else + + if { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FOC_Control_Type - - + + + + + + + + - - + + - + action - - + + + + + + + + - - + + - - action + + sfix16_En4 @@ -855,43 +860,49 @@ - - + + + + + + + + - + - + - - [r_inpTgt] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -903,44 +914,29 @@ - - - + + + - - + + - - + + - + [VqFinPrev] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -961,11 +957,11 @@ - + - + [z_ctrlMod] @@ -983,11 +979,11 @@ - + - + uint8 @@ -999,62 +995,120 @@ - - - + + + - - + + + + + + + + - - + + - - [r_inpTgtScaRaw] + + r_inpTgt - + + + + + + + r_inpTgtScaDft + + + + + + + + else { } + + - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + Default_Control_Type + + - + - - + + + + + + + + + + + - - [r_inpTgtSca] + + action - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1065,28 +1119,34 @@ - - + + + + + + + + - + - + - - [r_inpTgt] + + [z_ctrlMod] - + @@ -1098,43 +1158,58 @@ - - - + + + - - + + - - + + - - [r_inpTgtScaRaw] + + 5 - - + + + + + + + + + + + + + + + + + VqFinPrev - + - - + + - + sfix16_En4 @@ -1146,59 +1221,92 @@ - - + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + - + - + - - 5 + + 2 - + - - + + - - + + - - VqFinPrev + + z_ctrlModReq - - + + - - + + - - sfix16_En4 + + uint8 @@ -1209,120 +1317,75 @@ - - - + + + - - - - - - - - + + - - + + - - r_inpTgt + + u1 - - + + - - r_inpTgtScaDft + + if(u1 == OPEN_MODE) - - + + - - else { } + + else - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default_Control_Type + + - - - - - - - - + + - - + + - + action - - - - - - - - + + - - + + - - sfix16_En4 + + action @@ -1334,12 +1397,6 @@ - - - - - - @@ -1349,11 +1406,11 @@ - + - + 4 @@ -1371,11 +1428,11 @@ - + - + r_inpTgt @@ -1386,11 +1443,11 @@ - + - + sfix16_En4 @@ -1402,120 +1459,77 @@ - - - + + + - - - - - - - - + + - - - - - - r_inpTgtScaRaw - - - - - - - - r_inpTgtScaDft - - - - + + - - else { } + + [z_ctrlModReq] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Default_Mode + + uint8 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - action + + [r_inpTgtScaRaw] - - - - - - - - - - - - - - - - - sfix16_En4 + + + @@ -1526,66 +1540,59 @@ - - - - - - - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - + + + + - - - + + + + + + + + + + + z_ctrlTypSel - - + + - + - - sfix16_En4 + + uint8 @@ -1659,59 +1666,123 @@ - - - + + + - - + + - + - - 2 + + [z_ctrlTypSel] - - + + - - - + + + - + - - z_ctrlModReq + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 == CTRL_FOC) + + + + + + + + else + + + + + + + - - + + - - + + - - uint8 + + action + + + + + + + + + + + + + + + action @@ -1722,9 +1793,9 @@ - - - + + + @@ -1732,42 +1803,34 @@ - - + + - - - - - - r_inpTgt - - - - + + - - z_ctrlModReq + + r_inpTgtScaRaw - - + + - - r_inpTgtScaFOC + + r_inpTgtScaDft - - + + - - if { } + + else { } @@ -1779,8 +1842,8 @@ - - + + @@ -1792,16 +1855,16 @@ - - + + - - + + - - FOC_Control_Type + + Default_Mode @@ -1813,16 +1876,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1834,16 +1897,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1852,78 +1915,15 @@ - + - + - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - z_ctrlTypSel - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - @@ -2259,5 +2259,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json index 7eff028..a28465d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json @@ -1,31 +1,62 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9973", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9976", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"r_inpTgtScaFOC", + "label":"r_inpTgtScaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "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":[ - "0", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -34,8 +65,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -44,16 +75,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9975", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9974", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -67,7 +98,7 @@ "FramePeriod" ], "values":[ - "n_max", + "i_max", "on", "inf", "[]", @@ -98,63 +129,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9976", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9973", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"r_inpTgtScaFOC", - "label":"r_inpTgtScaFOC", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "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", - "[]", - "off", - "held", + "Inherit: Inherit via back propagation", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -163,8 +163,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -173,7 +173,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, @@ -226,6 +226,90 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9970", + "className":"Simulink.Selector", + "icon":"WebViewIcon3", + "name":"Selector", + "label":"Selector", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "inspector":{ + "params":[ + "IndexMode", + "IndexOptionArray", + "IndexOptions", + "IndexParamArray", + "Indices", + "InputPortWidth", + "NumberOfDimensions", + "OutputSizeArray", + "OutputSizes", + "SampleTime" + ], + "values":[ + "Zero-based", + [ + "Index vector (port)" + ], + "Index vector (port)", + [ + "[1 3]" + ], + "[1 3]", + "4", + "1", + [ + "1" + ], + "1", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Selector", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9969", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux", + "label":"Mux", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "4", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9968", "className":"Simulink.Goto", @@ -357,47 +441,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9970", - "className":"Simulink.Selector", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9975", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Selector", - "label":"Selector", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "IndexMode", - "IndexOptionArray", - "IndexOptions", - "IndexParamArray", - "Indices", - "InputPortWidth", - "NumberOfDimensions", - "OutputSizeArray", - "OutputSizes", - "SampleTime" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "Zero-based", - [ - "Index vector (port)" - ], - "Index vector (port)", - [ - "[1 3]" - ], - "[1 3]", - "4", - "1", - [ - "1" - ], - "1", - "-1" + "n_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" @@ -405,16 +485,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Selector", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9964", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9963", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -422,7 +502,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "r_inpTgtScaFOC", "Tag" ], "tabs":[ @@ -441,20 +521,77 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9969", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9962", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Mux", - "label":"Mux", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Inputs", - "DisplayOption" + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "4", - "bar" + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(0,16,12)", + "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:9964", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From22", + "label":"From22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -467,7 +604,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, @@ -742,143 +879,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9962", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(0,16,12)", - "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:9963", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", - "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:9974", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", - "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:9958#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg index da0d565..16e780d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg @@ -13,44 +13,44 @@ - - - + + + - - + + - + - - 0 + + 1 - - + + - - - + + + - + - - sfix16_En4 + + r_inpTgtScaFOC @@ -61,11 +61,11 @@ - - + + - + @@ -75,44 +75,44 @@ - - n_max + + i_max - + - - + + - + - - n_max + + i_max - + - + - + sfix16_En4 @@ -124,44 +124,44 @@ - - - + + + - - + + - + - - 1 + + 0 - - + + - - - + + + - + - - r_inpTgtScaFOC + + sfix16_En4 @@ -218,6 +218,126 @@ + + + + + + + + + + + + + + + + + + U + + + + + + + + Idx1 + + + + + + + + 0 + + + + + + + + Y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -230,11 +350,11 @@ - + - + [r_inpTgt] @@ -263,11 +383,11 @@ - + - + [z_ctrlModReq] @@ -296,11 +416,11 @@ - + - + [r_inpTgtScaFOC] @@ -329,11 +449,11 @@ - + - + [z_ctrlModReq] @@ -351,11 +471,11 @@ - + - + uint8 @@ -367,67 +487,58 @@ - - - + + + - - + + - - + + - - U + + n_max - - - - - - - Idx1 + + + + + + - - - - - - - 0 + + + + + + - - + + - - Y - - - - - - - + + n_max - + - - + + - + sfix16_En4 @@ -439,43 +550,43 @@ - - - + + + - + - + - - [r_inpTgt] + + [r_inpTgtScaFOC] - + - + - - + + - + sfix16_En4 @@ -487,43 +598,116 @@ - - - + + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -545,11 +729,11 @@ - + - + Vd_max @@ -567,11 +751,11 @@ - + - + Vd_max @@ -582,11 +766,11 @@ - + - + sfix16_En4 @@ -600,7 +784,7 @@ - + @@ -608,19 +792,19 @@ - + - + - + - + @@ -638,11 +822,11 @@ - + - + sfix16_En4 @@ -664,11 +848,11 @@ - + - + if { } @@ -686,11 +870,11 @@ - + - + Action Port @@ -712,11 +896,11 @@ - + - + 2 @@ -734,11 +918,11 @@ - + - + z_ctrlModReq @@ -749,11 +933,11 @@ - + - + uint8 @@ -775,11 +959,11 @@ - + - + 1 @@ -797,11 +981,11 @@ - + - + r_inpTgt @@ -811,196 +995,12 @@ - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ufix16_En12 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtScaFOC] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - i_max - - - - - - - - - - - - - - - - - - - - - - i_max - - - - - - - - - + - + sfix16_En4 @@ -1208,5 +1208,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json index 20ed587..66adcc6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json @@ -79,37 +79,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9990", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9988", - "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:9989", "className":"Simulink.Inport", @@ -177,6 +146,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9990", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9988", + "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:9989#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg index d6c3a52..899c297 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg @@ -61,44 +61,59 @@ - - - + + + - - + + - + - - else { } + + 1 - - + + - - + + - + - - Action Port + + r_inpTgt + + + + + + + + + + + + + + + sfix16_En4 @@ -109,59 +124,44 @@ - - - + + + - - + + - - + + - - 1 + + else { } - - + + - - - - - - - - - - r_inpTgt - - - - - - - + + - + - - sfix16_En4 + + Action Port @@ -186,5 +186,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 3b46f01..933cd1a 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 @@ -27,7 +27,8 @@ 83, 89, 90, - 91 + 91, + 92 ], "name":"BLDC_controller", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller", @@ -39,122 +40,123 @@ "elements":[ ":9309", ":9308", - ":10192", ":9307", + ":10192", ":9306", + ":9305", ":9304", ":9303", ":9302", - ":10064", + ":9300", + ":9298", ":9297", - ":9441", ":10164", - ":10751", + ":10156", ":9293", ":10258", - ":9290", - ":9934", + ":9281", + ":9280", ":9279", - ":9289", - ":9286", + ":9285", ":9283", - ":10189", - ":9300", - ":10188", + ":9272", ":10187", ":9277", + ":9276", + ":9290", ":9275", - ":9274", - ":9278", + ":9456", + ":10139", + ":9287", ":9437", + ":9271", + ":11017", + ":9292", ":10159", - ":9252", - ":9251", - ":9250", - ":9262", - ":9269", - ":9418", + ":9263", ":10692", ":10355", + ":9291", ":9268", - ":9284", - ":9267", - ":9282", - ":9265", - ":9264", - ":9261", - ":9287", + ":9266", + ":9274", ":9258", - ":10257", + ":9259", + ":10161", + ":10160", ":10027", - ":9253", + ":9284", ":10026", + ":9288", + ":10188", + ":10025", ":9935", - ":9248", - ":9241", - ":10356", - ":9249", + ":10257", ":9931", - ":9244", - ":9263", ":10259", ":9720", ":9242", + ":9240", + ":9265", + ":10191", + ":9262", + ":9289", + ":10155", ":9198", - ":9259", - ":10025", - ":9276", - ":9266", - ":10066", + ":9264", + ":9261", + ":10751", + ":9267", + ":9436", + ":9260", + ":9278", + ":9448", ":9930", - ":10191", - ":9288", - ":9245", + ":9251", ":8469", - ":9298", - ":9285", - ":10161", - ":8220", - ":8217", - ":9280", - ":10160", - ":8215", - ":8214", - ":9291", - ":9448", - ":9270", - ":9240", - ":9271", - ":9301", + ":9253", + ":9418", + ":10189", + ":8535", + ":9241", + ":10066", + ":10065", + ":10356", + ":9299", + ":9269", ":8210", - ":10158", - ":10749", - ":10155", - ":9305", - ":9456", ":10154", - ":10065", - ":8206", - ":8209", - ":8205", ":8658", + ":9441", + ":9245", + ":8207", + ":8205", + ":8206", + ":8217", + ":10064", + ":8214", + ":10749", + ":8220", + ":9282", + ":8208", ":8204", - ":10139", - ":10156", - ":8535", + ":9270", + ":8215", + ":9301", ":8203", - ":8208", + ":8209", + ":9934", + ":9249", + ":9244", + ":9252", ":8202", - ":9299", - ":9436", - ":8207", - ":9292", - ":9260", + ":9250", ":8201", - ":9272", - ":9281", - ":10157", + ":9286", + ":9248", + ":10158", ":10255", + ":10157", ":9268#out:1", ":8469#out:2", ":8215#out:1", @@ -299,34 +301,34 @@ ":8464", ":8426", ":8428", - ":8467", ":8468", - ":9933", ":9433", - ":8463", + ":8467", + ":8466", + ":8461", ":8460", ":8458", ":9432", + ":8451", ":8449", - ":8461", + ":8446", ":9431", ":8437", ":8435", - ":8432", - ":8430", - ":8427", ":8434", - ":8436", - ":8384", + ":8463", ":8431", + ":8430", ":8429", - ":8446", - ":8451", - ":8466", ":8457", - ":8450", ":8462", + ":8384", + ":8427", + ":8432", + ":8450", + ":8436", ":9932", + ":9933", ":8462#out:1", ":8440#out:1", ":8439#out:1", @@ -468,8 +470,8 @@ ":8252", ":8262", ":8259", - ":8260", ":8249", + ":8260", ":8259#out:1", ":8255#out:1", ":8253#out:1", @@ -518,57 +520,57 @@ ":8290", ":8266", ":8296", - ":8379", ":9430", ":8378", - ":8373", - ":9429", - ":8372", + ":8377", + ":8374", ":8371", ":8370", - ":8377", + ":8369", ":9428", ":8366", - ":8369", + ":8313", ":8312", + ":9429", ":8311", - ":8306", + ":8308", + ":9427", ":8305", - ":8374", + ":8303", ":8301", - ":8299", ":8298", - ":9425", ":8294", - ":8308", + ":8293", ":8291", + ":9425", ":8289", - ":8293", - ":9427", ":8285", - ":8300", + ":8297", ":8284", - ":8283", - ":8376", - ":8282", - ":8303", - ":8280", - ":8286", - ":8292", - ":8313", + ":8299", + ":8306", ":8278", + ":8280", ":8277", - ":8276", + ":8300", + ":8372", + ":8282", + ":8283", + ":8270", + ":8379", + ":8268", + ":8292", ":9426", + ":8267", ":8275", - ":8281", - ":8270", - ":8272", ":8314", - ":8267", + ":8276", + ":8373", ":9477", - ":8268", - ":8297", + ":8281", + ":8376", + ":8272", + ":8286", ":8310", ":8309", ":8293#out:1", @@ -639,12 +641,12 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json", "elements":[ ":8272:2418", + ":8272:2515", ":8272:2416", ":8272:2415", - ":8272:2413", ":8272:2414", + ":8272:2413", ":8272:2412", - ":8272:2515", ":8272:2515#out:1", ":8272:2415#out:1", ":8272:2413#out:1", @@ -703,51 +705,51 @@ ":8363", ":8364", ":8365", + ":8358", + ":8355", + ":8354", + ":8352", ":8357", - ":8348", - ":8347", ":8351", - ":8352", - ":8359", - ":8342", - ":8349", - ":8341", + ":8360", + ":8348", + ":8349", + ":8346", + ":8359", + ":8350", + ":8356", + ":8344", ":8340", - ":8339", - ":8338", + ":8337", ":8336", + ":8339", ":8332", - ":8331", - ":8350", + ":8333", ":8330", ":8329", + ":8335", + ":8323", + ":8324", ":8328", + ":8327", + ":8342", + ":8319", + ":8326", ":8325", - ":8358", - ":8344", - ":8323", - ":8337", - ":8360", - ":8333", - ":8334", ":8321", + ":8318", + ":8341", + ":8345", + ":8331", ":8322", + ":8347", + ":8317", + ":8338", ":8320", - ":8326", - ":8319", - ":8355", - ":8335", - ":8356", - ":8318", - ":8346", - ":8354", ":8353", - ":8317", - ":8327", ":8316", - ":8324", + ":8334", ":8315", - ":8345", ":8343", ":8315#out:1", ":8316#out:1", @@ -824,27 +826,27 @@ ":8416", ":8391", ":8420", - ":8418", ":8417", ":9660", + ":8411", + ":8410", ":8412", ":8404", ":8400", - ":8405", + ":8418", ":8398", - ":8397", - ":9664", ":8395", - ":8394", - ":8403", - ":8421", ":8393", - ":8392", + ":9664", ":9665", ":8389", ":8396", - ":8410", - ":8411", + ":8405", + ":8403", + ":8394", + ":8392", + ":8421", + ":8397", ":8385#out:1", ":8386#out:1", ":8399#out:1", @@ -907,49 +909,49 @@ ":8526", ":8499", ":8497", - ":8527", - ":8515", + ":8525", + ":8524", + ":8520", + ":8517", + ":9405", ":9398", - ":8514", ":8510", - ":8509", - ":8521", - ":9404", - ":9395", - ":8524", ":8508", + ":9406", + ":8504", + ":8521", + ":8514", ":9397", - ":8525", - ":9405", + ":8503", + ":8500", + ":8515", + ":9404", ":8491", - ":8494", + ":9395", ":9407", - ":9408", - ":8487", - ":8486", - ":8484", + ":8509", + ":8519", ":9400", ":8483", - ":8503", - ":8504", - ":8500", + ":8493", ":8482", - ":8492", - ":9402", + ":8527", + ":9412", + ":8480", + ":8484", + ":8494", ":8479", - ":8519", ":8478", - ":9406", - ":8520", + ":8487", + ":9408", + ":8474", + ":8486", + ":9402", ":9403", - ":9412", - ":9396", ":9394", - ":8493", - ":8517", - ":8480", ":9410", - ":8474", + ":9396", + ":8492", ":9401", ":8497#out:1", ":8470#out:1", @@ -1014,37 +1016,37 @@ ":8486:2496", ":8486:2507", ":8486:2509", - ":8486:2467", + ":8486:2473", ":8486:2465", - ":8486:2463", - ":8486:2461", - ":8486:2459", ":8486:2464", - ":8486:2452", + ":8486:2466", + ":8486:2462", + ":8486:2460", + ":8486:2467", ":8486:2458", - ":8486:2454", + ":8486:2457", + ":8486:2472", + ":8486:2455", + ":8486:2453", + ":8486:2452", ":8486:2451", - ":8486:2449", - ":8486:2466", - ":8486:2448", ":8486:2456", + ":8486:2450", + ":8486:2454", + ":8486:2461", + ":8486:2448", ":8486:2428", - ":8486:2473", - ":8486:2457", - ":8486:2472", - ":8486:2460", + ":8486:2459", ":8486:2423", + ":8486:2449", ":8486:2422", - ":8486:2455", ":8486:2421", - ":8486:2453", - ":8486:2450", ":8486:2420", - ":8486:2462", + ":8486:2463", ":8486:2468", - ":8486:2471", ":8486:2470", ":8486:2469", + ":8486:2471", ":8486:2507#out:1", ":8486:2422#out:1", ":8486:2421#out:1", @@ -1093,9 +1095,9 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json", "elements":[ ":8486:2427", - ":8486:2426", ":8486:2425", ":8486:2424", + ":8486:2426", ":8486:2424#out:1" ], "sameAsElement":true @@ -1116,25 +1118,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:2445", - ":8486:2443", - ":8486:2446", + ":8486:2444", ":8486:2441", + ":8486:2440", ":8486:2439", + ":8486:2437", ":8486:2436", - ":8486:2440", + ":8486:2443", + ":8486:2447", ":8486:2435", - ":8486:2444", - ":8486:2442", ":8486:2432", - ":8486:2431", - ":8486:2437", + ":8486:2434", ":8486:2433", ":8486:2438", - ":8486:2429", + ":8486:2442", + ":8486:2446", + ":8486:2431", ":8486:2430", - ":8486:2434", + ":8486:2429", ":8486:2438#out:1", ":8486:2429#out:1", ":8486:2430#out:1", @@ -1168,11 +1170,11 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json", "elements":[ ":8486:2435:2418", + ":8486:2435:2416", + ":8486:2435:2414", ":8486:2435:2515", ":8486:2435:2415", - ":8486:2435:2414", ":8486:2435:2413", - ":8486:2435:2416", ":8486:2435:2412", ":8486:2435:2515#out:1", ":8486:2435:2415#out:1", @@ -1228,25 +1230,25 @@ "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:2489", - ":8486:2486", - ":8486:2485", ":8486:2492", - ":8486:2482", + ":8486:2491", + ":8486:2489", ":8486:2487", - ":8486:2480", - ":8486:2479", - ":8486:2478", - ":8486:2477", + ":8486:2485", + ":8486:2484", + ":8486:2483", ":8486:2490", ":8486:2481", - ":8486:2483", + ":8486:2479", + ":8486:2482", + ":8486:2477", + ":8486:2478", ":8486:2476", + ":8486:2480", ":8486:2488", ":8486:2475", ":8486:2474", - ":8486:2491", - ":8486:2484", + ":8486:2486", ":8486:2480#out:1", ":8486:2491#out:1", ":8486:2481#out:1", @@ -1280,11 +1282,11 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json", "elements":[ ":8486:2480:2418", + ":8486:2480:2515", ":8486:2480:2416", ":8486:2480:2415", - ":8486:2480:2414", ":8486:2480:2413", - ":8486:2480:2515", + ":8486:2480:2414", ":8486:2480:2412", ":8486:2480:2515#out:1", ":8486:2480:2415#out:1", @@ -1395,47 +1397,47 @@ ":8655", ":8634", ":10029", - ":8654", - ":8651", - ":9423", ":10024", ":8647", - ":8645", - ":10019", - ":8640", - ":8639", + ":8646", + ":8643", + ":10020", ":10017", + ":8636", ":8633", - ":8632", ":10028", - ":8643", ":9996", - ":8630", + ":8650", + ":9995", ":10023", + ":8639", + ":9994", + ":8628", + ":8640", ":9424", - ":9997", + ":8635", + ":8645", ":8624", - ":8636", - ":9995", - ":9953", + ":8625", + ":9423", ":8603", - ":8642", + ":9953", ":8546", - ":10022", - ":10018", - ":8650", - ":8539", - ":8628", ":10256", + ":10018", + ":9997", + ":10022", + ":8651", ":10021", - ":8537", - ":9994", - ":10020", + ":10019", + ":8630", + ":8537", + ":8654", ":9422", - ":8625", ":8536", - ":8635", - ":8646", + ":8642", + ":8539", + ":8632", ":8634#out:1", ":8537#out:1", ":8625#out:1", @@ -1486,58 +1488,58 @@ "elements":[ ":8601", ":8602", - ":8600", - ":8598", - ":8595", - ":8592", + ":8599", + ":8597", + ":8594", + ":8591", + ":8589", + ":8587", ":8590", ":8586", ":8585", + ":8583", + ":8581", + ":8595", ":8584", - ":8589", - ":8580", ":8593", - ":8591", - ":8571", - ":8581", + ":8598", + ":8580", + ":8572", + ":9421", ":8568", - ":8573", - ":8564", - ":8566", - ":8583", - ":8569", - ":8561", - ":8599", - ":8582", ":8563", - ":8572", - ":8560", + ":9419", ":8559", - ":8558", - ":8587", ":8570", + ":8582", ":8556", + ":8555", ":8554", - ":8562", ":8553", - ":8565", ":8551", - ":9419", - ":9421", + ":8552", ":8549", + ":8560", + ":8564", + ":8592", ":8548", - ":8555", + ":8573", + ":8561", ":9420", + ":8571", + ":8562", + ":8569", + ":8600", ":8547", - ":8597", - ":8594", - ":8552", + ":8558", + ":8566", + ":8565", + ":8575", + ":8574", ":8576", ":8577", ":8578", - ":8574", ":8579", - ":8575", ":8587#out:1", ":8593#out:1", ":8594#out:1", @@ -1596,19 +1598,19 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json", "elements":[ ":8603:3", - ":8603:28", ":8603:6", + ":8603:28", ":8603:4", - ":8603:33", - ":8603:30", - ":8603:32", ":8603:12", - ":8603:9", ":8603:31", + ":8603:32", + ":8603:9", + ":8603:33", + ":8603:30", ":8603:1", ":8603:2", - ":8603:14", - ":8603:13" + ":8603:13", + ":8603:14" ], "sameAsElement":false }, @@ -1633,36 +1635,36 @@ "elements":[ ":9993", ":10003", - ":9992", ":10449", ":9937", ":10013", - ":9999", - ":9981", - ":10004", + ":9987", ":9985", - ":9980", - ":9979", - ":10002", - ":9978", - ":9982", - ":9986", - ":9977", - ":10005", - ":10000", - ":9984", + ":9992", ":10014", + ":9980", ":9983", ":10015", - ":10016", + ":10005", + ":9977", + ":9957", + ":9978", + ":10004", + ":10000", ":9988", - ":9956", - ":10007", - ":9987", - ":9998", + ":9999", + ":10016", + ":9982", ":9955", - ":9957", + ":10002", + ":9956", + ":9981", + ":9984", ":9954", + ":9998", + ":9979", + ":9986", + ":10007", ":9957#out:1", ":9980#out:1", ":9978#out:1", @@ -1706,8 +1708,8 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json", "elements":[ ":9991", - ":9990", ":9989", + ":9990", ":9989#out:1" ], "sameAsElement":true @@ -1728,8 +1730,8 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json", "elements":[ ":10012", - ":10009", ":10008", + ":10009", ":10008#out:1" ], "sameAsElement":true @@ -1749,25 +1751,25 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json", "elements":[ - ":9973", - ":9975", ":9976", + ":9974", + ":9973", ":9972", + ":9970", + ":9969", ":9968", ":9967", ":9966", ":9965", - ":9970", + ":9975", + ":9963", + ":9962", ":9964", - ":9969", ":9971", ":9961", ":9960", ":9959", ":9958", - ":9962", - ":9963", - ":9974", ":9958#out:1", ":9963#out:1", ":9959#out:1", @@ -1803,19 +1805,19 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json", "elements":[ ":9952", + ":9951", ":9950", ":9949", ":9947", + ":10006", ":9948", + ":9945", ":9944", - ":10006", ":9941", ":9943", - ":9945", - ":9940", ":9942", + ":9940", ":9939", - ":9951", ":9938", ":9938#out:1", ":9940#out:1", @@ -1848,16 +1850,16 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json", "elements":[ ":9948:2353", - ":9948:2343", + ":9948:2360", ":9948:2346", ":9948:2342", - ":9948:2358", - ":9948:2395", ":9948:2357", ":9948:2356", - ":9948:2355", - ":9948:2360", + ":9948:2358", + ":9948:2395", + ":9948:2343", ":9948:2359", + ":9948:2355", ":9948:2356#out:1", ":9948:2342#out:1", ":9948:2359#out:1", @@ -1979,40 +1981,40 @@ ":10523", ":10522", ":10521", - ":10518", - ":10517", - ":10519", - ":10516", ":10513", + ":10518", ":10512", + ":10514", ":10511", + ":10510", ":10509", - ":10506", - ":10504", + ":10508", + ":10507", ":10503", + ":10504", ":10502", + ":10506", ":10500", - ":10514", - ":10499", - ":10507", ":10498", - ":10497", - ":10493", + ":10495", ":10494", ":10492", + ":10493", + ":10505", ":10491", - ":10495", + ":10501", ":10489", + ":10488", + ":10497", + ":10519", + ":10499", + ":10520", ":10496", ":10490", - ":10510", - ":10488", - ":10505", ":10487", - ":10508", - ":10501", + ":10516", + ":10517", ":10486", - ":10520", ":10515", ":10514#out:1", ":10500#out:1", @@ -2154,125 +2156,125 @@ ":9071", ":9025", ":9197", + ":9196", + ":9195", ":10173", ":8743", ":9073", - ":9195", - ":9072", - ":9045", + ":9028", ":9027", - ":9023", - ":9196", + ":9026", ":8913", ":10363", - ":9713", - ":8864", + ":10365", + ":9045", + ":8863", + ":8862", ":8861", - ":8858", + ":8857", + ":8856", ":8849", - ":8848", + ":8845", ":8844", ":10703", ":10171", - ":8850", + ":8839", ":8838", - ":8837", - ":10360", - ":10687", - ":10686", - ":8843", + ":10728", ":10448", + ":10395", ":10172", - ":10359", ":10394", + ":8826", + ":9023", ":10428", - ":8862", ":10438", ":8817", + ":10441", + ":8815", + ":8850", + ":10440", + ":10434", + ":10359", + ":8843", ":10433", - ":8811", ":8810", - ":10395", - ":10440", + ":10432", ":10431", + ":8842", ":8807", ":10362", + ":8864", ":10743", - ":10439", - ":10728", + ":8806", ":10726", - ":10444", + ":8797", ":8796", - ":10707", - ":10445", - ":8798", - ":10697", - ":8788", - ":8795", - ":8783", - ":8782", - ":8781", + ":8790", + ":8825", + ":8787", + ":8786", + ":10688", + ":8784", + ":8848", + ":8853", + ":8783", + ":8781", + ":8851", ":10446", + ":9718", ":8776", - ":8775", ":10436", - ":8772", + ":10447", + ":8795", ":10430", - ":10698", - ":10701", - ":10432", - ":9028", - ":8790", - ":10174", - ":8815", - ":8853", - ":8863", - ":10434", - ":10729", - ":10437", - ":8797", + ":10429", + ":8775", + ":8768", + ":10697", + ":9717", + ":9072", + ":10687", + ":10393", + ":8837", + ":9713", + ":10445", + ":10364", + ":10719", + ":8798", + ":8858", + ":8772", ":8668", - ":8726", + ":10360", ":10702", - ":9026", - ":10688", ":8667", - ":8842", - ":8851", ":10689", - ":8826", - ":8664", - ":10441", - ":8663", - ":10364", - ":8856", - ":8768", - ":8784", - ":10691", + ":8811", + ":8788", + ":10686", + ":8794", + ":8662", + ":10729", ":9716", - ":10429", - ":10365", + ":8664", + ":10437", ":10358", - ":10393", - ":9718", - ":10447", - ":8662", - ":8845", + ":10691", + ":8663", + ":10701", + ":10174", + ":8782", ":8661", - ":10435", - ":10719", - ":9717", - ":8846", + ":10444", + ":10439", + ":8659", ":8660", - ":8839", + ":8846", + ":10707", + ":10698", + ":8726", + ":10435", ":10357", - ":8794", - ":8659", - ":8825", - ":8857", - ":8786", - ":8806", - ":8787", ":8827#out:1", ":8886#out:1", ":8886#out:2", @@ -2401,33 +2403,33 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json", "elements":[ ":8723", - ":8721", - ":8720", ":8722", - ":8718", + ":8721", ":8719", - ":8717", - ":8714", - ":8713", - ":8712", + ":8716", ":8715", + ":8713", ":8711", - ":8706", + ":8709", + ":8724", + ":8704", ":8705", - ":8707", + ":8710", + ":8720", + ":8706", + ":8686", ":8725", - ":8704", - ":8708", + ":8707", ":8703", - ":8702", - ":8716", - ":8724", + ":8718", + ":8717", ":8671", - ":8709", - ":8686", - ":8710", + ":8708", + ":8702", ":8670", + ":8714", ":8669", + ":8712", ":8686#out:1", ":8705#out:1", ":8704#out:1", @@ -2468,19 +2470,19 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.json", "elements":[ ":8685", - ":8683", - ":8682", - ":8681", ":8684", + ":8682", ":8680", - ":8676", + ":8679", + ":8683", ":8675", - ":8678", ":8674", - ":8679", + ":8678", ":8673", - ":8672", ":8677", + ":8681", + ":8672", + ":8676", ":8673#out:1", ":8672#out:1", ":8675#out:1", @@ -2509,19 +2511,19 @@ "elements":[ ":8701", ":8700", - ":8699", + ":8696", + ":8693", ":8698", - ":8697", - ":8694", - ":8692", + ":8699", ":8691", + ":8695", ":8689", + ":8697", ":8688", - ":8690", - ":8696", + ":8694", + ":8692", ":8687", - ":8695", - ":8693", + ":8690", ":8691#out:1", ":8690#out:1", ":8693#out:1", @@ -2550,23 +2552,23 @@ "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", ":8734", + ":8732", + ":8742", ":8738", ":8733", - ":8731", ":8729", - ":8740", - ":8739", - ":8736", ":9714", + ":8730", ":8728", - ":8732", - ":8742", ":8735", - ":8741", ":8727", - ":8730", + ":8731", ":8739#out:1", ":8729#out:2", ":8740#out:1", @@ -2596,23 +2598,21 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json", "elements":[ - ":8738:2407", - ":8738:2406", - ":8738:2405", - ":8738:2404", - ":8738:2402", - ":8738:2400", - ":8738:2401", - ":8738:2403", - ":8738:2399", - ":8738:2399#out:1", - ":8738:2404#out:1", - ":8738:2401#out:1", - ":8738:2403#out:1", - ":8738:2406#out:1", - ":8738:2405#out:1", - ":8738:2400#out:1", - ":8738:2402#out:1" + ":8738:2904", + ":8738:2903", + ":8738:2902", + ":8738:2901", + ":8738:2900", + ":8738:2899", + ":8738:2898", + ":8738:2897", + ":8738:2898#out:1", + ":8738:2900#out:1", + ":8738:2897#out:1", + ":8738:2899#out:1", + ":8738:2903#out:1", + ":8738:2901#out:1", + ":8738:2902#out:1" ], "sameAsElement":true }, @@ -2637,95 +2637,95 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json", "elements":[ ":10370", - ":9143", - ":9074", ":9171", - ":10425", + ":9109", + ":9108", + ":9074", + ":8912", ":10391", - ":10424", - ":10368", ":10420", - ":8852", + ":10419", ":10388", ":10413", ":10387", - ":10411", - ":9715", - ":10410", ":10735", + ":9143", + ":10412", + ":10424", + ":10410", ":10409", ":10723", - ":9108", + ":10722", + ":10425", ":8834", - ":10427", - ":8831", ":8830", + ":9715", ":10030", - ":8823", + ":8816", ":10367", + ":8814", ":8813", + ":9029", ":8812", - ":8814", - ":8808", - ":10742", + ":8831", + ":8841", ":8803", - ":10722", - ":10419", + ":8802", + ":10730", + ":8799", ":8793", - ":8824", - ":8792", + ":8804", ":8791", - ":8832", + ":8824", ":10724", - ":8777", - ":10730", - ":8774", + ":10418", + ":8779", + ":8809", + ":8852", + ":10411", ":8771", - ":10408", - ":8770", - ":9109", + ":8808", ":8766", - ":8765", - ":8809", - ":10366", ":10417", - ":10416", + ":8780", + ":8774", ":10720", - ":10423", - ":10721", ":10422", - ":8816", - ":10407", - ":8780", - ":8800", - ":10369", - ":10415", + ":10742", + ":10406", + ":10366", + ":8801", ":10398", - ":10414", - ":10405", - ":8799", - ":8773", + ":10421", + ":8832", + ":10415", + ":8823", + ":10368", + ":10416", ":10404", + ":10407", + ":10369", + ":10403", ":8789", - ":8802", + ":8773", ":10397", - ":8779", - ":10402", - ":8912", + ":10426", + ":10423", + ":8792", ":10734", - ":8801", - ":10418", - ":10421", - ":8804", - ":9029", + ":8770", ":10372", - ":10403", - ":10412", - ":8841", - ":10406", - ":10426", - ":10371", + ":8765", + ":8800", ":10373", + ":10408", + ":10427", + ":10402", + ":8777", + ":10721", + ":10371", + ":10405", + ":10414", ":8766#out:1", ":8770#out:1", ":8779#out:1", @@ -2834,26 +2834,26 @@ "elements":[ ":9709", ":9106", - ":9105", - ":9101", + ":10455", + ":9095", + ":9104", ":9093", + ":9094", ":9092", - ":9091", - ":9095", - ":9090", ":9089", + ":9090", + ":9091", + ":9088", ":9087", ":10714", - ":9094", + ":9101", ":9081", - ":10455", - ":9104", + ":9077", + ":9105", + ":9082", ":9078", - ":9088", ":9076", - ":9082", ":9075", - ":9077", ":9087#out:1", ":9075#out:1", ":9076#out:1", @@ -2889,29 +2889,29 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json", "elements":[ - ":10455:2817", + ":10455:2785", + ":10455:2783", ":10455:2781", + ":10455:2791", + ":10455:2779", ":10455:2794", ":10455:2795", - ":10455:2833", - ":10455:2832", - ":10455:2785", - ":10455:2779", - ":10455:2778", - ":10455:2846", - ":10455:2815", - ":10455:2814", - ":10455:2791", ":10455:2845", - ":10455:2733", - ":10455:2783", - ":10455:2771", + ":10455:2814", ":10455:2773", ":10455:2816", ":10455:2732", + ":10455:2771", + ":10455:2846", + ":10455:2778", + ":10455:2776", + ":10455:2833", + ":10455:2815", + ":10455:2733", ":10455:2770", + ":10455:2832", ":10455:2769", - ":10455:2776", + ":10455:2817", ":10455:2844", ":10455:2791#out:2", ":10455:2846#out:1", @@ -2956,12 +2956,12 @@ ":10455:2819", ":10455:2818", ":10455:2831", + ":10455:2839", ":10455:2840", ":10455:2836", + ":10455:2837", ":10455:2843", - ":10455:2839", ":10455:2841", - ":10455:2837", ":10455:2838", ":10455:2843#out:1", ":10455:2838#out:1", @@ -3019,14 +3019,14 @@ "elements":[ ":10455:2791:2709", ":10455:2791:2707", - ":10455:2791:2377", - ":10455:2791:2849", ":10455:2791:2710", + ":10455:2791:2849", + ":10455:2791:2848", ":10455:2791:2701", - ":10455:2791:2704", ":10455:2791:2700", + ":10455:2791:2377", ":10455:2791:2699", - ":10455:2791:2848", + ":10455:2791:2704", ":10455:2791:2849#out:1", ":10455:2791:2701#out:1", ":10455:2791:2704#out:1", @@ -3054,42 +3054,42 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json", "elements":[ - ":9141", - ":10831", - ":10834", - ":10829", + ":10828", + ":10842", ":10844", - ":9131", + ":9129", + ":9128", ":9130", ":9127", - ":10841", - ":9126", + ":10834", ":9125", - ":9138", - ":10840", - ":10821", - ":10820", + ":10841", + ":9141", + ":10843", ":10819", ":10836", - ":10846", - ":10822", - ":10838", + ":10820", ":10823", + ":10846", + ":9126", ":10845", - ":9139", - ":9115", - ":9114", - ":9129", - ":10843", - ":10842", - ":9111", - ":9113", - ":10828", + ":10822", ":9117", - ":9110", - ":9128", + ":9139", + ":9138", + ":10838", + ":9113", + ":10821", ":9112", + ":10840", ":9116", + ":9111", + ":10831", + ":9114", + ":9110", + ":10829", + ":9115", + ":9131", ":9111#out:1", ":9110#out:1", ":9112#out:1", @@ -3137,28 +3137,28 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json", "elements":[ ":10828:2785", - ":10828:2817", ":10828:2814", ":10828:2781", + ":10828:2783", ":10828:2779", ":10828:2795", - ":10828:2791", ":10828:2846", - ":10828:2833", - ":10828:2776", + ":10828:2832", + ":10828:2791", + ":10828:2817", ":10828:2845", - ":10828:2816", - ":10828:2773", + ":10828:2776", + ":10828:2778", + ":10828:2815", + ":10828:2833", ":10828:2733", ":10828:2732", + ":10828:2773", ":10828:2794", + ":10828:2816", ":10828:2771", - ":10828:2815", - ":10828:2783", - ":10828:2769", - ":10828:2778", - ":10828:2832", ":10828:2770", + ":10828:2769", ":10828:2844", ":10828:2791#out:2", ":10828:2846#out:1", @@ -3204,11 +3204,11 @@ ":10828:2818", ":10828:2831", ":10828:2837", - ":10828:2841", - ":10828:2836", ":10828:2840", + ":10828:2836", ":10828:2839", ":10828:2843", + ":10828:2841", ":10828:2838", ":10828:2843#out:1", ":10828:2838#out:1", @@ -3237,10 +3237,10 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json", "elements":[ - ":10828:2790", ":10828:2789", - ":10828:2787", + ":10828:2790", ":10828:2788", + ":10828:2787", ":10828:2786", ":10828:2787#out:1", ":10828:2789#out:1", @@ -3265,15 +3265,15 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json", "elements":[ ":10828:2791:2710", - ":10828:2791:2377", ":10828:2791:2709", - ":10828:2791:2707", ":10828:2791:2849", + ":10828:2791:2707", + ":10828:2791:2377", ":10828:2791:2704", - ":10828:2791:2700", - ":10828:2791:2848", ":10828:2791:2701", + ":10828:2791:2700", ":10828:2791:2699", + ":10828:2791:2848", ":10828:2791:2849#out:1", ":10828:2791:2701#out:1", ":10828:2791:2704#out:1", @@ -3337,31 +3337,31 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json", "elements":[ ":9165", + ":9726", ":9170", + ":9725", ":9164", ":10454", - ":9726", - ":9161", - ":9159", - ":9158", - ":9722", + ":9160", + ":9723", ":9155", - ":9162", + ":9159", ":9152", - ":9157", - ":9151", - ":9156", - ":9150", ":9149", - ":9148", + ":9157", ":9724", - ":9723", - ":9145", + ":9148", + ":9161", + ":9722", ":9147", + ":9156", + ":9151", ":9146", - ":9160", + ":9162", + ":9145", ":9144", - ":9725", + ":9150", + ":9158", ":9152#out:1", ":9151#out:1", ":9144#out:1", @@ -3401,29 +3401,29 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json", "elements":[ - ":10454:2785", ":10454:2817", ":10454:2783", ":10454:2791", - ":10454:2779", - ":10454:2794", - ":10454:2795", + ":10454:2845", ":10454:2846", - ":10454:2833", + ":10454:2794", ":10454:2832", - ":10454:2814", - ":10454:2781", - ":10454:2776", + ":10454:2795", ":10454:2778", - ":10454:2845", + ":10454:2779", + ":10454:2776", + ":10454:2785", + ":10454:2733", + ":10454:2781", + ":10454:2814", ":10454:2816", ":10454:2732", + ":10454:2833", + ":10454:2773", ":10454:2771", ":10454:2770", ":10454:2815", - ":10454:2733", ":10454:2769", - ":10454:2773", ":10454:2844", ":10454:2791#out:2", ":10454:2846#out:1", @@ -3470,9 +3470,9 @@ ":10454:2831", ":10454:2839", ":10454:2837", - ":10454:2840", - ":10454:2836", ":10454:2841", + ":10454:2836", + ":10454:2840", ":10454:2843", ":10454:2838", ":10454:2843#out:1", @@ -3504,9 +3504,9 @@ "elements":[ ":10454:2790", ":10454:2788", - ":10454:2786", ":10454:2789", ":10454:2787", + ":10454:2786", ":10454:2787#out:1", ":10454:2789#out:1", ":10454:2788#out:1", @@ -3529,15 +3529,15 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json", "elements":[ + ":10454:2791:2710", ":10454:2791:2377", ":10454:2791:2709", - ":10454:2791:2710", ":10454:2791:2707", - ":10454:2791:2849", + ":10454:2791:2848", ":10454:2791:2704", ":10454:2791:2700", - ":10454:2791:2848", ":10454:2791:2699", + ":10454:2791:2849", ":10454:2791:2701", ":10454:2791:2849#out:1", ":10454:2791:2701#out:1", @@ -3600,31 +3600,31 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json", "elements":[ - ":9191", ":10740", - ":9188", - ":10737", - ":9189", + ":10732", ":9185", - ":9183", - ":10733", ":10731", - ":9181", ":9179", - ":9186", ":10725", - ":10732", - ":9175", + ":9183", + ":9186", + ":10738", + ":9189", ":10741", + ":9188", ":9184", - ":9173", - ":9174", + ":9177", + ":9181", ":9176", + ":10733", + ":9175", + ":9173", + ":9191", ":10736", - ":10738", ":9172", + ":10737", ":9187", - ":9177", + ":9174", ":9172#out:1", ":9181#out:1", ":9179#out:1", @@ -3700,17 +3700,17 @@ ":8868", ":8867", ":8881", + ":8880", ":8879", ":8878", ":8875", ":8874", - ":8877", ":8873", - ":8880", ":8872", ":8876", ":8870", ":8869", + ":8877", ":8880#out:1", ":8879#out:1", ":8872#out:1", @@ -3750,23 +3750,23 @@ ":8889", ":8890", ":8908", + ":8906", ":8905", ":8904", - ":8903", - ":8902", ":8901", ":8900", ":8899", ":8897", - ":8906", - ":8894", ":8895", ":8893", - ":8907", + ":8902", ":8898", - ":8891", ":8892", ":8896", + ":8907", + ":8891", + ":8894", + ":8903", ":8889#out:1", ":8888#out:1", ":8887#out:1", @@ -3811,92 +3811,92 @@ ":9020", ":9021", ":9022", - ":9017", ":9014", ":10711", - ":9012", - ":9009", - ":10712", + ":9013", + ":9010", + ":9006", ":9004", ":9003", - ":8999", - ":9010", - ":8998", - ":8997", - ":10566", - ":9011", ":8974", ":8973", ":8971", ":10718", ":10713", - ":8970", - ":10705", ":9008", + ":10705", + ":9007", + ":10584", + ":10696", + ":10565", ":10694", ":8969", + ":8963", ":8962", - ":8972", - ":8959", - ":10715", + ":8961", + ":10712", + ":9017", + ":8958", ":8957", + ":8998", ":8956", ":8955", + ":8975", ":8954", - ":8953", + ":8952", ":8950", ":10710", + ":10727", ":10709", - ":10700", - ":10684", + ":8947", + ":10699", + ":10602", + ":10564", + ":8953", + ":8999", + ":8970", + ":9009", ":10683", + ":10715", + ":9012", ":8946", + ":10685", ":8939", ":10816", - ":10699", - ":8952", - ":8935", ":8944", - ":8934", - ":10780", - ":9732", - ":10727", - ":10565", - ":9013", - ":8967", - ":8968", - ":9007", - ":10602", + ":10682", + ":10684", + ":8959", + ":10566", ":10675", - ":8961", - ":9005", - ":9733", - ":10680", - ":8976", + ":8968", + ":8972", ":10674", - ":10564", - ":9002", - ":8919", - ":10708", - ":8975", + ":9732", ":10693", - ":9006", - ":10685", - ":8951", - ":10695", - ":8947", - ":8963", - ":10361", ":10681", + ":8935", ":8917", ":8916", + ":8976", + ":10680", + ":9002", + ":10700", + ":10695", + ":9011", ":8915", - ":10584", - ":10696", - ":8958", - ":10682", - ":10704", + ":8997", + ":10780", + ":8934", + ":8951", + ":8919", + ":10361", + ":9733", + ":8967", ":8914", + ":10708", + ":9005", + ":10704", ":8999#out:1", ":8947#out:1", ":8935#out:1", @@ -3974,13 +3974,13 @@ "elements":[ ":10600", ":10662", - ":10594", + ":10597", + ":10661", ":10587", + ":10594", ":10586", - ":10597", - ":10591", ":10585", - ":10661", + ":10591", ":10585#out:1", ":10594#out:1", ":10586#out:1", @@ -4042,22 +4042,22 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.json", "elements":[ - ":10811", ":10619", + ":10811", ":10809", ":10810", + ":10808", ":10777", - ":10776", ":10815", - ":10804", - ":10805", - ":10808", - ":10812", + ":10803", ":10609", + ":10812", + ":10805", ":10814", - ":10803", - ":10774", + ":10804", ":10607", + ":10776", + ":10774", ":10774#out:1", ":10607#out:1", ":10809#out:1", @@ -4089,19 +4089,19 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json", "elements":[ + ":10808:2889", ":10808:2892", - ":10808:2877", ":10808:2895", - ":10808:2891", - ":10808:2889", - ":10808:2855", ":10808:2894", - ":10808:2854", - ":10808:2893", - ":10808:2890", - ":10808:2851", ":10808:2869", + ":10808:2877", + ":10808:2855", + ":10808:2891", ":10808:2853", + ":10808:2890", + ":10808:2893", + ":10808:2854", + ":10808:2851", ":10808:2892#out:1", ":10808:2869#out:1", ":10808:2890#out:1", @@ -4132,11 +4132,11 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json", "elements":[ - ":10808:2896", - ":10808:2880", ":10808:2882", - ":10808:2878", + ":10808:2880", + ":10808:2896", ":10808:2879", + ":10808:2878", ":10808:2878#out:1", ":10808:2880#out:1", ":10808:2896#out:1", @@ -4197,36 +4197,36 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json", "elements":[ ":10583", - ":10575", ":10653", ":10574", ":10640", - ":10658", - ":10649", - ":10634", - ":10625", - ":10642", - ":10656", + ":10651", + ":10746", + ":10745", ":10630", - ":10655", ":10627", - ":10745", - ":10659", - ":10643", - ":10641", + ":10656", + ":10658", + ":10642", ":10629", - ":10673", - ":10651", + ":10633", + ":10641", ":10672", + ":10659", ":10570", - ":10568", - ":10746", - ":10633", - ":10567", - ":10576", - ":10657", ":10632", + ":10655", + ":10575", + ":10625", ":10577", + ":10576", + ":10634", + ":10568", + ":10649", + ":10643", + ":10673", + ":10657", + ":10567", ":10568#out:1", ":10567#out:1", ":10577#out:1", @@ -4268,19 +4268,19 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json", "elements":[ + ":10745:2889", ":10745:2894", - ":10745:2892", - ":10745:2877", + ":10745:2869", ":10745:2855", - ":10745:2891", ":10745:2893", - ":10745:2895", ":10745:2854", - ":10745:2889", - ":10745:2869", - ":10745:2890", + ":10745:2895", + ":10745:2891", + ":10745:2892", + ":10745:2877", ":10745:2853", ":10745:2851", + ":10745:2890", ":10745:2892#out:1", ":10745:2869#out:1", ":10745:2890#out:1", @@ -4312,10 +4312,10 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json", "elements":[ ":10745:2882", - ":10745:2879", ":10745:2880", - ":10745:2878", ":10745:2896", + ":10745:2879", + ":10745:2878", ":10745:2878#out:1", ":10745:2880#out:1", ":10745:2896#out:1", @@ -4376,17 +4376,17 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json", "elements":[ ":10746:2889", - ":10746:2894", + ":10746:2892", ":10746:2893", + ":10746:2877", ":10746:2895", + ":10746:2894", ":10746:2854", + ":10746:2855", ":10746:2890", ":10746:2869", ":10746:2891", ":10746:2853", - ":10746:2855", - ":10746:2877", - ":10746:2892", ":10746:2851", ":10746:2892#out:1", ":10746:2869#out:1", @@ -4418,9 +4418,9 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json", "elements":[ - ":10746:2882", ":10746:2896", ":10746:2880", + ":10746:2882", ":10746:2879", ":10746:2878", ":10746:2878#out:1", @@ -4487,24 +4487,24 @@ ":9069", ":9048", ":9049", + ":9067", + ":9066", ":9064", - ":9063", ":9062", - ":9066", + ":9060", ":9061", - ":9067", ":9059", ":9058", - ":9053", + ":9054", ":9065", - ":9057", ":9052", - ":9054", + ":9057", ":9051", - ":9056", - ":9050", ":9055", - ":9060", + ":9050", + ":9056", + ":9053", + ":9063", ":9048#out:1", ":9047#out:1", ":9046#out:1", @@ -4544,17 +4544,17 @@ ":8762", ":8764", ":8757", - ":8755", - ":8754", ":8748", + ":8755", + ":9639", + ":9645", ":9646", + ":9644", ":9643", - ":9640", - ":9639", ":10676", - ":9644", - ":9645", ":8758", + ":9640", + ":8754", ":8744", ":8748#out:1", ":10676#out:1", @@ -4605,46 +4605,46 @@ ":9199", ":9223", ":9455", - ":9233", - ":9840", - ":9914", + ":9449", ":9235", + ":9741", + ":9914", + ":9233", ":9924", - ":9227", - ":9452", - ":9451", - ":9835", + ":9225", + ":9926", + ":9925", + ":9927", ":9917", - ":9741", ":9929", - ":9908", + ":9215", + ":9839", + ":9835", ":9916", - ":9927", - ":9454", - ":9842", ":9833", - ":9831", ":8216", - ":9214", + ":9451", + ":9928", ":9838", - ":9839", + ":9831", + ":9207", + ":9842", + ":9454", ":9915", - ":9925", - ":9904", - ":9920", - ":9832", + ":9214", + ":9923", + ":9452", ":9922", - ":9834", - ":9449", - ":9921", - ":9928", - ":9215", - ":9207", + ":9920", + ":9840", + ":9904", + ":9908", + ":9227", ":9206", - ":9923", + ":9921", + ":9832", ":9201", - ":9926", - ":9225", + ":9834", ":9919", ":9836", ":9208#out:3", @@ -4715,16 +4715,16 @@ "elements":[ ":9907", ":9906", + ":9823", ":9911", - ":9211", ":9913", - ":9912", - ":9453", - ":9823", ":9209", + ":9236", + ":9453", ":9910", + ":9912", ":9909", - ":9236", + ":9211", ":9209#out:1", ":9211#out:1", ":9236#out:1", @@ -4782,22 +4782,22 @@ ":9742", ":9743", ":9802", - ":9800", + ":9801", ":9799", + ":9820", + ":9818", ":9810", - ":9805", ":9803", - ":10677", - ":9819", + ":9805", ":9806", - ":9820", + ":9800", + ":9819", + ":9816", + ":10677", ":9798", + ":9797", ":9795", - ":9818", - ":9801", ":9796", - ":9797", - ":9816", ":9779#out:1", ":10677#out:1", ":9743#out:1", @@ -4853,10 +4853,10 @@ ":9756", ":9760", ":9791", - ":10035", + ":9758", ":10175", ":9794", - ":9758", + ":10035", ":9746", ":9747", ":9756#out:1", @@ -4948,6 +4948,24 @@ }, { "hid":91, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:11017", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:11017", + "parent":2, + "children":[ + ], + "name":"Motor_winding", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/Motor_winding", + "label":"Motor_winding", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_11017_d.json", + "elements":[ + ], + "sameAsElement":true + }, + { + "hid":92, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "parent":2, @@ -4962,14 +4980,14 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json", "elements":[ ":10169", - ":10186", + ":10168", ":10185", + ":10184", ":10162", - ":10167", ":10183", - ":10168", + ":10167", ":10190", - ":10184", + ":10186", ":10163", ":10162#out:1", ":10163#out:1", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_m.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_m.json index bfac113..5ebc755 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_m.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_m.json @@ -7298,6 +7298,99 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:11017", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Motor_winding", + "label":"Motor_winding", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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", + "off", + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164", "className":"Simulink.SubSystem", From b4b23bbe9b359c66ac22105a01f0752077e10e6d Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Tue, 31 Dec 2019 13:35:01 +0100 Subject: [PATCH 02/26] Implemented HOVERCAR variant Major: - created HOVERCAR variant (selectable via platformio.ini) for driving via 2 pedals: Brake (on cmd1) and Throttle (on cmd2) - implemented "Double tapping" on Brake pedal to engage Reverse driving - implemented that Brake pedal stops the vehicle but does not go to Reverse, to prevend unintended Reverse driving - implemented ADC Protection when GND and Vcc wire are disconnected. The functionality can be enabled/disabled via #define ADC_PROTECT_ENA - updated error handling: in case of major error the motors will be disabled for improved safety Minor: - fixed bug on low-pass filter for not reaching exact "0" value - calibrated the ADC Battery voltage reading - other minor visual updates --- .travis.yml | 2 +- .../01_Controller/BLDC_controller_Lib.slx | Bin 54879 -> 54790 bytes 01_Matlab/02_Figures/motor_winding.png | Bin 0 -> 428707 bytes .../03_CreateParamTable/tableParamType.xlsx | Bin 13167 -> 13164 bytes .../BLDCmotorControl_FOC_R2017b_fixdt.slx | Bin 201071 -> 207722 bytes 01_Matlab/init_model.m | 6 +- Inc/BLDC_controller.h | 8 +- Inc/config.h | 76 +++-- Inc/defines.h | 15 +- Inc/rtwtypes.h | 4 +- README.md | 11 +- Src/BLDC_controller.c | 111 ++++--- Src/BLDC_controller_data.c | 10 +- Src/bldc.c | 6 +- Src/main.c | 299 ++++++++++++------ docs/firmware_architecture.pptx | Bin 51722 -> 51734 bytes docs/motor_winding.pptx | Bin 0 -> 173290 bytes docs/pictures/FW_architecture.png | Bin 35069 -> 35614 bytes docs/pictures/motor_ferite1.JPG | Bin 0 -> 370208 bytes docs/pictures/motor_ferite2.png | Bin 0 -> 511846 bytes docs/pictures/paramTable.png | Bin 62842 -> 63028 bytes platformio.ini | 28 +- 22 files changed, 386 insertions(+), 190 deletions(-) create mode 100644 01_Matlab/02_Figures/motor_winding.png create mode 100644 docs/motor_winding.pptx create mode 100644 docs/pictures/motor_ferite1.JPG create mode 100644 docs/pictures/motor_ferite2.png diff --git a/.travis.yml b/.travis.yml index de604c4..87f8388 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,7 +44,7 @@ matrix: before_script: arm-none-eabi-gcc --version - name: platformio - script: platformio run -e VARIANT_ADC -e VARIANT_USART3 -e TRANSPOTTER + script: platformio run -e VARIANT_ADC -e VARIANT_USART3 -e HOVERCAR -e TRANSPOTTER language: python python: - "2.7" diff --git a/01_Matlab/01_Libraries/01_Controller/BLDC_controller_Lib.slx b/01_Matlab/01_Libraries/01_Controller/BLDC_controller_Lib.slx index 7d74270d5e9cbd31417b0723da929da33c4e9b95..73c4913fa6bc59451e683135d1410659ce696ead 100644 GIT binary patch delta 41095 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 delta 41244 zcmV(^K-Is7tOMVy0~=6F0|XQR000O8xVgekt}#;FVF3UDx&i9)E>W%WlIU z5d0O3yA3#U(;%BjZIx3aRc)$Py%D@gP;G1hdHC;(A92$tQg1Lb%nrMo&QE0#9Kcvr z=?u|`pa8V2a;3K!dS5NVdlXnFbS{cYLxvi#D46q9)=X9gUQAVkaSCkUjkIO5&d|=e znqh3^4oYDouh5>{RHhWpUw_RO*Ft`aE#R1tJ6wVjxo`rvhG9KAqQNqkqh-A}MQ4yp z3+oy9bw_*Yvh*VJ(H#hJWNJ20iaDejn2d9rF$9goN8IO%jgKgFNR=eO>wq0()u zB%r=O!ojvO4KLK%2-Bqa5=@8UOd9Z59{3WhkA7x8CXY|61>!NGvuBVbVN6$)GBRUH z@|EJN_pM=nt_+_{Vbdx`pv_YV>z0198wL48!(jtv-(|WY#$@Gy{TGeKAtkGruw=>z zxrlZ)=*k;7sCLV^pVy3Zg-596hb82%-gCO{_%qaZ?$5gMA5cpJ1e5U38nd_o%mE2s z>^|zNE&u?7lZ^u%f6bfqTU77&^@r{h2^l&BM5Ls<-zW%(fH=}!QX-wwAfO^8QWA=k zNJ+O!m$bBWcgeHo^W*aue7SJA&;xVF-fO+qeU6b@nyMs(HwY031j&DDN;>fM2l@{_ zF1!{Q6n}s(1kP%Y-4F;&V)P%3TmsZv1cDjypOU<;=ljice=pyMmft%A9;XW14st#n za=(*%JCxd@o;mGnVT43MNT!f$eRX#>>QZbWeOH3?*KD`g8bkQHASyrbRm6OUllHr> z4}U9gPfrRvrhXhxy<}hhH}Er||A5_bhrazRS)TloPmQ?t4dv!0)LM5m9=bM`@SC_}-?<9SW9K;G$sxfAbeP-uh z7zZDDC&a%a_+=YDl8HsaEW^Q|P=+0qkXyaelTY69f8U&k1hf9%>?b1;168*%!hOt- z#ui=04Gj%TeU6+!-X>!r;yG{iyDVW&ks}+?QeJU#&~&| zX)Er@JW;w;NPDvs7QL@x4n-6j=IPShzdo z*2f|sAn@hLQH0*i++6$VQ<677+rFXT?+U(rVaKd_MIMA8k5uYkKQyRxpbKnxdW(rM zf9~eSJR-0?nnp2aATuiqLn6KR0eR!uNJ)!R9Jz!a_Mnm54J0X^t0f;-5*Ct_=7>?~ zVLyd17G zTQOW`A#ayY{eoEfrdZtFx-yy6v{@RG$3-h?IN+N{iCISFbbaD-As9|o^a28Negq%$^B1ZbFC7g^{=+9jf2QWy z)`xVQ-yJ?I?keTK^Cp~tyLqN1O~f%+mnU>+6ox+@y)5-JX^Ul5fA-OiQ?-M1 z#G9KrTQ)e0DPFU?X8a!7oNIB9nx;lbgA9Th{b;`3uHbrKiNJj>v|)v1#zCO=>qkh> z$IhDRCnk5-m>*gM(Xh3R;gAup;f_CviGEV*oX4O#GLAHxcf335xS|XEXYHBJp zs6m%lx~5gVS+(bO{V~7Gypn~LmD$z5%YsjznhUgZ!bUg|Z48TAFxfxdbat&lL1qIqnDNQ3LkC-pr zuGf#3-1@!l5+^@kBV6$LbIV}vy~kZ7`FGwK@Txq2e)sd|&sqis5ho{}Z5OVTj;9SmfC|8K_cm;oem*0tt>+Pg%hWON}b zoUvs&BY?Danlw>8^sfDH6WHk4UC($m@7k*w-+hw2`ze^D;X?sLUuS7bf?JoGKH93< z83{m(@YRxlfBx4jI4S#nrnF_d$MVnu{#}7N3Jamdhc~GDj#Yq-ERxQv`?>1<2FE5* z25!o0*9L}%UouE~%=SudWB1omn^jFF#K)5-NZ3?N{8@cogM65;iPJx6c6l6dbsS$Z zJv0>Z_pg=k-Md-ezER=e;9S0Y^hp;sG^lf-`Dk;}e^mHJmM%~8k}JHHIZjq)k~Qe^ zD1+tnd!JIP1Q}_6pLPPVAlvx+Pg!0b<7jI-8s1!vHNm9!y|`cAkIBhNmy;dSjX(AD zQjBElzl#)ITm(F}rU*dP78fnpIXJRvYw6R|)72h4AS=QtyYX$s?n}_xJU3NeHCFm_ z8s@icf2|81EZlC`dz{@C*ex_|tak%WYO&|q97N3jcBlAH->f%^OP72xKXY|ClVZ*o zhX=YuIN5Y+*P9_rCX+$-NjIvlPD)o-S1wma;8{ghsq>sda*tIEQk>Go#pR1-mD6+- z$Gvy6e|)w#_ou;4b_Va=A*qoWoj>&6T`Me^e~%UYLwjHm(K;umt*zbUeg31j7dNA? z)9-jX{9Y1YR!t2ZNKA+Uuhp;N(NT2a#Au!4TeM8qzw*3i{0BiAj+L6%Jm<`BHs~cq!iTC3 zeEpgd)!<8KX=$m&Mdkl2XMWyHSVUxAfA(r$wv~r8^M%CmTEMTv7PGR<;$l+pdb+{q zN~{#$3~#?;lqTd$B1%-p$vl3xk|uK~KO}7AwRF91@7FB~pAW^Tn&4**r?}g7`FDUx)YV(Em7|jd1yhJod^A6Q{v0jKYrUtah_zLJfBc8V zhp-yOcRyX?dbw2(q2ceF*|l5W?bSr^S|%#&cMpah2z{V*AXaDYvHlXzzRU7@Z`Ngq zJj%;ivc7bM`v;Xke}zOs{0*%99-_Fku-3I8siz3Va3Z~WJWK&RzFL}gp#|-LFL(+B zGzdHdNm_GAaKM|)zkzh)mS*^Ee<)Ax8viQU5k7)d-a(=*MOH^k zs-(jxh9Vs#3VDI!yW=T^mIGl8td;4e;emmH{P%r098(~i?_~oT`sj7pDNPSn23pO8 z$PW(>P3g=dlvwdYTjGB?{i&ma{)jeMpF8vhj3b3=3fKKWp_bZ2^6&`*e=3U7)As1i zfukmj0C^%uq>V}DLf{*ysQ7_Tu18*|8YTC7>K5}I9A~dUwHC#54#_XLgee?m-;7G- zc^7huCc@f?F}OrYs#=K(gA{sin++p{6(4RR9yH0veNdQ)Fo^glg%Y=tj|q&P+I1ms zb7gtAtL4@o^S;bw)){dle~|aKl^iBTbbEJ*nl_b9YM5bBm=bG{0dJTbGwtu5dkhQ= zVqSafIu9SZEdHSQf*P-7S_bXMkCroh@+9QlDro7rLx*G4q3q;}YmGs^w%?e82z*)* zw=B6fFCY8StRH$q5d)h^UmD#qc#mM}>FHrfbdyLosQ13RzVT77f6!7!sA6kt?Pcdu z@X%B&Eq86}+{;>@#y-AlIknR`;q6$KW%!7G*WR#i6bfzXo|(1>GT*MwQuKB%6`#01 zDS4v&=cEa%lc}V~O6I&5FYs%qAnN?<&w36%lkuRh&t_z7gl|lFuNT?a+biC?M+9Vz zZim4^ohg@2hLBokfAY1pH7y+-%#{0KjTcLIe)RQq_67WN)78^!u`0(ws*%2YTI<1b z`!)${0=}}cG9s{cyCLoIF(NQE^@g(;vipN{n)o|_uRhr;q}(<;PF!beVM#+&lCjkc zKMg&7^g?HxIaCH%N2y_v=Tf5n+1tY6;xL7*CLpQHS0$(#f6C*T09kN&USbFI7jckXZLn>}4_O$Oq9KP^CVp_lf+3~Q#SEvodE=G!8RKwPYI6!ACE-x>vmo#=Ll1WnyTRnVu4Wz65f7SCz$12md2nv5oBcIK?y88MH z=#9wO9~vB-^{AcO^<;kYGx<4E2BC(7WYSrsdVi|dcvR{ z?q|qIf6v~v5TsLL)mD4hM;Y1HC#}LueO$BkEa3bJI&pz`UQR6TpK9?Wvf%V3-?gU( zfJ&YzFE39>zx2D)R;9*88F^NLhmc4o1sFZ|KcYrpqcZt}9J+S}{4Y)-CTjP4B?rdF zA|L@t9rP=DUhH=6!iZ=UvdGOlV(2{1pHw-ue*+`3ifGBWuaN8VJW{G6xmbM=(6YDG zRc1Sshmo$TyNkul!GUx8_HBqYO8WXV;7uX7^ox}o)V;di-8S{(HsGa(e05a&+^Z+` z?n%kjSxE$ePR@YIP@cv~`yGFQS+^7cwbTDd20zyC&rpZsC2DZ;X2ge;e185zZ6*C{ zf8ppj1|p#P7Sr_#T>KNH?-T2`A5;{>oHT&=;tr zrZ9G(ib5gFUo+Z5)%K5%M_yd`qH0_@ct_u==dNsQv<>8_&bij`J57mw{CE%+E8%}3 zhPIAyCVyIBENz1goQ17R#$*89b~uec@Af`I^zAil*j2g@Ty(^a@BB zJZTYP+*S=5QwtDcgYWLP2FDF)JyujSGDO_9QDRhg51@kf5{jilI}0}Ei~gXS-is8 z`&+NA80R!rnq~ar7%Uz8S>vTghL2kfYR9|Yxpo>1(X|E%J#v1$eVj%}s^shIEBEXV zwBo{4joZmac^|IdolBS5CJZ1Mf3TKD9Q1xp>9P8lmlxc% zB;hdL*%vP|Utrv!+}eT?@q|#XrK|fAV6a~}HanXY z-Bz&BOnZkAlO`r72d1ZEq4D`U?d|QehE~xuEQ9%}q(t@UQ-&{kx4@j|e-{=KQd6Vg zjc~3Dvf~5Nm5&q0sw^~;Quc@;Ng?UCK9gxEFTaM)$bgf9e?kRi zGUBTKcoV@|TJ(=B2F`XxuvuddG4 zOU^agNpTqC!XXr#Io3RvNIwDoNEsK5R0^K1eNnEt{~JIM_%~*se=DV3;Tg6fOd+Xj zY zd(KDRL?A#TTG`^HTD%#8ULU)Ov(Os zEV;^SQ&CbENNmDT+0PWT;KOpT#x-&4WBKV>1?Zp_1W&((-R zLH$AN#u@{z;@5~xTUw>$7Dkhrd&U`DGY}>;J(m0^4G{(LZu!D>7IqoND$6WsYT>>1Sb=6(a-w3)v ziZPCk2{r`q*Helyk2t)Q!0W=K%ph}gJ!R$*&-FGl0a$~fsDpz8Ic9SBY_brqhtmW;N}Is0z&wJe{Hf1TWnh>SEvauw;_+7HI`#yUOSdV{}cjOr`k z^sZ-Q^4*bVGBxCV7jLdW^78hR%D~pSCbKeT78VTXPW@t(JXG|Cha@2(Vbh#*|KK2I zsKP*}z8(L@Oe53g<|cny512Vxy0u~5dwVru=xVt-e=CRH_mlZCuHDo`zAk!m^MOK< zo?@2WsMKmJ#M^W2n`M8 z;^l1%!oo`q{0-LvG!uqm((s|0-f}-=o&V<|Es)leY3prZy~9co-xsb|7^=&&S^jiv z)xE_+f3S>?nKB5aoGF`ZRHABTHm^}$pUlr6Ay*8r0M;JTw=CpmV|+^?LgokW@4Kk) z?vZpc-%)%3Xb@Y-gOs>G;;@h#FcXDhV-ji4w6AS!C|O%C2lj&Za^1eoP+A0qIrEIe zi_6{J9i6N!N!Zrd-fO~}Z7F1bT8K2D`hMCkwvWC0h zTGKy0&G7C356Dr8838f~feoW}T4uxa>^3zKCdu*dq9@^R-%>TwHqBW;PpN5Ys#sg! ze+13pH}4>}sWANVxE!~n{%9ib$u}({Qjc1OTY6vc@1aaHj~RotA3X{^Iy#bJ99QJ{ zj5F_A!%P_&ta6JisR)cr=Bf$JgwTb5O9@_Pb3v{(oofm0E*l#&s5}1SbCPj&nqgXI zEs}PQly&<{>@LC3n=U!JU4xEUJc%KOe-Vf6S0wpjfm}3dR#sMxf70hP17_XUtB;t( z0{;0<`JZok{!Ot?wh5q8md_uOhbmq_oDafdY(gLY$dCI$k)2!E&O3`?VAY%g!M4t| zhHLBSPzsm)sDMZUkji@VCLSPWIEt^c_-Spa=dKyF7@94*k0uLO!FY-8)FBWje@Bzg z@ao*$fH7z*_+Jz%f%iUYzna6XxMXASCroT2law;mG%lXi`y1AX-o*5Yl zEouCB<5~S7^(!XXSD=E5Sz0EbMQ8$A#v!JGJyTRrz-07VOu!&&OSn-i4jBp-2PaZ`Pf%WBAZl3f8Fn!|D+iHo%RK=%E)}Eu=LvR5fym8HXP{hp?y34 z;K2Q2`|95v2qDcTfe=FU3YEbHpa(wq9X&>hIX7)1jc>ec{C8O5xmhvV^7o97GLkt# zO$#>gaDDXLk#{Xlt1h~vNS6NT)2Ha8tp16KsC3B}N2_aER5*nrgdxrSf7_n1eaj0o z|2Ah7D(U#p(Kad@nmKu=3_j3Xp{1qOUm^#P9d4cBM-8Etl;TGPRJ#dG3?qbSY}4ay zQqr-w5egOa{rmS)Jc&%(8+YnnlUDL=vAVa3iKdg4 zj<9lgfqzV%gJuC^Y>#3+$sd|4uH8bPf$cI~?J{9>DOJe5Rp)?_VES8EO=>@UICS%K z#(hr3`}gmU9ftx%pig|k8~=CaBbd@ZG!*j0sU|m04q_0v`&)I(fBwVdlM_!1YwPn| z*J=;%>Y^eN*wl~#o3``q#=eh%`w6dKx4cANPR{%bTh0iOSv)r^GsBU&*ip2ww3KH} zIH(=v6cW0IgM+iOy4vhmHI194wNe$%K?@K?mTbEABY_R0Ye+bDyxf{iTAJbNVp;aQ z-bt583AC|D4}FeNf9<*yW$fPE)~3`LZdV{IDtf*ty6au$NT&{79B0te+gh6fw0hbR{DiW(lx{3 zmr_wvlSUW4e~;umt5#zVh6RDV1|!+o>$(G7YPLC1fl-#$2 zd)WX+baLW(r8T>M3eASTlaV=K0}(SgIhhu{we3;Y$)npN;^MZCFTg+->W}}lF8+Lz z;=8W%iE6vyf1J<%w9A;Z#vf7Ywyb$^xgF3+|E!L}S*2&&zr}19R~eRVYpSOD@@VpL z)kIhbRM*?LZx85r8}@$Pq7`*Qe*OCOEL}&ha3n-CsMKrU3P1;_F9#qc<tv+gIaE;QqC%e=OG``h--u0?@soI|z_Pc$UuHML)7IX8 z+WzbNe~q}#5DGRGVlHybj6Sj_T6QxHAOLnEa8-(MKjNZ;Rpv$7i$7j?;E}#EOiN2k zetBVOsi}~PP5Eih9$+yzT3A^Ln!0>0EYt?z%pdx>ShBB7ec)Zs5?;SbRy+O2dcdi) zU}P=Or=Y}g@Z*2?1?drxsjvg%DGe}ZRDE{`fBO6RGrjfn^@Z**)=o2ilTy|$`20C| zbe*C9j7(YkGB2od+ySkvyTcD3m|p$6^qdXC!^B;G*R_N`Fq&nE*yHRY#n z>?&^LsKmA;3z(ztZ2|N`DE3l&)>(+f553yhP(8E?q@b8#;+S;DSjE>@N=HWrm!lWr ze>dmRNX3bQv(a?Lx5>>f{~j0W6`55mA9~NZOPE$onwA;t0MrYOzqjg1y*_+?l4AX# zdGc9fY*bVf27v`+YBBc}t)^}0dL!RmWrvvt1{eyxs1vb)Cg&S)p3_hb4$K*Q{GxGEd-xL*6M$(0peuEC zb@I73TiaQ6p1Z8DnVRVmq2Imgec55sfehS=84Lud9;+#5t+x z1>WqFIp_TcIz%=mkciKYNa*F~pdvhf`GLUQp&C-!ETj}jswwvsUC)>IPm`s6L?k37 zA-uvw696+hCU8}X^w{p+y_>23e^Mo<8Cn+|N^){@E#;;ySjjQ@jOy?+U&t{!u<%pW z8QocMVWuKf)LfckqEg1W-CD`alc>JicI|;2Gy_NqBq9(BXNh$Ab_Hw&{MyNGAU)@k zow?G}&m_4-1zKD?tN9u8UA@x`NpIcvp?&CqY%Fwf*yHj9HFn6otASRV=$o)5qtQo49u^j;dp|u82nufW zvj7(Sof+srr;y^|;ejqySUvyF|HhbFp5H{8ssU#i`JY7fS~1B@w?BvhK|+e=Q}CjEu~*m2h~21uQuwe1Sf{kMES`d_(YJ`Z-PcJD6iN zx2=thoRJYD8*TnjWJiZe%#FKI+~yUA@AqeOikBe)@?S`ODWeJUmaxLz)AXqp3rCNLY2ro~GutzSAiJ zHnmaVWdgB7jcrvxB1J>TMcs%blH_IbXk0a&vR{ue$&E z@dLsHGv+E;qWX26fBTcpg98H;gHb!q{8rt`r36B6lbXQ?%PfArE>+gMfcg$&Cr2cU zxv-jw^eg0DuP2P*x2fY+B{I6i~?_ZT}$zwa{rud|!(e26!=ho$Ybmv4x5w>-7m`!}M z{UU$EeRust1#VPWJ!*Q^yQ4-VxPi9%LF?AV-LZnjb`W^QrlCuSE!UQQQH|n*-xn1f&1Uyv z{ddvI%1T7CG-Di%2+bQNOl|IXlTXP&b*X7-S)=Qan+$4|sgy&hDgd0Z{R%6;eanQ& zh@{2de`QP>UB}TF(kdL0--Ha-C_V8q2L5&uJfU) zo4k7-73!7sri!O)Lgpj55sQm32>nl+%0YzQf8LBfD!YGRpc%V$Jx*)mw0Lx6ksmi-v8xDfojZB1>N`N~Cq9Cue7I8+1N;Hu^E_9bo){HR9ECfAsW_jJbXgbHQYc!y6wT$G|#d zkoKkm1yIN$7Z4Ee1PMNm6_9$bR3!INha2ra=;N>vJ8&C-V4+VP2!4t`AzrzlzMMBa z15T(3s~pB#+!J6CUcY%GVA_J+Xlsx$e{J$|p28PU@~>NFQjkJcphA}1g9qsIE6m~~ z)TQ9by75(%&sI&ou@99pi;N5-5jC#~L-dr#q~qlT)@%~)R@$?MW>DT9?~GPuT|y;h za;2%XDxhjxTU$?nRyM0^2s?Xw^zB^etl`noRtQU{BGh+`y79Y@`SJGCU#sWRe@c2d zG|udwUdV`(Vo`jSMsV@+#;BbP%0V#)FCmbmuCA_OcS9ZpXiS&zl>FHLxeec;W z@}*WAVN!9=!$WqSS_8u(>chiBfB%q!mKKG@A44V0vVLql0QpDu7$<(_@FHJ<-4 zH@l|B(;)ASLLu$dm$I6c_p=6U&}UtZt0w&0*DqEX zH5$Uuf={1z=|7S!cLip10sqiJwrS+n8wT}CaCbY-(&cHTZZl!-PQ6P+e;Uqa7UC|G z5x2OwXj*lRJKL4mO!$WB|4xS3?1n~1cAuB|`nkobVC4_3jvf-yH2=27-+(o0xY)Y~ z0JbqzBV;CGo7xddL{sWGDdM~L^CqY?`sfgS1ybA<+q(CCb0<>(ak?grUM*U)#vLep z=(MPos(c1S)#470f}JT6f1iGVJP^@7AKwxhMr6DtYdpqOq!<0^Vg6aon-f=^mv4sh zAB1Fcy_fc(W>bBo1P(gph$4yWY%MeIj89Hp5mlp!R7wVaB%x_zfi+1MZdK$E6&-!H zajm$zsTte}3Oq!eNtzbYE?7aC%>e6f-*r(!ZEo_^JQv7Fr8t5+e_naGIp9T!kRZyu zRtIzAU5|?lD+qymP0Q#A;U~+jdV;%_6aXNVtO>(I3aHee<{DE_Xs_1df~ag#VW>Ev z%Gmv8wDVWuEmM)Sl$rIlwfOh%iEB`#;jKYHX|nphah+J;iHnOCXe8Z=RLH`&6?xS< zHw%&)|I>nHM1Zy-f2P{uNDQgjHY7(zqn+|EFjg^~RNzl>MMZ_yC*2>veqm}1{pjl> zvu_GV-#Zf*r+dSx(IWeAmkjIz(gb9z8Wj2=i>%L|34shq!?AAZ7bD*?A zi;zntQ}n*Ax3@%$3LEsEoVIR;6J=Z{(VC<0;tvY+jcm*ye-o|4dg>aK%*y)^#Zch5 z(Z6qY80cSN0=3v67x&bWy3OYBq=y+a5h)fFTs2p>kE>AlE zN6CxCvrzn(awaT1`Cb~F*GL(qXe;G2(HrB@Wg*z?e^eFT&WT{>;0SdmOHWTXE%z!H zXTxRV!Ers=G3^)b!RB?YK`Exbo&r2l!#sr~Pt70PX@WlWMaKmln}M0Df5+A5TeYob zFCfGiR5?90D1OdHo``u0*#;t^F#49RdEe(pg}8pwWd=wc@mw9c${y{MloXb5s&pwY z*RhSTfAYKEDI(N^U@{P$&AO8Xl0_U1l^oU%&m#Wf><)m(INW*_8*Ax78Fou~zef{{ z_jGTGqKcawpZ3MEnpKUo^DII_LIUy|`hYJ~A?R_rmGX#~85eYPF{*}g7s&$70i;FI z=eq7Lk&u)Wo}HbIv5bEc%^kpokxG;UQmZvJe>Gqktxh-Nr`7UN)hRHhldpWrgV$@p zc_G-sep5Wp0{5ZldE<{($P@u{l{QB!OUtaXG77*EB|Sa8wmm9!c1ln`Ro(|@Ju13e z|IIY``9Q%J>heI^R+5U$H!R|O>=Z7iOW0;1s4TT_@8Kb`@P+0-h(5!1cYnG{s%3wT ze_om#C0`ZpkByB58fm2-;U`C*)eYFx@s%|>;bwoup@>wXAX8)`$A`$lDwE^BGus^T zm#c0Z2JL$|q7O4od;9h!Of%xWe|rFP`$gmV^mg$J4%S!$UKIxihepXUa3M&K z0}~TbIjV82A|jO!kcDAkxVpN!O*X>W#l@ry3=Ch0UO|6CG7u-m#o{w=hyfmxv4lXK zB1{15_@lRXYeA?2KpiRRL0nc=HU?$`-UOmIRx%wY`;S&bLnG7nhG9`kS0s$z$zi(WvWW_c zymnLY@$+$!I4A;VvGEJaV}3Uq}we9z0M5)j+@7QMe~)KYP$JGhjOG3xA3e))FZbDX_bit}fN?$`%^<2rK6r zM$;le?p0M)GmxQ_k=U!NtI4tf|4PTYdwLFu#_2v4lY)41KagPIhY`~GsWas4Moc9{^ zTPJQhe#%=l+4G%{k@Owk)2O{Y*BCk>Tn-M7wmbHLP}JxkmWf29Fcrgj(>o71rs7&mKzTC%MXWL6+m^l^rPPrfSTwuq$%5C_koxW& zHKJa|RDUL8+(89Waa2^4NtuD1HkG>s1CkU^{ocJSy+Xh!;3Qnfa}`dWC-HLMDk`!H z3yIp>+r>P0Ofr1Ei;9ZGUTh&bHQ&=xXK)+y+ZT>R<>hgXZF;~v2X!u>A9%^|JEDVM zj(#qD9!eB2e+3dmMxC8`f2*o8 z|5N7$nM(D^6Z(!Ax)8u3x%?p(4i22hj~|D8^f7y22#?~fyucyGzQ@@ve%w%F7C`+|CNVfXdbR^2Ib6hShFcT#4JDEr) zkfP*&SbbI3z51dbpzrz>`m!ITo}^<3W*`Ewkr~J&DSA=q90EYZjvWzu{Pqw3_4D;i z`4lYUFq%Kv(+<=~Qm;NLPmd~)T<=hNsW9%;Iz|1f^r zxGKBX*_TDI_w;xcO@7b5X*Yd8i59`T;9?oXS7+fhX|EorhNY@%yX_k?&}BFc+Sf$$ zcI(qHfA-I3!O?6++sCBU#YMZ>^S5X3R&#j2_msR*w04tM{^wVxFQ13A;AJ=uUIz2a z~2|oqdwNLhD z(PcRCXM_^P$m+C+CY0HV3#QSEOvv8TUk#VA-M(Vz@akD6{LfXb1NFE1om%6ee0;nl zLkgD7K^g2pwJs^|U+L@5VH`r=T4PgdJ*u)7;p(?h9M(oSAuDC?>C50E;a&DiI3>)J zf42|kiJ|X3wYX3DDF`pG5`25Yq-32o+k17gj#Hv_5&GHZ#VlF|%VWPqXOm6m<`w8c`bDjx_(+xvu&uhGvV^56IdUQa!E zJ-R%~{yTxs$KSubIiVlNF}(hA^z3g(=Qqdydh}y_^z+T};^@b}9sT3xcy{#D-;Q40 zJcBl$>2*itf8WFXkN_~B@Jbfl&&Psi|I zdF81CuOBXte>!@0bM*7yj-MZ$zBqbubgUlz^y26rez$5PPMJQr~mxTEO`vw`Q|ct+;s`r zr~~vx@6LY7uLB*3Y;D&IvL$+sr&+G*ah?;*GR-f4j&@Ky>BW4qe+;h4d3mULYVEN< zj5`SSLn>Qwsra6BY!*NtPa+~AHl~8v@Mu1d5~@4!TW1<2(a3%$n%-jOlNnmY>^ULF z4OQJbo_!VFK#NoI^m*L*U}*X_S|)I;g8aa5S#6c|F(>=cEc9de{>^;$h4&O7ERf^b za+%U?E^7IUznsG)e_+}kO+STkv^=>ACcleE`(Yj?-K|c8IJ}&{^XHc$I!DnWelw?| z;&t@J<(w!J$Kf zXtsiG2rmGwfGC=s%?LSz>6_&=SaN&$v%d`ec|w-mG!?FRe+{2~4kol`q-hd-rXvz^ zIl1|tba~YmTF0Q`l|Kvr42Vn{KS8#%J2+tNA3G znQ%^Dwx9;*rrI|EmniqtLyV%`R3w%5-j4nnqGEy?l0o2 zC^=qTTo7uL-jIfBSIZY<5iLJay`R}Ge=4=}W!J=Ye+8*>LRD7UtN0SgH4m7BT}Bt( z#2{RIEnWq6s|gRlMhip?{XrXu#LG=FH{jf7&ex52(zUWi&3y;1f|waM4fEZ2IQng2Ok}y9ZRR5jM+D$-Sq`Febeaw5L|7 z?%PuP^``*C2bt{nW*(6JED^OPElGD_BRE=K3vWH0z9(xp{CpPu?DJ2{to1L;Fadi% z-Myn<_&{&l)K>wXihV^h ze++A1agCY@vmE;(nDb`&U9cc~RO(`iGYjQt8eI6RS#q#kBuwhRIQ=QSy!wUk1la?Z zgd23%v#TxXY$)^O39JUT!XoR&(kNcu$=^rlzs{Ia) zd_r~DKR-^u)*B`bmANXnfdTa>J|a&HC!o?armU`Cr_?;5Tj0B3Mcs+YMJ9@IuX;YA z-o!Txpz4P>P~z2jOz))3$@iS=fmS8ma+4*-Ou4B1%p7 zo-Srl@~wKHS>OLkUiZnr-}bY29(|{}``HirZ{I^h_|kWKQsGhW&iB#f1mT)zII^!_1pXj`{`xeOX(B8gARZ9!#JZ`jg~;% zLNUpvqF}#0C0&of6!@!h8O+-R0{@zrm56 zzNz+RT}Tt-AW%PsgsU!q^o^Of0Iy13vGaCx@2e^@4W(?Xq^U(LQWFXJ3J%MYG&} z#Zyg;EAy$_avQad#usxqe}Qw-hVw~zChD!ZZ6A7Y(COrSv@JOMnw`R(d9`-O{^a*d z!dvqxwTbRMoqX}<{N}Lz7Di4uua!B~L!09s(;@dE#kK#rB!z(_h32^_Ep)OGZ=D#a zzNhbkTFW>osbylRWo6XToSjk2*bcQ`h4WXyP?@_S`;-&R;u9>De?aw?1j?nW2Eh&< zS&b&$E^HZug>k$J8CK~=LwJ2V^C!7MVMZ0RB;a2GsuWwgtu;eP!}Y0~FIGUfuC)M7 z-h-|6OmMUJMDbjbQM{Rh4eT;lLbTn*EV^M`hvJ6!t3neYZ?%#UY|@Ce@QB-&4T4ea<6egaM3-e z?Y1cx5($(lsKAG9DYdXd%pqv)?K1cj1~;kEc*8L}Ah0zk+se>He;GGb4w}UB`6LRhl>G?0wDmm zvC#w3U}s|u;FvJcCywTWq?of7dTh)GbTgt%AZMy2KHLwK0VK zVcc*U)HhdzUH&vUCwu%P_?SoQ=f{q>xqV(!U23ENsVJ3+ZFfrs`Um5>eB(M;tW`xl z(90LScrl9?yLfT)7bpLx7cXY;B zSa!Yaf0SDE3Oc1J=|9uTU+6c#ajf(e8}ie$t1wp1>C&W%4)skczB0|$BGHy$Egn2N zy9!dBN%7}XB_W^4HbXxy1LZu5W`RFHc=W&i_y1dYlYV~_&SuJaplC{XkzGmn&7Z~O zo9POKe8o=`av4#^lB3Bd*0pNuTD5)cY2d@vfB)D2tGteqfOO4IZp%5?v@sNL0m`#$6J9F6wJOH z5RzBOyQ$&VG4~b77g2SWsAyVCp_60yT@_oct|BCSavWRK&q+>Z2i|G-%JvJqQxZhO ze-p%TbAni3m;EL1d| zV}m+wf+xuZ4c)S3n0b1N5VdQ$Vgzl~-XCihH}*&mHc1Vv4lc{s$=N71y)93Rx%~^6 zY+QX~a9~Z?Y_PGp@y50{*o|%5ww;{Vww-Kj+qP}n+4%1J)xA}>zN)FG=FHTYAM@u- z_v!8#6SsWjc6<17s+TE?t>dVSIQ*Ozq@fAm9WT@KGjntnPwrSL;LHDf{AV#e<&bz) zmT4${jF)VY>XhC@YGZ`M#^g^ zNh7bkuTW?lN@Ff#p))bpRquSwi#%i?pE^x%QOW=xzyF=p_4DW3+q&tPtZDT>!PsvA zuiMK$-|K#uT7n>EXkRxn;r8#t1?$HmkKFLSY4yBry@;xK9VcFlt&I($O=N(X`_EsV z96rw%Movju(^AfO6ytXBcv1=GYXnjoF+06C++MlY;6QqJHzI1znWO9++$Z6(Zf|i0 zuSWTI*)&RP| z$lt=ZINNi4dI>&iB1kVw=kRSOC@$OChaALwG}U<b${% zaa-upo+_Sl6#R}yQH~PX^@4rTEu`S9+aobodJ0f*+nqk=P3x)Sc^@Bys5q3cgmx~L z7zVrenx&T6S5!EQZ$}@{M!)uLAe&^tJk?=o%u;&hV-DJfni8MHycA?T`ax_-rO&Kr z_!QEb7ztm&DeEV0&%G7eSuqY^Y_MuECzi00G0o8TM=**Wjkty*hKQPbuZa;CkW*2| zr9tjnwb!Gnrz~mwP*Wx}%vs@GL_%_>58yfSD+m|4+!EBUkSTV&!RjgxJj0SU?v9Yd znIJ1l9F?}#H>Is-f{X>BzEeQsslyRv&mtuoH z5d>ST$CRDe$MRx&U5ck^#`@6rdqftiOydT?c=%VLKx{gd!g=q@D+ymton&b!8hw+! z#KG~}gcLGwAjZMqW~J~f@PhS*Ak+#~LZ^F|>^{7YW#xAH$*uON9S~HWfoSD>W8+A$ zzIDNR+64;}(3I843%w46%UK*PV1Xgz9Jilmg4Lj%k$3cfF|kVSp;rj1iY&y@D7Xv9 ziDDBmx#|xR%$jK5iZ;GIg!7katHbmkBPZhqC4Pn*H5`wZ#Ln${8|x0H>%!xv4&K#y zFWL#wa?FfBFd(-8YkSTLn<4(%y;~47CEwBMiiCw~Fg$f-~bth!X z=^l77)R@k~B?Ln9{oLNmN-xA&)H32275U%%2Dm7lPiK#r`^K6j&|fO{Fol?ECE~KH ze@G;5R_ADSt_RZE)pw3XNtWp?;;Q{7u!Gh9b+&n&NG?7GJ~BW}!Mo5^Upf%A+awrS$CmFwAjK|IB)>_g|Yq_L?!dc z&7m|vn_vD$Y#%R$#O@BDktdWBvxNJU*@3OCN+4KOwO0dbm^+Lm%#}&tvez&mjkJO} zW+!cTIkM>dw(J?Z&QS~%FJGcHk>3)}6G(-twYH^oogq`zyh8~l(p;yFB_Fa(sxn*QCtpI?jf_Nqg~XCRDo-|q^uGR zS5V$@fZzkD9x5g!q4(?g>U4}v*sgSx)56gNl*wEhlXaIPMweN{RN*W!cAV{%oIPHZ zd6m`W!(nS*qJ0{{H&ipDW~X{DzA~0G$?3)&EB~-zoAi4P=dOA9bzxxv{)pjj(CYnq z_HcT>hQcfDsYCUpuaL|p7C7IFo~I~=n@j~p^GpOdLu9__SJtZ1DoKMgDC&bPx7zrv zXSOX}Xu}gY&=*E_J_M?zDq(WDfmgIR-H?xmbN}7>DU$pMEjQH_B(5!Px;<{Xt*35v zjeMR02@aPK7%$VEAltorY4DoHe%2VQi_HsJPrdonvzBV(No%>kQ=mJF)gq6G2mV_a z%EkhC@v%K?*YltP=NR{M1?gjjv^iq2S!++VH!t6$hS~lg>OkwuM^Cm zE`5(_xucU_cq%{5F0HgN+Axmgeri(3=#Rg-O~?CtlXhPw$EGM@tq;ychG?aB(DF{a&#jpKQk2Sf7*bn z!+yCW!}qh-}bn@V9{$X)L*8Fx};@D|D7?&{}|8dSkr8$!1w^bEb87v;Bd!5AYUj4`Dp8EFf4nmZSr1g%~ogp`P z2C&SB%EyY9IyEV~cU;47t(8(Cx&HwKq0}rbq+rK>Wo; zL+?T9W3`5d<-3R9WUb!$)yrB50lQP{ujt{|^7DjL)&i@EiYM3^Zm!-H1a=3|%S&s> zKL{JDbgz@v*hE$Hy^ra2P!E8#tH~SJ(2%7#{^f9JoqJLV0rhXB(_9@qsjZn;qvi&) z7o4+G0nHhNrFlMYWB1#GX6)bV+=L(c$~Yk7x$|7At}w~^P+?zHgn&cV03awm|G|&q zOJ(;1^{abt0QjB}AyJt^J^(b&;LmTkvv0)| z(VVU?IEcW(2Hf`=DWg|udqx!ho9%WuY!m-dw(JgB3_R(r__-5pS4#Irbl9ER%DOmx znQ(iFkSH26p6m2#1kAR9ll|F8rOf&@dRoOHrD{+0CG*1xEJYE*alUF#;WO(ORYMim z|BTx(=qS6U-CaNJDLbc7ebHB+(3h8Q@hJ@!y?c5q%=22ORuL=yd*O6zORn^Em9JHl<1y#@`Ozbr0_hRKc7~-yJh_PBq4iG2zJWt9QT+FAu+=1R=?boPu64UqJzFI9Kw^3|^r20k-(+-0385q%S9$_)K_dyt2%5N7jspbW64ha zD(2c2RopcaMiQJ>Hskv>tsjep>9V_evW0$bT9h->S-`YEvcn#q=AAQ3)_&MYv1g28 zxZ2Vu|B$S<_#JeF?<{g&>_ohWsd+<^fmtB9qQktHxO8{ClC2h_<5-Q#j2`*ppPQq1 zXbCv~F1T*S#MPu5O=PR7XNEcHllJjS7N)beseNqTQR#DvdP=sn<($oyyjksnIH2)? zdVP)Q0dSB$Np|$EQ`MOagHb(k;!O3fNnnfi22Gn!BcC*wMYl@IVi+eDgPyUQvcxI% zP^ZvD38rVZmr+vVr|BQ4l4;~FsF+fw_;I50}>G zJw)Dl&xrGu($3!kR>QErM>?qjG`; z4@jPQJqm)NC4FKC=cgWy#Jbw}rm=+moQp~Sh{D4Y^?)%dS(RTbUgbfKndSRn>Yum+7fTmZ6F3F{}uUFVFRFJCP^0ONs`(!r_GW=2i%)QVmgXn%dU@;1O* z%{%PTO3D~pL!|=+!DlyPc5M`o{h1OXPGA&|f+CFr`L43;fS!SVvN4E<*-VyCg;o=4 z#xgmSfS;_*QfrQk&Ja9cmNa5=m968lmggE|EUN|{SXcsL7 z1naiyQxig^@&r`Q;Mmxe*EY71%}!CUR$y(6Sz6!OV4?R!LK{!R2x8*R%>UnlxpxZBFc(EAqUpd1Zge{n+re6lgq(>2R`7V8=`C?(5_6`(EXD)j`&`&}v! ztSX_!(HX|PK-Gh6lXx{DeH_q##Qh0MKtgBwL*$WcaJy2&`K7RqP9=T0!ltQ=LhYzAPOvUtYi_rHdWW`ldx@V3x5S1W0T$iio zub^HCS;8jh%chYD4UHHQcBL}=6{Q23I{2nqL!_G!2=~i4?c{}A%qNelLg7;-d(te> z5&Y(M9#-t(@JjCwn=7rwzi<|n_2moi`}Qlz2!yj2+Hj$g^?=>fPF)O7ba%}ud_>{S zACUP+Ci4~74(a+q9o=`Jw!ZXq{O1?G|GaPAqO3ywd-&4i<(5zCP|tGjYOT;I_5w2P z3sV95g@`-@l{fL6UOm?Q#0zaIyt9NoX(GtJlvA*TCEBZ&su*GifU^ZcJ5YgJDc3H} zZQzH4B5XB-QqQMZ1s9}tMPw%AM#C*YrT1AQdV(*+@AO7Ej#7pcun^eCM*@d8zu4FM z)1Om(mOmEBig17x9V{tAFqazg$R#r3(%tweD(Yy+gD|rsvy9YQp^inizDdf}emlB; z7Jr@BzU3tTJ=+QtAey}d=Q@4@chthQs|ZR=!av-h0Vh45XK?)D%2bLp#K#=$62_2D zdF^_vum~}1ZC<9H4W49PtQv`-j#bWldFok*b5q&%5*9-q*pFX{VHSwEO7+)BTBaKL z_ia|>n%P(m?KoM930MgE`ZRt+T^&((mWGa8l?5)9X7ZANFYMVeP4;MTW;VqtJFU*y ze23~VSxWa8YBJd`&BJG^MIPaLbq$@z{EIxJjK4n$uKw1g1b*eRsoD&bM;}6B$UotJ zd#Iv;It46zGjq3?w$ZqrQ zSP1G;7}%878rC6LC3qAOwnn}FdGHKXHHQTy*P>k_it9UsV9e+fg8mNoH~vu)wFcH- zM=TdvmAob#>t=A!Kctn}Pg#oS0ZIyq3t4-e5_!`IP{&Tigp9H_Ftf)*8;bceQ_#K| zhM88r$4f}KoXMq+=y$$TYYLC}0G~`gG50WW8k>cs$2|U*`8kz{MGyWK_BoK-z&vIl zio&@Z|Pk`l#FKGJsIf$2^2BR=$oN`wFcQ}9WWcnk~tSJNVc*BZ_$cX(;@fSDY9 zJM~aH;2Dl=KRUQ)*nUARX89zUS`8i3|2WQ{$7qv{@W9;m@^>j_KW4gLy@TmFgmXyj8@7dPb0X+M|>wLOs!|{HpxTi1_69;m*#^Y;|<4>=A?a z;{5NFuCs&3W^Xb5MderVpx?_Iu8(_<93E(gz-;vaSikRYQHte4Y5cz=IXh5}+cnP! zw%e@FVPKZ4Z%xwKX>3Ky=|f${m+O!pK{_v+`=WdUwxbY2lM;$C#EF(Qw~19q;Mr=3L)aCLw$TU)Lw z@Y!17U6HRR(t}g#hnKR{$QHGJUJ?&VKui?Ar9_r~fdHEUkynELCMH69mIbZTHQ0Mv zOg(>vbbo$$U%rZj))57BG+>@?5kl7Kx&|6G8OTT*F?B&V#eMSK)f4y64D}y5tfEm`1yq;i zYJ(1y!Y~Sv8zq(W5z^-xbCvCm)k0-1@~q0SvcfC(W2@ADqGP7O$k#$3D}`-Y*(V`m zTq`iM2ln?Xmk-by0t=)|4=iZM}iDW~(~%w{-U zY_JjjipM0{B|Z#`hl={q!Q~AT`FQ!_ge^Sk8uLRtP$xO4WZ%}u_#-}|>IsM}uR0E<%iXu{TLer5NbS}UvcV7)a*h>DIcsNtF zmC5N;(&_N|6nVM6|N14{t+aMoxAW0|Q2<85ohwQ9M)sDsj~SR%m2Yex@&HU%eY{Yo zQcVXOmOTj$N9nu@^>;)U1G~alQc3p=k21a0)pb8&x(TnFG^E1Lls2G?4?()9=%;OC zJu+~b3HxEcNGDFFqfK@X@e+%?Z0fM#=)-N-QqY2uX_>DEmv^1G;Fx3P_eEpKYi?Ln zICCn;bn8x^PMie!2o1Yr^9NJNDwqzx-T-v%#g4eDvoZy#{(9FR06R8i=i?d)ZwzYP zKKj1jIRUQ$_{S*ULcxV(+EK`E?!#17pIR%qW~2kQ53IpqjItOap&R8uMql6U^eAWv zsVeA=6C?MIlZmIVU9zB%!Hwf8^`mf;Lc~hfNU@>zka$PBFdMRbdGL9i$qHY3j~>^~ zWP#gB@LwLAKve`c01p9fZFyav2a3g9!V_wrRGJ?`i#kvs4HNIR^>h;=<(BnbX$EZn zt+0U+P9t{*&JPp6@5cHG%hjWkR@8(5Rl6CPnV-MU32I-7Jkhxw{n{@}#}Hel8c{SN z+`gfPWufU3h7C45_5@m*mo^z{%cgD3?omprdA!5!4_=-okfY_IlW{2KM{o$E%4gWjuxo>>wW{oyLA+iU=GQ9yT39%==v>}+6n|rE_`>2WN z4s(mQPJPRtT!x@#1tNfh&4T$>P>p>OWr$axDZBSxI(ZC4^9lg zBr~)>UqAn#de4U+lhY{!OyX#hjqcg;bhWnrY+*tK@(&OHUTpr|tWTI#cHm`Mw9lmN z7k6NkE;jcR!}9rt6ui9)?)~HM{QHM<>|fU4FL96F9|x~AjQB<|S%slLR;x9hE;+k- zWV$B6$ov%9KVazbW%pX{{tk9A!zBTVHdTG3Sc7l?Djs!&F=LzhYsByvF!LF8nsv7x zU9Qao#1!kIzdAm_ANo64IPL0&)H8&X23`Hpd!hny)OlsHL=6ETL(<#+W_ow!VSWfI zD&IreE%z@-e75k{3V)<6f8H@?#>AW1i`k}n%S;9~R`>L1y!qo0&)bRsqy>(gxuUyX z5+@#F9$=(2zv4xVe^Um1|IB3an3}P|!eJW&2tE(@z=%bun}ncEr=3<-|v2 z2?7ApYZ#$Ag=}BF{K!P}zo*sP@y&*JN9{{2LlK@*C(H7vVufdUU}e8K zFV^Zs)G-wEmiz!+*5cr5a_`)6Apv z4*w(Obd7wmN3-qE$K&rD^ZAUlW%*n{pol;Vh>(Z|Hzfs2W>J@dg_vki*c_iVM?uh2 z(&Cc4=3H4=-BdwRmGL98)BZVi#eIGu2Du-qnejmbvx{hXmeK;1CHpCPa&3hdiblI; zpk`UoymGDhGUJp=1i7lfAo+L!L2cHpY6yaHK4+5!YA^5A-O&WcQ;6uH_o1O;FVpz9lCY=VfQ<+%oCqsdV0dE_UFAyC0bU`}MxC?` z|AO#5g1)e*mo_WTguZV?^p!Rcyj&Mp(aYSNN1twJvcnr&bzLV(#T3PZt0GJ?#?j`B z6qQY6P@SC*!>D5U<8FCvE56SRPY!a^3^J27v_a;UR%1mLT(>o@H}7}i^y}J~sXCX- zW6=t&FS_1LeS8qQT>DcweJ-099qp!>#6d?IOP1Gm!@}rFZj>m|G zpcn_U%nY5!8%nq!wb%KA!hbd4egKnh^oqr4ky1qrwSdBi&AQzJokgRJZI>_KZ!E_+ zGm;KyY9v-{o7FeF)-)QEQRXRm5MYXw>s>|?E+z<;|4ubr!9nPF8752^={o-llKna~UKXobP}W(nG6$p=fE>cQ_Ss;y_{7NzuxZ!{0~ zI~f(WuMCv94@uh5`2wqI36$ye!Lep(2}e#@Ch1gK@!V)Y%sPAFruD6`QaQl`=#8Nb znNG%%_gROlj;m{*Qfyobhms+X&7cEdMNG8`zz#1Z63_(1PN@M@0f}X@LQrhx6r-tX_o_`IugZ7_~gb=^GKpM0x+?tP#Hm^ zKS)FE-eK`^>T42iblS0=qF1nexVbE7D4-6UtH=1T=XDg8RKaeY`&NmUApkDQm* zElPP_jGF2e3eC`E&|$=R3Ka^}8YVqWe&9pTr7{g0sCql5C#{2-6&#U+vtmp8@h9$4 za8ofWb#k>75xav7gOV|)QTG6k`QG6#@chZT((4D|1rdPwSgjdZu4yD~no}XZhauB_ zoG-$(B)&}{fnj=U@#bR$(b$)mCBKOYVd*aG$>J}p^Ka>`N*qrHML|dCs8Xn={}jL2xN70bof1m znP29-*7ERx*|izdH911PxEiO#zpSAK9|Sq|DjFHuB{fW4R)HIyBU4WZt?O7l z)j2$?lSY;F)v6)VtGn4n{+}LRHALFYQ@lKQq7JA-XAm5}WiCV)^cnd$%biSCR6$51 zvv8&uG%WsP6-#v&Q}@;r!V_q*aT@&dU@C+>p)?kHGv%%~03{-HB!jCU$=%PM>IXI& zw@096oKfK~mdQTgTzDHck0bodl-J}ZNYZ7beiEf<^R8O8$+s>- zHZO5GB5%OoW|>IhYEx!-CnV7ZXnY^ZE4sC?+s16XB2s@PQs?TP6|8$mPAEc!>|T;u|3@t`7;46cSs;*8{lb9)@10g!oIh$k25#NH7$VSXHb5=lmA zie&C5iJnpq+7{H#n-eM$PZ1%Bp4e2+?=Q0wxMbvRQ8KZm$7n`lVe}rUgulrB^Yr~s zty90RPnOw=heGG~^%COkF#|sE$_6MJOmYFsB$A64NoU3-E2#O*x%lw*ICf#m zHR}9pE`@HM7dTK#j{R2aRTQdGWo=^(We(PP)z7DzLZxM7l3+?G6TG@a%p-(xCnMMN z%EhJ9ugVj_bVAp%5Y9ibcmSj7eg+lTf`ioGsX9shGN4~1hx-_e%K1?{k;lM%hM6bs z>^P7$V(3wRPN9N{V;Q6-^LPmCNz4v@%*EEQ2TP4$Fl|KV?fP{|5ftMq{)uJX|Cf7% zN>Y;KPesUX+EHFVwp#;{Zrw|uv9X7Aap_b}Nr?cDK7ZcFXD^3E84V;D=C(|!5Xq(2 zk^zf|tcr%s-oBEpMRrudaN-I(eucZ4Hr$c*2RTta3S~Qlm_rx8@{1CCE@VhZ8nqX$ zHz8j`f<~ca!$A4xsF++-lU*s)sK`D;7I&qq6(u7V`&}?76bqaPd1b2=_lkV!On+aUUKiPe+e(8a4@CTR8nXEf6;-{HW z)x4Ok9u?Hy5p+jS{y}XpMZj+ep$fbjnK+h3v7e~GY0leB5dcoGQWsx$NHGOn2^?No zU=QKKZhHSrAf{Yv9ejuIQ5f5XB^tBgkG`WcQ&T7IZXFl;biS*68-!e@$1uUD^!)ai zuBihfA{v|f;k(>p@z-~m5LU&O_aK@)pPGdqlmy#;Unln=ZCa0HHH49F3jF zL2H7vTk7i*wCVcWrvEhX9%`Q z%}Y-z%vNRG>V_PFimo=j(y&Y|nUktn)|nq2s6Z+tn;o6T-MkM-3i9SHsFwfg*}t;+ z*Cs$Rk=gctb9k?AVlPtl%!=)P2rc|YBWxiFA_pw14GCnKQEIwPT# zn$5Ss-yEzenQ(NCDLL79sZZ=E{~uMn;~TPnsOuRlbyV_7Dw*GE69-K71ol}q%!05HVSKKq%`6o=X+Rl znVVhl)WAMxA;$w|4Dtxt&*e({7(cDaatfZkfvCYIp4ZWAE|E6I{n?2M$uz}~QAA8w zFR2S6$;^bbOPhF7)!LIY17jgk;+6yw9Xv$lUQ~8A^9P5)x!?dy9r=g&_`g5XP##%T zDcJh2#-1DGU$W7iHWa9?u)i6w7A!HPoBXiOI=}MsnjTWoXz(6+?kIZ6PHmZt4=^(J z0xTehx{@%(!K;HL>>piYPwIjKWhZ+Q8UHl+j@eVuxv0*%G{0o0`}xTg@h_=NaXQ?& zUCFeW@*>HyFp*2rRI)&kOQr|w0oqhKk32k+14g68r1uW-r|skMo8nE!>RRz|2?5gb z#m@aB^2L*H*{7@VpE7(8aK|ZQq*^j6fc~!1Oj{;wDXH0BmhHl^$oQthH8PEpCuh!# z^@z}_gYoDfv)M7cc_okMme=Y7Csc!N#!+PXLcIofD2-8)uaXa{H*E5! zF`>^8@+y60n%lLiin62XSvDA34w&??j31%I?UFR8tnd0A58FY4%7)}I&(9ZD!2Lu$ zKFhSGv(!K}eEm*I`GB|@+hFOZvXZuV3Oe`q8y{&*?h>z=Q4ehG-~_L#Xq}v7v_<%1 z^GDaHM8>RF9DR0qwH181mPhO}maLZ6xJ3H2ulyvZLGtu7!eBoey+Rt$@h>oP9AA|r zxO67@T^^L&0#!p(;Z^m3!@6B^K%RjDCF5LzLf-LC-N?diLOro7!kbQURicp-;l1=O z#*9FTg>Ebjy^zu+h?gThS>1jC50>27!=d($&LRbo{rDz4Jik(wgc_>gS5^s6qyc%0 zIaXvwvHsg&(S{WKP*IB&{AW-WHughZRYl~Qx2LfQCI0QlY4u4XV*zy~@Y}N`-t}*POi9T-!J9GL+1J%AD>nyn8D-Ck6h zMcZr&EN3tPGju)9HfP6q#*XY|M*Gy z6b)>Xy{^5U@P@zFM3;lW2**`9-}~6)W=UKuah+J$ zq?cZ@H8UKTi3SU|MC8LE7VMN{p>YXH+>pRFTI%Uzz#Dr&>XKB&JXS6%=;Jq@;b$b> z^dI1n!VwU!EmVF7A`p)hGgEuJZRMI~N5}-cD<~o|kSBv&0!zj3Jx%-3Bt@HuQD?N{ zOB?5br3u!+I^V8F`Gij8ZzR6mi{O8SxPrQ&-~g2J9TPOjvT`o0!@VGhkAH{xq8fn` z&)A!UMvs!mq|Ow{P_eJIa)Q8aLdXhxs4%d8!Ja73BFb1W*HLP;g5s&4?>OBo>5^+@ zgx;QpX~u8;rotS-NLa+ZGSp_l6GQ*|`x4(|V->KL=)D_coi3uMumPIRwI0;{0Ale8 zVlid?_^;S#MICi}<{r7Uo{O;-WbF6_-#s-H`(L@af~Ihi-}Ca2zDTD^RfWUk=0rLm zGB#G5Un)&Lh5GQ#B41RAuihs62rT_x1%L1SL!yvH9I^4lJnBTVUd|ng&1sHQ4*95 z8(Dk~ge?fGU5He08aHTO3)oW26S{B*5~6IznECCF5Wu^#CUL7$!1aqQ$q87raq(Dq zGn%vXi&@S~ZjTU}Y2YE!tI`BkmK}OeGxU*2a&yDD7zboVBk_%8vJ8K#I89Fkgju8g zjtd}0fwOlA+lUmUfTHZ8#mfx4pUB1#mm9b=UN{h!ZAm)_wj%dKU@Xnez|#V0%x`4L_XybmQJtP*XDMzG z9C2*&%w69fB?-#jL@h?Ar9qNWil`AB-%VzZIO%SMHP#Gkg zr2VD>dx`9lz~AkY_svjh?S_Vt8YEee$pVY*C{Ymqj&z>QjvX#_U3+16y@&eog`PuE>kZ3@w^7z$T%qzrcI<_!B_z6ohlkMpi(cwLj!-= zVGLy|;;!<2@wi94Zs3l|SD!KPn*@3O%?|RcEuCr+5@TFo)3Y71OLKpR)8lfiW<4hsXXkcf04u@dx-?%`8Kw%4d4v$c3UM=9i zd5(tu(SJu}o=vp=Ie1AJ1oS&Ti z#_G9k(GQcW4$d|>og$xSUVQDC1pU1Oj7F0qZ;l|!sJ@xQ^tXt((~<5KFYlKdhQLNt zOO@~3(4eL9OM}d)w;W2PjC2cHvF?Ae~i>x zM5C^{N>HO^ROc`l!t!V3SQqWwT>dy>O|s!E;h**)jmcY8H8@_Md_0qV*UGFY-MRPm z!*|y}g2iFm^_RcauCDjpTT9_R<1U%eB?n6WGdKJ^0OH~|sTzDmcf}!fr)EP(_Wp4f ztqP>2$r`fK9d_EL0~^BncKlS>_rk>PB<{`#XP-hgKC0I%L?X9krg>NBYH~QZ2(q3# zz49ex8;?mkDDzc&s8C{eJ`H*eph#>yI>LFAmym9oywG^Kf2c53#RVt*YB{(evQ`|e z6wEdOAkVl#r19yScl8zBDBq#LiB7fRY5o?SDkj`qw?!dmMhJZq8FToyEN4SV$muhB ztEaM}jStp=l{n?FeL2EId&kqpcwNSS#TtgDBs30gJR6rs+|(P?s8Vd>EK#=8H_RX_ z`wOh>hB^KJ+RU;L^Ks?hSM3X6V3)p60nUWGl3zTjC|v$8NWc2sXN&ZU@9BQo-#<;) zA-Ox!{+*JDJg;mK^R%T$eZUbCkos0`vUGfXAE# z)4YeGwm$3f5Zj63V!fWYd=Yum2)Xm-`SVtGVu#c1Sw;~x-zz(KG+IqQH}8n6N+`aA zN)TdItbFtGeRVEgkiZ!wH;O^g50KCezoGLMN>h}^55XH>@cX?H(6TOVvkn8H-@}-F zyh(N)8NC6_v8e0mf&KDZ9D-Bx!0m`TBqU*?8K@x1F}A<}+c3(W#8Emai-O~%4-CqH zFQ@k_85GPEGI1!VEzuhpO2^y@U**Ufnb1I$eO946Ix!SCA}S1hK}x1iTBr{ZzgYdG zkV5x>W~rZ0i6c*#*YwSD(`(Qs#heeDb=W_F!NfB`@-;8H%zui;d)0sbV?@r94qa3f zacd%j!g8WGg|KYmTHQT&r`x|nvE|Kv(7QDggAcKM~n+%Y%61>JCMqKqIp&n}~Y%tck*zoxt45C4{yc zgG`Ah;2fq6xZIX#!wGo+v|W2MDVK42rd4$_P^;ir5*JQ^+NHs8e0tm~&wpDG1M!{4 zrG?oq5T8jh{G9sWBi^l}-5_}YOxe^k3y(<}?R);nVICsqtQHarpTykZp z^1AG}Z*+j}Q;(62`GS$@Ob2R~W1Q9dVX@&&^_t((2pj#{FFiJ3o1wy_(pc>Rbg7~= zbptMBDLB^);raoe&)o*JR9%tD#9aaoBv9JCmYZ*7vyau1y4WCBkSW38M=l^@uw5$uY-#RN_OARx z!5iYl1jMT{4qrE*@m&d^hED(MhDlhpJLivwIe7E3=IbMxZa&XLl@Fo_O)_mDfK^+R z-iR8Ws@H9VBs`?3C}xd7m|`Z886B*Jy8H12#)1y&dBKVA6@`7$wF`4-jg4kf_E_l>#I;3{U4Y`fND>&MOh)(o-ldyB)}y)xDdyDr z3&;JMPt|-4T*q}Z- zeDB9J$W18u`9h0oY^vJ6vdo-R*^oBhlSBO#deqASym&qQeHh>94#sE588vw@G9(Au zsf$?ClVPHj{6O%-v$Za$H`Y@f-Gq0$7yi^HRU4M&PYha2$>9A@Zi_1;li-;QC&iit z*1*02Ie~G#Z!6X0w!4N_*+UDf;ITv}@^!t=W6RC|$enIJ$=>R!c=G>YKBLZ=^OiJ* z|3KeN7_CmWI9Q%lW&PHuGBLo*+dbpn#q6Bl4uUe3^AFg~rIrxEy2=?LP;k8If!08* zG_I!?eHl&84e{-f_15ZrgCuQKJPzNzAt}dpLeDI1N4IugpbA=5q1NVb-^k=?3;u;B z+_J-6D2rCI_=Pp$Kf11mEutt*7Z#ZGcXDB~p*nR(oXvRe&6eK^3k!e@h(Oh}B%}CI z4u#~DcVtPw6j(lAKL=9I{kNi4v}mHy{u<;7Vk3P?{W{@qbrH(%3A^RpTK0xtHH0|a zoaXmcu$=Vg)EvVB+sZE^NR%}Wbw8g^s2OxE=d1E(I9P2U(aX!Leo3jyyWt4sod_zM z2uvPn3oBR7w7CB>DjEY`wCIuI`-VY53l{qczcETAzH7*aX2T zxx+_g#P*(@$=QiV_9&?6X6dv~${lLiiIQ*-MX#!wG&BZw5l@Tg)X7!aL!^$xg9#1F z%U~T~<7r5s8AvME%d|*lxE|RT>m$=rBe>(;F@vfV=ux!Zy|w}DCTR5pe5Lf3(%vBE zZTf4=W_;)igNy$v+!t~=HL-I`*Q+Mg<8P%HKF0`khX|oe;xRg<{=yAn3chaRtbVAdKKf1Ma;jo}=PFoIWAEb~&YY+{$|Jh+E3knY;9aF?La>jy*E;p)QMJNK znQRaL*XKQ>H7z&0SsTR9eO$a*R|s5SI(Za}2oe+)jR0GoPh6wx<9lXv*!8y>*U1I5 zk~DB60jzLcr3x&^&s%mIqt5N}8ZRQa`Yr5d-aGru%c*e+iFrR7=l8%X-={-WHXYpY zVoTE;AnwniFq1r`y#z+bRjJ%xx2d~j!)~k0*vrS%{+~{e|B#SrwaRTSD96r}SC@Nfn7^eM*x!D74@`H7Lr+?OWbLt;TdR#!i$ zk%Po}ui2Z%;0(ZLx8}{>`Q|pnU=Rdh)BNqCJ zO-Iouw}Ej4zAkH+Fk!B0hxhE`G$6ua$wBc;v|h@68R7OC>a2N$xsTRyG$&F4VaPj? z0-(~uNN}KthRINe^cTtGfqS%+R`vUpH6smKd?SrNdqL;-awcGf4c7Fu_L)X}gssdt zOr!`j2TMsQP^45jBe+moloG<~=>{y8l#E`$b_C2Vve1eL{yCceDAO+<#A_Yw3l(w+GnrC6$vPy3%6nRxC4WLze8)h1ZZL76NUH0hYl+vC9K*Ey28x zPDfjfCf$Jw<;5_h&2{9dcrDxmV3kkazCiFu%Is zt9vU_Gr-`>aZcCkbTlasTpfI8p=ppve?s^DyEaaF-Pebskgt1N5ZToO0iMUFjst3Z zhxQ$9L;F9e;#>K@_zWQ2V@IR=GU55A=|zU*n&(v}gdyv!88vQ4G(AoQaa&bH&*v^u zg>5B1huz;_H)$Ls0AGqE3Z5~v7gr@LYw}XRz0VH`M)O^ZcmNA?h#Br16Nm;Pv_YML zYY6!WV(*Th0a+^}rm_S*4M|EZx7B@CPjAS*xHz3uDQJX>pBNCv7J2!ywAUjW09(nJ z1X;o3u~>9V&0VmROt^!+;&ssUV|Rsy*dJc;Bx6|gTanr=`_DK^@*Mq<8{F$P=@mr$ zxlH<~W*jc3_q&G!k^y+Sf>l~I)Y>~QEgAn4a@IPd4KrrF9vPpO+INQxh+x9~1=!*T zuIR-ssZznGRtUh?vf*2xbHrvolDx&g_7X*qztDtMr1BGnJ8*srW=9FeKTzCkI3@v6%3a1x?}VF1A>7LudRf)Woh4XrbJrwe{8YQ<R>cWQ&W$y7t=Zecl&hvj0lw>E1|i;Q!NWb$$2$>9u-Nj#gOb=*(q}IWq&T0%nUIUQ!+EC&HrCo40>WMb1S@e zE4aN=1As!l64DrNbSGUSJ$#l&iODuXlvljwO{VF>NaTIf98YYJdqspNiirxf|68r=iG#Nx|qV8*XOi-}a^ci1zh$NeB3o_8A!<`y(= z=#8JqiO3B-Qb}g+a6D?-X5W6_G+pD>^uc0P0;n3)SfL#xp`g|%+2EbH*hg~n?_%ms zj4$y-bQc5TQKd_k`hMU}52YJ(WKZ9v6ni^EPq@AG%e-4>ZH2N_e6(;22I_rd%(T3S zplW||1xa{0cX|KKw7$=n-EOYRrZ*B;?Be<+YX%(xb*E?&CGJ!wpY_#1O!?V)iROZV z5ccP56PeL}{=`ND*6F)!)!dsoLx%?6>KdUcCfvPYV~dYLS)x)dLGh^1dZI|~46*qC zcLfT*b|WeIJ7l(v8E@5ih*b5k+UE<#)%V|CXF1|wU{}m#>S>C|^dOSWoQGrm>e93+ zA)8s~&F@P==4dc%>vDrt1sutPxIVs_j#=>P7FR!fm|cNk@sY;oJP{0Sg(=V9Mx#C0 zN>BjMI4Fk@@)4X3lxUsN-C)njv|-jHPd#Ac7R!@-BNwxMBU_n*-TyIUr6o&(c3PlO zJIQYFV>|rgnACCRS#bSt1v>kkXR!yXm+5ni-e>^PWdZ#aZJ2ToC_0R5AeYFF>h4tsHwjRmU}meWKO;oS9Yo7J^MGH_rZ)QeoA){%z8e^P%ha2js-{&OkP zl2r^`F#Pt-*wYtCe%K${@4W#;^0?pO%wVZ@zmV~UOsbY|DI;~wxlS&7ae!QP`^8w0 z(NT6srAToPI1ZkV0h{zYbkfyXw|GH+!%r4|+U_3$byi$s8rFtn2CR25&{j9z!uAI^+ zT+Jxt5RZ7$@<%`u0d?RSt7sMWeE@}YV;;}4J#`%+-Zqq|2u`DrM-0|Jv!@RC%~c~! z_+#CKM~zoL@TZgRx2huEO1U+*cBZ57W&h?L;!F6mY5gegsax+k3~*$`1y6*sqs92@ zQF4jdZ7}1s>9lz}s@2`Wg!X4#wQ=XN+<2M@q4ALSpC=~rH&Aj#fPgTDJN?Z{y>aXD z{G#gpoET50-$1b4EnD|?=k?LCgfU4{ULq(0tI=cwfHFeOGek{Th(z(E7KCGArz)$Cz&P5$#rVM>JjR^gCjQfShYRbH8V*m8LVcGQpMB4s#hDg^{otxQF`C&`L9O$uo9QS#P62* zi&H;p0iH%YjNTT;QRFsRLfuQ3S^m(pcYkoKF-7XewwmI_>A{lJedMj)t`)OR9rA(` zBMaJFiQ@7({BjcbAz^9l$C)5BC}qG2iN%%BAW~AcZ|Dw2dVeu8!gtAon+lH>{uBEydU{ZH}UE7LvVjgdAAtA8F%xuwx;u<{PC#rye~I@mJiGK+3{5; zu8X$U<|c)k`_8D_=h@NX>;oCukFCCQS=~|fyC|8{#MEERw7D#fKRG8ZM)4<8rSijT zf$D$>HvPamBBv*mvVW}iYRh-?FzK&kLk=koY+q4zhw5;8$eCby@h|? zxLI=kWT^($e}k)6eI_VJ#fqt0-kw zH!NLdT@i>rHeRv0CXz9DSR7&g8oqRJ`?*L%o?WpKHimys_XPoh&=Y(>I}`|(NhoR+ zGAMZ!RgHf4X5JnPC(&g>u!$3`7-G32=>g(KH({Qs4M$Y?d0LunBNTCS7J~7y2S6(c zlXCvmaRsX*vXN`Z9rdw@7S+nw1WMNz8@sc9?9x-YAxz7^kx}&-NX2H$WFz9U6+gU_ zjxc4){2CMXv`+)FxM_8)-V02dXf-j(jsUl&{5(wPPYoqQ8@Y*bARIHi4nxx- z66-u*KJPr>@*?xDqb|&{fJ#cefS*>asHk@K zK@BfQ%zZb>glYvCY0*vZP=!wo75P{pT%*0Up9HXTyLwO@EEG6%xn-0!><8gG=yN+0 zZ?$t4kb31dY~Wi2O^!PQho>_p+#kwUD~v)m><@X)nu96TCH)(!t(wdM`f?8*`jncBbWI^s zJLDUdsMU>;&L~@gK?_S;hun0Qi7V|Wy=X(PN*H}UMoOpvEiE(D_p!*L-K14vT)o2u zYHdW%h{<{&ABvyd9H8FduLTdeibTV5X5LfmRhz5jB<{Dj%Mt2O-_|Y+9>?Oj?Ud_? zms%%X^_PHxu0;UK2BLQcsp4dxDmU^XzCcu))eA;)@ObkS^i*-T)NF+rkv@^S*AdYj zr!v|rb%yGERo$a0`0)jiIXTx|#D?zRN^Tc6?;9#RMVyv3r5zWD3%4qm!Xm#!S$n%d zpIIPyP&jf!Ex6W1+`xs#V^MHdDGHU1fBxqC9PGy0^u-RKh#GG2%|@|ZAvh&NtrHJD zJrUnQbw3Jo{Di}45RSfRssjei{_aT2v&zd-wq1BF9=#{+jkqHYqcqu$y=8AV<~yaB ztbbQQU-nydw-QzLD}~W6E5rKmBD^E;KYJc{R_LpET_SqpTz$4{@7gUuXFn+7RznrZ zGb$a73ILpVusmUR5&Er|+|f=3u@Q^s@?-;8{#{`aiZ*2_ow&i@yc~`$dn+mDY^u4m z1g&Vzm3>M3LH+ksq*v-JUzZ)+2oz|ejKBz;Zt7ruM9@Yy#De-;AqWfxom!EgCQz|$ zis!)*&J!znQZAIA8I9GaSsyOklsSCxY9@u&eX*o?0i( zhOmZcA}BTSEEQ|Ba}`FOZ=OBZg23vj4YLjJizA`ek%7!K5tx>fbb6Cld4p>?40;%> z06lu++>`cLL&oWkqDUQ1w6z0C;vp8IeQgHn%pWw&7&#EyM_mCn!DgMcH;*8&LXQ&s zXZl&5w;u)eV{C0p)khh?bhGGFz6@#w(VNe7H2@=verUp-%p_?-jzGVbHn6+_Vho=O#> zUq_2Q{Jz%@r$Z;$&LUm40pz7xQ}>(Dp@X<2ocM&$CtEv_u6^I#%ot0YCt_}(#z@?s z?N0B7DXIZW%gT`1XPZtJuHq+WbWP?RVi(M`^ZjzQbuORCD+L1jub*gVO(E+cV;B1l zWzDrQQOrHJyG6qh_t+e(yjQhu;l;sCe^H-LjO{;!&Om}VX-)5KEnAu%$iPGR%B0vd z17i_8L={Jzl^f0uM$PkW9BGljmWg$<}_qc*(m*0?YPXZ`S>~Jvs6*<&X zV^K&u`ua^r6T#%Hg2&5NCMC~H@PZ}Zo z;z(7SxpvzT{zYM`suiNj5W96kdf?kf-do%wCK*cmGKJ-~JtYf}mIZ@oG~SD*hP>Ak zDofVieIMM{;wi%PzS7{Z2Tj8Iy60*ff#YqBi%*kZ3%51#I9_Skf682HH9Z`FUp}H| z?5ky)9&jdxv|d(w=BF6jqfb#AhF@5lIs{9-)>g~1lFn=7ND=nFx7OiDtI~sA6hdKg z4FPse?NS@Umgz2#GCM59@>%9UNL!lm7LQRe_DDoqCSH3X(p_MjEz~jNn@>XvnPzvO zx$7#%IE|Okc52)dIa&dDQoXCWw{JD>~v&UzcO)*v^-upacwme@L_q7TX)2#-$-w|fxWzU$uQr_XAcjvAM z#S=S-nmVsn3&@U%(Nd(dSx)n$bTbhvOdYGV^#qvy%$^7$$$>p{%%$R$2M5Lfg?dt; zIjev|HU+Tq9jEb#h5GxbiXDqDBc}-Fd~tVpm)qkYq*;MnBAioj{}K>wz7u_I(cD)U z;dP@wp(X~};cex3l@+{vP+}*0uxN-^`A)JCMlGe~}Q0(8-C0YSb{bBlBRkdyIf&}hN3 z4UrP-2)$n!%d2!KE)V2zx@8&38fF?Mm-7sUkZQ>=k-sJ+7zs#AjbR?|@u%8+(d^?o zBlYU_Ihd=0H5A#QFbdyJj4(3asdX=nDwGy1DoUEfZIq0~API<(L%VD|`=mFI8TrN; zWv_vb!u_uE!_M>@ZKQF1>e?b*6Eyx}YQC5x13_Y6u41$5r1kwQZ_V!xr_N6Gz4cVw z=aUlN6ZL$B$p6e+qw5=S-C8+sy#n9a{hMNex@AfRm)qf7N_YRIp4j0(aXt_knUQY# zG$hlQBsesxXFK9;yTgo3hGvi+|8wr@kAWbtdbn)#CR^6&r}*QbGJiSWcVV$u>pkvC zgKKu%>2UZ(?%L9WSb2PBbuU!(@i%*J0!5mqJ{MXmuBO5Jb2Vv$;$I8^ z(tC{JisV?P3^}wke7&DtCpNUT<4nD`j`!#hd*lUv#$bC!5(0~-qOv6ei(|ic8}tVG ze!>ccG`10I%V|Y5NpNeY%uXe2j;^_4%jjD~@x<>6?AwWi-W;h-;AASqXRmZuy1I{O z(I(CmRy+q>Ck{Nm?G&JF4bm4as=K8F_OY4@!RE15hs~B_41Swv9nZL8JA|(xJ^S-q zM3S7^Pq%f-AD?7+@>uaC1EbMEmBe2)Th^3#c1>gON&87M3HW|h*=l?9q@Fl;GkM9# z=7)6||D*C!eJ~A03*%)TE#>hGh@8uv{KeBUqG&xL-TW|y+McQtoT%p5DB#ToupgG~ zznJ*FUpm!U|F&_QR`=p5BOO7k*J9PX=2U3a+ZOCwy=obrTeZwCvwBL<9i}B_{|uI7 zmvI4NzWnPB*2!+-fI*?{x?C@Qw@eY1NF01uA4+7~Q~-~;Z2C>9zST}(zAw_isUDS` zsc@CuOYP`QHNawKPb|SZ)(uTIqph)j#?_jVzE#kDUFJ-BvNXWGpOA4_fBx6QNL{naUSDQwHiU1m zBhnW+ZGVnea~U>DjgsLi__puPu(is@UK%Z&FcthZaj+*^IKt2hs~C7CpVg{8Giudi_l=$8sR^hlQ)&p!IL}--u;~vdLty##n zan}98F`=?q9V7Njxrn0N)hvai7Kl*R;4Z_!lsP--)*AA<2$wRfKE8SD;&*-Y6m1@c zprDGz@$Vmh88o!$_;>~A#IC&)pI>$s%g=J);tI8Afm!Ai?+oM0vh1vtZn;@|I`A^& z^_P_tz%1*4{sMko83t(}=?W#gyDrdLY!T1EE<075g}^EDKjr&WqFVQcS8RSh#tCuG z7}KxvDwnHIKSjD)5U*bv>)BwBil?W;yKi=;W?ZRSOiFd^zYCiQ3VI67g_fI&Xe};m zaU{OOdG|1bMR;qbX4`{99mxWaf?B^kdZ+~7a)B59{BItbZtr>X{-7t_ElVwk(tTDs zL&s`+2E2t$*Dx2oupE|~FsA5UeH}+{m6{a!lgm><#lD)yU<6i;0uctofp0kGF6J6) zF}jcXgnv%>tg&Ns*Ql1Xrd*T;sfHs8PC8PcTOObA>zVSgO~)8mMZ?5DPoH3HbxOjm zlz5JEsAj~8sVPl>Dl#(l1` zF3TExy!D#4iEGlVTKZhgmD2np^CWo;0T^29aVla#UoHK|$+~bIRWN_LFWxq#UbMFY z1NT_EIX2(v$$k;=2sOK!R2Z8f_0q7Rw`ohesUbl(lVP1tY=L++dp-Ly4`S)pQ{vRZiD7(7S#-VK9TB)DK0 zA|CP24pW5y%`H^B+^g@rNYCbRjI|CBR5R;UI+2`X&Ye26!eb7s+N=C>&s*}FaepHr z)E1c;%W9}W_3%r0_NoSEBEM^X?A=JXG!cIBK7>^|r(MospdoP#C6$@uP~Kudf(Dw} zr<5fnM$B7vJlblPUO_yQuG=#u;)e63)q0?zEwON_=CeVoX#hfGr4Y${T{9b?pxt?j zB>KBzbm7N^a|u%7$<|u8`eEa`)zuZ=8V7AhUQ5LrLP=v<#K+^U?ldl7`5YyxGYxMk zjpc7gj4o12CC0Ba=YMeZxz0(+gle=JpDM_ZiO+<$bF@My)H7DDyV1nYh4hLMr=^BY zO5t9>c!wyLn&2}!=Bjo>m|2EYr5GEjGI!H ze-)eQl-p+`cgJ8H`~SH|n=UoN;no z_{;qf6l<+TlNK)W}S_^G_(l?;!o-bm;J@? zDd|%dlCK_++B-fCc4n|Nr*%wG@O|?*>XTO20&td!ub`YIR-YfyOi=7e7Kd4|X)TYd z=c;uRD#AnERl3<_m`v=Desi~KDxAScuH+juE2Fx>q%?iE2!mt&SPd%|JZ=Xg?-7|G z%m^ELA#`L3jxL2B%7D0HyGan7BxfoDxv|aJW_kH^Yf;HoC9{b!c&~&pe>0d^AJJDA z0iTD(l<=Inu_Yjy4hteb0^ENp7#Oyhe{CQa9vnj8xsv$@%hVj-|NzhnLi^PFaM zVnV9_CZE9liPG-vUWjqq)FvAJ=~R;;4$y!^TQPE8*!yU5D^WqUN4l(hFG<*tGQnCT zx|t|nF%SyBY=U=n@Wc~rbw|6q3=EpAx-i_+eWsQ$^pG&w`D}?v2`xJ-FS82-e0y1>AaDvS=J2;P*b)ChP}5)!Tr z#x$P|@>enPwAnU`O#jqUDpzg0Q05@o`n`*?g=LkbV$jMCI@#9BNWf9LUCGD#SB9;s zDh_KeZA+_YE`aDaR*0I%!rqw;Ca_qkjA@!}HX?mfC+g^=)x;C4GypR(E9cEQ3L;Or zc`?!MO0kkA5IjT_JS2)Ka4I7ngkYWMT~s~Q?P@)J$HtwUBr?J1s1KC`?b{R6R(e@m z$c!ls5JMfw@t&>i5DUViWER@2ORU`dw-Jk>G6jXNaVx z3;d0*e_T&oNwraDB$s1=Ra|{MAC#v$VDzd4Q%BZi3Nd13+Lh;nyTsUPF1H#6Yk*-c zru<$Zo^N*i?`wv933Iv-AcF$WN+2a(Z1}!(o{!!d03H?Zk4_gA_Rk`A)7X`honLgN z$989Zo?=`%DROhNOM0Qm$39P|o)7j*hfE-Xh}}O^Q&W9$t~jjhBi0wg7dhFnHQM?)P1)wUZM2Ka(?=sdf@}zKNn@MSUlabxM8NslWQr z1ep7kKDF%H5zZ7I5q^8g5|(WLm`!5zZ+ZK4!t|K$;SJ4>7Fm)++h?t`b2;-%Rf90M zafVOa$2W!SKX7*7jm|zTPLVC_r0Sps{BG{;!Z;|T(I=ZDwaT3-3}X;@1A4R=KbnDZ z<$H;rlVWZ3r~cm!W*cs5Mg9)?NBOV|pynoa&VPGG`i7sXVj)%>y%B^?YQq6bd3DKN zaa@MieANWOzL?qSQvcG!ALxB^esRQ|6!C?yv58@;k1Pd}_6PdIQy!h~FkV*5JbGbS zQ#75}#VB|?1q_pFI#NI0ua5L~v ziyPC5{WqazVgA%BpsE0m05P5=X;iN;rbVdXP~U(w&+MTZpNbq;vcbTFLJEFp!D(?q zI5>$RJU?(q|F1D00t_+Ce-GIIxvW5hXJz2xDj=#A#E_g>Cb*S>x9~lrb^rzPdzJ|{ z3i56a1gAd)As=FfM9eY4F%CmchnOInZ{gW6q;8lJ!ZgnW3x;UTi=pX`!N3^1Svt70 zL;lR;Lt@5p(EpRmqH{@CrwW|Jeh~kD}8@ve1kXQ{BDE=zj4hs zAN@QIJxhLN?9pDvve1TKR(tltpyiSS=aRfY;3)!xFtnc=qjBR4w_ieBFcn2t{a0+V zX?I#W`t$zM#m8T3*I6PBQ#n7YI{j}?){P#uf0t_RmWjCDEbeBC_+tPyh+xMbskao- zVE3`RA*|N$NqUzTBN02elbk#wps;SWIhCZ}lhV%nw!jrdRpdt7&YPpu&=uo4R$_~+T)8J=k@}%rP7`MWH(9`N7e~{^oTQaFV&$@t`|34g zb;rP$rg@PI3j5>GNGGysq$;+^e5@$V@&_smVS|kYl0LjE**20&z7{{9C)=~MsAxI` zse^S!K@JbB7rQL%m_x7c`Q`kX9-$QmIW_>~V}Y}(Jg@lcC~*I7`>}$d;F^NzIy-?~ zFh&`hQaFJ zTX-nJi_Zdf6Vwx^K_wH}YoB*H+Jg`UdB1Y-Tzjv-@DPpqwArY+VD!vQtxck1=CSUs zgTo@rs&8l5T~Q`gNojB7!))0Vj-%Ch9Y!D~NcD?5@pcs~*}O=DSA9*%dQ?+4K!f2P zv@j<`z$Twly08m0+0h^hq92xf@@&(Kb7dC>YuE z-snD)!`F{;V6DDZpGp82v^9$f*{Z*=#T`4zHWf-R&owRREK3^l>r zvPTS>3NZtW8urLNM(j=$K^W}NSQo1NDtssLah$aS8FmmMcMa|L+IpQ2`g#&)N*A64 zw|=qwzl)`j^4D6(J zrfucmo7O_F<{B97o3AWm_O`>aLjSS-TQ6b%62QZ<^%& z`*Jg7Alor+MVrK4`71oe%w9{t9XM#$P;kZlxe5`2aDn`+h|bIA9#dHz$Q|h9>=N#w zmYr*|ug6>ikJ}xnS=f0OSw9IvXJLVu%LP7+QWEX(q;1hJQDW_P&KP;A>U4_O&@6Wo zA%7u6!Psh344QXB$c#9D=^L2zL%&ev&0dkK92kZQ_}+f`^M`q#??DeeE-IJYcR5rqWNdwSZJ7#kHR+%))R#xX`Hc-@>v@`GXCH5Chl5bJ)StH zY?UqEtH}GG=R3?IpAzmVA?+bZ&u!P0dOY3(n)PLz8BY8nu_l~dh5-0GbMBa$I{%6{ zwTd8gBEqZ57ex{9tWLZk&o>kQX9SV&3~TE<(o2{O1BtAu=@ZAdD|Z40%Tv>TvfzQx z$tL2zLuD07JQG$nsAQFP$6KB1Ix*SoRd@t}#I5|}9v4i;B^JVo| zFIFOVh)=-+W-{#E?6ADoW|BPLs$p7o1LrJ$U;|{|2D~3AGAk6E;;j!wQA{j@}Li0IX;howp1^;8OQZ7X^U-Awwq5puFZ1Z(CV7s%-8 z*n4PJ$PHQ1Jxk%cws=q-s}2QyR@d)K+)wqw^Uk)X`s`vP4mwezypPaeLJ2&in?CHU zpV2myVM2LQjahWyzyK6HTQ2SrJF}GO{mO*kO0_cu}J*MR& zxFMi*nB-XgOO!c1FsRzTdG9>6AcEZ@LgJR&59-I|_&iVrptm3Y<02IR(F>LP!(I}( z)wmVfy>^5EeRN75e ~hi@YM!|FbPZE5?c=!d_1^7MGEM1QKXvho(y{o^OS_r!<& z)>@#aw)*967J`I%)n~OXnC;1Zo-ISev+8#MRgp6kH!=cxQDW9y&OSY&x_iV5)xY}^5IV<;?T&=RCgP0+n z$2KbL1=M+VGO&3_q32 zD#TEwuLVDz1mHiBbXn~zuTOcrf)k^~FRN*7I$`pl;ayqJsMZb`0v6kJ?Qy*!JOj^L z?_QV~jQWnhdB!K_5gZN9W*uqwp)AzyzPO<@1TApM&&ty%0>mvMC!EG)jEQLlSuxN( zvwF8fn1rkbkR;?7b|Xc%uF_>6AcP(aWj+8mX4>OHtFEyT>) z14zyZzJsYD7fGixyqrYEEHf5PmrJVgTn(%M*w zNxLF8_^5Z}HpJJbd~TcSa_-}sD4w4SuQo6}#aBT1+Zdi11RRqsAash=1z#~?j7Whu zs!YVWiq&5~em4qb$NIH+rZ=9vQ%zJG>DqCY+%K7p4KS+SxR;fLrnKFfR@nm*s@Fb> zzfEwB=Q%b;A<-^OVEJu2W*Mo<7tBIfs0F5(CEQo3G5uQt>YnW6Ntpi_%cV+RgzMt| zcu1`;L?Fbl0_r6ZI|PJGizjmUb|k&3T96xi=ab+i_-|mZBs#^}VZ2naHnTd8naXGQy7F+mMQM+jJRiu#{?u z!1-`uq6?Zg{!?Srz7;V@En59HwV_?>ebR_VKUr zTo5OI>VOK~ARo3QI`U^$DP?{OpKMgk%=#{k%E2eQODzUe%G7LEdsAW@NiGx3V@$t$ zQSDrXh$MU6;jtdn)W9T$fYA2Pkp?jDw^^0HGY%#y-V75+WJ+{2$pjVSQAWdYG1|RW zKr{5{{&#}G%2B=Kr@CNK&YeG|jN(F=o;Hcg`nzwX7_!+lP?0YHsr)Q9ZzB5ZMCa+~ zifBpdgh#(ie)t?uvqXHM-O~c$bnh*KD1X7F#s(M336LgJayjY2m(^FB8*z{O(&+&C zlvEM#j;HdH!|;|^xlt1z0%`Ax24z`keZ5r;hJyk{ ztc^<*sHuFa@zSh9GU$*3Iqt{T`|1@l+$#-oQa--OSu6$LzM!zyNFYAfwWhPIbW zmg;GY7yy4ROT^kI6IdkgZksHqVImI5mmdY)>K)=gdFyp4xtx2eZ={DF4H>AV+x<;9 zOUL8pONNqQdg?h8qJE&~e(sk0N|@qUXYIOz#b?=)nfgxGBJ(uxRCek6*3eNWz>jRl zWa*i_=kfFb%eRsowgR)vX;TH8a9Y}WcaXXYWGwIgljE?uA-8{VN4cKc!P4WoPz**I z$TnjnKdpkK?VHb*i*X$}!1)wy_|C72cM(8SgbT3*9Kpg*>w??JtT7 z^gH|2&Ln6Y5&h-r!aFr38(i3XLxm!~->UH2aFwx>2Zx9Io%)<*?3yH7YoXQu+VrT= zRScfG$4IhC-n;Um6NkgdQguE@^;bVGtn8^|;BRl?%-@bo(xN|8)sU9K*vU>zStU9E zLmpu7vMkzVn{%fq$T`lMBTE=zx3mnevGqQFqda4q3ynmoVx|_KfS3I%V92z6qavra=fZmYstjpQ#G za4?&TS3?h_YwG6LwWnX~=ye084tD-#9B8P{S<`gY!z;@pT4YJWn;nl};$A+iO+95& z`8_E^qh+jEC4PGjn#~gFklT^5Ph0E!3~P6jFZJ#YeNbIso))RkbOmwDMpd+a0g$ns zgX!Iy`V20-kuE?dqRo!qLaUOKsse_PxV{I2U)ZcUhj=B0Phxv%IbBp_rB=@gxy?sk&zpcY*~a$ADc_7xk$wv z@iDoNVb`Pt_w(j9&I=|MhmLJMhyneV4hC(hOV4~^CGgBEZM99!4w&)v*UW9wMro6JX!xoHb)$Cz3Z=2=9@W1YOJA5@3f5ZSt&@T|~ z!$kfVSAf-AIOcI-oU)DsvLOgnts;R&=TGn7Zv#6$E3M1x3b3#{mvK&;qMVX|&*Ii- zg)Sp9#@dMcD0;(6z;bKt*~`s#(xN%*fxS-_D-C52XLrljWUK%qm=F0a)hbPL0gcB2 zq73e@{OD*4H}4LaYibUgPZmcp@!|t3+7QAzM1f+%I%E+}+?c=eR&S7(4frzEJM=Q= zN$)=QMv>W?eM<2A(= ziS9=ydS*-<^Fb(p^xR{>R$kbXqR>|JrZ#mQWEm7nDSOlsg|LLax2^BRDg}|HP|~P| z@nyFo+5F_ik6fRX1{c7Lw*@2^W-g#`yf#tqK6hN ziF|Za(VX?3??6P89JEgqs>)63&Bq0uK%N&tK=wR3(h~S$8V-!|Y+8ETyFfzw?XN4V zwtteYPUz@>uf+ayKIJ1Xu&!mfV{UP`Ua#|R;*-*TvMP7#!{0b=3B6;h^~^H5m_O1l z6}T_c^1WRKk+xg>y6!+HlXl4Y-r}Kkl~Ny)j*}L`7cVG3l>IcA)A!uc zF1^g*TV4hux8_r^qEavP{b+Kwsc#msVlo@9@$DxRq0e9$ou zqrkSPKJve^*wl9p<7A=ArQ$V_^)c)5^`Lobo0HQR&^|G2Y+zE<_gqjND>C2v0)hZx z00zKi5ohZgHrBvVepz%ma23opgh7HKG9}&tWqP|D?>!@p$Ki-)5PNAoAvWN4_ww z$NJg;YJ@6qmw8$%p6AU*$o=-nyX%I8t+P1~XL1Z?IzR`^Q~aS@#ly(5-@3{AM3?>^ ztH2J2{Fb3eOY-0$A!%UtnpzQP3izhpj0%Z&j7#~dMR7{ebDRr+PQGx|H$lG17Z8Nv zgclu($|&sw%|Dv;7w-~q*8k5){va@02txK_PjFbkgH_L z)v{~tL)a5!dF{t$=i37Zb>2*!Ob zrGVv^K@Pb6YidA6eq8FG&9!my^=~U_Lg2}exPj-OsHmvptF03NJa$p zy4d{_aI0&&wThlclWNNsBXS2b%a{uq4Ks~M^HRvJ2Ze8IceLr z`jz|;^lOxXM_i|4==J0z#|wAe>_YteR+wjp0wC+3F)*x>VPsX}QIfU>(OMJYidSjV z1K(4OyivV;t}##V*sAw+cb-K1U#`sy?|aKaq*(J?&Rn^_En8?Dq{AE6M*kx$E!ikh zgL|}~6ojrklkIG%2hV_>^4C6<2bLF1j>`06EY`#m>GP zqc%GaJNBN@N%9)QV@`_;?-YtMWMQ+N zj><<7Kul1aBGe2Vx105zk?Sw(Dx}f;1ZkXn{N+z64oR2kk_EUYDgqz*Kdl$?m;^?D zJ>Myk55e;*)T6)@!Q@toa_5keS2e+)T@>|k?A*aLY3iB*)5-wkm2;SOEbc*qu=taG zWzpG<1-JD%7f;bfKR%>>P$2!2xvM;}&B(@d8d9D+(-mzJ6d0BDT(Y@jVG<

Tjhjlc;<{HGI_9?1soiE|F@e5oD`h6s9i+jfBdGzp(Ke$Z+Ps0 z9@a3+o*{kXy=o%%I|-ONc$Q}ohTZJ0n1u70)N1;(Bue}7umGIqT7?1k38I%RzIN&nJdGYGEa@lY$raD3T@;=~w~@PQqTeqv|gCh&D?D7%}l~V{~VH7B6$uOCVSGHY^DR zX3__Yt6~^gG&ny@q&ol=aoX|qdOkw!TzUl5d{t32{=x^6T|y@GMUt?%>j5M<1rrz& z7Dh&uUM2QevfhLP$K|i5@OHA65Fu6Zy#+-;-~mvzqd1Q#P1_cXqxtkJfnujXe@iX2iC!g8tPfaAQl)N5(4 zuTK1*QY%)gpxL4M!z;+1=uSM#HpHuipl6+_m+%>Q^OOWp;h%4>`&MK{-x?*O9gINR zLT;bKH~jDm!)?vhZ^mrzm3(9XP4e?fHgT#|xX=j&1*RC*{D%0XvFP_-twlT08>z>R ze=4tn`gL%XLhdknPn*P!l^w8bx^J!UiL6~}#irD(Y|G@n7D{mn-AiQsbPNYMa!h)d zlg=kIRJ$!N#_q-uMBkTarK9AP5VVNhj=$#fhM{+nLQjY)b&iiDO`E=!DEsL%?$5w` zh2qitfW@Kxhimvq47l%W)`JEsQthF@URgD!zI5q`73GB60`iivf4S`6c1P*X5PjHk z`4Ck%o3sekoZf-By>)5Zp~*68PB-FP4kk;FYnzLho#l1Xfk@_wIYQ~*-ge`g%?VX!Z^%yf<-o6ef2zPTcBXfcxp>Q*Kncv-GX0#MmLBCfOz)vM z9B@4}=#8d)mHyOC!v;lW>O>fnmi9Q)A6D|uOzxpaZO1j94!$w9dd&)hO!UKRvmD7- ze7_v!Z430VDMCg1N&v}K5vC`j@`cEotgHc=z)9sSZ zVew4K$s}d$+2kc%M`kzfq9uP<4uE=8gj|j{NX^#2>H+({K3G=oth&Zl;#i^gP047~n5crzSEIF--Vxsmgl2B$ zo1g>dc*BLrUzmCyRZJMTuCz!RU6XPaTdflBSFTh>UZeL;J;~X)2t#ZTOBQ?Uw@PR) z-0sd81Barkb=3&aIS_?6%dFgAv%1(in7raAQo3u?^qZv;MUBEcCJC|WY_DYK3G=MJ z+uSRnu~oezBtrC$jVTtpurdr2JgcLR#JAfL7vCr{dFrE2rCB6Y_coy%uv4j)$;V@2~w+5FPFTP1b0{37jg zQN5W3e=Xwu@bV_Jz-IzX&xtTXEDWZLryl=TUmunXqBHN*magZn*D;ePu4b+)=Dy3d z!?j?~Nm%|`JxK)$$%fjxDoL^uB{rRBcQ5Gzx0+X4bWE*O%=#uQHD|SBlP|NmpbEuP-@^K7JR6$0zHelT*>UrcdXF2t znca?}+mLIU>ZpmJDEeX#+#NHK@9?*sHk-$4U5DaIi=VQhdixk1nbF|^*v&y4zyzHE zU?itbbwgOYHWLMP?WVa>k@D|^s0b10k!df#=UgFfar3Ce6x|(%|8__C+mP{ZLEG+D zCQo6k9sW9WZ}#ZM$tpmP4dIkSmbPt+pZ>a6oG#A%4noKE7SUP8EFY(Kc22%SIT{j7 zL!j?8uO=8E8tgX^C;`8pGT7bfbl_;FirSSoP9}>6eK2gA`H|ioUaPE}`-9hi98n7a z8|zecMj_DLnXx{=JCU=Y&d~`dH{y0v=9MIR@H_83TjOr^k|d;^UAUeBN_ZhqRL1DNwEOy6O}p-Mql z1tz742cUT#qRxl9)gj2C4 zWF1mQ9&v+D7l^$Bp|}7USbgh@lar}((gG`Il923)=;Q3W07pE-oPO#7rE#s)Y#O4g;OxGAQYjDjkqBYH=kc!;RMS z(5Wps3FH#RUou2c$%AX+CNnhJSoi(|8L0e@wL&oDx-auv{$RUKrj=jIQY>2}vzx>; z^NZ#o>j11h$b)GsdP#croAbti(*;muj?|Zf)lHLTArAQ`DJi-K$b>IGBWh zXZ0Cu7`$VNLNjqIFaFwbt7M#On>I!C$_z& zqV@5*23_Rps8f{c^eCtFwytU{B-z%gt3hUXuu^!tt18EP%l+WC7+g;W0r#7WKQ^~m zO=Z3>gcPC{fFUG0!OF>VL?zNRwex4L9%_DMFT9$#DFs#ymj|k$YLqjd06c7{aAE3#{S!@_Lzg|AMa* zVaWbF{pJ4afP5KRrJSYy0Ul~}9)P-1wpjbeyKqE?4$73Sd&;W0#~mX*B1-SS$hQ{# zAzU_FG4;p!axB$%m(Hx&xg7!tLCyBe6KIFQ)T+RZ^ufn;Y7NE+zPlB2bp2Ls-A_O- zTKYVtBn!F@yre4C??aSRscQZEr(E=-q7c1E!yfa-GFR!- z%4FGSBwdG?$+XFwU=-{#R~(*vAvvCq2kF%&q2X(jmS^NuIQ{Xbz4V?eU}))}MF0v7 zMk@d+jcQ2I0vKFRU8^`z_JOr&6URD2@XhG-UvrjEkCu(c-WgS-bP08n`kitI0e{ZP zPZTv6$7$t0Iq)1?eImJJm_j;t?~RqLYk2-fG@mR7h8sO#?0D~TOBl#;(~GAodFIX2 zhF)1F!|Pi~xz+TmJ4N0>v?Fukeh^SQ-VK1cC7A^R$b=$>CjGkTw}w4xRlM(a*uX#d z%0zz(%5ZSutxpiPpZwiL@I^=tmi}}Ul?*b^Glg!1uVpEEr_db{hR?C`oGV0s%rn=< z^!~KrS4Ab;|19mf`-QPNbbH=0%25c5CfFzB z=G+}zUbUErb0WO7RGkbztkTT(b>{?}Wi9J;Q+{-U)|jSf_IRryzMs*yaIgD3Ak+mXH9lJDun#hax77a*b3SB}Q<4sf1`WX_D>O2u-ju0SS zupz7nc=&oHn#*r1K8PBnUB8UpT*)Jy0+TbG9` z=bNcS?t=lT|KU~t-`}}FPye0mvshZmm!g$*gsw(Z=NSL9***LUHYIpM4p!ZT7cts4 z@sQ1C-jMIl0e7nppK&ck>V^Dl^E63r$!;h+GB)p=7x)5jD9z#%55vSW9O$ipdYq8_ zo#$ziWaK8MhJ^S>d747p(tdY)pjX4}pyF1h#QF-APnMQ1;oZyOiZxc?s zqi(wcHT;SdGXpD7PlYaCA9zMkT}GuHKOOxnwKX^x)cPl8a@jX7HlUgBSul)kyG9iB ztqJWh^lWC-7pdtcB%cb!(1PrH<=khpq_f>%`{Fxfk)JWl{*n1`ok3?c>@%Cl<%%%y z%FeOdob*`W>5FdlXQEx1fUfJqi4AsC4$K!qb4owl-u&+s9Q1aI z)2kwEdTA3g$0zwiF9(}!^Idn!u!_iu`6yLmEt4V8OxKJ|%u*WJd8J>wqwiZzvr*4w zf=qKSXxA{l_jX_{?yY}yO@N!Nl(3z@2wuJX+(q}C+bsNRyM9j_v>_b5uH`u-$wM}1 z9)uAXgpJiap^^Kc?QaN?A9#H3M*LDOo z14S&HiqJFDnb5tROeHV}vF)8;O$ST2(kf0@U6ps*9eo$soQkZHtIW+< zLELMkgYG4C7u`r=4ugpq)>Vo}O`Lh4qzVP zEY?B;BWl?r71o}3j$J>9Ef#m!_a`4<9V5dSY!*m6sJ6z+IN;&;v*CO`U6O0K2^;1w zE8`>rDOtMB=|5&N|0H1V07Sk+doaF+aH^rbU(0%S-?PSGk0H|DdXe~7Irzq*Fr7oY zeq(MyQkY4#YIr-o(uw+l`6rc~87|2{HJNl7Q}!F{uC>Fc$At|jfOYT3#N-Q)EM+UZ z2G@@(iP+u~6}LwQ8=l?zcxmCfk&+GqrB&P}`*5*Lcx zQ>0g^MPj}nrgpr)_gmoiM7M|^gNG)Ke*@!3SIsGt(B2lo!-@(CH$nfwXs3FQh(C{2 zjYqZwy6H2ChKb0e4sQsO<&Z}~O8avPr~s028>%dQU=%W+d&>epMNSi+S_nh`7eRx90$4yQ zsnP73E62P%;D7HiE~Bd0efqn8nJHHevQU}v`q-E@PdrZ$%X&IPGpJcDJrMnfQYnh& zSrwnHkWOgn{7C&8sypJL@y^dSBST6A!Ii?c6gHZF=Kc3|jvSVde14+cIHEC=sor%? z@1rENxfZmNpE!$S-aKB@q#kJ7uX3y7+O?x@b~Kwmqh@QQBa-cJ=iIg5z4ggc`bT}w z7z4|ByPwr50tuy3L*lmQD=5d4hG~{x*^Vu`qb2_;H$=x-g967-wDvpdcWBpsy)Gu% zH{-{0FNni1#ikzB9A!R1-_V<-Bw(#skIDwbTtQI%E9u@e0?C%;l1fm8d%eM|Vrgx8 zxfV^A_43QvxP1ZwG6i>``>%wVy&#Rk&LXUUD{%yqc5lNL^dn{1f`i3RhD>cOw*!y{ zNBF@z0o_ZiW%U{ngXoAj9-~Z5FO&2VahI!L_4~r9)*VTBY=yaW{4dGVxN7-tui1vY z2FuruL>HA<*b3E!pk3cRL_hrF69HH-o^}IGGyndf4*BiCGu;e}4ybU#&pNKU`$8-< zA}e%Kcf)Yu0>85;q4&IIw^R$i^3``<^2xG}%z%;E(3zV}LcC6^a5VO_GLNP$jjVbl zY(GHs<4H9cDzMX;vaOhR7s*p6tT)%(C*epk6vGk1pp$)Vo<)L^zSE3lknr$PDy9;N%O8g``fp;$9F zwqAFL1xAg1auMCO;w`+dEL^gy`k>(VTQYF&UX1xp{ui#;E~DRLAkQ=3C)C%ooc7qq z6W?x8KV7e?$~c`O4$7%?Mo0*ZSf#8+&|}_O;n%3g;~gM5e#aZC+eMH({JJV}JCoY& zpmnRaCLNA|S9RS`uHL>L%cv03-haBYX!6Wg;aKQ?i0P@-N(U_D*r^CCk7N)b_Vo!z}CzgVFZX z=pf~;>+d38Ut*6Zbah1c_!-Lx1PMkmu>6&;t(pN*QM~c98fkGk;Om6>^|RypoR=gW z9rOg|4|iU)K@rQ($CX0!rXLXfy(7Q5I<0pxjo=T569a0+YrDXB>1car^&j9_A9oEu2ni4a+0S zV7Bi%=}R6s;bOuO?bY7Tg&$q2_1%hOSn_4R2b1o7K(p!V^p`w_Wst*>0SK@z@nKy#b1ozCcf&vm#Y4Ixa*_)tp}2p9>o}_F z!Vf9?ZCRvhDPzqlc#gDq-Locb<@morI{txor4$r$LfbtrZhz62Vka$F^_T&x)p4o8 z(N`O=iV23_YiZ*u18a(h%9nim2m5-q26$wr$ml-;pcmf_@iY*}8iJnGY~#mLdi#n5 zAp!=+$qH0akWER-%%17gOh8}L04gi2C?r;r&i^Hpzs5(WpH#9)4A?<+^mS1e;cGQR ziuDONJqI9qN_IG`JVz2SKXXD%(SYxc_AVn5V+hi54I#3SN>Q>DD#DA zg=~3Pb!qasa$x)3to=>d~PRW?y`6)(T@X*Jw{MXJ?Fn;&7Z&n^uo&A65Wp1Kzd+X|Tmq_9mF zp{pXK1smCalQ+(?m3ha_O{lxkHMP|uKwl_aA(!%hRE zNKbs|#CM2>{ZG10wBD*U(6}1nk%ehxhOPNnXX>Wj8)oyd4+yR#Fg7h5wsGsszAUyz z^f8(|tyaF+0 zuZuy%AxV$NAsgK8=Al!doH%n@t`vG<{ebxi6*DQDfz7wNgnFi(3Wl11B#WPNziHhO zWt7jw4^yH`qr&10tb9GN{|Os9@Lg;5FZNirCwHTSs~6zhAwrJyl&p2c{LPlXxfA?H2KU;nhDS3HJkGr6!){2tGx=5=tiC`!0vb-Ezvdw#RQfbA&n(Qhq_1 zZ%i%xlid!j{v2Oyx|?N}Ha^Eg(>QiMcf`?zAalN-b7E$I^m0Ufmb6Mp4@RiKJGs2W z2sT&~Y#ZQi^-GmmeVFUG)82k31hT<~QGvAWa`G2>9^cecujQ6oL~cTzQ{{>WBe zhw~5<+c=zq=RvjPYgnVfXaoLy6h;Rnbubr%6ob{h=u%PQy19@oJn=zt$gMhK91=Io33ihE+GrEU#lMDeZLz~Pd1bt08~^z!VOgYD|K-XgRbCU$efC{#&};n zX-5KYMgBH4>MdCC=h6r7ipB0;3&@ge-t1xEzh?TyISj}m@!w~YuX$&GccE8H9a_xc zaz;$wP~niPmIOmK?&!9cb2~ zi;MekS`8^b3{nbXSQ7?3!$_Ln@~vNBs26;5ah^34*+6OClyKipgf0g zYGgk43FJAQHFd8^ks(7vG5ZCoa8dgmBseZ(ytKhYUlIRv&!iP)MP{9hp`);YtckPz zHsm@z?t;fo%g4Xci8sxDrL{g4(6%2NQ9Pg(;4rtEe-=KEl0ck~?7b{yHm<|@;y6@j z98)XR?jBmW7W-Ob1fh_4d7%|_J4~=P^?3H49x-0Hb8= zoj=6x~Ysn2EKl65I)cQe|3U zi04~ituppe)Q@qmA9sJZ70PQ(&z7lFgNfYtyMBBwXHR<;@F<$k;cW&r-&4Wi%22gTukiif?sA|rYu(EoY()bwf^l8{+9d1`&)Rvp=-rYWK{#CC$f{#F3YAi5 z_MLIMqYZafb>Hk1p;A{}GZgO49|(naely_f z@K;b;!l0$5tqZs?mB~9$bYm30Ca5MJEkwBKzvby%n!#1`RiQ*1k;>Xipoua|@mxOK z=DFK)7Aq5^#lg?f`F4Xh%H#{PN>EN zp+PR3Fq8caA>bcl{9ksUh5Z;{x6}GXaY<^7(sqdRdXrd@XKKM zYE^SqOp;b1rwFb|O>R(g-GJYp&2>a(n@P=GcA~f0M@toa>S{13mxEXK=Ra;%M7no$ zLBegr%BqWkfT}k@?agR~K#jC3fzW3-%koEBo0~ZWpCaDS_Qv=`PbHiGz@c>w9UQAf z7@mq79QZU!_UMl2iWUv$gnn2}gf<3dlX`-su3SM$@-RLK25o)~ZCCcZI*P8}RoAwy zox20~D~S&h@As$Ua9jUIC-H@^3ct{w0Y(^}iM;9qI9>WgH0WOF`nq($CI7I%UxHf* zL)Ll2V@c{;)yMbcOwc6xFUT^gFO_(uhw?W&oVJlkXOEByjG%!h??Xqv-X0!ElEXOm%D#?^b};qssEs^Hy-Q)*Io13nvR*E1ce1`XmX85K!x5Obfv{$H{)70 z;H$~6(DOaN#yB2^2_Ie^6#lmMGD3>ZkmS75All3G5O(9MzXm+p^%RGVBY5^XN+DF8X)TF#a>IJ>e?Hk|9@#! zBm4#lM7EicEisHluWo6VHsbW{cUtM@(J4m}E^it73k zCdX(wEG|Ls8!0dR&(p%_UYJ`C+Fgo)s>L7Rmdm#10^eq1t+(~=KXfHvUB|SBCFaS& zc996DS1+#ksl#~L3uv(YXniC2>K|(7?m_lIy=nJDIQajN^%g*Nb-}i7aCdhnY~0=5 zHAsRx1cJM}ySqz*1$TD{PO#t(!FA)@mH)hR>%DqaRH&k|_OdbYo8mOVgaDLh`TC}*`Wy2afqD!ITe^7+FGCQ>4EmASsbm)=>mGh04j|8 zPOC@3Lh#^+@*C&6Mw^D;Y)gP!${9WclqF$FZF8to^sk(w0AR)c&qXOf-pi~W*TV5O zua;Nte==MA66tn-a}dXST7W~KVn^@i@V2|hK7_r{E1+Fh;PD>P~Xnp75YL_KhJoP{5w)cw4=k&>WO;|?R*y3zg2c&i* z;ku7&@V=DEuK*CT{|ibpf7u;Uwz)2Nvo7NR(%F3#N8Uus00U&-bYzJXqv%{z2u&V?O3Y2EaI;tGUR5Es6FeG+t!q8=js4?KiDd#O* z%ktvt%NGNgiKi@2sCYSCp`iYZd&217-=l&CA?)ahoMK9wP3kL(&L4 zpCK?2T*KyqR~XKN+fxNIyTSo3_y0;R#uyjH2A2t#s;^H^c`RG1L=<8DB%)my24fH< zH>b#j8fi_;#`TSNrbPJ#+AV9w<;$bX+6m_IF_}@@VtrCAvA&@>L^1t+jJ2y~7UrG$ zE*$}_S%g!lI4#d`=Z=lt+q^;HfEsn5&ON69&ysVjdO3Ty*T}DEUjwY?fFeVr=%|%V z8h$j2(OjxeZ5)H0L!efiN7lNx{q^Ytk8>`jR-9BlP8v_{7z>yV$c_(yL5g*rb2R~1rof_J-2%~>ih4lleSW}N5rwo}J zjfSv)gcJgM8{L;F$eDb(oF9;ie?{9YUZ+;i0s@!+j<#^_&|g_y*{omv>ZmKgVc|dI z$Tq)7$~4D>uhBJ+pLs!@iYq!+Q}N2HRbHn8sF{XrS zqOf@*L+i=IK*MYt=HK%uS2$&(r_D>p%uVfQq}sQy_9*@Y!`c0`fQ`b=edI**`a#l> zLgzcGT0jbQQlOLH6IN{$h_3A46f(C*KimFU?-x$9YKhI%r$}g0;=Y{kf|{|Qz*m7& z$HO%QgBsl91H~}NyO2$P?v0#PSq7mbQ7_w{SMBs6c7&mwpJG0CW#e{$=3flzllWK$ zkqHP=x<&{-*O`2-@sMtIv+m#!<^S}PA#lCc2UuYg@sOQl4lLFYx(@5_w`_4m$ybA zvi;U_$f(ElpVAH|kzWlLP}mbC5^0y{Ka|HJ2eT$X@-P0oO*73lV3C~UHwmJWP zsW_WR))Ra>Ged&{0d-UKCcD;Q%ckO}-`OEJiyia~=ecLxl@)u= z!f0!>L0daZ6nK4v5;)Pq`EQVsn}UXV)>Q2LAmN8qC>+n1vtLK5Wom;FF)^BuW;nao z*`?N~;@0QTT6rayQtXq;$M!fN9vSVM*x-9zn}#brPbSo@=fRr;^^?d#I}zL^c7%ZX z&Tx!XtGd955L07ypTK(F{QH0hr!;w)@j)La$jc3bTO5c@dv(v@oo6%yBx`Z!2dBGGBnu~&Coh=gl}@=&>J21p9t5%(;3^q6HKtXwE#_ z#ifv3wD>ujwydF+wlrC#-XxL^1M=d!hRyR?QQ0W!Hgi)%`_4%EImL|5NO9`gR^<+> z)a$e(kw~Ng3;tET2W$YAVph9no+A)1v!UG?SZ3di4z1HDunPRyLSL z4|UzxHDnEW(7mYqa-3@LKM6nHaUoEZz~#W%_8F&~Nh*)}JsgcieA*h&_Il~NbRk%mQ!cA9} zV_nQ{g^MVRHqO3Fe^1$fPo1q>-((=X*$8~rI)Ra!JS>Y)Oz;md=tYO-$b}D-obL7h zMHF&;{{+U3IdBPSJw^=eBqm-9moRuY*fD++4$akE_#!}KgK^DAR_SNxIy$Zy_$ftZVSv!~d+*axN!K^0rD76ejMhMGdhssMm zkyOAtb-kVJ073+%4Jb2_&J6%bS>`q#q*VL-So-{r2&Vu;MR-RYcN0)j@1KS`_e39+ zQI9!%3EEN$+|gPzw_L6NXk4P6H?MW45SH>arc-uCKxX1}ax^CwnIKUlOM6dJqo^Wv zkV1V)A{wRzGBskgNW=7$Jq`zMORpr{VrBUTH~4RT5jW*6^dTN}>arW&>y-Q;@fIFV zWU{qM_%*MEYT%&#`VTeP>ycOqmkcdR``+9XH{fmb$#{7H$?g7Z!`O=Al?_;ibo1Gq z-7V|{L;XZ=%CvP{t5!&je;+cXA@_HO}0z6$wxoboB3e+C)uV`MW>ED598k1 ze`v2~VxPHY&JN)K3q*^S!gGLG82bL*~ylXRK85D^eVw&;~ zW#`Yd#??LGZo0Mhnoxz(89Nwy6z~@W?DrCvVDWM^v_jd@zsjc}2_0W$dgS`>)Ux!zbo@T(zv_t#aw4?}LfF%9Z~V++JDB@~{wpfiZd5euXz- z%O~X0{mmN`N~s^qIz|2CLzV1ZR;@L!BH!AA_m2dOPQ>ok>pbGi$- zI{^%r`a_Tma|S^qahh?izel*N)rS?v#En+v)AZ0pg7N8Te!({?}@@T-;4NM~C zD9-g_7?lCtu(@$m^-lErfirhv>QwFC@4=5ZB#R)CkO_Z~gCi+{FTAK)ISBbrq3b#rq~h+{EfOA^7}pgKTYI#zqb9^W*MGurepJF-J(;Zxw%i;L z4bb#s=g`4HUUcO6UFM+t?0=IuXj*)2);gW?$5k!**4oWAq* zW{n)9NNFYrShjFzT$k<5MT`aj$BWO3LSvEgNNx!;Xp9%t8ot}xNn-za+MmLr1mkx0+L+1o1qHPBdwUeoX-yu7o+C)oBRQ^z>&Y7gqd0{C3G|IBQZN@(6JALBx# zdi2<74}Ll>{X|hW_=dwyU&N!sRsfy7m&0 z%5|DFW3+-OB*M~wL%7o6V^Z~3VS}|>_5Qd^d-$IH9v(mUIRP!$;aI(6se-M)Sc?tO z0(Xn52=E;Ub^Y6hs38Bj$28sV4dzyIlh>Gk938X|dZCd`c84^%=f7M_npyVD7a7b6 znD*UNh$4L$AN^Q@2ROE<%xnK>bu3aZq(_!Rz<(zuHBB#G=8_|f6gJ8&X{BSSSaU>B z2K!ivB>#D8jGnkut^sc*QXfpIxfJBHe~?j0)s{_ULC~KY)XeHeq^9vfW+*}L79icF z4l#GkTX%ogd)Xzd{6IEyk8Rt*^Zq2nMQBE!@LPxK7C&)A2{8FG$B<r}FC##m(DVSwJO{j4pE73GBvj z+HZ5Dbj>b73vuu0FW)u}zr{QmtRG(GGhJ8VZg=XIpi~>-<4dDCdS{X?)wEuOGOKCD z#_HcRKF^r|*hcGkh|-GsYvg~muO$+VPZG=zKb?LZ5q~vcvh%rMTkgizN|^}Bs_(aZ zWtlyZh_aL$?WiA@WtqZrK0K<}1H+31${{d6G>Jem#Hf6>4K{0REXCZ3L1=ni+vajT z?m+!y%bd8gf-}0;h_=R0(Its1XxQU}sakPA_%Y@;p1q}i`>BZX+H5H^1%`T+vWse7 z?yI-;&;E;ViM6$UFNFmF^+I<~Y5p3J?wYyej`4n86n?D!Tu^BVJU(wHRj z8E_~8D_l__JY5tCjuQs5;D{W_u?W*(OXldo5F!#6@*@#|8HS|ds_v4&@`T5wJkX9U zaT$|p2IY#9@+Hf2;pcSc{3Q)RQseZBo?Au>lKItpZ_c{g4_n`49S9ls9X?2QfzNrz zJflB>rJ-jz{4MKr@%Rnb%autx?S9PLP}BP)`jdg z5S<~%2lH=<)+wB@z!5Nt8&jrZ7sY3ENb{IBaKrc)d@z3?Ua+yvg$-4fg79|@{s1{* z_d329X=EdEN&g=)`aj(0|NdJ~{xCq|*VurH@bs|j`~F8q$0JTaYo~iJeT|5W632X7 zl(I7v3xvp5EC7~m-l4TxcJDY{LZm$F2+)1iTnA(E({9_nyV{#S$!|IY?=CIp=3tw@ zi3U|NVbF>z2b|-EVlj{jJl_dI=6O?5Boj>wkv|=pLi?e0T+-}?z&wK;XPEc!`in`Ul{HfeGg{oDG2m0PoQS^1SHeLbF z2=AM~1MCIKYw)sV|KUhAaAtNH*4=#|o3q2%MB%VrZXsyh+Z+Kyt$O{{5wsXRQ|8AW zKy9m=VT(KbF>>6hJLrBh9oV?o_YVO^g|{pF`G2pSm@`gbvk3Te3hBe7rMfd=yW=7B z@*&@!)4{OT3!j&G?x8Es1MuPF6r;c{W5;;AN3=;GlC+rV-RU&4UOtSw*(`=a=xy z=1MmD=o2wJr@gEIJxC{E*&8naw}sdI(f?<7b-lav=g=hbh0E z-?gIkHxS=_rf+k3txx~eT%n;TkZ5=E?_R? z+LvsNOPu-Y`Py+W!~oal-m9zm{m@n%jvnTIpR2Lsx{LDQ0EkYE3k7y$&|@)~o>5EB zgOe*!#6@}KR@a2yv#G;-rD66t7`vg(*N#x;Kxj=HK-`f4X-TD@bac>R3G&ZmazM)7 z^m^L0pmm)N@=%%UIvAbVjJJp*<6*`J`=E_Qk373Tmg`K6|Bs%Xn^L|ji~e5ZB)lV@FmSY*)Kwv-{Yx!1~$MeRk8VWf9= z@s^O%#cXGNoy}A&@hTTfps~;~Vr#Ag49eWFUE8FS%g@fSRF(6zrB)|E!Lk2OI@B5j z?)?XQ&-uEg8G3spv_AgZRRxojnRk6v**8$jTHi4M+^ZW`gQn&DW+ri*v@BrQ-CB5Z z&R&Pbr?|E(VuO)d>)4{0^FP4un}hV0W*qRl$mt=<>aa zss?<8>^*{VJ78M)>}x@jEi2r{U*`1FK*0-uzt7)$osRa0|GJFSW$Ji#{2CT52f+ zgOk&lze*Lwk}NmnEot?kzsjJ^ePfKf+PgQg>}h1r>-=)6Xjj0|Wki*NdA$)280#XR zyPvLslgXPccZw1=3~OG7PdG}laVmsBQS9V^5H08Xtx$;#tV9c|AW(j!NcJlnulhJZ z*ecUQk{5OeI1xY9sjOY2slEL%d|wIwDd2UI%(!(=`OB3^#2q$fq&YSB6)PyG3_W~1 zv4uH&lOJxoXq#WYCKwVXQbpln886+t8}xik?}Ee-yuw6U0O&_d9Fi5lq-qTjZPRZL zsz8EVmw94pc@{9E9P@EWb@+u|wuKO8QQQp533AGp&@9{M-qP|N^^ZaWhiA||eTDb2 zUC3iQL~LpfY8cMbk9KQ!oGiyl12$V@aWz!Ts;Zid+0o_^1$p7hWwKnH34FF-pIh4& z18ae2nF?gS;;?@v$#(+Se8woowR*$JmZyLO{`fAnf>zjW!^VXSjXh70OOlvml?yCu zUHVhCw$DDs#S3I*2{Y99!b^?tQEZT1RybVuX65T9%)05)Pg(#R#*vfL2WZ&lk%W@d zHh>*JZx&fjPu}-T5!+B?cC0;6eVjhY(|;6_lewY!I8UmA+k&c2M#aA2zig1sZYS`3 z5is!yDPc|{Zf1XWin%5M9BSeg{fI`Ux(LB7U84iuwC!lq-Netd4_t$F!rdd`;E;WZdox34Kgeqa1_--Ug7V^y?=#R(*`6REy!SHY;WUOm4By|{-c2TE z`?KG?w!!d@cHqKsS#HpB_)lGmoh1&U7y7uy(2(lG=uaj3@oTn%@B2e8385vjS_uu7 z`_2e`T;J#(?Dov)HGj0`9`CsBj^Vg)3dEoJr`!i+bnSHW7oUI713TPvWe!K&^Q-w4 zw~{}@L2=(bo55Hehw@0{;h6G(mEj5s@CS*^cVYr)6In5){ZZVVixhaEV6Q`Y9y}7H00{o1rOPd{Y~Sa#8ynU?cU}yad{RzX$xhkCgxNnC4w``A}#pp6SBX z6qf?p`o#UwI6JS;$kIRh9=30KkixV#@2ge8dGPZiC*QPWO`TPu@hR(CPVE^7LKx%t zuDzk8w=qBd9_N94s|Nh^xaZ!o^w+qX?F&B-fAvG8<8F?87$mc#JeRbNxb*$=@V};j z7;%y4v_`(850jX_ZI4;*kPRCo(~J6O{Yu23_JC=PgDhXd55MJThvgBt_79J2?=J1(J}C1B_0%jWKl zRK0cqnw~p>AsOa%6xh;Rxrk^`toSnrN*v#>F^_7D3Vv%&FU2Is3bQXak3$U(WPIBe z>XS!Th$K>pw?Am`!yE0Jn+*p~#IcZ9MRCkY5-@A2nj>N4?JhV|0{04gp5n)|-}@nogG}w{ns6Fy&9T`Rfd1L9o(Usvgybt|mgT>q7Yv1*>njw#)Qc1-xs|qLH`- z4IDZ=^3wVu$3usiyLVb%`%mLtrvEq)WLV$P z_3^L{F`HSQvHHEgU&gr}I(Hi4&MRYcAP>h7P&xS5PnqS`Y;2L{j1f$&)NHJ?AHv(l zDC6Kcw_Xx;+^-QsNO+-A8wgDP=xRR7tUH*9GDebHltoz@3!QID>E@XCiPS*Z?x5qGSB=^SElxfBKQ%9+yK;D&(E3zZCX(x5N@KK`!*G0Xhp; zqcJ^L#+|yQg(Mr)%^V!ohY^6hf~p$(_#<NpEEpbT=lZOM*<)iX^G3WLbupt4+SKXA`zhrjKn3_A*D-0T=Tr|cA`n1OUtbIGD8rk7BV zT74J#aRO_CaC?amR4C?150|9Jgq^yMet$j$=L_oL``;eF^`-cprv{!??>^cuFK(7X zh(M)6n}+0!5<8`cF-*5x&48R{klE?ik4{jKUF%hubGK8S=)n!LXJy6$JVhCAq75fw zHw9z#&Dq_9Wt21d#o|cjmV275>7E}$FD*r9zGfDiH-^#VhkOBb=Zc-=p5xoV8XJ7U z8z?<}ch6D|J=Q4lV;k+l0&H_XS%ja_ zqQ?yOalER`+J!oAUC;gs20Q)V^0Gt6ZC!p%@KLc2S+{pTjycyglH}-|~0oFt*D42DXME z4oU~RqW!Wymo$`d?~H^=E|)OJSM2pUQlfO>424RYN$tXb-66qMyrSA%Z5 zaTLe(45LDuIp@!ZJZ`3@P1rP8in4w?CSu+1VomR%BH!bDMd+|U5&wv+&Pw|zRIv`n zao6&;^9iDz5U*x?uiwvEL}#ST3l#l}wKLc{M*cg&j+b^0#t5{fH_u1WOK+t==#oJ5 z3h(9O1k{dX(}*%Kvm#tbQ|41!Md?S2Qf?n&J81tm$uTQhC>D?@$02-L+p46ce}>&}{sXK!4q zf1k~8@#PI)CTuLPq3Jwb5XmN3bu$kb!K_%z>noElwzT14mV8JnlOOQGt8mrkS~l8B zBkWAW=$h3~b(#A_m(S6)4IYe!W zGJ|$RheFspuA}MCrhcgLFW&E>%lMZzA@JLBocKm;)n9TaJJSd~9ucyCr}#qn5=UNI zVug>}Nh?;d>TeQ>4MIDj2X3V*0^={FTc#Vw@v@9w4NakcCu%GSnhvu0ZR)0&#c)~x z^4wH|MIO^NY}h@!tl$V?v^DoEF(kihqM_7FUv(__`08ObT~lEB)S{_$4gAG$jS=!>?@=Y}tdyYqPH0kp|$Rfxj+`@ger{LwyV@gJ|7!B~Y6Z~uYJC#Af5v=PPVzXLU>aLfB8FQUKa{dyDn1`m%8s_pT-;0cB*IX^2CI2>! zWbDur(I;m;Gh&S*Zyu*%xJ~H%CWkSmYSbG3t|mG_8l8BXuwHB@s@HYrNVMDFV`-OcB(62cjeSw*XjFXoP+T{VwOT3=tLeq*tU?>fLn zoGjN~qlJK`eygazHd#~(R{??eTN8(LObJ6Zsq3;v4L4onl-MZ?=OM}Nly7=(mrT#9 zdr=zoK1&;*89s@-b#fkzk-oYR=)N9gcOj;uBdDp#*wM^>oq}|S8R`4Z@gZ|#;VcG? zBSLW~FSWiv83nPSIcyZhhG04Ca`}zCa?fo;eYp0uwgQB>k@D z%3U;&@T-fOcqx_0OYlqU?V)Z=V?;{vY^Zu3)i_?hEwKjrc>8wuAmI`dxl3Ej+1+j} zhiAh5Q($B>W6ecQAu|YSc;cMO|33ToeO$6<&4=YW36#0M?>J1vIlrdL_K&NG+qzU~ z)?WI~I;qL`g|spN8;);XH!f}Us75zg?~p{-)!G&5FAG1Lrqs~c{j5h`BgPIXX(%x! zB$ck*fWeE`*R;J-V4KvE~UR9R%-4zZ?bFJ6!2x1V>vYsHPx0?2`U!Hbc_j3 z?&4J|X|&f}pSN3keCwf1u~mzcIZQ7qTx@#Sb?${03zh=m8=njvJVA@X4*@mm z9iA1oLbR+5>vn(PhuKA;c>gjh_YzTXn>s;36UZ@p$1SSz0I@avLp9DFxsF2>k^$YB zfzulg<*>dhz9Uk4qWD(^7O$IX`W~cRvJQ zi~^OVudGZrogusdgmDd8QWiqrUHalEUcmmB_TDL`@Jdyiw$gDmj{-al^;WL1fi|;Naw! zP$Z1zy$_tokJ2q6>YjBM{2+6h44&@yS}J%&l@4Q4WcJ}<3K@xx_szx*j=mrkDV2O# zM_97T*a>}F#wPogI`~EUX7Hbl)PW`eFfe|Jdx7}G(|;kGN1#t!I@qcrzA1?$$Czg%s;40{ zKUw0`-o+wu2sP+(YLDr`zPy|}-w4|&UFED>W*wG&dz`ydJYB5 z1N=4*5vFJ%h=4w?&-@opVlTT;3N?N&7>lu97U6H}?a$=QscIDa z`oO(1MEC1Ml|;|%v)e%quOK+I$B)X4C}->pB%loXla(KfiL8x5yuYX&tu*+hy9X3F zg(?^(u!+$&6Pku%o0GRjpJpw{7>oAW+$`S~Eqr2}pWFRYLfz zrfOfyA+{@UlEi*$AGk7ow_nzbiQ0YnFS0KCs-v>m7@B_65j?fSrM z&|Ha{HN=CILtl)WvkTwBb~-2Ry1g}nV1$~U3wU}Ed`ScKb$E|{LBZ1cCXtem3YaS*_TZZ66HdMqgf<+2mCZ-oLc~sy8O$%X2tS?R#!!WtfuYQDBG0Ac`O#g>LM&R-Qo9a)0$h^g+d)f|>?}zVLq7n2sPFYh22J3{JiDdTd zI}Ii)&ZX^SkFL4jK4@`EtE1uS(zA&aQ1!nne}eTY+s+bMJWAj-YMIJ8mS=^?hLrbw z%vd*3KuL6B?F%BiCv?3Vj}kO$WMr=APcelz*=pHY@*A9)P04Y11pD?Z{4qZ}S?9ab z+r{pk2J`y+02(phjry5VdF?gXTVtLjG(`PBWnI{V>y3EFlRF{d2=MU@Ufo9VJe73R z2)4_levrx^!mNtIWcij``OWR9WisQQG=imffUFq#e_f9t`hy;5JT;34m zY)oJojIed!oBytr`jN7xgT>`XQZzO|2kjFjYRX<^qwX#y3_mBb@xMhk$UCsWHz@=+ z%JafjERYy@&=u}eI|cF6Tg4OXe-QW5N}e737NwtH?ffG6eM0r_Fi1kY1T^UIS~u?A z&dPw}0ks)l;=>B+$oyqQ#~t+3UdkwJX8+qB{T1(RP`L{$J(q*hxsO}n=15XHD6g!T z&MIPjoszdDwWta&1LGO?JC$bHrk-mPQd`%SM=!(lZ}nHZPOVg^De}CD>@rzTV_;~} zgkpPw3KihWR9g3y7F-z*{AAZU5?Zq~=0`AzXpfPrDCP)oQkvj;y6U@;Ma$kKua=M` zcHRE=JZn1Gv+&tPaoqDbe-&zA&Fhr(W-1Y614bLBcvNGG&yJ^Y73%I(#SDS-f)V0e zD6)CIlJhiPCWi;ZIDKCj9E~%wDqa|?G(0Z;`jk>?-x$#gKTE9<1NnY5L4E6w=|vPy zdhrmNP-c6q%q$@?gF~}G>J&MY#QL|1F?0$E0xASzbb;whjR&ZEl9JAU=iQ-_()u@B zh{a$8_cR5hhtES~Qa(&Zc4G{U@PNjREii_Q7;Bn)8juIDt#-m+E-6L)CotOej7wz4 z6CAj(1n5|o1xhQNdQyn1(xil@HCy_e`96*5zC3)jk@V(>!_`hPa4?PuT@RCdiX~+n z5Zz)#O+62Ld)mj*>~=+Mp8woU1@CF5=cZJ<+A97JZWtPM4(S|k4IW-g3dy~6p=&*y z4lt_6sSUGg@dyJ7&wZ`ZLGzvKJ#Ot6K_dqZ)RtoywdW({&&=F{GG3T7g{i&RA5UNR zH;S{}+jjFIo2Uj4;yWyyZa-t`#a9Cz=eC+QfbKHF7ALjaHD*UhHCyr<*AAAwQh<8X zse`0Mi<&KX=K((Q6I>(xFB$pW8lsEcv?0QxO_w;a_(>Md*Vfkaw>H$OdNwDvALZ ziAfB;h8|wmq0F>_Wy{-3W+23~x?d(RgC$aaq;at(T>9{+0r`1NeVGx~TzFU(C9%lG zEHxH`x!DrYa~S9s*x{LBlkiff3f)XC=V_sMq%IYelL5pyACKp_^}mWVXH(;2bXo{{ zLWRI?J{Dvb5@4KmC%{)dBk&)=O*1Nfr%+EJEkI30I(PgUr80jJ=DH|k8O7us`tYU1M5dB3d3%0)%vFPR zQ@`f}cJcyrdlhu@cn)5qDW2r!Z{J%$R6zq=%Z7jKUtXr(F#g!!c9WF&aL~9MZ%aj` z0CV>@_R3m~iDU=3M4O4Tg~u;{6ofuCxXk;wkm_H+VQ!N>7Cb!v5p3z-aw2OLrRvtr zDMz*$UH1NG7u5W5jD%Y7tcTsQRx4$ECcK25WnLumw~z~jarRD^+?via8AXR{dyn9S2-{4f=^1^E**kc9U;5FGB-`u?SeM|DPpmN zE?@wzMSedcs(zMCW*DOg3~zw=x@qvHC_lC->ZeRQ!uI)8g? zm4>s~i7|>vu;`Y%KK((jBIModYsbmIw)veXG0^9*V-o&4gxO}-&C}&07INqJsL#mo z2D)?PUpoASUlvL3!8+~gG-A2#b_BPch7xRfA=zdrezKX52}WLhkQE|&)VCdieScNK z`(;a4k`o+X9xdVd?YUc4f0+{F)<(Ng)w72%f7|WOIf#zBtq`L!sbEf3820;E@%9^^ zDao9WB0u-_(&@K6PuTcvM}GtT1X7E1is-lq5DAb91DpT?u$sA-v5VgPiOE>su^z!^ zs!{lB{86j;sIgxWZp%9&cqE%NN2( z{sdML1s0!}+|^LLggVcfqk}$9>6Bw&=(76l>p8JL zNJd)cXb#56pc;ApC04^!F_DKPfgNrUl$^iHcoQBl{$cN~Qy<&zBkUUo6cZ9h1{;4! z6BP&(i2j%%&d(>i4#WBuqwb@^k7^;Yz88^y5%{aJFwUC)8UG*A{tpBF!;UvB&| z;WwBI9r@Hg*_ze-yvst7N9AIja|-cOzZbItBaPw0K0#6<XRC#}m0;C3AXjO0hja<{&wXSNA1_TRni-RBoy-lx9E_X};OkP*yx zO2%T`_o}6|EuNx5{9>1W=qUSMhFoz!5Pht9m|v?)cDiO1<-qeEW6>VF?xZ`e08DVC zq;Y4N&m|EN2>MxJOW`B-&~yvXA(p4VOvNPB&*H`Gnn&a&4(nfN(&Eqsm|4qsDQFeV z@%3P|P`Pgwi`UB7I^+M@k?kQZ@jlMVE&DH&$>6>?$Fog~^W;du{`3ZXvJmSaUs=z) zgHz(mLYRg0WHB(X+8HOOy7e#-f{b+|e_L5;E`Onf#)QSH!eP77DjERxN=449nG45w zQ+*DqW!gwgoX(3Gna_QCzQ%+}L`7r}uMfBeL$+>0VGb8W+89-ZWSwlaoIOs@_?;T` z8Uinnp_krYkQjdSMrPRnAcy#zZlFP*;v*t<}nv8RNlo~{VrMX+-Xh%V`hhIZoj>tlS@g< z14CnXOrdc}B6E@;A%?z%OZxb6Vht^t)F`56nqAtwaNX;0l3uxEw`>K{aJV~MyTNFA`obz`D3SQ$3fnY_O`tF~ktm-&56(ZC9?I2q6vW7WEfxIl%}YeZ z{F}q|pnebG8(Rjy-+}!I)Fm3an)!z>6hD?}prqpIfC<-la?{{iHly95J&p&k!S2c# z@*-~cEmrnzmyihz@Cz>TEn(uY1B+qkYjBV7XRD1!x>Y1yX-*R4oidmB{z&o0WH!=F z{<%PY;JiTf25YAMock#keN7O0$aSDp{Ic~4)%dFU_@wHf@P*R zz6a|bLNkxl%L*m=MWax@hdR7&8AizB*^z zm|PRicbPAuq76eUnFre14l2Nfe0RoLr_SHslV;$)%Km(V7Y= zFKepk;euZ<(pAZ(o&tT4s>v$JCn|guVDo*nO(4;JPd$$SxHP_IOJxNNY^?TA!@hFM zyVgd$5Mo7M{VIww-M5=2KP%>4bheovEP-Z{GcmpTvN%#0qQ3nrYFXOK+E~{D3uR1`elDKn3Rl7Eb`d;q{m@V(&n{5 zuZkG+v86C?1Q~NNN_4QVuJ2^66Dqw^4AOa)V&4i|Uj^t1zjkt1=OUlTs=Er7{}taM zZeYH~CUgGF$M(Iraj9Pg`M%X$GOK_L*Xb`jEi_hVIbqJF8cI?TI)_C;S!-vq@Y(ct&Kvi%@zGS*F~xqOTwrH9vo=0k z5$3<52U3cwUKKLtFLOIc8){Ot8$HKCk@yiFpX2m8>fgpsl$BP-#bHoJ3*?~ir0aTl z5ew+M5$u*ZHPVbnZ5XY(W74s)kC!TJ@pE|BVGQ~(Gg6uRdZU2)h z&T*f&P?d~uzSa$z_gNd07rylU@CO?%55hOmyq!x5^9SuFQp$&qf5P1keFa#_z$c@* zOM*q`%c9;|~}bB(Ux*mAzlaJ)!KQ3E&@lFy5ckW{2Z>2B$ejsa=ukRgZn@L%7>d-JV#EiSm3nRE6&vG*^Y2g^JH z_cwvA^?L~=__pr(v25H#r(P-X^WE-H_23KnYagb$!x*{`pE8(%JN&JVQYsLQ`ho2m zZCyc)ki1j_M_TID$k1WYtNc!USB{ZAzWPuJD0ps?FP?*%q}F!s^5*bs_8e)~4@Ty% zv?xRm<8O%=!IyP#0~_?T@a2^t!?=OVMyMX92lu3KOU2vBT8FO9!;m>S^LY zY=6DSGZ&IF5M|MGPK$q*Y&K^aJ#?ALI4)cN`S zmz>vuU!+~H^3AmDy8fvIQGJQULi(;y+4{SwOUK2U-A-7Jg{3+lt~}hV%};P{W<=9T*VR(KWEFTIX55qmC^hL`6NJ` zT+_7eF<$f8tw!4;V$wDgCS6zexgREX3CCLZ5@f^*CG2$o4L+Ptfh4sTA&DIkQTz7I zRh6k{?Mmh*hCdVzn;gxwvtnDDRg%G$alRFY{t6K|YPQX{J@fLv=Y~9(0&5*`bK1t8 zUAr0f-&@4q@ao;u%6q?rb}ksiTMw~*$6f-i=frZ(cCHYZF|A!b&*xPNLnZW~Zzc7P z85uT~a}a0oT{RCYu=>=9l^r?%r(#%Z0y9^b$5&>;$d#$X6o@&gFhkbYl*<-iIX0S- zJ#)~nV+}-zKlSn}1&HvaBNK2(d3+apH6`7rPKKEOuboIQ`oW&Y$Kz*?jFYXWd=52u zA*#hZaQ1}r(xs2mZLD{ikrurV=l?``OhCWmsM0Q*fw#n{ zSPI=5$)zFC1wUF;vW0o3K~nh`Yh7u;z`%|C9P@xcg%T zo~xP4EoB3rL*nf5$w?f3Sx2dg9asxgayP||5XGtpp?DhHyV>*QGG1Q3L!rc;nlLh+ z7LwnTKNq-BTc4|a>DIrLB<40TGZ-+#%V={E&K)H?xK}73!hX{5;nU zakj#N<1c-;KA<*9q$T1x^>cD6j8y`o1i7zK!QsZ?9btLshdLD_@!o64I0A1zU$Xls z-BYBlMLuu7?>;%puY&}u`dta~MT15PGL580#{eQEF}KvdkQ)QDjkXdO5D&@0%5pb; zl(ug%FVcGG9k46psu;^tl!A(d9@xGG(((7#xc} ziIMW4zCu8#>e;;bThJMC^6Vka0>pIY*pCl@Huc`Pn$DJZrDa5yBVp{U3@A;A|MKr6TuZkH3EVa!IYyO&&i6LVc2%*(0ExSe@ZuzGqnTcmOYCfLA zdCALT9^#xX?0ohU;x&|R-bix$fmgM8{gL4!QE9Z@GlKISapE=acWXdjHC(jNDXUze zk&>g}T*82juVV^_0CP{3l>b$3#iS1^Iag!Fq#5%=+kC%&)}d#HIZR>`xl7hKGP|W% z#7|9p^$n|pCc}odGsC!qW~C+lD_tz-CwCYVZaXOzlNt-_zdU7&4RaNUTDZJiM6y-Qx--$4OoXt>aNpM|8*Df7*QC?k+Cb_TYC z&@z$?AbC7)^*~)N&L=cM#TC1f48;D|+ekFtvSBCrJ6chN#BUljER?a}3r!hIeNwv! zQTJj;`MaNQyHO}n{j5xrW~cN)7f95PeuXQKGb$&^1immq@>79RM!l*pLf!$GKq8~X z$LSfq_e^W26PxKqD!CY?qNUCZ#Ue3{DTpydo%$`<_bsO3;g7I;x%U3e+RTN*J$7KD zxU2jj4DvBEQ$ENcv*mUl$QgCZ0l;OF*8ZGsQMjMwB#!-IV`{hC#Jnus+Q#O90k=Bl z&7V;NvQl4L3#l3Bq0;IJHg#_GPA};x@66Z-Ncn=Gm|JZbO~%`yK!?+@ohQw}z`uLSEfwLANaM#^$QVr}F~bCJFP4ty{K{-e zbmcKCrkz%$I!S-+Hqi`NfQ`c>Z{&o3ie%3Ajxz!)Rq$U*a>}#5bkO#{y$1h6&UXvQ z(A|;_Sm&OH(m6dHGVS&xXc*mXawvvyFv%wD>EnHxvkX))hR0L8-@B>`OKT?(dVF~@ zC*M7kUgtxO6sZtlKYqoIN7GeU8t1_6rX~#z3&_Qw}>Yhxv)guWHjRi3UNa zk;B-+Z;hoZE6Ps2+^q&OK7~pxwGGXNhF9kHt!N2c@hdG=C;D8pAI0mvb7!j?@ixWx zqcoO$z``wgTOMlFZmT-#<{1&DwUC)8e)aX*(kmh?MH$PG94mjy(XM-5;+Txi^Q&;P zFO`69epx@a7g&LFSDofuRD^lMP@A_ny;U~A{2jam)-j-m~`^c4z|4@KH%N^ zz44ikG)K@eICN6ZyX$!ty!{mIplR*e8I<|YV!QRy@DO<)4H?h2*bslg+0h36u1M_0 zKbW20jR-N$mgKLf+ha6jz-kS(`I=)LlShGbPw!UyR=tL&2D!p-sv>nfr_n>fNu%4` z8zFqKQe+UEaT|urnsQX{^{Q<9wNK?3TUEHmcH8eC#%0wt^)V^_#G(&&_L_2|MwdwY z54t!Mmtz{3CR9TOx6`QY-Vz@Lmdm6^ueJ4fwT2+pjEz*5w{xVsGD9)J(a5T)H;=|! z6&(q;Z;4TT6}ShVcIXfs{^NG=1JJ*=qBHvl<<#v^_{AZ`Jg5Tp+$;+%K`oY6HDMAvq2R`|>jg~#S;+E6 zv%eWjvFvL^jMI05k1Ywzdfg|&`|Y}jW|h7-m5>ble&*4MnR%c0p_+-#i>JV})9r%O z-koLs+=Ozv2w$o|{J_;50sYAZ2vd*a8mv|+-IpEX^~fR@t- za@PzdL0H>M&zjA#v;=>q>JeWviXOwyv6Q4Xjq6cE#bfK|HR+h-Bt>=jRePd4<~8Vz zk=JSo@j5$GqML-98v=(GbI!10wwPFpQrzl>+(iw|&&5pg>THC{RF;0g{Q$UMf)Ic% z9|y1lw*XW%c7&u+c;!2MWD1l1;0oUM)NzWXSSuy?-tbEg=}ZpslFuYeDtEh-!M&?3 zMfwjq)fQBG)PeB*dc@jc{i#iB($M;5NObPbkd;2163pGT2|2j8G}UWr@OvkIg8 zBTUY-?#3b(zRXW=&U}T=Khy`tr>^qA->rayPhIj-gGnV zd)RT}_4+#YLCi!$F3g*Mvzb#;0uU}L!6BE<#M*g=J?tC=Bx)K zMuK%IX;7Bnm9Mq!77BRl+WZ<`?(YC>tp`@;8i-4@RgbHrtPp*{s244 zwo48&TxCc*8W}H!hW6}cGYu>4&j`H98~`WH0ysoBTNKbUS5B_ExyrB-!6J`fdHz)- zpiynjwn)I{i&m7rjo(<^@(y<({hhjx*YJ>;znV@#(ubN-k=i_w)cj+TZrZK)h?_*W z3Z*mGLNn^*sora&&8Fyk@LgJ3akG@i{LGABMJ@`&Mb{OBPPQr}alQ6gMEvV+pGI7| z`oBa!)>g`HEsn@MZUx_WrGsvYcx}piabCL)8T_j^CZkwYHT^7_kXS0!NHc7K(!}(3 zSU7GvAQO}oQ8ctZiMFl$eJ;6fN{_)bux14V#>yg}Ls@0m&CK{c7YcDJx{3(H2!~`m zo|d)_(UItiDH~95W)>c-%V7n+!UxQ84NSKuv@^!v^;?b_*uBgh18k3oK!_xPUJ$!8 zUnh;B?Ox$`!SpIxi)m%CWS={~#QHlHe3g1n1_N&tn>wtG&h{oB<>WAs zd1yE-h3{dl&2pUh&5B%|WyO;isZ2gEs% zNo)MePrB?#Jv0SehqffjK6*MC^3%=j%%pUy%J6n!aKE0FPRNNI6p;8#x0U~Sw2skP z1={LuCNyK(!v&umxXo#kx}MeX-W(mnaFsx$L3QMs64?724f`&KV(FM0L4qJuQl?rt zGQ*^{{efoQe+bc;y~;MnN=Zdz}_V=0d?wZC5%C0b+dE$;m&WFvu#_k^o*qYAeTNGwADs zUEJO^hm8kzOXqgJTXIfZ=%RPYedZP_s?Vq&xTP+uGjYBPNgZmwv*w7^ zvIwr6Gmd=iY3pqM*wQck)wLJB+kemyIpzgBZw7(Yy$W1*6)Xh%RNyF^F*d-njj{nc z2f#+#nSuO4litP~fU-T+*wE%Mgbr2na@&toV8ZDQ!`^T-PVE^JuL?LHat%!ao`p{+ z{k((PB6Rf%eNnxcgsrdu&n~mO{dNDHGx^$0(h^+1AR14nQz30GjioVjbsxJl{2G=Q<@Q*yXK@c*ms~eH zyvtMnWSA$JLU@MPu5Ts8qjn)Rt4Ua=Xi6z)!s~w>-$)bT{;`ICXnyI4q6CEhmkiZp zuJ4|*i9n%B>V-*)jTm7~T*yF)@#~`f+3mF;M#X}a$eWCRLz)MT=o(Bp@IhB85`R?E z4gUyMB(PrEF;$L9$-Obsb*m=9UW?W-+8arMrgaK4(pN;zE5NW{RFb<)) zn^h>|_RK%u59jtIQGQLe-3Ie4qkp2up(C_vl@CWb4z`P7hh5Qq{6a#4rJ_bY^LKl! zB5??ZPmYpLjoh=X*^ldHets?cZ!+E^W^Ce^u`;yo=jkFpJT|ZF2bOGJ^_(fJ@d|!U`Rd$mOd9*GC7aFK9UnV8o)dE^P zCzVJ0F#g>`D<1AFzpLb8w`Gjaa3%T2{R>EMJJ*Zap-`GP9suzP?7!V(y%BVN=cX%$ z%=?rTITg_z`W(p6T>Ik>30U@5RrV*TTq{SiP5y&Q_8SqjPy3&|5|ZUO#5a9^v0+C% zwHzNqQjH!gcDxIiX#)Yg$Ap_s+~*M`48CfLz$V34ERR0;qxOJ4fyUDg!#U~KL^1BO zfA4fLUTtQH2d>pH7_zAR|7YLukONq&TL}Tb~#Xd|mcwfOQ zRM!-QxgUF#n6UZ*zCGZTWdtrSca5zGA6wxC-gboDTbAeozNRCYBzy03SlONepCM?B zS84ON{#vA=TD$llN@1+PJkankTqr20GMdFMC~0?`u=a0>*-W7{NL9~Dold}$y3*+j zFW22FT;Wywz=DGZte&|ry6SE3udamLt#>O!l>ksU9o}{ zc)_)NW{Dqsr{^6`HktnU^D7!$p9Q`r?RsA#+aMF$UpS$vKdgMMvE1009SXaCz^5=3 z6`%@l2dvrk2>s=K_=uxF)?06f)vQ@l881cFh>S03!XEb>#aS%6v#E`L40%@+Qgc6| zvX9gt$W3_r8UsB3Td*8(CD1UFhqKs~7-ntKKCJ47pVK+#HD*Wmte9M__@&$6%&X0F z30X*_=PScMy@8<~GTJJXs+Rk1q}XYyLsO}$X;o#Ki&;k7=vn=AxUDR>b?*Q&LD!BT zjh5%68Cx;?n(*he*PauVx$i&!{VtZ7z8NHbXCJojmGZI5q7uoJ{R{rF<3@132Y(lU zV0_0ziQwmZrgX-~hE|#G)~Vyd7>r(Gq(!(}j0l>L)nU?#ck%|C)h&E zwj^H-iZ5gXY;f!MaR16Ruzck)a82CDK5CL$E6nxd=xo;bQ$a8!eg*&^e!G}_qXPKJ zqAw;x{*~sbLubkG2O4S%-~F|HW5MB0k8doaAxa?m*RfcPiU)RS1)SfGb5Hpx%aMb2 zNVWxOI$BDvVNv-0R+te9L+|XL`H#@*X@MMh0G4GQpT$_z7XgKh1=CWNQ3TQ-SN(e< zlgdmsA%QklQyo2C@st9acU*s01|{Ed2lzqT|M(xX*n0goPCf_;`N_epbT(T8%)i2@ zyC+iJI)M36%7Jw3rnmoaU(0m|Fbm2bljJcrqOYlREvcon32kP~p{}gDo{=4s#_Tdc zkmUO#4Atf?QZnUf2V+CCmA_574I&?(NFmiWW&9yhL|kS6e&jWzN-sI{v^i^Hre2re zb%@p#nPB(e$ORZvc9bWe>-6oU?bvz0gQ#={JeoL-x@gigoa! zGH6@O+N#d*uMscCa+uO;VHgw~F_VNI@jMAw%ddYZy)a!UMznm(6JD0G{iO68ifdPt zk*;5SPtdTA`w1g>?ecBEPU%M@)9?oZa*LH}O>MnYEB`$K)_z-QNdN`#_7@9>>Tx3C z?33l0h)B(NjFl3Z(ZIT0PfekUa!V7;2kBvf1}(^M%qr*Dk9o*9+QsQFlY65DO|7(y zFX2>Te}8C)qSW8ej#J{=21xJ=xQ21dZal$1;bHc}B4tw%Vr!)1YuND9Le|c{)hSky z-4gX_t%v*9skmnLp$J7FJ11N+N)u z!=3`#_+wiPlfa~2B?#HJwWHj#qUb<<@DXUGtzu zmAL#VL=JwqLyHlQmf4?4oN5PCtv(D`MI|2w1WvvmemxkTXap%bQh@z+TK9_CsbGoo z+ze6E;8W-#zw-jStkr>yGTH(EtK!-?(FIi6kv{ZXqM)&Fm^90)wgD+5-X9xix>+Qh zUmRG&J?w}NrfRM=+khq}w98w<5KvSU_gfb!$I$$7SHSl!|T3Dkn$RSXZz`c76Dhk1Svl*QHzzMmrFr7EQi}}0AyrbRNhd5 z=}aDM_*1Ae0 zTz>U3I`BO;c&sn~^p%h)uCoHzoBt(`%|IOfEK1gM_9S-lLdP-*!OB1l_M8%2l_y{S zh8numitC51B(94PCJw1;_x7wnA~`QQKJT&kb2j6)1Q~SF?ny))7bqmUIT7S&YgUx< zb9dT?6>NX}h8O(>xB#x+CtsTWGZ1A}xw!afd%Hs0~}F$S!&*^${#{KW8qs*0jqKFkIwX__kQOOKO4T|00*if zNQ3AyP6IcLO&{TolHeY7WZQ9ihkGFD?m~|kz1=3T?OO2V16jBwoEPW&R;Y~NTAD6p6mXZ$!jFh~1hstJ5M;pfXMthbi zn_RKcDhVAybR-bUq(IptSQELxko;GLH{@(1AxByG<@jwGcHsRQU z+;H_{izjTtm(aDKmwspQY3LHqc~+)3@F*7d@qXBuunS>P62YjuX`76st4V;n{!Al( zL<}j zB_fuy8R3(T7-ur!tFR`xqhg-bF4(;*s7Zlgk4NQQZ&T&{a~h2j`$r;%AC0Dq)`=C| zVj<`x%8p29^Y`?<4r$CjYJ1`$C6al!#SdKfYA1oypSKV0k7Q^P4+W>4t@Wa}Up~Eh zhr?armkLm=3>Z?DEnPlS4I@5?xmL`GMS=ue27BvZSsvgILW{W#p&oVNPxO4mU+{>j z!i(W$==-cMWSFD!# zoFK=s+hJOU;4e<=SHj)>L60@@Bo+K!=4$VG=la70rdUV+gpN1O{D@Kl@r9kHunIEW zW;D^9Vj)q(Z`pF!4)XO?dc6lzFMKwKJP{8V;S5u4cNV9HSmmpW-eRLZg%^9&*eSa= zV^Ih?`p29p3U6i%BGW8Rrvi7crFLnl{tvw}U|ut{0w1u^z(p`X|t{I0^}*_q30B5Ti}pTew+ zg);@-3#2yV(HjxyNF4I+*b5UX{0ct25@4yNg}W7JgvY-WdyI1Lv);C+Nh`&gv44E>2i7wk)Q1wH z=ya`iF#?CIafqbFbyavGE#^~Ptn_N5h~0ea!B;ik1OENoyGsg#(t#o}9`6?2Tv}?w*pT6O)BAhU2gu-m+ zlriX|8s6HlD0moeIJ&z)`n=E(+GcmE2$;SzGIzEs$1tA~Fp;N#81bBr?WfoI4RipF z%q38g66x%4>1wZZ_Nij$;A(%=$t*};Y*DcXH<0X1v2DtE>sCs_-|gqWCvV(F{>!_y#Eh#w$Yq4`gq{T9q@eWVP6C<$Y=eUUjFoKmc}3-p^C~5 zY1mQ`#T}DVw01oCB~h5cqZ|e+e<8e`!a}0Z92xD%zT0WEAq?F_us<(ApRdWu+jpDT z6``Yf#&z%+jo|s5-?H3|jthRtC+cHy?4S==|Ff)erH-#&ng9 z8j;jP=@BG-ar5%CHcv~0yEbr_c}Z;UqhV08dF^EB?hfiyq;u^FU@1=C?lI(*R-a5v zVLBHZacen!lnPjYM-E1H^1JjOC*f9VA{hGGHxw0_@3e&7>=;9g^qb=tN-U!G=RPv9 zaCDzuUsk#|&~sZ^jU3FFvg$;W_$6R^eSN6M5dXIS{5^4$u!r;F8odo~AX0xiZx<~R z*xtWCet_^M9L5XJ*albl^p;iQ9wUmqv)f=`<2Y`MEOq4|pN(@UkXWKJ>HrQQsC8yk|mMtC@3GYPCenL3+hEWcyW0n@Xiba!xpwdMaV_vBf57yxmHtlS4gUuEh z-iBg$_yb1(=Vju-Ye@HZ1+5xov$Z%{8!FjfGrGG(x8#;6q;~Yw)hsN)EA?dtQ#3S5hY`_-nII)I? z`eA8UK=O)UR}=O-v935|6_il~J1jCiRFQ4?9WA1F`1T5a~ z4w13(!iLi%*|n~k1c8_HmNlS1=d#5~VgRQlg>@fsn%gyHtu0%NwRSEo2P2nx?*LfO zaAVmnM`QYdFd!Lq!W?|bysEARsJ>|giA2*;J0a}7PeJ}cu^}F9q|LMbM|50WCgtRZ z#%jmvz%D?jNBcrYfd>7Oyl!m&9&Nqvj~`H$LlX{p&-;WLXBPZ~AhHUAY(~iO$(aDU zXuXz2-~0#DgIpOcrB%e;*63;+Av}<1oc`U&v z6^V13FuKtfOx|Ad^K;OCqkHmFM>DoX;rR~3NPW1)aQXv{T0-*N4zJLQMYsDEPg+qe z!r=jSTV$rxOP>~8#;v2-mj?{`0s`yX_s&b_3CunlZLK_o9V-4;$cfsV^IpE~T#p+A zQ6D$mG_MX;s0r>39-Hhx5gG^pKJVE}YYz!Zwm3R?jE8Y8@#40ar;8FlAgq;GB z9K{IRXFx78h$2ggp~S5B)qgjXPQrTilfYX6q#0Fk%!j;?AB9weS46~EN&IGhV>)<4 zP=xRCt?}fVu#_5mpv~e^=(tvYu(ryoP=D0Z45NA8ewX(3Y2X(YR2*gHO5Rnq(Jrjn zpG|+W)=o-Ag6O~Sjx8(|5}Q0uhL>Qc4ot%4t`iO`WRCAm?gC?t``&b3PM@9Z%*NAp z(Q9k{$`Kk_?VB-7m1%)6j=KpYn~W!G0=UZYB6PF%6{WaC%=^6e#xYL~20a=m*}c13 zHc|7WxfcT(n1smP{>2dC_sgehkTb)0gl)p@>Ntoy0STGs^<3qbj2=eXvg-`|HZk_V z7oUue4^$p#kELD1@+6jxaNV=(U#z2Q^@=V5TJ%gh6m)L0LoRY_P(gOqU*OC9B$%zR zXah+Mnd156WUuMO3<~YGB~S#R{}}iaGq}7BnrJOc#)uI}KgW+Z4ytJGmT@4d)py;V zDkaf+HdiN>g|PM>DWq&EsX*`@^UkmZ5_fG=zKmlJqwQYH7%>t%#CRqk-uL^(bmj6`tS-kILrVUdOfaiS;Ugo0SLjVO>&Q*QH)T*+#j+-mR z2sMX#*WNp|%&!%|Fvm?@Ud-7%V-=~+FMV4;&flNdO%;?>0|5;{R8*CuXOe3En3ZBC z#`Zq(sN6s#OJnL&!7qXzBnrG@^ACSEeC`xR%E{zb+ZW6D<_UlI)!+#hk(qFoZy9gt zg?uQDQi5Mg=(dRIa2dzlYT#<*KKjS|qIg%{YC}Vw=T+EQdv*L(OxD)=3znwCaGR3( zR2!l2&{tG|Mj+PsF8?Mmf#F9M_KlP%;zRp^LN7;hEpoVoJ1Q!lt2kV^cTo{>`Sq$I zOG~Q-r1Pdw^tdIb$}L7~T=4652Ce5s@&mUVsV)QZ5j*L|Q0=mKlhdqtmE{{mh5pWd z8HMs!!XRUfvj&`c4{3PWYbu|`a$N`edVnX3_q&Ue)i>US+uLZc6r#Zuxl!p9fFm>) zd7V^U(Vg>=U8cl|qkO%~Qla$GcQN!shnYMmdpR)`(CKorE~v@qK0#5OB(u>Yd(MR4 zdQBBaSxn#U&`F_4HVmOQ?fjd4!Va%fdV#7! zR2*QsPvN2Ti30nH98chGxsw8zm`VX*1zS7F-JUS6=!4JlF-nPlZ-c5hCZi77B(a=( zWwD)Q4BuxK%!)joK8Fts$lvj`YAH%K+r!mgC!Y-G36!bD41dK!=Jy>G3f}+O)+D8| zyrdS~?3apTXBD--_kfC+K}C{Y#V8|mb+nK)#Zn$W-B_9HiKyft%$neh1JHs|ks&z} z4yxLE5n@)>0?kuDGWJ5va!R202iSu;fGry6VWmkbitE5i2)x z+ba=*vf1S(ez9Bhm#-p0)RD^)Z&n_NxK!N&%N8KQnyQpfOAN zlcCl-(!&5LmRpotDq7gy9I~l)7OKEZ<`xb*?Jq61`_O=|oK0KHgxp?AiKuBGwXorA zi+?z6sb%84K3;H#0E|Z3l~>@X2Y;Y7TjAHgXr&<9(g6H*iwA`dU+Wtg9)A@)UnFrt zexcA;jtShSVl7PWNVn5iGNs|@Z{<$^;u_nh4+D#6oo8{LDQGXCR5eH)^0~Y*y!`8A z^Wo-O08T{M6k_}JA6^7n&yS<6-X^oOh=PdRQ$&h?t%j$ih90m+!o8P3?GkxNK}?GmLI`3MNN3U6Ct`n|9h$AA+5UmU2bKr?mP zwFU7Oj)ciZ{O51ju9nfI3V+UC=assaE?KE0O)v#2489WcBjQ~xb!9TYiA&$qOH>~H zRmRI~JO~MKZx^%?ks|f|!OPL2$gBU$|0i^l|Bmrje7Hs1XThG0qFQ}fB$?sGE~r`R zFt_EWvtI<~Y7@EqoZ>SU2432Nwy6oel`Ky3_6Uk^On-^LW4RSO&y%rVQ=Ttx>YQc$ zj|-F5cwopR;N>IA3U^=&j=tCl^2A90Fm*NRys;|U{goA{ZZ|o9kgf9{31kk}CNFfK z5cECwe7n?2Rc7L!7KOEW+c5qwg@N*r@%Gdn;_Ncj;aKze8p z_epCgQr&UZTl@fWlAkiC7QK}*C@?Z!{dpw;&XLetA93igH$UM4wVnFDCo1(kk3f&Q z(C@y~VC&Br)NqRFp9D(Y{*-a-Awkn&@;_mI2grzdZffrP^6OlqmL&=k_CvKMv4`PN z&xgr-(*Ct2uxj42i8e}k>JsIL-F=wZE+dJ?fY)d1B>(!&S+p;#Fpp(qrfU}#yBnu6 zZCM%vRRhY~^#dg@Id8RCEA1`OYy0Y4vOnj2f82fkCNbombdvdQ z``e~@!sl%`A{(1u1uL+MZud5^i&D`)!tYqJ#duXy7DnEvd&L?MG99YT6)a*UYHRXh zX^S}Dqfvq7e&k`BTGgr6(2=)FatGB}k_NuJdF&SZclZpyDEV2IFF`Pz50$3>Y!$M3 zAy;6rjo*L&<#b!}VFTh|N^hJu*N%_rwNB|H!ziS^lq2{k?4Gm^N|Ls= z#P4-`TEXHqpx(o>L&2x8A9xUc*(nMO^_yJdZ_DJ=3`g0XY5b>O-aGPy67iEwmm>05 zq@V;zi41@-3Xr3*Uz_YzR0eg8CiuoL1cvkYaov$q32+qt>IKWaE~T@s(0};j&rqpx z{*yKosIg8v@cO-U~-1oY@ zCa0eMQaI(1D8IL2z9Lj3KG z(Ttupab$+O39Xy*%iFF!aj$R@!Jg5&%U)m2qrB?c+3$9WaLQ6a&CWk{R7!YTK6D() z2bHj*b)(za=M@=8sVi}67+z#Fr*J=QxEEyX^)DT>L+Eq##baKBI4M`6i}1MQ;%tYE zm)&l8Md8G(zzHM#9!gJ&W&(GHYOJ3fZy4>p*9Q}JuKcElYM zMpVg;Cy#xENOMO!)WAP3c0lbmh`TV*eF}A64K3n0g?%%!-S?oqa94fAl70+3j>I|X zVyGH!5cU8O8r1eOtANJ`K6rbq``;(3N?A+^E~Q4rcXg1V>xFHrfbW8gwFn6o?YwaM zm{}$+JIy!v`oq(yR?C2th7UuYa1Y_HcjzFVms<1f$*8 zOu|eL2el6fTb6<@0%F0hU}pN%?c*sRD-`MW*MGfWYHL#;ps_vTn^5w+tztCw_npNR z!rT&eLe58%uBJIBd z?z=VOIfCfBf2=K{(PkdnzvAE zq1Gs3_SWZZ_;zrcb>ZIE(QbBh-u8FUp@j|%VRon|JKfo zaev7R0?9dUDGtdyUCAc|mO!uE!izHKH-I|;pLg6g&dB^WT*5se3 z*FJCx4>?jUE!XLNNu(94=2xhRM5y68Tq;ef@78vG=PI`K1u_HgXao)3mn;dt+Y%g; zR(~^#=iZI4Svi|oR%#L%rjs#9!`KH@^)fb$B4GsYj3i?LebUo03o&RISo=VP_IQn_-q-nLI2YRd)_xEo!d#i)W>>OvBS<9OY zP%6GT0Jlw3Qi;5j1N?*Ww+gI}*?#)W z^-b1JY`mmJZ&6?M+FOU_up2MlW8+L=F8WxzC+$zvbqB$(8LiU}E)oR*&G-TC2n$Xp)iX8kBHgf|E znz++5lbzU#h~pBgn|RS0v@{aLIAqDo)s&Viq-9+MX< z{910Ta?`zhc;!^mo`-R>4r^dv^3I@;bqF$)H@O$hR3KA%AbyUFochn=`buJly+K$oO$EuF6Wq_G!Q^ z!}sVsawk3fRIS-pOT__QBAln?+qSO{*q;vw77Cu#JisG0|9DEG?Cn*K>r>{fc$Az! zpj3ESuvi+){nfzN?N7f|pU#V?p!|OM4mN5g%(ZXog;8i$pmqhn(e_d&ek>K%Hm+%| z^Ev+4@D*Vz{}UG5sZmmPS)--;g>_y z$(qVIr>#?(}-Tm&jC&S)FFSk;VQY^;qzq7aK=Y?*1!!c*5k(HORebu`6JGQ5s z6@I8PA7H!7iLF(EQ3@OdV-W{=Meg5ZAkw=(euez$RWwAmmEOCjk9TN=tEQaWn zdunj27fyY$zE1|n$FxvvZin{Je(^qOO%I{NRjjojiOn*SUS`&X@%5DPrv-=&D89rJTc>CgD@44h7^K`N4_yg~c;Ie*|t#VxELb2MU=tR zw{<9VU#2Q+Ei`GbC5~V4ZQ}@Yr08;1`6Kx*U2*c#yb;*ZZn8aP25hTd?=^ zAP(QcYAQdSKoh9XxA0+lHM>C=OiA?ZE~2t7hm2W3>a=LekN1Q%Bc4!$6ZS(S7Hi;` z=-o2boCy~i$#UK<)kmvhnx3d3qI~qgr|d5R3_QO5+uk7 z@`FsapZY=}waro9-k<()tg(3QEY-FeXmH#Cog=+Kzwc?OMC<6fg@6<04HjFx>M{TA zu=qNI8V`Jq%jFPOznxFK?`IIB#y61`o<4)h<<0tUK?FwBG(m3J@wA2v&rNr31yFDL z)~H@#)YmOl44ftSw0bOZ_&>S%7<442wMEpz%P8z!h2NTTFr?Jto4rE=+XB(So^Yj9 z!1eHy^#&B9k0R-}2SEXkd{gsG@#lFZC55X|P(m3OtIZSCOKQWV)RLxe)f<1yzp+)b z)87jP!=XR*F$vIe9Wb=CFd~<$S0j{(F`C3cFjecgZJMwpMG!owqZ9IXLBBI z4YT;3h&$V^w_~T$a(%x=Cz|vwb4aE6w4HE>eI5l7JA*Qu$nC>{%nE5I{VwKR*iXS- zEqdkzobP#6FnZ9sOk=N_!95kjglu%s-4rs>n6K4zV3J9tD2SHHyAIp^V~&Dtrm50t zNTX@gNT4rG%{U~u8wXvM2kn=w2(8-)ZY_3ZUg@&G0NYV4DDk)~za=OpLrEu0{McEF zC+ZEpt{CZf#!RPb^XV&COi3qG8YHwQVdj{4y@EsL-2d%)*V?%9VyMOV)u7_yFm4WN zHB=GlebiI7=G;RUC6=6*`Cl>R>x%TtnCxjA`PQE%hRYQE{*!FchyiziE?t00$1)b( zgxK~V&2U_4v$b};%>jLv>^gkN6(8@mhazgkhCw;FSj4HyEX=0Rfpbx& z7XHkxpJk)pB0l+5O=>=??frPJvhVo%mm<5y`V^b9U{0J$Zea|U_OX!m=T3d2rWfrW zey_gyd4S#`m|yU;Blugds{yEdb6`F5i0oiRr99kim)RId!!E!GXXJ+(Ve@9t{+0Oz z$*II!3C}gQ8;^JAUrV3Jt^l)d2jf~!i-dVS{0-IUi1D5^-zyB~h=oyH{#jExY^;2Z^cItmCx`~$&vwZ-iw*})|JQh`RYIYM9M=;eAKEBmN72+1=Q$wt6m1~dNB1#M zvhu60Z>I*`c<3z(F&omR;6+{s5b+}Jhp{TG3<=Sz+ts<=zd;tWMf5sSqed?c&p2ea zv|1mxSWCvXZwm;hK2!sh6)#w)f2DP_eMgTKGDz#?+{5WPB1B7A+||O99T;6(&>Cw_ z9`!fAwWTwNEkiN+dg((UZ&6UGu1L8xsCy=Z=Br&nzagb)@0!<_FAMH}P3fgt0yIbk* zZs}&z-6`GOrSzt|d($B)-4fCvDcuOt5>jXJopbNG_ZR%xGqYyio_C%nR@E`!-w4uX zaK_LhI?}#VL-!T@D9wuD`Kg+7Dv86Sx#`QI+4%e57D<^D4X9|RfsA=fzoKXShKCzNK2=%5Sqp-2$MW|8=@Z@MoS zgtict4VR#WV1Qz7J3YmxQ(h3?0?Tdsw}o#IA32VnhM-gLuB*&=Y3n|GT*^!X*tT%s zZ7m6XQZ8Hf7I6{zKr_x>v;EOF{Wwo2dD)Bo}-C=_2flS$#gDhK2 zsy+O?p2 zb)F*+uly~&=q*4GN^ij0=r{w6OrbZNfCy$JY3nJmyaMv@u=(0>e15|r)$aZSEp~;; zxRz7sTCELhxtJNtd$w0H{(W)J@|T~@TuRC(5n(wPkPZ)&2W82P;NBY7wPQC+BNvl= zygh@j-0QIY`nYfuO0ik>}#<6+LY(%rfyZ1g2tmZtEa@r{A;@ICmFvA`hQzR4g%1@7m(1& zKat*--U?tNOO&nS3kjb+PL?{Ke}(%%$u6dfV*z8~M0dFG?jtjEKl@i~T`~GzC?3aB z7=8lcGHX+z_Tu}NCQ$=2@BTcVp-CKUNk07tjNNm80M5EP{^sia!2MYR9`-Y>KrklL zqJv9q@+EcfH(L!MZRZ_$0HL6LZaMHSA8zEOjg1+6f&rYQ>j)ot!XFjU z#K%AV3?&1*pYId;k3HAK1DDq{@h6X^2=6-DzkrZjTL|<}Z1Ln+h<*ChB!41QU_GyS zhx;^z*YQ<3hIpNfHWN*etY|5pol&&akJl&c~(w|S+(Eh3#C#SE+xp72HXTLj>QmeuHyhN_<4${GH_^6ktM8z zvg*)wXukp6c3)`4#^I()U`am)klKD36+GqDU zC%^x!K~JE&Ot`glZJ5MeXTMm+4Q|~?_zaI}4dAU#(lqTKL|wgC-Q=>*XgABf*rX6g zQ$yyZ{mHQ{Dwu(#a)#U=wqSP1A0~>H*cm1T+4_Ab4_rGiRe!ljc7p}sZQCA|(qJuD zNP+lyGAXi)IgNLJs0qIGkseZ7)>yiFjyqbFfpzj3>vYFsCvh=WefsYOs4FPIW=?zD zjyWSIJ-NQ_uMj>7nF}GYYSQm3wF9W})gd=u0Oyn8TD`*BF1))6 zPaTZTqOoTB>`quAwf3>x&5_M(359sn8n2GGBfF9T0p>bY=@%M|=~?Yu=Xyf$#cQc| zP`*cK&tI$el+=*J7wBws^_NtdhVx%zJD4WQ5rDQ|aIPlhv#!)*ncedz6ZXIBws>w2 zW<7t6{$}7@lgu+9L1l3Z-jBuM9Adg%QM}}BZ{BsGuiAVt6I4fMEEeDLAmd>E>v`Zd z@_HIB>ix|L17Q3NNmcm|oPJEZ66KNC^qGPsXIaxhN7ioyvVZG4=dWA zs8L`M7Gu7rD(+PmNuyG&=*jt_n*RAlz0ra@`!?)4OQ3|V-u_$8%4L_$edMQT%-7bj zo%e#h3csq46jSn^nZ(aZOVBgD8Q~nfSok`J&gQtffBOcPZ5-A<9(K0Blzw`;Hsd>9 zOAfhjou_Lk{NRAVCw1nGN^(0E(v%C^sW^g)MU0{LZjyri1o}Y1JSdF`YMd*F6z`vQIqVq3Z0lSjOBIaXMapPl>-ohJ5-;a=Uraq|>!e%H{He)AQ>yRW)X` zOy4}5zmWmo!LX2>bj~lqr7g}xV;R5`a!M{lWHL65pPZXKq1N*hs_Q{i&1sVb8$#aqi03*lL8umXQHf*Ej;k-w?Y!IPs%M+XiB(vai!>fno(K;} zCy0G7+cv+)jW1?@e-ABG;N}{GM#I9c43vM+esjFViN+G~QVM8ieG3#nCQoNf;<1Il zy{fH_ztaIp!%2Sn3C~4KFaCA7k3ZnWP;&2On`i#Hcl~NNSylsw1G@L}ZYB;LgI7TC3V7m)>5oaqA2ija^M@@ls!memZ+vR- zeIh?UF3G3rO2S>9QW6SoLN34G{T=CCM(T_~+Ttmq)1DycA zW8f7FU7jd=n>#Ov+XKK0K#iNlP8?>$R)4|6X%hIYDy9YB@8Bp((;b^B#;^-(v@!gZ zcGvrZVofD%9?E+n;CZ+#XIg=~*LbkV$}p!>SRzaw&{$u=w5De*za`wBQVh}v!Fmha z)kO|ad|QcsF)82*Y90)|b(D?VmaWGR$-}_Bk-tYTYOf##FaFW1P>fkNC>zEt7a#V3 zz2otPJ}a{0jExhu3qiu7V?hg*85Pp`emJR~>N&Dt&#bvh+eu^j^Q@cuF0|XEGyoM2 zc_EJVz#-%(CQFoVm;zhuP^`=(kEG#~v*hIWU(Wp>k$}>jk{TJd0*21dJZvXwgd~_v z<`Q~VepyKMeB26NI?!g*(j4ilSg-w4e{Wuo>(5&QU{H|m`1PfbSQZw?ocK}m5U?jJ zKEC80pt2-65|^O1B90-H?l?7EccW56w{qCwQ@o{0EOm6egnYR53%z6tJAAitrN2ok z?|3oX%PxU}pKPhn48c_$>g25TWMnC#_x^6VYx+8J1)Nbfx5P_dqg9%(2wRg~@dtJX zcau7EU@%EU~wjsxUwel9*EQ~ z3^&|N`1c!Xk)OeHcvK!nAP(|`c%auBkkP#X zq7RBhN&x`PEOyg!PURhckWJSsJBh#+y@New#0lw-CO1AbWn&2yQ?D3{-e@Eovgm&eSvWd$B=9-x;8w0FfoP6U@+$=CGLO~{fx^RWXEnZm^-fDQkUvlD^mKZM3I9CCvE!lz9TxJTeolf1pL9^%lo$!>&34MvShsU%b-M&AN0jG(`VP(GoBJ!5DL$K9DuXY%VIPnDa@uF4A!VK=dU7bY%Isj8vF68+O9f@5CuJn!25UHni)#vM;Hw&Qma`Kp-I zo=CIhwNI+zRNjrR-t)%!aSX=Il3(Gu14teuA|kC1hpuO7A|_Ghr3(BS4#<86on}%y zKsPV#2ON-KvC$ z{rG_~Egb(hvk5-(I}}dZs{w^M5`V~_LYKzOBD#X&8peH+#KD5B-)V&=tPZeN&&t<( z=jL=_WgHa)c~b;*W?+P4^wqm4cm02%`#C2#O4j@6djxG8i8<%bJL8rQ3-T?~zWe1p zBJ0+`rn0tSjbi=#@KxvWjrlL%x=7*IeKmQ95skFX6BI3Mr%V2W2lw_;A(;+zES>IH z6+ydQpSzytyYh?K)kHU!%fDk!=y^68_&VMT1@LXD-Zgzu)yz7yv@g$*onc&rR;N8{ z@frz1k9M7Z*s1PXfmVGiFZVk&fc_#QPS|}aPK*Gc$Zcw{FH1@P*M`Kz{pbjjv#c@$ z^=`zwn~SAV%FObI&*j|tb!-obDiws-!3I8=xLacVn3FIKAOwJk{)+PR?<2-Pfrp!$ zpiBO+kDU@+y&XBX@7sLIz%jw`;jCJ2msB%fttgKU{uL?Aa~tz}wWrr3Z5-Q#j2uK< zEK>}3X+B7Ep4kf7e$COOxp0tfB*DD}?+xgK8}oIIq@H(wgzRqWead>S*$aB@Kj6t_ z`E0FE1oy{cgqJu6?!K7WUpA8rL%|~z6mQ#1!m~TFr-;~pqT}bF z(^HiUrLB(uZhnTgx_st+L5DL69=q{m8dvVvgKSFsXkZviQVj&YsLufGK1tr=y!C*T!`8 zwRa=;HSBWT|pRKjM zZij|AOaGTf1yIa(#~#W+6TOr&H2m@tU@;Y#s!{p5%!*(J!=(|L7L2M4;)uz>jG!CN`8 zVoA`RYCqv^t?>Rm@>qB&71Cr7-tR80r=x`{MN#xvtk1PA6w=Z4h>~Gj&YJMH4N7}S zrNsXM2Cf{CO9FbIHLVWLC9&^w7Rd!tiqI7&Ftu7J^dk%b(9(xX5P^2AG!Z2PU?l3* zB7#gHB_WX4%cvC$1l)XhG?R*jgaK!E_B+BRRkhfC-19Tq9I+fB<*HUH+@LKfT-=Nh zs@g7J85h2XSyIGkI9l>e#u3~H*d>;#tJ+A@k9lld>Z9pbKf-MK)1eez3Ngizj%P4L z_y=#9>jzL#X$_&cC9GPb67IEA+xu<1d2ubGbTO~3bFVka`IdQ~0>1g4sy{w-1&D-N z5>X-%dxwon)r$}GvUZ=nxkLN+1*5o9ZpL~@drhs$d^8AA&DGCxH{o4l7s)*${49@! zTY;#{*VK)L8Nh+;f3eMjbG4V!#(2qC5ZTRl2YA#&_r8oUTXo1868Ll%YK5bzuQUv* z+2v7xiR{}V2Hs(q^U50RFM35wC?m^8rA^K@<8E!S#VJeylvDji(LCy`oLYget!);`?{EoBqlhPFMD5W0z-bZy}oD{&a%k;AIM z-5#x+oTkgyu?v?1ED3`!p(*7* z#<&EADc#GN)x^etCvH|E%C(LGfZ9!$$<1}T=*F~yAqeOkwf=4F{RU1>nEuzIx*`S-h!bGYLFob1YP(w~6#t7RVGCC`)zhnOJ zwbDJ}1h{J|9OBOk6@Im`q4dkk9LBTsPl}8-gOcMGNEQ$QWOQ?)N5(IAAAWz|T8vuz zk^H>UPx4)ei?(ET$0}aW^80A?4;$QkxFw@Fylp7c{(N`-z-d$^D175~PZ=S&Ij9=& zT&O3Pl-yDNNXjweY}RJm5b*2I=U0*F9Bz~n89%~|wJ&J&sXWjecgiKVY?-$UE_hGmk9Dw(OwHHSvOi<}H==QMhJN0{zXezL` zkbt)a+BbQM2o^9IKp5#}Q5SsGqU}^^!RQIbUAvxR{`ud=KNjXN)KQb!{=`I!#AN^! z{MWs`=N=&?(&>v4P2#Jl|0|5MeA@b55e>=+|3ONkP;MgZ5dQ&JKe~JrnX=qO%!ANn zbhMH=aZ#Hk4%)Yl9DLd!>V#3$z-_~vyD!P@H686E|WQog4rDbbI9)X;r`I& z5kD85pF(!GJGmv>O{5_pIW>Lky^{7V+^8Jp^PY0Lg0oX$i$S9-wQc2VTpNVPX++))~T#cnM>wLI%X*s_B?f4p|oMT(~uz}TUV zmsH$rfdxkFdfHz2=FoTR<438*A(I(B7bt|Sb(c>POJfQ!ohOY=a&AlV5gZq3B9Ud6 z&q0r=%lhh~R4o6xo!SubHUhUcdByV9V0A?;vke57s#C_&HvPYU z4FL%8Kw?S_&pHPpx|(G>^aQ7j|2t}Gv_O}UAr+#DdhL&DPdqilPd=Xx3<(bll(@BA zC^hW?P=8geOmFcj8$mpcASJSqKyZ0M+w%}En0ct0F|%eZSnRkQNQYgM0oL4Or%~ z#^;T@-15RkrnEfEfk;QzIY|Z_uJ=ZRk?9)a@3B&4!Kv7cQTB2i1Jz&ZP1ti3ieN`4 z-HyMPF=Kr6mvvZmyF%3p`X+xy;S2s2NJhEGDHb9qW_qh70*1~t4a({>8&@i{rC#aWTJ_wqTMyw?w z9n%9d5+!9}UpJtgg&tXkj{#;DLhcOuw#7Fadh7R+Lc&2{Ud-~L9NC-p@Mz^uJaS2T zXk=bvK6ho+Y0%#piyL_(5I05w{a6aX}WJ82ujX<^W{)9 zUZkB_c!1SVfkiQ6MZQk4?lj<wJ(Y4x9)K99~x>)?o?qII?msyNrR96tPYrT&N zK8~>UooS!s!gJ(FEnXrEAI>G>kgh+X ztpoSi-k?RaJ-R*%-fKrhgAbYi^$edrG>IG|R_ztYr{!%ROTdYuVuS%-t&TBp-6X4l zLB|welkZX+uiv6X#gwR@NoPG$%#hGik{%}Vt~~cW+lk|2L=|==Cn}A7C#v#dN#h(z zMoPqomLsO36><7DyV(wjv;2Bd(Wg#U>HX})hzY6^fX>+(OPpB5;~J4n;^}ha$$~S? zRSwWSGc(Gcm=>#ylzqq*^8!{Cl=_(ACz_K%=-zYK}U#=vPV6jE`#Y zW}`wv8z09u=Z>ZE)c7EgYK#~ORqMBHx2q$6?#3p%iNT1VsJ$t1oQ7oU73L&-r4H~r z{DM%r6X}qi!lEmVf8~RJ!9v0elr?B0kxuw;Q;XEd7DmPLQ#j=7+K&bi(L*u$dKC8k zgFc6knNVoEO$?=J#BIY)8Jpqch-}?|sr95KjblwAm3dPu!N~{R8m%y2$*QQ-Fc6b* zC1lLx*9_{qPU;W_+BA7u5%7Ud=$G5Gl5?TJOxze&G_Aw>($km2YaE@kG}wH*#(1*< zy0-(ybX{IBi=)NY>Uj@hf!lOLR*7RXjDYb);Dni$$0$|=HW=;jbni3g7l7s{MORV` zFA4f5i6N1yG=Q?TO&o=pT=h>xNKGMWNx54Iv3P+hYcR%> zGw>^7LBdP8h-4iCau`J*VA$>j@>)wNbEm@)abQi8RZ+k-eMi03vP>UT*<8Nmn1V4; z8jBC#JKattM%nTIoh08lhjXV|{wP43qNM=N2!@`53(3%rS>r$rAH{H({*T_bt~~_y zJ<(8xav$yv?f?BPt%VgnMiXg`(mE5QZMboFQeIE;-4Au5co&Jn#tmkF<1f1!I3x{s z(FxIe3owF|X{B#=8GTNYK5ekXd{Zsd>&)DyO-Jsz7;H0Dvq~OP#`MI5%n91Xes2#%5tX&9jYmFo6w2*uhki%LAME zZq}&=RkCgIm9Y?9AzWP*CAQKXc@{7SmaFLlS=s`=`y^pyRfI)21n|6;b8HsqXPcdO zMA6_;sd9PVav4r%WBy>iU;{KwtQPAuyrk$`f{kFm^_G=8XlckqO0zVz;JecTC|s;X zRlR-G=2K=js4m_LN;`}zHR9Sc(*$#AZWN4+b_P``1h2`4P#pK2zVEr=#A|W8fUqqU z_|sk1&cOhZs!99o2Je%2;0hwjnx$?l_qvYVNttzo10M|!z*cx5jPrlRHjC4-jnI%9 zteq3&ruEC9KBo{dTAa+y!>6aLWUd9G5w1j1v8)R-&RRSynSm_uM7+H}N5B5x11Ew- z;*%o}?7Xc>?y9JWPl=$hke|l3x<9sYXP5`O^Y!(i|yj z_%O8Z^)M5~U3c5p5r2L5+4Mb40w~IE@x?5sW?Fa zY!D`yM3y2*TOG|r`QIalGBuYa^uuB7qiBAQ{HwexB3KUgax11TEE^vycoLY@@)~iz zVU8Hb5iL8zZqFU%tY1o1Th;I`QPr0_Fn!}(?=il6>sp~#;1{XNW{a7s$4CFj)4wk0 zr}iPb>FJ1M-~NxzZ;#vZ*wsaRiQX9(Fh0yE1>1b)o)|@e2~V3N)uoU;DD9Y+a=}mq zYoU64RTt2w4Ol)P7Y+kN(>2J)AX*n zL^C|K?tS3ru2PnYa4>5p-Q_#>rEblD37Zu6Lj)}1fjm>OAFaCt2^I1J+gTe0i60tXrPHq=36& zr3y7Y0ru$D{~3IHt4@GUI0{gl>*oCL`a1pJ@9N3XgPkKuI9fm8ktHMn6w%VN5mGv~ zwMt1>;`b#9BL8B#j#~@LUri4GV91jWdn3Q9W5N&JG9>@>wS7FnJ!jcyK1|u+DYo6- z2&)?V5=~mabVmkg0{d(wdHUneqKM8a7@X@m&G>XAz@QT6X0jZMr@qC?uI{4w&_b|%Jihp)5p1!O)kv>hp(ZR*B#%0=nI~0}OgEnSQ6R}Aj z8gPR;)@NEIb=wine|gm$H^CbgY405A#-Q)dw_p398Bt-jgFc9*hVxjB2K-dSO8a`r z6{FKDLGle6PxpUDwxW33zCrlHB1*SGdJO5;Id74upqQ%Cu}Ghv8$rj{Aad5_9anrq-FfQgb~}Kh`oH~qXC+9e=?8q^zXJ(Rh#_LzM9PN zQ2e(y#GebTz;vC{j;Ae&ui=qqGqpZ%4s1^hKHml6!4DA+vKW(7kpy_Wn>_xmE`LhE zHa~RJUnnO&=&2VuP#=Vdn)NwVD8`umYazLsAm@2NYBwo7rO!D!A&-uSC}QN`r+0ASEcDDeShwJb z=<*}~5Y346A1~`wB3C@peuS28rb}Iukq5pn-C61(bCuN94%zgC^P|roDjL{C%o`xb$n4JB-*Pogq}?5FG0^Vf{H;4%I2WtOgCe-gv$kpeIVSR$~PL3d%UKwzK$ zo+nJm1p;=@7LT|}#`bGzzy_LAD!?`z6Ou$lE7Ez{=+j+SiP2}-<1GW}`5wL*?i5m% z`+v>akH_bxpAJqtU(dsVkaZvuQv~;Q{S_k|V{#sZ5_#Vv8ky^OXDb=h?Q`Y$$*8uJ%1qN*tTX&*m2`MXls z;d!PdH7Lu}FMlh@)hgNTlH2psf?te zLaclE8^04)T96k%eu(mDKago7i5VKJ)AZ5?Y*3aQ21N0`UdW5$Bkd{d@QzmPWuP1b zgJTaD5ZdKs?+LM1wt5&rP?57GAVn=7{R!y1CtF?g$!k#6!J|xwY}+EDWDK2bYphhU zC;QGp2a&y&24r%qFEY3$mq>@XE9E6iY43t%aPSf~NRpc=-O@LF7+JYk)7~O^C)zm} z1|XcyommLJzY@d&=%R)o>3BzL)Q6Xn0(h44NO;f;S%-m{>+<*KFTwmAy!R%*D50ZH z_NSk+dfkO`$X?Sn{m)K}ImFA#i!&J`okvVqiQ=?}6rotWu9`H{@lu`DSM&f2XhkWU z$hp#M56Z%Fmu#k)=2M(69%KD#XWCEQZgds>!32k z=!rl;+xu47d1z@kVFOi%@27BQ%$W@W`;>Fg}*%?u0>#NB)VjPx4q$@xR>l`5-oXPqO%PBt`01 z5@SDSNAVg>Na+0Ja0o4gx`KAC_ z&=KO*`2yK5Lp}{W4!U6dfjm zj#4OG%k~D}IwL(y%@;X=ybELoHO0e*d;8JQalqb0U=civvNgxOs zv;h^0;yK4c^x9H|`{UZu5PF{eIo8_i6)!Sh77;w791X=3o7M5ucxFM5PSGO@!?Zwp zK(xk8)wjRU>qs4xX=lM^m5j1<71PJImubCRq3Ui^NvFOSQO4I0Ju$)a`I9&{@s>Az zIPM1=F>O;H6v{prackp4j|Wb-pard3>fgSDS}$!`=}pxFQ}aLMAOrpegRJ*r-#V(GgviI7Zq7x7*slG3X14{UyVzTed z1$o5cZ?n$_lHSxVv+rhGA0qEvbnEMeF}lsNw9KPN*w`HM7=quZKDOeDaEVo9SSP$fY&0Vsu4V+|AXU1U34{2({!p+H0}Tw6+#HLV zGQdHGH>9h!K5f+$<@i?TUN+xSW=QY%mHzOiQ@Y1JOm`4+(C|(ES`)D!L3ZEVM5nz7 zl@>Endd114*#kZybQGE!tilG;uhS+ZrB&z(8BX8xzf9$~L%kO-EX{#kpmx(>`qV`5 z`q265I)IwGoNeTZP(IEd<4RLZuMk=UHj|~XD7JPCs!|B2k$BiRFlnHX-U+{6eB{gH z%Rg+Bnt9~a0qQ;huU8`u% z5LLvG`}c&PbJ^-a#G5ZNvgszbZviB?$Q5?rl(2X#YkY&bF>9+h@-=yV3QI&B0)U+O zBbG)qXaM6R=%pLlQe$4Ngpty+M4U9b)0fDV1tnbRMqt!$+c~^2m`=<1RHoEDn?F8a zgJ62|bgcYX;kH-ys9;KBe_NN4Zager9!**Y@mO5zt@LKlX>%0Hs;JAm-Gz^*EHM=H zl5IMem^c>USC{Sg^a@|L=PMv?z8pDgtbMLs1686sY!2NF3?q=M2H+@Y zr2JI1fPw@VfijG(c8GH)RksXc+B2BLNr93rgDq#iLUag0xCq^cygoRckjW^^8H#o3Iwicv~jc^uyT4hmcLXyL% zdGkVO5k{asPk-M2fT!Veq5GS!&*XN}07B}kK&nl}F4=lD>Zcd4q8v;rzg&`5)`jL8mzWQM8-?~EG^*F76jW( z54+iV@~?zT78_~BUCtX(P9q|0#JLAU-H(5IE^oxqD`h+U#fi7A07SsVu_4CoLA+?7 zOr_{&1Gt+*Bohm~-Q!!lg4aKW=Eykj5hjsxh^|}6wWP-MKd}^@*{(@p+-B)?>;+eC ziQte1|2=%A_?KQ?TY^2!N?IudT*YWINcy<|Luse{wTS7-k8PCrQWWO?g^wV1GWA&A zjkcp=(tXU&Jm15%2f?qde#LD&?ud570XAUVSK7j>q+A_@hOVUspQglt^$#Mf?yE}^ zP@x`iv&Fc7QQ>oBaa76c_!~d_r82D1rG^vK>RPP@sUZ;q~TIS zfIfD;v*92gL3z#&1t5%aGzisTiWo9bk;c^}lNzU8Z2Jym=+0Z?+~KkOK*3ow0)nR+ zl5YbvtVJ`3H%MryqVQ}u1Dv+jUmKm7bkKt?6^{5V z{G~%;Zr>+z`nmh2s+Ij1kSdQHa{w5162B?^X&FT3nDvxAKuJZ=WKHcrI0@VHtNH%R z>l>=#<)Y5~qwd>)m63OGclSTA52r^im!{g!&4{tN-s5#_%Xd$B)RrupkTh6~(F-Rl z1G+i8q%Rl1bfy@q!#))IUYm6lXogL)9A z)Ecq~{bp16IR6 zHnPAaHA1TKqn5-oPn>7pfqj+3m6a$i^FyK?gB^K5+g!vL1sF)o50Ns^OfbX8Y=j&S zwT~9g1Lv$j(t3V{VLNA3!T`jifA+}Sny}cz!#`uDOkMTjca>e$sk3sjOJ33e^>{!m z8CyPm*&6;?DkrulG=bs#T|@1V6_=$7kCHSIEJS6#+jdnd#W*!_+Fl|*MnyVKSjYwL znsnndf_I#SY%UZiY-*OpFZ~iQwO0+~!5hH(E!%tj(L-CwV+`B8Vs1flHMZoJpPEEb zH5GNlp3=_x6VBdm^ ze$hqE62kmJxb%leDkdg=7Ld0I6!mS>^oT#)$pWHZSGRR-lSJ-d3diH<00VVwEl_t^#Mj~4AlWEOP-rT zzUy!m)~N6)0A7yfUtYHiPeT}F*aocQqm|nJnR{7M&?BuTs7x;`XbqA1ne9NFveO8T zp=czVG{xNd>&#{K!^9DMWiB8DhQ~1OKK{(Ydw@3@BS=75dORXhm)NBiPuDd`b=kZn zBF_kEI0)1*tW7dPspM40mk$VJJDz4J3W~6`&fcSc?S6mIYe;$n>$}{AWfbY-aSB76 zT6{t5xtxWstPC((gM58FsL1MW!tV>209j)oqFh1X71!o&NE#5_*N zDynXxZwdh!W})o_F{OtuulPqmuKs-U`1S7H>y5mWxTY>BY!QWRA(nKH9AVXGWZv8M zwWuR{j@HS$?wS{`rb))RGzN68Aef8Yp+Bfi=a7D;M9`>WVxN&}Jph z4ZXUa_j;Y$u;r&=c~7I`g^n_o4qT^csh@9QMzV)cN-=K!=ajxXI2I(6exr^Wk4)2O zJi=YbN49rQrN5)<&sr+BzYvuVAc8x%OEOIR&d@(xSp=&PU1A{5dD!=a2FxzRzT}~7 zFG*jNNS?6pBO~Pcl9@G+%HIL#6KFhpVBVNL9w#$)d|eV_JeLv>(!bw(Zjlby`rL;D zBijO0JnbS2>qCT!u<6whdDZe`t=QhTWPO3c6oJyARi!X%9k$$^c)mH>RZv3~e?NG2 z%R=N*d5&vAv=Shnju{zc>SnJ-8j*&Zj$_5=*T{`Qkj6%1iN@ddVFYudIdkxrHH32p zMOGt1%x_DZla=`?CdJq^zQ#T;@7U-G?V0-yNKaGWnKU9f2?c_sh$nZI?o@qrpz{u2 zm_%O_g2SNJd_I$MC!SvZZo{5qp%83f(JF;3cs4qBnr>jBe;>0K^b$iV@Tj z`4RP58`yYE4|NIWRosts^u6m@V=08vIme>VJ?)by2r0KOimcH^uyZ7n{N?0(YvPQEkEC|0h?w7i#c%w~BOh0N68Ic46`A&=CIW9Zm34%j zA!jLs%RFX?#GPp~TUKuV_-5sp z9I~8y%_*^UhGS`m%yrE7CqWKtGt6Y~EzSo1>USvwQ7vuZmSVBg7QxX|sHQqQ@?Sko z<>w_D^99FTc1a+Qr?{-j$%m(owQ8sfXw#G=i)(|X<=6`2FSa>9`hR*kK*W(3H^CBv zu2HPf{hVYc;fdqvY}zMbN!vPR^Ub`rn0vUa=wK?001_sqW{f&``TU&nddlb1gvnhw zNVzk~ZA-)5X%*8`BsdVsbS>rwvGbAcLu zqf0=N9)sSgJNg7b`aD~o+LZe4RvmG%JtibjZ%>+HEJL!bF}ep&2RqoV5Mrx*MI!jZ z0P@%`xj8`N>}I60#7s1P@3S<#s)wQ}@eUk{D|cyei(NB^B-6J7I$*H%uoL?xgoq$% znK)LhuWmgB;Y8g*sieZu$i$>if{?&PP#KT$ze=vzBSCY)cptZFp-$qbtzg#@K7RhzDlbj{b}{5mGN-^*|!=_JH* zvqzq$;YpplRmF^WJoFP!BwUfd3XZFs#p&e^w4-?p5$<#J?X@=CQEtmv#rmq; zScK{)tt}dLi9W?*>(v7_VgfMQcd2E{^3v_bJsO2hz$#U0$}C`sgg4qiGBjk*9^HO~ zO*sr8*Fp|AJNp@npl3{e@)ltz??OW%8R2xQN7U9+H$7>zjj22k_rS5sy%4JuD6l*y zJL(~&sl!(WR8a-AHKGz{X70`@0RJNsQP-q1*K$e}6^_XrlTZZm)BLmpeV;*1<{Ny7 zSm`;aQAbW3D-|pz#Y@LLmR`V8Hy=8AIXxxWagJx_NTX)Ppt-|2hS9k)E4Lw{C*Pspr~mf;oSnzXC%2KPuYiiFgui2=j2#D08POjf7uoORD!1HF==4*G7U z1VqUZW`q)FcK=!8URhz%)+XhbbacRjy2;u0?H_L}wkT?L{lykIQpQq)FNAA@Kf)ay zzua}>r*cQ6{5Xm}J^UpH&SISMV!PBMlRC3!pjVnA=9 z=q|j*pb&Y>fHZ)VW?cl{Pk}0OYKh8+3ai5<81L!gH;U zj4b20F8t98>>tgXT*Bjh(_m7SsMRD$-8;N3VZZ*RDVYjj`b>ac7w$_{#mAv#F4Udg zTWX*zCjXK$MmBoblg?T`aBh5$JJyKP)11gBD%U%c+ht}Y$yRNnhhitmnzC?=aD}^` z!z2jGkgvnwjI>IOgRMmD*>zh+MrMGJia{kX;AmZ>BJW|Tv&Lm32sj%}=ln$~cZH0H zxj!jMF$Z&A4OKF=4zPcOGsaz74aM2Zv@_%J<7#Du9(Q1N(ow|SG$4F49%Lf73N zTvp_b?)j0kP5u~6CmEOps4l~9lsT)E5BX}iTDq-2%}9*s2jtNnq1NIe&))Kn`v`s* z(w-CbKZ3N2GkX6L0J$B$@*MtFG53za9ZRZc}YBS?ld?B zv)iS4Wr); zj0q*)?e}jjSR6%A{7*4jL!1 za@$FpKMQ5oX-8z|P(nwXVNB!XXQ!n>A4AOaqfHW=P?3X3ZA|5$1T0gNQ!GPCtRPc7 z`T6y)(Weje|Hax@1;rI@+XlDb?h>SNcMYzA#vK|75Zr<_?u}c}-~wo=MC2+JO;3eO^sw zl^Xj=2K<`Uy>HtzYKOT$toZ;lFfP`V-KtiH3=6mta@^wl)8UzYA0ey5EME*YzV&lQ z=RhhVHHv;nUc^!a3bQz_pJBU;n#2XLiu_C~>6fjpMX%s*htYCVXovXUSqzC%1`;xd z;%`0xsH6O2HB|pr5nuE^HRS}p+&!BdHV^KjmmiViji!mXnd>dU8;KSZo9NvW3=qVn z_Ha#RL0Cpm)go=1bi!OcVBCCVc;HuI^7P&iKsWXF%#=IPKEu4{pBAX~NSM;o)TWagk_raTG6s|jX2QR0zrHtTt0T0 z9&uR@)oPNSyXMT+p29-hHpS_t^k99f#zyKGg(5fXj!cF=J5ll3R+j0HOPNU^aD=+G zh&=jt6}L%97Uw|A=#W}5XVU}oI9e;&Y7FU|Ot@x{3fle7-dF21Y>{UlJ%y7ej`Ia( zT2FQQyROIe7(3zE6!M>fxt)$E+`lBSM(}mH`oxU;CUn~yC}q6sfN~kwz^S)Gw-(#ybOguE6+s=~muZUk6Ionx#SPaTTNLU&wtJ{bt(?t}%jABMDE;YU=p?FOo zXf7g5?{*2IGQ&xEds$&Q=cVB#6UXbSe!h?vC@A7A>vdEjvMM|r37pRz!g3_!(IL`& zJ943mHEIc~^Sf#zo>5{X>THODWeVUiiyjO)*qx|K>t_7RrH|5tT30%qAFb9FLMk<6 zl&ih0J^G;>qX;cZ--@OIfgM~45$l^1v>s^;`X;p6pN$hoV>N^-^sz2EthE5jZ!~+8 z!itD_bHAYoD>hUy{<;LEphZINg>)|Qn$5RlJ^%Rql0sK2;~-N|a|H|%-f$&3 zR}jZ;3eSB|5n#XApWs}+<2tc&z@AYHhw=w>o$g(rYDoBWzpjNa@&R$-R_rq-fxx#@ zz$BF6En$u{!a^~z+IN?|JO|zV#ZPHze^D4~{2r>9Cn=~_IT$nWeloH2#x*K&W-SzQ zHEDm`G1%Mg?ev+2aDI~>)Dr9+hQ)O$81`?_B?A)*H13;Qso}%Z*lRqT$)=AS3e(CV{RY*psxe1rhSJ@vV@xa?0VAnuuckWRiO5-cZ08B5NlLM6BqN9VtH4A zI7B5xx=y4Uk%lR!O!F_SNTHm;Bx8AJ#lm8oyE{QZkemB_XE^s`Tac}C^sMfOG-3Wz zC+{<6L82SsUMW4gU6Fml4fy0yI9a2$Ij?A9%}%V}b_l-s2KZBhV)X#FRoCap8O-Og z#m+?)rmm;JZr-1wB(+f$+5LS11z+vT8;AlwdUR+D!2IU8+7U&xqVkJ!tHIf4o+VF= zEAs&*rNqrg@(*JqEdA{~EC~E-Uppcu9R3!p-)Y?5MQow}_^Yd^ov|i&exG{tL|Y$d ze1O|0tG;+=Te$dWAQQ@PGd7Q1dnnNv*@SrVbW&0$@i#}~{dWyU=Fhi-&zKlyYp{p~ zg3Qm4>+Wro{gqHzReH;oE)9)Y)D24!M631%;XJ#xm!3YSUR0s%O+YU(Pt^rvThy77 z2`PaX;ze{Vo5evc&Ud2VxV&bzms=+dIiMiGqc+5LMwm!h(ygtQBG92b=>+LMtS+i# zRgSPEi~ELYas8^-m5#yNHI8aS?7|1L1PX*?y`@-$jD{);t@=vyE>MYEX#x(_R;Krcn#w4L*(XbSIwS zRK1aSJSg&s99)Fx^gJq1l~dTVfLY{RGk#2)XiD4B38CbDkk^(cJuVt~eD>c+_rJ|+ zwL-CA!!)IB;2b}pDA$^9aA+|v6MMA$xYbANNimKU7oFR1j^!Roq_k=cOa^P*#E;jH zJ$(f0>Uvv1qmh63X6kv-Z5mzYo4M5^4@4s77?m__Qz+Tu8zHUZwADj zan={9;c+NTeLPh#BHB6_-SKCqfVRg(@jmpzT7kzfpVSWfr{_;j#NQK5v*qokY1q{@ zXPlG6CJJcvYyBNV4r6aA3uE>LH>j#dW7_mGJfrIy=bv76)JC;bLk9Pj%b2Uh5Jy+F zT>tI$IGA~HAIFA*(YQ}7;&ILs#wW_}OXi|y6N&E}kYd>A_Psc&!<13H6dyWZ%Z{Lg zg87nQ)V?}q6I@|YOZtYg2$ON@FEVrtJUan71FQJg|5DJiq4vA>V&R5E(Zo~?WiYdS2?kO?1NbUGe*Ng zB&2QfRo?MLH?-Zny7aecXGJHj3)k{~Tm?js;gks@!YaSw=dY;uOTs>8G%#t~MWkln zJ=|NSzj?1jx1&Xv@;56H7S7l6uv8#D!cU0~iFu`GM{Z*DH_)=tPXyU>HuTF{KDDP` zWiIbCVjKQE6aY7x@~~ciGy&~)Ke!qz^p5OqAGX~KlEtkAg?)m$KI}aoz~6Bv&*g&*AL>!M86Z&aW)a+BgzkhdHRn8%xZ_ree)bX|hc(eW$7K$%xXU#2rhYga z-t*B{pqUkcr}hAg$Q^#jXvTvZ3Yd6FzqJX2NzIhh#GzJOmR+N}poP6H$_&psd3OXDeJn-K*kfBfuNN8JgIuNANxZOSVka7sP9^ zl`7g)DH|-p7!qmHf$0V%(Eijph7`1CW|KBOKt1qo^D)x}+eaPIGvFL&s+fO|@bUfX z*^n&L3Ga{%U~u+m7YqGMIcI4_AfV6NaKoQY4CQ%p`W8DNCfAXu|F}mw0={Cpmu7eQ zTW_gmD(GN@Ffm(IPkul#S2zC`xw`trmt`zT+C1n63pw%~wCL+l$uz1FK31YxQdBiz##TmR)9~or zjk--O|8oG1st1SApucKOi0!u&A0Jx{smXu^a5kAcdN=V&FuiMy3CgwAOEVmZ0ni>` z^~#4LqIoylSBt}duOqWxY9ZkWfPIpg*azoHcoz7ZT4@M!+WZUf{%<@9zRb1rv(jK+ zLTwJf9M>{QG?g5$#%hUQl7sGS13AE^ucr(X8xfz*8IWqDozw&R3dLx}pr$n|!NSL9 zf&_G=z0Q3r`AM3F`m%3y8^7j|nXao4g=K!SZ~ycdoVthbJS@x{C_v~ZEte^%Y2m;E zuJ{D`PM9+g$u&!v=k+YyCVW)m4$)i!Sa!!?g4Fs)s67hP(d7z_ zpCbvm>jFAzJ|yzpwAAzo$*i`>(UL?*(ls#?Ht1jwaG_rd>~kWhC2SvtzP!aR?fvT& za8ui%04+zTB&t3Rqh?bBrIX7fZ|1N^+^e+NGkA_b?g_doD6u( zb_tB4>JcfuXC5_;}S@1d?|UQOLgPka!o{>=!tP)NTX)3 z%k%4~o{}KRu@HuTyoQ^xZ4~AJ>un#hrcHRhy)wzTD;9%co68E>P&Db-@g>+s-X^}Z zxg?o|UfxiRf)Dplg%ZY%6iO@S;E?QQd)H)3AIf|YSh#p5&Gxrh1CnH7-Un~_uVwC8Bc)c=%w;D0K6rE_1OoU`+2>DQtY^U!Pm)61oZ$~xy=_^$ z+taoZYXSr%XciWP{V*?6nLeAe{ZGp8_eTfLMj4yUnHH|p_#M)LvueH?sGuB1n$GB) z+8^$D9IqDbmV!R(1|`en(ZgxejNNI&w*=$?!m(O65(5ghaR`TSB( zVu(L0hQBRjH^0vF6Vm0~nC{`UF)8JJ48MM<`gNFv=nPAt;>;9h;;GZaDR;Aks#3oN z&Xu1X?hMemE*Uy}ov#}mJ)eeWEkTi+`{+bsh#(z~M(qjnaocro^CG$+}; z!Fc_dXv=@fbHI%AseG#>@CLf+{5xvDPMMZH@Mw8=e)ar$r^$Flp!4K}UpY(B4oclA z>neTUd15PYJ?XHlg8R8fM)Ji#t+M-zF3xU|istJT9t$06d_ntTY(`{Lqe_P->*$OW z^OG_&t|hfKq^VEVOyNZ7mj+8awHB_yBIWx|0sAL`u-+slW87Z@P#|JA+C z@_TljaXTI-$z^4u>64&=+^_CMwykXQT3e#)jJT9K#8c0iWWL}BuIR#xFDI&F=_@X} zze3x0H~7OV60fv$19pZIzBOX2#!e`d2}L}lH(n!z6If?*!(FGeYx7JtUZQV3g9=5Cj1o4Y8oRH zeRUnz&=*m^6Vp+#{azW613m~CnC=XJl2p4(S3C8#XzNpK>pSbK`qTvamb;x2V-iYd zR@z0eN&su5;Q8gtT67C*_MdF@N@l+;mK?zdFg`pFIAFS?uA>#Vg6=y&%|np*{?*;+ zW`L>Fs;i+VuLSkvX~#{UThM)cktxP3s{j>$Rl8MEWockS0F5%6dCqa&G$o|-!^(yT zbZzK)m6|xf=0vo1Q`-8?=C>t13w({kVM8JPY!)M6g&k1Yr}S$xqo$7ZsG-aH@#Swf zX=f(z(kBQ{6@e*likCbYNfJ^KT!+^YqmU;Z^)?|Dc=Ib%#-%pvHRFIunDK1d^H1Bw z)}&ukR{(VBZ~80IYShLFFB2wmC`|xm@3qZ{;WA7m4t%%t=P#aY7vft51rMXQ?$mYN zvpUCY(zmu&)KZ~Fx7D4j^Lt$!j`_Hri@5R;@qBJ{q{33PkIVWLb=MxGZlYRW4SIeK zicEwd;N$ks%I+--ucketv|{cB^nzr@7i`w?gFSa1lgV^Yy${2_&AHyuuPMaX69(gg z4Omf$a2`XYKS^NMnsO*V6jzBoFXWDfKXlT`8IS{jlDTRJ{-}AKS%q)e!v$I1vStt- zx!7p=uWfg2B$NeWYmn$%zHCIXt#R8aetqiaZrB$h>|pvHHuFTr4h3-}&t21!Xl})c zfW#(Z|J2_tO(_l<>f$huWjU1>gQvA?-|Z`U)K=7XTH*O|_Lf#fY7bi+cvV0{4pd0P z!@;BY9&k|!!m4V+EXi~$E#J52bz~cUhBq7CBKT8V^JR%5IWK)|-s~SqeX}C@CEy@R z#pdv7ASd7I4bmnXgHN|wgaoTsg2XLUt@HYj(7K~MYe9qF*&h%o1JKgF>+t^kZ3=>v z%Nca63a-RJci_vmX8NOy^e{%PTRojR@U`o8XI7->vVtJ#u4)zad+dgN)zBW*b-t)G z#t~q79ZKmnm2@~nYJZ!hv&^9A^XBSR!D;u*eLeY(c*M;2keUX2SK$N8sEGT&B=0DW z9K6J1{|l#wR&CPq6eF8ot?Hqz#rPBarG_uj_e9kEhEuI9V(~92o~{Mv0}8X8~s3U9a>X0Bt(xc zBxU++JLv_@0TEwK=^?$xnl_8>_DS=ZLZ1i~WcIUrgi~yi0Qv1+5d|#Fm{Y7Jmm->9 zY&HVp)tyP>e2PWmDO(55%@qACwW&HI%NHwhP6 z9AGv*B)gi0S%;Kw1}6~HX80(4Ul*@9D@`Xeu;TIZKX3u9o};d?M8I;NR`ve=l?p(ENs$bgPGEz4rosd^CT_;#pv& z5uJfmYbiD!{7-$^M zo69U(^qs)E&$u0N7gMWH`d9Vnk>)VnCny_%_1B(!1ZK+y z!W>>$dvTv8;VrzH>sSJ@S92SDS)LD*|0ZRQvQ=LlQHYju1A497RwN!$a!15+`9yc;bAweya-#sp|hYTa@*+t@f zo(hIBU1CQHex>1SBluZ&m&l%4QHEcNy>(Dvh|bWSx0Z?{6{wsff3IC z=I`39Yw}i72K#!EaQllx1{E!;bDfi(?gD6ehvD zS9VSuNjw3%C*ey$(lEfHHx&*eZ=pG>+s9}!!K~Ma!cPnu8w45w5^8z*Z#a=8cJjeB z-m7mmD7!7vy4zgO%fLTjKoFUB7~M*TQb;oj(?=EMF>4FX88}MeQUGQm4=8hkgt;$W zd3n+ZP*j`6*L}5X-C(CjB0&AwRQ|VkFr$0fl4dD($z+E>j}9IrUBYXs?Y^n+SZ>UZ z=bvl!ts3ug%uU6vMe$@nM4AZrB&-9ejaJMA;>E8S>&54w?Zmb&HXZ?Wzr)o;m^{ksXSX?{@2p4 zhl(bqtjV2ubWn=)a?)W?HRgEZ3y-fBj7)wtYoY?Z0ajFX*uF0rD?xf`)lk5lh?${X zl2v2MZ@84%*%U515^iRk**m7-wtkURL)uT7ZNT??F9-aBz?>polfahMR-(ElcOtjE zmF+W{wWgtU?m2=;*Ysx@zWjuV1!Ut(ObPv1B8?VoZTQh-3(Sr})(*YrEjk|Xm@e870kuZ#Bl)?)hMMBi zLFAC#w@h3-zS}%TAMh``d##Ra}kfb0bnN>SN2g&ApL$4PJ$o#8p%avPP?~ z<_DBu@OFpL>sI=XKW12!HPh20-w(hj1m@p3*?nTR6eLQh=Y03kzRh!88jFoRJ_P?P zyuw8nVXt9WrY}3_m0YmP?xTTlx!FY<@Y8GacKzza11p<|H#hcqX@$>}DATFyhRl!G zJj*VDCsW>4Z8S4eV5&~B`#-enz~vD26nbi&IN8wpv#vxg4H)BP6NR_Ax4{=#ET=&v z;Z0pHdA$BUH&0asDHld62eQrh89oAXmH`J0HR7D`qo|pjuEPu{{d}7so|K@cRc0}} zegKmj5e9SdXBoTTo37vs_O}RP0?oa5s@uKP&3hG@wQl~(30}Ioi^9V5F+DdWJ0ea8 z9^XOJL~r#k_ABaAWiZBVJ-*&Zs36U2{Og=UwxA+4@Y0TvWolv>mGa(CZa|z*;FPU} zE)Q=`gXbAT@GipnDr2kMlZ*=j$8)PWE^wwJL++nZ7G}?dlb)#nlflex2s%b!GM}g8 zGtuEe=43cAb4l1&Y}O0a__-mfbXa$Dd3fLC5L5_wc}Ij;5QY@Bf0(B{WCs8r4g^WB z8fozQgrGm3y(l}nzOLnBouTM1x?kt&`vs+c-=A>uk0B`z+B5FL)F?;WwhH4EMJ5j&?E!4COf&TR}&Mv(-@TD}RM;cH&!?wJH~K(>n<8bUD`J`}quioSp> zfGO}(%$x7A%3ao`A%0P?hMkl(>v9Sz&(GAw0Ei~W{TF}6Cyn<{pvIcNGL7Of9I-J~>YE+0f3ElQp|HljztSvaH0^D5biVt`FNBQ& zh`AnJF*qw@udDY|ho;96lqsd9b!`{*y$f4bzv|;(&=huulG9rF#d8d33iu0C3*%@n z^zK(9<;n((T~kHQJ=<*v161Ce;h?fEc>|(<&H5Y^j=c}PbA47vx=YS6i^@Ccb7uI7 zANKMSTvff@R>%fh82&75%{cQ5w!#VZ)k*Cjry>9FyB5WsjyIR4pc;{Ii_0D#fs5O@0|t;=$-gnoa3?_*~2 zQ&900*m?k35Jl5GHTRRM z>nr9IfX+Gi^xaP)+?U8+HG=d)Hj45@dzOs}>=o#{Vw7SbPo%rKVK@if4fTmoM`%~c zpGaB7J3~E*>+Cau?kDOI*Q03Rfu^F$H`*Je1YZjQ`~~pm1zK1wWrNE~BzP1J?~*1}5bIo)BA zx+$sV1&Q76{?zKD3IL>V{0}s%B?5gCLo;|u$0YzrJ4aX@b+MWfH!B4@c`Q-oZppMh zS`A20;swKQo_)bs{TSk|gkI1X1_6k=6qNi~XIimGXhGW7$in~JzA%8zmO)%JZVng3 z#cT{r6_(MRos}*yW)b?Ji5x?)lHyUFY>U7AX;$0k{=UM4z*_G9=I8wtjJ!jhrMrVB zxA-j)b8{)I3EAT{pdtE)dKp(!A4F-b7smnX8p)prm+u+-pe>K&Q>2T{4*>d|OtIvE zOdI~x%FSx-kP$GT4IqXQ{Si?8|^n&IVuaSnLHVtYQMx{4zJKx`~^aMhe zWlO&On=v$&C~kwlphiPYm4MkmGkv23REd>7(C6NdWfc0O1W9IH03a4yi_0_0jkq?4 z*}ivl49&?tw8f9@z8cnO3DY+JUyjrg6#J_Czq*gT)!Vg|zg`wST`MlSEEfY43IU@V zVMw$@yGM2A{Vj^fIaqk78rI4EqqyYfv#hmMfW8WieIh|T|@naqV-%xAjLRg%#gxLO3-^^BJZBS zHU~FGw!hQ_;YnBba$|>13lYLEd+qGtS$Q#nA9YL@eY?d0-A3dxXSg6G82Fu$uJsz#%-;G zc$Xt0u!41$5;dPSG_-x*xR_LR*}kfT_@udT1(m_QjfS9}BQ3**2;(J(4^P$q^q+qP z+y6t2_y1)<{6F2KL|wiJIDSQoQj&k+FERNqDkMVT#Pl%BD|~vyTi=ePmz-$ZlfG>c zyBdDCK6Yn;1p0H{g^l!;y6fe*y&Sgw{~gLE;N4XW6egE@V#sa!`^&(r1oD23%RAXC zE);f(K=t-TQIE6tdFB5(8B*v#(TS&i#r&FgBXIA(cplUVEyEs*I(03CM$-}wORPnj z#+^tgTC7}rCOMZ_OOpbvNnKb>oum0Cy7dBGu%K;P(nAtcz~_$QFfRt!t|Yn2;B_yJNKNkQ0G2 ze5SA}v?69}p(_pw)?0$`OE87V6z9@cRT31druRUKFH>$c|MR+)*qyy&+2zVyEc+D3 zBng7-(mBSvIgOHIm&wAaH{zL1{qMIP>VElXx#s{n1xXy7iBIp4)x6pLO!3yqx0EI*-K||Ep1~ z|87E@^f&L)_EWdRLu#Hhf`=qtIWb*TVri1qU2D!Uf2KJkbGo>|N9yS|_g!y@q8QnV z9x@l6cMY$X*oRM&xgn!m49x~UPwseKaBp7MiHo({F{8>j=bU4r$FZ%%1b%D&M)_^H zjlKS>-?xBed2?Ix%M<RmGJ|x>+UIU3b+kKD=(Ic?n9m;eXU$`Ifj#=PN zl0s*CC`xFRrTEb0N7j2U>#y(VIp*rl!+YBmI&)kI`h7C`+?pI4}IMr+a~7RBgcekv=5}zTI6^PN)ROcA9)1i(%zqIsqL&pxab&ua zgI=~thce$))=bPCEpCaPg$lBRjpuj0U>ke`H}nkBtIcKcCVcco78>0WGp)$3k7tnaj;hI;ukO3xELZXWlobzC%# zgaCg%N7!vi)%i$7;EVTPK^?GYCVa8HCpT;yZSZk zfhKX4_RNZ%nLt->f+3|dImm44NuuN<$6ptk%JKYR@poZ9eb_@5%V*|c$I9}+Q{}+< zH_U=Cqyus2D;YJ+Q18emH z*(knbzvb*nvohkAAIJ)2N4=I0W72wqlV1b>mB2M zR$2w(N5=F~F^hSb1@%_;P;}NwAMJO8F z?h|wLgQ(t^F@P8!gJiDng=7N$-O)Owdj&JOQjcF0H@DcMR`k}IlIaF+Qe|d%*2L_W z=U98a0TXh;MU^xF%Q)4@1{G#A4z4M3q&70B^a=#34M&6z{R(Ugs&tv$LRXdoiUneQ!T#<$Qha^! zvwR)7r{zG>H&t1D?BSj(=OA!vUIcaMTGjZ+wbMytkG)@|;>Byby=(KNyioklr-wvD z^s&DrL}4XwndE@F8A7cP%p!6j*?%f<#TDY?N-NC+vsG&aA`n>H$R`(Bh~qkL3? zWr|`5o#ml@jM``!uytSPk}5wZ9$yW#?$_T&xKynC83Apdx}`|+wwxv-qYt+y1W5*} z(S~2QRQSSaiMuTdNueWv+xY_yyIveWM-~E(gQL%yBL1U@D@Bce{w1_AQ%Wb=37fX^ z<2kxP))4dKID=D4W$|z7AZfSj`J4un#lw=Ri-BA*HlB7|ezfUzPY?E1^OXlwof2-V zLECEOm8>}_0@ZrU4(#9H#{<4|HRWxEduL4*NADA z_LBeV5ZF6_`lojtNLB}E|Mw##kBC02iNJkJ|9?IARGqywt;>cIo@nQ^ojdSN^)t(O zVW@LP+dl*}!AQ^QeE~v>cbg*CSr*ej-WWMIbBn=$EQNFhLQH_kMY@9Pydu9S3~P(z z0lSIK)AaFqTS;dY*aJtONhT=ByGNu7+~Jne-H{W+r?hs0XgsWHJYouAC-4o3iM2+v zTulucExYOpDQnvicqE>`?zk_zlkZ_u<{B z%$pZDvK@WuXaG?wjXKsx_I6;nj!bxQz>Ko>Vl*trAu|=O&0YNtoOQ6#PmvrO+=(bZ zeg3kiw$-VV_)?u|e-Hf4135zPXe+wGa^BSXr{=%IlM~Kc^Sw0L@BH#Qp3mG-IBYX9 zV)9U9E79bV*!=Z~f%xPypNDF-ZRB$>vp!0;hKV>@G_oOM0d&baCy<}!f zaQQ8~@svwsO*PoxW3tH`e|i4Twi@gzO^uO~(KEYpJTX0Cv86pDvK2t;Y03rFu{p{y=MNxjbE~+1d zlo>pnmb3e^nQ=bQVdY(4{H?u<%`G^wC}|{)71Xjy&?At8J5b_^RKV6`_?x5cVmbUJ*>R z^>SQ{w`d?PuFmf4uLbVnZ?_Q_dIIgD$ZpZDJlDR4VAkaT`!*ZBqKa=`9|BHrL{S}= zL80`LqcBxuzzYa9lS|tg`o+SjBc!Kuzh6*#P*C}vE6h0HutK^IwL{u~tM~&%l#{mT zARs`tW0L6;nou4OvKksXAriD=l%kiK`;E>4anYNp*?C-jpxhEhiKJ7C++p^7EXUDWF zeE}(c?qVXBNYs#MQ5>AbFTSbTRrvR+u!D`)nxlN5j+QH=*Pkmw40KO{giI@0(LySR zLn1GjCz|Zgb?q2{CHuz`aR_76^_nPvkLd7WLQZTg3VG(0%K@%80qyW$5|(7RDNPt? zb*cV$Q^2TL0pt(6Hf~$$kMZR99`Y646Kb88R15kD0VmOm0qWl46iDo^&t-d`2wo1? zv-JB8P`d7`ngb2OsN+22X~nyGc5M>e;Av}4eI83!ZXd3l$UBraUERO@lF7ZHpw%x+ z|DWLl{9RzmKy!dKDO$J(NGwW>xP{h*;L!C~=Z-RM`65FYE#mE!WiPM4G58C@NZ0MF z$vju`EqiEUl7B2UW)7Qb@xEZQcl=A%^6eo~*i)b79vjJrp#(I$1GPhgQHu|D&dG%U zR*b2y4{Xk#LnbZ7dz3UA_OJ&o?Wz1b034@v_T-m)no@V$fptRAs9x5<^g;(Rln;YV zBWV?GE$3sGghIJIa}Ao-PEK1sr=Cr5(A+{=pgX}+BAT{F$-Yo=H{g+SkH>Yra2E#M zh@qa?ikwsebrQS1M{Xbvki{ixNz1i-=hL?`QK|)7UQW%urboA}7ztmRSCH#Dn;3B% zOXmrCz3`6rM9IC9es%l_H+}Hi^{2&(K9Exf&S%0H?;!f1Pqbj=`Wx&voKKnNWhqQ= z?_~1C4vbtof=LFAi@7Oi(lk|)C8@bRT=irzpbNU_P@ZQP$Myw9x zkWt3`#$W61Zv(#NP63d9IKF)Ht`nFMKF*Dae_)kx0_?>plEL);Bzhn7+TCb?Ys^%Zyd z)97G12Bl5pOHx^kv-N4W80ODH-u#Oa?$|T*a<`^8ynhuwpsN`*lp_2hT1S{6 zhuS`K$=*Z0s$a43Bl(xJkR=tBxK#LnuMVP#Gw`ZP0I80@)xMxl)M(`3L+494nXH`K zM)BfMQ|TNHw>;Sm0dOUcW_y>tOOkxbxrrO17?2i9VEvE}Y4v*Z%P;)v6f0~$?xBFS z`d_!D&x!mbfPX>EraeRwCSfk1?b1F=*rft-#-``>)Sz$US|zbn^*?0ia4S3YK;t zur7bE!Y>~~ayh6-SroO^-Vci2ghyb84N;H}(kUtIB={&w;qbF>e;DvWQSwQYP$A)({gxO(;^?pk9(1S$ z2|Vlb|LISHWsG|J4@!hFB3CWd1D7@dT5E!4+@<$SAd=M-&G70UzaHWTVc4*X!!#J2 zB$YoV^*v1=n40u}so2Aq8TP}a-7pQ${tj3`64osH**v*G&Bxu`BHsR==7FhFG<_e_ z3ck6tJISpqw9CyBSS4~Un!pRrjSxD%)OWz;fVMVx&xIrgUBjIA_Qf9gTwizhc7!{* zj@~uxxf}ags-zpx`grqutF!VsH_u0nMo0A`emK01Gdw{^LK*5f1c3H zOI;@Tg5z8sd-`uCnBNNxvykgqZ_O2S4i=?c(@X|6{l{iha_iSzcUK9sYa<(?#Zo8K z2a<*bwhlNrQb#KkO_USB7|3L6AsHVJ@77El|Sw7ueF5a_Bqa9z&Peg&WZ0y!`*1f&M9G66%ya+4wiURQ>^e;D?ixh z;?bR+8*PZE1a|&sZoZHAL<`e1KS`9t3Q8s>kQ%~zA77qP=TR1nu7yUj%OQ{6zDYa6 zJWgkj;e*{jDxp??Jd%213#(#F^$acT#QYil2CRsRyuS*Ht7ClIxu+i-CN6)#ki7Ml zZ7F*Whc`Mm&g&heQzc9e<0v=qNw^;J8e8tf|=Z#tsaClf$_UD6KOlilAl zJmS3sX1%Tt|0GhF0J+K0kqVgXjM{uCDn*vL|G4GrMcGZ4FFO^uO%~sv`SvHrVvBPN4?SOy7`1aXO_0^OfdX&0+Q;#eBe_UGSu0);y zDczYd+OnEASf;hX3Dds9gTof$5S4&TyLV^7$)@E938!qMz~xl2eD-GFexiLcW;yG zPVB2ylDoav{1t;oB9$AE!=9m~a!xynndvK9UTC#rw8cmM?DhSlgUu8+IQw|41S_am4cRv2#wABSe&oXP})2IKPUmmIM}|?*AAY zj|%>|b2dT>?7N}rgi+^toNd?HpHfneOWDKiKCQt5p=yD8*MM!1ngH;D(Mr(sF%Gr|P^SaoA6&SrQvi|m} z`hDk$5JJF+342sN|1-&asQfus(`<0Au-o|nJp#9P*qAA26VbBz>3Ssj+)-L&^=NK6 z4CH02=&~RBzA+J9+&AUdEL*yG-)OK&%FQnXo=;9`qdU4hWb7T+u@Z_A)BeIsu+7T> z$_&YH+uVU&-e#mGadh5OmzSs9dE1oAQ;An?y4n!RFm=bI)Q9}52m^<3aq;yXG_2DI z=Q#DL7w>qMhz0l9fSyO0?+*8=!8QwNo_vrXBXh4&qwDQm?CNj(5A;ef#P_6<;-4pU zy(^42*SG_<(s?2CeHf-uDqgF^o`3C{$5t4HhJ!$JC?NGy@5i(D1=Fn-CH$Xn?P+07 zXSpditW0do7V1YdL&_}U@O1;^!Q`z4Or2ohGaoIEb;#j><+X&aiLXG)Rdnd;_Da^y`Er7;XN*D#F1*gBP9)Q==;snXOPJS2&mlkj zXKzSVDvN+SU->+cI*R1P`3`X1p8S2oljx=-kG4%mT`&l*jhhcw$n}eJ~qAcM<#e#rQPftXT_S+6nPR<5=1;1$~l zFMY!7t7EdCewmAc_3~&#Fe3Z6JqpL|oLY=6hKRQX?+P`uQ!*6fl~i0)ltxh)Kf0!v z0hO{bcYUH{B5iD(sYjUC+z16pgzC`gi8xoQa%|TW!toXkw#8JWo_#$UGG)Dh;rnCT z+ktrOy;C)@N+;6sCSjAV!JG}P=8i=YZ#$~&2KgnrX}X4KuMuSA{W}%Ze^dN)Px(B- zT+VjW3&bzJ`b=BPc%1;CcBYlQ{#FRcR?;dOc2?Q4vm^lBo7`q3?%X4_e&SbnpnA+? z<-yU{*U>h`z;pK&b)9?6Dlu?9YJ}u-mwHh(e@}RJ4Vo|hj zSLUN4j!PZGQ8YR}YakA3urJOjrC^uFyDJfkvVz>i>h35lrifmhA-__46K|UFT5qyMV z=rqFhsXzMy^qXrjoh+K&eKmgD*8v{Oc5eBLD-_DM+)Asv!=wjC>Keop|6cm#0Ie|f zTF?5|Lsy#+Gg78uMKAS4W7Irg=CAX^HQrh)yAr$=&bO4$UL9J$ugf<|ruJVNkG(yE zMjytCuRIs&9Z-#Q+qq$shAOb|78Z6h9SR%jpA$0Y&4lZu%NbjJroD~S+l=zzhSUERI=V8| z%V?_=ex~ouS@5e<%ftC;I(u;1+Si*g^}`vhLHpBFE5Xahrd;ByhfG6EDyOLL?go-W zNH*MNS}ZpEEb7oyid=S^v&Td``~EI3=eY{oJ?&J9FWpqKVvbs^ zs)hXP_J)%OnDHR4_XRB0QknN;r+BX#Vl&&x6EEz(-BHy3JC|x^X{EcP_fK_-jZHl5 z5hjL*`{i?%l{={tSE}flw9oPPN^KJ64@t4|s~zNxh;axKQ!a@xGsQ!(7s4CAwZ@d& zXsXZ87aQVz&g1{;Hn>Y z$Qs?XyoZ-2ZJz8Z(;kKf0~9L|lc#%aXXC>!|Mjrz)r)JUR=ubdzjJ}}?{Fko>0<78 zs*mn*vFkHQ8=dj)zm9@<`Z}g!8hm9z6fNy$>l;1Ba$a#ge#yvpTt^Rse$U~FTRN!n zLKo~);q*}LzghoMb^ex^MQ3Soj2Pc@C8x+B_j^rOPm-@0UU-ZC;;76m4?jS`AW&8E z&k5QIr5sk(yxl~L6$&~@L}$BIZLJc%%=O+h?Yo@TkO9lkYsCHasrMc4k*Aph1F((| zSGQG0UM$X}sHgf$LVMy0UEsaVrV#qDKwPu#N_*tAUlXS@$hQb2+GaK(H)4P@A>nnW zxmAYe!tM+G_Vrfx*pJuv$LxE@W68mhB^GD6Y5#|&vyO`T``Y$b=|)0o=fr3ICJL2K6~HywTGX}rJzekWrB#Db?whC z5V9WkOrFjJbk+|o6Q@GSa4I_9%YTL!a+@m@-x8tuV0FZ0a+heK%Q`g+<5B&O_;M;{ z`}CJay8Oy8IgjZRn7NA#Hz&He8J0}xc}u}?-Q$Syxq{L+fUtA{Fo$2w@C_uUA&3{C$hH% zOd8OihMF-P9t%DBaWh3v%L>sv-ZSZN$cpnA6PAZ%O@l@FRjidyZsW%R|Co-qrhGVj z^5o_Q-JSjq{mM`V6dbq1SQ`qht-`v&Y|0n@wnZcnJr*}%-;dh+X`sss#O_>;}j zR+x?|v`@|ZZH0V8n(HVN%8slLTU0rFJG=kZLFqCFsf*r)?`DR39Cp;6-2(YOg~b}= z>~#Xgn;wj<^5v`9xV!Ux@@fTEY& zR}9vUY{=wRF8e-%xx`NP$`V~=s7x<9k=MqvZWB9rBhG@8_?BWSzo!zk=mwZ}?m`Eqf`%}l$eU|5Lhlc)C@gA>Nm}O8oM103;Ne$w^PT~puBD>c{ z&FjaUGx97##%G3B%=Cl`?gNLfCAzh(Kdi16BTSw(vGGFlkA8h6-n<95cBHUmQ`VUvxn87?gN-2HepW8=h(2Ve1?GYy8- z?M~vvPYaNPdm^sH9MF%N{9`w==O?*huU#rAjM^5j8m+^I5I}8y1;{hW4a@#E(%N@AS)aw*@;~yU0FX*fFhA~Xo=dz2w_V*)jw7;+2 zP`FdnNbE1g&u$!AW0b2L_$eFhRruJ1Jdw(CHOWV(^i^z8M~IP{X&U?u?&DWtE6692 zzGXVyD-*OlPa)>lT^T>#hj{yGHlct$bVniKxoB}nGS7ShLobv!y0GBt%Wpv3Pm*-q z-?LMVpr848!)RfAWq_d!jJ`MoHL6ez&K<3JGwWf9;TT2aaxLN!A#utIKcxzSNvM2O z$+i^|I_qXHaJ9rqXyT*z7Y;)U< zdN0o=zkQXf52`om$1`Scb*>~J+Ue$Zx$H&4jXD=#$X6Gy{|zf^wko?EXt$ z&R6DIhU4gqHnw-?IrN3Ezy#`7hkXWZxE$1!}!f0n^zHa_Erd@ZzqsIpLnYz zi_nv1IYsBOn>WSj*{8AjeU^@X-v9)L!l=^0K}*L01&;#!Udfevwx^1wWZbLBlJU78 zP3xw)&1GL$r;6W4TmEzL!71s|f4sEsp>yXd&aZ1Koa|c9-snC%lPBFH+lSKHz{QVQ z+9`>2z9J=1w$&Sr{UZ0>c8rL@UDxpq}JzVi2WX=<4#U~`qVdxXF6h;wpG3(0k(6XLfqAlY`{8xD^$UIHeeY{xQ>Xk8=Apf> zVp!Ja=|3_>5sOu=r?^r)EBQXbRFS1BV{I!Qc|(%V9v!9cG<34Aan;bjqBCexk7Io^ zcjIZ1d>!3mKfjWaY8e*l{scg!lyfcM?P2zx79Nk*q5nivI$8*f(PnVmXZK$V>Ni@I5Eb1lc znMQbk!(>d9%oc%QFz^4Rjq#geEmJY_=Elv9CPl&ohFK(QPNNwoXa?33c` z@I{t(uWkNq3WOZas5&$l+-t?9KYvXP0?LaNx?P&#nqAYvs?vGJyIoDjL=Fh8{96r* z*Xngp`{}DAq^B2q-wCIA{O|Cp?ZL)gKNw~Q`86fmjdeveq;wKmaDANEmr_7bPtGE| z?rna(gGP0HscQkHEqq84y}PS32*gQcLm4c-(Oy5fK<;wFll%MInHG2reIoPpfYDe` zF7D$Urp#{R<8|08i1WYQcS!+CQTuxNe8cy8=8LR#I$`%VwWi|qO{88d5*|H+x@zD$ zbm+sA*G-%9y#MuzqbkoFF0YE{Ly$x;nc(uI%)^bX+}Y3Jc5M9lw~cBkt)7;IyhNDr zH5p)iS!n&!MDmQx)|&F7I^h8-rkkIkqhqC0RV-DHRDY1Gcy!V?Hbb(LjC0G^!wx5S zUUv+4DEH7c)Sf8{|F+$m|KochHN3`M`y-CKu6^V-SBuu=_yT-Hy5Z*#T(6W&Y(UKL zWy8l~V-;z)exHz?<@Aq_*J6`)&e0A3a65f?4%VL!_}A1udoNZB>YfD zW8SPkmTCi&|FzqApNd>gWicub?hYLbM^KTuu%NE>yj<@G6qs3_f#j5>3xiP8A``~3 zc4%LJd{P#Iq(U(@l9Jk!24Gd(*f0yo48Q+W3Prc zC3omDBBA9IZY{*}*cE(+X175f`Q3Yd^VBxywm09gWcbxRSAF_ycvpD!_&)Y~zC`83 z;VfW<`vQF4LkEY2^aSLY1`1x&CZ<9}*o^a+8gZ!M%JOFuBPMLH z)zew?6`tQN8A4;;8J{PGHUctC5XpImpvH^A6~Z($Ght(4tt2w5@ql>w7-*s41>lkj zzqKV84EzBy453)<-1o#R6L6m6^6RSTvMqJ20eMs%QNU}9!qLG5T@KF5Fu`d+RGzF5 zUv~0$pDO#^mmzd)4>oH;wnE zL|Qva|5bI!8YX7hh~ut4O%@SmC!8@3fwuQ^avzU6Uu4D~okGPI^g4$BQXgcT-sfyX zddUN|9b(L_P>Y6LSYM_0+`e7ijYGh_&dl_bxijKT_4_kqhhB<#ISy!sx@}y&9`&WS zWQQ?loZl8C?vIN8TKYMy6(@CgxhH)UyvWqwBX?$AYz_m8w|~_3mz>Ck`Am&ig)KNs z4!C(c`ZcHy(I)O*&R$b)$Ie|j`b0eAp5n(PQrXHohGv@^158E2UcUAMD5I=%9~Kl1J@rzP)O@aL4xLel#tC z8B3ezkNAUO(4NQWh51}gXO0x1f``NPzBVer{f$T<$I)cJ*5Q=%a5mGZK`#?t7usw3GOPUEgs94)GS(bCqBMdMRS!C_s0euqhRFhld$bTAw^DdhKWP7 zB>QA;yM>KwwExAm(gX1UR|>_|-*sPhwT4VZtimjkLi7Kkji{Z&RQ0s@rRvO^15Ly=y$mAzS-mAw^ak0!}Vj8?W7GeNT$ zTL(_b6aV$v^~g7z82`GOlq(QfIj^MM7s|E#*Eys4nFQ&>ynoU%G~e<+i6Cr=+?4Q# zojaTU@%RWU%wVbujzIEZ0&wgAA%^cW`4Hho=s40<@a@Smv@Tzw=5lH6p5*c66%zY; zbW#7>%X(wME6?xzVsaR(0*G6+UAF`6PN$1^n6_h|t3_PX@>565);dV<;uuByla27@ zjVlLp*{0yQ*+W$2Q?WnKQN)mxq&0tjYIg3omk~HapN;@2=jtM`MfjKEo34@@iV3T3 z*XS-{MtH`20_sbP+JtD)Q62#~z21s@#}HdpP}=Z&ZkZ6rWXH+4K7vU`QZPos z_MQxNAfL9DQN!M&gSlvhOsw;ehIYp0j^)ckCwAvU;=)eP>$M^8?5EzPmxVE|Kwec0(27NhcXMmX7p_j*qQ?08%6Y*pzt2^7%zk-8TO>3;j zNp&+jrSXW^o;`-ZG+!nv@4s@N_|ddiDjz=;uCEx3wO*4h4D>XF!8AuVWRdY5ZOR6E z*&=%S+f-;b0$ZLVp@Kfq?|#_uS^55a9<|+UVDyzLMg+>`VJQ965{&_P3o{Jiduq@P zVcnmreY*!NSAL}811f$>NKfbRBn^`C2XXoC;?2kV3sW457*zCoeXndg;2}K3GHuJ`r%6!n3>6hoLlp~ zBKiypL&--SRHzPCxG&SzoL$}_;mb|489b06SJFjHGpehsrZG2(UkpqFF098#td5LR zqi8a^gutE@oWILC)Atjv$E${x{WCt|wYn?z)!6%r*J>tAsB%qRrQyB_5?5oJpiRs) zW#7GOs*2ZHT`N~CQ2fK+w~>dJk9}^5+Cq6<#&wv>Fr;%PY4V7x_vB}=o?V`Wt(LJ` z&%8gzY%{ut-;c-)8A*6)#yQMYIqi5nz2?`n6ZKbI0+4CBzTF!M%gkjm-P8LvmU{Lel?9e{QNQHag~5Q{zc5wNx{@xtsM9d0|%D ze8wAxJnHf0k7LktOeLA!k+VZYi%iw)jCWV<+~9$BD>Y|@%UgL=P`0H>LDZF~?drt&F1|9qar6gjUBLV*umi09)kSf`&*&3G z&*EuydB2RnvKV_AwYeqXNC|BXXtvn2jGy%Nmv(e(I2)>xCgR+Fy^iS|z?A-XyfU7B z;>Dc6viECsS&A!SKKxD^i(Ttj?&b+?eYpfU zMHerpVsTxcPK&$xZK5sxyQ_=n&PaR8C4m0kWR=mplc&+-oT(U6bk@H_-8BzmA-3|6Vsu^X`I%!R ziy6{_cCur06$aEh@9RdyM&Hd7JKa~cZFWqNMl>-*MhEU6N^*-c&1v!$uv!&8nvLUN1iuUQ(T2Nhj*9VwOdcjeTbTKN{ zr8agdk8Tf-AV?QQnNLu&>?`qnmVCv662gX%Sv14)Z-ZLZ@>9gf_lKUv#5zSvQ%8ZP zfIWeajx)c<{dvJ%ndhlJ#Hc7G zyg{~wxrgu4V{?+$O%uez;pZ7F+d|GiQj=?SN6KMAki zFEClI9!^}TXg2zeK|{UwJ5V3XRH*+Yy1_P9!qcL!v%fvn*kMFV6Lg`a`Vu1NU7CNj z$Bdw4Qt=Cz+IQ+ID+$cJAIUQ`OGuO}>)?E++z+Kb001^A!jMUXpw%sVpWRo53QC{# zv26NUQ(ZJgU7Df)T9WW35`P}CcB5qZ(R{MR*LIu1)7vSQJ@(E@zN-7fONW-VdA)3{ zl{oz&X`^%I$y3$k1z)65i zCO0HDWI(boFv2OVFl*+Ts3e(YsO3B+k1>JSTO2$wM5OQNT!>#7Ov7N`;YG^i@(ZGwl3yfQ8&n>RJq>)8cP_0H4wx%CWz^OjW>|v$bYadl5~bl z)@+sz(UhDW43J*ci`);M*c0^xH-7G#>t%IVdx>KFktR6^l$x>Hhr4?dxufJm?0?=q z8NC~{yE;g!51GD3%Ie^gJqV`4*ku@1H!z|5-m8k3ke8i`T0++O8kyB*KhYk;D>UN? zJM^OORI6^kPoYN1G#7m9AwkCo0^&&*KrlgD@V*N~Qm~t;lH(kzUgeC-^nNtO3IjDH z7b(+DKjhS|t#!S0fTpApXPtVSbZ@xz93sCdo7KY7_Pm5ECBfC>RDlTge{X8Vb|&Jy z@O&5hq}@{LX1ha6>%dW2QI@=W$4QcvTleQWjIZCr=?f$mY9ZJ@r28B|{`a+e&^WDX z30>Ls)((s4yyRK|4OmmyYC^f;Mx3Zw<5;oMnzAlrs?wAhwS{y?5kN7K+2W~8C8s-7 z3teH;wz$fgMrh2ZixAUX|0*?+BeUac=UXyCm&_FPPOw{rPd!3W-QHIvtWu>{0JK}u zRK=KE`4SxK5xe$^;%cZlX^ImQ%QN+|P8jRBuV(6+*9c5D5C2HF(*TRoAp@^w=Sh|k zX!VY0Eyw5ZSo8o+eroMdXaPTMyM-Qh!ADOz5P_Kp*8F!=#$bI0vChh9o)oB(?ZE7bH}!JgL2D*zR~m8 zZ{LOZ+vm%F9N{cf11h?WOXdE1w1)9W!KXdYmmde&UwQL#XZ=xgX2d*S>CwMD>`wSy zB|3Nf%+K*U8A^}t*qaWW!ti0Vnv~FvPiGY|vrh|Pax_YDtAZuEO1^tdpJlY`y8NzV`u^l^TJQ#`u`HFt(=-OG^^AZfTubyxjMvNve zi9rQZ{aq1FxWSS#QJQ&mJ>YW=I1QCxkVmU}QL%zGha13>(P&x6d-y3$fYY)NQkz7$ z-u4MHG)pknoB)E}?diZ?r;vIsVDFya!c})n=Na{(87cv@nLB0H!@}Mt*~ehco+&Kj zXqJaC*u$|(aXx2QM#;%KX6^`N`=3De8e8*RzkDJbgd9-ZT$JD^zoo9&WlhZ8-ooM% z>n@T9FPLd5pour`MySEaA2q7zD9=+cV8v9_^`pU*YUR-!Z&aVwuch1S4o~oiDI@(9 z{f9F!LsSk)u8Lea73$UXZ~%o2x`~#hpfY(|1D3jXSLgc{^pqI%4z|N7_OV1g;2mZH zoZRWQUl-T!mKLnpEiJ*{>@snUu>a1JFsR9AUQ^`VsYCVdnso$bngvky7x3Bho%;>4 z@5iL%S=UkW?r9)-bOnH-7WBhlMnHDmSxgAOftr5#undE$c>z9+edi%oL{l5Rl4Ejp z>mad>3+AEaxOsN!5f_krel9j(&p$7~mC^=S>3O#FFc|a}oQEA%RLFmUV!k&CPP!C2 zcKUbSn26o7LxHwILO*KkX1PjjJO~Ntgii_WOD|#%$H~9Ig%IB;a%&b$25#Ka5scvQ z7`O?)Tec~0kUwDS*m)=L4M!Rif!+r=PUwIBu4h}2T=1pUg$!l>gYQ26WY`)$3qsby z+drp(L3|+MFF^z?7^8y;q*>)|62;6pb!^=ZBWlKfFtSg4x|==`TkxC%m**n$&odzF z%d^5bI-9B;5PJr;cOvV#hl+N0-cKsktof7-Hn>%Q>O!M(JdXlUVq@XOGxTF(!T1YQ=MHAHT zdCc(O@}3MA1~$@-%oBQCry58I}~H(l^n(VWrHCNfJ?Ods6I_ zHAXQ*`jVM5LyQ3J1zJ9L{gxaYO&IFfz0_0h=Fs4Pjxuy8G zKR@p}eM_?q3m=EKr+zBBf-8ulGCY9SL_;;zBrPiX`o`a=rWG% zS>h_)BwcJV9-mjt zBQhj#!!xxHP`4*g16PK#0@SbE zIQG3bae~feK}4KD{68wN3>W$#eIA=O)q-Wi*thOc0SkK1`WtRsZo;PxDC)&OCE={v*CbagF<~`yfw6 zcbE02cwKvc=~njM;`hbq9CdGdA&vIJ$~i5GJQPR4Y;<;7>K9eZMY@`?T>I-ENKT+vYVZa*qn+~;N%3x40{1cs|+-CIH ztq%+Jm%R$y)LrdBdw(!l(0<#VH=+~2oxED~?{iA-7}351r(Q$)(Pxx&(&#iSaD)ze zJdf^jVS%S24*rr=nuaePx3evz%Q3KWJ;Ub!YWrE%;z^JOlQI1=j@wz`Ap{#p zSNdcE@f$&0l^}Y*XHF1y=5iVOL`(yILW%VBPqZR4d?A*3`@uMLW=3 zWFSQor@$WUtvKeMLzWoQcH07~tca36(Fra=ZkX_M@LBFD=XnwuV<_k)WU6H>zo`PB zNp4h=0%6hb&kdtH^bXqR^pr;i`ipdJVv-(3|C~~Cuf^3^EO%Q677!j~Kf*e5{9KK5 zh%Sy6+KP|=9;r1kJTfEFk6YwV>eX{{)pj%Yna`3JOv5$S?1i--Usd3>`fb68QpeSAw%yo z^TAA*C7sr36?8u2<~5Q_4#x}IPH@1ngpOR5yYbx|r4g6;c6Xj*zwibGS>F!koI%GN znBky$j?IY4(@kWoK+}SqWK^QneBn5Im4Xy=_7`I0e>TsXG@vl|O|?v5Up_bvBtM=E z==cUbqDUj+En7_|*!wC_X*i{#W466c!j{Au=@t)pUkv$7m-=(PyJ0pli7ScyeJIA; zI$xqNuaNBdiQ+$xOiu!v2tz*IAxgK^pnFtU;_$s9`zi*t4dsNP4cc;H@a#cH(;`xA z_R}Zgyb~$7X;4xbPG($~rUbg;{gez}9%7)%&j*E8OpWLn-f`xJObukWOOEI{M#rHM z63y(iV_$R6^|96&Se}UWC3;4Klh6l}V0(1Oyb=yY`RH@YIy5NWMg$OCi^RL#7nr!B zvQ@_BU0dsoCIdgKYbBR+tcMJ98J4fQ72`$ojGN?ICPr8QcNGo1r>#v}aLVZFdi@U6J}OWQ^NJpxJ;@yK+5!%i4EUq;c}psZE0j z2z&L5g_E!*CPhp<7uUFqSaxMqZ9m^3 zH<%rN|D@nN_2r|;>&<2$i4bpxnsx4(V#lL05zs^6JDgL-RhpGwx%(#xZ)IturJwzi z{Xh#cLRZKF&E`zlwdy?lhzy=Y5FJiTE**8M=FE=M7ofRI-imD0MO}fHn^UW|U0D3y zzzfRSJ^Gn_XGIPIl;yw`6&h3<%(Qjj%m3#>kdi$rCgLXdUGSmDp|h-N30ODJM-84( z9X-}=W0VJ`U1FNoaGlmRx1J7`S=49jLttUkHz`NUGd(qxfhpTzU+m`)G?ai8R%{nH zj)%*I4jjEgZ>u#XND!#zN50n&D}jq4OPZ

`j_V(F*55$q6cJ>Suaa+sZPK8BROl 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ℜ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�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

D?|(+cN#=ow%dA!Iv$8 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

jcT=@XXi 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 Ppcn-JD1Dnn3;_5a@5v&d delta 119849 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

y@$+3>z$&HvvAI(}VZ6UBAl71z z@(L)KscTkyZo+ublaFwjUp$`X%?XyTKf>LAQR%6M8G?>**JV>6lDp`G$KgEJ8roQih)l~)Z;j*s+GWP{U&Y;f)*8=UQA zgL4rWoG&l@FgP0^gVVi?vKlft`CRha*9=a_*xNzZdo1MwTXNGRUzur4y!|jx5_F}U z4(|2Noi$~r+Mo)Kqe-s&W4!qGX}??A{a%kwCcVHe7-^qEno3D|PRWa0WXpdQqc?&Y za#i3JF#<(I-t$t-QPWW$W{gAQKj#jk&AM{$awn^?3Qis=pw&QQI+&!gH_LIjtrjl7 zw*#R5C2D`Y9NVtJxHw6KB>Ps*PBvz(&zYXOhwGf4M_QiQf85O{XLr+w?Nz&3o=y)6 zr|Y(|1T-9N^@omdeyyS42seLN036{`e>%d^LPt2d&1J375su>f5zgr@bc9R28w4HU z=DXMA<4Ta9q`^bzYs>0ulzqKd?d&V1=^E$F+g`vKC|SnY?OuzE9wb$OXg!P)WqJN> zzz%n)7P0ZNI5vFmfe)KbROA9en_M2F@6ZFrKn)7oHM8~S3c}{n4_jOsFC|z}I8n3q z-A%&GpCMd27ce!Z0_Wf7dxh|5US59KfZ~|*V=d$PzVfoN_$JpEAy)k!kN#p@fu3Pc zt7L>+30w4xeDTSKs=&80LGVb~9n0N(ucsFDj-5j0dC??0iELgf9NB#J$*^!y@$R?Q zO%w@-8-gPty|}+Ij=-kmFAgN5_yw(sbrMfG{eMs5ZLRvBm3a4_W1esxzO@~`^_}YC z#U;M!sKBLs!DCO22?nZp+-b*xj0p-?brqQD;4BG?Z@%?Gw=>JBX9X91cIx&9U!edF zCnK_l4H=_m5yUEUzY+6O`?6=PeaXGrzVuydUmji8zEt?BeaQf|FDs$;C33N-8?-MA zu~kw%yI0zmR@#pgW*m`MDr8k`Cqeu2a`gmpAKVkPFPrgEF@-`Gf$)rZH;rhhqVX19 zcwBM`C$?jKWl_8b1+_1=LHm;7NBfd(wSD>IU$rlVAU^F+?aT3>+m|}OXkQBa54SJ( zg7zgDPRn2ay?wd$d;9X}JVlre32I+PY|H#@`?7zfeHpjDeOdlf`%+=0eQC3IQWv@b;>`#pwfa-oTf;Q$1nis2pN0S zHQ4dv40i&Y;e5*!gO8+AkIPuazKk^`3iB(6<=kSg%pMSpWu!>?-+fQ+w!Q zJR52%roHy>H%QMgm#d8L!&P+s$(qUBTrr!1SBsZje;BSlF7Ujy2g z%C(Lw?aQvZd!T)3XuKnzrD^c%tqNnBQJAc9VH_46u^a`pFKI#hvZDO9z1benz6^tN zwRm5yX?H4V8;?iN2^DJP!FNUeIKxq_JHt&+y=DMsIHMnDxUqrQZd+!RVz$-YDC=xw ze##^~EKhi~eQA2nD!`*4{w2Jnz%YC=H>E?lkQl-8+5R0V?u34#UzpOHia`?5SQ!60 zH_2G1Sk;%b*fm-HOwsI$iFCU|#WNjGwn!n@Nhk#r*Ci$cxlGKm@8 z1Y7uh)l`8(c4Afalm!Y|aL5m17>;qi#XW>}P==2qLtDozh*N3d+?7~#yH@Q=`?582 zU?sg)*oySF(@l625S37X5bT=?wmV@Xjie7M7&+Etr>LrsyL=`HY6HHs(--~c$^x==Z#xkOp;UeBO41Q2*WS4&86Z4QI+N?=&d8@J60`&$(2?U3}NNc zpnnLdqpvKnjCkDY?oSq{MJ}*7?I4TOnQU>|S@y-98sE>n zBMUER@i5Jr13NHZyIoM@7~&DnK{4=m1m`wz-I)mALdFDn)&P*>N;7U!C}8X^AO;#A*VZ;@CF4g;mhX%}+Tdgn^}^>5;W zl=dqFCM^^nBap#pAU>8I3dP3~L?3_bQ{Vqa}^%jMn-xD!F%1_NXCA9_Hm((+1AFUI5o)Vm~Kw?OGK$X|3ond{LNz`3}( z3CAXL{_q2`(t@sAd6rMt&RZ^`H;%oQm4r{csFk1HW!qR4A{ja$H(GR6p_da-C#E`- zgSxL@AVIZCvAGeDL4povVskNI0)R?x#|U*$gzW(`(PDq27(@TcEe-f%@G^Z`YHjTw9VeWsR;U)edPWnT9)MtGvVS==8}9TN@VL}-PtOY5iQY83K>g@ zc??L3gl{v-p9e+QE-(edpMj8NMa0*X_(xl27Ny>t@J2n#7my4%j`5{aWm_gq*%!l) zA#Er9f=d`SJpR@vmM~Zb$QD>Ywund@@77}N_Xz01pK#tUEY6gO6_c{FSS4HFe~>Nw z{zkSy`j$k_lyAQpB2c+-?A<|$$kgMViUQG}F9IERctGrY*9{Vs3Ilamdj&GlLR>3= z+`}~AWHwOx0O0;99&h2;@u{;-O8grjUVKo)9eWs6#dQwAPad#teIkR~0JUeqZ=(s0 zNfuwzEB7bs5>P9G0Eh)NEWb@ckuj*F31!Ftykswcmt2U3;h>J@YAo&h71a3{Zp$=Z z*vpF%_g*!hSn1j#cFp-pznd&9_6!#pr4pzj==Cqh!guS3`8{K#57mko?fS~RW!~z+ z8>#rH{f`U}8dr%hQ)KeA$=nP*tnOO65LW-~_R(!<59R98~-bIcm$jLbh0nD;yv=OrvZ!aJt?I+Vzwxw*AbVtIX;mZ1<>Q z+wX91vn^jowpiwAG6Q4_HZs{FtKN*Sb!%Z=Hn!R!=@gBPDm}m0esI`vOXL#PJlXbg z5Wvs6aDZ$f0Ff<>R>>A=7T6b&*96=q_TdYf>sOfqt>LrpM2WL<>p=nhk1p z+SJyJ>|U(~EZLq$bC1=TVO@gf@2wUvvE%~gtIGC?xOvMGP{1rF#n~4hZKa~BUAp6h zdP&UgbUMs;Y3aU*nyEWixvo%_BQcj_z&Ec~@WfSQL!m|8m$wesCqCj5i#E(PT6xib zmR7}rFO)uJO%A3ym~nO`ut|)Vp4{0bbTkxc)iIddVl|-_R<02&G1lRud;@5!-EF$H?w;bs?;~VuPRpzK-eo+AR)((+2D4XA? zO3sf7zh0lsKYy|JJ?FF~$mVN|Z6;^)Zx*RC(L&k$gw<^R+@s}x<8)=8d5S2z{ zW^DoT@C|)FHgTVLj63c~+q)OvZjawZ8J49a4|A8+vhWIQ{1h5s+QuZNXaAhvZ(3f& z2qqO~A*A&oP5<0>!L1ul1&rLfC81q^ASqx(O~$JcN2^pln+&vEerIlg!D64-zBZl; zMeW+dQW1K$YQj9{wlk8J4jHT8oO0D`>~^NxK2UFB$hyzj879u$nwiBx3|8}(jJ<0D z%s%(K@w#W652(J9=A*&UBJj!hh4Fa>_5l{*%dL?{g&JYH@wOMdVm|*B8U}7y|p@lFy$ZMFc=ve=Do4k2m*(>e7_%+@Il}(y3=HE*m12j&9&k~E`$8o zRVY6uR#){L%8zAy2Zz}1P&7?gTv^S|8;(BBLIgj(i=I7 z>_+)NVIrKPt-F5Z#6HyRhK~o%b!>bL>!VZ4SV#*s9zDaTU+`t|&HAE08IXm|Zj1{| z-5F14q>`9B&72@V;5RH^hQd;wDnih2uYqxCTw&L$zd(ZM6(?|e%*-~k0Wug__&_Ht z*Ev>{^*$yDXtDpZvPEC-2C~kAgil$F_nPuKGWQU;lyW$WD)m>PT4~QjKPfbF1j`L^ zM(zYD?HP~OKZ3)u{u6N66DIW>C_iSg3JxopE%FgPg@g=A5G{%)JCqE--+U)$F|5wg z1f7)}-cW&sp%sU7J=fvqukfS8Itp#sUsd9-^f^?!O+kQvz~-QaONK-^Zr)#A>G#|X zzX^O!sFYQ_a!t{4S|`#A1`rnzkb(jp&+z^&Z~`T)k0C)iADcX*TtK57(&u`z%bE8L zS1-u;*G2S^Fsv7t!r+yX%QO342h?d*bS( zb{64s-BjJRqT(uZ}tH66To8LqCJ)4gV{A)I!Xf#I?1iN;sChK$##l}kU{Ro=glnh3< zJwO8Wo`Uy{xX(mD_=*uekoSNx`Im433P4c3b)~+~PPL6p3S+u0VLn)?d5Me=>u#jj zaahE*0dlXe1NXXd6+(eEX*y}&p}Z%!@lTow_a-$-CTP+F&^4gQ7@2DUWym0|1vx_o zxE6CDL$>}$!ESCi`8c9|oD!!nn{*UPkBLT4s=YQd-sIeak^VM*6Pb2)kegvykZ8z* zb_%Dg{!G9rOm5?5d>gTuQbY1c(BA9iw}mHI&%SUgwe@QJ_VqYrPLC4{#Vk*oXp!U| zTJ1C;b`|$h>8-I_g8}`bO5m)DTWP|Pac2jVG2JZjHa~rey9-e_54I=gS+A{7UKr(M zxJZP)qfX{v|JT&&&xLkVLi7$gp~+)7`)P7E9|5xYjw{*xkMJ(ep;qtZ?9B#@t_kXo ztxwm*?qg@`9ld$ek*AK<@pKx)`fR>Oi1V{MHHzeH{u_jISUy*qNlNi|w#8Y%w&*^k zZqq(}u5{weU69Rh0onX)ayDOWHJcBZ{yEYhn{SVs17O*$+JPR;jFNp%6ke3(US#f| z?KE{nAQ(po4VQ$Yc5sA1YfAlBOS?!?N*U&N)pf8q#Lduy$?AtwPcc5EW#4sDFT93W z)_AhcnJGKLZdY#UZR^F`4H+?ZcrCj5j=-)jO#}DzGE+Im3mvkH1d*92V|aI0QjW_| zNab^XBVLm|DT*JJ-jJrPvmG5!#3eXxh%|ezSI$}GJSEU#4>VDv-x8X%gbh{1UWb@+LXA@6CT?Lw>Nti{Le z1O4;H`74l%iJ2aCnyfy8zBPMv_ijluvB_cILp$VxDzd+BrFIZ>+Km!A6IxD>cfsB* zjd+$We0iaKaag^b&p`B3issRrvC^ED);!7mT{%{cv2&&j4m3Jhx_j`E2MXxtlGDy2 zt#tH{hw!$>=9|PSvhG3}zJQY=YA-S;TYL9f?X}5E`v@~Tp;~E*)imm%9%DyE4f;Mw zT%tO($t1b?&g&9f&E4EScS58QKId)1J`{_wf^_^r#jC2MNb#$tDQ48{sLVkv*-nd> zW3_=L-xN|*r-QmvcuMCGSFEz{v4IWI(2kv^?=OcuuT^XcH7ugbf0(aopWxd>ew zI>iKvDX&T1Vkr*(3JPUU3O}S>C@c>=|=pxkfD(#%?NB_)4`Lu*(j~2)Tcy7Z0s$;M+^?2SCR&nErbxkoHLqcCD|mhZ4CS zu%UhEq-k~p1lY*nCIdE}^wl|(k^vivx`m286f|I6N_FP}}+!2b*9GeK1E9G%j2v7n;lYejv6QAU?~d`(AoGtN2G zsHhT~6h^(H-kc3jhdU#We>_WH*rWsZL7%LlN7&BKq-jv)WS4|O?aNPo-Kx8C10|P? zK>Jd|zl2lZu1WX3^Ft-+XFH+xWi@DDE_8MxkC;|}O?g^eOzsDCa`W1)kYTyVWLP`z z+YfC|0y6A49n|Fp51qZrxIjOk5V_h9&_wx|H*IZf1!Pz;K!z0)`k}5~_W&~Nmq{`i zRvD0C3pX=BWY}}$egJaw+N`~$J1sS$^>TqrW z_@I5XbLTGILK+#^c~jaLEkkCD=J?s&YL=r_@bL8UFZAxxYKg4%X>>{FY#wSq1IwA^ zX(PL2p2~Gd$T#i|`}UTjK4Xy8IpHow-jI)SXcv9U$8Ej($2MH$)sSLm{l}U7$C>=c znf$-yOfKJ@G`2%mX7f9-yDvLlmt(rR70qDKct7o7X?SF&**lBy$_F}Ib3!Gsw@E9Z2Br*wiUw5`hCaC7XKA5s|N5G zRDi$FdkpcQ<^kYslmmm568Z)u0@`@m2$nM;JO&lOV}OmP4PXpvGZ;3f0t@J(7r>g= zhNs%#2<-lAJjTkpCPL{aJO=+p6o!F1Kd%*L{A6IZWmy_|h%+ZbUx!x!CE9{-u-ZNv z`~xrhWCbt#ay?#_>LTeN z>K|XqGw`YF@QZ@q)tT&WAR3Q@et_r~*+kIbRM+{@4`9t8IAv;TrjS~9uQfQc!dTY& z0a-u#0Vn@U{eV~Get>3OT~1<)C%GRW^;17!^0)nffwg{sz%Tj%wZHEN#CE6t=m!X* zQbsA{ZPh@L-nXtKJ#BKV4%Y(p1Mt>X+3misXhA=KtGY-ePlntN=&vA6mrwL8H^RfX z!-AxiENldC^@KwGfM9GQxDgKA$yYaF7!~N^HdQ9~1Cnnrtn>q9$o&A~YCoW>YvkvC z07h!6+(B&;x8GPZP{ZEtQKzSUk-;nOF*G;J#I3J9)-2BI7@as&DcFc>8lE*3VOZvm$ds}W8G4paI@9|t zK$a`jol18SbbH&c3TtJt-ldr}ZYEw+C#|$rNXLe}~!#`DGrDyM-e%aBK*S0*9 zra3W+K(rDvl3=l5&DvKaCp^}uV6Ra(86kSa64r-l~Jbg|(G-3ye z>E4Wt<+=DR`z}pZ#}qhW?bPDypSUlW$C4I_o;*XkqcVO(9?UBMm#wIn?V8ZeN@Q>` zthkOhB_&{68j}+O0w-)EKl}E-SrUvhX*U!JF3CRIX%mu_Qg?r&&GeV<2S+BVzm_~L zMgeg~VBRosFhorXx_u$&G0^P`e>LqwZt$~Hdu@FHsai5Om>S%^A^^7^UAn^U?;)!* zibgugYt$YwMQ(4luC_N1q|$=+Wdat+A-h_enW&ydqnGV{UCED%rf*?4S9LorTV|`F?jQ@LZ4Au_?$DRxHo0kM= z*IDm1-AN9PWd(qK#b4PNGq&VWB-qL*66fkD(#ggXu8TuPWbW8=2}h#FF))f014faS z5No4IrWeFK zxcQ_&v3v?|=BLx6tFe4Uh)8u_*Mo>u{=1hd$IcpmWWS@e^}C1Z%*DeN-^abpHPujD zvyy7lT0m^E^qqe}xYqkq^gao5-cF2bdq`xHlaP6Pk>;skMGTA|rp6Tx#qziQGM29{ z^s87toc2d7pFq9#jNe}pxdO00mOr)@%U3xR<&z&C-bRk)S9g@(%Yb6}BXYlv z<>#)(@}=NRe~IPe$gzCuedJg^{zoi-ZY`ECyAsQ9yy`Cw|0$Lq2b!1QE$ye~<=pz_ zrRLAg%h><4d1-X(gbWTQ2VphpC6h;`Vq?KUV~Vy zP9jYy0oRl)rhs2bR#)c0z$AYI_?0{>>Iw>um4o0I3=&fpKyVCFSMDG}}ppM-tNTSkzqoV6FauoU?kDZ%Z!Z zZQ=)rquMs&`6^t>X!inXtT#G{>}|4txwgXXZz6k}$Q5qClAYZ;Zxg?tkk;K&Sh6LI z4siR)lbPJ1L$$aCZ_mO8IDGtCp}v)3*t7F3(wLc&7U}+s_WXN2<6-dY5Vv1ej6)zI z=jEkD4926vbo!=Qdt0SLVF-Z~*5e_T*zMI3ngJKZ99_PD25+^PhQKvDSh(*yDR60_{BO@{jWneP zlWw#og=?i>BAI|}zRHA>x4wqivX!udbDJ@i4(FFSjc7Wrc|C3+oNEDfJ}J1+L92%! z#WCh#h_K7mOo`1ctcV!H#Ic?Tl!eibVcPUw_*U5lFFV*Neon+HPoA7ijR`luR$E`qaJ&*iw;mMw$MK9uT*+)cW;7?U{2-850@US4rGpY`6_*fnu9 zg`*ZfCjLAgjS3#ce!z81COUL05yhk*F0|N0Ws{g(WvG041S(%PXr9j& z?DxQ1qx<4}_~@!^m)1I%)_mYXPID9bUK(;Ic9hTy|vPem^J&z)tS47A{;V z2cV(uC9WJ73%ZxRpnKW-bN6yP)VSe%%gOS!eotI{>UR(Ler1mqkvnJ^IV^NFahiOR>2l-QC+1aA5NC$*|PTkvJ-a9V7D2^z7o%5u!JkUZ?iG zFW>kWh(IqO>$bbrs)T^1@`I8CLJq^5!9Zp7T>q2&^ZcmW+=%e_XjQJ5Pij|aG@B>} zs8SJ%BXwK8!NH=X<&_8!?F8GF(GUlOJk#Va3Pu;jRyLU!5n23P#~}PhG}!4m7G3`h zFtp|XLrVfDsX_VF~*#mLINx<9le0Qed%fUf~gFwwk+5&ku| z*Yh>#T}8!j@BJfRBW#VYaWDA4qkPG}u6)V)r-H!3f3YC2@b47_ewx1gMM1#l*98G^ zzxuBg1dP@f1T?=F1k6?n0?A;Y$peyX{-PK3APv_G_MgZa&Rz7v?G+6N4K#TGr3vQL zAAEqWY@5MA6Zy&pePiXy_RE1L@<@8K=uZPpVWAIt7JNO`JI6plV8(t76a;)}(XyGR z>BF>OW5nUJTjr(ylY&6eW z^)Xcq5t-?Blf%ve3zcWoV54!(fUuEr8hxrdCoYYmSOsxZT0IaObw*;iALQ6Vw3#yhD0d56)8Y5m_n%6D@BAZk@i2CkR++ zq@mRvfAD3QE-Dq@%p1+j`3@qr zgLS))s>i)Z1`M?6JIjmOScrjE7hG2pL&z&&NH(k6sA`U_#W$Ca`dg-}r{wIm37eqH zWyjvVIEPYt>$}32jU)4ANh^HWjo1*hAk~mlFE{E2)$K<`5tyV{dnp;+%3~nt7{iymTMfEJ|jvE1eMczKWGnuxopqn&g zJ4Z-spWvQ@-R;N6+84c$!5FHKBkfhV?dD5LjGR?lsG4vSrp4;gW_I52RJjOMapUFxu-#nqF{5p>j=3YKyjLBZ7ab=&Qc6(4M3NT%%b?G2xge)x(0^1fX=t))&XUd>TE z8&f3dfLb;IU<)b$w$M2Rz!n-mfh{P%llv_|J3x}%GjX*YKlfDe-vZa77D{T0kE-MPrWf5#9?!8XT<)Q7zIw{xavLb(<703JvZ1E{d41g_K zZ2lE z2ecZAJ~>P(Al)hLq?mkDEFJZ2Ng$J7cZ@2z%Je`o!WIA zu>0W#qB*yOlKX;)J1KdP0tc_RDNkH@3N|mj0XaCNaPxgFvDP6P!YjIa6-};wo#Gce%J$ps0j>-^(HNu*(e9H5e0FSDAxeCnU7C zaL{;s(&I&d@V+k4RSz!?yZq(g@)s#uV)jJznw!S1Cqa@-DZ%Rhhgge$l-2j@HZw^;ZeYDd_=++v&OiS9o!OrJn^3S`MM6i2_t_8c7!sOjcbggGZ zWSVRs(`U@r_gl*v(>u+`x%|x|yO^UqFZz02&MdY9FI>Rs9wlDYkUE8PC)E8PBE>Jh;0pIzbh*G3nUxFBwSBjENE z*0}xLx$C+8r`B=%#{joq+7{yWFF@S>u0L@5&w9#5kh%S5DwN6G{w9dqUrYkr{#JKG zT~`-~+duzOCBulidbs2x;P#sWZvU^5VPtOq-;rS}+}weYJ{# z1^n`ARq*&vSF4fZzrI>Y(f#jTt&Fw)XRlWO4OCd{Ix4KgF60f8G3fx-Om^e(cEV{T zT(IAUAY&5SL}kxIwtNCj7Qzp#jSoQkj68~)IjdOO88AX?n9|LXG^ z6x>O3lIlZ57rsAca@&UE`HN2zig^IHzZh`)PjVDum1`E?=mNq;#QQz_t4E0qjT*n; z_DB7V+YgIMeM{iEbTigBU1U4YwSeKo?RG)CS;2Ag87mol}d@`@U zF*w>1ko=j$->KR293$@_ZIpV%C%CYmJdiXKDk}bUINkdbVEW#cd>9ohdI55l0Yg7b zw7RLp@;*CQTY}D1 zC~&bXUvm*U$LX**m%4PPZX9YvHmYKw$@qHZU~82F++oi};{Myia-(luZy(x*wveqZ z<)F-w4`iXB(@rA}@|}I*QM%BpXqmR%r9!oom(rA-hcl1T1#>Q^x|EGlsp~ej39pxX zOCYMwxQN~_v^|gB&o*<~^n5{xuUWVVjLtV*6>l*&WIWy_ToB<4Hj!F9aE9}scWLyo z1Z;{IL!08)->M;$uCD`R%sN=T4_^ zVo#fZO>q-wQ=A2Cii;o|{8l!RM!_bM7~99M=-2yAcA4fD7nS&1lMLRxY}oevW4-Bk z&UEBg(`9CM)jYnGbjPKVQ_?<4Tu+n({V#Y2xjo~R8F1Dfd8Q8!==g#ULf_^&=agp9 z-iRM;RV3c7F&$fS$V_h+q+LK1tM-I~O(fe0(-eWihNeqk6Nxz_m!g$bKk>%${h~Iw za~lz_g}XbemublgPnozjre<}4wv#yHJfC(hTAd>}(d2ShEWQF$18s_@(%d^yA@8f@16w9}@pW{HOVTMrn$^d2zH zHfWh&fagXHdDPh=-z*C;^a$4VS6JVxAGxz!Tkepbh@ID%t<7+L(PC#eHgM0OP>qn^ z?HtN`X=zS7z59uVd;5K3yCv?fW5vOT(yJBcQ^KdP4uS{RQ&}eY3o^c7U^J5?Q=`T9 zHx1C~stCS|1Ws4<8L(Kfp_*40XDuwIopK!yV(uY)ql(@}fA&rL|JXb4XsrML|F={k zvPmeBtgML2C|k1ky2z&Nk##AuS9Z4Sz4r{+D`c-Edu4N7E`HA!dauv>^ZmWQ-}61^ z_xs~>I;T@tS0u{A{qeZpZu^B3rla=*pPFOawhCH*Xz7jqlxz+$VSV~~OOBba91Lrx zOxRYl>^CO1*ot8@C~Kg7+(3&xB( zC1>^OP;!Q=10`n_>QHjF%>t4$SBYOCZ>nC{v>Al^MGf(1O_}ukAFJg z?Wdm(c;c-m1D)4FaRSz`y2L?6QcC)Bvv^j#~xHh1Wg!r5ZR^C;2)PV%9$7 z$S&JryZbrJ9|CK@-kzQ9zUYdM{4-dC4Eqmarr*FC0e=8%xCs6!l>6-h?NrQk0@hfv zKLu;p6G}Zl25X${$A4IH0@kS6%PTO0z#5BVe-GBkJ_T#Yt^F0O0Y3(7XbT>LHK1(l z6s!R@l*eEV=m-r0YxojS^@6zU7gz&qEd{|I@;`;l~_kpWSC^3UJpU`>|x0i;FcjfN!E|MxKprq*}L_6MmZv7e| z5htnFnsHxh#=G0-;bshC3mP|s5D8nNZFp;sCxs|NoS6|f!HnPv-6zSA`0|KQX{K{p z-3wk|D^H|!{c;H%^XbWI^Uou}AAja#xy3@atYVfWw^A^k@5YZYmHNAyiFfzksF`?w zS2I2M7c~?8v6`s@rSr7f?NrV5Z^8dH|3mP<#ykyX zsG0r%{(trtHB(h6&&?y~;_P_S2%Vroo5tf4G_dl`7H5sZ^@%5N8uUzHyXJfgk`ZhZyg0Olwz}Z4T zcp`!SISa1?)*Xq@)!_m;9=N(*klslE(mOdw_MD7~LYMT9$Ha%wm^dqM1&xV<(3p6g z`5q@WG$!^yW8%v3m{_aPpJ>5xuQ}14Bd0kL^|Fd0z(jvqRlmDg_Z5UbL$Q-O?D~`I zX+!8URqpJgw3lG52kcJc$95+fo$a|5J$Bg9I97bbwG1=J?i6*0f&SR;1i1rRfjhwd zkM01|V|T#dkNfRx-(f48qaAj2CYC6tBJy?%L3IV8&cF+R8Zi~wUISref7zX8av*nr z)2TaP61W3+_LI!?w|{LmqxgS7n@y$@yHn-L%(`0|A~6Ekoj$M~Z#D~k!Df>|A8a)~l_ zoiY1SDBYv=orioP)EG9u+F(m6s|1Y<&v0nyg?Ny2^A1BP^XXj44O?&JjD%1!V6m=~k!P z995EXo3@Wn0UbIAJZ-5tbK$GP^v2Hyo5B%AkHwlpE%{fe{V0@PaqPrOxbrI;id0Yw z7{B+R^4C(+GNzBKJOU;;OG1M;PR)2{?aICh>zv);X7_=LTKn>3igX;=)y^q#)H>3e z*_ze5Uz=BalmKistL$qgO@)zSah(DmGduc!wKgq(cV-${$I=65CR2sD!k})IS%srf zPOX2q&d)C`8XB``L>dI-L=p7Qge)S3orqR8cCJKYf!5~EO&Xb-H$ZE%nr`KZgfoE~ zf5P3jJ9{axn+)UO$dwfUl;ywa6svQ8@+aZj*{z5_g>R(Cwat4hc%@KnlUC3Bp||2mZBzPr;Ie`QEmK15 z+MmNWNb6KMMQvhT?jU$v3|NM=PL;|(;K`va@~QV8yzEMMKALjTg+!TSD$fmntu?O}A5o_hp{vQ1@l%Mr+48p!KJ4tbrbf!9gr@r%%+K^X8l$wFSIxQRol(%RjEi-2X4kjobg3t{Z6Q7#mJrSGjbR+vkyYrSn_!g2amWPH2TfVZ7o7XbTr zA!{ablxw*I;|0a<&43yv<}2w43e3wCeeWNy@&4{4Cp~tOUrjV%_8!Y!cl%RDwm#`H zMI->YM~BJ#HU0I5J(EMZpU!O3xYoUM`hkTndZ~eT=u$?K>y#qKC3)PsJn(*!`E;#! z9AM9aK6$RMl!EDOHMHp&I2y}A{hRoW3LK5y=}%??#D0V^Aogr z0egG$SGz(DH&DOZZ?J>~IJ6CRBYfc=61*pK%M*spV75L*rb`*jZFp6KL? z(ZR*>Q653wajoO@K`wD$$zJ60;lia)!Dq!A;g!eWGhuZAKAWfqE8Ym+MpU2d8xdA# z-+s{FKWjHpJz}ZjiLkZl>>hwthx5x}7aQMdw zoF|mP?Zzg!Digm=b5v*Mye7^?A0HQ8;<5XhYG!~mYyC3ORh~F& zh^t}AQ1IJvv#q~~Goy~h znPK{$YawF)CLs1BkOtggGsoi06JkGmxDyOeWm5pLe-#k>+tvS7oGA*4Gf%Zl93CxR zK+B|2bM<=9&NrLU_Gt|1ZDBT`Wn$Jp)-vgnKw73Qpk;~~2enJ{7e!{~Rq;T}#L)dq z%fycKl2axdfR4uYprbL0Mc6?9K*+ef&vWIG=LiV0w=5|hsNngW;$;u&v z=i%UGb{q{6n)}IX#ak?;l3!v*lh zeX7l@%7~lmAE&{y&2+Ar4A`-@Q;!fMU&^uBmRiU$mtRva4EI3T;>|zSJnF+~-j?3s2yYCoo7s5$+DgKQ3?apGZjERD+zf;gFISYu$?r?oQ$>Fo0S+$v&pZO+l$9m zr(qbpoxB{F6K6ar3Su|j-KgQcxJH-G#!eSWLMV3Qit8|a&7zzqKAz`j-pRV33p$rZ z#W1F&=f%j$@p(JdRV+oQ5Wug_tMNRwGs6Oll8| z3z3|8p#2j%bEU76#UVMVsTxOW{UIaUQy=p=*5z6=kGaY~LNa z_R3#T{Z950n+Bgc4?B@&voY)ImpZvjn=Tm6SKeF_n(Yk=jGmQ-2~}2ApG%zvdrj^( zFZ|1wz+N*~%ps%?COGxsu2?+xrv+fl+?|0tAX)1>iNR+C5Wh|OPWl1 zYG1xsV}70HJS?V4ac0Hu2JIK}x*d$7XTtrx*8pz}cGl_6?X&xr*l^=n;seiwe#5## zW8xM54DiNODDp(SBNF_-_fzIWyfHahs>)E=HlMUh2a~f3oJY(iZtU(B^jW<-vDao_ zzV=d8U)2aa3y>I85E5g|l&~CTL~Svg-hMU8auN2XOmiGSWJybvWFt=(o213iV$%-* zWq$ymEUxL$U14eflr3G?<~BBc7PV`}6Z~80vZuJ{ef2$6tm-`8^Mng~b&lF@hfH~%iHh7%3p z%7_T-2zH?`Nh#S+)HVpd4sEa=ZMqBz|4x)$!|;8Yad=`R??(Qib=h>+q&*E`*dN zK0(S3mg=mSvkwm)uQpMCYeNc$YL~Q08_#$JK<)BwS19jCU_%-MHY9`=WJ9vTVRU?S zVndRcf5dZYLyG=Fl=#br1l2B2Y)Ex~vLQjjO9ya>|Ki(x{K?T+t!>9l`99jCg=ulY zP77M=i7dq_c8J$MruYNm^|OI1c^bg$ucp%n36;dWk2Dyfpy=z$arEU5(yF8Y4iJ5H zfg#KaI{F9ES2dv3vY1)*TtWvJhRL}UNdg>U+0XQ@sfmB z{@QS6kT(UM;L*nqPWnb;?J-3E{v8aT3?OAa4xF+NW=tC8Q#hxj!{fx$N`GFO zk(`w@Kia~-8Pq|cUGBVhSxR&^_Z#?pCq*4v>&wv%pt9)zDqBq{dVs!KK__z4ua@{> z&|dq8r9`UM@3F4~%Qw2QVH}9_8#DojuU9?Jz7e5=CmBeHzZXNy2c#Wdc}9+!DL9e} z0#b5Fc}WGN_P}$rpmm;VJCS-$==M6Pf4_jNefPI5h9v{Y31Qkb85C z{gl}6*nW((m;@&B!%`4=m>?TPae z;z>GMboC?FJJBm2GD`h05x8!YSny zJc^;^CLCIBdLY8B!NIz1{|nhL4hKUmUb&gsV<-91YX|jJVaaFU9^bOS0Ak8=0H*9~ z>(`F8M+?HJ!b7paa7abo?I(UbV}|vm)l(zl!)fthO0VSete{7E74-t#JWn6!%9%bYH}xt*3v>{ z7_KtIx;f|G-*8lZL$3F!ElCd17u4!{M}d9WLMy8^a<}(@TzL|q{=7Rf`YsMAzGSg$ZmdKP<)x=|t_h4t3e27y-eMxK9hpZwPVVM%n{Ieu zUs-pdj|jJOA;WNMR@_L1zU-W>AA!wCd+O|qgV#=20l_Oux0%X*hM)g=a~PA2xYdw+ zThpa|l-}&2kUQGQ?Fo^$X767H?Pe4SSE1zb{R0v&jJS@&fr|;YT3X65w5AAZ>MoGD3;+-BO!s68*W}HAZjP}_61l6$Z z<1}waslB*kGU)VHP^JUl8bCELF9HH>VkG4-q(m2}{>x&s1VA-mNNWiY?rjjDee#pYqHxY?FWWEv1k9mV2OYc@Ok0*WLXra$=Q7cBqV<$QlaH2Dm0w;PeaH8*eSB*o)00eZo=9^g$ zQUs?ULt4{2@>K8k9I^pbqv>{7hXbk_*nDflmRTq%77y8i-|3$e<@rt9v3dnK;d#; z^S9wivBe3*OK)wR&+|@5Iq@nME!%ngxaPNjerKGq}x|&{n6xZ_jrD0QsQHG_qRFo z-D7W?5$33-%xM#Ojm_HR=x?0?$zZi<3Y-CQYtq0O;B7f037i4EkTU>I3^@a|1u-VO zPMiUF2!F{_X8_Gs|+>e8rpSwRa!B=ly}bk5t)jANS4_H?L2;#~UGK3V8!M zfHz8!txZO!6u=@tlCnKJ@1e+QS>O23GUy&Ma0`>)|Ye z!lFTq-0PHmV zNA--wfcrJ7gBRcSO6I4%w;%1is}V=2{)_O^SqP@EH+Wf)eAjzk3aL|Io+xq1lg zY_Ng}E8}Nbi<&ZPP~YRlN`vrH#cx(hz{hlnEAZS@Sqs&gydky)BJ=JITtW1r<_9R? z60aFEH3h(al5-22REdG609rO_R`vUURrWw)T4yX1>|d&?18<{^oF9U}wOL40xn3`# zhQNsL)}gw2q$zan{>A&a@wj7rQ=hYcT6h5=)8ctTQ5M;+(p4(AAt95$k+)8%g_s@A zw&T(0A9)rdfM*eXl?m7`$LU$$sA|2{DXm{{9qpvtrOy_~d1zg(WhsF|ViPeu0vy@t z0V6TCWm1J0dsnT*Fr(}BdFy~Fs|J{|->;I+q)`E;>^(S`uhb1UuXpJKp2gMrPQEkV zR25-_GDDFr^0-dzqG76&^>l_c&@S|ZXMuu@Oil7y-DBZAtwkXZHs?VzU(qGy^j94P%jOB{xF_x<^1TfF7G1)N`09vhgzdSSFr3UP=Tymv>J) zmn$Q8flU0xzmbVw1D#8@*;Fd;>Sy$5onvkIaXp2BI?)|A1c??KTMn2cuSlB$acbxZ z1)DP0J}0P?iV7i>ckWJ?oUf^!h(;ft?9$TLxQ4v@yYABIt+Yu0ktW~X2lpR#N55Z= zO&(v4850Y-O8Yh zqPFS4C)qZNSfuw@6ncv@NXUM?-K{D<#rb3<##PQYc08>is1)&ttr zIA9YG+Sg{-#RfL<)&qjEYGAxf+6eEN<)Y)G3grcxR4OmtI(0=f^rUqneqmf^5=*BL zD&;XeCRWA6{i${#fQ0?gL(z?5K66d9F#x~Q3tdK(0)^8L(`rquRokHu+n5j76J5R; znAAhjIo^tnD^d^s22Fi2K+}Ir~ZdFkc%YM#G%aWT-XKu)p4M_gs#9KqDAm1 z=w0UWosq@75%U`pc6>{ed^fb=pDUs@cUS>!{a!Bxq=5268l0oc_YS_+_JU5;Gw8i5L{b~EhBi&8N z^?4hP8f!qb7--V#Z0>;_6D_oki58{(eTaazu*}Xsv;!2JCrlJJwsR%sGBUGOS(mjB^-?C2K3F`LD13bTuphJoqM>%c zr0`NcgW@0B0p-g`$jZbH+5u~m>B_4kM%l!J;m8jua!MmR<2iXN!ID>O6@D{batTNP zU7a;l4^((GRQt)fT1bq`M}p*| zV}-hj%`YCTaF_D{S<|-P@OhT0!L<#qw)Duf^0t=m`mC_3zRD?5h-PsEqFLl#mZgzZ zRxK#|Vy5$v5Bf`tw!z)k=#5;cbg2(Y zmySmFKKT#o{2Xf0fPuTOL;N$?z8%Tbx4AkKYkX}$k}lB_(bO@irn?9y%VXN(^ogE;%WC4&P*6aJ;`QLX4nlV(tCHh!BPV+TP$LaeL7i)eC zuee=S0I%OaBl(u^=j7UR2yvlv8`yeOeA;}s&(hVA;Y*C+GKGKe8ZGA048&&>Bx}qR zeDMUD#!^IV=u<<8q_OvEJG0FWwZ^U(W6mfjC9iPb>KOis3wZt2lu+vuJT021Y?8qO zv@U-X$cB@0%zdprV_sJQ>BCL(Q||vF!WuzDSkl_>_^l8Tb|O#OUu=WH*krodeqbVu zV{OXuPDA9v%`tqyvq&&Dyycb+h_F4S(K_YZj9Edms^OK2KaP18gU~uIS z1dBhjV+#Z-@ktm^iL;XDi;pa=0hM?m`P9u|fHU}3DHEZjt3>;M0a}>W{iLVtb9r_&;5cb9RWxt9tf={B zKe$e_p2y;nH@NtsSUxWgc9iXIu5@0SL*V^Ht9f~070>0IsOIOrozZjrS9ZmwsWmU_ z{#)NAZe9HS;Kg1dKnp{$5A4|A0JJdaJ!^(Y5-%YtcwIsSi&YUs3(GZa9ho*N$UkPn zBL9|X!4%4q>?kWT6At%G2%wdYrgwfChkIBK5iJ@ZqQwHG%AU=|4O>98i2h>hXb*@M zDS&7JjZt&;rx~j9cJ!;KN6x`F?TqP1AU^-)ow$9Ne(yexB~=0}zX$vBo9ExA24GTWcJ1J` zuho{tyJj~Vjh;;_?iP*;9w_1N!WiYkMV@xW^CG)M*Iv?`Z+<1rw&3VI@qM+6U7)f) zU-~@8n%ISz?Zx7s(+x(|TzZ=O88^BEu)O{4D#mJj2TGk07I9;fFb>yF8@s|C3G#{* z8+fhF^J&LQul^dxiNjfpCgRISmehLf-I-0IKK(09g`LZayPd4}2QqcHHzgMyJVx7A zx&KveZ_{pbYc%+XyVA8koC2kl)x6&gi!S$2ozs$(U4D2_rhIgGKR$;Mqkw7j>x;_7 zy0s{e%qdtOEop13oSdw!96Bp*zX9b-cHJ@Y53v)>IfpyR=@rqYgoP^&_S?Cmb?ws@ z+l~u7Ro5p>OC`gJi0V=c=P1Z2W}~(@5hln6N7U>5no5TcO!rJ46!MZQ#4!A8xf5w6*Oz{PSh&AI-5#`s3pI%iZO^dZl*Wq3UU&Ac}@A25( z+W$dmfA@yk@;=?`FBDz(V5=MfuAL*}(`m^AdwP@3%W&J9QP&IwmUTtwle43=);^U7 z=p}que~@Ztkm{%Kc${>0_sE|kEn$G2B%i=+Wp%ZSwKlFusob-6tr&qk!lgEiN#9IT?vkhe!ViL37_(4`@<)qhC^6ez zTHEgYe09;#i7e(;HQ|IB_5M(eNl~X)y4*jNlEDCehH$=>eO0ZB~s((K$l6$e}Mkow-lnvVxUD9lB}HTEcB`RDtr?? z)V^U2U*rvH;vD*yd6xH}pwIFAec5<7R~=P-4bWzWYtmJCyIysD@^*GuP`-yt1ueOr z5Ue>%4BS?B@v`%TU_Dnd?`unnIX`$zqmsCy5J;XtKsbLRJ8yq^*!8R7XiPn0OBc2h zqk%oitS@&<*X5xCzsd@;TUmj(m)39i zr)Pa_@V3O+rSOYh?V!O)mKX-wi>aES{^s#O`X--fYq z3q$C-dJ%HTg+*dAfCsYNAExKlr@rx z10T(#@Dndk2*?x6b)871wk*Az%9D?;mR=i;(j(7ceu3*Vf54;#QJgKa3}DOllKB={KThk# z@rB-Q3}Tr^yQfm|c*NA^NT;_SbsUq|Z!jmJlh*y4TQ;(~_z-%_RdCDJY7@Y&U5!~A z?N52&|1w_1Q|K0a_+kdN)qM;|AuzhrSQ+E?EF69P*<1`If}ZCLn6WwmJo;7g#{e{PC+g!mrv)PEdAt8PN>J?-us|4) zodVEqgYbsSX~HCvPY8y7qxrPPS-rqk@=a`m@kY4<3(%t*Cre684{d@|w)dzB@cR*< z!MOl*1IZ6SnCDAfL#jsDHwQj=w?KpQ3&sgV?N}TCw;qArDX{5uum1LdW4mPh6{&|s zL>ScKY=H}dV>ZK;t0GBkaJkLBGZ-=pzH#{i#TizO0ivUDTJ`nK5>>&9Z>egoLv&xz zYbj4RoeKMX=FReY7jOi}CGT{q?zt}8&USl-aHDxz%?7Z<1OZS-*MTz5WbJwRij8K& z7|`Ohn&}=jAz1hvho7JBa-m{f@u@J)A*au)5XvfsX+gu_4UcY8)Y+X!0f+A-8qV+~ z(ZfFvJh&s0jGPbnVB=v;jxy|r)5ZupQ!#>DHmmC>X);rA%SLk`_HD0b9?!j4c$wTu zEjj&PKpmMq&9ChJq!tToU)rAY4WvXc;N$~AI(R4SY?dB~B#;(311twsYB#CrF{mS` zPw@oQ0sAycbqeYrc_x#$w@Q6%OaJj6(0olt8i!vIv}n@3oxb~o>CM>6p|M zHI=nuh_H}DghU*6T73*Rj#6F^Gt7?GZ5Wl^z$#H}STV~hzi#60Dyi5Y$?`Z(PnAM% zd+J+2rk3|a9jc!hE#+v(9HqNnyJR*oa70M4IHg#2O=2TAwZr*ni4RpWS!v8RojcH%|CiO|b!OZ~=E%^v;smK~oqn;AxK^}2| zblcRuQm`(;io+k5*MfcKW6jKZtmH7ahG*KxXU+4JD=Q<4ux95ecD2usiID`avVf%c zNpi`M!>b8{$8+iV!`2m5{X;rc77vj!yR|mztgj95E5b(}QiS;WICcl&Jhukd=?10p zn$BS7dH)iZ+qwO+7Vw{nA(q96dI+|c_l3ymD4Vwj%N(N+4DB7oxpE{`qMIo(Db56h znZ1RKF)sUdy};ZwqG_URki=Bp&Vicf%Kb}uf0(u&^8IDnIw$zPtf3v6wiG~V;AGn3 z2D#iHrmdOXT1FKuBuaojt4Fb@p00B!xOehux7UCH_zdo0;D+{4nEoYClu6jbl_Ht4 zrLX&EGtr)}0g>j)SCX@;C7==f#;GAk*7WjFLUttL^3cZBR8Ix1o{)_6(k8 zD_~~u%Ba#cVVk5iNKYH=x&1C_ft}Ngnh32jiHzsUyJg!~hO~i(b`&DX#vL-*eT9r7 z$=V$kN3$u(UWCyJjpioEc7&l3G%+@buM62V) z-+Y6=|Bx(a9u`JL7n3X>v{A;^_^9dSEfR-J_0Y6s-P-W?J(vxwtQ)qC-YuN3?j00l5@yjJ_Ny94)OBpQ^>y=opA*DFYFf4A2!Gs^ULwAlc$ zIF@v}5Yb1x_&v?OMX6nriQO$B;I8b(o%2t2He-C!o^N9g@k&tKEfAi(2Vk>Y5)^3# z!Z5EkbFlx6<_WgB=OW+_k~^I(9i`ExlH zVV(GzT5!PLGn&V=RQ_gS?gfAC6W7x2#1@IF8TEdS6KKYR-av70YTDgpyBa^97Pu)m zMni#>=N6#(_k!t5qzQNO>OG$YXb`doXJzwl|JSoJGqCn-&@dAxRW5_Eh8v>4Df|fr zq|X5|VFMFy1RhQcvj<>nH`iH(E!=RF>e@NU%yMI|~p(Bo99n=Pr>7Ano?0^VU@vsVf z9VKxfiW5aA5>M((ZDsX6pm0ctw!WQJBZPz2d9SL6LbG;rUUL3E<{5#C@4_#gv|Z#X zz!jOHtg0 zenic6r?Hg5%gOf~nr&!45z{7g&(DF@fFQ-qpnNJcAE-3|Jrire^}-#w;k+CVsG|*KZ-=V z8{RvlB+$sZtw=Df&}4uAzM44dc^Sz&CY$`|2%bAh__{1%SG5?P>!svkvgNnY4n`*_ zB71EQYp&J!tT^S9Pmg>t2$goGj*#C?_U$K_7;J@0tSqE0s2n9mw#&0zlp71B|GsZAG2xvh5h z&208DMI9Y7?b;&eEO4G5R+N!G9z$SU`Nq?|Mik%^(>m-}qx8z~U=eOp=}GbI`(dWr zBCco)$(H^k*FwyS&bP7^gF7*6-Kt~b3?$JrdI^y$F&N-i7 z?%VZq8s=A^bW0*oi#5vbP4>lE@IzXZduqIfk9*{mZT!Pp#D;1{DTvk7)+SQ{-iD40ml!VBNM6vgQX+n5fnY7b-^;=u+ z=G&!A&--T_3qQP~7|3)U$I>7V&zyU32UG*nb!(h<<0@dJ^Bf9z zWR-Yh?EaOrla*lB;+{({9^S5~8XnTCasjiJ?I#;2P|?IkgpXW_Fgg44Q;RJlNsk;6 zx39mAD%uXT1hov2z55>97y5r?_HOF9;Qog+k$A38hD0shCWWXSgs#9I%lk@cR+T;P ze4HtQW;SEug2{4sjGSAfdtrvlR~=)(?*!=Ck9?LFM(=%jT-ox>=|YfH`lT(2w-<)i z7~h}qBR`KW)v70T!ArF&8c&>Z89@E5&{GmJIftmgg;}h+96?N?ycFF_X_uqX1cH)D z$)ft}PJ*DK>B~)v8vhw>;0JyF@KjKWw=AlkE!@{j?^B?68QX&Q? zPdAF)8e{0e%SYSpZx}~1(*xcxPMUig5GXvS#U4uVT*NQTifv-@8)jx)nQX92eY4&E zTO7p}@%b-^{L0;<3xi^waiO~?0)}}hku^HnM=52qA z`>9AI%=NsYg>>HYk*Pwy7WiOT7;eM>C}~zSG4wy=9&?d<*z^*bI&SHuzbHb{J#2ib zETuK}Vhp}y?yv*T82H@S#caf46d?RcT7(@VO#|V8PSVNDaQn8ia+asBtNx2dX;l#+wutJxW>IK|cG+CP8P&0y zO=Cgt|A6){{FK*LM04?n;dQb39iQL$U^Q&aA&;0|y^zCn?>7wo%avI!hR_I3gv!TW z)y-F^yR<(-A2@FIeFkh>PS4UDZrl0WD2`%?n`2RR8pzt_v(eV?N#W z8ePM{q@Jetn|pKX`Ov?UW6oc`n5-6I3ER6PR^pIFvZT8=V}(CutJBx<^!}Cgc8*Sl zkBQ1>*7*-cO0vdR?x$}DY*Bsk+~MA0@sj#Gz-!{Pxq!dKj``%S$T z>opzT$qLUAx$ZY8D6ewZS}6cWW>BK#uoapH;w-t=1vbMaN|7I&K#nOCM?h6~))Pv( zxSmqnd~d4$1LVOvTcMxK-|>DRI8iOvQ)}F`ZqbUZNjy4y2djYgRy_2_heJq6bU)}{z=>-Y^F=sHrRRgrY4#WER zw}KBm&@4m*Zk{ww(y`w@H3K5*AI|Y0J}O|HCbBN0H5UcCA*n6@lWYAa*ZNPc^`Bhp zf0S$eoZFmTD8&6k=sr$KBOt_`Sxvi6FUHVvlC(GREpB7fmbO_j&pYq5tT*_Q($Ly6ZuM+uX8#m zT}^b$oMJxsUYj*FXn&u2Ro_e=og+eSFl=-Y;VyNjNsX2bQJJ$E-XiM6MYJ#yj90~b zFTuFJPOwiD=k0It7BYI^bA?Tt^E~{efv|6a%V)Sdb3I+)mtBo0%9Jko#XB^voW<`ha;y4d!g7l=Pgp#kbWN z3bJ|9Mw59f@r+jX7&)xl(&hdEIi5AM+M+ZnZ2LTXvd{bi@4MSQjWpEG_IzM@$J5$& z=Z4{(tZgzMk^4?7y)kD-c0+GPTE5=&9IFu!53A)ptlfTfAa2(y^B#4$XS$o&&|G!6 z_oi0-CI@jP;f2w+Yx!iF%_DE;=ds7I-m~aiWuy>9%o`74sg1VDWYfLK5tcJ}RV=sG zhsAtLWO+A9h>tZ@aN4ZJPrhiz(DRMo8IE(4BDX&Uu%FAvhV<`R*3Uk-T5HL!Q#<*hT}X%8p+VrEkzi7 z%j1&Y+i^ck_*j;+^Yy*q4D5+(;$J_Hi8mER;!a+>Jcv_P6Y;_5CFYOc|*<385V!bAPA(Qk1zgt3d6X6rKr|-nEU(W85OWJy~ zi??y=eoDhNsgjOkHe@L^w-3Wqj1Ii&m`J#}XRc#=iF;^jnZ(lc%V) z6F2pSN?FeL&b=7pBeRlbGa-B*etwgzyzPdviXFGGfq5lUHRa5mrHO5=arHYqf@U%5 zV$UP{owE<7IV9vz3rODSO0hT-LZ8a**>#Jbqo`#=7R`eO#aa?c^-v7ud>jh-?|K4s znPaBqHPU#qin%P>J+@5o$~|9e$!@T8XBgT}K8W61bE0Osb2UA6&6vN_YagL8`T8Qp z+|#|e)(&R*%zCeD1Gu1X&6ezS*M580`h2o;4AFo=*tL-Txz#)Yw$i%0gc{Or)REL> z(qp;!XvRMxu15Z}3C!~JAzKVLa+QyaxGGMM%W=_7zJStOd67unO+GUHsvBJ=r5s89 zL4jgk+vxfB%Z5(&SAthvyazUtgOuXZq{x-RnikJcSD=M0mEpx*J!@=rm7$HyBb!eB zJpE&B1NnvPNF}(+|-c2HI=+^lRKwMt`9ljAmrz%a9?f^W=KWZ69xZ z<@aK9EkPWDgh{#^FBKN0=HkT^KBI^R`dsDxg$dIv9vAS1HgG&!p0)D6?X#H>z6={>5SbRx zIeWeN*AHk$7({-^>71p5UJ4h1@*6QiWs~LSqw)nUxF$(N4=v-{0xPxJeC)ehT<#;h z8AK9GTU-PXJ`5tsmO6oD?;m9KKGSi_*B8~1CRst^Y}(oKOWh7&$l=d+y$)Vv?~p2v zvfIcR_KgI2^TbMDuMQhj7FJv&EPhuEdp7qesIAEzM`q!6URIiH#ROyC zO|P1B7`^il*6i>cSXqJ}5WLLKYg`8g^+YaSonN9p&4AttRFCUc}i&~13zTO|OqdwqYZBqO= z<5}BKdRf2fY_fRUhaV~fU;Bx^De_AQC8twFr7mH0iX5=s$DT25VfiRv-|c59J@+Ds zDfz`irv+j9;YS+z(xP0%HTic3w;GUp#waZR$F=y0cfHmKWVG*gI!hV6kP%Baeduox zi;7jm{A$LyIUJ0!*#D~I#lwA}7At$p&Bzcp(|3;DqVfLTeWEuhcnGYPDdokJ(-W}3`Ek>HFs|U3DF(d3*@2o{!2%1?mquoEORR3_nMfB!>JP2iWa$Z{nt8)qXk zskOa7H~BuY!y9~NnuUCpOv8G|gV=V?vy%_jdaKEZ?ttH>J=@qs%swsT@*v^9`Yp#y zxvzrkY72SX1X;Zd^~G0X%9fcyfo~k*3(#( zVrZ%o&_lx!Kr5gc^;#E zSZkMEkN+(Dbm0f>QO62{WF2KEWvk@-`kFY+>GC*mUvPG-PjNjs>8V>(kPO^>Wp_RJ z%Q_*Jk=1%g=_uWMJ27RkbVc+_y4Y7}cd_LOe6HO?!*3l;`|uUR=SJC; zqPX41)!>cr&q)ZOC6v42{{1Vy&MLhaS-$?hw=yC91^k6?nVO~Y@weZYaPk{U-BO9I zqM57tK7mlafT&J<>h^}xRG4|>6#*a2i5*5l?U~Ad-Q>H=#M(DHiF)$)c|soU+(Tf| z%}*t+%o$<7@f{OZEn!}?-=;$QVOQR#4M)F@64_;xAIE(c!=24-ZG%=~uK8A_VK#C+ zYaoB_R%PG8kMMx^1*w!FDlsJ%A!>^U3ujqA2Rvw)zCwq>9q=>NmTFw!v}h`E3d1#A zdWDawXz5J1&#b?5<#3QVe|MSc@I8YXPYeFxvc)3@B?*O6*OfTQd*2k7`d^fC-Po>oJy=&~fr9x0L1Z}qY)Qrt9&9Oj&j?$nSjpN@uO za`(ydL=LR20t^2clLH<9v^yVXT)^i3fAyW^*W+J3YTb975yH|cqQLgP=xl;{O@q+? z5_Jx4kb$16d_fv()7>=&CEZEoJig7BEA_3&D+S}DR?gZ; zMz7ZslErgHlRb)4IL}|x+`CZ~oU2A8aZyM!v=m8KMTj-hb?{lOd#Jm#(Up?7ob)O> z{K_RkIPT}}p5pW$a7uxTyl?3)!Ox*#9b6a@;{6!+Me@jyx4cfY>YTIGfIl*(gr9yM zyK4(C$zn`0zU^b&&9@CUHwygVPkF23;y5u(bDLcgYVO>sf2X0s$=N6QzD=69j?M$_ za$yH`VN{5>x=!-ebREX$uO7IoPhSWq`IU9Ozq^Zgbm$6qn+zgKLoi26vZlXn*_e?rXd6_5Cq<4oOauCzA;$_qop% zc?9MMoHlp@+Wsrl1x94dC!|3~S>T*$;*mJ#g^fc0RZaKt6zs^+Q#x&f*kC;>@%G#; z1+d5wk|R=vJWPrVsh2psz|ul z>}PHiwX3!;@lqGdZ|h>Wpp*ne`6uOisb<(;^h7`{wwc1^L%4=k7~3PiMbBTC1pmHh zc+;T4|2MTc!?pjcOa8_i#P$=5qM%0D(DTx-Mi`4w9zSh1e#UX%=S`{_DL316L=u)e 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%0Dr z)(T?LU<;zx%nd1{(i z<5uXK!brOK2u}ushLdW^(6S_EZv54FwN#u%I0|KcG#rbB3iM3sxqf>(9eRIBs87mu zUlngK6DP=C{?uBo-S_&&G8DhjcufVTl1|e7bDx!IrB73z8ibY=&CLna>h|O^$bPg2 zciO)lE!CgDC4=}t+>^}P$!J2(hz3j7Sgy69Dg!XMbjqNw zj5^$E7>` zsW;jYJcAJ+j+^C#=q0`rsDn;svhn-`;^?~CcW|#EE}Y6?%)0PXuahyWiAIIH!yGS0w14|;s+i19sV7T+J9H#Q2QeaEH`NWpzxnO{`Q5db;!yXnMe)fyA`@Ea zl5nTP>d!;tAAh8%@1&_3K$~|kvrdA9rLf42^!MQvOt4L48{b1bh_j|-y=5l3YBrin z9(2M`HkQ~Z7SfPmwkA-y-vjKhaUky?ghdx?VxBw590YgKU}8?B@g~8&pP6?iSH?BP zRYR;vBON)xz1*Y}R^Ul@D1a?|2r5FLz~npfBR8p+ukIyP>)~DEe$!C$yp?w8rYVQm z_5Cusk+pA{$$#X5+(wL*?}H>`+}=iqs| z=mEUsVRh!@_M4M!`3wfHt;fzwgQ%9Ifu*)fnXORVlFxwmq*sm#!CeO5s7!*FAKfa~ zq?xF$#s-Yb<4(1jhh(;xWoW9DgaK|XD8Sc@Cd^T&%4vj3Bu@0nsii@@Tm43n|64K= z@jsOEya)V5JxwA#VuiqHe>L(5GiC&sxj9kcF^+ky8GRmi&yml7bOlPvmW%G_hsVhji^X}i>i z8uA;J>q3S54ZD=PJ8E^~AU96b(Ic@J4LWYf0Vw015f*I#<(Ea5mk@9dg4-QtIV>26Nb20A{sHiSBTmAEbGmR{3df7Wf}bKnxk(EESK zf5`K~?6#@)wd3Uf0spBL&C=>}3ay-Lh@wC-0Z^cTf+$dau|F_QyL!uElG;wbREKZ1 zIHO3YEoVUHK7ef0(vKpUO8}ta3zo-o6r=O)u+#$t@AUO5!%Zs)9(U|=Te6o)$9=83 zS9w0Ps#~qWyUx6zEJ^X{Fa~B7*(KBbG#^hip(U5^RQ2tVld;uY=zxVkj|;Ae;Ry@o zi(-W(Yu$i!lKon?{qr?_<#s&l6eB7H-^*2Z{gi`oT_T(s zkbKJ32Qnta57MiCl?|MbIY9v(raLO17CTj1tl;G70}~?Q`>&S;? z7p_kDkz!1>P-)>Ov zQ`nsPSG&$p$y7YOoV@hfzU^PQTaJlUP|MD;Qh_DDhg zjCcWS|CFWm^*M`|-a;rv{kDNN}+G9S2eoybneX;oz7a=RBW zNv+InKjKtf0PfnC`w*-WxoXZG%C5zwuGDqx#MtHh6JPiEhEl7z(uDHLDA8;pzN97Q z6`1gGaU0^jwZ8}Tab!I08QEXzb?GIxcM4u)9A;|Cz)U}#0NeSGd>&>~3*WkdV5TPf z6*br1A(%Jtoy%xx+4yoROGeu`%O^e!xU1~1OQe{RayW2rdlwty zDF8jvnx;TQF$DLclKj478t$S`-rcP|B!cmqKM(mAa4q*j!#y0+D;2_Jghkwf`|Scw zqx(x=-={U8yxpqTHDUDbugr{s-h!f&`m^@5WzL9@sEwnHSGqSrjkE4ia!>c*{T6`- z=KCXG`HHaPrrYQJ5BRXug=vw&yubbQ*uL^~yeMyXd9qr418ipqPapZEcdJJbvG(-v z0PORXCp}%d1`)3IZC&hym&d?tUuF0_JZ#`v=-&0?x$5BebRZ5Me)h)!F@+D~6Cwa^ zT7Owm=dlQ)qxb%7;@ce@9^yl!?;J_6wd`YtA&(r(U!2oR!B10VjJU;RS+ zP4RW-cw{is&S3S!q)cp9U@WZko$y*fvI3Z|{3_h+LHB$tfsejk zNIaS-LNWc5BeGq#`8R6oWmr_#3D#~9szFzb(744r&7RocB4_+u50M71T8SKyyq`D7 zxGfAT4wIDAq+-``1*u{aS2;TToe@T0%TzJ4gR3J zQo(bs1ck3XxUX^k8Ai2gr;5|~*+(h~H{SV0ifJZ}hsnzvZP$p8?|T5?Oc@EB}c+0k@JT|#4VzobPmnyHZp z*Bm2ZGUW^FPP(E+F@ATJKjgWUMnM2#EMg^L1}$ny4SGJBHtHg%~qr%6K!bEM@-pIC-bE=<>5_il!?; zwu(M=$q-mn+a00=5r`Hc!sLObOg^kHjtT0Rl;;@6*gE$WVN3e*6+0P|exW6G+zQo>pWe5jf769ZqCj^EwdK>%mFm|szlFQul`iA(O>tGKS! zOfwesIvUA465Xr*-ADKwV3pfk^@&Th2Y#3*`3wYoHL}<^>z2r}UenP1(KGDKi2+>| zZ={IzA28~(0C6L;s9l9$6ik82_|x*tF)!P;*SrQk8}xb-j4G~R&de*xaW0?q>|9!} zad8>cX{NkNi3`vf@baULNMS}s)6A&ROz3~5rdg9{w(b?}ATv6f z5~a0RI37wEc;Ku$$2@{}0|2Ph$YN7Fgt}Ooju6 zS#psE3*TYajZ>GHjS}uAz0aNc^{zP{g-?TDCRQq1y>}oRpT+j*tR6kBikrdDKB({Z z+rYQTv)i|MROG%%`H>Z*W8n+^K)4&IHaKikycg0W-)U{!M@Wz;&Igh<>^bpGx`vL)YBJ@Lo znqqYVAA|Ipe4LT~V=pi1g z)?lWmIANLr=`a=I_!T4nZ;2G_@6xeSoT}b9v+#nws3kWPWhsql4qr40Ol5k2bE%Mu zwJ6wpAuN_Cv0fvFO<#xq_=_l~a_={{7s^^!bKOB#joP=S7fexSOFh)9G?Xl2S%TE@ z5sdT)x9T5FM})d`s`11J;5$JX+mY(X#ZcRW%oL=b@?2&=B0GcuRnR^;7HR0vmj4`n zkB*Ypc08?!(G#Rra}>AAgw|C!PEK^1Uv8aZcO^-Q=a3D8WLr?A`idN(bDLT+_T|4$ zU8?JXhVGUutJ)cLtFDaeeNcfh)F({;EHbLol=L+ddVZg z6v!R1YPo!vAwWK^;KQ!Zp6CTy$%S47zJ0ILXMU0W%%j6KeHs!#WH2O+#f^oF}o z8omN@eA2VlzZFd@lWB*oOa`aY8{Wzsq1D@36g6alEz$V)m4|Xp(q-(86-pKR0ygkSdR%00y;L#*7R&%;#=eSHgC)~!fzlS5 z?0g|W3y%+_Bl#4H9GX4sdlva-k&C>dF`Uc!i7R_8pNSo~WeG9R zNGfzB;&g$r>3Xeud2*=yVtir`P2df%JiDYN-_Uty;DG}F6Ny8UEa4*~SY6$oTXyWj zwtG35A_0f@HQ0nf21;f2VdZVK+RatC*O1q|Q{N1#cpH<6h!Q7mxL4lbJK;6wsQZ}y zNHH+MjmoxqY#R&H_0CPcYw>-|i*p$uO**?S*(gT7`i<__?neF@s)|7#S@{>vN&NVG zagrGyArpJ+l}+(U%?dPABg4?5s97eu;hf4(%`oVI6$rGrJ!Z$4kCy!X3bXl9l5dV! zTMbG})s^=wa`>&kiOfqVJ-;#a8-lX+^A!G|#qu0pTMtr=u8N&H{x^>tJjVvNb~ERl z@CmXpTJkKdC%|~fy0h`B1qGl_oTqWg(n87I6M;WjCjA*P9f;C$d$`X1-4*HL?lH3pv3ZynNwK zo&4TeW{eGO(IS*%8i2Iz1f@M&!$Lf&gn^^AgzXP5KSrwUlCzgpOgH}1*_C4JDu@mY zI{6WuMI2be*Lb)>8&h&f&3ZjW=|6cAVgsVKa{_ z2_Yg+>~F)+w&DNPI+UhahRgC3tMBxIC&I~vvCNww6K!-_v z!=|m!kducJB#4094N15w#`0>Vi&T$d(9IKqrEU4-)%1-nvQ^W3GzDcs+arO^i%2A9 z*x7%!gCq7hCsCnm6(CQ!@^oL)R4v=pkZ`^$R|kDWjUU+P`PV&6NIny!=VavppE-2C zQt4GKL;UlckxvE@vQ061mw=&%`lNa}%=Em6&+|(^QKr$!*oD6K?<`WkF7EbUweo<< z>^uK@g2ydS0#Wl020KmTm|@$=?%#X|^U0%Eny2{y3l7yCibwDkGs-ED)P2zu^-&FqD^rppgw2!mVkzrq>*aGNe7|uY)jkT9G zGDpf>pK#3H0)ruAp$2;D8Wtb2@x2^3^C&uP0|-6u1=$E&$~a+j9x33)Z;f;6&l?k{ zBNjgSCz!QWNfciq=R5_l-@@GLxJIW#e6Q`b<@ydE#I z!j64GVVm+MXm+3s%q`lXa(-EV7T=WKrSmSDOic{}Q|AO8j9y7)^5T0cjs-`X$%3`T zKtE0Ils?PbTE|5fjnVjod|sTrWL13W4%Q*vZq3rN&o>4*jo_LZY4sO`K8>#jbBLnK zPq%LnAL(!}mn3@S(jP8w?jVQ0vAG_Gc7V_0F|mQ~^@qkUK(%)7v%}!1j!!-}O!H6m zdII`vQfPH4{cGJUgO1R`wcwZGQ`Pq~8iTaK1wZ|<&L?N-{} zckP_p6U1zG6;Pm@7DVY0K3+WZ$;%tzdtHa7J@KQ)h1}e4Ks+J>52r`hOHXf~o@NU$ z<@NaY`9)8CVNrYbTr)a<`aFQBc*cWQ+wSoQhgaerDR@tIyH@!D4-=_T?e`bcz>+8U z3@-`gkv_y_-^bNce13{^0#;4xd8&t_KHqzt{mWZ{Cu9QOCuzKt%V6ds!i<#`_d76n zmQe5h{&0GmL-A#*&vB}+Hx-MldF%BZ@J`_2c(pHQZnsO(rEh!}ZL!$aQ=yFq9*odQ z;JUW<6e90*wy{^hQPI}&bbj)5f4Z*M?sI*;7`3MN2o84DYx8BAS87pnxPq!mOdH`L>-G6=Ut!M^!SEsY;M*@%EJ+Fa?0=W!Nt1zCN zmPhXOT)UqN8u*-XJ(rxd@x_FaKH1kYm1XLQDuy5L=LBcrw1;0=;L(x`5|8%T08DG#k}jr9G6y=}1ImcGqQuT1nf zv}6MaX^T8if7)3sEJ(CAdb!!aYNKs-qVbVq`euFfB;Q3X$lqazgpA7EIqs@;4QCeGpw~mkBka^2IExx~m_zzVN z#;1;Ge{!nIXs*Of3R@=9OZ_lCadAff?Pwe=ru>m7_y)o&RaeRLF?&f~2oE7a2AE}S z=T^=#?Wt@3_*`K#h#}~&vWT}eNgw>%Wi|s5YV(FQVmzf~ijzR-a21o;TMy&vb?KLlc zfi>MGb@JRWY~Iz&W(9HlMT?b&I2uQxrY@%W9u3IN$@)nI2WCMY|EeD{He zQyNobGTO%L|3Y2;Kx0a6%}ewR!V45N#pubZtTYA@&L?d;wx0S5~R1c zFho%&qi}(md^d9CjWJbMC1Uy-Wv2cR!Y^XS(h=>81`qb~w2*j_&a@q4^OcZdEC5$n zmA;`oWH4z@)~KHmEb23GWmDTLVI*8d{?KAWu~KAmRCGaU(xPbQancZC?AhOlvC@BY zHF`Sqh|*69<}8iIo6&*-3-0uWaNq2zfVe#*jLXZzzHWLNyh0&sGeAaAy;FC%pX& zaNVRrgJHktA`+M|njc1RYC4WzmB zb)ibh0)>*_myHUf<6_2hZ=>*0#19t>Za2_q4`m-nkH!(o$W4}Ghf89F^(#89CTi{w zyGNsX(8)IXawoos41sRXdV{3ZzFIPKWGA2DOYhj8VdzwN?bNz{R8S!A`-E4M&fhd@ zS8(2e7k_vjSt7>;;wF4lbzK^yd;97W!F`+JwmK)a#KUNV)Vn&^#{l$`pC3j@2hEpD z0_496kh`Y^#QYj#ncZ%4e>h}lguyf|;#BM=Fdk-`-yU##IQ)3&fbzbL_pT{-6c{R* zUN9nj;CIk&cDF%3oSMFfuT#(>;OtWonQj)`ddy=o-LWLTJ%G%Kujvyj(z;G{WODSfQ*ukCN>{_MO80A9=q5{#y$GQtx8(7fC{7e0unKs?RT79^ zFH}H;hLY0+_(if}Hjd2oXwoa(2R8zGS7o8ZqUQl=VDn8oD>mLU~L$1_Biepq|Hb85VuZZEPw&VR+PYZ$Nls+OxI5wMUZmSUNJrph60!(Dp-ozjc z;n7^%Vt+yF73y0z80y^~(AtGC9GRZ9F?bS2KXjSLvEdDs)FoX*M~VuTf;7;2Jt9T3 zO1Cx82A>7}-p=qJZoNXgrK-wiBmAX%!SdjOnSo~2!|Uwu587@ry?WZP6ZHf_ptuj&k}Qzx z;rnUDtYykf@EFwd)vj{NpI(YJlC&``giz0`1H`0IsyO*-DUebBg5ri0BYZV}%jw)5gnIOzIjvG!~t0;gV@AjJu~jzXD& zYPrc$PyMEe4cy=?INII{FS=MVsMf;?w>d3FM9iblnHsf+aCc*E4>2a{y3fjIwsHq} zZoH=1McQ)V_xm@4#GW~J_OqeQYJbI(vCLd?8et!hW8VER`hnF-EwqlE5nRYyHLw$( z%1MR$u~>W|T(>a+Ln(K`pG>Ni#hTgUKx?gl42E2Bl(2DP2h>*Cv15_$)})x0F4+)c zO_1q9hQnA^A{pm5k^?!+g$4eQmDIC{^RQJoAu>kD^AK@Mo;+4_twb_cg(~Y|E_$ry z8O&uK12Pu@7_~?~B+qcSb>l9H>yOV=Q2{XnlpdVVG`VGM@!WhD zk<$qm5$k45T|D-5;QAcZ$W{7mvp0qDF|B*8ms#Dah&WlevS@o@5_7qHwa?)Hf1KFE z?>Mo$=Qy!QNSv6}bDUTTBu#F-HdaJEVLWbAgxKH7_k6DNQ~I$mwy7v40?sQnE!-_8UKzKBZBt0WEJw_j!-b&_Y)<8sp1g# zbxz;V{cK6&x-5pTfl0nq#(Y`HlKO!EH?nWahrfc(|3|LfKSYD+6s=34|M|Nk9Qr>+ zwJ-4zz9WWF1ab*(c5T0&x2q2}N+N68u-)KB&+oDwYCUX;OZA^GiZE@yQ;DBcywBQG zVRQ%zcga_x#=@w(G%4TfAr1-*`EKU$O-c9K=d-3L-f!YvHH3KQ46GJ{5bqi(OI2jj z;!_d|<#4RJX$NmeCvR&d@&rc{(;U)euY4b88&@^IIFxtR4yVd({J;cz$!UY{2Ga8f z;f;V$@o$O-yMolkb)bPnuZsI0$DX*ac-}%H9F-Fi6FCW#G3yOe^7ycI0;Zfvo>K zb@9_e$+H8bkW_NN;gP% zH%ND=bc29&35)JfI-a@I>)QAA?7i>(JjZ*y@2B?zbDf^^oO4Zdfn%KG|No8BDPoGK zns=p;=o?L?hG2I&l|*RfZTOBaeGwo}qc*Vy(X6!S^`gCSe2`oV6K)2m4DDOg7rcm2 zSy@4pqlr?CxXn>Q7%qDya)BR5Qhk3EX?xmK^@VI9bMeDDL z@6lctWaZbEB>#T=Dn27fuv@yW8yF=f3g4|LhyP|q*MUI%KutGjS(4*9eC@k($g_1l z!D?j9phPqMxxw4ACEd4Dh4UWNkOnx(mIR(TLBjLB`DRD)8ZMstcv}{;YvnRB)Ln8J zL%NhX72xc)AaAB-&)?F!u)n2u7=KIek^$-6_FvMwWXDaUO9!(g+{^WF3HSlJp+jAd zK2cpJAhO+(E@$Hd{%UBcjdjoU`V(L7M`|T3wm9mSaN$qhS24lHi_&l&^`fJK4tXMK z&5`zu5o;fVbm0lrTXtXavmf=SX?E?hiJJr0NVBli9*0xDQtvx$r{_#_M_|NBa+i*x z$U=)Sb9SO)SBTv00fN-;Vb8EmL@yu`7WbPOzMxU52bh`(ju_g$_&o~t|1KhyI{a7Z zT^u02OQ6It832r8gAk)w>wCZ`hWD>VF&;pWatav5klab0z=ER>ysGWOio3)}CLPJ+ zpOHP;ERQS51cV`wyEv~-I@95K9kHS(HIaCfU>7CpiJ47-nXZrjh%N9)$?^h$xDBD4j5tZ;FOhh8Q&TzwK- zukVgj{glnNHN4ozz4zf^Aad@&zqjEyL8idGK9Om%5XR8-&z0hvu zk2+Ajz2o@PBUNx9!4L_(8Tv1!Q8g_^FrMbaGeEmJL3#P^$OJJoW}fW~ab2 z=S|s*N|yNzwjpv2HX#@5QtKrz`0l7=Ic4kKgo)j&%KC+GbMjoNXSrV`^Swu*)H=n3 zt=8h+rorMQU=}dbJg&2(kwIyerzd4{I+(UN@(pfS7ICR>v_n{TiyX%*MgUF)i`lbD=&@#dzHxK) z!Fb23mlZ%a6M3UxSnaViwWV$BC~@tsG$7`|43e@--%zffP9 zKm*=UR2Bt5bWD|nvIB^YC2tJ#7k>~PAG=fco{Anp5FLAg2gG&hd)Z9 zcGf9AtlC0^lpLK10|(>$@b#&7uow6S+-Ev0N#9itoAln~Ew<(s&G7Tejr&TAF@VQG z-xT?6B;lO(b?MMmRrd<$J%H`#1>~K}fV^`Akav~=^3IvR<(;fL6lP==N{pM{`sGsu!_v9P;9oT*f|RsZYx2Nx5lt*k12Uvan+P5tRZjbx9_%ED<5=0FRSoh;{pGC8 zDJ;-BvUCeeB2#OI#gA0B1}2JP!k_Yc0%PsoX%Zr^^71QL3{zAV#$)x^jr(i!JTHoW z3L6uiX{YfJS`y&wcE_ubXizwsjBN~gpAO#^GnxsoD)IbGU^@p3`i75!`ef(LM(%cZ zr&a~~dHj*HDbK&xqfWYc)&apB&s59dnCqn7VbXDoxW#M=Wt}~XWTHo(n&Alxhyqg` z$D}+mbt#Q$@2tKk^1ODu?yK1^J_qrpBf#f)&^-Rx_IZQAFo@fL0%6z4w3tP$9q8G7 z%eA?5Fja67CQ!V;wYS^avNwS*Br{63SYq3>e0#!v)wpQQnSK%@QNw+-q{Qo#En2$7 zObUkYi)bQT@q2I*6hTL}mu4BgnayG?_AI0-iSTdzzc`#FP$`7{xdOltC}P66DE)mP ze%&haMo$~xuxOfC>-=nB52dN$U_jID8{Bf~amh%I2w(BZuhs3x#BeSS6dm#8jK9Nq8!_>J_Fp`wmFNF^eg3CDi zNLo9^Lvp^ulXob8q6t-R)YmLOn7MlgYC8<%)9xMJs&2SQ-w6$LDBHm_3f4^yInzo? z&5MlW$&K^iG{`2#_34! zQ?4uX_2nC0=R((#D)njg5?MVAn&JHW_voVHSNOAVv-m0V&U1p2NWs-c#ccX z3IoJMNZyrOtK!p|8+forJAJB&uf!ugoni+5p zw>)PY4fHft41YrnTZoll_&*JnVVp7ltTCngMk>P3@{Ke=9QNmcVhoaYj@dY=^W+1P z7*R|WG|M9WBKJy5{)+1meoSV(lo2-wU*L8a(k2~mF)!e!SI zo_wHx!?avqp~$TQVnCopM>Q)fA}@>Y!(om9$_n)Y^vV{o=j3L(W>fdsk1j{RW`9OG z6a9J7l>4C=Pxh4hjjv;IX>HeBy-?wsvYYC)=~o(^Y`-?>&jE+j7<8mcZ^9veS`khA zs4Vn^HP7<;v)_&<8{Fix-wVUbAZf`nwXwOP#qO_l;by4|!G*?C_zEd!6|8kcKb3yt zIYi1z9;~V$B?3AC&k+RRIfmMbTJ~Ve3gkml*!rN0Ae;Rvvc3KVZf4<7S^?B~w+$&n zQ5Z!DH9@8B+pg#;Yy;P%L6itE}r0)7B`jH!g@%fKmpO z#&};MYk2QOZl-g*)Nrygd8#C%)@!3q0ML;M!}a)2Ku6DCfDXZkzX2WpZ5<;2nK8zu z>tB{9Os7IM9DNZNZEjE$g#2K-FoAn(}LYsfFy}82=j#uU!gdvLU=E0 zD|bQ~WuNmpP+|Z;g+ML@fhNH7`B-IjZIM0t&zYz9ql2Yf;&C+2L~|q0Me~pVo<;B< zK*uEj=qPag7eI$D1kf>r8pW~^1`SD_aruBe*^D{*F}rYr?I?1Xvb)6rAHZ*1HIpjA z0v4+P2Z;;*xuzbKwI%b`I3@in_vTF8*;CQH$TQLW$RnM!=pa%B=hfAB#hR;>D}(jt zWPvWW1TcI)$$aqGMk-b7VYJ!)a9^f?tP)kj^c4|%+KSu4x$~R2zi;v@yE_K(i)oa_ zVk2ycxHkLHp!hPne^yq0^EqJu$>;DSKcf4a&(Zvc&jBgd#8Q?WZv(CbdLN!m%dIe8 z@EqTeHs3ulxCR4`t|WeN2;L*o>&4RcrkL5^Q?++h$elB8q*3%IUV8C zL=1s9X)}9z=IhKv$0_Rarp!g{`BTlpS=$)H;^=WqZ!l6F1F|{#)Q_ErkqYr1RSE7Z zafdTK*mFNle&8_DrPj1E8M1LWA# zUviAH(-F2zrn9$wIl3`{3kLR%|(&MDSR-6i+RHr!t2U#Enr{?pX2RVP9a zPKs^#U$2m>9>%)m{!?yQf6`MZ#caeT=@UxstjzzFXc|@{)!GqfGmaJ~ho@1MV;YpnfRuGu6X=2C@Yur zy$g&nI*sUl2bQORXHfFUCJn0!Ovi*CV{aCVVPDh`dg<6DdatEoJQkIq)mi&f3P{S% zS>#w)CHL(q^i-UIeCkhz^~WltSR=NQ!Y^_M^X z=j3wp%i!}b>q~MK!zipnFE*cY7$KzkGwUe|&?8T&S&_pEK3PDmqgg?iq96&3qq` zG{DG2o8-x$UMUFC9sAeJvJ~pO>S8YBd)Oa7ONG`BV5L=AT0ok7J(fa!p6YVsd;IQ8 zYV~HaqEPu&YF&o}s-#R`5zuMJq8zkn_||TN?k>qAM~y3@2`G;3+nZ8|m}_iBLTRV6 zLR(B|2mCz8PFEeE-)}0g_B~n{o64Gi7Zgu?lp*NaUsN8;Qb0c+QC__oI+)@0= z`#Q5<#=$l)#5g$hu?tBt6FP)7UO2RpI1-l-9Bul6=K5{EiLnj#Z}#IhGJlRqGiRls zt#xDMHU3j|!fmH}K zDfhz|p>h`!_ERIXcQnIPRzo&SFW7X`KVXRrOMb*bKCXn!(#LHp#DR`KenX%@J4jD2%Wdi|@MExfxDeSHU7E3H_fRWKA zW6<+0j`>?`oTo`1&xY@aRkp?j0Hv0S<`>KB3kB*@m9G1dADVslBYHN7Jd3^+-d!wK z;n?}A6SBz)CiWW1PN%qbLG%xb0&+*$f}=pPY`^Nbra9Qm7^Qwc@3E`JG?+2y@zAY2 z_LIBywkk1LS#P}tFqpj^OH?#B=3k7XH; zjJ_U^KQ>3qC~6-c4|mVU3!%O!)Nq$PK`B?FVT5CIHiZXemBZrEdX36?gs6{01@Kd?x z6YRU%g*Ihqq7m;;j766>%Lb0fGdkE}2Nq|j8RvZ0y`Q;aeKN|PxAWb8GTw#jrj!v( z;j<^0d(vauhKRB1!b|R!xp369tbXf5`4WyXb73Gq!7AC8i?tryrFDCB2G@Lr`)$M<&UtR3r^OF{Z&R9W)E1P)3o^jHkN9^9KHOHa1IAUrOmBFRXS_*lpF<5IVyNozu1~HBg&yiU{ z(&9q-OGlavS*-;ubxJPN8-M|(e%aiWjxb(oUFrI8@o7gi&tXd=410u~ov;x3BNlaDn5tZ&IiZl-G^uf#Nx2V9XB?fH1r;;10-Eaf zSAxmJ549#K%Hy$shX4T-A-P&ufG>nG^@8Xp>8ZCnhDjHIB3h_}?zI5GLcl`=0rs5m zLLc<7+AnpYvaGLfFB=6nw3qALxlxFiF+4F)dAt~dYUb*U89>7MbPx;7ot@T!)=Gh} zJ`k~HnPjSXR9qHY?gKQT77{4wgv3v*1DcPGgiQzBgNgF zc#y~}jW$ci^UCaengv-i(U4*k!VrQMlFR$e5R#u0Ahdswv>L7(ZL7|#6lJs68dxPA zdw#fpXNxz!fNS9*xOYSNHeuL($(+)%K`~AIEX2aoTx0XOiE1#Cj(K7brCBX5XgI{7 zN!dB01D0BzW|Krv9^){@!OI{}C?hj&^@0#*thSzdrtG+mh>c&(`CK6CI5NBfbUw+)&>C(0a4*x~q9Okm+Kgkf^O=)!t#rMf)@brLShpZZ0=o9-;H4 zP8~1aQ8o%i1-@8OS#qf4tB3Sr4N&B^k3g9|iDAk{8fKWJtfY(drSj{p9vxPLI1#C; z7stgrRq&v`+hze`*$h{TdZC*&{4b6+$X*PsnYD}Z_{br)-4~yXeA|}8=oj&y8R#G; z91`gFi1(4;Gp_i$KVFaDBTbuyE5%u;ueh(I#=}1S2NLLSHqd`H=t|_RTq6EW4+5~? z|D+IobutT|@YTj&C(y%x%`xgo8ei}aShw3~>UYpHcGw~~5XE0V6QQkvZy0%Q zk|I;pzEAm8AHS=^!5`h_`8iMa7a@FTm*?Mz6+`~#L9Syw@5=Ej%7BC8&cuhT6KlWL}e!@%Q zfeOiRMaH}x!-V1pMsi{?;)E5NA;_;YTwVI)1Ud10F;pRPyh4+a zr;+=0qrSG*BieE1&>5L+OL>Eg2iXR4e255u1Dfcdm9MeDSDFzMsE(FIXjzjlk=Lx` zExc%SGOXgo$B4mo+b{)x0QOw*YC+{Db*53LqDAZi?<5&ffnw{3QHQ6b z)?w!893MfTPE~5wsT=0|6O%o@MW*AJOac3u z(ifPSb-skU-Ny;FGCPO-$nrFTkk>a*?H&3Z2)}>5%|)`0_a;d0DU{QU7z?Vd+8VYmL7t> z<+65n=}}{P!IA^egzf;EP#qNb7fnbDpb0erG$Bx^Y?ix%qL{y`K6;;q?$B@j18o^( zR}58^+bG=@S!A3h%fym)-FZ=1O*4m!6;YY6mp9879-gHjeDCu`8L;W~MY&8Bfy^DI->iQMQ|BkD`F_9!fXNh0(Ij@N!7;xzqR)N#nxK=`L#M3`+|F1V+E8Ez+I|NJKyz@$kSb-bpN1Hhc@(%^7Y#R z0QYfzPS&0zkm<;N-jnHIO|UudZm7I{uV=~Dah&H=a0v`f3$Rd6!&AgdlXd$j=V_x@ zyjPW=0xt3AA@D9+?Dq0cW!h0DZ*}bP@=j&hkkZ^{S=ml7HpuS+xW<MEmaB3+70>a18eZZ;?Sxy99622gtvZgz#OQF81St&s;zKz*z!UeiLAUyIA{4DLSI)XLl}h`!SZ2K2k@UVZaUi^N1t0 z1~ngj>>*1+ig&8j^4cJe=u-!o1)Z(8+F^;gbZBv{b8!!MaqHLc48q@FA0rN87N_2R zyTc&ch)6DS;5qGDHFz6-bqj1dEDzrb^84Inf3Z0kUe+s#tG#OfOYG&{K2 zk`=comLYaqCVOiya>=`;xo)i{UuN(3gW9a1OUMITYGXDI78=mdW%|2V|* z=?AYVqWgq+i4yvM;=UbA`jdo>5UrqNo$9S(0mk{MqR(R!!SsmJFmri4JAwWf3* z6d?Q3=g+M{dI1Gr7#-$l!*RNs)0k*phchFm^o?miND{YaKaj&GJn?ZKsDLZt*Ue=6^oE+ z;5ue|Y!M+g?_1V4DSUs>K>3KngY9lD+7o=ga_)KufxMmw-qdcKqC9TJ*r=`V@{|oP z5ggn26VTCRZL*{?&WYR-aw-b4aiT&5~n$*L#n6?~PK{rp6*jk6W`=e#6_Kb}U!66k z9lm>^AliYhG-R^Os=E|ca#E0xb1KgGqJ{rO5WE-0L)VftXwcfz91-^D{81BLzk7dbi&t9lYkmE18~2!r;PcAsHFy<`Tm}M_OX! zN9`oYG8Q1ITI;qm9n?;`965Afs_#<9;!nbFO(I8n8#0fJo25yT6j~^VB~$t!+1`vQ zgZ^B{JiG&RvgVdUO~Ftc!8@V)zB-5^K1->3Ev#tYA{^)G7fHha=`>k^oTmINw_fZZcf{8Nz#RLc5$vcl1NbUEgu`BpFCY&{PX%q#Y9V3pO< zE00_I@Dq=s&$zBGveHD*)oF){D^&Ljak||T@Px6Mv&ci#r9W)p#^J?n#FB-Oagz-a zOTCnGl#CPk-=?G_L_hq!By2a7+|VM5d|1!jNk|HloerBqkH_~@I62;T*QAQ3Q;u-p zN21964vMPSDU>~}K3=^5;aFoL5PC^I9(ml^KDoP}GA*>|_G`k+b7)C{={97!E-ieS zRxs6~c~^f{YG)XEI}v}p-FKPrQ)5KnXGdnH%L(CS&3j6B=YF{2P%uuGGC~VfX%7WW zjgt1Mx3c<3X-}V<-X5bm&mqfJ&T9?TFe!rz#^-L#aB>nxgwRIf`O!4YCxyLRP3QLh z4n>opOLM|;eL=3)bdA<^6sNjmuq$T`qJ|MJ(o$p>AH#Z<9Fz4fPxM@oB}ieX7EH0a zKIhcgfDgWMDqqa}3_w{aS#CQRyO{o|OvBoEGLsgi;6>Sy0$$jlfX&hYT^^Rpcrs5$ ze9({lVOW4k+JUv(E6FJC$sG6QmD0cd`PY(fw7?WOT8$|AUWq6^`UvomBsUC`{-zYh zL!%@CnOt_$$g_>2=x#m{QfV#89fU*G)O=SQQ5H{SM-Ieg2_cUw8t>3P^9OPa2sy+W z;==G@z)_hXgZALO3L>;C*_I+F#ipstOfa%`>|(?7t?d#w;5rDCLAP`bnw#g{oeN3+v9Q#e6l~TVDPZ-WS`E+Na)Y#>-|WX zVk7WyR$Lr&>=%W(8;?FEE@nPH4v!AHpKd6Z-I0ZS%-rPUh+F-EI&BVftDE7tpu{s_J)J~!Q9DHK{lEt-Sp}l z^%to3ZwmyOI)6li=$0I@K7VR-!qTDcknbQ0{3;t=s)p8w)(1TUvH~4U#kg;{I5z)u z&76qBjRs{dA+9#RY^_RB51$Dl+B&QR9mFyb7%Xx|24Qe4`AI$0 zd~eE%x4$OnTXj2aaaTa?AY~a^KUzO=v;vGxESK-y5Jv^;*rLc3!W4Vibddubc4fk3 z$41Ax?cC4Zls7x^+aOjpz%a6~@u} zSEcZ(>;y$B1aBBL7B2%{tO}*)+9V($4?Vo?!sHoJhl@E1+-j>Vw~3z4FjlE3@1Kp+ zIL7FYbm~>H-~*+6%fIkoj%KtnP{Q*YcF?WSIVALL(oTJk-%4s1IB~+xWwoGR)>pSe z;4;4Kz;)DG$#B$yxxcrr?-K$pJ}Jm)k-VLW=BCPZcr~HUbL1$B2zO{qo%cC8G>Pb~ zW|%qlj0-Zs#Jv(eoYO)2(OctuQ8OGrV;fe@Dds7dCUw*P(46DcyB7yC?2c|4fa#_BzkRRcb(OJ$qa=)ul>tmPIw(eX|?d%%H za&USBOUM=%5Zo};7cF@>M7gSJnK7p@Nq}EGguDq%VP>Etq#`6!Nej)hn@7l% z)7^SL(7jL#3ORxLh;|MdJ@n+V6W9w-Tz}hG#vJiZy;rXpX=loc^Vl*Q&Ms74azDDW zJZjsByGiAQ1#Wwk*}cIiGP>YX@pl*WPAkF($svy^DdIF@+xPH;X&4FmwPt0PGdzvw zXP!%2X|^VxKe?W(UwE7dTQ4}Hpkqw>pChJHz#KQ>wtsH-CJ4BMYtDF9#g!>?e{#0l zG_Ih`cb6NVw9puG!j4sULPV!GcVj4U7cZvEDSk`3>! zz*by)AR>UcKXHv^n_2YD3{~vI?zP<&iXcBSZ9vBQ`M8-uP1njn0pY-fDKaC*SM?wI zCr03miCxHZraM24yQf>6H;Bu^phMeHXBM+ zBmbJV>S$L96)(bvhrC-y7Qd^O_GJ0X3Vx0yyl&l<)Dw0d+w_(4hdD&v=W1hkw`o~rBi9%o&c4B@=vbPGT%5w5Hql|VC44ZKMtJ(dMbjw20e1k^ zw%u%vf?(@BV0W}rwOD+*iQVfOEva&bB|GM*b~)3SgN`(B8V$^I_t?A6b=SMuTl20c zm^t`z&l(o{whLZmwwa{5Cl@P)3FC%g=392Hu!spaUcR|bCk$Fh7coOPW#14im#EU= zQmW=5W#;XpkvDEt2NaM==b?0dD@jAgff>ks$RfVT+>7!omVBn{rH?Sx)&jl zYv?d~Ga)+4JMg7oN!bI->{{v>P5&8R>eHaPEluGd-W{4g^?v^{c*PlLiFu&RSvrRb z1sQ1LV07b)&41UdE(im&DlVyxY3{>P3v_y?)hb3t0Uc8==#Y%+%p4N=5k=+?w0M3# zb}MmsVQkOWF(rhV&7TnYWtvG1`lt;K#hc{VZQw0C>rf(t zxDlUfozXo5daNiWkdF&1B8(#_7-&08NmF}^xia=H-0wT^grb4;pj*B zl>QW@du~UQj}JomYvjSWl&yG78jUWDQa~jQt_?BrP@APc;eZ_5lP%*q zE;!Xh{VfF1pE;(S(#Es0Re}A03~=C0s)nj@@HNTW#tNO9NisQI4!9o&)E~^NGA|&1UgrWOw$J z-_4h0j+Jey8eFK&Xhwv-J|J!7l?9ao!rGma!2E>!7G)zAyp7r*Tmj#SKDy{O1g3Gd zlt>9J-m%0BlA|FDS|2^IC~aiaurgl3&T}kVtm=#2Hx#P5;Ox)5QNU^iz|pv^Lng1* z9FqDx4|~bAG7kZUx}9dp2=pW-K(<7JwO! z+!Ex}j4xSi#G;}MD)~T5YVV>{9T*}dJ2Ilw)LtypZ4(<-K|0?d`TJXcrvd)rs+pm> z!ARS$g0wo^6&PCLm~PY{o$m&TfXtsbrB4rrsB$He*8BzuBCL&gfz$*DYePA;(2Tl! z2>SJ4t|(I1BU`TCX(=Ql#F*}iN91K>>wR1V-z_)I1<0VDJ5KhpU!c5aWhjsHi{udQ zS@q8w!7_#^sD7?GqtlzhK7cU9-7gK-CIKf73TGW=yWx>{=-QXFe3s5|WP-KZt)rpT zh%K%iDuxHD(<*Sr;6nhc$kdBUgjqYqdE zSr`5G($_&w6mrHIa|XK!et}@!x$IOn`tDw}3k}@}=RF;eAL)738^x`Im;f{$Ro+%C zXl6SA6%vf%Hl#~c>ts>n>8NBVThu}`?*U@!v{qW2fZz?%UjWvGTYZbQUe`6z^mITi)^QV>5Q)CJr}sW}iL_Re=d$aeWq=q-&uESSxp zBt%^_QP>XVqNE>IamVa7a>-iwSxx3{yIgSc*$(G&8O%OJ)2g>Tv@JhS4d`D;ym74; z3|FaqtWVe%EUx#%^T9WhxLvG4KjS})d3Rvu_sm%1mXxb)fv|Ia{6TgaU1rhP56PJG z)`-Y!fv~&9Jq0lW&~_mw);r-pK{DgK)fuUFu8b+tZew)B(K(i2H-5`50N0GVc7h;GWZo%bmInz~t zx5G=`lE;;Np>g_yuve>IFt{%Jz8@(Qc%=XM7rdx{)H*^lQ8`YQ>)B@pp+GJ={zV*HTv48vHewcz8yh`1Dtutb;U+Hm7@M()5*VE6L-paY(IG<-bU4Gxl$vM(Z z_vaX%Wt;Ya;<>;Gp9hPgGVKQia6HgiNd)L!DXv8xt?UjouY}U#8Y0)?5^~5wTY_)y>R%m7WL@fx z*J=gocX%|5Re2CZkL(x!Cxm{i8rr=ll9=qeQpBK9H+&7A3RZPUdCw#FEl*GXDlx3l zc8IeBV`a*7t68-KIc6*c`O{NQM{;k?&A!R+r|a^Nb|BHr{s8qyjgLX1p8?Vi1nJgh zH!r-{J|Fa<*j=eN-mqE%Xa{oElM>CB3&2AZ-@z;F%mF#PD4&l_R#&&w4UD}KC*VoW zAEVF*WbeT&Ys&VWE_sB)o1tOU6Yp&QjuASK${*KXT5F?I@}Em|+R_dr4~ zQ%llRM52#d(MG>JN z?~KznUG)H&OOb9g0h6ns%)Rv(&eCDt#R&dnw_K&E(q=b5+g2-<*G<+wJ_fNFTtAgO zg}Y^Jv@ji;qy$koi5~+en>ce4P5~(qCOU7NC6okpoSik3pKWY(PJ$eEkiuxKQbJz0 zA-?nkXo4##%_RR9kVosfnHvD|l<}B9XDtk=oAvBJJ9%CMTQgb{_?m7@J|9a5KVldq zq?}3zUxqtz?_Dl1prtd^LUIFQLnD{~vVOz%$r^cnkQIIeYjzPGno+))LpncV_uPS& zuE}_pA`m8CK*Huxpy418Rhz79%~&}>qUU~w+{AwkoGXAx8VH>IN4zk?SypYa#Hiyn zi18iKf5pKbF8!dC=s9XS) z?XS#Hi@}pMu|{P=YPFre1uv1>g4^0V61U6;Jl-%6cLRf`^W(oB&c*UWbnd~rmL~E= ztx2#v7|zaYcKL-;_hK=8NEkzi#Qm75U$mWD23a*)`ad$Tc?;G2=&>f{}0s%Lq z-5`ZHk_mGESs4Sq@4tl?LPr>MB@1t6iamJVtB z%Nlv&?kMo}z_&f-y*`LGuoX8yvze*@W=gX12xdxzy#NJ)XGiR3Yyu6nqC6u&;_-cz zr5>IJvQU;{1c2C(IN3>wX>3l@%*1=bK1uq+n-&~>-(0TV0!;9?H+e*_VV2t-lJzPd zO#qb|3zD+KJYhNr>t)pX8luM{KCWB6Zd2yBkf)C{dnllcq4Sq$PR>U98&ddjW^9Tf zXev0RB9i#Rdnn2wu{?p_hznj4yFCBzr+BOi>(u`&Wi#?|V^!x#`BY_;i*?I|fl!ld zluOjcjS=n`U?eA-C68FebiJQy*f6LRi5(9{siTk}-ja8@`LM+^x;=c6H_rUG6j<$3L28@6Y^lsY1d5VA|+3AT=Xxv zgd`mx5kJ10N`9mVdA(;r#z;IQnKB{uXH1BF0>x>#>>L=mKpz}@l3f(35J?`de1Ddv)s$2tp(jCZke1WMqN*9(Lu{v~DL!N(CCRe+R7Thv3a5Do z$4yZrUwexEW1~&JPPe~ZLoNED4;eA*Xi@!J?E-4qkP=Mr``MD`VK!Y(`Ba7NC*XwI z2$CL;Vf2g&uN|j)XM1%z8Nk;EjWCS*R7GjJ^_!HD(Y`BQ;m)nOk8bKZQ8GW?DNs4f z1cGEp+wESL7g-IM4k`dpr5_u=7yzn(%h2GsA4B0U5jAhtiBQWRb+%uti^Hjh_dQE2 z%}7E`hduXU$`oU}%JJAx^`53G21Oevq63k&CcskBaWTdcSFe6wYNIKrj(?zO&II%@ z8@hMv2Q$8TQ=|$4C+ouiS&B8_=$n4^4r^0yTG!>NnsR@p44%tCodB6cXum7 ziRDib4qlBYbyn(5VBuhefwR$I4hqQdBRdZy);$YE)<1g&+z3U%4${M{CmrZvrd~Q@ z3-mB^MwDP~WP-d48qmXx8!o|J$&DvvAq3a9rzArkgpl<7v^a-o6E88LoogVF#`(^1 z6CUzNzYKk%?=c!>ZllRHGD1Q-!pl$C;{Gr54l}fXov-q(y%oJ5Ri!A_fg zENINnb*bjv-%(3m9+loV#X`2auBtpV04&HVgc0p1h4IqvZUr8j*8kZjtW)E%hOZ0(9V(wY0Te#K0UE{v;dw3Xna3Xjjj+i zTRyHB%-?>#$X9rPMKI453BT>TRA3_WK~rG_O;%S_uvivQLsSUwBv{6g9z-?bIST|- z*uqaJ_;QUZ4JA+_z2%89f~=dmcaI~H zUIMBg+VRYr>ooMgBb#B=Xh>w!ya7*`{tKi+f;ThP;=42T4*( zxkd_EI&U?&WJE2ajq~1-<+RgC?Rf|*nR;|7nP%&hH3q$>^ggKi5+7(?Tkih4i>E1C z_?Mp#9==rLv?nnJ`)SV<>FE!-@Jr6}?-F|8bEz4wVt>L_7i!<0hLZ)U;dotbX(QQO zY>htq*i{Mo24fCPuA#|`9XYL_7y8PKDgZ`>4pGA%nUSfxN^%}afB0;ltU6vzs!lHL z(95E6xz==1z?W6=5Y~w)%JQ~SX>zd-d6M%C<&zL&hq7gJyy>FMzNqx%V4lrpdjp@G zjN;_@zBg(vi?3>5%+Qq*wjd2y!sMA6Cxmms5`9!RxvR$*+Pc<~F$)@D{UP-V0xO9N zi$mG9NwM#TDi-!t9f(1=Rw5Rp*^mgjD~TmUKg<8eWbf{OG5LF?K514cCFHu6af5_>8=c=a!w%soI;GjiKaZa*M=rKs;p@kUn%9U2eY|Ws%r;=Dd(Tbf#>0 z7Km0nNhm>KLeVgHN9z{v-#OTdzq>eLqZd14L$e?pqlw9Ca#HuYY0s=1a@w)tju$Ax zfPpI7uV>-x1%M?{pPxOU`2{RlyV_Zph8?~%N3wWo23_V~sB>ORV~9M4w2@K;eb|}$ zL4c8mxxj}@#YlaigInaC>lV_Rh1#-dC2sPZG^^#JU$(OIGwi1efUV3Y3x=tHK7%=a zn{|Kb{^-ejR?sAWon~S9(tt7>TSbIYa;;(rtp$@xJlOw$1 zc%6cY4~MW}MKe06&8}a9=kV>)#JRGhk-iJ{u5fOT^q}QgJqP!RtW3}-6BAa{%PK*2 z+3#xV+rJgsCiD~h1E){E@jx`xzF~+VPQA>KIJ9vvfm7xU-vtWx|nmTxE zMy0H@We{Q(@*?TYd!T)tqg(&ede-3_p*C$;v4trXDip0?I*}v~qv3*ZGWNYf)v9Mb zf>nt!GlWp+5mEE%@3!dcpjEZ|G^rBW!`ZA-(Q_tQ;_B`~gQ4}bO<@9nONobny?ts2 zok*cLqfC@7;}v(3y_fID?~S@=b@jc{6AGO^464)}#;!}<1iTT_woaTXR9T9ybbtxV zD^t9xk`W-)F`Wb$zLzDB9P`34x|XGnlwv<@kM|s59j_`fm;5p@xNl{QLmnl&$=(h2 zyt3Bvn(`!$LzZhT-1?f6RjNvKUIv}2An50Q?YPB?Sjgh%aeZf0nRNYBS02HXMgU{v zZf$eQE<0QJgx@n&wm$}LT6#Vu>sB1!YtdP^jY5>q%4PON`(~mE3oB*3bgG%I7;G`U zYQv8_s+3aq@5;pT!qY&+p_IF=Kaax4z{!ZMvt z)-orQlzJ$StYw}f@lPugy|E(tz+TR|FmECBaQ#x0}Da6~t>F*NGb>@@{eugz) z-Ebv&AK@43vf{FVv!o&y1hJ!-=|WK5A5ktWeH_i5>%*CsJo7(*rt(2kYSbC^v426a z*_bD-Y1K2`w_do={Y!(@vcc^*(4foX)w1!}I2QWXj_R%f!#a~FrBadlW63x{$t)aD z3?}wC1{=E+LuJEZz^d{lXPPb)KOOmg!nKGI-_kSC5Q^hKl~Af|gPg z`u)oSrq~(7^TIM$Z4`?%N^7=xfw_&3-Qny-8KY ze1Y7zg}};gE#!`csUqvcyoL3w{tObrH8*R28D5r#G^7cx46^u3o!kLTr#XNBkntc) z9y0;SWZ-X$%fiS2(Lbn(1s+FEbxuxdw1V_vde8vSP@mxS9U3k95A z&wR*H3(uDumqGw$+HZ!cWvE>7U)1ii;;_ocKX6Q^0&wIf@;JLM#AIs>x>sR;P~Uvs zE?5B4I+Ln^rqZIiBqM|%m6o~!y-0u`suGG#O|^UH4=f8^vJGIpp#j11rEsvlLr@L$ z^{~`KCAqlJwEJUJqRqe;t}mn%L-ACWFEgdO04!RrSY5^Y84w&_`VkyYwZ@`b(!;mFO|In>{7+zN z{QnT9hW|sD%K0}i)&2h~Ox6D>pJxtY7#2u!fRe3_EfCdnncOZ%``b zUr;Is0HxxGk^@sSeF{cbdf+;9<0cS8U%c|q`Gey7z}^pBj;FEYg`g;a2Qf|n)rs5^ z8m<4t6jnf2RfiN}yM~Uae-cGnrON#J16xjn^qlHLbzfN&BLn#g;u(mwjU!u^XNb5wNj&qDg0MQ9iH#0p?1rlOXfarwyGF!Zt zL**%Ud%9OH9?$at7NVz8$^Z_0kVt)tjrwxQz>zh=>(wE=cBj^T#GIbBE~R6}R^myU zpwmbPqAVcfag*Xp3bxnJ8XJn|z<>6Z>;Dg0HGEx(GCvL`{Q#!_sZ*)HYfc%`-&8*D zD`zIp9X)-~R$Ra6;@Ex#6h8I|*b0T`#!GzJ$vs8=ma=g{|6}+S4mS-j_S+V>o0X^f z_`)?w7MGGI+;^DFCMC{|kdI~5Sn3iNyO!o4fQkKJV}C({CSUqTYMsya7i?E`qbk@O zzk~>vpI8J+^8l7Uv3!ISvtFDqx&uG89l|MA9aF7RZ>lq8j#O)x3!b!+#5Aav3)H_p zmn@k_iW!H#Ielyr5ctrZNU_3dqht#JrfVi!oqL}9Nyi;JdJD;1E$DG6F(CS`#|3bw(%aX0R>EVzod$M3YBQ6t52ARz9MX+;&@ z;9D4+IKx1FgTiE-7TL~kP}z8MU)gGyR`AwK#67vVrr2)6eI}-wm>Rusiys&PkCQ7a zVh z-+G-Wgx`N%D&p4~+r_Wqj#8fGvWtYxS~>Pt3&8l@w{BE(ZOOH>uCB%8}rz&m%tm;CoEFhJj03ekh^v7d- z6hJCL+4$=TFt1t_xzH$oZ%gj+uX6i5(84KzMk7uW%AHci-AQhVk&=wC#eZW+zfbhg z10M8ut0vddM}LGCd>rr*YXFEXAa|UD*r5n8p*%2{K#gQ{U~>#hpmn|h1SQY`&hw*S z$oB`Gixy|+g8OZ`zjnLU1dy6MV*q|*qM{W$2M|#phFuN-8y;wZa_(qs(^wQDM{1HP zKjHzo1bOPRDWEe0vg0#RDI))!GzAc)o)rRetggzB@(fS`m2>=STWZ`k5Lp=5JYkR- zZRj5?GNX~)4n-Odb$G{{27pXvt4@UY3sD+-zgPDWWuO)pi}bG&r4=}vV1qpb_x6DQ zi*K+;_TB+t^pAq+Kn|wGP57OZIFK@5`Z3MV<>yrR((B%sr(^g+gEyv=(_&qW$;T{h z=bFoOU&3XY2_U5v(26{XgHVx(;}IGnThmLb=r%z1uIwUx8<_L;nXe56`8BB4e zM-|oY4ev|2rhmCbw%Zro1UB|}_W@yxEJWIx`I9%50PLw|J6^iEh@2Hgv+TN+g{Aao zq~Z_!W|{y3QHah$kzPAT%w29MrSP3WnyT5ET@vjs`O@`gNBLHGLc&AqGybR9kWYJiH&JS6*8uPyPZ$_65{<77NK^6znMVX)0gmZ881!cPp4M)m5xXW* z(J7xz&eaobE4GG`9kIo-aDOhYcUG~9!!T3Ff_$EGer8rq;_c(z-FZM~_nDwHOi4I; z-Ox$lcnzGkP_4gLd>06*YZ$}=2n5)G_9o|YtS)D-!Lq4zCB;2@f{Z*i8dyUZIukKa z^mKkc3&xE?rHu2pMrHgF#RjzCrwClmbqW}}>^H-f_t)0SS>zt=l%!$}WmkOHML*B? zieX*@x-U=LTVA!k1jHhs{AANcy>Pl%pz72U>iyJ?pZ2a;j#K$d>&hkIm*%xgUbxvt z0#;t%-Cp1BAG|u}+&;O3EVf}Ev@v)4~Yn zKfBHu{Ou802Vc+)=9)N3SoQ+v2|+288nkPBDEhmCQ&D>s%c#V$7bLUi9QOE6N(A%l zrtY}9x|`mH8rnJYPNsc14X5&B{smI{->K{DcI6cd(m(lYo`uqr>Y0ICBV6h*fQq>h z;eve`4Pb|Fg0P#fK?bwi3azJ59N#JBg!MJeKnmHUV7k>cOkmLI%XxiV`MBobSS(u_;x`_sD)9PzgX?eax@De5Y?(Q zB}wVXaeg841iCmlyqXN*sj49wxu;mW_7LdkTY`}&m(U8~2h$x~C-||dKrjpXM^!5! zg&D4YcAYbjGs2wt0?;Ormjb+%&&HP^j;120ElTZC2WHree%-Qg zl{4R$n6F!5R?>SlVkTSylGw}`n->!hKo0~mTy)aFggeI)7wA$u*PQYHw5Yk-p`s>? zvfYM?z`E$geqw5QVTq6e1-AsQ=dUkd!%WTW^tc+HF2wN?TEh!g=oZ~8%hb2{1W0Sl z$>V~w)mC1`g;uNlt3Jt2OIl;^S(?X&iaH{~#|&@xk{T>19N~4JUs^K3>+M(JtOGgF zL|UjH>N-IR8)~FJnJ)-FzDFgZf)PKMc0jHr#IG9y@`4dwZ{3o|HL)Lv3LFL|XIR^D zgk^gAIs|uR?YP)*DNJz$y`-+>+jPUe>8Vr?FWD*q2hyKuSWpK)QU1WVv{u%+15u#F zMW?&LfTltH$puMoObLF|QX-r<@}o?zcx-2}MzJN?fRetUR&mL~BR>C{AV}xvG+vOs zLE-I}AlJue(HWWj(&|4#{9+k;CXgz4x}|kz5ibPcu{%C9c20Jrq)0Gl?&f`KvkZ6SNemKQm(v0j!?ok)0_uVRUs= zO~NfBizu3*Px&^$Bxpzog-ilMDAsp}$=r1bP%_>qzzphAu(6XR|+3Oe5bcJNpOp{O83;VW08Dzg9troAqwf9N- z`D(3pSlX~~bXjb;$X)`yR$pqOyPtwqn|nr@Bfi#oBsYD965Q6Z@CDFKrYi1$(EGjc zTp#TsT!OmyXxq+tBq#kq3vI7YTI~n&hS5(RTe#e&(9#~=vo^Odhqb=>R!0U2<+AV; zFw8IdVgTmTExH>7UDEuTd!)Mj`jelLM3vq-X#~CYIFfGAY=)y|$4SM$SyhH3l`{V@ zaYp?j$P_{U5CpAOiGLC(C+jlEKv$go1(9Lz@j9;l&Y5eL) zKDf_-PuZ#6pjO7^7d;0!Q&_CEBQEV<;mktDn~r`1sL#EDPjxAE>vY3F<=Z9`_jnon z>OE5U4=6i|y%XxEZYATFjgr9S`n6S~JRyMb!#gS1@GTR8)R&Dh^MtFxE}ofqOQJQb zYh{CmgWTs8e3=2$5OLl4y*IE- zn_JhH9jN}7*S;JrF=)}K)hte(B$}z)D8;x`l8>BbIgB#rI=V@!j5#0vHVc2rV+t>UNO4SAcJRCyb;eRp_2R* zQ74IabSXgqt3t@&{MmGhQCF%FI~|-eV!Q^UkT#cjtaQ7f&Zy>VX@ex1*?8jcXIiV2 zipb49z!-IHMtRKY{fWcGu<8T0kTNzY+z9nB^<#1BBK{v@MEk_*BF(mB#PwrF8Ux}l zPf=Ew;d+`#rZ21-fyZ5y-ho~^+7Ii3PU~0hr@alyMMKu%w@2$f4%tqH21h6L(6GgM zjf@-O9-1k*UNq}c+B}`wEir4Witspo6tJ(Hx+=7q5QI)D2zWuHg`5{>5G(3q`uRTqG)XrXMHC%+YPOdwIKfZ!twx z8b*#`l^UMwo+ONQQ&m6%Nj4&3Kvb2P=IMcU2vBpl(yopwGJR={;AF_3l|D~{xtXDH;{|Id}IY=5WnkDe{F zhU7KKfYyI6d>s3tqCLnx07&@At~It23qu&kLy zKF!OJX(hVS&&-HFBkHnc7?s8te`4P-l8d}YZj+q0g!{u+0-SH=>x*-&cH!~G%^8V+ z*O^(oNiDJp=lI2Tf7#U+_HQ_V0u2|?0iz}2fm|SA(v{qO>NgJD3;R#xJ6iY40CUV% zu1RaBsebw1kzu>>nRmjkQIA}Ye=vqZdu&voUL+4m@7G@(^v5ZFIOy5y-ewc{#Up_M zDb20WVz!%?kZj8?gx40aVC=na+HA6W`W0RiqGtcqMp$ZK1 zGPciyU@59i2MD^+p=qf}Gt!i2j@BzjadA@Xt~JH$?loo_@xmIczHaB(flS8T>832b zDi8G*0e#ln0>cGEMn87twQ7o)Q~eHW*4lv=(JNQT(+Y~^Bw4+ZA7yJONz>&2*_-S? zY6Xu4+#BO9#fN=9rqzEM1&MSyB$i_MkJf^ZE`NF3an9LIs~u*`;C)@!&iu~$RPa1k z9qdK)1ZE<=lJ|mDZdu8*LB465goi1eb@JeTKg@P0b!2=SI|$fpzmb2orQ$)W5EO#= zl@k*Frwu25&Mvlihugv~HeaS^9311S?X{FoSNXOtCT^^aqf(6kyKapD9D1mVc*`is zCPY;aRoD6J@7J>nkIBfOyZN}i)4xA@^R2Ca=i(PS8e57)WW8E|G;1!Fw4w_1r-+W; zVA^Ew&$3P%aNF}iM_*xJ9Ka$U*UcT;%G1gBQGvqIJDV1XaSY`;RHdxn87$MRlS9c7 z38~yQrX_Qq6qdhJg)@Lk<=>?)o8#wi2&qnV4z=m8SJ>2Xbt=+WHMAd)02{E;VbqSpT7 zGx+0^JkzNC+=6lPmL^|F$H1w;#E4@`nS2fP7{k5F%u zB0RQedw>?XkCwf<$sl-Qs;rd~T}E^69h5c(Nfu^|NO#nO|xaEogl2XrS>Qv6EHJ5M&j;k5@O9y5LP`^+cY=q z;Q&Y}D3K34#SM@->?xFaPwda!lZpr0lgm6;TWF5wY0y#9*sLuRGit8^q|Af%Y9!W$ zGsrf8Os@$sGoW>%`PH2MMjQ4KrN=pd^C9D>ml^xr$6${DuuR7RBVtkNah;GyD@OQAUN6s{dVU$At`W1s zjT6Dbe*Wbi=ZHrjik>fD8H1dY&~KjS1R&|xMar$`xMa!mvR;jSG_eT1-fJmJ+5OeG zkCHi$_Wo50*Br!={N|Ts{wU?K^?-E#>LzSPzvmczyNnGr=s~Zg(NXx8Rzr=00E`ZW zGsBVbDJMl(a-SMgzZ$%F9QjDyl-b}sq1bbko|EW~`C0seWbgvLEkO8mB@}WCl-bCF zzc*lxFk3tb=J!}FWWVMxL4r(>tGZrajI@yJ4#|Zh(b`EJnjk0QOh~k}zavo|GGPY9 zk&r04z(1~X)-qd6__OPsYGw5x<4OeBv*2Lr?4ch~L1vg)un+l!`K?bHd%p1xm=4Cu zY4D2t{Mc+&6+9z$ru6wk!Ns1RNVx1__KykVtnQ6E?77nh=}nt*>8D~K6uhwXWvx-L z7(2%_BVuVm3q!d$pbM-EiX*u&&tMSHgbEaZ%N;)wmtBakc%fR+qFT3P^Aygv*zmxv zThXSfO;y~keD)$i;C>^Ssw-|4b75~a5Mp`1e&?xAQFtoU71)h zNcq&<6&XdNz&XJ@Jfb^<;vi8Tp<_aM_!#%#e^8av?z$32{%2PnG^LbmDki`HC1bJ) zm?eyYsnMt`gf|lep(Uk=PQjZm*}BrrsUCV5Hd+Cdge27QR2cTvbyk?WSbIiugxZ5f z+5BdhpaiX%6Jkc)j#|(mf}%JA+XzTO(d_BVHBw|=sbqHd9qy`m-uW8FcO80IWr!Kcw9x-W(j&@_6aVy&7Lq8 z*T94XiE;~V6C%OKxCZwLlHd_tA^f8%jjK9TnLoR_(*St21f!xF7^TGQ5k^I|KoUYa zm(ysRN(N#!9Rm@xnwWe`RqFU&yiw({s(M3VD<=i@v#(8~!Gd``nZUQ%?0ssd3{pfj z3y(mHR)&9T<$wB9WtS_jn3Mkb6Y`+_?Jwze?oMdmrX9TI*^W?Zv6Eg~RxHt<)$@*` z2{CXYkfcPZp}jOJDiGZURffso039*8Gxj4iPJMs^TQq->fwEpX?}LrqsYdqW{$|gF-mzaEjpU zdbGW>S!(N6g22!&u)F%)%68%H>e5Mles2AJMQJH0$IklPS)7crFEF1d!2$M%RdP}N z09+YG3LSe@$#h3WHN07RG9~JA8f7Hf=EmEv{pa`JC>qhth+Bvq82nRye`a(Xc8X8^4>%Q3H z+>496PCFGTz4Tdt=wr)O*H`yN`x>DxIE=hfZ3Np@Px+ppU7yZJ%a zm=2EI&Xj5L^b1MjTky&Cl(qNtBT3(b+tZAK>Yw}ujZeLOb#@89pR8g01W?N8Wtr6U zw&qdRat$g)cU-SmAR_S3%Owq>2%%(Rq88*mmIDZd405WW3nFr=YEkMUh{P!^h9v;4k zn3gs(n5BS}ZTsTm61htrvj0HN)`8460a-D>@o|o@D>TE_t>`kv&g*%qX^2&FQew?F zJ1)>ln9^Ievg~N`ROA?p6{dI5M$(okvF zIDyTG{syC4JJo6pLOAsxL;QUg)D*0PQ9d*tt7y88=mz;<-(XBtjQYJ_@h$hR8NP7O z2E^u-98hvc@y~!LD-ET-!K597rRMbQ+znoQVXJ^jbu#r$`l^}goSv?xih!B5#SQec zP`_dndd_6tH4OuLmNkfJO6WY485|h{(nb+y%u!B77J};zyz9Wb2+Hf!TjB=p2wEvz zMtL>AiM}j*T53%>dO0eUI68|BIT_t{O7BTI5 zr)y3f^ng#JU8=gW4e1H8N|GM)zGmsDcP+cPo22edjXgQnKoRwha9r8eFb(o~+alo1 zXxY!=%xKbw+LfZr-(i^>m`p7jq<4DiGD}D8MV8xqksgw9;mO-O-MbVEzuu+~5fo5vS-mnp<5Q50}PYj~MFHvv@fZ zFFDs{?si6{aie5*%9QQsZIg0)?8*UMXOFPIWXG(me9r=eZ%Sho4DvaGVY>lEv6Bqz zLSipscFDTKSR43IB&Ww`iI^QlYE--!l}V~dS9UJHVsQ;SREg)C+1jQ?%7CtvrgLO2 z19%?Gbh7E%tg8sG-?}HSpjy0aU4veNJu2{WVwtV3s#*fAbU4evg1r=$iT@P*gEE4^ zPtv;hR4&n-nwTs=$S5oG;>2C7>4d__7sTHQ2=0MfBi7osdv%oQ-IpuorI>Xyj5evM zR}Iw-duWyOCH{CtBvBANvMSoXQ~a)bv&Z#vJ%UK)2-zW1hmQPQT*9V}PhZm(1F0uq zXDi@{Xa?2f#D{Gy2Rd0>=u6b&rrI{OkCQUtAbFM)w43foBDN#R5fiW01a*dL$tw{e zMUQiurR705~^H8=+9X3B{k%J%Ll>ys)_!k z3o)vx&`?&t!ct$?gV{>uF<6U^cdkW~d_N$F@d}(mfpI;newL2$R=B)_1tr zZOTWS-)+O252OwZNTyu8u;n_YHQZ+Ji@If`S3h{9Urm(@jtx*Iz_X;+@tt1KID|q} z%X3&#CJ;f+^$?j9#k^mY!Ayk9w(JdU`3#oDL(Trp*RP?)JiozH$w?(SCX&%TBcjMa zEx7)(t4nA)%jb7HZbl2_i53ZNumeqUUbgX_@e=|6TF^PC?yf7O_gUpK z7^D+{WOXw$N3(^pGSa=TA#Qy;KE4h-cw8`54?ESU;y6l|1bCh1crukLz?*OGEG{MV zB8xdznQ&mNnT663#u!^851oE>KI|LCR1#BHsZcCC6w1omtiZz=OusZ zz53eIj28jOm%4oW0%)3$it=jQK*mCGsAjqkz+TMn2}Sx ziozGF)XXc|=8ixpqNoAHwy_(~sY*yv8I_l2u^@mHofCuz7c*^ z%sJi7=Ow?YCule?F3RN=d)-gXUFAinQQa%U;`+juoJyP9;Oc#eEx(g|MVfz4}ix zs+sFwnN+F5va6C{k@Jf&F~@2Cn4 z-^qzwTxf+)tD9AsJ&3ALksHy;V7!hA=K)3-IW)5)wS4DBqfnHq8>lWo0u@<`Fzx^% zX<862<+xrcOZCJMpNkM)0^FtM+8s^3)~i+ACSK*N;D0qi`lb(QBcc_Cv{weV&yp7M zTXpQ#-GRlJcQ-XYVkMZX7E_P5)rcqtSQxb)A1fE#agA*B_w&FlpVWt0Ofpn%avDV< zV+XfaCb!dTIbiADuoPOZDE486d1*1&4fl4m2QfpK?6R$7%OpWr4Yjm;gdv$;u zPfz2VooLJ{6vE|#BIrSTuVm4F9ZJ?;88R?CUkJpi(u2ohN1h=R6&8#ibamRl^z#c+Nh+A5$Se7l_RFe7Jlv~RSa2E50-D25T!)iWF zk65sS^evXE7FfAPtMTQUEQx{N`HmzpGi4{AKhGEDI}QXL=Ny69Vk-Z}9EskGz z%ad1-eGN4&Goh%`eTFI%ur(+R4>M(5EEG9N2WT4W2fXPwA{icPMxLbU~mCR}!a|!C3fgXD;JB*5U zV_+qYqDklwV2a`@QXg2!+nPlv7`UM*4tj

G$r{DlZZtb<&5J_|LiD5IW^s=~cgG?^tV7}ida~KOK-JLB$L%B6$LLdwbL@A z220xlSy6K$83vq6u>-TVCe53rsMU|1HNNq%jL*1=^WR1_)&k~lz8cUqxh`O-3+*K3 zUxhOv={=i}K&z{ftp1G|LFE)eY+(QdjF2FQT;=oq^bsI@6o4 zO%^a4o}PB?zrG4mLlE$V0Y3vtgtC@lOG^*CYt@$>hn4x3jTEH=8D+AIY4aZ4hc>9C zq1x@JrUuqhq^3vJeO$1IDow4_e2t}2VEXd5F~Xg=l4h%@9$wNccg>y_0=U2IT@^<5 z6~drB_w`j?#c)+W;RvbNqq@ZSTbhG?Ry#?!9#T?JUi*bXvp?~}kEMg1Y+i94_6!G* zvtW?&VDHMcsO)eaT|mrw=hP|vo66$Qf{Y5sHH?|V@#pDY@0ZKLw8kSF&ML}w)VC)K z&#PZQf%|_KrXzikyW5d^e6Uo`m$mBa+$ndl+0d41A9ULu*FAMWzW5FF6z|%ov+=IE z(e_H}dBOGKZMd@j>g0sn(md&G!~6aHeE+<3vZJ%}B=vCiweeTj6@KFt-(v*ZBA+Ms zBSIv?W?Qqzjg9L87FSm#@3ZUp+ilP}t~IecJeCHPj5~zW0@BHQ_;-zsmp0%=xBax1 zc`Joa*IHW?R?xla<=htW%0{%^U8k0Xy0KdHs*aU|_dp_C;gB=ars@)yC`8}px%_K8 zG;(It-S`NDI|RYU?ml_2f<^jg%W$p-C}HMgHUS838*97Wx78?{b6b#h0Ku*4IQ$<3 z_l^kKe-PZYUhLnm&xib6Hv2(N8!s--y+eY3@~){Ys@U+JGyJT+c_!-63FrK-vhMk4 zdt>)7KK>l_@Jr;n(AB{|e2{Ms6tJip&s-JnjZbY1gdP^p?v=BaWvFa6 zXoCaoOtl5uSyNa`bb^6mzEukw=ox;C1I4A*Er6x4P=dnKR_L^ygVgjg^nOAUd*94X z7hpfw-Q%dc0D5ypE~wnx(Dr)Ad!^^RD5L||;?G$c(`g9VBsn{uy&He!J44xA-_X=K zd*ff>qkJ3ZdmHgy?0jSKyc#T}a}n@9Uq3&;??v~{cm=EiJq$XJde2L7rH#kVgVrlw zl3t+Ske)fvTk+p6yx$&ry@zy~Yhlw2xbc<-Ea;*j?-Qi)^nJ(CS$|1$A)s!ZW>sLA zwo!@0mI3ajr8IQLNmS}+$g24AS+mX!Nt*5sitXCIeJW=;pAYgg#arE#`1!eCERoCJ zA0F^Gb4Gb+KQB#8>JGLqo;Gfb%}Ewb-o<(MOLRQGM!Degoqc!rezyj1)i{l>tgNiK z+H_I*$@@Ovs`QBY_=R0|O=sP!d1pxkpO@P>&+`i3fm2>y@w!HCc=s)rOX&{xl)Gj8 z@2tfLmy z>p7~AZt;T8xRFbKiYRZ7Zabwe$kiI2L49}9Ma9lL_o2&m9g$w~l&pnL-R z1OfO?_-TGR_Nom~Vgvg0i3ad#YwJkoU}G0Q8tY2KMEWdoz zhEKLb_0S`LUus?A_MDNG`vo&QA$E5Q-vUMMu7ItQ?B*P1JH8tW^xoqk)**q780|^`>FmpV?1qn)Yc%y4uDF%W+#^*hg~ZFTpSq zjv@>viJ{NWrj}_Sd&kBI)!STP`3bg;y6~RFNzuXM} znqy%9Uv7neaWXLcFE_)#HW~iU3Lm#m#{ZiO04p&4pA`UBVE$id1+yF-LR0{990dOx z^eCn0;Amw3pU~r9s{X?-^vz3|_tGPPZh2+9(AP$ha)rdj4=wu(WR=F^eO2ATHJeV_mZUAm3NM^N4PWhsSKhZ&( z-XjBOkA{hZ66ij!=jDcZTc<`!%LNrr$_Z2U8Jjryge!o~o)H~iKi_H!T6Fg0by;SW zIsB8eMngEIhJ1~b+B3t5#_2jgOo%&5#v`%BI-kJ-|88vfIjd76 zAzp(#D3&qr#c*fm=6cTY5PF-|m=>DNf*5=4Zs~?z5g@8{8N2XcaPrFCXaFr1aDv37 z9amjXI^*u~bR%Pv8e_P}vT>at@I!7C5l=%RKQ(4&NMDSKhR#*c+_iBlrw7Wqzg+?9 z1+t2I|FMG0mP*p1G>uL=WfC1)J(`kE8MRmmnh2s7>T#6R$}nmn-FE?k2xwsJyQG*E z_7IxCoI?pl%G{o(0Us6LWU{no0wJCG z6CGhDi*x@Jui6ge;6$u)!RqvLVRU2bllo>`xPr}xB-c8%VDYFdxRr2Pdb?6@+*cUU ztQ;@Z)1PRgtHjm)*THGEE)9d5MQ+q# z(3U?jJ>lyJU(iqWdSEWS*YWSy)RwTX^l(3&oDjZc9ylkw5^Gx3fm<|K6fU-w6=TKi z5hrQ9!>KTQZf_e2N5Sb33NM4?0-DD7&A9C;)_?S)yAjBt1IgTtQQ!45kroc(D&Gud*%ot zuJ9lqo{;UXdtU;XS@yg3qxsF(4OM}XP-T+B2Woz6757pPQ?c>WG>a{*;&4RGi&OzE zu!^&%h70%M4ZJPexh%9j?-iuGhTZg&dw0|D;@k@s<7}amv7gj5x&a&MHl8io1`}?m zn75$-+d;OdDdEF8hD>Bbpbx0^kVzY)@CU)k9+R3ZG zm@!x4JQ0@NQ2g~02jXacfcbN1vr~aE94u^(y!D*~$V{}M(t;#;W`BXwb_y~n{Pi=~ zl%3_kWb#b9&7!Ok<MxYKc9xWWnaLzL(Q%nEsQEG+}x$^8+PAF37fC` ziuP22y_Mt%+?j5pFcXG+#%TS`K-!LsKnszpq5;0_R^t=Xl_Gff6pLCkfC^JqWDMf- z_0T0*(qU{W)UrOKpidl0-`(j(Bs9M%&iPKtfgF(*Mm=cTbv?*B)vFwP^(vF5^P<(Y zMQe1VE(>a90!MUXf}4j4j6`+=Za-+ct&N9~jjl3s?EW`w8+cl3k-Gh4FXXeWx}2|< zB99Jfh1(l{cB&vZ*$ZpiYdEX%Y-o*y53B5Y+kNgC&XA-2kyTGv#_}#toil<=%8W$2 zL0<>NO%*fArO^_5`rLV|QK?U6Vfa3N^nNgkVs4|V8BxqSe&nYt4F0-={+#HRre37? zdk`2@#baTS25XBxV;>d9MnG)UEz!(q~W$>dmv5A&%54Md$%uQ zR@VrB2viZSL;cqD)XOtp+Hl_d2}A5Z9^f7yuDoB^y2RemJ{r4=6ZwT0R*#%OeZ4cH ziK>_zm;Sd+SGY~y7a5UonXh>#xj){2=I?CGK$i^@lWPEdUl;~uS9t|O=QTdr=%rn( zUBk3!I+a547Exn|A`iLv65HJsF_=5ljuTGI7Mw#PHXw#UQ}K5EjtlBvVkXS!-Wjv& zZ15ctUO}GeVIRv?h0_RR@mVnYAm#!r8~bJ4kspkE? z+*ej_$#i4qM|wI%e(=pYxsv3dEfmH>I58XzWZkmlLB6CGVcf(9|Zq+BR(1BMD|=)0PxDH)6$US|$kHVaC)cK*af~irhD=iKMaks(y>A zhrm|~Nu4TD@u;q|+jbl(A#*7s1SM_dh54u@yrg>roE-k@%8e-%sFnIdV^h6>>`DTe zuTHX~f4iZYtoRh3re5$f)Yb%X5GC1tM^@$sS@&Pz0Az<_P7uhaPY{S7%-!GN>i!B2 z{DHa0lGm*PSNe|&@KaofGxY?aS8S|U|B z^09k$*4qXAF`CIJZWGfk-zj3Iwvu+c>J*R4M{Y6)tPc&!x*;*qFGgqZRWg zA$MSTsv8v5ZKS>5j-0q+%GwAtI^-cNne7Fn%kt&V`s@s=^H^dkT_v!SHEiXOL8G=O zC_$e-HCXKHE=HuMDn`togc;mE>C2%yj)W;mVb5bC#v_8h*sImsS1sTfl%p#8V&;0` zi&<%0D$i`QiHk#H@>d5EPI7{7hH+5K37TUh&kB?h(~1V9B%DQLDL$m$Rpw+gF7{Ap zRaAnOh+E~UG^BseL1&5@UvW&IoVy78l46OLvp_2ZY$Z)2x}yBf=^k#4LelX$FKwC{Vof3Y3nH%d6)t?#n(o6y_L$LX-2qiwm8d6Kwh&xEWPwXN&# zY3sJA%tA?nsM^mg8H@MLM~jXsQx=gE9IwD3Mmv8DNNsQYmj3$ifTHnga0^1gkduUK zb?S0+j(f~(qI88v8EL9Ud7CII49eK;;{+*E$8R)-MO{Z(36Q1H-Nc}x&c451#gYMs zkC=roT-wZ64Z2Q^@%_T#=lkuEqo$nLvOA15_c1OO&j9C{|MBZgH9o%@jF}trkSyVfDM^Wm5_@F^W4zm-kbTK47CqUkv}}}zy!7sg zS1Lv=ZhQalP~P8qzJf&hGJvYGlwgMlF5-@ukiSq=7@yj`A}%@@bV)_--r3&vy0REf zVxL}#;9U+3Ub%~{NWDX7!!F+h64TuaY(;1jR0f{9zHte?J0Hzs!+8zXp>4DA@g<1OP73~WYwdia&9QqYqen|yV=j? z5M>rJgtLgu8CCLnR?{5QJNMZ6?4m^PMbEtd@_Wn)d%*47Sk3wXBNY7{vm(P#+py5& zK#iU!s^AIc;#k>y5<82lL6gtxfob_g;_i14r)wAN60oSW)xiQ5XQQXaRiOf9J*i;7{t5SFLwg5xnT8yb0z^gctf% z%G!f>izuR{d^w+i!i9uSkn@r%u-t3<> z=$Q(}7x+%LU+QlW_CU+Yzp+1TY#zMz39jgB>yxpkcyQ&kH-=qwdJvnWCM>#=FMt7o zEi!RGm>cZUKsd_9ft^4TLI!y!$ilMHD@O4bUw-SdRz-jX%gySJ_gHs#8gZ9Xsw0q) zE5q)Qg3f{H1$$X!Noe^NSC}Ox%-q#9KdHsY1vwoWq{F=%J_i<<-T0#^43!#j5LR+c zp%>z_vn*K?5Q$0FUOQ3W{p0>OQk84zW+%2Zt^iXryOulcsn^4?wP+hna@XpY>Wl5= z2KfjpADFrfkLcQrS1{*DOIWIv;ca@2xyEmnVZV=qou+IMxR>Wd<~bjn*yZr0CB8L9 zl{~17TF7}$1w#i925ts6HkukVl$UYsM+6+7uKcWUuq_}SwN#KhKP7{oY7yf$SScHe zL}ZJ;-&vF0qU%*&@_)Wip#?XNVNmz{DncMH@3*066)a%wEz6swDiEIApN*isp%>u& z9Vk$|WDFT9|E9@>?(pf^18oPe9bNn|@|W+NZ^D-JEvK|uGf#55kF=TJW>tIi8&A7( zL8R7e_(oz=QY-spXZvU<%I8QzV(cF2ua2JIv9CG`jvc!me*!sFD;Mx$GH?LJD1QTb z=Zhh07fo7iX}h0G0@F^Dv2`#|cFQo=(3vD!h5BNR-EU)u7m;hmd6{%%dq^H< zcd7$NUX4Fsmst?U43(tP`4IILG8=0pI-R!ywOMOb;>}E){l=!E`(nT_T(^S{#TXI( zh5kC1pPeTU+><>Ou>RmHFj^`kMeo6@EDW*Zbhpx{%3T?IX&HcWK8$l1;M!{o4|f+) z4o?JGFG~wTZ-bfahMxQS$txbqr9WM*vDYpUc82+;7NReWWY&jItT%?Qy-hrBZ{9Rz zZ(6%?MP#D8RblV<-VHvV=hMppX5DdW2ZV3wn|fMB&_bvHff*+tzYWRVEdB7SAqVbr z(v#`oK`*;ljiY@^zwIYIspK&zVNIWVh280cl_#hccUtQq~h{Z0&|Q0&rw(R~#BL5hb|){!0FXooGw?1CI=T;1Q5B^%zmFnIZ)tdu{+dktL1)Bk@p` z;*KHI`3x5LxBBYNt(dc@cuZV@6(e?QwQ1L>y3*PT<8*=)PyKX?iALE( zT29$T;eAkRbKH_LxtW&i#+;@3g_=nx&-+s$+gaXDKk7Ogwi!_FIhmt*WxgeO#p<4g z^7MI`nHubcazs&)f9LiFEyyd#X=v-x4N+r`k=4UZzr;RUsZvUs((NKw%s7Ibnr{rvv;g8^B|ef}8Uuk0jK zS92DA*5vj{to_>K+C9i^`A!|y1mBVZhq;=gJtiDIM&(KaFQ3)ZY)UtL%Qpl~9tP(k z+YMEV@GStjX_a413qd5e70>vTx$x19IovX@7~f5Y2lRz0%U$Z?Bvm>2_5L4s?;IUz z^Zko+qN;WZB6VW=4^wF4SL*$&Sf6 zbHrcg!_C^=PC+f+Fwqm5 zAP-VKUjO6n)|Yf;QrxmhqRjGAM?YXQ={Hxw!$6&I_G@-fZ4kexxJPfO83aq>CzUkU zD2p9V5^h*OcnPv81b21PUmp>ON~WK8K{4}IgWNWv`C)bqJTY3!8J2&^7+wmT?px9^ z{e3yujwYPeIuZ8i?&jE>Sm4KS!3Uk<(ZmqjT4jP(P1q)mo{8;v4?Pf;y4ZAkygy!3 z7;`?kg{uFI*uR7+kEl|nFu>3;yD&$ZsaHc7~ze!W{lGaq;=()j{WJYok6+5wet$>$*E;mu77 ziQ==ibB5n@Ozi6T<#LQikX9WnJAi`zY)qh{3pdUrS5F}OL zo9O#*+o@K)jX!deG#dgHxc#|yYIm@3t%r9)eK)wZy0ZaS?X$W4Lh+A`^5l~HqNxf-%ZsVkPyj(S8nVR7olKn?ZWLjS@BZS-*mx;De zv!H}m)rhq=OD`NuP!g1VlL>L|KH5*|0Kx(1)Z^6_70R%c-HXrKoz|Dc#bj)F^oR`e zOP+Swf~{IBDR<070_4ECd<(8a;_TdJ z-TZ^%tfL%)YRbKWz1p^8NeBPz(~kB~$woR?lc?K>p0byW%6=jKq5K08EMEhX&v5E0 zWsP>vSZ3mF4Yf%uLP>*SA?cWy)F0hKyOfiPHW(c#8;CH_Gk8Y)Dn%x0Sa{OY+ zMcX>5yTeOuG`X;CN8oKbItDqd@Rgw=^J(o+h1l4Y9kS2HPNAM-U2DtG4gto*s$7sh zBS#Pe$8_zA+}$`x4sJ$>|Kx}^5qmM~w*uHQ`6xw=)=f4!crM-8mw=pNp~@f?2KexZ zJv*w4ic@F9vNhU2z#{{mFkO7rAo@|6J;wJ_2)#;9CU*K?K;UWgW@PJZ2A(2I-j|El z2Wzz^?O8`ume3Q$A{*H3#TEd)#jH_*?gdWvZAG4SnR}vt1|}YhyTmXM4=E3rOrCa? z)%CW1DG8$T%|wji(0gpGMjBy=f(*+=F9*zyhPfEL!9@v`a@2)y`$m^>Gk8Si^2QbX zXY*~iA&RRZbD34z)=NO%-m?>!5o9hc*{9AAL_4Owyr1v6JKqiAZ*~cPBBDVE(X>6O z6cns;@^?Q!*B3_eDCzZU{Cx1#l)X|=zHk*xNw=o~pYK>HOZ}`}!2ioE9JccJ!0E~8 z@QBAP?8g1vbae&$HMW;ny;UyWBQ7Dk`*&bN%IvE9UX7C*ZP|!F!ISLj)%N@Az^mJ* zPk?t7!zMM}3D`+Sa?=614B5ooC?RE9f=AyV%+%Zpca~@#D~uv?WW#}Tqyb8xS*Jm& zQ@$l+O+@wD4g}!>ZaK@bi}v(jLua+j?vI%TJ7~Kb=G&kuI<9-WIA>_8^VqXqm5!v-7)@sSJ>*gW2=gaozLc70xpIL# zz!_km9I9)4ZGvbPxa04@_C?3@d-g0ZBT-&m;v6BfUl+U8k-z~md>{UVSHO{o%LgxIKtNf}bzUNk$4F|jpjuPG`nj6Z>2I*WTZdI%E< z(S*CnLJX8;uIZYOYZ-o=qU*W%5U=tgG*C43MZ}WW@gb5MBgzU=&XT+SnTuMb_Rwj3 zF-M@4fRj8NH^nNePwEU0BL{mK?KECG>Z96Ckf3J7aII8=w0&9hd_4S zXrcT;(%1J6zsAN9sNjv7L8#^!Bx^##6+?m2;+{S}2lmKq&?CbaccQ0nXab(2y~S@!TG&!Y{$_cNZ;tJ|jKgqqHTb`LGO?_OI8pZ`(O$=?Z@vHXPz zO#E-`B>vT-pQ~%zu5+Qi6B;~zH}6L8q8}^O6?IgBkEQ5a(FKss))k|T#WxyF=YDTl zWGJDf1_E8bj=62T)b|sOAVIp~Kh{%vT0CVtJqRA#B~{I(4GGqJIJY;x3-llFWN zR9IL^NCpN+6PK)Vd0+6;eJB)E{n%b41(gb(B-GxRzR*}?1mzHvT_IB;^ydplNoRmk z*DY?z-nE(`=gN()+YVbTg<4BCVSV=0u}e5bqYlTZLGt)V71 z&D&ZxSX*>5FVZgVak<<$7WJBj`CUh@Hq#bSNq20z{#>A+XC_}k5UKnv*tFYRpECDZ zqSwA}v?{gLd!2Q59d~POu@ES1a*^POMQBd%jS$WEyd=#^zMiUnfDG|`o(jgA z5juiSnq@m9)93uNh32rl5?5t`Q#zU<Q##$+E6tz7aHQN~h}40IFk?2;&s%)1&ktHv_4|^eEagIwUF5$pEckS!ukC@9UP@u5K!-Vy%l}U zDZi4JO{d5AZbg6|GEP@i z2*T7uCcpDq5r1)kyd-ey5D3huCUU~+63d)jTQJUES5>4f zowgEmFk*DjO(2M_tFnt~(t0j?)Ne}d2|0H(2`psB)UXXrrNQaIT9uvceiA!*#{G{- zA-UU;(Z?6QP=ob9iSqwtoBTiMJJ|oRt~pQp7hm{S-|-K=K&9v>oD z6dlo`Rw^(bxn#<%Y5GTyCnNt`6Me>YxflLiLalyZc+eDqq8T1z8$TILjNN#dC+$Qdy4Y~R zld*@oh*{aMB9OtPM?&0lE5Unw0<4$*(GmS^g`B2zwfcCZ(kuZOw<|DVN?x2FU@sFJ zd%HZJU(T!L0$;V)nvB)usZCZ_S=hW69)-D2>H2gXW^pp+%@7vgLH;l;PR2<^bNGFH z9QG#PR7J3?f_X&a;p8heS5&!IHRi_DRh!}g>5gN0NH{bEVg@U<|OCTnVyM8oN3cH8Q`>9lpndhgbXip3)IQx%VG$y6&cIIcmF zDy5w+g63lx2UWrg)dTK>8Y@ngsYL&pl2ZlX&sq{U)e%fa-g&ba-lG!^4Wgrs)|lg z;iv$1AT}3c@D0c!sFMgSg^`rfLbvc$HFfII)6ar!Hv@4!`?}o>sb8z%CFBC<1a^l6 zCShKIEPN(pDfO+#*NH4K)SOzCB|S5S)vl?yy~x6L>qaw3`J*?uF(90XhAY;N!6WdZ z4b%x1hk1ssQ}gfKAdYE@BmxU1J-Kba!OJT^8nn|c@5}Mz6D9skEA@{i#Pd0OR#VZ> z=z{q$Ci_V!b@gr*(Wpp2EUD}S$K&9KL)g~-Qmw>*o4IL<`YNB*)G=I> zb8z8TXwY-4^g@m|ew=CyS=R01oVAUcTsv3(Xj(A`!=*`SD=|W^7#g;syHA|x{in+d zu29~$^fggAjm4iSlw9Z?JUxrrFqer75FHCiEHs7r+N;tf5%UcxER$$)z>E%O20nH- z59VNIe<;TkLhfoz%Q$^S8{b+dSGQS6zRn3~v&bXJJ|~%IB1>9Ais%vuL4uW~Un0FA z84k?+=_{T$M0Kg>5Ff2Lmx9^@O|8deyEG&pnZyi8Qn+Z79zH;YXC~+_XuR?h=IhKy z{PU{(9@YDnh!4N=lfJx&YQM;?>U_In#w_D9lb&}>f0cq#{> z&!ekLIr^0Hi2T8zJ%{0&O_>wE7FQVZr3-~|-H1d3QFS5WYQ7QB>O&qPy$*@-+GQbx zL(vw|EN#fhvgvp5uLN9&EL@i6=j(c@ZaS;z1# ztMsckKHk%f7sGTOV7yitEmFbY<$zx{-&o6hGg; zFNfQ#nW~%4>fjw$Xp#T z1IB%gZMV;4H_k(VuamkS2DTY{#?N1oNf$*Ox^&DVboqtRME@mH zwSW0}{IAq3|GIQks%hG;Ga!!KDntYO*#I3>J|M{$4q1K!bB2t{PZ963%aD z0pXEgJmKJBeI4g;MeVfjaZu*lVlXihp8>U@Bq+2t%MQ>a)s7l>t@GBQS3kB}Nv=rX ztORrWetn=YP!92wE_Z&?$RmnWiKj5W|ssc!NA_>tV zJUv5gz{sQ!;6Vdpv?{$&++kAsYM;~4Ziom>@&qS5`33P2Q9oNbW!|WO5p=kw4s5)C z53AK7R9rS=^Sd>r9lMvd?)aGhHe|Ju!$ni+=<`!eu~X}r4C zudDis!jNv7*ln31t1DIgtVEdDdHP~U^z23gQDXxa-Cu2C%M^lyjkkb19OT<0{msCs zK+NjPDfZ2<@D}aYT@-!%u&<|62iXo`UPYY5w}H)fCz;Rxs0fjYAG^K!YO(sl9sgHz z?O(^CN>%B9=GrFa2|l<>)rplh#}BCFugSJCSUUe@mtg~!Cz)KR`(=WqQ^7AMH%Cm) zV-XLk=}xLtkha_TBtCHW%SR*=AEVyX`8?Dt;LJd)zP$LX?)9PgT4^~Bb`};z{APvU z;8ag$tB3cP6j;v9Q(NUo1eHX}=E^B`6L&S?7=%kUjWvSSU6pDc8>n9QNE^^CavA!p zhAC{YN?vyK0Iy{RA!j~EfX8~a#(ycXS#1UHVly*J1qLC9nWL`-Afv| z%L#vxUW0ACg*72C3*qD&30XW`k9e2;Z+nRlMd z9_wc&?zb@Msv-x_Cvs=_*tjjxo4R4OPiZ_}ah;)cP)yr& z_xfwD7&FA<4#=@i}EGa3-2c1wovB8g)r4W8aDf;%U-z}G@MQ%I?Kz? ztf#8{V+_E9ClPk104)XI7$Nn#zCfDnV-Xo4#K-bwxrm-0rKxvjk>X2S#-sCE!m>1V z{#*2rX>E1xU6GlkosYt+TMCu;EqWcTknO3QB-eLB=+#={edR^h_d@nU$Khq}YU zD6C)PJNV5C7GE$zvyo*vH{st&dU%JV-@4b%L_W>3vs3hom`@*B{WP zv7N}nlpE0f2uZja>EB6ULh@DV3dgUQN9KZLSx6aMSE%f&NWT1JbDz{#7SWgZ{p20Q zizAPAqMh`*etFl0;^|vX$HZAdl`oAxb#eXF!&rX`oQY~5MhsF|`dImqqiATt!&_U8 zUtNa-D1OB`6Rp0SKmep}Ay(p^)N%j}Uczc|0H*fP6(9zo|K2+Pb2}VXOK-3YTW-=b zeJZuQ)tzrVUkb6!Jv2H<3s+qP+d`(_@wQwiCom0hPmX+6F>1;srNNsbj$&q_aYCal{(p3V8;8UXV8tyd3eyoSH1wDB4R2vMr3gMCls! z<5!)Mg)G*1KG#N=xQ5|KHzIz+bF(urC7W-;?O+A%tQi_P7H@|k z-ldbJof^JlW8#}*h{$@fhv%N;Bki!oNt!n`nu@{AY-@J7ucjCHG%79Pl)IId4yJt! z^f?Q&u%rZ979q0L91k_4lT-a8!4KkYfCo9BRK7IF#i{RX)?K_@oNWvGyuM8H-j}zZ zIDy3GD3bC_q~3sn0^_;t=cwvX4-n|>ki(W9n69hxt~~Y9MVHIq;E;!jYH}R%5gB~P z9^#;G_3%9t#fCKpDE3Hu8e7_mxAknS_b~k(f>id)O45H=$oh83Y-i2yI{Dbq5zaB$tZA&Js!@~DH z(k5M>&&cKxiOG$Crob}G3nzLr%t`xaytz59>XqF9!`Z!6!7R>R+-}RR4gFf`VbY=Q zONgk8>qUws6W5(J1?VzN0mmRfO!4IMc+f#)q`8wrZ5<45*$dA>+Vopp^qDoO*>)c~ z$q?J5mH9$PvL?q51`cw?ebsQDFqZmf_~A+Y>qesUyEgXN{j6}A59K>98JapBk6;}A zqYKtSO(l#|b=d`+G1xqx{wN}yuZ>L+3^EKFYz0-YDQBwDX&-~k1T2H=_=HNKPcY5N zGVS?2`lZ)L@gVis84H-(dCM6>0U1=-sKD73kWKttq%&$*L~tJ8oXf9r7l=72lK%(uci^f2 z2jWZ$^?fvmloS*^WUkRfe(MN;ya+6mxA!~7kN_kVH9ixLe>Lf^z^^Xjb%Cmd>`CPz z4KhYm#&2XrjxAnsI;R~hhmm#kK#&>LdPf}w9uLa|*8_nf&(UbT)l%9|K4w=LGD*foo9FM8MZx6fz6K=Xx?A zAC~pD_4cP6c}litk>z9JA1s7hPlWUzb)V&h$-Oa_3KZE?$d=20exVj-zmzMKBGDwl zJqM5$Jg=v%2H+1RGe_}H+Yj_IPj$^O$L{~$v}HvY)cd>%`Y9TY=x@p(Suc8 z$OCO;t7hoCk|HDTbJnJEIMRTuM_3o0jdj1?U6su*!fRuH_R%zTp_lH~#(HqQD+tkq z-cmc7CO^6k?&h-V?Cvh%+BYRTVP#?b6=|+M@#j)e?~VC(E)hF7M|Kid`&iNE377JmdduHTr)Zr{Z5k`2S~dDx7M;Auu2T zfD#-40PRb-{wG?8v$=_l$$xwP*U0W%Q}!1wCssG+3*q1fe#`~7AKeY4m-QFtPl(+t zJfNB$WsP7j5Q=wO4*m|5>q3LII4zpdMk->P`7Xlv&I|`*^Fmra>wX?bZwA~?{B9H^ zF~@gRA#p{^Kj+S%&;1LAODNJP-MMOwd>xeP#=<|L)@qZVKy?jc2b2PYj7><_D!SFh zq-L(Nn zBvXSZpw8LLilt8gbRfb{?3NOR&*~b6cU-5y2BWVrS@${9D>&erWP9>CeQwFf ziHwH-cZP$gYLki>)y*CqT^y9Up=M)FrJRt>exlT+Bz(9LX^|0!EK|EveUP6kg9zFK zN40JDC4iZyLw6^J_Gz_ECyW(TDn=Y{B&{HE*@2WdPL6AS&R0u!i1A-jkiKlUYRq&2 zxA`3bZm(G%-=Au}d(^cB*sXR2%+FoJqM>BUaLzQZTe}aLr^LdLFGpTSpG9gtKzN6g zCm(6p=KSQGZp9MFwI(y98B*8*|LGAyF_U7Bgvw`%g}1{LKhGEfb6CGxy-wOe?AK6J zAVpJSkJK0MvUPA5RUC=FBQQ{QqP1M4UIFg$cW>zL{_$~)AFto-!P^bvuWrtZ>OL~M z^{$Vbv!0$$(6@&(q?#OGqv1Q2kHu;I?w9u%&NfV(D!ZI6&yVv%H~sg&^U7eIBRj3| zg2T*vI}|(+Zsv4Q<|lxt)pbog3FH)dPvEE_C@U_QClv{Tj}syc+s=z*%sxMb*Z_DZ zk5?{=K*WlS0ob)TnpLle6flQnKh@UQC#ir*TG;8>T5WhU;CgVOr6u`rmo7;eKSRe8 zWzKwyg5{7&6b6;3L!ty4`}d_$<F-7|uK9r2^u8C8oxt8-oDA%B?L ziDFl~5yF+sc)~*iL@UfY{ey8<DJO-tLPR?;?Ub*L4JQ++h=9QWxB-X5=|)E z>KnTqr)^=#_^h}LT=QTrZyIZnDyG}=gwL@>8u%||xMiMA(G=ly(V=CqXeww zif6vmBobkv`2wGp4>_@2TW-?EYp~ia=s`2X26^aIX^}%ud*%j=`wr@MhKDrp_!B&H zj1r>exq@3AbWy8xA`QSA+OZ_Ee!;D``9R~kj<1#(YNWnqTcdc|W?R7FZ1tF{??)Cy zlHYoCZqaaJH#FmI>E z6SY;k2mf**HDdKh8&tfE6A78Uei=!ixg#2or8nS|KHyrUdDj^+-^luMAy;&`aK>M< zXoZxuRUlS*IQq*9MQ_OJ^M6zhz<#Y5|0H5S>NpOaI~{``dUU@ zY<}1pT39n!+MAetu6*tQkfp?d;s6j35P-qg1Ms;H5CMRJg8p-TCGf8c0vZAW92^1` z3JMY$9u^)R4i*j$0TC4$0TBi9Ywv`CjPeZ)9UUDW2@?wg4GR?w9qpeF0Rj7Z4>$x2 z1OyBk0vrO`|8e^41)xBK06+j>AS3`#6c8{Jkk3KD7r`J9U!(nJ!2fpw0sR^yBos6Z zEZkRzCS(982pAYBIM_d<{_5@X)eZnhfj}i@7J~eyXb45(fW{IKmj_KMT-S%LGuA!-AWNcz;W^Q5WU~p)7WOQtNZhm2L zX?bOJZFg_~;PB}9|BbN!i7u2cx7L!t^PLK!-IBVh@EMiY+9tLuXyWmURH|KT_bi$TV=OMdeYY5!98zeiZ$ z|0l}+J7ND1U26b%Fp#ew4-5q$2zXa6gvZT;Oz!OSC3x0jcF(a|$PHB?F*=IsP+XPr znfKR|5O~dL-u+IHDXAE5Ph|=VLkVyMR)fi2Z-+ftX-{Ce;Jzl5iya>cbBad%@s&@o z^j`Nvf6!w+f8*ah;^b7eT5Dhv8Bgsj8HaKog=wr&>bzUPJ5C4OuM|hy%Q(^n$jzw) z1)a*NA;cFFI1G6d3SeIsI?0>aRq74&ytC&=e+R+dlKjg8vIaBE0?l`$NQm%kCmgyx zx#054-Fk(Hzd5d1_>AMObY%@SM!e7*+13u+Xm2^Ls0DNj!+BgOZ-)RT5~cbBF4P35DjMof z;+zW7x42OF&|rA3S8>0zf*Gv$HSVQN@4ijO6H?XQp^DP90bCix#aW;%BlfneCff3w zZ_w<=?6t?mQoI;;q65Swu7@u^&T?cjcr3S9H!LbR8tmLGOV6lH74A4B!Cg+gKzUvb z{J+oXNmSD*nsZzkD2Z{xVX1*x5OY6pjSX{?W;%iMB&}6CAiQ7s#rGnMnIBr1T2p?ziaU)Amt;@9Wl`0sBDzYidS@u#On z0!9grBj(VKm2_&=eZ^I2<_ics^U^4oDC#Ri+MC=C$9=@sq^pgvm6?R2sSZ*NG@WPOWYv?=c*$9PEJdrk>M>1J{b?HGt}ZwpzS?~!b3u>jrsO9Z zzHmRUtlrD&enVt?cm}*i%9xV9yTejDt98#SMX=Sl_p)nK)ojDuu8!z)1wJ1-)-Bi2 z_{FCAT=TErFMAPxr$wIo_Hp&$CM#vV3`>W=Gspt};Md!b3&$$dC~4O`AvkAaz84ZN zFpqfmN2%XJ~@CXWka7Ku#GaH83H|JK`oBiA#Y{*)WDw~ z(RY0u&8Ck|^fBEfk%G-}bvr7!Ls_$6toGo^PCb>_MnfyedO)pKqDSLgSeT<)swhUv zq)ImkfCTbauqv9DZtYPmuu4S~UO=RRkX_uLRTQHFgJ#NhEAGV;idBbet{+3EN#d`TnfSLUr2v?!CIvL>ruoEX>S?S^n)|&LHOx`*@_ShX)BUbD&$AomPkt8d79>egCxem-ANLN2;lo&5n>5XwMC|8u1nBdT zTNIo=^z>|Yy1c6vK3DauM@b*wmZ++I?qwa4MsG+9Q+YX7#Txiqz{Uu2k$r|3V)lZQ zaYtS3Xk`}~9}qln1xTTtnvIQ?IQsg|MX39fXs45K#im$f=`VZ)?t5xf%&Rx!InNSr z%m$-K`yIx~T|3*N0@=Ij;712h^QL@t{5|hRr0%u}ymb~`s%RAmkV56pUk&@B*{?_C)Y9PO5zrux=9R^6y^T9Jg z4=;g@vqdP+3nOGzrpG;FI$LsQoiacT6-n$+Ukm4dfkUC*|Yhs)p?O`aSPhk zXh1f_wMl%!x{S5g=7ZGRe*B9;x6&rt{a5A|Fe&nG+2QQjNv|jGjrn>zWa@OEXYpQy zVSaxirdyKIGWrw1OgY!Cx?tAX7QM!1glwW7y^y+y_H`nKL$t)k=!sU(caI`G7KdKt z`pd_M%MTmEFuLq+`m&?1@9@0IH!CGy=1zNi^;N!oVeM68Sq90eDSK-bKu_7 z&+U{`d2KWSyKw=!iP7ZAMjA! zq8H6gq`Js-f37KYdvPTsJ&;4 zQgR2FABjSj&?*@UMU;uR--Gp3k<1clF|2AZcfQmU@@`k&TqK-iYax{+>*?Y13AkqG z`vfRFo9*~mtm=!!_wPKs;srB(0-7xcV}@u6mUkFZtoS$9C>lt0J&;gE+(DR={{pQ6 z65|>^+k4ZNm%9s%r)(ZOn>Kj$zd41l;7QdI3|y3WY;YT5oU}1M@LNJ-0bnChf3 ze`Is3eraLPdDF|k^)ANOgjuw9R9H3q=~C8uyc9kr`#kUuyJ=l)e!dd2H-ZOG=0n=VB z(>SMW`C+87d`V^d8!&bP9J@-t--dY8>A8NdPP5u4se;(>2vQPB){|VNx)kRo|b zvbsx8Emx&gDc+xe>(FmWdmY&A6yt+{m&GZsJVgJUa;J5b($!)2mmr5R(j#+i&l@p4eLQ-ZMl(U?eKHLpL(i<|#yU+MD2-6@wTDK@V1qbcg;{r<0& zs8>1H^*43$CprSp0hUX>_{?b4sq*@nt}c6w$D-Jb0fvR zz?OEP3PO<3_|zrP(nHM~|T`EH^+Bwrx~R>!?^A=S?%n0t?yP+eVfqU>1!ydsOnq-j5lCA zLr=quzt&6(s-9!c^^ogBDRpV3x8Ykjq0h(b$4lVR4k`{%+7@)#urcvhO)Q8h|IYI`KC&CK}0<0E`N2AI+jptSMR-Cu?etFi~|7UZQ#2V{+i zaIr4Z7Tb(%Ro8c(LTNwi7sfbJ!8NnHPrxjlL6rSlyf_kE$k=8d{%R|_-1Kme%8j$a zDU-~LRe96q!Q&y3{kV5Y_yl~skbb*UBO*`M7^&Kgg>(pFgTZxgszl~2KPsYYkU5lC2gmLWC zdLuSQWtPYiB@^Y+oL6$a*~X^wao2K)%q`2h?2vOiYxi_%S;cYIzo>!Xz?0{N5+f)?-r?G}2Wki&(y*ruC z>z6c0*iGf{{@WTE9Za{_uz9YZ0JRkbD87g3SN0w&%VhhXv31y{2J^RR+xj? zoYy^}QUf(-YjUa6<3pvoLnwCnb=YsTT_y>GO4&G!*-BRgHWs@oklr%nZHO%t?Q zTdvCsHMy59J{%aMnq+{$%N1S{aEvt| zO>X+JOO@B)+-XaU(TzYuTPRx8D z>;(PA@91Uq<+*CJ&dh*r_1-`B0LA|D@>1Ab1SWTl!}-z*ph|L-6_nSuCKXv_GjKbj zM!QTpn?~(WpP%0LB3pLfhH%&yajDwH2X$WMX5IV|MW4NDtAUTjvIX(BEQBO#X^lU? z$RU+!^>ti`ef61h@Y|bGUDv|4#KId-U8B7SWQF-mWBCsW?@$GeFTeLP^K}DKS4jeg zy_jGpcb@6*i*M9>U0&iT6Uo~OE%P>H3%lK@;wl>(ePFa>bVdMK47@gRpMjD>3(w>5 zrb&(g`Rn(@C5-F-xXC>v6pcnm*>VtOO%pOY$>ZO*NsiFlQB9AnJ!Z;CF!PDVkH?mZ zhrmDSZogI=3*0QU*2p?Xht%wH%;s5VQ;RNyNE@m zq~&e~)=Ir5aN+!DRpu8;1>BOO`xVdwZu^H1wGX#6s1F+bpe=D22T%A6cjPf8D%|CD zGp3f#OtaHi~<6XPnjOfWv+?!^U zXE2YYP3!jYr1BsTm|xJ+8u17EC{!#N8;ykrFBB>dvalv|UED{?q9Qjxf*PJG zKLYSynRc+7`Awv$bCK-2kh6Hw2-d9i6Ob%VsZTw60Ma*2%7f@GSJfYsJy7-t*=^bIY*%iT&D%IvZEMup+9_z!o=&YM9uAyn*vaG+6qf8e zYAcDX2(EycQIGd=5vZXat@WtJ>G)l^4;(5oGb^sD5xaG3?jQ)bp56^_O>2sBWn`3V z;VlU7Hsr?t3SpF;`nvV?XO-#vm{}~kBet2%TOFl^o`TJJjNywGP}AR?Fq>L>%%7L3 z7mpZUwq}-q9)oZn#UH;QGHW#*8B=f%8$^DVo7%GBu<{^yaSnvTZfMtZR|t<5+5zhb zIU8p3*_dEXlH`-4UYC#m1O$Ep@MFeHXZwxs56^Qh_b%6)w(VxgI!;|DUWPNkCoOV& z1Gkn=fb1hFNk(X1AgZLX(tJjwvAO%;pxmX-S(bY*BO=n$c1RW+6|`wKx<8V=QBm?y z?y*SS$G>$nJLqE6RIY3Q5jL|H>^w?jLd^pPD&_i&)%6MjaiKEHm!i9NGYC=W^sOZB zNZ?81xv`}#hj;Aldv{Fagige14=t75BO1K7Zmnu$88RAN+ufvn(p;|VhNc_~FBcnS z$@WXy*JO*_C&X;0#Z8{ob{{edJL4v*l6qG5;$m2nX^c}n3(#~+y0MI%4t+L8bzH#;qXt7s@HLOHjvdJr{ zii+_=b#zKV-7wx0lCnt_s4%f$X=t%Ey_NXNe`wRVy>&GAQUGsUF043suO(fS|K#_0 z8B?5csr(5D(X}gse-6@H<`Z501gJZB+T@Nr$#C>jZTb|d3mmn0^Y2_h^)vH%5`>qS z&$dle=UCu@#FVW;TInG7B0ExBbr&;qY1~TLr8G}mYWYIt=C^zynQgEv4_>2ccXD+e zpc76^CVJ08J%39HqbyayO)NI%<$Yx3L$6*^~ZlAkoi^c%EN z--Z(}A^Ir}HeSJ!l*VDe=pZFeEopz5UluTrx9J=p+Y6lw;Ul%yXeEik#{FOIy=7RO z$+q|1KoWw71cF17#@$^*@BqQxLU4E21a~KBf_r0)yF0<5ad&9k;pxeoIWv=eWt1)&s;c!*nHV(_o1EuER}(n~qv4$h_?^wB<7i$wt#o^{%}Xh9 zLyAkvmceDt`-kKNA32ysbsQ>0gW(T)bjuDn`E@VSQ7)gixBb{fBAmiGEYxN@o2&Li z;q}85@Kdxd`?j6NMP9H&f@+_9b1^=uF)yHLjj#jpXsxb^h4WK`_l_6Wo3@k^Hr8h*p21(fXMC~4x1ISC&{IWr8s;^X#JQDa8(`Mwn_Hx0aex#~d^ia`meos9shjF`&23k^6<7@umN9z(l#!(v9z)js@m2{l z;l)2V=}D04PK^klxf`c(LK|?h6ZWG#H@2~$q(tK9yqIU_pwQfq!oWg~z{_N-+u`w( z(3r;w%Uk1p4}dQjG4qfco~AoD0foYhV4BiPXhtw4;P-d;k$)vG&vL5RhaqBIiT4ix zcWCqF5w`s@bj^%+1_*MoWbKr$S>nU1z+$>xQps@_dgWXr!B z`XV6A(@^;g5qER4$-6ny6PJGFshcqAeWKR}{W0@|ikX+BJ*i}N3Z)+zlCF%@l1($7V zsAZil1QIqFsemY>uxX}OG3~%*2}18OTb9oOR!7Fux5f=ntS~*tcy0pI^4V=0DYA(I znvSTiSVnh-SL|IriBDTe4*~oaEANOoM^C4D*$h}N!#7~z$mIq-q*61d%#S$xvHJ01KW_FaMBhkgZH?8dSWb@UXt8SHEw50Hf}U=rWE@(67Vi<0Dn{4C zP^4-mN*LJCBsE%#76$Rc`&M2C(XEDE1YX0Dn%cxKRRM+vSaLzmqZjhyC6xlmw9gmS zZ|nR)_9$xGDF|S1;9&A25-RbQSM{%Gn!*AC+@)6nt#A~Ns=nuFw$o_Lsc*46PC_GM zF~Qm4CS0NlHQZ6@%Rq$e(Nh96>d9H*(S7+bi84TgL<-A`8Y+r-(&#;j{^v+TtD3B7 zI1KHgib;iXTTQTeR(=0hiX2daBDg6eZZ~dOPbQ(}AZ`EP%wl1G*YR*>`;(C~MN5@B zTE}(8*TXY6Fub(Xht~%=azDxdj|roJf_dJN1-0hqSaRaktTy*jU8D|0{p?-p4*>=y8(ZOc+F zgRyhC_FWt&pQl&Bj+H7z=7eSv)m${EP3ex^34tx$m=shplGm(h@uyBYK7)|%l@E1H z$$L`k@i+F?2ADptC-gX>Drw2?G%|ZQGVelEnhtcO z*wKS!283YFvj#}|&JFDt#c6(8f{8-OFx|VFOtZCXe73D89|nec;_~q~OeE0|vSaK( zsH4ra_NP3ecR_^)uZz1Mbrk8`6)Bcb^~O9Iy$t+TVHWFx-$^$z8#($~>yo7O@2KG6f+-hczMfm?|c z;1Pwa2lHbKp4N*#y_#|QH&&H9QN+XqoJ$U4PHx?|Ku8uD)1{=I9FEa zirhv=v~CJoVO#XlHQ9U^c#O27tvs<^|5e)4HT_0C(}mY{)zxYT#3UHg_2xJ@=?!0N zNSEOtp8=@@G5{{Q;EsmztTAvQmQ+Y$)0l0f#*Vt*iHnnrprLGqHx6p;hd#uCCrn-L zw8~c8#e9mu3>6d6JM4prYdbam%>)(3?_x3#{ZdkB3035tZYbYJv57;V5aICkQZ>p!e1&>_tXJnMQ;}v_g z2`_ta-=_4E3Q9cyv~bp~#_=H_?kqAH%jfevkEx@IW!PRGqg&&%KTyXQo%6RgPfVq}`xj4K(_Ie^8|ZAv;|emQ38xg)8kF~X!^*L4y19mj5Zqo`srN#& z8}J3%JxKO^&Sjd-=im5!bgXQD_2ONW2q z0%m+)!6DFQ>C;qZV4(tzwo+-|Zcf65{?wRMMOVu*fA&*78=6JfGQx@*h<_3I1xn&$ z)x3;3!7IBQrp(bWb!xmYIrYK&E8T%e3gezz*n(-E@e4|(vg(+aP>Wl3BLu2^Pw$i4{oCGt|oYvghr-=0YPWBu55qlC$_S$7F89XJ2MEl`q zCdx5~ep$7Nf@Dmam;)8u@eT;qYD(3N@@e@Rt4B2f(yg~IOm>Q339@A%JfiCCsbftE z#%FQ3{nz)!$7RD?Q#wYYhllKkNoKp=I07DDil1Y2ya}Ez1K$wUb!oT<&>r4x@WxzC zB7X52v)^aB?k0p^yXmK-yYkb20C)s%?=F=JGzAx(OZGniEWJ2#`*!W#Gt_^{s;f-C zDtrL6Uira7rL{G`S;k-ADg-NsLCW_8N5sj?h0^Rdsz>zsR&;}@DVWS}<(a=PX!!Eh zOh}d3N?~3o1p%P_(CQV#5TgCAh$GCb#yZ zrN!Xt$lb~7fG}EV@Wxjs3!`%>8?34+h8kgx#60w8%&WLStD~5xQ+p_vg zee@52OZ47TX)PKp7J3stS`FB!ocW&eC?{g&0f28hX6hQA1UmOXAL%oBR`x0rH__1K z*;)|EWs`wo3j!EAhuO=X?WwO|$2M2?)tbXREY!62l)%+BW>*@@AC7bRB*6CI{EVEAvZV@V( z#;mlR=%D)fqRQI2v{s>pBmZh!DL5<}T<>D`^y#rU2XBy1J*htJtRUUN0vI+|!v)q? zfJe`E9Z~GcPIvR!5qc=1qPhn_zI=t?s-usxRt^T|TOiB#7-U)Js~GHK;HXI3avI%d zOet${zE7M&GJL(@c1IRTtEJ3+*W)>mJHA6Ym=GUT%D9p=9_k3kt-h9uZfJUX&`@`M z=&&dnu0HK-7@J1$sPRgTPW~dHt-5;HjAx;XqeTak@2sgXS5sWuAYorpBY(dA{u{|9 zw(ErZB2=fds={5UqP%i6vqCCyU6^I)Skl_>D8;Y4{|<8fwxa7J^m6ar?y^4xj+h65;}p!)u{%tEE-)Wkb&EC&Na&sxFQN-vDhqvKVkl zBMJdcS1V2BpuiH`-38j%aOwSR0j*=Nv)$eS{Pj>Bg;P(ITngnz)xNoW9hroB9Uc;; z@~Vh$TaG))VPIdh0H0%*_hNU)5!X|E1*UcW=|?o39B7&RMRcra40pt>?E}4Z6I+h& z9N>Zj+bxD<=1`*_J2^$GlJLaKy(Dg>yR;En+#F$;YUJj}QYks{>T4 zeTogL8|UZ_bx9e+W^8-<+G$>)Rl9{1*ELlm$)}R-ZB#4QH&)B$x@q)X2+$_5nNCpG zTAtqwr)EJ9LvIRqS=ag4EtSiaZ@B3d zL2G-X>dVlh(22BUJTDBo!De69x83&9YVAOd2^<6{E{UJLQrOZ+bsP7a2Y_QAmcR#Z zl64KX6Ha{7_?NN3^5EN0s6{`TMDw~%B&>7i9AGX@5L0um+XN|E*pJYfS%MdUXe(=4 z(rj7N{xW=&Ms^gopz3O(S)HDs6YOfgv^f zwaDI{S?m}$84)4lY&m1HZ}+j})RG^=D)m_Z(rMj8UEn}R0v7wGuD&1Cz>fHSlz$0x z-p8x3*yFbn^*Y6zTgWZJ9XdBeDeD&U0O-}YLxFsYtDOCge#p~jk<5}h&Dq7bJGeF? zSJGf$WoN>7tSw4BKRWC&fZ0nD-+`yfvXleU;YHN+=98>&u%MU9r#sju({Q`-Xyb60 zD=H4_X}`$@9Q9CRnB#Shp8rtSiK{j{v>)5|IB2*(31Dt1QV%Wm)J{D}^3>p&Ig_%O zV#!wD?blysHDex~?Z{asXk zP>}4zq8ra^*N2&|ufDV@J0pW>vFLVME~T+MV#$l8=bu6?pEnztd1QPlr=i9dcQ!R} zRk%EqY?0xd-o~9_D#125vC=UavVIVxiQU^C)5|yRw(9L!3<^2bV)!uPuBJz$rioF$ z(AC+H)7}4yYkObESOs1CZiYtn&MEZ!%{3cWZAn_4Q=PiwZ(d?2J@q$Bdh8D32z0QZ z>0lOxq%Lc?Wn@dYFZp=}q?=x6H0d98#3y+L@d_EAqtJ~lNbXvXVuCd`01SB)T*ER< zIvVYB<@xf@!wwRxrp7O|sW<(&*?{~S9E;Tn-w%_(wRMwABD$gPX+uQ?4PKP?^bB)? z1dgl%dBv8!!WJ;VI4ae3?6npyMB72Y@O~L_IXu$W$u^FTUCSv5JuM}D+lG^@^VF&@ zhTOvVQu1C|&IM*h+l-19F%Y@G7;~2{5Ggb{n%2yn$$9vY;WSKDcrNK4?4PI4ejQBgc}tR7$X#JbBM3BKp3 zoN(xGxA;DfCLl7wMyHMv5;9z=uCA$-FN&wM5GDTII@8S?hd``Gghg9A3-8Gk6I(A4 z7X;@4V2ZzzGY*!;*csi0fZA0p&wR{vJ#^Zum8YJ&01l>yZO&cT*AU8tQCExYVaEcC zd8PIEZnaGpiUzG*9uF9D6=!R|e;*LnqAO;Iiu;L?;xli`5t!;&NR85tbxbOLKKXJj zc@k2~AMY7XOgwaKRku4eRc6)ZMIZcTAFZFw?Ek28Ofe3%xl_t zBsxy9IkjI1u^3HpV^1c{8i5MsP6K^#*OL zPu1tr-|A*_0i@{k@@W3;h-7_KU3mIi4E;l;cTSUwv{u*<$CIG2?g{VL&95&f({b{{ zD`&^vp2;cSh!&}Nt~VI6^A~l>2mmtgufKJB*s|Am8mHbyf3iCz1qc8yl?vUQ_w`gW zwDKAeb!;ULBsM9E@x{j3@+Om>D{>^f?HY3P7mLyh%c8>VXMbXiXr};kE`&mt6l)RJgA1$RaTN(DMw<&g0^uwKL)HP}IWYFrF%%}`z z$qRx8unD%7qu*LVv|ZXfC4yJGCw2MJdlhE2qP|kek5>GAUn0eOh`%D1U=UG3)MiS| zY#snEE6FFJ4EMdN0+=~R6Ah4e3#gx^>w~$7K>LStnUXaGN(5D&mL87hg9f*pM^%L@ z9{L?IrfInKBlPB<{M(#GIyh)HsPT}{2vTk<#9DfZpl0!ntNrrB@$~!IZZvGgRVrp$ z;oJrC#gbGGR{hIS+iaWnz$4Vjcy*$?CfJ4x2fm30^2w?GPsI9Y>r<~Hu^88mB0ak9 zHbaXiw~O}Qn3PPx-H%E)$VD?FRD^CmBBa#s;cOk`7eLk6c{xR)d<@33oKb&USjC9t zUXZehK#|`&Hy@5j_WnInWGW$TOoIKXPFnSTwL%C9@^l`zs^i#{mb|pfnMt9En?r@N z`|Tn`Js_06Qo)V3G}#!8QOTFb_^zK_U-6C5=U86Mp}CvM{nUDm%g^S~w4r6JMLYGP zPPJXkUYmJ`%GuEPFt%F`P>u%MfE1XZ9~U8Q9-Y}*e3gPo`r{Rg@%i=mFivDVR7)}w z_{Acd>2u2!NrdTHDXRgFLXwKDtE;^ZO+|bfv9lW2#6&H7>TIP`RTHRrs{y|IL&LXPf((9*MOh~flsu>tImhO*rAY0MO+ITv0cWxMT{m==Kl+R=$}Y4-~AI`y=f zojPRq`^4woQoM8Ocoe2)AS`^M!J{>^H8j?GJ+7YHeusYZ-Z6Qv|J>mu#_T2X2&Dn4 zH3}Bzu#B0bz>6-{&g3Tt%g)aG<1yZ{Lt~Bhs&FiR4Q7w5m-6Ts36=VO=mj!f2&!%pE2Yu-=V!BC zb;F=2t~7K!y^Ba_H4es!cdLYETI64|X1t6V!4qSA zuw(Y7YeH*qL%39UT$?uM!12TBcB{uJa_R*r4qAE7)@?NL*vYdfs3$DQ&EDkC@puBq&lW z(+y@9d4s;(PgZOz=+oqiOQ_M#j&g{_^zPwaX?kwU78O4EAk@R_OEVHjQaBO&<`Cyl zZMwW*D;6$HHei1nN`S4Qd6_s5Q%RXI-KywXm&;GCfEf$K-?dARCD zA$2^)Q}9yxg1p_t>#IPwa&pnV5Ou?3eduAEjk6 z`}qZOJ0B6A`1f<6r=zrE0EK~1HhkStPvJLvYE^$GZtQrUyv%i z@^sV^gQyQ@ZJ(dtf0E5xc&~1fDg_i5a^mbE1!OB4d1E;iFqM~p+|16!4WqGC1ZF^M zlFR}jw6()!oGVq}LOq9Eanv^+exHu}HXSD)!PeLwd9n%d3J`ddtaP1=#~;BVXEBo` zAms6SFoh;v&1sQw$$x)J(OcMJE;+Fx@pmWpk>Rc4t5HefA zM74eCBBO5`rG*CCps|=P_GzZbVRpVKioi0H6JGLqX3CvX|HfGa^wol7QTe8*KqLRe z)u>v1Ot}WS5PB)bpnJ+5yWNWU59f{NHVh zQ%m!D;Y!hQ>==8OEb#btN89RZc$?VBj_Uc(UA1Vk_R{SepO)g1Q+#L4dM5WvI(D@3le$DZ-W+9Jk(Vx z_N!N57Ae&B(?1Qn3;vJ|Y9K1u-V*SHCIk>-zPas6p8{tb5~lVcAHQ^g zj_sKL?WNvIVWYr`Oq_=u@02WWv(eWqLq`Lz1kyAaBt$4EZ<2?PLb0wUB~WH?n}!KN zpJSkAn8IZkG?dXGyy6&Rv*h8ZYCoMhc6zfkniby~vbhaDVS^ zw9JH6G-_IBiQSf-rh3#$yoN3?tHidwT<$u}i{Bw>Di?pg?X@#p7VgpM{QiXX9E-9> zGO2u{y3xX3s@zF^cg^+jc)a9@gze-~8qh@YNjD-nFQ*%od1kgIs^nnFYEDBJORu#B;L(QsOoPX^;YgXbGJRi5(nF%J^>N2r zuGjuz=pDoeX^dh(1R`-RP;|F^;r;|CncLRBk(s;1%zT$}-H6)G{J7SSf&zt&=Chge zx--w@e7e#0t_6a+vT=*madUco#$l{2C+^rw45+nu%xSVu}zUmP}}5rKkI zN{JdC!CKW{n4m#NN*S;0SD4%Jh1#2&hw6)9_~bU8y& zJ+z+;o!wzSMlGC;frXk>XVEb}aIB`Nl*trkQ7+z?Yf-SUdybctP?B zmN!TA;sJp20H7nfO}ER-Xt5 zw1l9w>ezWvMHYWiwBM*K^9LOn?s4&~f1LpzDJ)D#MLf}#5Q*ciMB{}KV2={BzOBBI z7q4>6F>m}xUTQ67>;-*|ytZ_SELnIeP}qV1tFB3Qxm$IWZ?ViWR4huwNDf zg|oG}@7DdMZRV&ztI` zup}m%^{CgcLYd@J@`shKm(UX`>+{I!(2SS&=`&4Y2myW5?&ve5Hakd%ifjz1G5EA} z8{6m022xKbP2#gw{)<#|YlCK*BNv>n&^YypXqABHdcsA28ye|>C^#!@BuO75&k7b+jChI zxO`KDzA6ZNq_@YdBjCBKdX9&Or`2>Ky64xt01@@Vzj^>H>vW0S$o;q#S{KfqdsbC0 z%1&44g}j-kx#Umr>R8rh?+s5F%ZFIDsmKbV(ZNdg<*@;xMmXL*(oa}4)td|f1DO`1 z+hkrRlikz$$9qN?6N*Qemqmv-IS|PC%(bU5o9aqDy9N5_sAD*Xi=mI8!z*}fJg?A` z-C15@3u7nti)!IL>K=FmH^N+}ftDo_HMmDFwiw+kvK=xjoxW_D@HLoWR>g}W?=8Xh zKN@N_f6z(M4X*_{61e39RaeDNXRR5r8Ao9;cp;rz*Cr#BeQ3?s`~9wK&b*uQeKI;O z9s60Wl5RF+XoziN-J;U^=I+#w!euk(16~TFM|tHf&{!sM4*K?}($CZAOj|U`T8OHb zW+#`HNNmlhpatlO_@i^P2Y`%a2mI%IXD$FnO&^x1#k88RNr9H}xqwlU;J(dy-sasN zT(X@Q`y@uR>i*{UHTP!rv%rQV4yJi*osTC{?~%r-o&rm?6k(cdd!wNI79;pLfATBd8T~?Fl)K0WMm6JdjQNNHy`)1 z-plkcUzt7t67sif`*`k+GUQb21VSsVo|*iBoyIs`oE~5yny9PjSe@~1Eli(P);XCM z8z+H+xK$f?H9`wS*fxUC?e0}BaPkTSW?u#z)HmPR1y6xDYnLLpWVei0OAtz|M2PWyeoJju?2S|_GmEVj^0&OpqP1ZOC_HZ#E%UMUfv%; zRH+{TmD5CZN3h+nZ9I8qFS>1tw7UutjrS}Rm_*xC;;qiU5U&g3J_5KDk%ezISVLpi z8fxXwY|F1`nrTdJWO5t#w$=KlM0O_b_wUu?+=YxVB3QrfGYI^+r=NFH>vpi4jJ#aU01V5}R&(1zZ0;beUHfH&`4BGR^ZBK@|$o_ zH7+cYH6~a%>^kL7nBs%uIw#5N6+T9}B=4_rstl_b+%#65^bT8B4w7iU8Pt(8X-Ljz zvS9tOPn+vqf~6;m2zsP@?L+^$$Yg;ZI-p|H`DS*`z!02b5sxHy-izf;OhhDEI;_Me z@?oNA16*g+;F2x|4oYIw#Mbu~jNP;W`1tRSr=6{>0u$wmaqD^98uHl=ISkiJMkLNA z8o70a?K(_67&0?rY{Vwck*lnds1=v~kr#<$tk3k{nIQ(tH z%ZC_4W+MylNLKtLNV_Sn5J#C!?%0tGr6`0)kM ziyNC9n-0f&j*KD*I{4|+PBp}w3?eF8AN8lt`y&EJg76Nf9${+FLKoX;mIW{h8lg^S5KS!5a{o zeiz*|wj?CQ%&t}HKGCPZ(d-PLoUuB7^P{QuWDNhh?Df;h=cf4BYclbB4dBYqr_**V zyz82qxLdMpxlp^6Sl2Js&ia~PqkK?u7b@I)T%Yy|Xre-eAkLg1#|hScEi>7)u5;`f zaH^yPLHN@L0N?H=3Dzxp!m{7#R3sApN?cDxJxynM`XR~H_Bg^1xTxXzjkYBk#jdxw z%5jVHi}!Hns!eZN6nhIBmbqk*)FD+csj>7EzNGPsM*K->jt}v82C5SY>p_b9k)iH= z5_?bB&xo@glMiK<&^1Naczg=UV|AyMYvL$-^>_#)Z%?A9%a*3w9p%W@Ak2R88EL|# zDRXroQv5T4pujbsyXBq>kW{rVj~7s`(il{9RL7OMZZoXa$dvXCdpAy7y(xq!Vd6Ul zejP`JhQK9%bFcte>jvwQy}*oCb+hx;tm6I!OH_>oP;KI4$cM3#N-wNgQ{lZ6_uPvJ zZ*9WOfiNL?+i#zI1xcs85FpM{vf$DaO9rx!_v-osN%9(Ygm6Dz?pQw&6)(DUZ`4q9 zL0ezc=VRsuAUtV+n(#k6+_=mP48*dRz7YYp}!P zGoa}3msR*#$&!aIYIMA#BbCuA4Lu{8)7dMtKlWArLojMQe(bPH1HIuSfCQu*ESeWoRzGPO+$pAez9^R_14 z#5wq50{^QYpQ;)w>XO~#uYLO{n8Nyklbwh^QJC&+hnp3G+0$M^Z^?OFd}2&g@v3EM zhi^$^`d=LSgtyq(+dQ9;H9j-bQJf5Ok9j|f7@E&reja`C22`+h|1xPL2Q)b9?)h>lG z9g3e2jWM*NPtKKv5{>yW!jX~dP4bGCib`31H4eUJ(pp)^RDeuH*dtXy&V{o|+la1wa*HHfvAsl)kFoU(I8DX~uS;r&|K zb?W9x)%qD+aa2li{3A=9C@}p{ zRQI^ClKC#@sQjQ*0+`VODjVwlh}4!dI?XMB~wd_<8qrQvX|J}yHOhU9N=v3X~ z(COH0BrQ;{9NH9P$I4j5__mm}NF%Q>)wh25QM&FGX7w4(U->0_-P{q@+TlEqcUqgFdBt7Wt|!@^@(@iw;6n%cv8-OrSI z(SgBKz?c*~T-v}H!pjp$8OfET4OJ=_wWQqyrhF%?;3ZmX8i znGVhl{$ijft#iEbw`wh_DR~VQ$`P{8N-Hc03nb*So+0?#!p4XNkU3Oq<+8pDzdP81 z-vbNMnqzVSJec2eAvXE(0KgK-dZ&E2&VyP=#c?Z?wf!=UG^7JLJneP(yv3KO!8b*b z{Nh=gN4r0Y5b)H)px>Fh1Mdhu8w}qm-O(V^_w>N~% zZC7C9vwiIgrO!9K;4sknEHiF#vXW9q7!v1v;1|gQe&H&{TV8LX|y^wB)jyqY~batrDbdNHC>%J=?UjY0;Y{VZu{C(ZP3Dc5~C& z8%FCSi%SM^3}k;w^q9;2wu-mg^@K@ttjJnX@dE(0y88R-svWheI>Rg< zw}#VJy-OpXcoT)Yj1HO!%JTe6TS!)EUUQ>1J}+oaM|ACu*()%bYZ3mE7$cb3zay7ciNoi2N#n9!&r!KpTM1KM-Ko7mb3TOfu&gG z+zd3IVVPeqnj#Euq;49y8!c0=J<~0+rdy4SkY{J#eg}p`8Ljt_V%b>nEILJsU`{9zYTixfu)}oYv28*=R~B z;ptjLIR)WC<_dAf4mM{uG-m;*$u4l+N2p8Zyy(u@r%XdeXX>$L!l~d)k87Q=rp-aI z0Ane}@7mZ}lvMO)UUUan9&Q#_u+gKRCxf$2M+H^z?mgz6M9=_-u8WLB@8&^Dijy)Y z_LR0np)kupIVOQmbwBYZ{qRPlGd{p(05tS4${kz7Y8wWx(PJ* z<6dryp{Ki=3n51wFp=_1T35EUOlb+^?9>e{)X>9J|KCfG-@C&;n(9bKDymub&i zH&oK3HKg}F7$7&fYg1aou(Q8ktlF7&CX?bCQ_i2ecq$B=@Q4yv%^~(%loLjG6C}Sf ztefW$tx$X2tY*}hVE8dEnRCL9= z-Q(?&>Jh7rGXb24ackA2N}P(#(A3d&?c^tpF2**KgEHZ1wowI>fP_TuwZKd;#BMqLspTA{0JEbQFi z^!cv~)6efV_|f~Mkgvej=UYAnpYV_%-U>o5f-47gbS4Q_(DSh_26G+&hBNJ1t&il3 z^z`c-qY~R19ltq}VfWZ(5*O#Gn_g5CWEg+{tgC<;U5eM+51+{E`vikfNn@XX*+O6A zre8zKIiPQpnVbFzCkF2R&cvze`%k6gjiHM8afc301z^w-+4@V6liRk{+oIW+1e)#j zikqfmtH;ikUTE7F(K|R)E=8s)bY6LyZ~gR5f(sst@O}|r4QCrB6-8Q$(bR=vd;#$a z<(oP&X_;|*tmPbQ5X^AQp!lk68p~h@t)g-AI8wg-24J1-CMJOHp&=b13k=qD=Ze%Y z9nN^)J}r88*_Z(y)!4>=H#Wa-P#u31@Z5q2%eDi4nhA^%h*1Y&8jl0O*yzC_s9Flq_Du}&&|K>7(1p`N0>@M5dpzH+Bf_*OW zyTdT0V@k^DTFjvRWb+fS0D-C8ysAmq@*rtO$?gGOStOqR&0NXYu={OyvAfp$zHB3N zUUS&8-8m}9Q$6N&{I7#nPHsBV+)kcBu1rnbM^)LY8X+d3#dpcvL3G9XHwCWPR)>t{ zq3L-5`~!CkXwHq|*uHF#_Pf%ch8}ag@RO*Ka8Hp3z$e|5lOHNNO9Fn}Dn1rJfG|lh z8oWmr06ko9B$0bUZ$4Qfv+q+SY#PqX+)70%mV@9)<=IMy`EjG~xM#Yq2s)Y-Nri|q zew>sNbn1uekUO=jC%^z`IwbChDQ`#KYF_5X%E)8CTr0jY$iAP`ekyHp0o(U6WGkv< z0>M}l<7VmpBWQ}VE%%R=lV`u1lEvx+Mqv*~!d2`bz9J#|`> z#bkks)1#F>LDTi+0t=1tNiY&&~Fm~MjS;t#5Co8(SP;t#q=MMn2g{H!cOd7j> zCIPjOrZA21#UMLscZv9-I{RAMl`D`_Zm*^L-SVNIHkBK}tcm$D*mqx%1pGepvBc}r zZ&jkQgl-$vr(QF+vx8VuN&U2et-g>>-=|zXh61CF!NJ$aUpJVuuhheC7*1-hI*AEd z6y!E#lp%+kqup%Fivj$^(8i7gc6@Uw`vc86agLhaA*}Q|K7X3*jNq&3P7!tL?rCL^ z3MRelsIA9rjS`woaaV#p{iZQpC_SkIURzwNWx%%$(1@b04U*S49ce0QnIpBymG?!K znPy@)T?*Ac-ndRfOjA#axSIm(AFXz%*KvgmFkOYagIfWm$bwt40t(tbA^_{R(kSW^ zNcamy$5%N@0n7!cVV61ye%-RUU|H757ro5npnOO=w`jcav=P%gW=Wm;$6!`+b7QR&pJ5ceooHkZF>r^wpqmMmi+OTgPngI@ciT76*4F& zSih+@eyn33RiQt!T$J=UX80@gdn<|UJDEjmJ3l}>gWs*03tF3|a}L`HdwDUqP84hJ zDwfF4_i&9c#vAT1?K~K;v<8K3Oye!iUrGLOud496;{73{-I{<;5^8s07l{sG;3Zl~ z4pDpSoFRSy3v+o+VBJ{rMiEeV^n6zgjU&}Z#M=!%r2K}COoDXTHp%0>dL(*T9M2~7 z=7|wJxibAgRvE40dbQo~4Y`(7n#RVWIay{aYE?qFJ4TlmUV4`c-5<)C%*wQ;38o>= z>XZ}la~@}?A7WzCJ-xAacp(41D)XxoKzNw>AcgP<3-AO069j^#0Caw|M4|}OELnkN zAIF4!^IIxeYg+@mpLqa(6H_aST{N9##OgXkbPHH=n}{~(4>yq~Rr76C@7f|3tcdFv zc!-Rx(%+k>;E|auL5h`I6yMlNIl18{y1CxSw|I#GnXWrjhO6^!ed}bPGcoUo?Ovbo z3gzWweu=#F;uqCySI)<-;$Jc?XfSN zFE3gmcPTDr>RhU)lU=cIpA$yKVn6Qr@X{x-9P2|X*E3pwRoy;Z8Lx;txfG5*Qx?a> z^^D87r7C)9tDCTT>KjK#dctcl3;(9H0bwYm%KD^vb9!L*mwPTj0W)?JXahqTP^~nu z1?wAYh!E`~1X?Y_SJaUM>4O^)V6GG`pIX`7_rbldK&e7Rqar2)GtU938z01 z9-ax2DHzxifA1;oV~yPC$I30Os5C48bw{DFN?j356RU9OEOf%!NSqE2M3#8xla7b{ zk&q6KNC3XeIR4r5)<>-`G8ghZR>`|Q<}G4kh*3!}yzYC089fRw*!no|1#Js#*{tJ> zNFq}6(xrFe+PVy$la=CC`@?3_4%*40j03#%JtC{?>bK@wI?w~m!2UI-^YmR)y^rPw3idAM26n$0A?knxx-TQH;BsS-lkvR=ov<7!R@*BYryV%z*w@>F z#+lDo=MAooqZtMTBr_6J_dc;AJS@RIuVb6fLVOb8_E}$W(q`Vqq*AvO8O5b)F`L&$ z*2S(6OJ(;*j&ZW}lT16iw}BR7-)s01)wcG}4CUr5YEiQ^F5SlBNPRYmf>vUlj0dH) zauoQ!%BXC~?OzWx5l7H;W$m(2oSdl5zoVx06f76`9~;NT^W$AMECr<%OoQu>`^(Y9 z!0Es5uTX_nnN`MTjiAa0-K!=}y+VMT!Xx!oKLq)Dx9U9;)7a_wZaS0Zw4fNr7p*?Y zd?y=&4IJmkO=bj+-rij^!J8_0M!IohU6a@k^)A;A{dl4#VDl8eU=p~iyPeI5YzB-c z3pxlu_>kPO^x&h$vwZh3Jkro$=yGA8_cor$`U zRYv3N#hOiBd)bs|{S84N^~?`gZe)EgH9CVJqRe%922nPbcvtz;OD<}9r6&8<@vidl zXc3#inX;AY5KPvpJ-xFua*tMLE*5H19h1kO2#gl=I=vXm-5K?~2Yf$Dj>hP8pd$2J5+hHCQJb5h`=oUrJzp6BFRZ_w{ARANG9JNEeuJeX{r~tYG+N87 zjSFlYgFJpJt!CTkyQgSMZ%Im`fWsNwOvVJJP3#W_haj$lK zD|#rldYIhvPD((h!|QR^Q2zJ|>p=M3L~7N1?9dT7+N2*h^(iV}%n(pAX&7a^(HbPw z+6tKSvhOuIKdwu8oz&G! z`F@m9I^if1^$96~Cx@NZya39&iLV!Kg)?4+`1!l&5x=q*KO9$fNkqN=M-x@os*-;O zGtXDB$NICsny8+&_5W|7f8Lf^iqclIjHrzm(_YWqty1hQMxF!*zY&QPu6PnSmZ}sI z?$;arx=gKJM?hVM&%nC!jdG&Itf9TNrQ!ElkvcSm=DlW&F4c>U4LswN7S?`C*6!UGPwjUS_YV1v+(G2K zU5(R~)Z>?9C(BT3Kb1#?f~ga!x}((L)t8`*zIAD@Wh%Eq30Wv=0Yv=K5$+5vkZZ{# zVdJZ?3A2_DCy9Jh$R)?7(lZWVT2|PQFUtcJH zO}P=$IljgH@;nk`YoaR|9`rUzu#51yJ9_z7|LpO!L=8f#*J7J$KLkvOOP-(8BCzty zMi-x|tG`!QCwOPR5GRY$u7zf+4HCF;^tt->g#SuX7i8m^RoAu zKG28sK%vtpXj%I{1u;sU9k1S{!6I~8*vx5mh-f?6(~T%eGBdsLKCg@TG^ZmbbQR1c z#EHtkJAA^Edv0{UABzF;#MtGwyBK6Y@P~5ts$`#jGajjbz5m=@#?g5Unwwoo@WE~9 z=50lb>^_EUC_SRE>q^Oi-Qe4Uhj%N#WxxL2(Zj*h!88^A7#=SU;GPx3?l4i*-^V6@ zTF!5uG=!}z?F}sLbrfB!4eYdjyRkk<{T*O@Y5yIT+8D3`yBSgbR(bU#pV?5&+GGtM)Y5<((hmW z6g&MNoA=LTC)jx4zpwm1l7C7&{y&mE&i@ngPl2cZE1B-kO9A`z`QkqzGco>SZ~yb< z2)_JJ&_A{N{vRtHdG()=nf}?{|GCl$*Z&dve{nfdZ~hZ9^Z$aJdHbJ`S^gK~{JZ~z z%=(XHlMJ2L*f77+4f9E~f3rK#{a?t^dUo~(wtw?gzkl`5J!m5H(Pa(ht(;(<_s!qP z=m7YCy$gRjir;U^-_7Dzf3Z_?HBkuTCBVG!-+9cB{x7_r_r|Y0q$c}}0GMt7EOrA6 zqx|(n^z`5Je)iL^xV+lS?GRY?v|!cyJ8l*A-{XE7)UP;)44Oh^SnZTxF8c4dV%V_o zUwqhKuikHc{VNVx@e17$*2OB!zvA9v{{{C)H~+-_rGtOP@io9FPr(}7|1Y(>Ap8sN z4-fm7+WoY|UvXqk8~XRK#)5EvtsUCye~0j zb^Td5&V6FfF literal 0 HcmV?d00001 diff --git a/docs/pictures/FW_architecture.png b/docs/pictures/FW_architecture.png index 34e3f7d2dd98e06eff7949b5f8b254b840c38d20..310120bfad3c5d8720b6cfe40bb06c9cdfad0ed9 100644 GIT binary patch literal 35614 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 literal 35069 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 F{ulX&=4k)` diff --git a/docs/pictures/motor_ferite1.JPG b/docs/pictures/motor_ferite1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..d71e50abcb8692af0d4271f40fadcbff159b2f83 GIT binary patch literal 370208 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]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

JPJe!`-f*Iu6NbbR9m^nqB%8mc6C)@4i>? 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 z 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

9T!;XCX1V~~9P~7!3zWx^)p8eO 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 z zS3Ni{RAEEe0yb0J@(yd^KR1+r4Tp??+f0ans;h6;u)@55usAh9r-InMIgN%3g8in~ zn|da5e_t==>|+sLcUY2(`z}WTCGK>!PEI``PUi?e{v`-&VEAuFpG5Nw&PM>HcHY{C zsAXnX#@Z!c7I+lbFe|VCMv1^1e3awKc6Fd#r&#sAEQ+WW=R*E z(uhpyN;VHlN?-d&fzIlF4A8F4>U35)ri5N1InHWrTTS)UomdEA*Ocg)c%C^mDs0Q` znEEdJZfCZp-l31n0A-U|Skj%!)Z6iCt7!MUV=5*ggJypcE5|JvRX3H%g%kzzqY?Z! zuPsJ6@jPN};an4^59~_G&Q<6Y!KwX$@Hs^jcqY+f$2d9V5UM=0c#AZ8%O$ETuM*o} zGjex2mK}Y3yfGZ7n?+hV>EqIWtH5@GY~rRBc*>OkvZ_2I@Sz~EDIG|(K{qaX956yb ziBt=L!g_9F3{bgU`+Oqo{N@w!ld^nZPo2Cy+Aa5i)PzeG=1y6BH12c~Su1?UL(m|o zSwij&rNHUIUn#(L<=0K5MLw{`gAW z6aEV{v+myQjB)PWq>oV=k$nY#*$p=cl6#LCPpGZWDX*|Op@ZOB5sn>!q+NI~ACaV~ z^QxJ1+N-4F+M@;`xJLle<)J1Og$3TN8g%m5Qh;GJZjJ+ja0|g5E@qA6YVp&_d zLr-l`(p$Oh_$9)zhkJu#`Et*|=5(4KOFqB0t&IdU53&hJb1eA;N+YPVJE}13eZ%DJ zf$g-dzo;gg2T@?MI3C6tpR0RZ2A!TS<7cb>+5*_${O8=cy(heRzy=#Qvm$M!A@NQ2 zp_rsYp#?w3=@ZaU7PwnQJG2}rg%_cXai3zK+3n@K(OHRmOItu+FJ4Fct_q-H!> zj+r^2?(rI$2D&(RnBSJZ>RpChEUq_fPx(_p;zTo-RM}%Kw&>xZGu2?5b>`kV;=Y*IVX~Oke;U4e?ldbfVb-01aJwJWZ`{Tp zx!vQi8iEud+8lPhoa0xVnBpfPodKZNjLL(|GSdJsOX2% zlk&GwG;=a@?EdDv$#gOyWzYoSM*qV@QglAkWjGJS$tvZG_&yt7in&+Rj7 zO3d$ExtP-X3mp$G!$K>s%&M#m(3g*6uzodjk(-dy!tmL4MPv@)>GJc%`^^`6?QO(M z&3x|}e}jVP2bFzn4RLJ0_D?^<%D6!+3sVRYbF{jX43PxcMGq8amwHEvxL(W}89#Tx zj!K$;LaB~@)kt|Z%cm%#-}~bQ1hM@Wb+;$|+{{+kcTejk#&r$Mj39R82z1);npJ1^EGv<=DZH)!OgSQ&W)Aq= zXwGJs&4tM7!8;>LygkK^dDMTnA^JXFnLjOdU^WZ{o+_g8iLz$Q{RVbof0ZSwaWZs> zWf2M?N{(763~W%)=iQ89N{~S+fhtKnXDFNO2um$7C_HoBWgF=)em`gKs5QsK4ezgt zE&5Xjw&KyhsfnN1ZsPiRXI`#Y!|YE4UNoUSiKSy+&yHYV%h!C1TekE=o~nk+3Dz!r ze&4MGc$lEcix&K_GCEQ(opf84tka2fwxD{2D_>}*Iu*kzg!-VZZ_XM&|J6GZb#i9p z*y<~=3x%8_H}`m5j3Ez1jS8+7EIrIW=tKsJP<(~hm!}!cInPVxX>6+w^XvuEvJVY2 zBZt78@3yX82Fwq*0b!@V4P8AVP?zM2u!xjxUQcIyn2rFvHvr^GXDy-(X9mGt&@C$L znFjkRsNDSsK&@8ksnks^1EKl{Ai@SW=!to7u1;-Gpm*-)kC$`b^s_rxdT{}<^Drlv zH8_)s@gjF0-e_PbNVb+?Wz!I`-qF=-IahxO@dBY--g2q#51}bbf$4Rb!slnrwLt

@{mV9` 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%0A0FC>`FPXxsbZXEr)`(LGxOF0>R0RyS1rY zYicRcxYy^z=lY;S$_kT@UtD@X!p|F%q(h*#{XQuBmM=+y6ST=s)$1QJZRI9|-J8~O zlNmNTsGuis1EDJDE8Y?0GIigL_Yv`J*I^C2ui=REYv`5bj#UNjovG#Q-`#|Mj!vvv zp@U&9QD(%u9h9IW%yYY*zb_%clLA%(M~T!=8Yu^PtNnX0quYaT7ikuI4xHyzo-IO_Zx>C<^f~uahb1vTrEw(G3u6Np>HaTMkbCZUg7)cyH< z#s{W?>5~R6jPq&4mz&;YUm-)0N{i64ZI3STmm|G!+`AL(k$pRM1O>Ubt~9>O(bUws zH9A8gE$(givG>#_`<+SipbotobIWpUR1FH#EpMi#FEnGK#(%)z8JLGYH*+CSJ<#`{NQ+-0|qwSpwn5vVG`^A1aH^0 zM6VAUIrikQhvXmf*00yNI{b=e5g%@_R~paN#hJsU&=V6BcnZ7`9Nko{NwiC-u(7cV z2b-NxjfPdvMP6WRDX;_XU4l@()e|ai&&k#(p8zB&jp(|?6uzS7b6+?``)N{T+f83F zNj078N@sPwXw&M1_u1jF(z7*YPUO)Ea=$mm&-a|H@ZjVcM~r?(`O(z(AFC@(^C}Es z;|6HTU~stj`;iHzarkKNK-HPNiV5#A@k<^#+{Nz*L$lpQ%;;QoS2k#}ROjoiRKBpe zON4e;5*B9X7B!O^GX0KfEqMv5L9sVTZ`5h0=Pta3a6;S+=~u^m(vIE4I0U}Ki+(Dz zym40O3wdyP1zq*`G*T zm98`})<(4nC2Pl-9&24O!2%eCzS5W#WQW+_zUuI{;2lCTe=@YrsukLXJM&&gcY2o~ zzJ@LsCq5mNBsc`D{*aRCDtlx)tYA==HK>mj=XMzh_q2`pTGa4+fMTN z#%T$*EXZ%xAZgecL*MVpKxUHf&Lm>*9{Yh@E=c2g9gQ8&)xS`aaM(#MrUS#mCu{EBJ&YSTA0rN%~AZmukiX-ZU zKG|*ao?0D}TH$+PU^e0IU3c?fmB$WlzIcb`3pxWq-je~|b?~l09?VywZFl9~eG9f7 z#53=UW^m;Ab43mF%KYEC%`fd-Lr2f~(xUceMaY8y)^Fa_E-0U>7aU8S2tkr@qj0m9 z;sQE+VTM5Drf)u-iDi#4O8)h(GO5s8oC5cZr3~j6p2%uR2@Taiigxpnl0}YpNX1neFGdIak7r>dQVeIP=~`KYhMFeB!taJ;MJIbX{8^5zm`B9YOv|S^aWe+M&l+Iv@@E*!tCUPDjR;jcS-HlGt8) zxGDX#v21V}T5G6Rt%{G{HxC*?j5qr@HnTJ%s1}tSYWPMcw>M#9s!_U=xOgCIAY6ZI z_)15wQKx@sIF-*d7N4|t(betleV%UQ4yySK`T4n$^5f~ifeVSV-Ix%B1)RKrZ?#}gOGz!CZ9gao2Xb* zl6tJZqoB>zl-gF6b1TL3r;)Ft4CB5w?RaYabI<2(CKPIC#KH@Mi6+4=$k6@H`MOtJ zjY;g?d+u|0P(Q`4)L@d)wEk&5qL1=z*z6O6Y~U%3$mLS(&HMCP?ctBKTF3eK7imX$ z(@#EBYiuT<=#2|#F-$%GnRKUD7-iSmK3ao_))l_6bQ^XI*9v--yy_2!U0iJzA5WH= zb9T>hD&gxT)S7VT6Xrt#%Z`R6@O0{eGrPZl73rYZ6n0JP1)Z{WPc$RD&F1U$hDWs> zeNUXl7+Fp?o`nAB%Ev1QpoS%v6knYCSK6eYhI_esCwfcjM~X@al1)?}p{QzAluh}EUOE80*yAyk- z#1e%j+gv1H_(t=5hrU#|JWCtTut@iPlYuy>_5!bKcJqYJ`6;RWk-?m^D|hQQu8OmX z<;yx4CXcbv9)(vM#6Q zWyRgBRbg8^^wz9H>nW%w?IbTLdi#ZqO~WCxH@6wpVcFA_3LM1Azt4IPB@==W%5Hr7G5Qdie6C+Gbm+#h=3PiX;BB_ zPa1;0{tntn0cYmE3^q6*G?}8~?VehgBGhLe7qyPfkw^KKai|Ygy*{>m;(dFa7G_q5 z-&I*MTBgt5%bl+aNhg(eP7UpEe=e}!y>P-LL+E!H;jI~$C7V^Z={{rD&wkCt&(OS~ z9vXO@Xjz%IV=cejMd`KraBWJ~3+o>N9=Vpk47xPUMDD^;vpA_P$CBPFSTD9(bE7i7 zi|ZaGmQ@^X1y2^p;NHJ7=aB?Etf-UM{DyDPTWB)-O+B1*UGfS$bGzx~L2Sd!#%eE| zse3W1BKhvS6JyA3yMkH-rmASxR%x#^`cz5YH-$#=hii81RUUo^Raa?mw9Fh|E*Xz8 zv`i^$epQc)GcTxcOaAgG6E%$NW-}K&n3PPpS~UDqP0@_8O|l27w+bbxJ%1iK68$gow0teK8IyYnN?rzcM17 zN{~r>>-4olDAZ2lj!AzIvaoe{&dQmn@{u8yVyG9qxRjAgqnuo7jU>4J=Rg~J=K`KZ zqFxpB6gB5sVIUuS@wkW0g9lonau8`WY?xk_qZ=FI2`h572o^0Y$wtR68VbZ~-j$i7KU zmFEe5FE4K-%31$N5;*weE+r$@VC`l!4+*Kvv8!m-{^6--oa|lWhX zKG`RdaQQ&ef^~OI$uq*yhq?oVkJAZksvcdtN{##@o6^;yv9dp|-;>vc_eLnP9yp5w z0w)bsaIe;a?$c`fu4=rT=9%iM^5P5pyzi}D4I2VE4}HOi$h{p*--8c&#a zZ^DrAux4N!#wrlebMjo4ox2Z;v4AYUmJnQH>aKJk@YW4jdzcsL^#e`oaY)Uh+9t;C z42O#-if~{gu)roS;lokeNabw1@+(Z~TAKZy#r{Wk8l*GTp2~*`gdoh!XI1ieSE$!e zuWYpmoe__b@ygpruCHM8*`M0iq$W{!J-z=_#qhWD3*s(bOijxQI&7(-;u?xL?%;|t|pf;~O zoq5Cxjb`jMFB0CUXP^Tz-2>mxTZX4u#>l(IzO|~=HRGD=s2Yg#g{f+uW)pwKixZa) zk`(RslDE!!AqKjY>MS*48s^ca`TcG9f>l{#7&ER8FG*iWx4x zka{5Qb_Y7{Zf}&SwCG?r)yb#4@#MMntTKVX(+t15k>H-NL}^uv6)9=evNlqvV0u<` z)B|;|JrbLbu%6g%PTh-B4v7L1n=(-;mu}haUpZYY00M5Ty?R>oYvZxpJF_{owP*kA z%6v|^l9NhG+;{20V#l|S9qL(9dMk$U*a+mivQp!PUv^(T`j>1d&%kAL`2 zo8)1tKX7>DuVgRdbgG{O$6yxQ8d^2ic(LaCT!Z(~R;Y5yOx za5>9t_W0738z5QH5tp|<6e%3-*s+0*TY~W-5^EZ;8B(MH@RC8{icc))COl*$Svblv z51GDWgg9ZI5lS!>Em`AzlF5unvHhRLz3}>yk5O^JS(SJwj+8N_h zh^Ti4n2QVF?ZA1TP`AmjU(~9{&PVQLQ5ivDWVs0%T!ce_3R$kxKbRdjZ^$7>!B<9Yn-kk zoq*Xk@|FBUF~yo;(vo}gT2&$KVumuyJ8B5e@1VRH*b=;nLg93m(DqcwtF8O>3ql{) zttHPQGI=`qS3XpE1pP=YWgL`rU~*jf#<)4=BRdP=lGYRbE&(;#S1|)&i&?iv*E}-^ z#Cp#;Z#(p#G|d07)`)27S2-eg%13bDlIp1lh!H_x+ekPfex&0F1WA7W@ zkI19m$hbXAM&njvVuIE`adG2YH@wNNoWQwIy7-IRGw z?%}kh{Dz>pQ=!|}C$ZvXvj4upIS1Kvj1!1+zVBMY4U37mxOuAQr)p2fgkl)fsQ1lj z4h?{Hd-6atbXj+mp)DQZq(=qiQs*rv8podY77d(8n?}Z$Zb=F}fwoQOUSmu<=)5k7 zLIXoji zLe}$m!*-Ahz?)PznhVwIW)oAhASVob;qpEZ0cVjDxBQ(zxvp{#m4Yc$nyE|W1RrTmQqaj*rbyqX=S;sOgo^@Mp-vT=R;kMj%81HD3N7EW0lQXu;gGzHy4L$BHO9x;w z@h8*JCi`eIk(LHMi~uLyZ2Yw@N=IUrw`W~egcGr!9JlRQGu5UBnTME365z)CefUd_ zqTZxa)!(;#x_SpG3~}l(iL^J^7NMUF)K3{JJ_QmI5#U;E6Ul;6o3-HgyO6Y#QyQSu z(I5t7SB?OE#=TMBHesQlX=GIa{X!AT2XNxo&=WNbKZ-Er96P{rP+^SRCVE9Fj239J zqcsY;bIbp~e8*^!S-$`Fkmt9)nsGx#-=TI^JO+28p~x2@^c(Y2Zf4y^on_P1WcXEd z%!0{FSV~?K{Yje~6)a;HhU;W+%%bh8UnT0$`> zJVp4h*f*;-Zq5yGBD5yfVuEpenMwI4W81Ks93S*=YWnb}H?F=Z@xvHcebKoPLkh>n zXKvOsRF2HZN;>Fn7vs!sn+qs`%1uG4s-WU~F56ZU#@BYN2i~W3@sT9w#!lk7{u;YE zonpbs5RHfnp9Z}P;22(q+=FfkF5Q7?z)MS!exJx_j-UldGaWYAc2DrO_)M**d()bYT~T&!cCeJPrD3^5gqEhXz{vVL)^%_*s@CAUM|| zf{rP-s)p>_exaY@ms48{18ZQTOA6HM8d8S zG@eNxm!D3_QXa=xf&5&MbcmB}9C?P>8JO{K?al4cy9$srl5O1eEkS{F-RJnjQ@@0l z_WEYMv+2p@?HA{E;&PJEqq>gyc^Bp29Sg-!CgtV1T#IP;d+XC|k(+B~DEr=KI-MTV z`R{{q@!KAMo!AYZx{C?Z&yPw6YBH!?#n`Oo+_vmj~OC-IqNsZp_N@(kti z?TsgcuddkElV`(BYPwj5VP;jRo4gtp3cKWg8{3DKecetM4iO2_nHBGtyHxqOEK9=| zdhgft-WUoyCxsZ*_Hdnqlb`!GC%}#SPeUL1NViA?t|!DPA5JaLBS>;kiT(BR86R#( zQ&}tc3S`nFyFY3T{J#o!Bm}P$?Bse-Gv9N0J5f_4X&{19X553)a)aVW^(aXKnqSPO z>t*8hFuv9M@KPaG-6+1VNaM|h`Ovg!(f59k&O*K=!KD+C;uZfHD+PMc4TmeS`r7-o z-yY;wI6vw=6A&%zTvr zAA!ltiguDxA8r`>zi5qg^BZ+hX9kSTUL14Ej^^-M2VUKvmQ9^F#Fgy;DEmbC$5ecj)_AQKsBL`gm{&79r z4#PE@e}AzfF<$UG^et}%q$h@C>)-GO!07_M$8e%TA2*H~oTj}2Zo{RfbKi~F!8Qk! zRS(c0lS-P0^&;9sZ(aLX5k5F5q%-*zUTG=!zm*I>Hp^e-xVz@n%E^yZ@*YKbC&fRc zq9ch|yYU?YU&Z?pL_xaSL;N5RQ&BEb=|)Iw;PtR^F>jO~lzZ_&VaNSU#7Pu#4=k3a zmmt*yfcG@AIcGOJ*B7v$5?=y14pQIFprM-f2F<~@(H^|(&$hCwJ^cU5 z#oM}dQEcCt=2w<2F^`n;VA00_j5xtxM0pPfH&W5f(p0`ek0_eLhgJ4toK!2~$(f3? zTvN6y%n6tNwH5=)#_re2SV`YZo=M#_V&<`?^8BdQC>g)Qt}jefqG&6FfpLuv-ruZF z3oF}AH+J0oGKOsk2x-KaP0a$h{!b7z=bimIq1)NEXD+8t|O4AyF-NCOmN?VNg$2y%K7W59XUtzs2!oSyW`XK z%=pa2Js{TgC>)`>%Prvmm|&N4sMJFB@Wh9Vn#ziZ}k1I}C&PKxU>7 z`JP69xWu(+4jy=JAmZYcj6tNn^F=)18HMy%^+KXHgT@=Jq<>asyEtych}H(X#jA*$ zu@RzKBKPMM0^Fdy5ixBXP>p(xPip=J5d<-)!ekd~35F~WUjDk|Hos|lL(Cw4-(u@0 zvpmoS9YgM@Fo>BkpVeq^@R29$9sy20fhoMSV@X9IL7P(~ALQ}#YMWrlHtbdf7KWxE z(B;jZNEK);_R)W$So=umQ+gg>KKSAXy#!YuCG`h7UXCnR!3mt_Te?+Y3-Txh?GJC@ zbhhd&Ix#}^Xj*+_FxY6gkZ_zR-Z>qJrK<_FLnRAG#AW10b)O+y{q3I5@1XXG2w#@t zPsJ(9`(m)9iLmCi`5^%c-adSogXpl1M-K7Mu zgRt+$KO18P&>lgDzB|(_mf^3iVazQ-BwMX(mKo+Fi-b&*KG!ql1WJIdjyRd0ABP1b z6>iex^0VMuIo(B$(_+V>*Y8J#8&Q9#0IY@CoALHJ6MYSW=!JtiTCcI0o5sZsSc29D+>S zL2Zpc!fbOO?_Ij%1n2dA#PcJk4P=)*;z3ALDWAu^+}cmPmcBA9JqK^#i4a~7{m(g8 zZV9};{(MINAVxugrZfZIrEd?i9$^&+G}$**UQq0HQD<$RWeS%lm!?vkC!`XTi z;(gdXYv^TTf&#UOvRXJ-hyqGnrf`hkkA8F`ojxDB{{?t{i7VSFUU!bg-TCR%>jXnI zvS}s#pM=-h#@)3Lg$G`#9`4C|3W`0nS%OV1jOi!tphn-0#m3<|skuKQFd2!0uV_N* zX~tC8_zmxHX*A8i%v^9{Gk-x(5W%1rfR>&mg9u#f$Y%ejP7n z!|<-7;y7dex|w7)_)$gg`St0D<8HUbza@AfKTvMmQ3gNXxt(>x9-=gh(~Vp>lP_=w z$Nc#%$PCOljdnj1ZERHt%`JGQyFF28g6ds@KU%1&#hKaG0WS$Y21yc>V60>UrZG!x zpExXxeyFAY`^1_Yb+I(Lf?&pp|4*X}>tlsY`X^4yUnWSm^xCFtbwp^Fkc81duXI>N z2lwzNM)*DS7N>(8ryH%Z$O2Jox%CcG_kNw|UjyUVE>;$U8W60%!C6cU*?bQ`H|HB4 zsc1gS%X0FmJB{HY5u-VMV`JVPWSTO7i~le5v&iq8V}tyto^jZ!@hBu9v2?jBFBgw1 zt~Fk=j4avPcz7@X*fUxyh&4LhxEpb`PE8bPUuX%AYWIEs`lUbwkO7c{)%3XLWBa$> zU@b$#x2c`yT7*jKQ4RfNnj}rDG5VII#;VZ_@I-Ts{nX2cvP-_ze|KE>cYOcHlI{@a zXiU82U>j?BP>7JHJ{fWF5n1RXEk(sG9V&B=8tBgQJ2Wh74Y5xBp{Qm`uB8*ldTtX; z^c^JaC$cOWDmRu?9t~|;a>)=qYX~A<5P-JT6FekeB9w4N`c&zQP}_3CYu+hj=$rWs z`Nh&VdZ3I$VTt`e1<#d<@2TWN)y~5X3PISnloT+R5>Pp>3+_Q{OG1h0%z#u?N5v=r=4gItsMy1^83`;Bcu~yT`5XI zW=>)fErZB-PQ^s!gIKb%`r^NVS7)OcaWkZSC9F_?({&VNgceOcZ&*ygpYybccXR>$ zklwWDhhGjH*Q{ZLN9D)wph^cYZ;m;!n@!P)JGMq|zmWb!m|QD`)ieggo;gT(RV+1k zM1A`f`#9u3gWp*xJzl5Sr)(bfDJ0^cEwrmZKS3f(qGb%VXObBBs^Mv;3`ny6+;DMB zzD3C5pq{duXcX;%yrL=GeOT)^6@jUBkVs62wgqm6@^)VN<#_#cz6;i6s11?8Ga}x} zhbZtvq#ko8xR%|c$En?S(hMMUw!Ub=HoR^2-nP!iie~=ks0z6;^EiCw>d&p8f-XOE zUpnRp`$NBW$VAOX9>#7jH4_>DC0e~YzwgM9cQiQu=r9or;~h`(FjG}6)R=t)O2@1L zrbci(fv$Ysktn1YnB7Im*`EESi>@en2XT+*D`d*$d)guqtNrQ9`sl!_Jj&Ihop^HB zh)IS_epC{NuE)RdrV0WCAP3g)E7@!+@6 zym13|`WE_)W9%TY2c}(#gPdD;c2ckvUA6vE5olsC4(GhuLD{SsQ#P=sr^UI}krkUk#N=ckZ6>W6D*43pGc=rO}`i(yx*v|iz$ee zoVNMZX}_<(jt+r(!>C|RGIt{vDBI2883TCz$oF#$GfI6`QD`6*3}*&0&99{hk@ffg zzI1!Heg3?3tjQ>mmzHGGCm@1*-MN8LWQo z0`CW8*K#C2dbW>)8h9DQwFGKs9K1X)#r)t_Imfu~0OwLm>08B?0|;T?>lHdJ{`Pvl zAH#w&IIYfK)OvWvznEVteSfX0FW8jNwsj0Ag0m>~@8d?r94@^iAmU>kGiUfojV`z( zEYL{!GIz_#TTuO;qUm)6{);v1XF=Ufp(& zhRWjBc)2z5F%F73hd9TWNensXC`Tr-zsfkWk!zu~->SQapKVY+n9ZnnY;KR{mEDAY z4UKLs)-e9Vwa)z79q=TcULT>Ml6^O}+#d^fhzm+=1xn`oKIi!fnF;sU*_r`vQ%sH} zGS@}NH6nEG$a@AS6AM=Z-GVc-ev~~vN4y&b(81H1{o-x-Zb9cQnN`30ZK6tsg(M_t zE$%WivaOH?3p(&t^$tLg2|OX&*6U3r{?VjfhY*P3qJ2)T!)kulfs=doEgBk>GHxo^ zOSaH_W>%DD5K+gtFYj2~y}|%eHS7XHvpGf@Xfqx|p4GILL4PIo#SqYbSza0KtCi;^ zFEb?tUhDEkoL*A$)$+;tO6(X4UF_qc8LDXB(y-JRXmE^R)>#@RuXW2U5!eX-XY3A) zac&(F$+s425*HeZD$ac7uD5dO^f}`3>5$bzhYHh!?m}%#(J-hiO zH19pcXqZ6wiP3>@pNaje!?D+5g=KVHEZbTK7 z*}Yd+oR4PQgS))A3iO5n9^!AqnPUsLTB`s=`L#nw;GXz5u8EEUg0WlhLA5l|v3=wB zGpSlj3geR?Q!i8#Awjk`&l>TDZGI%xzi(#tY5bg&6%8`#T^QnmpIB1;ubPFgQV2_S z_1m&tEf&L*PucNeVwOwI;7cu2ba1%gXFNKS( zizr?=+22x3v{#AR67by}qM5H6+0Bu|J;u>Bz4Ex8@N(EG>C3UyT^z;J$!|yDS6*P! zW}fW>VzjtFz7SwWQJX6r9@eF~-$>S04oG(XGIilX&X6?gF_q!H{Va6nc?Zo(K@lkw-8PNqB zzPkBgA+F?RtiL=Ck@@aA$mm?kme5-aYeJ2ZEML3Jww~| zsmTF@yW*5{x2l1P^+uF)08AJBLhOLj5;Y3yW%-jY2uuWhf>Z??biFQA%~h{&)uQ_X zIU6t1bj`_I;NX4I$gP|_Ik>Ep+E?O(WoeImi2EwKcLY3qJ68`xaxQ7kO;;Gl%;a!3 zN@^A+xpD_+YoZLxCPO(w4hYmE9=;1eB&fC5i^Mmk!%)n-$N zx&))PJhA&gs4H5XM)dBp>W$62>MYtK{w-#C_X{J74ZSmn6P?A4pdyB8qpF$QVc^T) z9rui5V{m&kE!)>HwuAER9hp*vBd8geNnp5p;jmAi$icBTQflkM)Z|z}leTaz@@;6j zyU<@V9dJA_O2$L4yEp6mMik#ulR+sz?nl_=%wWNg6rM38#f-CCFp73qC2biZ5Vdt! z#d?`r2iB&*NN69!O;w^>?7Rwu!W)W3blpAunFW5;pkwk^Xm z_ZQFA2{QJZ_B2|xV9s0BAs)Sp(>^}cIk!H28USG$FxKw)2hJ@c5UFsS4kY~-6n&RR5WZts=qY&}r6VejEh z@!~M@UvEIC_X$W^fs8{HLSX&cxC_=2s|fIhoVHW2xy#S+H}lIuR-|Zp+D|K2|IQA* z`*7&F&kow4u7mnFe!lxFc^R_s%tk*KLSal|O>vM9K1b>PW>ZD9QixO!4>a^L}( za%4VI+aTNdDNl{hG_9z<)%d}Ur(ZNhq#p|DoZ}*P3pvwHzYb%3a2V^DR*fPW2s8Cc z!XF=d0&Q9cOlB7>3otLp!G7V}mq8=NN2bI-!Y@*?BP1}5<`gt$<~I8Q%w+dxC@rZh z!GA00x58D`TV((Z9JNLhI{iRpPCw7O8x}p@brIP6WMHXTE7Y*6HHfN403gsL+7of1WgH*LT*k@65cbhVVcptPG(beFB9r8;K6W_eK=<0I4p9N7#B(~X?>A-D~u<3 zkw1cTVg*vtR;B00VH+9$_yN%XX%UPbaGoU^$PRTMMVz{xNCRDAyd#pIvwLdO^HTN$ zuhX;k6Hdu0JDJ2rSwx-BkjOvBCMD{wJ&r#WfokY4dBATvy`gB@zv0}-eV{P#fP3Mj zxP%-*S3hPRA`tq}G~?w~e0@aru?WO7o&|!G+z(_ayiS90ZH&rex(9>oXc2A!0>T{w zkSYEm7hAKVHgc`VE{oBj!{pcgYNVhcctHRrBdZ*KnyGfzxI*wNNENfM9|4J&6wwY+ zME3SYfX3btQZveA{9D8;>fm@o#6C=T_}mr<@43i^1~#wxCiPQ}68ml{W`7M-jVqpLt0(l8&`v7uyLr(j{`Q76S@G+vvoHwMI~S7_%%db& z`p~St4W@2wC!=}Oa3xH=;p*J+v^PbDmWxoIH;clFMP|A}$Y$*7C{&it(=M$}mt7Q-c0F8hmT z#H-bUcQW|-`-g;rXUKbx^d%h-(LDH^|1ovt;ZUyso3T?ETBz(>RQ9Yf6bT_Am1RPb zWZ$pFj&>pJH$@B2Q_^I7iC zecun8b9cB2ihJ7)&7<*xZc-_g7Y2P|f&+1PAsS$K3VCkb~cef6SD51Zt+-1g(d{FWb_WZ>SI0prtcy1?ctlht0 zV8;eXPP$Px*}){(QW+~bs`Ko0i* zpjy%5TR$$xEh#GZ{+DK8q`A?C+k=uYq=43`tJ;dpasdrzYzHvun@&>gtzGY!7Php? z)a%nlL4@oXKSBioL~jo$%9ox`9dBu^v<&f!7*5nVX_E#38t#o!N`^SCWaw#GO2$MV zC8uj%y*I7bib-iU#OGS^q6}fnG4wH~tk29^Ol~Wf_lZb55p-iP?*AZ&AVN?qIu>@r z=K7s4LrV*rH_)A#Lwkv%Lo1C&HHB7JjV+<|$v)0LfE40<9Sz;7feB)aZaUv%rTWGA7;Qf2%~WBU7pDprey^8wm^CD(4~3X+!vN1sD7gZh#UQLKTsXBQAOWswxaRS`0ug?c5&A;q^t7p0!@B<S zDzmqc=fUYn;}}QQ-lJiD?}`XU7GkA6wRkG52~6t~WKpo5QS+h7N@uPmv>)|=A9Ef1 zSf}T`&Im^d$hNPb3pG%E=ocj1P($&R!zXM0!sR_2P#Qpf)1jO=)c89v~nV+Y#5 z#qpoIS7Wuz!f$iF6MM#m4=oenTJlUQxd2}dP3Od6&e&D~aQ(#nvYvoch41eM%VYH#XN3FXPwoeZe^J|M?EuHsd=xv`z+IF$kZKdFdMril6FD z*rWf7+L&=WtV4;;ncPw-yOSF-F-Ub?b(7M*L9PNbqN@LwwUd^BQNcC2=W21xpt=k7 zL+PoYVyUthI$?2(*N?d{p1CgiKo|zJ^aIq_e+%08JXkM{INrKk)kDD_B2hV=b(ft> z=X?d9ZaEkcXsXaojN!Dt2I^>+F+l*-rMkFAR!6y8WB`Ml?|D;>fWv5kpkS#-hQ zZ##Z;2B>d4mFCth5eY8^T(+mMQ`pGgGDo>YgB^$kxGu#8{oD*uJS0Ebvk=!rbbZ@* zA*5h?XiZ@-V4*%+ITh3kv`AV$Kz#m75F926Lb_rqm(E%0polXC<;i%!AVD{oi1fhw z+|7;Hr#YeRuv1qJ%317DU7KE8+LwCghaE$10}|QWhUf>KX*Xx*yi(EGLxGMj^32iC zBS5?v*r6X@-!Z@B}#az6$Q57D3x8xSAE4lyV(4_{nHEl)l;kaj{EH{XylL;|! ze>6Q8R7j}|d=os`KJ|s^8@#y7X8}e9q}@~I4Yf)q7){Jiz(!eiWg#mP%Bln_ z9}NaLEApH0r=VgGwLedcFK{B~cynL(DSpkA_Eg*^VciKrZ``c^=K9`pW7nQ&fSqOW zEuApQ6_d}8_0CcN!-)nSqdf21LOi<0dlH%quiBIgOkMRd;0yDeARdJ_VbW~Cc^}nW z(+3q22p)U0NJu56cgkQX8wUAAQ?O~XWS%RVdr62rhk*l`GMxmv7@$k+07KNG*KtDWh7 z5352@A%qu{?i_&Dz^nxGVA%@@X*3YVe#b*5de(8PD;kXGG+_III1Q%ufVE+a1QUEK z*!2@^cho!JOpP$M9X^OyKd;%GVlI&F{`vv1LzS_2a;5`MH=a<4%TNCU8qznuauMiE zEucHL}3+Qr#VqL=hZ!{=k zBRIq$uiKp2^o~jhcax;*Pj7UQX9CW|Z{T8&5p!TF&w?RCV_R`Ng-!u0W<`g-Xri1w>y=|#gNXM(XL%C{d7oqh+NqTx5(R7AF6 zg!ob^dA;ep1jZzO()>rX5$o#0%sp+ov~|p?HsKJo1}>#Q;0tWt1by~B?64z|8~PPv z#1KM^^ihT~SJ0~}3paM$4s|~O=mG$e=bgiDfUJDYD&<@F4@=!Yu{izOsr_O5li!#} zzKG81P_gI)w2yTPP#g@cbnEDW5^`6LB)5|{RD!yOJ!tfecD|fqj=BMM@0M;o^?HX$-O=PLyF zuG9u*pOS4Q13~T-t^!D?V0L26j{JFI=H+^DyyTMNxv+Wp}D7 zhIeWcT6y3%(Ojk1}(vJsPZ+?m-Q+1-|IN9-#Cfo zh!KP2)o2$*AI}SjJS!L`_9-5W`qg{f4+2(_xzRdh0Ze|f!|OBiw-$_;kjIFTd&3@- zq+$${zI%T@#H3uB*Dv`XbK7Jnz_f}c<3_uXg%{gFFrNveviTudNH9p$t5@Jq_GlX~ z_J9db!f#R(BX?!&B}B%+ylu{?xr5-qHEqQ+h2CNT4Fb8VZvFQcUFFFA+-gs1P(kCWA|jjrojodz_U^9TupNS?w*KW z4`Y1U5oHz)pi5DXbE!9R~`jlgj_=yvFcMR4zh7Y{hFf z@Xp$B7AkA6=V39_ z#hjs;mNEc8Zd7E<@ z&>6Nh6T7zE9Y(jbYC+ztuw6^AaRwyC28J=lc#1p7PDPK`Tig2T{-38qiqU>DKgryi z+f#AuSQ6fCP8o5j#$ehv8Bz>3MzCZIeIMys`KA!b)n{s-3VT>ACnGt7uc(>GO~#dV z9JO2N*wV98m;z@|dfpJZE2)D<&zRldc`{g!Z*1Ws>l0dQ3cxmTl{6XJd7ZK2X+ka54~@gSIc= zR$?q|I|1hB3t%^n`X!fjM(eFGh3*h@S_)e0GRdJ3J;~{8T0=JF*jK&W3YJFx~<3LW&ixtK%w$; zuFq!Y{VQA;u>(wZUYoH3a^3C|>^ZEKg3OfT1h7efe?mCG!#F*b(6e!SkOM*|gatinexs?ytPE-{0 zvaiaR7O06*=;yLVm0~RC43}wBSo`6-AlALiXKlItZ63TD?`y^a#{5}8Krm#cazc|b ziz0_6wlurKrDV${aSIQXsWF_N;BxQReVHo+?Lfb;OxJ+|%x)ovqi<%$T@r;!8yzke z#n|XwNZ_Oa2PbzS_~g4yytz&t_?~N2HqsRqk`fc0iLB~y9_-s+;e;cxWemj-M>c@i z7;AZL1Py_?sht^NnfkgOq3~`~AKIz3z#Dh~Odh(iGLrH5!WUr}3)Wc<5Wn%V3RC&u zu2I{Bm8V>z=()F9qbf;CuxdsPJygpjJzk7k0y}i#ljM^v_;t>6IW>tXf!l>CJY=!zE>e z=G^*qfXn`BF-n3e&NUe-0{;3qBDW+1c^s|Bb>hKVKMRqcnHq{>qQ7dw11J9}zO}6k zWg3c;&Nz&{Y#@$_#=}xU9P<_fulV->98LzlE?U=Y&P1SeUX2EeW8zm#w7qAk=l5dx zj`GJ+r;H9W#u8?%%l%-FKETQo+zaY(^^S7^mVh==zq}7xtz^SB;vfu9SJwoK6~SKy z;IyT(=5N}c-w5-)RU}~`n1|mC{~m+%jdpXa*lS^FJ=ej~sm({brqBxO{B|pm;n5ij zyJ8Bl!URviPHq6{cA{doG8@=XVQISwlF)X5NDCvS(C90OMpc^S@A5{S@ltJ@5F(3c zt-SPn8W1Ih=)Cei&<1OA77wZWcQTr*ZVwSfkheKzyS z`%@Qg3h18hlII#-_(39fWAmjgcgur=JCf4MF@~%)`Ezu?gzYC)#13lQE)v!NWuIfO z*Z@dWZlB!>B6ef}r$JodTLtv{HsJrz4ym*^W#MmoVZDs}=w^yAE7ldD&7-G2*Fi)- ziE)V%8RL8WC-Q=(_w=^A&Fqj1MdA&Mt7pP`hdM~Vx(VbLU*$(f#7~l=WkUlVebG6A zI7rI>_D@Tv_u8Fc4-l?_#j=jbZnAH2aHJ9IbjR5XAK+I4UPfdK*((}Sai}NJTyuPD zkt4GF{Fop9`Ye`uDX)`}GG=C2;;VxP{ zJMb>%o67lHL*}o%QxZk?M;BZ+K$l#6ZLp{=|Bm{ssl^anT0g`W^jgm{@D3;){yWz} z$kW&d8gWG|FGbob`qQ0vU2lKWVPst!aADopb!=-75FIsOPP4B1^54eyv3LYd=s>^G z&y{a#_$exN?|eo1|5T+piH4R%P$L}2OTl(yC>93dwu5MgA4(r@Z*(l?{eu1kxN7L1 z>#bjBG~PULxmU95T*$Sf{JJ_3^%JkCuk1t4{!07_$sIeLUvlf0>x$Q)M1F1YP^xX*;CKQK=RsxxyQ|7jh)W1A|*$qZh^bI%)`IE(yiE2!M^>3ztf!1M|s+b>r zTy%r}yJpJ@Rbrt-!oEIF4MN=yePrLB+g%sJ)w;jcvBkosm!_&x9-Rp4e$eu#pbGq~ z1cp}nL5rv~8+8BhnNYRbw@!N3Y9n}O7D>U@x-4lCL1O#<-_#!Ln23wI;%3jb6)o(x zRx&8nN5=WeM0PKPQ?B`V<#Jktu5BoXUU)fUdE4bU#`YE7bu}o~J;5ZU#0Pm|E>}Dx zscF|CsnXh)(;;_^j^A>Bc?T&p262`S@dG(7Zq;q@&mg4giZFQzOTS_RB&vh$4a7Yl z91OaTMP&=&TFh8Upzvd!kZ#A?2aW^ohtV@?RsAv>C?xDao%=eXC!(i0eq~|ij?}sz z?9ku5x)iGhk^{IqZge4Tk)ULoyHiss_2eaxiu+(rA6mhj4vc7d<>(<5y6>g{^UpOS z1Ed;ycR;utaxSxwKAOqY4(6fzK_w##qyQ47Tqlfe+Zk|5Wc`FdZT_8e934=?CJQo| zlfhp3eHMzw!=Yr+Y{P*=r5*9zLjDyEPG9AxhNN7R!p|mUrvOU5sq4}0y{JnE=_5mo}aIf!#{C@J#om*;?f!K-o6}@nnPtv!8qf6heE_XU{gPJr!wD z>R#xJ8h;8Hq%O;c>N0ir_{{Lefm=QLMA&LkgNx(h3V3ubzh>$BNQyPb^1|F`f9}Bw zX5b^iQXJbapsQcA`X;Z>`{iuNzC;$t!^baQ`f}2*gx|TA@aS)r9?4Z90T!HR-;!(+ zUv0ulWSiEufS)>AkEbc&xhhRJTwC(}28-*>?IQurJZ%@ZbdBCMl(lI^$Y0ki$vY*| z4*$*mFpX>nFkLe#ur2L*x_ZCvevPUJ6UAJE6?2t7A+t|kAn;PRHthkIL@QKataIIG zI$BXMbJ?7Ue#6cTXDp0ot{SZna($EKEy z3h(;uW1ipzwhq5p`x}p>m-@I#Dw1vTrraQIHojUn6GEQZgIt*1oIi=ch|0B>!lm2a zSMamVEAqSj@D+6X#$&WjMWg)JY7^i5T4*D0AF!~aGFyB?WIy*CKdFzn?eLj(PdYQj2PnTIoJJ>V%r;=gF z^^=QnV~<}yw0Yr&RIIJd96d6$Y`#vV3`?BLvw5Kmghpeqw84Z}xmYk$-C!p@s~?=Y zs6QLAylcL;rfgV~i6%s{PmI$7sP;?xxoGT8Xyn*`lTJ_3W=<+U$p?h;Kx+x?p{(pZ}(vQdlbS^;Di3#6Lv3hugPpndWqrHCy`nN>XAL_L=3 zGcm{AYrTUD%pO%Yq*%W#EI7sb!(^-;qCeCZza0~^{501VpJ{s7lMM?aw*p=;wtyG z7oocVS4eHe3%NTh8Ntg%i{d|2!y}r{+ac9LZO2#@S(N6IQ;GxRJ^*R@czvszc0Li@ zg~yl0$ApOk>hf!Wf5Elt!s1w%r`nl;=ocNy-4_FtiY0(GQMdbxB>3H7k#6GTrl8yA zv)5w>u?y-R=mf1b3QwERkMOLML1>f;DFh&L$?*K>7OSLgv;hNU8}MdCg(G+tDjUHK z)K8~ecZc2A${hEonnEOV7UP)71K$;6x3@L4eG7+Nl)AfLERMKPbPi+AjhBn1e4QG* zS1DC!9%zJ2;UwUDM7X@_1t%dS8SIfQM~%e6&EP+ zvPyfpN+ez`VSQXHFJ$E6|J$ z1*RL?u1%56SsG;>FZtMoW&$0b2#+dp>^hS^n*-8IA1hGAENYs8(bQ`b2-{_z|zn1`eD=h8V|F+{n)%0e#!fwH^D zd&{Sk?G0!4EM#SCC|xA$#+D`+ zys=E4B?4|C0T{9EoY$sbuylWkGzc_c8d^IH{zOlVv}d0VcY3vb-#6BD-V$IQ41uvz zZ-%_C7_hyilsh}{#s~j==!K}oB}=bj!$^~p_2aw?FteH9^)gSjxn}2Mk@n@3)62G6 zxw;x%$tjlWmv?>dFLx&t*8PK+i#+$C_&tO-Q-N+i_h)51$aCW^l?n*1De#T+%dlKv z6rkwZ1N!uGWM(IG#%q8J62=;1H)k8r0S&3$zMpbd5C%3;e6syv48oAZCl_QpMaDE` zRqSinVra8^Eu1M=4{t)+jRow&v9Fmy2D@V5Ob8(|EYaq(Q<=`E!V4S?K^X~lbM?!P zwYsB?8DIcw)fV0_Q}E_WD(b>X4@sP3lDfH*@Fxe`DKifr_xR! zArQ#A)FW$9X3GwC925%zp8p-i>S}R#V}n)k&zI=Y!crT(>37MO#fYz~u3X5#;lPO6 zVc5slJ<>3KxgT=G$T&7)&S?1KmA%wqB43mzE&4COcm5)){^>okK%G|+(Nu5yAweib z)NT#zCi~S@AwTZ0yu-?yE}%&90QG_))eE4{_nYAR$p)6bb2_+0aoTRz#il-9V5g+r zMNv`_2Eq~%Nd}MOZJvd=C;Ls0gv|rcmrBK{jaldlNPb`6FPSW<{>HO;r>mDcQ%d`` z>)ujdhdea5i!qkGg2~ktY)REUoIJ~mQt5^6bfB=bk{edNHTz?bV&we9+<$d@ZzFJo z-k;?!0Ol8U`N}j&3+s9*EEhp|QoO7Rj9suaNSaukA?p$@Mh^JNawIOkbExlIZ*t-u zel@e6E+=Hy|C!V*Epqbrqe=m+K3Ww5xFlq6f(T)KQ5oLru35_aYj2j#0ARvco0PR$ zmc^a$-g4294N+8@S+|&sxq}PzX#IQ>zh*>2$cH-Kyp|n)6VP@LOd@))=MfpjcpMB31cNtcMPrOB{P= z=SrmtSd07R%93FuI!ao^`S*h&*`tp80g-2Qf*Dgw`3bmAfA;X>=hen-B=e^_ULRC!T`X--*NyTs7GqR()^x>H%Os08T4E7X{mei>A ztmjL%cbLZl0mBu#tV&CZsm)%@m_1+t(pHi>u5}eL*xM&EqS;bdkUZpT4i^XX6o!U; zp(d$#$z)}CKY-lxRDCkK6$P0|p`i3VUGAXs#Q`vo0(?U6<(^v4<6iCqp@O#0|H+U^ zEZ7+Yq3cA_r$u2VBs&>7H)jl>!2!M*04r>!ZvQt>61hO+pox+s zKtaUYw9z-DV+6PFA=)jZB&w|JmOP8h16oqefJ^d5_Iqs|(7_ z?-Te6)wDAjDKq4h!Hc^%}C!R z`}uW(9bozlH#J$Z{(>_Bx}YKx@e}JR9vGaa7qI|WgrbD+Cb4icR#ll77v+t&LgOzYa{U=IR^pJ2%-t04(dTaih_kg$bMJ9R(L)TRVfD7~%nUp{xSYoj?$ zmphL=k6HiX+pY68Rl3D|$#b#3tSw?78~z~pH<%&jPC^{wwFpzjRKBruu15n1!q|Z9?aMrf|JaDv;^tY zK0a|W`tlIPQzB~INjrGrn&tjg;?^OOuw+|w`fL)b&PC_0e$dzd_t0zCgu}q}#We8Q zV1u)LJ19;BqLd!TLsdk9<}_!S6ObYEN@C#LyC%dT+YW8Q)A=lYOk$GlfV;)IVgC8# z>dKv0bJ~3!2M6|iID!UX3Yd=#wEFQ{WlGEIAm(DMm|(fN9f8CChwMbY0cXgII+=P| zgEdZl-ORQ5`^uLcACds;J5NL>H^hk8e>jx)=p26PG|j1k3C7%Xey6>9d*|KS3|0(6 zleCWh>%v(SzQRpHGODWbw;grnLKu-SrLA}uMR@PLw1rCJG08c<+)nFE16qK7UpL?u zAF|e?LsU*Xd_DG*dOjBUC4zzf|MrIX^_uEM$d0kmxUG&ZXUXp)-U50I>12{ed$osNM zNZzn)Ey11RuDgH;tsiGbZlS?7UgkXr=Q52zG0?t?G=0)SY|03jIod&%M%&Vco;5@@ z7Jg;hw;KB4k(MfDE(XaGm8Vq@c`;aHq0bpJ@h=PX zB-6ehn8TMG8bV6Zom;7+6<0Xv;<~56WsbgUYJhzBdw&eLY|3DXZgUVYm)O!+LY@MW zUH`R$J-Zj@R@ttk37No5uO9xIc#dX45c10rDvnMTiiB}AWe&SdKcT{`R#)6G0{$+7mIjUBC_S%G}w(sC9eY2J^Ksd@ik)0bM zazY7$%+Pw&_Xp+y5UpqqyS^)^3`1V3^5g}vc{2T)}r>l(x2Z*-0H38B0Imhvxmd+`hSAgn*lG(IqHz=-~F!Sri z=vJM5-OlwT|Mi@OaCYJ*vAN3NkPGIq$c|>92i8i^WcDBy_H8HL;-4B?ogB5`}@A9ek|RpE+3U2Lr(qlb>f|_dx*r_uWiU@ z&trAisS*TwtlfW1c(8{OMkz6{E8y!d+ju051`8pv(?XG$%N}W+=MOO_4<k?z{pXn9r1EbW8KLipp_)FM5`#2v3T5H&1bI*Jq}vq?t5Z*7ha z*DrX?mFEa}$7wZ0I0n;n)QitGrsX!gjY>cM)@UN~?8Q6}o$MN_^}XtqHX zSL@>SXaTY(!3I0Lcr&xGe1BEz+dOpk@TDWQCPNYC+PhIwFL0%OZqWzcy6P&Km$Wzy zwdgO6_~^U};r3`fjOUx#6QWtEhCD!4DS*)2GzMcg8e?I*9sg$;knkxX1`itk^o?(p zb}JNh;l%X(!!A@yMWy;Ay8=ms{IxpMc;GqN@OZ6jwK!3Qa$bb)YB{%B`4aHGM`@4$ zQ|A48z2iNZ5lws}UlbiELf%E10#S2m@uJ}&o2<6ht_!?nE0d=pAB6|O%DB0bf5(fpDCeAZ6SsWwBL@qVN;mISo*H8QR5Z?a>-yI z{mGN9zyYx=)*dMM22Oo>9MHVS>}4xCxV(UMg;Ia>%me&4*;~IB!Y|$00@MAe3c;yO zTp|-q*GQ#V)wila@xL*@-c3fu2clw1SKZGiuULGUU~E)rlJ?{tx8S#{uNDd3bI~=W zTe`wCI-_SF8;rE5;dggol$A0xonQpc#X8;dxFTpdBK1Q~sO2vGQk42vC&XUT;L-f-IXBIOu zNz{n)TDF(K*Dhg9I|?ouxx<_LA(HE(70>d)O4vnWtHf(SAj6?-aO0Ae33K>Wf&;@* za);r<@!yseQS5hJj|7TfTzzX3TNWftN;2?xm-|kWp3f^?$-bYJyK`jQm%vmoTL^<; zK4EBcjD8?Zs-C-vJBI^!tedBYfSY5AOk9R!Q#aa<5xD&$UI!WpZJZ22l>-f=*RX#B zLx60bTY3IIA~pAIMC0ZF^C9BvMd#M9BJ`q!_o-T_!kpP1tRjwHuZX+; z94Ejy=k>c&!hX~gcobV@g)~|TmW$1-pJ#f@JH6ixoE-%~Yl4W%t%_?Vp8W_)Fc_;P za0hpL2hUod3Xx<7 zKXSPa0pR^mN(&ew@6DCRMQYzKdm+-Pv_=_<-WSje7`A@5033ZGSi5r}8+*@ab~+*P zRthZc_K39SoYKv<3dQ3+1v|sZYeXk z9cO)!bxFey55z?svCF}71~4V_nouk@>@0b-?`@arU}7(yp}56 zTNe=(eZu{clMIG;G6i+W6hL@j)<8yZ&G32NB6|(ZNRk?3j$mPI`k*Vqllmo1e{aEO z;Go#-PK?=cz$!7pxTxx+8zDFD*d=&mpihPD&l1Bwb-VV%IntA{o?A3Wx#V=>H4~}| zp}X=_Mch0mNsO7!`oAC(w=|9o1fDMQOrHB2v-fop{UZS|pER0sy|Ms!eJqL<%I^y2 zsWaRY>j*&{@q?0&`nUfIMMZV*rXNk8eGGDaN>{0cxJ6KWxkvHzAj9?+5Fqi=$*Qut zhE5@3b(m2%GrmD_q(d@FndUxuo$Q6hNS-7U-z$(4zEl29Y2r$(lI)rQO*NgjPM2+U zK^c+%d@{QBa&37MeD>IML>bn4@+fdF%MPa)6GjuS&|u8YQmTru+b&V2fg|;)MJC_# zfh$kbO`9L72L--QWy-JlGWoLPv*@!#LCBArqN{##W+tE49=MnlJfj|LQpwW7oFmt_ zNYW?Bfy<9P5~Zet{dP`IK6x6**iXOLYCdM31%KLhHB)+C`31`spkTZR1O7-vES2(b&YPM7`dA~YP9mP%4pv#4^3OT*L?0|y69~TB#NIbrE!}# z)<5KY*G$ap7bnfcQm|Kl;8k9m=G&i6J3`C7-xT?#sG6AYZC{Vn@|l-r%v1R+biZOok0ID&wYt|IWyQy z3n0Etz!8RmURqB)+H=oHNK8_Y#9|aoEz^#^)4BW6-qfHUjQ;6x?rW|f)UGNw74hWN z@xE}c@EsE{1?!0E#$rI{R(E}Ho_|!qdyffj>a z`TL=Y;;sM#6oLbI#(_iNj`x*}Ex;$SvIz@#v}SG>^=Q{JZWG_lGJ3Y0|eNJ%QK zX;^?hEjBY8BmV3C8uKm8}QF#@uCW`Xo%eJr}|m# zW5qMQ8K3}0$`9UAoZli|Tn99yO;7Gi57&VkA7^qdj6YT&0wshA&>4SGhhtH$Gps^c3Gs z)!xU77JI4sBnU}@z(rsuMaHDKG0~q;^a&{}6%5N7y(mDx^%47nmh`3@6GB;#`z}@j zooPdFSi)%G4dC^>3J7i+9cS;%?Ds64ObN&Z_t{)X@#i8RB?V%Y_=R)Uj6^-MJ4chQ ztLluZ4g3980+2wq`^82O6vE=(sY>5!vj?h|1#C88m?+u8XrKlbOlis#S$joY3|bBJ zhiX~mFwZ1m4Eb&orB9N7KiYq5DjdoVtXqKBMD>G)yWMpSPC!W%6aBIEs9&UAH0mh! z5x8o@Kp%{rB1Sz>YJ*@)-jGaK6L#ITt!hoEh$lvB`;Njgi!Qm4!2{LY6#T(-*yK|l zi?dX6-A<5mi=}Nnrf+(_!py|*e3WdL=e!R;N9hTc6Q()GC-+|Ya7~Al4As3b_VF(R zBg+ne6ekx49|Ct%d&uh4*QP#2;^g$ERQQxty69Uv7g>jp zeUn?yRYn@t>8XZH0&b1RZZ@i_*b1Edzj=8xCkWFfzB zs8nM8jRvNsTwFg38s$d|p<%_ARufu^%hH#30x#*iEey>q?*}kAB~f8Zr>^CWP!l_%s5NqKav)`u_q6K`w)v~k00%Z+-$8Dn}#ME514I;F08a%UXz!+gZ4qfXz;Nc+sJ zEU7I=N9?+tGakrfnTDgg8RFEFZ00s0s32{-ULg06h2&*cS{2&CGzZHV=>ulC&T z*eR?^w&g$}Fi;pkkdH!>5d+UZMUO~Y9$D7`2G<^mcSr0?>E5RbMmFpuf9V1T#<-u` zC<<&mvq-nBb#ul5?SnvAdCYz5ANvkAJ(^*A^XG?kTiD6F8K!L!>8;9q%&ED<{x>jQTeaXY{{BHv%n9Zw;nxhi?;vrDvUr$y08B3n z5+g#WU`D=^eekOUaObMw$s??Rg*3w`FtA#5zydtR)b#S_wQISAnjM^?2T!&9J#b zaL&5jzw=0o@bel%Lld-8AE}3YhtDRo-@}^3V*cl$IY3j`>mSJ|5;!h@6dtNC)PLYY zUC?+?w8H@P5L;?MJ%RVJ>G_cI9oX8WB$f^z#L5snVv)P3gE_Uvf@8-KWp~Kwp$%XOR<*9} zYvo`hLzRJ5Bn%LlXfh<@e>?OSDi}rD@nuXPbgJnKUN9!=qh3i*7^8(+O4wa+cLxHk zLGpx&kWX4x%*-s*BWi=`P>XLZXRkc6&pN);KbNXSxMl#lu(h?Zw=a0_1JGBP?0ljX zD64<3)cog&$KOnj0TY1M0t<0Z4EV#<`4JlLo?bXvTi7%vtuO}4HQ?-tRVSoXHY^fZ!T3YJ3K^_7Iza=p>M&gy7Y$Ibz|8!6?=#OgNaDn*+8F&5G=FZo^k@@oj z?{J>c=nRpECV&bPI=9)Tf<%idc&s9^!dEi2r0)LxB7EKU5R7`o!4{n5PyZj#2UCMn z@(V+5j-dxyHFA_pDXl$^0fX=p=x-a(+Ma`5vl+uB#|A`Z*c3M${Z6rb8+BF?i0ENH6ATX=@R3Y*pvd!%e>H-inuKvtSU50 z@8Mca@uE;ksKFSdg^8*~62uSaIZuClHvNHkhKwM5z*Wmmph5Y zGdCL2(Cj3>;@w$sK@pxRhaqG_nT}pFX<5_~pR0`{vPd4r4BueT zzg7M602}pwNf^B@ zwGws3`KsIr-LYbwbm*VxD!uefpR}ZH>b*|h7Oz0NhPazj3*+_hWpe9MaZ8z1tY&!#`%7T5<6PsU zIr?UiRp`Q6%meX@ie z;?88c=It0Qmno9Tvo&s~@IAjR?lo^C%s5AT=Ks~JdS96ldr2%IO*DY7MS(W%RQ z>c+U`GAo&tBn;@?j~CnUJ>EB2<`TPpF`)yB-!X;pkS`G&C+3F7E|H80OOC#2&m(A0 zMuh$9BYeEJ!WPsycAq)_s(kgcOvuf=9^#{QYK!jW=!zet?S52TJMAT?g#YYvDJuvj zQ;3*xH~0OfLmT-EW1tx)bWm&-Tmcgc*yK-Iax!V0Dk1Q@xb;Mp*ZRG~`H@3A3lQ6b z>Td2bD7>d0?!5uH^r8>W)`Gv5T8#(iG;43d@fdC3!tf#lCY@Xk%M)31c?)QyRfd8n zrS5#@ye>+MX<#+&S~=wasW3b;j&nMtvI;3eK11UJ@5NT2v*Kk}jKPg)zcCe@hWBmN zzFuuEn(s<(LpZ~kETMZzxY&DGb8KV4V_uB?DiPWGZ(gPMM3h8i#`HWt_e>NII3r(E zrq{E>`^|@zg0l*V-P<#r6oF4b*wJ1& zML25ROmkdT591BnONL5n0fA61LM8OT2}|21Ooqr#=;i*l?GRK>ouJ}>dHl168(`UHA~~Q^t66L9Ta?^Z9NNN$v?p(_ z;1b_#c(rL!*j$sMKy=R6 zeDJDwyKb#KSc_dy62M`z5IT+K1@>bSBFt`9gdm-}abI-8k?mp2%>=(Vl#{>X8UY zr6_;0ec&bGLZ!VwQ>G&q{j=0ggrfXcm!f*0{_WcxC^db+sc1KQOSJ>zN1poefY~3s z7Vc520c!cDxE39D!_$2*Y>uDJon#qZ)u+wE_a^^s2=q{RL54NR|=Pu_`_5H6#X}cl}0!y3x zgX`sdpEg#f6=_pyPuk?V$zVFR+xkB8u@Ge}X8_FMD;eT=qlM~5h(xh;00LTb&{+oi zeAgfLc>^5IM=i$Upb{Q0^jV_iQTFX4{Q_=FfWEj9*rxSie{45!@;8U-pnxTH8vLSc zI|Us$e4&L{&fKx~rk@GVe!@I{-98}KIIC-`yMElql1Kgay`Ku?XDH|Vk1;LMT>30j zQ9^$27nsCfxb#w`h2SAPk$2m&7B~evjU(Eo<#`tjlsAsF zkdQ9lY0KE|`sK$ri`U0unV{2R?jE@}INsG=_MoPY0;ju!_82AKnb1!v1Z~1Is^Z9V zu30Y{Re>NEOE1_){u{me9D`=I=VM9DCx!DB+*VCcD5e1izEJ)$JC|&mpoozXSVHIQ<~$1W8pzBP2seP8S%E2OQ*S(;9}T)ZqK) z&bPOL&HU83lfxy}Y?0pAchN z@PuC+!%%z=FRgbml`pYtGrz}@o&p_O(yR&`uc&!*?%2UnOz614 z8$cT^;HLG1t8hnY?748vAu@0$5Dz)?w*#nlz%Y|j63wR01Dj{VZQwWon0P;Tj0wkF z579grP9y5Zi^+bJx=8f%Z?-^`sQmc&kJ%>Y@xCWZVXXL zt}#k_yuP-5QV}luo-QNy=>xb`h&f8RI3LKFdLgY=>DNAD*l7}^y^){758C)t{(7DQ1SeNBC>Ld3?wr)hN!!gnMd43WAoJ*g0Q zO2ftU^M82ZEZG+T6vnOazNL!kh8@S6tbR8Y^eaK(IJS`Tc-S$XE9c+?E;|!IlZyv{ zL@zhM!>{!s^Kw7J5DAvQnyKUi#7{1HUsXgd*vyk^h;V%Qsm-{b0q4AZrT&koE01UT z|KsM!kuW+$&Rj(#<;Yc82{}WKm?MN-k#meFQ=t@-vqXxR%6)A`lp|4&T$@}uHx}F4 zY`?d@-@d=cqd)4=qepM=&-?v)zmDfodY!Kc^dvV8*$}eBO{YV@G0xp!h2vPRsb#}{ zJOI^ULquJc5s*B2)^;OOe%^(vz+?S*P7WL^LWL4y{@=V+tq?jJ$B!?UY*O=i3YTWz zKm$}RDfUnjt3gXbOO9gFI$2Y%|y6_z} ziHX2)i{y6e`B;UvLa&yP@bIxcBxB%MZ{|g>Snff8iPL%0Vp}E!UqG^D8!!U}@IG|}CKAioOE3l& zo&PnYbd{b?6L-X+d(|n6@r-y;IIum!t8oND0N#Hc1HrN(3V6DV?s*0TQ#3ve`?RPL z+cxRf@A8aMeA%}W^RO12%%C~4@>2dsuRe&OF*w+_MV(^~Xq)e@IhmjSdRz5tl>7>A zR=05(wBOnUFvc0)6Z=y1Zp!uYZ-3(ctH}btUO3fWOs-EFX@ZG{UG80)X;w8q@!R#Y zb5{WHIazp>P7YtVEa;R!7ZUzuiQfF+EB2$s){UG~ao@e^SAVamo}>XC{88QI==QWO zXPSQf1=|+Z(bvyN*H!64KmzYILm;aa$Q*(s<=+f?_1Xo_hu8uolI)<*3-IZFV1zTl zfCO0LvKa~@j-gXgMX_G@kO(Pan{Qor=)zaq4{*;nFYxBF@z_)M@>AEZKL+A|hpk_- zxIhCLr01x^G_&JCS5tvwQ=a>E_LzcH(5ZV#XRQ$g?J?N2EP zmX8Y5uxS;H&rSsc4Mzs&n~tCUEu4ob??zW$Shc_Gfi(L|jjKn zOZkIGeti6e%*v-+{}r`BYMX&@>E8Gv?>ls(jMx{rk&n>Fnpq0lts0)QofBn4qa=Pv zK?*)BQv6gnkVjb&%tyU{6TrqqJTK#1uKVhs-2yPayenE>)<)Uh1H-c-t?*f98zmyf zVnY+)lZ=vn4Ex@p1$^P0(n5v2t;x$;Z;+I^v+u~+_^_&XcX`XWeE>VGrlduOG>A+wu;_ zq2Gi8ANv3u*;rjU4A^**_k0@cqzg{l&3k=4bc*o9$*i2T(lu_Uu>t(KI{m z@y_-UBySCz{WJT%gu3lwmQpgxfXdEH8klXhMaIn%;;*-$iDRjG@Q&`Tlg2?%iR|OPOo>sLSo%lY!i865S7vmoxdmAZUll+m6pE#f~d_ zm`io&HwWu8$xBr+rHlMoWt8no&?4znkgY`b;BtNCTr2=BQ%XFeGZki7Mz|A%Gp>O% zwVF;6J{jK7%=Gmq5!0bj@yYvJgZu$1KnTnE z6ENkW=I?M?DIs+}sMj@d21K(4M9TAM;2GoatSq2$aQfTQ=GD)^E%(R9i(cM=r>}_v zfm8p$-@2y;RDfcwul=sF&*bRvJd7}ex}<|acbgdp=kj#oyKb1({8nQ(WJm0`&Tq&o ztKc-n^xOI{4*@)gI89re=HPEPzlT2?pDKe`2u7so4o0k0FbZ5gju|JE#$USbBwu#t z8py4}g`6fXM_gwY{PNepWo5ZLbaA$rW_t-M1)a7u^5AFjsaFD0_f233(~j?=Uz=;3 zjzz4>`&e~M-iG~*O%R1QncQn@;cd3KvOi6j8yZGF@kqVty7as2la+V(*u>hKzGyX@ zIoP$oGUmcwyqJ(@j66!vz6}5sM)zz7sX;i00Y73N^fppoH}4Y43h^?-@Uz8&eYjrJ z@dTPOPUO1|Blt6&8#m0>`8G6KRhNKHdBXhOj1Ld&G^J2lIo^G)539OS=KEkIAtLoT zJF}k=7@PINEiPlk7Xa1JKs@3N2gW~iQI%NZMZoq_Mpd%Cp0o6*OC8H* z8}vBWN!gnV0Q1AvY_2gU2z8a}r7n%i-CQdn5OUkKCr*;|f)AH+0k~E4q=EUp*)0`y zdy1U;+?)GfJp$=GAxGbvPO752K_s>|h>XtGFz-64<XAR-g zyJX2EE)XI;;?mNfk5M)<$eNrTwEB{x`)KuM7bL02j@&0^KPfi$N?f1;h~l3P$(x-x zHQ~W!H4d$m;7KPYPRt8jMgK}dcwMlLlE^Yt=%zDE! zwqKD6qD#7&WWeDir`uBwaqGOAUs;dT&rxS>QnBs;toU`iA8ii?6UV#b@^}&pWYg@i z1rjX-4-VMpFIRB??C~R}u3R2V>U-BpG(TKch7h6Ztu+@!_<d7$6ER#0seR|aG10%I>}U*MX_9E?;-Dq=IR(F0ai#{ zOS5aoUbBzbzL^Ad`wlb!ry&yz{ei-O-FDaKjX7byJZ&TU)3dTEH;D#S6MBX1O9$!j zf{Bk~u^z^whddO=F6!u;FIUCvjlA^&!75;=ZblSujz&N*5LU^5?VHeYLBv6*&=5iy zLY7gltvPFZ3n)1QTtKtYy(5>O@jjLM#((lt+z>w{sJk}2y!?0=nD;S;(jQc%`V2VdUlh=2`PQA5lHbe~){bvaYfvs7+ zh?RWZ>aW7)(s9q6kmosRW>(DT+NqP!cBF!of2#KVsm#0xy}Ix69bABrnK~O~zH>UF z>=U5GZ{GaQX`<1~)+)E)PG!BN%)4jIQe5WgX-9^;MkytfET_ex0VkDDPDdQy9C5C_ z76nPzUmpoYf7ro4BFIm;+rS^09W(#lixiA;tW-a`8UGk^P0us3>YdxQ?`O=+7Gqyl z#$v`b4*p=SZ85bKpS@`;Z#<@qj>Hzs>%G2m<;oC7)?$XnG?=HC7rF$++l*2v9$?@k z#8sndePE1hnLAA+|45q9hdKdL2V>L-#?44;d)Y*2!}-KZg(&@d$$VcNM?KldO&N?n zG2Tea5tY9=c^9Td(P+OsyoYd>(9k@g*jU#Wl!%N`W9jdVYHI7{pl%%~4_s-DmTo=E zxelhW$b}ck6P`6+Pk zQ?H~Jbz>mE;6VBgb@<5Vd6m%Hk|&vl)5;_7a>AMJ)>QoEsj5y?9jN} zH`Hox!4@yxMorCSUU*Ot%ci#KM11e)iAX7Sc6t@C24m+IEyTn04Vt4uShv&6v6;k9-D^TrE0|JH2P6&ooHDG?&d zzr?B~R)^VP+Rb5DxB@%y$|S|6^ZYO@tV6$S{174WJ~z!j_8PtYfO{cNy+N)gV5i^b z86iH;f#=E21$v|GxLu{sFp{t5%FT(Ig;o{u-m~Uf-B+)E56+T^iE=!-q-7r!KrlEX zCN?dQP~5wXP4}%3oD?rV@X^dkJh59Ni*CPjvX0#90@J!fkN1Qrak5U=%+#KouARzbetJuGFmQd_(-Ef->QUoOB8 zJRBxV??^4xo2D{lg~+y4s~f;3vsArkq$XX-K}zn9yC<%b%#3--XA4}Fm+`kolN1uL z85lB_`2TJH1*G(K`DN#Drr=^id9e4#Zj`Yxb&8ClA7(E(h5dAW7#PrF9NM!lbbKF5 z=c95vub^kcigZrggwb)x*aH^)Aq{!`j>FR@W?_9nv(o}^-)J!XSd>}HA@|?c9YH+# zOsz0~eA7m9QS?y^~n;(*6rx16vYGQ}HH;U}L zpAIVAP=b&Bn_CpGcyUGoeb%CbwYM+%t`2#6DKfZZgIluE!>HBeP}<14emEAn5?vFb z*4x?$6zIb~sqK2##Va@;uL0|%yTC%LM1V5t$wL3fJU{w4;IeZnQr(^Rta>kL?qEvA z*vf3})!MOXOpaM}SsUZP989DR3~lx$us*nNuXh`iJUT80gZQchp$V~$aUoj4Y{368 zVrEu1;Tg_3azms22+a4bA3IVL{uTLs>fd6dIKUH1Jx!1hxP>D9vT+SZ9o;+t{aGO2 zhzCAF)VnaNChMlKTbsHU-xIy`%r0W~+6hUOtx|^*-rBmXb(e9{9lswzve)x8b2gvv z@hOm=JE};gb+h2K{S}B^VK2lU?7F?SGuhOPV(si`#)-azM+Rd zR6J-lFtc+IgFFYe0(EqHe0~&uHwjYYf8mgYi8C!WSPnk@-xg1E;F4d83HfSg5*WwS z6_1)GHJjmp$_5bs3v)3R6hF_2u1=MiSaLgKwuWKYc#4x$ zikfqeNonX=zx)>Wm9~W@H>ipzIvoH?RE5^H{o{uBX8NRL<}8+!(%!ZbVWN@8)ejTCT?R{a*gyOflUXc^YkSM!V9037;E{7&x8XGr`H{@m{{r3(!4}mNMB`|DLSavsRpM%`VZ5Kyh zLP@jA1X0)aY3#%n3v;Z`k)0OnQTdk18jyZZecS$Nx0;B{vSNx5Q%+sWN$gSYyk~dW z4*78;TO?0C`l?m5a9}0bAZeQ4W;-1=sOCS3suzAk6 zK!DCDZhAK9^>lZ1R|cx;Sfrup?t22zvn6!YD#er5lFl9k*%aYY@D*L&VZg`O-M{je z@m#&ZP%V0A_4TQ!Um{p4jQaa9&_$jCGed|P8+!eKcc&Z;>*>`0*j7Kg&emg*CtftuQ^qkxC-#+{G-Tb!R7JugAw%2K)O8kcHyGAR>9~UBIv_uHF}7Yg8Uln&fd=4j}7Cuf!+LFy!bMy)WYh5=mDQXhfm z@q*%G`lHgPjI$Gm=Fd)Z(@mGMbNxf?!DgPo7u3F}`#8hUjfq-eW+; zU7&v=F70Q$p%Le*n$QHP)bab;P^-J++_mGJ&|V^O)G3@zTDH< z2OjhFQHQb?gVs|?>rxz&if3pdG>s)0MsDws6YH-l7!qa|Yd(w)=hVzEd5XfF1hE#c zqGe5-Z~r+X8+LpeCDXAFl}1$NR$M^9;{b#oX*-`=o$*F6MTVz92`4TVhAw9DH_!a{ z0A`W4a1oxAm|K!|KO2mb)_hQGOg(60>!~n9HHoidBU^FGhfZ${?80)6IKSebM<1oz zti+7f40m2;Vzt(<>lB72UA1Dumv(QJ9ZGK~1 z1ra-_0m*+siM2@rBzrRFX<`%qb|<7k-_f^Vr+s%v zUYumP8SE%4N-aKm=E4AjhopwOdGBxXPyQW>Q*_wxF-TgpzJ+drp?>p0->VJ7WzT#g z+wQ{bm1qobuc=%sZ#nmI*!b;ctc2{6CK{9MC@W;RYuqTT1^)o^ST#hr^M;3HxIv*0 zca`|a<377ae7cAPxw~xc*{kJtxP{nHs~dfQ=Q{vpc~7iO5KS=4`w}qQXIbpeS@tgl z#?7dr&w6(1SGkV@`&c6P>cKl&rRz)Zorqn*kIJ$S`re?UKIOne|0}gF>hdGvubO^~ z(1z`)3>21G9O!M9>;V0Ma`el&o@jxIFRiX!tXSVj`^F(ljy~aX1wErd#x<>@COr+| zq4>9tFePfjp$(om8QE%VG7q88>V#u15YU_T$*crw)PjSH^Rp)!^9+5ebPa&}jB84H z?)lM-Kbhr3&hKL=EqasRJ*8JY!>vC1pnE5ccZUcFN$l}XdEZ+n%=M%W`ayza@X*!e zZgw^8Vbqq?Nx8rG@X(eLX{b4n6jq<9Q!8A(Y}H$C&M|yl*D|aP-a`Z=_ltx6rDi>) zo2Z8G`+u~jcH_F+$CoX@{$}ue)$+qMDAx@C5UoOIhc+6jMF^4W$uMeMUiRI?rx^n> z*iWevL^EmZ1I&t-{p~gGCYDyw*2a5ZJ!AyCsyU}aUOm;gy zS&S64uKLcc$FB$59eomJ{qwMOGwme7#rA`kNnIsJGe>0m)4yqx`9cU`DJAfmaJ!!4 zf?Vr`q|!c)c>s2lCxp2Yg~`Dyh*!2MA`ph~ZTORukEg|y+t%gT1nnFoJuK?Z_Iyu+ zCTzvR_H896#E|_raIp*b46`uZ{mm+&pEgbbIwQK08W1?SM=DUV8k^a9-ub&48$1}i zk7xfx>p)9SLeNX~BAiApJXiYUcPaKXh@jAiY=PkWWy(x(6oFK4bhyP^pU{-BgoB3y zMX5i#?t77D?NIN5YqKkctu&#sqHo_Bt<=+BX9X|(Bip(dqmI%x9La<_drJ7qRJ`{&Q= zsY>sgZz+8_ppd1Tcio{xcZk!K8?nt<{&(RTw7mqQ5!CriNjp-#8Rr9^P-p3rQ-*?< z<>v4?u==P^ProWRKkr&9>zN7%Xpf!0ve@VluMfA`f%%qB(b_1aNS7Jn(Har7 zIwsbBV9mib%?5}qdM)7K#5?$d7N=gaBtfBja#8JKg{b<7jucpZOm@4-E4cvoKMQen z{x_Jlh^ep8(yto2ws`Z@f$PJ8}CvqBm1ulN^OV zL6G<0`o&vB0}G!TO@xUe1?^B+&NZ_qNR>KZZG~YC?2;;5o^<=t%A{U@-&Fy0@mQL^ z8qNxH;mFRX_p9wd^HI*kX~ORv-K$9av?DVp?`JeJ>F4{{ph;wg5)Pq3a+ox{H5KFA za)8s|&UU>2b52J2!=a%Ek0hUYX}RaXD%AalFF`n1Ud?iLgKIesGrTFbWYfE*=}!^d z@oj19*ML{+*&dDv@(G8={%xHPrC@=`tn7o6XM3PhGG}OlHWf(*8GZWadgO-_X%(ZP zXc6v{HTW7%a_)HclK<>P0-y;N>C&LuiRPCzjiC-2pH~cXT&ekWpDK9O={6s?Ayl&lAfIcD4411$!FXmC1 z0~BFJ35kO_=k!nY>`|N5w5Lz@kDH#y<~q|Rx`{x`r{pfODICeWMp=(|#SNkhQ@kBi z+;YK#pcKpeXWL)yK6)0>9A{1D><6MFkTaawyBym0H$U7x1QK;m~0DCwd$`(02?2sLCoZ%#ASSeTODR>$n#u5%#Tb=oHp1 z+VN)JVegUKs+l?%;ktAeYa#tBA*%7zxkXQkEc6tdAVj&P;#ICaG|SMr7Zd zC*RX99&o7UE>mh5c5=JoGBde6f`NVD3q~ooYhv~$*P!+*uL(|au zPt6AB_H?KzvVD7t-1tn{<)PZ7UuCF?!t@g05SDmdtIaLB0MqR|IdJsFK5=_pl)v!V zyQ8ujjs2~cPm&vM+~p*HLc!^IZ(sW#e;&81{YSU^BIUX=!+Sl?Rfe9?$U z4@zaNw^)g__FCQOk?N**`K^lB=C5`WtxnDiTOM%e+PaP;Y$*mjV(p0>0Ec4m&!K30 zzT5c8;doHSB-@OLDxRDq%AcIX=hhjM*K`vA`dfI4ArOB3fo39~~)xB(-L`%o16}~kn4d8)`e~N7>4gf?@ zITNv3j{0-VUEiKAN?T?9@)tRK#|Q{6X+xWXtZp2<%ATAc0`pBlbkzzAB`3 zwnvLtx`;9?OkWWq59y+wY^^rC5TgydyH=_B;|hMjL?KcQ$-KG}>kU>obt$25J5l1; zjtjmc%+38zojNdPyT!$9xzgHz+`rP`_1NTi?)V5HuDc;B=g#NSVq3+j(&|%W%l{6m z(AEyMgxlSv9t0m*m#4{O0|_51qD4VT90Ix^D>$mf@}tj+_D?A@rCJ3PG? zW8lkAoN8J)Hz+{1It7uo*N&TEVbCe3UZ{T-oYK&lov-+(+7=bt&o9mT#P{iLFOn6R zDQD95#ALT{qwPDo!C*$LF3`W^fI&R(Iq;FJi$s_lwjb_6lP``61162=e@D_+Uw;Q8 zgXgwsUD4@1zg#{pi9~%5jjX=4E4-6v#kDRo_X53M7Cr7K2KINP*lhqqabj6iDEXXZ^oTbYgf1Qx>}VD9{*NdpaqW zE^xQ@fn>-{6W;H`b$fyR%1npFuOqStu$&j>!?}R#gDm@oZp!LrQ_90jrk!-*9(*Re z>0HuE_hP?%l3}5tzYKOrnw_;}H(BZ?3itQl4n+9^x4}uT&D{ZQRGU~ur?9{0u?`#I zI3RO|(nJnVSF#@$Y<{eC;eyVifviE!Np{Az*U3L|$X6eD&1Pi_Kn8&xw$n}^Z15b+7MlJverg|jGh;Q*>}gfwYSM>A(2Z~{Fbe(pIhGee zh7b!B%B1c3jRuBl3wfqk=>mTVzZH*T5~O6_=MAhVB}^+QCw6QEzp0-1_3{ic*i#zY ztY+%j@O#*qmaPEID(qX~>+f&PM5{p*Ls_~PhH?82Wiorw!kz>+i4}WH$@nec|?;BGg2eG~KY_`~o13}orAEy2HduPW2O^dG_p@AZv7)W$+VTl7(ngN{ms{&@ zsuR9u>-6Wp)S6g)8!e*hn>{J0^|gCfAb%UW3bBxl=dgfi00Dy2oTSc___(OT71@(h zMoH_=HL=l(SPYXvT69M&WHR(f+pWg%AMZfcK5Dw?^CeN?sQ&JLJL!la-B0)L;mgN7G+>ds^A^y{5(w#_yc=PJ81 zyvhi%`tkTK%CH^51PrEvxFr?l1~9XsJ;M1U!yAl&ZkF z(s;!KJ50t>w$rWZJ>LXJy1!GpIX>Jn`Eg-u0+?0F6g6$x>=jId1bzJRK9Pfq-DC_e zP_&aNg4>^L^l$AHXvXWtgm_e*jjmX9scCAzjJH`ip|CK7H;VSqIgs>)B3l`6m8!ke$yS6r`g4 zxsp^v?3ufvRfaiZR}JDGIJgE0gL!CWb04YYIKl}KD~X)U=WTx{P;~(Zs3N%2$!8*- zOh%Sl_RxB5PE2I{8pS)CMa3p9%As`#$~YYY572uz?kSf7{gS2^_NhT4`RibH6a{F3 zYW`aH%6i<&TN1-g1{slsv*vv{~�ylXxa_?SM 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 JPRKX4D`qA^hi3oaIR8)eowaj*V=(I@S7m?c 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 M857-7?W;HbAEe~crT_o{ literal 0 HcmV?d00001 diff --git a/docs/pictures/paramTable.png b/docs/pictures/paramTable.png index fffaa747b70e11a52096947b7ad51b0665fc1878..16550a6c39c3e25c824f64cf3af5c4394f7b631d 100644 GIT binary patch delta 5227 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 Date: Tue, 31 Dec 2019 13:43:37 +0100 Subject: [PATCH 03/26] Added HOVERCAR movie link --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 616b168..fab1767 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,8 @@ Demo videos: [â–ºVideo: Reliable Serial Communication demo](https://drive.google.com/open?id=1mUM-p7SE6gmyTH7zhDHy5DUyczXvmy5d) +[â–ºVideo: HOVERCAR demo](https://drive.google.com/open?id=18IvRJVdQSsjTg1I0Wedlg19e0FuDjfdS) + ![Hoverboard wheel](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/hoverboard_wheel.JPG) From ec2f6a1eb6cebaef1b4dbff67d8206b842b2af1d Mon Sep 17 00:00:00 2001 From: kai Date: Sat, 4 Jan 2020 00:09:57 +0100 Subject: [PATCH 04/26] - removed default / fallback variant; you are forced to define the variant of your choice now or build will stop with an error - added condition in config.h to either take setting from platform.ini or config.h - homogenized default_envs naming; all variants now have VARIANT_ as prefix - added nunchuck variant in platform.ini and config.h - added PPM variant in platform.ini and config.h - README: added jan's nunchuck breakout board repo --- .travis.yml | 2 +- Inc/config.h | 96 +++++++++++++++++++++++++++++++------------------- Makefile | 3 +- README.md | 2 ++ Src/main.c | 32 ++++++++--------- platformio.ini | 59 +++++++++++++++++++++++++++---- 6 files changed, 133 insertions(+), 61 deletions(-) diff --git a/.travis.yml b/.travis.yml index 87f8388..a6a556b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,7 +44,7 @@ matrix: before_script: arm-none-eabi-gcc --version - name: platformio - script: platformio run -e VARIANT_ADC -e VARIANT_USART3 -e HOVERCAR -e TRANSPOTTER + script: platformio run -e VARIANT_ADC -e VARIANT_USART3 -e VARIANT_HOVERCAR -e VARIANT_TRANSPOTTER -e VARIANT_NUNCHUCK -e VARIANT_PPM language: python python: - "2.7" diff --git a/Inc/config.h b/Inc/config.h index 5ad463e..dbe955f 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -3,18 +3,24 @@ // ############################### DEFINE FIRMWARE VARIANT ############################### // For variant selection, check platformio.ini -// For any particular needs, feel free to change this file according to your needs. - -// Select the VARIANT_ADC as default variant, in case NO variant is defined -#if !defined(VARIANT_ADC) && !defined(VARIANT_USART3) && !defined(HOVERCAR) && !defined(TRANSPOTTER) - #define VARIANT_ADC +// or define the desired build variant here if you want to use make + +#if !defined(PLATFORMIO) + //#define VARIANT_ADC // Variant for control via ADC input + //#define VARIANT_USART3 // Variant for Serial control via USART3 input + //#define VARIANT_HOVERCAR // Variant for HOVERCAR build + //#define VARIANT_TRANSPOTTER // Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng + //#define VARIANT_NUNCHUCK // Variant for Nunchuck controlled vehicle build + //#define VARIANT_PPM // Variant for RC-Remote with PPM-Sum Signal #endif +// For any particular needs, feel free to change this file according to your needs. + // ############################### DO-NOT-TOUCH SETTINGS ############################### #define PWM_FREQ 16000 // PWM frequency in Hz #define DEAD_TIME 48 // PWM deadtime -#ifdef TRANSPOTTER +#ifdef VARIANT_TRANSPOTTER #define DELAY_IN_MAIN_LOOP 2 #else #define DELAY_IN_MAIN_LOOP 5 // in ms. default 5. it is independent of all the timing critical stuff. do not touch if you do not know what you are doing. @@ -92,9 +98,9 @@ // ############################### SERIAL DEBUG ############################### -#ifndef TRANSPOTTER +#ifndef VARIANT_TRANSPOTTER //#define DEBUG_SERIAL_SERVOTERM - #define DEBUG_SERIAL_ASCII // "1:345 2:1337 3:0 4:0 5:0 6:0 7:0 8:0\r\n" + //#define DEBUG_SERIAL_ASCII // "1:345 2:1337 3:0 4:0 5:0 6:0 7:0 8:0\r\n" #endif @@ -109,36 +115,38 @@ #define USART3_BAUD 38400 // UART3 baud rate (short wired cable) #define USART3_WORDLENGTH UART_WORDLENGTH_8B // UART_WORDLENGTH_8B or UART_WORDLENGTH_9B -#if defined(VARIANT_ADC) || defined(HOVERCAR) +#if defined(VARIANT_ADC) || defined(VARIANT_HOVERCAR) // #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! For Arduino control check the hoverSerial.ino // #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! // #define DEBUG_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! // #define CONTROL_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! For Arduino control check the hoverSerial.ino // #define FEEDBACK_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! - #define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! + #define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! #elif defined(VARIANT_USART3) // #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! For Arduino control check the hoverSerial.ino // #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! - // #define DEBUG_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! + // #define DEBUG_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! - #define CONTROL_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! For Arduino control check the hoverSerial.ino - #define FEEDBACK_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! + #define CONTROL_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! For Arduino control check the hoverSerial.ino + #define FEEDBACK_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! // #define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! #endif #if defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) -#define UART_DMA_CHANNEL DMA1_Channel7 + #define UART_DMA_CHANNEL DMA1_Channel7 #endif #if defined(FEEDBACK_SERIAL_USART3) || defined(DEBUG_SERIAL_USART3) -#define UART_DMA_CHANNEL DMA1_Channel2 + #define UART_DMA_CHANNEL DMA1_Channel2 #endif +#ifdef VARIANT_PPM // ###### CONTROL VIA RC REMOTE ###### // left sensor board cable. Channel 1: steering, Channel 2: speed. -//#define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! +#define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! //#define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. +#endif // ###### CONTROL VIA TWO POTENTIOMETERS ###### /* ADC-calibration to cover the full poti-range: @@ -162,7 +170,7 @@ #define ADC2_MID 2048 // mid ADC2-value while poti at minimum-position (ADC2_MIN - ADC2_MAX) #define ADC2_MAX 4095 // max ADC2-value while poti at maximum-position (0 - 4095) #endif -#ifdef HOVERCAR +#ifdef VARIANT_HOVERCAR #define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2, FEEDBACK_SERIAL_USART2, DEBUG_SERIAL_USART2! #define ADC_PROTECT_ENA // ADC Protection Enable flag. Use this flag to make sure the ADC is protected when GND or Vcc wire is disconnected #define ADC_PROTECT_TIMEOUT 30 // ADC Protection: number of wrong / missing input commands before safety state is taken @@ -173,14 +181,16 @@ #define ADC2_MAX 2200 // max ADC2-value while poti at maximum-position (0 - 4095) #endif -// ###### CONTROL VIA NINTENDO NUNCHUCK ###### -/* left sensor board cable. - * keep cable short, use shielded cable, use ferrits, stabalize voltage in nunchuck, - * use the right one of the 2 types of nunchucks, add i2c pullups. - * use original nunchuck. most clones does not work very well. - */ -// #define CONTROL_NUNCHUCK // use nunchuck as input. disable FEEDBACK_SERIAL_USART3, DEBUG_SERIAL_USART3! - +#ifdef VARIANT_NUNCHUCK + // ###### CONTROL VIA NINTENDO NUNCHUCK ###### + /* left sensor board cable. + * keep cable short, use shielded cable, use ferrits, stabalize voltage in nunchuck, + * use the right one of the 2 types of nunchucks, add i2c pullups. + * use original nunchuck. most clones does not work very well. + * Recommendation: Nunchuck Breakout Board https://github.com/Jan--Henrik/hoverboard-breakout + */ + #define CONTROL_NUNCHUCK // use nunchuck as input. disable FEEDBACK_SERIAL_USART3, DEBUG_SERIAL_USART3! +#endif // ############################### MOTOR CONTROL ######################### // Control selections @@ -246,10 +256,12 @@ #define RATE 480 // 30.0f [-] lower value == slower rate [0, 32767] = [0.0, 2047.9375]. Do NOT make rate negative (>32767) // Value of FILTER is in fixdt(0,16,16): VAL_fixedPoint = VAL_floatingPoint * 2^16. In this case 6553 = 0.1 * 2^16 -#define FILTER 6553 // 0.1f [-] lower value == softer filter [0, 65535] = [0.0 - 1.0]. +#ifndef VARIANT_NUNCHUCK + #define FILTER 6553 // 0.1f [-] lower value == softer filter [0, 65535] = [0.0 - 1.0]. +#endif // ################################# DEFAULT SETTINGS ############################ -#if !defined(HOVERCAR) && !defined(TRANSPOTTER) +#if !defined(VARIANT_HOVERCAR) && !defined(VARIANT_TRANSPOTTER) && !defined(VARIANT_NUNCHUCK) // Value of COEFFICIENT is in fixdt(1,16,14) // If VAL_floatingPoint >= 0, VAL_fixedPoint = VAL_floatingPoint * 2^14 // If VAL_floatingPoint < 0, VAL_fixedPoint = 2^16 + floor(VAL_floatingPoint * 2^14). @@ -260,8 +272,8 @@ #define INVERT_L_DIRECTION #endif -// ################################# HOVERCAR SETTINGS ############################ -#ifdef HOVERCAR +// ################################# VARIANT_HOVERCAR SETTINGS ############################ +#ifdef VARIANT_HOVERCAR #define SPEED_COEFFICIENT 16384 // 1.0f #define STEER_COEFFICIENT 0 // 0.0f @@ -269,8 +281,8 @@ // #define INVERT_L_DIRECTION #endif -// ################################# TRANSPOTTER SETTINGS ############################ -#ifdef TRANSPOTTER +// ################################# VARIANT_TRANSPOTTER SETTINGS ############################ +#ifdef VARIANT_TRANSPOTTER #define CONTROL_GAMETRAK #define SUPPORT_LCD #define SUPPORT_NUNCHUCK @@ -288,19 +300,27 @@ #define STEER_COEFFICIENT 8192 // 0.5f - higher value == stronger. if you do not want any steering, set it to 0.0; 0.0 to 1.0 #endif +// ################################# VARIANT_NUNCHUCK SETTINGS ############################ +#ifdef VARIANT_NUNCHUCK + // # ARMCHAIR # + #define FILTER 3276 // 0.05f + #define SPEED_COEFFICIENT 8192 // 0.5f + #define STEER_COEFFICIENT 62259 // -0.2f + +#endif + // ################################# SIMPLE BOBBYCAR ################################# // for better bobbycar code see: https://github.com/larsmm/hoverboard-firmware-hack-bbcar // #define FILTER 6553 // 0.1f // #define SPEED_COEFFICIENT 49152 // -1.0f // #define STEER_COEFFICIENT 0 // 0.0f -// ################################# ARMCHAIR ################################# -// #define FILTER 3276 // 0.05f -// #define SPEED_COEFFICIENT 8192 // 0.5f -// #define STEER_COEFFICIENT 62259 // -0.2f - // ############################### VALIDATE SETTINGS ############################### +#if !defined(VARIANT_ADC) && !defined(VARIANT_USART3) && !defined(VARIANT_HOVERCAR) && !defined(VARIANT_TRANSPOTTER) && !defined(VARIANT_NUNCHUCK) && !defined(VARIANT_PPM) + #error Variant not defined! Please check platformio.ini or inc/config.h for available variants. +#endif + #if defined(CONTROL_SERIAL_USART2) && defined(CONTROL_SERIAL_USART3) #error CONTROL_SERIAL_USART2 and CONTROL_SERIAL_USART3 not allowed, choose one. #endif @@ -350,3 +370,7 @@ #warning ADC2 Protection NOT possible! Adjust the ADC thresholds. #undef ADC_PROTECT_ENA #endif + +#if defined(CONTROL_PPM) && !defined(PPM_NUM_CHANNELS) + #error Total number of PPM channels needs to be set +#endif \ No newline at end of file diff --git a/Makefile b/Makefile index b7f0ce3..fc7f4fe 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,8 @@ startup_stm32f103xe.s ####################################### # binaries ####################################### -PREFIX = arm-none-eabi- +#PREFIX = arm-none-eabi- +PREFIX = gcc-arm-none-eabi-7/bin/arm-none-eabi- CC = $(PREFIX)gcc AS = $(PREFIX)gcc -x assembler-with-cpp CP = $(PREFIX)objcopy diff --git a/README.md b/README.md index fab1767..271cdbe 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,8 @@ Nunchuck not working: Use the right one of the 2 types of nunchucks. Use i2c pul Nunchuck or PPM working bad: The i2c bus and PPM signal are very sensitive to emv distortions of the motor controller. They get stronger the faster you are. Keep cables short, use shielded cable, use ferrits, stabilize voltage in nunchuck or reviever, add i2c pullups. To many errors leads to very high accelerations which triggers the protection board within the battery to shut everything down. +Recommendation: Nunchuck Breakout Board https://github.com/Jan--Henrik/hoverboard-breakout + Most robust way for input is to use the ADC and potis. It works well even on 1m unshielded cable. Solder ~100k Ohm resistors between ADC-inputs and gnd directly on the mainboard. Use potis as pullups to 3.3V. --- diff --git a/Src/main.c b/Src/main.c index a3743fd..60d09da 100644 --- a/Src/main.c +++ b/Src/main.c @@ -31,7 +31,7 @@ #include "hd44780.h" #endif -#ifdef TRANSPOTTER +#ifdef VARIANT_TRANSPOTTER #include "eeprom.h" #endif @@ -71,7 +71,7 @@ extern volatile adc_buf_t adc_buffer; LCD_PCF8574_HandleTypeDef lcd; #endif extern I2C_HandleTypeDef hi2c2; -#ifndef TRANSPOTTER +#ifndef VARIANT_TRANSPOTTER extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart3; static UART_HandleTypeDef huart; @@ -81,7 +81,7 @@ extern I2C_HandleTypeDef hi2c2; extern uint8_t LCDerrorFlag; #endif -#ifdef TRANSPOTTER +#ifdef VARIANT_TRANSPOTTER uint8_t nunchuck_connected = 0; float steering; int feedforward; @@ -142,14 +142,14 @@ uint8_t ctrlModReq = CTRL_MOD_REQ; // Final control mode request static int cmd1; // normalized input value. -1000 to 1000 static int cmd2; // normalized input value. -1000 to 1000 static int16_t speed; // local variable for speed. -1000 to 1000 -#ifndef TRANSPOTTER +#ifndef VARIANT_TRANSPOTTER static int16_t steer; // local variable for steering. -1000 to 1000 static int16_t steerRateFixdt; // local fixed-point variable for steering rate limiter static int16_t speedRateFixdt; // local fixed-point variable for speed rate limiter static int32_t steerFixdt; // local fixed-point variable for steering low-pass filter static int32_t speedFixdt; // local fixed-point variable for speed low-pass filter #endif -#ifdef HOVERCAR +#ifdef VARIANT_HOVERCAR static MultipleTap MultipleTapBreak; // define multiple tap functionality for the Break pedal #endif static int16_t speedAvg; // average measured speed @@ -267,7 +267,7 @@ int main(void) { HAL_GPIO_WritePin(LED_PORT, LED_PIN, 1); - #ifdef TRANSPOTTER + #ifdef VARIANT_TRANSPOTTER int lastDistance = 0; enable = 1; uint8_t checkRemote = 0; @@ -324,7 +324,7 @@ int main(void) { LCD_ClearDisplay(&lcd); HAL_Delay(5); LCD_SetLocation(&lcd, 0, 0); - #ifdef TRANSPOTTER + #ifdef VARIANT_TRANSPOTTER LCD_WriteString(&lcd, "TranspOtter V2.1"); #else LCD_WriteString(&lcd, "Hover V2.0"); @@ -333,7 +333,7 @@ int main(void) { LCD_WriteString(&lcd, "Initializing..."); #endif - #if defined(TRANSPOTTER) && defined(SUPPORT_LCD) + #if defined(VARIANT_TRANSPOTTER) && defined(SUPPORT_LCD) LCD_ClearDisplay(&lcd); HAL_Delay(5); LCD_SetLocation(&lcd, 0, 1); @@ -363,7 +363,7 @@ int main(void) { while(1) { HAL_Delay(DELAY_IN_MAIN_LOOP); //delay in ms - #ifdef TRANSPOTTER + #ifdef VARIANT_TRANSPOTTER if(HAL_GPIO_ReadPin(BUTTON_PORT, BUTTON_PIN)) { enable = 0; while(HAL_GPIO_ReadPin(BUTTON_PORT, BUTTON_PIN)) { @@ -559,7 +559,7 @@ int main(void) { } speedAvgAbs = abs(speedAvg); - #ifndef TRANSPOTTER + #ifndef VARIANT_TRANSPOTTER // ####### MOTOR ENABLING: Only if the initial input is very small (for SAFETY) ####### if (enable == 0 && (!errCode_Left && !errCode_Right) && (cmd1 > -50 && cmd1 < 50) && (cmd2 > -50 && cmd2 < 50)){ shortBeep(6); // make 2 beeps indicating the motor enable @@ -567,8 +567,8 @@ int main(void) { enable = 1; // enable motors } - // ####### HOVERCAR ####### - #ifdef HOVERCAR + // ####### VARIANT_HOVERCAR ####### + #ifdef VARIANT_HOVERCAR // Calculate speed Blend, a number between [0, 1] in fixdt(0,16,15) uint16_t speedBlend; speedBlend = (uint16_t)(((CLAMP(speedAvgAbs,30,90) - 30) << 15) / 60); // speedBlend [0,1] is within [30 rpm, 90rpm] @@ -599,8 +599,8 @@ int main(void) { steer = (int16_t)(steerFixdt >> 20); // convert fixed-point to integer speed = (int16_t)(speedFixdt >> 20); // convert fixed-point to integer - // ####### HOVERCAR ####### - #ifdef HOVERCAR + // ####### VARIANT_HOVERCAR ####### + #ifdef VARIANT_HOVERCAR if (!MultipleTapBreak.b_multipleTap) { // Check driving direction speed = steer + speed; // Forward driving } else { @@ -636,7 +636,7 @@ int main(void) { lastSpeedL = speedL; lastSpeedR = speedR; - #ifdef TRANSPOTTER + #ifdef VARIANT_TRANSPOTTER if (timeout > TIMEOUT) { pwml = 0; pwmr = 0; @@ -809,7 +809,7 @@ int main(void) { } } -#ifdef TRANSPOTTER +#ifdef VARIANT_TRANSPOTTER void saveConfig() { HAL_FLASH_Unlock(); EE_WriteVariable(VirtAddVarTab[0], saveValue); diff --git a/platformio.ini b/platformio.ini index 847e647..0e017b7 100644 --- a/platformio.ini +++ b/platformio.ini @@ -6,10 +6,13 @@ include_dir = Inc src_dir = Src ;=================== VARIANT SELECTION ========================== -default_envs = VARIANT_ADC ; Variant for control via ADC input +default_envs = UNDEFINED ; +;default_envs = VARIANT_ADC ; Variant for control via ADC input ;default_envs = VARIANT_USART3 ; Variant for Serial control via USART3 input -;default_envs = HOVERCAR ; Variant for HOVERCAR build -;default_envs = TRANSPOTTER ; Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng +;default_envs = VARIANT_HOVERCAR ; Variant for HOVERCAR build +;default_envs = VARIANT_TRANSPOTTER ; Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng +;default_envs = VARIANT_NUNCHUCK ; Variant for Nunchuck controlled vehicle build +;default_envs = VARIANT_PPM ; Variant for RC-Remotes with PPM-Sum signal ;================================================================ [env:VARIANT_ADC] @@ -33,6 +36,7 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_ADC + -D PALTFORMIO [env:VARIANT_USART3] platform = ststm32 @@ -55,8 +59,9 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_USART3 + -D PALTFORMIO -[env:HOVERCAR] +[env:VARIANT_HOVERCAR] platform = ststm32 framework = stm32cube board = genericSTM32F103RC @@ -76,9 +81,10 @@ build_flags = -Wl,-lm -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys - -D HOVERCAR + -D VARIANT_HOVERCAR + -D PALTFORMIO -[env:TRANSPOTTER] +[env:VARIANT_TRANSPOTTER] platform = ststm32 framework = stm32cube board = genericSTM32F103RC @@ -94,4 +100,43 @@ build_flags = -Wl,-lm -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys - -D TRANSPOTTER \ No newline at end of file + -D VARIANT_TRANSPOTTER + -D PALTFORMIO + +[env:VARIANT_NUNCHUCK] +platform = ststm32 +framework = stm32cube +board = genericSTM32F103RC +debug_tool = stlink +upload_protocol = stlink + +build_flags = + -I${PROJECT_DIR}/inc/ + -DUSE_HAL_DRIVER + -DSTM32F103xE + -Wl,-T./STM32F103RCTx_FLASH.ld + -Wl,-lc + -Wl,-lm + -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization +# -Wl,-lnosys + -D VARIANT_NUNCHUCK + -D PALTFORMIO + +[env:VARIANT_PPM] +platform = ststm32 +framework = stm32cube +board = genericSTM32F103RC +debug_tool = stlink +upload_protocol = stlink + +build_flags = + -I${PROJECT_DIR}/inc/ + -DUSE_HAL_DRIVER + -DSTM32F103xE + -Wl,-T./STM32F103RCTx_FLASH.ld + -Wl,-lc + -Wl,-lm + -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization +# -Wl,-lnosys + -D VARIANT_PPM + -D PALTFORMIO \ No newline at end of file From b12642aabc5f1736c1a435204ba80a6b87ff0f15 Mon Sep 17 00:00:00 2001 From: kai Date: Sat, 4 Jan 2020 01:04:57 +0100 Subject: [PATCH 05/26] reverse PREFIX = arm-none-eabi- as default ; --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index fc7f4fe..897c341 100644 --- a/Makefile +++ b/Makefile @@ -55,8 +55,8 @@ startup_stm32f103xe.s ####################################### # binaries ####################################### -#PREFIX = arm-none-eabi- -PREFIX = gcc-arm-none-eabi-7/bin/arm-none-eabi- +PREFIX = arm-none-eabi- +#PREFIX = gcc-arm-none-eabi-7/bin/arm-none-eabi- CC = $(PREFIX)gcc AS = $(PREFIX)gcc -x assembler-with-cpp CP = $(PREFIX)objcopy From ce59911dd46d4860b709509597c973470c9a8566 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 13:04:49 +0100 Subject: [PATCH 06/26] try to fix travis --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a6a556b..2084e23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,6 +45,8 @@ matrix: - name: platformio script: platformio run -e VARIANT_ADC -e VARIANT_USART3 -e VARIANT_HOVERCAR -e VARIANT_TRANSPOTTER -e VARIANT_NUNCHUCK -e VARIANT_PPM + env: + - default_envs=VARIANT_ADC language: python python: - "2.7" From 2e43550fece9eb3fa1c1e6331a5c04e970a20036 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 13:07:21 +0100 Subject: [PATCH 07/26] try to fix travis --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2084e23..f50515a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ notifications: email: true + +os: linux -sudo: false - -matrix: +jobs: fast_finish: true include: From f35d11041c2bcbc0d5e224c1575f7e4314c810fc Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 13:08:18 +0100 Subject: [PATCH 08/26] VARIANT changes --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 271cdbe..21bbe56 100644 --- a/README.md +++ b/README.md @@ -151,13 +151,15 @@ Recommendation: Nunchuck Breakout Board https://github.com/Jan--Henrik/hoverboar Most robust way for input is to use the ADC and potis. It works well even on 1m unshielded cable. Solder ~100k Ohm resistors between ADC-inputs and gnd directly on the mainboard. Use potis as pullups to 3.3V. --- -## Examples +## Example variants -This firmware offers currently 4 variants (selectable in platformio.ino): +This firmware offers currently these variants (selectable in [platformio.ini](//platformio.ini) and / or config.h): - **VARIANT_ADC**: In this variant the motors are controlled by two potentiometers connected to the Left sensor cable (long wired) -- **VARIANT_USART3**: In this variant the motors are controlled via Serial protocol on USART3 Right sensor cable (short wired). The commands can be sent from an Arduino. Check out the [hoverserial.ino](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/02_Arduino/hoverserial) as an example sketch. -- **HOVERCAR**: In this variant the motors are controlled by two pedals Brake and Throttle. Reverse is engaged by double tapping on the Brake pedal at standstill. -- **TRANSPOTTER**: This build is for Transpotter which is a hoverboard based transportation system. For more details on how to build it check [here](https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter) and [here](https://hackaday.io/project/161891-transpotter-ng). +- **VARIANT_USART3**: In this variant the motors are controlled via serial protocol on USART3 right sensor cable (short wired). The commands can be sent from an Arduino. Check out the [hoverserial.ino](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/02_Arduino/hoverserial) as an example sketch. +- **VARIANT_HOVERCAR**: In this variant the motors are controlled by two pedals brake and throttle. Reverse is engaged by double tapping on the brake pedal at standstill. +- **VARIANT_TRANSPOTTER**: This build is for transpotter which is a hoverboard based transportation system. For more details on how to build it check [here](https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter) and [here](https://hackaday.io/project/161891-transpotter-ng). +- **VARIANT_NUNCHUCK**: Wii Nunchuck offers one hand control for throttle, braking and steering. This was one of the first input device used for electric armchairs or bottle crates. +- **VARIANT_PPM**: This is when you want to use a RC remote control with PPM Sum singnal Of course the firmware can be further customized for other needs or projects. From 7f01b16b6325f7e3bccfb51736c2807a8a6942bc Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 13:10:41 +0100 Subject: [PATCH 09/26] link to repo file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 21bbe56..12d7f28 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ Most robust way for input is to use the ADC and potis. It works well even on 1m --- ## Example variants -This firmware offers currently these variants (selectable in [platformio.ini](//platformio.ini) and / or config.h): +This firmware offers currently these variants (selectable in [platformio.ini](platformio.ini) and / or [config.h](/Inc/config.h)): - **VARIANT_ADC**: In this variant the motors are controlled by two potentiometers connected to the Left sensor cable (long wired) - **VARIANT_USART3**: In this variant the motors are controlled via serial protocol on USART3 right sensor cable (short wired). The commands can be sent from an Arduino. Check out the [hoverserial.ino](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/02_Arduino/hoverserial) as an example sketch. - **VARIANT_HOVERCAR**: In this variant the motors are controlled by two pedals brake and throttle. Reverse is engaged by double tapping on the brake pedal at standstill. From af3309f01ba0fe0bfab7ca2b3e61c2e0d601b5a7 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 14:02:22 +0100 Subject: [PATCH 10/26] try to fix travis check --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f50515a..c0f71b0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ notifications: email: true - + os: linux jobs: @@ -26,7 +26,7 @@ jobs: before_script: arm-none-eabi-gcc --version - name: make (gcc-arm-none-eabi-5) - script: make + script: make -e VARIANT_ADC language: c addons: apt: @@ -46,7 +46,7 @@ jobs: - name: platformio script: platformio run -e VARIANT_ADC -e VARIANT_USART3 -e VARIANT_HOVERCAR -e VARIANT_TRANSPOTTER -e VARIANT_NUNCHUCK -e VARIANT_PPM env: - - default_envs=VARIANT_ADC + - PLATFORMIO_DEFAULT_ENVS=VARIANT_ADC language: python python: - "2.7" From c49bbdeacd4e8c65033b82199ba50fd460ab9700 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 14:28:02 +0100 Subject: [PATCH 11/26] all for travis --- .travis.yml | 6 ++---- Inc/config.h | 4 ++-- README.md | 20 ++++++++++---------- platformio.ini | 4 +++- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index c0f71b0..412ed1c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,9 +44,7 @@ jobs: before_script: arm-none-eabi-gcc --version - name: platformio - script: platformio run -e VARIANT_ADC -e VARIANT_USART3 -e VARIANT_HOVERCAR -e VARIANT_TRANSPOTTER -e VARIANT_NUNCHUCK -e VARIANT_PPM - env: - - PLATFORMIO_DEFAULT_ENVS=VARIANT_ADC + script: platformio run language: python python: - "2.7" @@ -54,4 +52,4 @@ jobs: - pip install -U platformio - platformio update cache: - - directories: "~/.platformio" + - directories: "~/.platformio" \ No newline at end of file diff --git a/Inc/config.h b/Inc/config.h index dbe955f..fb9e198 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -145,7 +145,7 @@ // ###### CONTROL VIA RC REMOTE ###### // left sensor board cable. Channel 1: steering, Channel 2: speed. #define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! -//#define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. +#define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. #endif // ###### CONTROL VIA TWO POTENTIOMETERS ###### @@ -318,7 +318,7 @@ // ############################### VALIDATE SETTINGS ############################### #if !defined(VARIANT_ADC) && !defined(VARIANT_USART3) && !defined(VARIANT_HOVERCAR) && !defined(VARIANT_TRANSPOTTER) && !defined(VARIANT_NUNCHUCK) && !defined(VARIANT_PPM) - #error Variant not defined! Please check platformio.ini or inc/config.h for available variants. + #error Variant not defined! Please check platformio.ini or Inc/config.h for available variants. #endif #if defined(CONTROL_SERIAL_USART2) && defined(CONTROL_SERIAL_USART3) diff --git a/README.md b/README.md index 12d7f28..3f3b77f 100644 --- a/README.md +++ b/README.md @@ -25,17 +25,17 @@ The main firmware architecture includes: - **FOC Algorithm**: implements the FOC strategy - **Control Type Manager**: Manages the transition between Commutation, Sinusoidal, and FOC control type -![Firmware architecture](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/FW_architecture.png) +![Firmware architecture](/docs/pictures/FW_architecture.png) The FOC algorithm architecture is illustrated in the figure below: -![FOC algorithm](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/FOC_algorithm.png) +![FOC algorithm](/docs/pictures/FOC_algorithm.png) In this firmware 3 control types are available: - Commutation - SIN (Sinusoidal) - FOC (Field Oriented Control) -![Schematic representation of the available control methods](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/01_Matlab/02_Figures/control_methods.png) +![Schematic representation of the available control methods](/01_Matlab/02_Figures/control_methods.png) Demo videos: @@ -48,13 +48,13 @@ Demo videos: [â–ºVideo: HOVERCAR demo](https://drive.google.com/open?id=18IvRJVdQSsjTg1I0Wedlg19e0FuDjfdS) -![Hoverboard wheel](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/hoverboard_wheel.JPG) +![Hoverboard wheel](/docs/pictures/hoverboard_wheel.JPG) --- ## General Notes - - The C code for the controller was auto-code generated using [Matlab/Simulink](https://nl.mathworks.com/solutions/embedded-code-generation.html) from a model which I developed from scratch specifically for hoverboard control. For more details regarding the working principle of the controller please consult the [Matlab/Simulink model](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab). - - A [webview](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab/BLDC_controller_ert_rtw/html/webview) was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code. The webview is an html page that can be opened with browsers like: Microsoft Internet Explorer or Microsoft Edge. + - The C code for the controller was auto-code generated using [Matlab/Simulink](https://nl.mathworks.com/solutions/embedded-code-generation.html) from a model which I developed from scratch specifically for hoverboard control. For more details regarding the working principle of the controller please consult the [Matlab/Simulink model](/01_Matlab). + - A [webview](/01_Matlab/BLDC_controller_ert_rtw/html/webview) was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code. The webview is an html page that can be opened with browsers like: Microsoft Internet Explorer or Microsoft Edge. ### Field Weakening / Phase Advance @@ -62,7 +62,7 @@ Demo videos: - The Field Weakening is a linear interpolation from 0 to FIELD_WEAK_MAX or PHASE_ADV_MAX (depeding if FOC or SIN is selected, respectively) - The Field Weakening starts engaging at FIELD_WEAK_LO and reaches the maximum value at FIELD_WEAK_HI - The figure below shows different possible calibrations for Field Weakening / Phase Advance - ![Field Weakening](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/FieldWeakening.png) + ![Field Weakening](/docs/pictures/FieldWeakening.png) - If you re-calibrate the Field Weakening please take all the safety measures! The motors can spin very fast! @@ -72,7 +72,7 @@ Demo videos: - For calibrating the fixed-point parameters use the [Fixed-Point Viewer](https://github.com/EmanuelFeru/FixedPointViewer) tool - The parameters data Fixed-point types are given in the following table: -![Parameters table](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/paramTable.png) +![Parameters table](/docs/pictures/paramTable.png) ### Diagnostics @@ -153,9 +153,9 @@ Most robust way for input is to use the ADC and potis. It works well even on 1m --- ## Example variants -This firmware offers currently these variants (selectable in [platformio.ini](platformio.ini) and / or [config.h](/Inc/config.h)): +This firmware offers currently these variants (selectable in [platformio.ini](/platformio.ini) and / or [/Inc/config.h](/Inc/config.h)): - **VARIANT_ADC**: In this variant the motors are controlled by two potentiometers connected to the Left sensor cable (long wired) -- **VARIANT_USART3**: In this variant the motors are controlled via serial protocol on USART3 right sensor cable (short wired). The commands can be sent from an Arduino. Check out the [hoverserial.ino](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/02_Arduino/hoverserial) as an example sketch. +- **VARIANT_USART3**: In this variant the motors are controlled via serial protocol on USART3 right sensor cable (short wired). The commands can be sent from an Arduino. Check out the [hoverserial.ino](/02_Arduino/hoverserial) as an example sketch. - **VARIANT_HOVERCAR**: In this variant the motors are controlled by two pedals brake and throttle. Reverse is engaged by double tapping on the brake pedal at standstill. - **VARIANT_TRANSPOTTER**: This build is for transpotter which is a hoverboard based transportation system. For more details on how to build it check [here](https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter) and [here](https://hackaday.io/project/161891-transpotter-ng). - **VARIANT_NUNCHUCK**: Wii Nunchuck offers one hand control for throttle, braking and steering. This was one of the first input device used for electric armchairs or bottle crates. diff --git a/platformio.ini b/platformio.ini index 0e017b7..fd04d77 100644 --- a/platformio.ini +++ b/platformio.ini @@ -6,7 +6,9 @@ include_dir = Inc src_dir = Src ;=================== VARIANT SELECTION ========================== -default_envs = UNDEFINED ; +; +; Choose one or all variants get built +; ;default_envs = VARIANT_ADC ; Variant for control via ADC input ;default_envs = VARIANT_USART3 ; Variant for Serial control via USART3 input ;default_envs = VARIANT_HOVERCAR ; Variant for HOVERCAR build From b22094adf7ab4a9a161ff1d57b29b255491fb20b Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:10:02 +0100 Subject: [PATCH 12/26] travis fix --- .travis.yml | 4 ++-- Makefile | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 412ed1c..57b7204 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ jobs: include: - name: make (gcc-arm-none-eabi-7) - script: make + script: make -e VARIANT=VARIANT_ADC language: c addons: apt: @@ -26,7 +26,7 @@ jobs: before_script: arm-none-eabi-gcc --version - name: make (gcc-arm-none-eabi-5) - script: make -e VARIANT_ADC + script: make -e VARIANT=VARIANT_ADC language: c addons: apt: diff --git a/Makefile b/Makefile index 897c341..10f5b6b 100644 --- a/Makefile +++ b/Makefile @@ -55,8 +55,8 @@ startup_stm32f103xe.s ####################################### # binaries ####################################### -PREFIX = arm-none-eabi- -#PREFIX = gcc-arm-none-eabi-7/bin/arm-none-eabi- +#PREFIX = arm-none-eabi- +PREFIX = gcc-arm-none-eabi-7/bin/arm-none-eabi- CC = $(PREFIX)gcc AS = $(PREFIX)gcc -x assembler-with-cpp CP = $(PREFIX)objcopy @@ -111,11 +111,16 @@ ifeq ($(DEBUG), 1) CFLAGS += -g -gdwarf-2 endif +# Choose variant from env var +# make -e VARIANT=VARIANT_ADC + +ifneq ($(VARIANT), ) +CFLAGS += -D $(VARIANT) +endif # Generate dependency information CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" - ####################################### # LDFLAGS ####################################### From 9e02369765aee25886c0fc6c241a75e059a43889 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:21:00 +0100 Subject: [PATCH 13/26] travis --- Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 10f5b6b..ca2f2ed 100644 --- a/Makefile +++ b/Makefile @@ -111,6 +111,9 @@ ifeq ($(DEBUG), 1) CFLAGS += -g -gdwarf-2 endif +# Generate dependency information +CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" + # Choose variant from env var # make -e VARIANT=VARIANT_ADC @@ -118,8 +121,6 @@ ifneq ($(VARIANT), ) CFLAGS += -D $(VARIANT) endif -# Generate dependency information -CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" ####################################### # LDFLAGS From 90b8645b81b7a0bf0babc4cac19c2011f8186714 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:26:59 +0100 Subject: [PATCH 14/26] travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 57b7204..0c4da28 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ notifications: email: true os: linux +sudo: false jobs: fast_finish: true From ccbea9794124bb84d3b916637ba407c544b53e0f Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:29:43 +0100 Subject: [PATCH 15/26] travis --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0c4da28..4a5ed92 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ notifications: email: true - -os: linux + sudo: false jobs: From 7272edddbecb4aa3d7e78c9111835f2ca8392cbc Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:32:33 +0100 Subject: [PATCH 16/26] travis --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4a5ed92..5a8e41b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ notifications: email: true - + +os: linux sudo: false jobs: @@ -8,7 +9,7 @@ jobs: include: - name: make (gcc-arm-none-eabi-7) - script: make -e VARIANT=VARIANT_ADC + script: make language: c addons: apt: From 7ce7e29f349c3a92d7038c8d31ebb16d506670b7 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:37:13 +0100 Subject: [PATCH 17/26] travis --- .travis.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5a8e41b..c17c438 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,14 @@ notifications: email: true -os: linux sudo: false -jobs: +matrix: fast_finish: true include: - name: make (gcc-arm-none-eabi-7) - script: make + script: make -e VARIANT=VARIANT_ADC language: c addons: apt: @@ -27,7 +26,7 @@ jobs: before_script: arm-none-eabi-gcc --version - name: make (gcc-arm-none-eabi-5) - script: make -e VARIANT=VARIANT_ADC + script: make language: c addons: apt: @@ -53,4 +52,4 @@ jobs: - pip install -U platformio - platformio update cache: - - directories: "~/.platformio" \ No newline at end of file + - directories: "~/.platformio" From 51f17192b03604a96d0473898f19af2713b4180a Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:45:22 +0100 Subject: [PATCH 18/26] travis --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ca2f2ed..82bd7aa 100644 --- a/Makefile +++ b/Makefile @@ -55,8 +55,8 @@ startup_stm32f103xe.s ####################################### # binaries ####################################### -#PREFIX = arm-none-eabi- -PREFIX = gcc-arm-none-eabi-7/bin/arm-none-eabi- +PREFIX = arm-none-eabi- +#PREFIX = gcc-arm-none-eabi-7/bin/arm-none-eabi- CC = $(PREFIX)gcc AS = $(PREFIX)gcc -x assembler-with-cpp CP = $(PREFIX)objcopy From 1f8105346c9578f3862c8c6df26af5fad9fc6464 Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 19:48:57 +0100 Subject: [PATCH 19/26] travis --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c17c438..04adda0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,8 @@ matrix: include: - name: make (gcc-arm-none-eabi-7) - script: make -e VARIANT=VARIANT_ADC + script: make + env: VARIANT=VARIANT_ADC language: c addons: apt: @@ -27,6 +28,7 @@ matrix: - name: make (gcc-arm-none-eabi-5) script: make + env: VARIANT=VARIANT_ADC language: c addons: apt: From 574e947cc214164ccf9841c04afe9e537c4590cd Mon Sep 17 00:00:00 2001 From: kai Date: Sun, 5 Jan 2020 20:03:28 +0100 Subject: [PATCH 20/26] travis --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 04adda0..29957e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ notifications: email: true -sudo: false +os: linux -matrix: +jobs: fast_finish: true include: @@ -49,7 +49,7 @@ matrix: script: platformio run language: python python: - - "2.7" + - "2.7" install: - pip install -U platformio - platformio update From a3b6e40fa2aecbb7c5025fc0d5c9601a8ee9dc85 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Tue, 7 Jan 2020 18:09:19 +0100 Subject: [PATCH 21/26] Minor updates - fixed all warnings for VARIANT_NUNCHUCK and VARIANT_PPM - changed the variant order: the basic Variants on top, more application specific in the bottom --- Inc/config.h | 4 ++-- Inc/defines.h | 6 ++++-- Src/main.c | 6 ++++-- Src/stm32f1xx_it.c | 1 + platformio.ini | 44 +++++++++++++++++++++++++++++--------------- 5 files changed, 40 insertions(+), 21 deletions(-) diff --git a/Inc/config.h b/Inc/config.h index fb9e198..20be07f 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -8,10 +8,10 @@ #if !defined(PLATFORMIO) //#define VARIANT_ADC // Variant for control via ADC input //#define VARIANT_USART3 // Variant for Serial control via USART3 input - //#define VARIANT_HOVERCAR // Variant for HOVERCAR build - //#define VARIANT_TRANSPOTTER // Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng //#define VARIANT_NUNCHUCK // Variant for Nunchuck controlled vehicle build //#define VARIANT_PPM // Variant for RC-Remote with PPM-Sum Signal + //#define VARIANT_HOVERCAR // Variant for HOVERCAR build + //#define VARIANT_TRANSPOTTER // Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng #endif // For any particular needs, feel free to change this file according to your needs. diff --git a/Inc/defines.h b/Inc/defines.h index 51462c6..ec5f6bc 100644 --- a/Inc/defines.h +++ b/Inc/defines.h @@ -174,8 +174,10 @@ void mixerFcn(int16_t rtu_speed, int16_t rtu_steer, int16_t *rty_speedR, int16_t void rateLimiter16(int16_t u, int16_t rate, int16_t *y); void multipleTapDet(int16_t u, uint32_t timeNow, MultipleTap *x); -// Define I2C and Nunchuck functions +// Define I2C, Nunchuck, PPM functions void I2C_Init(void); void Nunchuck_Init(void); void Nunchuck_Read(void); -uint8_t Nunchuck_Ping(void); \ No newline at end of file +uint8_t Nunchuck_Ping(void); +void PPM_Init(void); +void PPM_ISR_Callback(void); \ No newline at end of file diff --git a/Src/main.c b/Src/main.c index 60d09da..6d632b5 100644 --- a/Src/main.c +++ b/Src/main.c @@ -71,7 +71,8 @@ extern volatile adc_buf_t adc_buffer; LCD_PCF8574_HandleTypeDef lcd; #endif extern I2C_HandleTypeDef hi2c2; -#ifndef VARIANT_TRANSPOTTER +#if defined(CONTROL_SERIAL_USART2) || defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) \ + || defined(CONTROL_SERIAL_USART3) || defined(FEEDBACK_SERIAL_USART3) || defined(DEBUG_SERIAL_USART3) extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart3; static UART_HandleTypeDef huart; @@ -454,7 +455,8 @@ int main(void) { cmd1 = CLAMP((ppm_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); cmd2 = CLAMP((ppm_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); button1 = ppm_captured_value[5] > INPUT_MID; - float scale = ppm_captured_value[2] / 1000.0f; + button2 = 0; + // float scale = ppm_captured_value[2] / 1000.0f; // not used for now, uncomment if needed #endif #ifdef CONTROL_ADC diff --git a/Src/stm32f1xx_it.c b/Src/stm32f1xx_it.c index 8ca24ee..9de1ee7 100644 --- a/Src/stm32f1xx_it.c +++ b/Src/stm32f1xx_it.c @@ -34,6 +34,7 @@ #include "stm32f1xx_hal.h" #include "stm32f1xx.h" #include "stm32f1xx_it.h" +#include "defines.h" #include "config.h" extern DMA_HandleTypeDef hdma_i2c2_rx; diff --git a/platformio.ini b/platformio.ini index fd04d77..7e2efea 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,10 +11,12 @@ src_dir = Src ; ;default_envs = VARIANT_ADC ; Variant for control via ADC input ;default_envs = VARIANT_USART3 ; Variant for Serial control via USART3 input -;default_envs = VARIANT_HOVERCAR ; Variant for HOVERCAR build -;default_envs = VARIANT_TRANSPOTTER ; Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng ;default_envs = VARIANT_NUNCHUCK ; Variant for Nunchuck controlled vehicle build ;default_envs = VARIANT_PPM ; Variant for RC-Remotes with PPM-Sum signal +;default_envs = VARIANT_HOVERCAR ; Variant for HOVERCAR build +;default_envs = VARIANT_TRANSPOTTER ; Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng +;================================================================ + ;================================================================ [env:VARIANT_ADC] @@ -40,6 +42,8 @@ build_flags = -D VARIANT_ADC -D PALTFORMIO +;================================================================ + [env:VARIANT_USART3] platform = ststm32 framework = stm32cube @@ -63,17 +67,15 @@ build_flags = -D VARIANT_USART3 -D PALTFORMIO -[env:VARIANT_HOVERCAR] +;================================================================ + +[env:VARIANT_NUNCHUCK] platform = ststm32 framework = stm32cube board = genericSTM32F103RC debug_tool = stlink upload_protocol = stlink -; Serial Port settings (make sure the COM port is correct) -monitor_port = COM5 -monitor_speed = 38400 - build_flags = -I${PROJECT_DIR}/inc/ -DUSE_HAL_DRIVER @@ -83,10 +85,12 @@ build_flags = -Wl,-lm -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys - -D VARIANT_HOVERCAR + -D VARIANT_NUNCHUCK -D PALTFORMIO -[env:VARIANT_TRANSPOTTER] +;================================================================ + +[env:VARIANT_PPM] platform = ststm32 framework = stm32cube board = genericSTM32F103RC @@ -102,16 +106,22 @@ build_flags = -Wl,-lm -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys - -D VARIANT_TRANSPOTTER + -D VARIANT_PPM -D PALTFORMIO -[env:VARIANT_NUNCHUCK] +;================================================================ + +[env:VARIANT_HOVERCAR] platform = ststm32 framework = stm32cube board = genericSTM32F103RC debug_tool = stlink upload_protocol = stlink +; Serial Port settings (make sure the COM port is correct) +monitor_port = COM5 +monitor_speed = 38400 + build_flags = -I${PROJECT_DIR}/inc/ -DUSE_HAL_DRIVER @@ -121,10 +131,12 @@ build_flags = -Wl,-lm -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys - -D VARIANT_NUNCHUCK + -D VARIANT_HOVERCAR -D PALTFORMIO -[env:VARIANT_PPM] +;================================================================ + +[env:VARIANT_TRANSPOTTER] platform = ststm32 framework = stm32cube board = genericSTM32F103RC @@ -140,5 +152,7 @@ build_flags = -Wl,-lm -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys - -D VARIANT_PPM - -D PALTFORMIO \ No newline at end of file + -D VARIANT_TRANSPOTTER + -D PALTFORMIO + +;================================================================ \ No newline at end of file From faca885c9aa6a7543c69e7365e5e46d4d273b191 Mon Sep 17 00:00:00 2001 From: Candas1 Date: Tue, 7 Jan 2020 21:01:17 +0100 Subject: [PATCH 22/26] Add FLYSKY IBUS support --- Inc/config.h | 27 +++++++++++++++++++++------ Src/main.c | 45 +++++++++++++++++++++++++++++++++++++-------- platformio.ini | 22 ++++++++++++++++++++++ 3 files changed, 80 insertions(+), 14 deletions(-) diff --git a/Inc/config.h b/Inc/config.h index 20be07f..fc441d7 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -133,6 +133,21 @@ // #define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! #endif +#ifdef VARIANT_IBUS + // ###### CONTROL VIA RC REMOTE WITH FLYSKY IBUS PROTOCOL ###### + // left sensor board cable. Channel 1: steering, Channel 2: speed. + #define CONTROL_IBUS // use IBUS as input + #define IBUS_NUM_CHANNELS 14 // total number of IBUS channels to receive, even if they are not used. + #define IBUS_LENGTH 0x20 + #define IBUS_COMMAND 0x40 + + #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! For Arduino control check the hoverSerial.ino + #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! + #undef USART2_BAUD + #define USART2_BAUD 115200 +#endif + + #if defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) #define UART_DMA_CHANNEL DMA1_Channel7 #endif @@ -142,11 +157,11 @@ #endif #ifdef VARIANT_PPM -// ###### CONTROL VIA RC REMOTE ###### -// left sensor board cable. Channel 1: steering, Channel 2: speed. -#define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! -#define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. -#endif + // ###### CONTROL VIA RC REMOTE ###### + // left sensor board cable. Channel 1: steering, Channel 2: speed. + #define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! + #define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. +#endif // ###### CONTROL VIA TWO POTENTIOMETERS ###### /* ADC-calibration to cover the full poti-range: @@ -317,7 +332,7 @@ // ############################### VALIDATE SETTINGS ############################### -#if !defined(VARIANT_ADC) && !defined(VARIANT_USART3) && !defined(VARIANT_HOVERCAR) && !defined(VARIANT_TRANSPOTTER) && !defined(VARIANT_NUNCHUCK) && !defined(VARIANT_PPM) +#if !defined(VARIANT_ADC) && !defined(VARIANT_USART3) && !defined(VARIANT_HOVERCAR) && !defined(VARIANT_TRANSPOTTER) && !defined(VARIANT_NUNCHUCK) && !defined(VARIANT_PPM)&& !defined(VARIANT_IBUS) #error Variant not defined! Please check platformio.ini or Inc/config.h for available variants. #endif diff --git a/Src/main.c b/Src/main.c index 6d632b5..c7a1c07 100644 --- a/Src/main.c +++ b/Src/main.c @@ -106,12 +106,25 @@ static int16_t timeoutCntADC = 0; // Timeout counter for ADC Protection static uint8_t timeoutFlagADC = 0; // Timeout Flag for for ADC Protection: 0 = OK, 1 = Problem detected (line disconnected or wrong ADC data) #if defined(CONTROL_SERIAL_USART2) || defined(CONTROL_SERIAL_USART3) -typedef struct{ - uint16_t start; - int16_t steer; - int16_t speed; - uint16_t checksum; -} Serialcommand; + #ifdef CONTROL_IBUS + static uint16_t ibus_chksum; + static uint16_t ibus_captured_value[IBUS_NUM_CHANNELS]; + + typedef struct{ + uint8_t start; + uint8_t type; + uint8_t channels[IBUS_NUM_CHANNELS*2]; + uint8_t checksuml; + uint8_t checksumh; + } Serialcommand; + #elif + typedef struct{ + uint16_t start; + int16_t steer; + int16_t speed; + uint16_t checksum; + } Serialcommand; + #endif static volatile Serialcommand command; static int16_t timeoutCntSerial = 0; // Timeout counter for Rx Serial command #endif @@ -510,13 +523,29 @@ int main(void) { #if defined CONTROL_SERIAL_USART2 || defined CONTROL_SERIAL_USART3 // Handle received data validity, timeout and fix out-of-sync if necessary - if (command.start == START_FRAME && command.checksum == (uint16_t)(command.start ^ command.steer ^ command.speed)) { + #ifdef CONTROL_IBUS + ibus_chksum = 0xFFFF - IBUS_LENGTH - IBUS_COMMAND; + for (uint8_t i = 0; i < (IBUS_NUM_CHANNELS * 2); i ++) { + ibus_chksum -= command.channels[i]; + } + if (command.start == IBUS_LENGTH && command.type == IBUS_COMMAND && ibus_chksum == ( command.checksumh << 8) + command.checksuml ) { + #elif + if (command.start == START_FRAME && command.checksum == (uint16_t)(command.start ^ command.steer ^ command.speed)) { + #endif if (timeoutFlagSerial) { // Check for previous timeout flag if (timeoutCntSerial-- <= 0) // Timeout de-qualification timeoutFlagSerial = 0; // Timeout flag cleared } else { + #ifdef CONTROL_IBUS + for (uint8_t i = 0; i < (IBUS_NUM_CHANNELS * 2); i +=2) { + ibus_captured_value[(i/2)] = CLAMP( command.channels[i] + (command.channels[i+1] << 8) - 1000, INPUT_MIN, INPUT_MAX); + } + cmd1 = CLAMP((ibus_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); + cmd2 = CLAMP((ibus_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); + #elif cmd1 = CLAMP((int16_t)command.steer, INPUT_MIN, INPUT_MAX); - cmd2 = CLAMP((int16_t)command.speed, INPUT_MIN, INPUT_MAX); + cmd2 = CLAMP((int16_t)command.speed, INPUT_MIN, INPUT_MAX); + #endif command.start = 0xFFFF; // Change the Start Frame for timeout detection in the next cycle timeoutCntSerial = 0; // Reset the timeout counter } diff --git a/platformio.ini b/platformio.ini index 7e2efea..619005d 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,6 +13,7 @@ src_dir = Src ;default_envs = VARIANT_USART3 ; Variant for Serial control via USART3 input ;default_envs = VARIANT_NUNCHUCK ; Variant for Nunchuck controlled vehicle build ;default_envs = VARIANT_PPM ; Variant for RC-Remotes with PPM-Sum signal +;default_envs = VARIANT_IBUS ; Variant for RC-Remotes with FLYSKY IBUS ;default_envs = VARIANT_HOVERCAR ; Variant for HOVERCAR build ;default_envs = VARIANT_TRANSPOTTER ; Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng ;================================================================ @@ -111,6 +112,27 @@ build_flags = ;================================================================ +[env:VARIANT_IBUS] +platform = ststm32 +framework = stm32cube +board = genericSTM32F103RC +debug_tool = stlink +upload_protocol = stlink + +build_flags = + -I${PROJECT_DIR}/inc/ + -DUSE_HAL_DRIVER + -DSTM32F103xE + -Wl,-T./STM32F103RCTx_FLASH.ld + -Wl,-lc + -Wl,-lm + -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization +# -Wl,-lnosys + -D VARIANT_IBUS + -D PALTFORMIO + +;================================================================ + [env:VARIANT_HOVERCAR] platform = ststm32 framework = stm32cube From 4f8aafe3f00b74f3081990df8cd813573d62a471 Mon Sep 17 00:00:00 2001 From: Candas1 Date: Tue, 7 Jan 2020 21:13:22 +0100 Subject: [PATCH 23/26] Use defined macros for min max values --- Src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/main.c b/Src/main.c index c7a1c07..76c5ed5 100644 --- a/Src/main.c +++ b/Src/main.c @@ -538,7 +538,7 @@ int main(void) { } else { #ifdef CONTROL_IBUS for (uint8_t i = 0; i < (IBUS_NUM_CHANNELS * 2); i +=2) { - ibus_captured_value[(i/2)] = CLAMP( command.channels[i] + (command.channels[i+1] << 8) - 1000, INPUT_MIN, INPUT_MAX); + ibus_captured_value[(i/2)] = CLAMP( command.channels[i] + (command.channels[i+1] << 8) - 1000, 0, INPUT_MAX); // 1000-2000 -> 0-1000 } cmd1 = CLAMP((ibus_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); cmd2 = CLAMP((ibus_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); From c3a40f64546543dbfe25989c54dfc39335ae5b51 Mon Sep 17 00:00:00 2001 From: Candas1 Date: Tue, 7 Jan 2020 22:06:31 +0100 Subject: [PATCH 24/26] Replacing #elif by #else --- Src/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Src/main.c b/Src/main.c index 76c5ed5..cf228c1 100644 --- a/Src/main.c +++ b/Src/main.c @@ -117,7 +117,7 @@ static uint8_t timeoutFlagADC = 0; // Timeout Flag for for ADC Protection: 0 = uint8_t checksuml; uint8_t checksumh; } Serialcommand; - #elif + #else typedef struct{ uint16_t start; int16_t steer; @@ -529,7 +529,7 @@ int main(void) { ibus_chksum -= command.channels[i]; } if (command.start == IBUS_LENGTH && command.type == IBUS_COMMAND && ibus_chksum == ( command.checksumh << 8) + command.checksuml ) { - #elif + #else if (command.start == START_FRAME && command.checksum == (uint16_t)(command.start ^ command.steer ^ command.speed)) { #endif if (timeoutFlagSerial) { // Check for previous timeout flag @@ -542,7 +542,7 @@ int main(void) { } cmd1 = CLAMP((ibus_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); cmd2 = CLAMP((ibus_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); - #elif + #else cmd1 = CLAMP((int16_t)command.steer, INPUT_MIN, INPUT_MAX); cmd2 = CLAMP((int16_t)command.speed, INPUT_MIN, INPUT_MAX); #endif @@ -1040,4 +1040,4 @@ void SystemClock_Config(void) { /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); -} \ No newline at end of file +} From d2c846cda970d3c167978ee8befd4d2a9a462742 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Wed, 8 Jan 2020 19:16:34 +0100 Subject: [PATCH 25/26] Updated IBUS variant - separated the implementation from USART implementation for more clarity - fixed warnings - minor visual updates --- Inc/config.h | 25 +++++++------- README.md | 5 +-- Src/control.c | 2 -- Src/main.c | 95 +++++++++++++++++++++++++++++---------------------- 4 files changed, 71 insertions(+), 56 deletions(-) diff --git a/Inc/config.h b/Inc/config.h index fc441d7..78425f4 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -10,6 +10,7 @@ //#define VARIANT_USART3 // Variant for Serial control via USART3 input //#define VARIANT_NUNCHUCK // Variant for Nunchuck controlled vehicle build //#define VARIANT_PPM // Variant for RC-Remote with PPM-Sum Signal + //#define VARIANT_IBUS // Variant for RC-Remotes with FLYSKY IBUS //#define VARIANT_HOVERCAR // Variant for HOVERCAR build //#define VARIANT_TRANSPOTTER // Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng #endif @@ -61,7 +62,7 @@ * Then you can verify voltage on value 6 (to get calibrated voltage multiplied by 100). */ #define BAT_FILT_COEF 655 // battery voltage filter coefficient in fixed-point. coef_fixedPoint = coef_floatingPoint * 2^16. In this case 655 = 0.01 * 2^16 -#define BAT_CALIB_REAL_VOLTAGE 3970 // input voltage measured by multimeter (multiplied by 100). In this case 43.00 V * 100 = 4300 +#define BAT_CALIB_REAL_VOLTAGE 3970 // input voltage measured by multimeter (multiplied by 100). For example 43.00 V * 100 = 4300 #define BAT_CALIB_ADC 1492 // adc-value measured by mainboard (value nr 5 on UART debug output) #define BAT_CELLS 10 // battery number of cells. Normal Hoverboard battery: 10s @@ -133,18 +134,18 @@ // #define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! #endif -#ifdef VARIANT_IBUS - // ###### CONTROL VIA RC REMOTE WITH FLYSKY IBUS PROTOCOL ###### - // left sensor board cable. Channel 1: steering, Channel 2: speed. - #define CONTROL_IBUS // use IBUS as input - #define IBUS_NUM_CHANNELS 14 // total number of IBUS channels to receive, even if they are not used. - #define IBUS_LENGTH 0x20 - #define IBUS_COMMAND 0x40 +// ###### CONTROL VIA RC REMOTE WITH FLYSKY IBUS PROTOCOL ###### +/* Connected to Left sensor board cable. Channel 1: steering, Channel 2: speed. */ +#ifdef VARIANT_IBUS + #define CONTROL_IBUS // use IBUS as input + #define IBUS_NUM_CHANNELS 14 // total number of IBUS channels to receive, even if they are not used. + #define IBUS_LENGTH 0x20 + #define IBUS_COMMAND 0x40 - #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! For Arduino control check the hoverSerial.ino - #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! #undef USART2_BAUD - #define USART2_BAUD 115200 + #define USART2_BAUD 115200 + #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! + #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! #endif @@ -156,8 +157,8 @@ #define UART_DMA_CHANNEL DMA1_Channel2 #endif +// ###### CONTROL VIA RC REMOTE ###### #ifdef VARIANT_PPM - // ###### CONTROL VIA RC REMOTE ###### // left sensor board cable. Channel 1: steering, Channel 2: speed. #define CONTROL_PPM // use PPM-Sum as input. disable CONTROL_SERIAL_USART2! #define PPM_NUM_CHANNELS 6 // total number of PPM channels to receive, even if they are not used. diff --git a/README.md b/README.md index 3f3b77f..7a8fd17 100644 --- a/README.md +++ b/README.md @@ -156,10 +156,11 @@ Most robust way for input is to use the ADC and potis. It works well even on 1m This firmware offers currently these variants (selectable in [platformio.ini](/platformio.ini) and / or [/Inc/config.h](/Inc/config.h)): - **VARIANT_ADC**: In this variant the motors are controlled by two potentiometers connected to the Left sensor cable (long wired) - **VARIANT_USART3**: In this variant the motors are controlled via serial protocol on USART3 right sensor cable (short wired). The commands can be sent from an Arduino. Check out the [hoverserial.ino](/02_Arduino/hoverserial) as an example sketch. +- **VARIANT_NUNCHUCK**: Wii Nunchuck offers one hand control for throttle, braking and steering. This was one of the first input device used for electric armchairs or bottle crates. +- **VARIANT_PPM**: This is when you want to use a RC remote control with PPM Sum signal +- **VARIANT_IBUS**: This is when you want to use a RC remote control with Flysky IBUS protocol connected to the Left sensor cable. - **VARIANT_HOVERCAR**: In this variant the motors are controlled by two pedals brake and throttle. Reverse is engaged by double tapping on the brake pedal at standstill. - **VARIANT_TRANSPOTTER**: This build is for transpotter which is a hoverboard based transportation system. For more details on how to build it check [here](https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter) and [here](https://hackaday.io/project/161891-transpotter-ng). -- **VARIANT_NUNCHUCK**: Wii Nunchuck offers one hand control for throttle, braking and steering. This was one of the first input device used for electric armchairs or bottle crates. -- **VARIANT_PPM**: This is when you want to use a RC remote control with PPM Sum singnal Of course the firmware can be further customized for other needs or projects. diff --git a/Src/control.c b/Src/control.c index 4306954..b2f3e66 100644 --- a/Src/control.c +++ b/Src/control.c @@ -112,8 +112,6 @@ void Nunchuck_Read(void) { HAL_Delay(3); if (HAL_I2C_Master_Receive(&hi2c2,0xA4,(uint8_t*)nunchuck_data, 6, 10) == HAL_OK) { timeout = 0; - } else { - timeout++; } #ifndef TRANSPOTTER diff --git a/Src/main.c b/Src/main.c index cf228c1..873ba5e 100644 --- a/Src/main.c +++ b/Src/main.c @@ -145,7 +145,6 @@ typedef struct{ } SerialFeedback; static SerialFeedback Feedback; #endif -static uint8_t serialSendCnt; // serial send counter #if defined(CONTROL_NUNCHUCK) || defined(SUPPORT_NUNCHUCK) || defined(CONTROL_PPM) || defined(CONTROL_ADC) static uint8_t button1, button2; @@ -181,6 +180,7 @@ extern volatile uint32_t timeout; // global variable for timeout extern int16_t batVoltage; // global variable for battery voltage static uint32_t inactivity_timeout_counter; +static uint32_t main_loop_counter; extern uint8_t nunchuck_data[6]; #ifdef CONTROL_PPM @@ -524,50 +524,64 @@ int main(void) { // Handle received data validity, timeout and fix out-of-sync if necessary #ifdef CONTROL_IBUS - ibus_chksum = 0xFFFF - IBUS_LENGTH - IBUS_COMMAND; - for (uint8_t i = 0; i < (IBUS_NUM_CHANNELS * 2); i ++) { - ibus_chksum -= command.channels[i]; - } - if (command.start == IBUS_LENGTH && command.type == IBUS_COMMAND && ibus_chksum == ( command.checksumh << 8) + command.checksuml ) { + ibus_chksum = 0xFFFF - IBUS_LENGTH - IBUS_COMMAND; + for (uint8_t i = 0; i < (IBUS_NUM_CHANNELS * 2); i++) { + ibus_chksum -= command.channels[i]; + } + if (command.start == IBUS_LENGTH && command.type == IBUS_COMMAND && ibus_chksum == (uint16_t)((command.checksumh << 8) + command.checksuml)) { + if (timeoutFlagSerial) { // Check for previous timeout flag + if (timeoutCntSerial-- <= 0) // Timeout de-qualification + timeoutFlagSerial = 0; // Timeout flag cleared + } else { + for (uint8_t i = 0; i < (IBUS_NUM_CHANNELS * 2); i+=2) { + ibus_captured_value[(i/2)] = CLAMP(command.channels[i] + (command.channels[i+1] << 8) - 1000, 0, INPUT_MAX); // 1000-2000 -> 0-1000 + } + cmd1 = CLAMP((ibus_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); + cmd2 = CLAMP((ibus_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); + command.start = 0xFF; // Change the Start Frame for timeout detection in the next cycle + timeoutCntSerial = 0; // Reset the timeout counter + } + } else { + if (timeoutCntSerial++ >= SERIAL_TIMEOUT) { // Timeout qualification + timeoutFlagSerial = 1; // Timeout detected + timeoutCntSerial = SERIAL_TIMEOUT; // Limit timout counter value + } + // Check periodically the received Start Frame. If it is NOT OK, most probably we are out-of-sync. Try to re-sync by reseting the DMA + if (main_loop_counter % 25 == 0 && command.start != IBUS_LENGTH && command.start != 0xFF) { + HAL_UART_DMAStop(&huart); + HAL_UART_Receive_DMA(&huart, (uint8_t *)&command, sizeof(command)); + } + } #else - if (command.start == START_FRAME && command.checksum == (uint16_t)(command.start ^ command.steer ^ command.speed)) { - #endif - if (timeoutFlagSerial) { // Check for previous timeout flag - if (timeoutCntSerial-- <= 0) // Timeout de-qualification - timeoutFlagSerial = 0; // Timeout flag cleared + if (command.start == START_FRAME && command.checksum == (uint16_t)(command.start ^ command.steer ^ command.speed)) { + if (timeoutFlagSerial) { // Check for previous timeout flag + if (timeoutCntSerial-- <= 0) // Timeout de-qualification + timeoutFlagSerial = 0; // Timeout flag cleared + } else { + cmd1 = CLAMP((int16_t)command.steer, INPUT_MIN, INPUT_MAX); + cmd2 = CLAMP((int16_t)command.speed, INPUT_MIN, INPUT_MAX); + command.start = 0xFFFF; // Change the Start Frame for timeout detection in the next cycle + timeoutCntSerial = 0; // Reset the timeout counter + } } else { - #ifdef CONTROL_IBUS - for (uint8_t i = 0; i < (IBUS_NUM_CHANNELS * 2); i +=2) { - ibus_captured_value[(i/2)] = CLAMP( command.channels[i] + (command.channels[i+1] << 8) - 1000, 0, INPUT_MAX); // 1000-2000 -> 0-1000 + if (timeoutCntSerial++ >= SERIAL_TIMEOUT) { // Timeout qualification + timeoutFlagSerial = 1; // Timeout detected + timeoutCntSerial = SERIAL_TIMEOUT; // Limit timout counter value + } + // Check periodically the received Start Frame. If it is NOT OK, most probably we are out-of-sync. Try to re-sync by reseting the DMA + if (main_loop_counter % 25 == 0 && command.start != START_FRAME && command.start != 0xFFFF) { + HAL_UART_DMAStop(&huart); + HAL_UART_Receive_DMA(&huart, (uint8_t *)&command, sizeof(command)); } - cmd1 = CLAMP((ibus_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); - cmd2 = CLAMP((ibus_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); - #else - cmd1 = CLAMP((int16_t)command.steer, INPUT_MIN, INPUT_MAX); - cmd2 = CLAMP((int16_t)command.speed, INPUT_MIN, INPUT_MAX); - #endif - command.start = 0xFFFF; // Change the Start Frame for timeout detection in the next cycle - timeoutCntSerial = 0; // Reset the timeout counter - } - } else { - if (timeoutCntSerial++ >= SERIAL_TIMEOUT) { // Timeout qualification - timeoutFlagSerial = 1; // Timeout detected - timeoutCntSerial = SERIAL_TIMEOUT; // Limit timout counter value - } - // Check the received Start Frame. If it is NOT OK, most probably we are out-of-sync. - // Try to re-sync by reseting the DMA - if (command.start != START_FRAME && command.start != 0xFFFF) { - HAL_UART_DMAStop(&huart); - HAL_UART_Receive_DMA(&huart, (uint8_t *)&command, sizeof(command)); } - } + #endif - if (timeoutFlagSerial) { // In case of timeout bring the system to a Safe State - ctrlModReq = 0; // OPEN_MODE request. This will bring the motor power to 0 in a controlled way + if (timeoutFlagSerial) { // In case of timeout bring the system to a Safe State + ctrlModReq = 0; // OPEN_MODE request. This will bring the motor power to 0 in a controlled way cmd1 = 0; cmd2 = 0; } else { - ctrlModReq = ctrlModReqRaw; // Follow the Mode request + ctrlModReq = ctrlModReqRaw; // Follow the Mode request } timeout = 0; @@ -746,9 +760,7 @@ int main(void) { board_temp_adcFilt = (int16_t)(board_temp_adcFixdt >> 20); // convert fixed-point to integer board_temp_deg_c = (TEMP_CAL_HIGH_DEG_C - TEMP_CAL_LOW_DEG_C) * (board_temp_adcFilt - TEMP_CAL_LOW_ADC) / (TEMP_CAL_HIGH_ADC - TEMP_CAL_LOW_ADC) + TEMP_CAL_LOW_DEG_C; - serialSendCnt++; // Increment the counter - if (serialSendCnt > 20) { // Send data every 100 ms = 20 * 5 ms, where 5 ms is approximately the main loop duration - serialSendCnt = 0; // Reset the counter + if (main_loop_counter % 25 == 0) { // Send data periodically // ####### DEBUG SERIAL OUT ####### #if defined(DEBUG_SERIAL_USART2) || defined(DEBUG_SERIAL_USART3) @@ -837,6 +849,9 @@ int main(void) { if (inactivity_timeout_counter > (INACTIVITY_TIMEOUT * 60 * 1000) / (DELAY_IN_MAIN_LOOP + 1)) { // rest of main loop needs maybe 1ms poweroff(); } + + main_loop_counter++; + timeout++; } } From 827a490f349ca2c2ad6288adcf89e63b9833ab83 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Wed, 8 Jan 2020 19:33:22 +0100 Subject: [PATCH 26/26] Fixed typo --- platformio.ini | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/platformio.ini b/platformio.ini index 619005d..1042175 100644 --- a/platformio.ini +++ b/platformio.ini @@ -41,7 +41,7 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_ADC - -D PALTFORMIO + -D PLATFORMIO ;================================================================ @@ -66,7 +66,7 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_USART3 - -D PALTFORMIO + -D PLATFORMIO ;================================================================ @@ -87,7 +87,7 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_NUNCHUCK - -D PALTFORMIO + -D PLATFORMIO ;================================================================ @@ -108,7 +108,7 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_PPM - -D PALTFORMIO + -D PLATFORMIO ;================================================================ @@ -129,7 +129,7 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_IBUS - -D PALTFORMIO + -D PLATFORMIO ;================================================================ @@ -154,7 +154,7 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_HOVERCAR - -D PALTFORMIO + -D PLATFORMIO ;================================================================ @@ -175,6 +175,6 @@ build_flags = -g -ggdb ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization # -Wl,-lnosys -D VARIANT_TRANSPOTTER - -D PALTFORMIO + -D PLATFORMIO ;================================================================ \ No newline at end of file

Awt;6OMhTpJ(AO%jy2yD<>h0%unpck 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 diff --git a/01_Matlab/init_model.m b/01_Matlab/init_model.m index 18832d6..0e45046 100644 --- a/01_Matlab/init_model.m +++ b/01_Matlab/init_model.m @@ -89,9 +89,9 @@ cf_currFilt = 0.12; % [%] Current filter coefficient [0, 1]. Lower v %% F02_Diagnostics b_diagEna = 1; % [-] Diagnostics enable flag: 0 = Disabled, 1 = Enabled (default) -t_errQual = 0.6 * f_ctrl/3; % [s] Error qualification time -t_errDequal = 2.0 * f_ctrl/3; % [s] Error dequalification time -r_errInpTgtThres = 400; % [-] Error input target threshold (for "Blocked motor" detection) +t_errQual = 0.24 * f_ctrl/3; % [s] Error qualification time +t_errDequal = 1.80 * f_ctrl/3; % [s] Error dequalification time +r_errInpTgtThres = 600; % [-] Error input target threshold (for "Blocked motor" detection) %% F03_Control_Mode_Manager dV_openRate = 1000 / (f_ctrl/3);% [V/s] Rate for voltage cut-off in Open Mode (Sample Time included in the rate) diff --git a/Inc/BLDC_controller.h b/Inc/BLDC_controller.h index acfba7a..2bf7c56 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.1249 + * Model version : 1.1256 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Thu Dec 12 20:22:31 2019 + * C/C++ source code generated on : Mon Dec 30 21:36:12 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -43,7 +43,7 @@ typedef struct { /* Block signals and states (auto storage) for system '/Low_Pass_Filter' */ typedef struct { - int16_T UnitDelay3_DSTATE[2]; /* '/UnitDelay3' */ + int32_T UnitDelay1_DSTATE[2]; /* '/UnitDelay1' */ } DW_Low_Pass_Filter; /* Block signals and states (auto storage) for system '/I_backCalc_fixdt' */ @@ -85,7 +85,7 @@ typedef struct { int32_T Divide1; /* '/Divide1' */ int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ int16_T Gain4[3]; /* '/Gain4' */ - int16_T Sum1[2]; /* '/Sum1' */ + int16_T DataTypeConversion[2]; /* '/Data Type Conversion' */ int16_T z_counterRawPrev; /* '/z_counterRawPrev' */ int16_T Merge1; /* '/Merge1' */ int16_T Divide3; /* '/Divide3' */ diff --git a/Inc/config.h b/Inc/config.h index 8dafd56..5ad463e 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -6,14 +6,14 @@ // For any particular needs, feel free to change this file according to your needs. // Select the VARIANT_ADC as default variant, in case NO variant is defined -#if !defined(VARIANT_ADC) && !defined(VARIANT_USART3) && !defined(TRANSPOTTER) +#if !defined(VARIANT_ADC) && !defined(VARIANT_USART3) && !defined(HOVERCAR) && !defined(TRANSPOTTER) #define VARIANT_ADC #endif // ############################### DO-NOT-TOUCH SETTINGS ############################### #define PWM_FREQ 16000 // PWM frequency in Hz -#define DEAD_TIME 32 // PWM deadtime +#define DEAD_TIME 48 // PWM deadtime #ifdef TRANSPOTTER #define DELAY_IN_MAIN_LOOP 2 #else @@ -55,8 +55,8 @@ * Then you can verify voltage on value 6 (to get calibrated voltage multiplied by 100). */ #define BAT_FILT_COEF 655 // battery voltage filter coefficient in fixed-point. coef_fixedPoint = coef_floatingPoint * 2^16. In this case 655 = 0.01 * 2^16 -#define BAT_CALIB_REAL_VOLTAGE 4300 // input voltage measured by multimeter (multiplied by 100). In this case 43.00 V * 100 = 4300 -#define BAT_CALIB_ADC 1704 // adc-value measured by mainboard (value nr 5 on UART debug output) +#define BAT_CALIB_REAL_VOLTAGE 3970 // input voltage measured by multimeter (multiplied by 100). In this case 43.00 V * 100 = 4300 +#define BAT_CALIB_ADC 1492 // adc-value measured by mainboard (value nr 5 on UART debug output) #define BAT_CELLS 10 // battery number of cells. Normal Hoverboard battery: 10s #define BAT_LOW_LVL1_ENABLE 0 // to beep or not to beep, 1 or 0 @@ -109,7 +109,7 @@ #define USART3_BAUD 38400 // UART3 baud rate (short wired cable) #define USART3_WORDLENGTH UART_WORDLENGTH_8B // UART_WORDLENGTH_8B or UART_WORDLENGTH_9B -#if defined(VARIANT_ADC) +#if defined(VARIANT_ADC) || defined(HOVERCAR) // #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! For Arduino control check the hoverSerial.ino // #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! // #define DEBUG_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! @@ -149,15 +149,28 @@ * Make, flash and test it. */ #ifdef VARIANT_ADC - #define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2, FEEDBACK_SERIAL_USART2, DEBUG_SERIAL_USART2! - // #define ADC1_MID_POT // ADC1 middle resting poti: comment-out if NOT a middle resting poti - #define ADC1_MIN 0 // min ADC1-value while poti at minimum-position (0 - 4095) - #define ADC1_MID 1963 // mid ADC1-value while poti at minimum-position (ADC1_MIN - ADC1_MAX) - #define ADC1_MAX 4095 // max ADC1-value while poti at maximum-position (0 - 4095) - // #define ADC2_MID_POT // ADC2 middle resting poti: comment-out if NOT a middle resting poti - #define ADC2_MIN 0 // min ADC2-value while poti at minimum-position (0 - 4095) - #define ADC2_MID 2006 // mid ADC2-value while poti at minimum-position (ADC2_MIN - ADC2_MAX) - #define ADC2_MAX 4095 // max ADC2-value while poti at maximum-position (0 - 4095) + #define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2, FEEDBACK_SERIAL_USART2, DEBUG_SERIAL_USART2! + // #define ADC_PROTECT_ENA // ADC Protection Enable flag. Use this flag to make sure the ADC is protected when GND or Vcc wire is disconnected + #define ADC_PROTECT_TIMEOUT 30 // ADC Protection: number of wrong / missing input commands before safety state is taken + #define ADC_PROTECT_THRESH 400 // ADC Protection threshold below/above the MIN/MAX ADC values + // #define ADC1_MID_POT // ADC1 middle resting poti: comment-out if NOT a middle resting poti + #define ADC1_MIN 0 // min ADC1-value while poti at minimum-position (0 - 4095) + #define ADC1_MID 2048 // mid ADC1-value while poti at minimum-position (ADC1_MIN - ADC1_MAX) + #define ADC1_MAX 4095 // max ADC1-value while poti at maximum-position (0 - 4095) + // #define ADC2_MID_POT // ADC2 middle resting poti: comment-out if NOT a middle resting poti + #define ADC2_MIN 0 // min ADC2-value while poti at minimum-position (0 - 4095) + #define ADC2_MID 2048 // mid ADC2-value while poti at minimum-position (ADC2_MIN - ADC2_MAX) + #define ADC2_MAX 4095 // max ADC2-value while poti at maximum-position (0 - 4095) +#endif +#ifdef HOVERCAR + #define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2, FEEDBACK_SERIAL_USART2, DEBUG_SERIAL_USART2! + #define ADC_PROTECT_ENA // ADC Protection Enable flag. Use this flag to make sure the ADC is protected when GND or Vcc wire is disconnected + #define ADC_PROTECT_TIMEOUT 30 // ADC Protection: number of wrong / missing input commands before safety state is taken + #define ADC_PROTECT_THRESH 400 // ADC Protection threshold below/above the MIN/MAX ADC values + #define ADC1_MIN 1000 // min ADC1-value while poti at minimum-position (0 - 4095) + #define ADC1_MAX 2500 // max ADC1-value while poti at maximum-position (0 - 4095) + #define ADC2_MIN 500 // min ADC2-value while poti at minimum-position (0 - 4095) + #define ADC2_MAX 2200 // max ADC2-value while poti at maximum-position (0 - 4095) #endif // ###### CONTROL VIA NINTENDO NUNCHUCK ###### @@ -221,16 +234,22 @@ */ // Beep in Reverse -#define BEEPS_BACKWARD 0 // 0 or 1 +#define BEEPS_BACKWARD 1 // 0 or 1 + +// Multiple tap detection: default DOUBLE Tap (4 pulses) +#define MULTIPLE_TAP_NR 2 * 2 // [-] Define tap number: MULTIPLE_TAP_NR = number_of_taps * 2, number_of_taps = 1 (for single taping), 2 (for double tapping), 3 (for triple tapping), etc... +#define MULTIPLE_TAP_HI 600 // [-] Multiple tap detection High hysteresis threshold +#define MULTIPLE_TAP_LO 200 // [-] Multiple tap detection Low hysteresis threshold +#define MULTIPLE_TAP_TIMEOUT 2000 // [ms] Multiple tap detection Timeout period. The taps need to happen within this time window to be accepted. // Value of RATE is in fixdt(1,16,4): VAL_fixedPoint = VAL_floatingPoint * 2^4. In this case 480 = 30 * 2^4 -#define RATE 480 // 30.0f [-] lower value == slower rate [0, 32767] = [0.0, 2047.9375]. Do NOT make rate negative (>32767) +#define RATE 480 // 30.0f [-] lower value == slower rate [0, 32767] = [0.0, 2047.9375]. Do NOT make rate negative (>32767) // Value of FILTER is in fixdt(0,16,16): VAL_fixedPoint = VAL_floatingPoint * 2^16. In this case 6553 = 0.1 * 2^16 -#define FILTER 6553 // 0.1f [-] lower value == softer filter [0, 65535] = [0.0 - 1.0]. +#define FILTER 6553 // 0.1f [-] lower value == softer filter [0, 65535] = [0.0 - 1.0]. // ################################# DEFAULT SETTINGS ############################ -#ifndef TRANSPOTTER +#if !defined(HOVERCAR) && !defined(TRANSPOTTER) // Value of COEFFICIENT is in fixdt(1,16,14) // If VAL_floatingPoint >= 0, VAL_fixedPoint = VAL_floatingPoint * 2^14 // If VAL_floatingPoint < 0, VAL_fixedPoint = 2^16 + floor(VAL_floatingPoint * 2^14). @@ -241,6 +260,15 @@ #define INVERT_L_DIRECTION #endif +// ################################# HOVERCAR SETTINGS ############################ +#ifdef HOVERCAR + #define SPEED_COEFFICIENT 16384 // 1.0f + #define STEER_COEFFICIENT 0 // 0.0f + + // #define INVERT_R_DIRECTION + // #define INVERT_L_DIRECTION +#endif + // ################################# TRANSPOTTER SETTINGS ############################ #ifdef TRANSPOTTER #define CONTROL_GAMETRAK @@ -252,7 +280,7 @@ #define ROT_P 1.2 // P coefficient for the direction controller. Positive / Negative values to invert gametrak steering direction. - //#define INVERT_R_DIRECTION // Invert right motor + #define INVERT_R_DIRECTION // Invert right motor #define INVERT_L_DIRECTION // Invert left motor // during nunchuck control (only relevant when activated) @@ -312,3 +340,13 @@ #if defined(CONTROL_PPM) && defined(CONTROL_ADC) && defined(CONTROL_NUNCHUCK) || defined(CONTROL_PPM) && defined(CONTROL_ADC) || defined(CONTROL_ADC) && defined(CONTROL_NUNCHUCK) || defined(CONTROL_PPM) && defined(CONTROL_NUNCHUCK) #error only 1 input method allowed. use CONTROL_PPM or CONTROL_ADC or CONTROL_NUNCHUCK. #endif + +#if defined(ADC_PROTECT_ENA) && ((ADC1_MIN - ADC_PROTECT_THRESH) <= 0 || (ADC1_MAX + ADC_PROTECT_THRESH) >= 4096) + #warning ADC1 Protection NOT possible! Adjust the ADC thresholds. + #undef ADC_PROTECT_ENA +#endif + +#if defined(ADC_PROTECT_ENA) && ((ADC2_MIN - ADC_PROTECT_THRESH) <= 0 || (ADC2_MAX + ADC_PROTECT_THRESH) >= 4096) + #warning ADC2 Protection NOT possible! Adjust the ADC thresholds. + #undef ADC_PROTECT_ENA +#endif diff --git a/Inc/defines.h b/Inc/defines.h index 4b4e939..51462c6 100644 --- a/Inc/defines.h +++ b/Inc/defines.h @@ -136,7 +136,7 @@ #define STEP(from, to, step) (((from) < (to)) ? (MIN((from) + (step), (to))) : (MAX((from) - (step), (to)))) #define DEG(a) ((a)*M_PI / 180.0f) #define RAD(a) ((a)*180.0f / M_PI) -#define SIGN(a) (((a) < 0.0f) ? (-1.0f) : (((a) > 0.0f) ? (1.0f) : (0.0f))) +#define SIGN(a) (((a) < 0) ? (-1) : (((a) > 0) ? (1) : (0))) #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) #define SCALE(value, high, max) MIN(MAX(((max) - (value)) / ((max) - (high)), 0.0f), 1.0f) #define MIN(a, b) (((a) < (b)) ? (a) : (b)) @@ -157,15 +157,22 @@ typedef struct { uint16_t l_rx2; } adc_buf_t; +typedef struct { + uint32_t t_timePrev; + uint8_t z_pulseCntPrev; + uint8_t b_hysteresis; + uint8_t b_multipleTap; +} MultipleTap; + // Define Beep functions void longBeep(uint8_t freq); void shortBeep(uint8_t freq); -// Define low-pass filter functions. Implementation is in main.c -void filtLowPass16(int16_t u, uint16_t coef, int16_t *y); -void filtLowPass32(int32_t u, uint16_t coef, int32_t *y); +// Define additional functions. Implementation is in main.c +void filtLowPass32(int16_t u, uint16_t coef, int32_t *y); void mixerFcn(int16_t rtu_speed, int16_t rtu_steer, int16_t *rty_speedR, int16_t *rty_speedL); void rateLimiter16(int16_t u, int16_t rate, int16_t *y); +void multipleTapDet(int16_t u, uint32_t timeNow, MultipleTap *x); // Define I2C and Nunchuck functions void I2C_Init(void); diff --git a/Inc/rtwtypes.h b/Inc/rtwtypes.h index 0731f04..6c93fd9 100644 --- a/Inc/rtwtypes.h +++ b/Inc/rtwtypes.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1249 + * Model version : 1.1256 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Thu Dec 12 20:22:31 2019 + * C/C++ source code generated on : Mon Dec 30 21:36:12 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex diff --git a/README.md b/README.md index 9b4c5b0..616b168 100644 --- a/README.md +++ b/README.md @@ -149,10 +149,13 @@ Most robust way for input is to use the ADC and potis. It works well even on 1m --- ## Examples -Have a look at the config.h in the Inc directory. That's where you configure to firmware to match your project. -Currently supported: Wii Nunchuck, analog potentiometer and PPM-Sum signal from a RC remote. -A good example of control via UART, eg. from an Arduino or raspberryPi, can be found here: -https://github.com/p-h-a-i-l/hoverboard-firmware-hack +This firmware offers currently 4 variants (selectable in platformio.ino): +- **VARIANT_ADC**: In this variant the motors are controlled by two potentiometers connected to the Left sensor cable (long wired) +- **VARIANT_USART3**: In this variant the motors are controlled via Serial protocol on USART3 Right sensor cable (short wired). The commands can be sent from an Arduino. Check out the [hoverserial.ino](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/02_Arduino/hoverserial) as an example sketch. +- **HOVERCAR**: In this variant the motors are controlled by two pedals Brake and Throttle. Reverse is engaged by double tapping on the Brake pedal at standstill. +- **TRANSPOTTER**: This build is for Transpotter which is a hoverboard based transportation system. For more details on how to build it check [here](https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter) and [here](https://hackaday.io/project/161891-transpotter-ng). + +Of course the firmware can be further customized for other needs or projects. --- ## Acknowledgements diff --git a/Src/BLDC_controller.c b/Src/BLDC_controller.c index 54551bf..6bd2bd1 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.1249 + * Model version : 1.1256 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Thu Dec 12 20:22:31 2019 + * C/C++ source code generated on : Mon Dec 30 21:36:12 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -354,41 +354,66 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T /* System reset for atomic system: '/Low_Pass_Filter' */ void Low_Pass_Filter_Reset(DW_Low_Pass_Filter *localDW) { - /* InitializeConditions for UnitDelay: '/UnitDelay3' */ - localDW->UnitDelay3_DSTATE[0] = 0; - localDW->UnitDelay3_DSTATE[1] = 0; + /* InitializeConditions for UnitDelay: '/UnitDelay1' */ + localDW->UnitDelay1_DSTATE[0] = 0; + localDW->UnitDelay1_DSTATE[1] = 0; } /* Output and update for atomic system: '/Low_Pass_Filter' */ void Low_Pass_Filter(const int16_T rtu_u[2], uint16_T rtu_coef, int16_T rty_y[2], DW_Low_Pass_Filter *localDW) { - uint16_T rtb_Sum5; + int32_T rtb_Sum3_g; - /* Sum: '/Sum5' */ - rtb_Sum5 = (uint16_T)(65535U - rtu_coef); + /* Sum: '/Sum2' incorporates: + * UnitDelay: '/UnitDelay1' + */ + rtb_Sum3_g = rtu_u[0] - (localDW->UnitDelay1_DSTATE[0] >> 16); + if (rtb_Sum3_g > 32767) { + rtb_Sum3_g = 32767; + } else { + if (rtb_Sum3_g < -32768) { + rtb_Sum3_g = -32768; + } + } - /* Sum: '/Sum1' incorporates: - * Product: '/Divide1' - * Product: '/Divide2' - * UnitDelay: '/UnitDelay3' + /* Sum: '/Sum3' incorporates: + * Product: '/Divide3' + * Sum: '/Sum2' + * UnitDelay: '/UnitDelay1' */ - rty_y[0] = (int16_T)(((rtu_u[0] * rtu_coef) >> 16) + - ((localDW->UnitDelay3_DSTATE[0] * rtb_Sum5) >> 16)); + rtb_Sum3_g = rtu_coef * rtb_Sum3_g + localDW->UnitDelay1_DSTATE[0]; + + /* DataTypeConversion: '/Data Type Conversion' */ + rty_y[0] = (int16_T)(rtb_Sum3_g >> 16); - /* Update for UnitDelay: '/UnitDelay3' */ - localDW->UnitDelay3_DSTATE[0] = rty_y[0]; + /* Update for UnitDelay: '/UnitDelay1' */ + localDW->UnitDelay1_DSTATE[0] = rtb_Sum3_g; - /* Sum: '/Sum1' incorporates: - * Product: '/Divide1' - * Product: '/Divide2' - * UnitDelay: '/UnitDelay3' + /* Sum: '/Sum2' incorporates: + * UnitDelay: '/UnitDelay1' */ - rty_y[1] = (int16_T)(((rtu_u[1] * rtu_coef) >> 16) + - ((localDW->UnitDelay3_DSTATE[1] * rtb_Sum5) >> 16)); + rtb_Sum3_g = rtu_u[1] - (localDW->UnitDelay1_DSTATE[1] >> 16); + if (rtb_Sum3_g > 32767) { + rtb_Sum3_g = 32767; + } else { + if (rtb_Sum3_g < -32768) { + rtb_Sum3_g = -32768; + } + } + + /* Sum: '/Sum3' incorporates: + * Product: '/Divide3' + * Sum: '/Sum2' + * UnitDelay: '/UnitDelay1' + */ + rtb_Sum3_g = rtu_coef * rtb_Sum3_g + localDW->UnitDelay1_DSTATE[1]; + + /* DataTypeConversion: '/Data Type Conversion' */ + rty_y[1] = (int16_T)(rtb_Sum3_g >> 16); - /* Update for UnitDelay: '/UnitDelay3' */ - localDW->UnitDelay3_DSTATE[1] = rty_y[1]; + /* Update for UnitDelay: '/UnitDelay1' */ + localDW->UnitDelay1_DSTATE[1] = rtb_Sum3_g; } /* @@ -1502,10 +1527,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Disable for If: '/If2' */ if (rtDW->If2_ActiveSubsystem_a == 0) { /* Disable for Outport: '/iq' */ - rtDW->Sum1[0] = 0; + rtDW->DataTypeConversion[0] = 0; /* Disable for Outport: '/id' */ - rtDW->Sum1[1] = 0; + rtDW->DataTypeConversion[1] = 0; } rtDW->If2_ActiveSubsystem_a = -1; @@ -1518,10 +1543,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->Gain4[2] = 0; /* Disable for Outport: '/r_devSignal1' */ - rtDW->Sum1[0] = 0; + rtDW->DataTypeConversion[0] = 0; /* Disable for Outport: '/r_devSignal2' */ - rtDW->Sum1[1] = 0; + rtDW->DataTypeConversion[1] = 0; } if (UnitDelay3 == 0) { @@ -1639,10 +1664,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->If2_ActiveSubsystem_a = UnitDelay3; if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { /* Disable for Outport: '/iq' */ - rtDW->Sum1[0] = 0; + rtDW->DataTypeConversion[0] = 0; /* Disable for Outport: '/id' */ - rtDW->Sum1[1] = 0; + rtDW->DataTypeConversion[1] = 0; } if (UnitDelay3 == 0) { @@ -1715,7 +1740,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Outputs for Atomic SubSystem: '/Low_Pass_Filter' */ Low_Pass_Filter(rtb_TmpSignalConversionAtLow_Pa, rtP->cf_currFilt, - rtDW->Sum1, &rtDW->Low_Pass_Filter_m); + rtDW->DataTypeConversion, &rtDW->Low_Pass_Filter_m); /* End of Outputs for SubSystem: '/Low_Pass_Filter' */ @@ -1805,10 +1830,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) switch (rtDW->z_ctrlMod) { case 1: /* Abs: '/Abs5' */ - if (rtDW->Sum1[0] < 0) { - rtb_Merge_f_idx_1 = (int16_T)-rtDW->Sum1[0]; + if (rtDW->DataTypeConversion[0] < 0) { + rtb_Merge_f_idx_1 = (int16_T)-rtDW->DataTypeConversion[0]; } else { - rtb_Merge_f_idx_1 = rtDW->Sum1[0]; + rtb_Merge_f_idx_1 = rtDW->DataTypeConversion[0]; } /* End of Abs: '/Abs5' */ @@ -1843,13 +1868,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ - if (rtDW->Sum1[0] > rtDW->Divide1_a) { + if (rtDW->DataTypeConversion[0] > rtDW->Divide1_a) { rtb_Merge_f_idx_1 = rtDW->Divide1_a; - } else if (rtDW->Sum1[0] < rtDW->Gain1) { + } else if (rtDW->DataTypeConversion[0] < rtDW->Gain1) { /* Switch: '/Switch' */ rtb_Merge_f_idx_1 = rtDW->Gain1; } else { - rtb_Merge_f_idx_1 = rtDW->Sum1[0]; + rtb_Merge_f_idx_1 = rtDW->DataTypeConversion[0]; } /* End of Switch: '/Switch2' */ @@ -1858,8 +1883,8 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/cf_iqKiLimProt' * Sum: '/Sum3' */ - rtDW->Divide1 = (int16_T)(rtb_Merge_f_idx_1 - rtDW->Sum1[0]) * - rtP->cf_iqKiLimProt; + rtDW->Divide1 = (int16_T)(rtb_Merge_f_idx_1 - rtDW->DataTypeConversion[0]) + * rtP->cf_iqKiLimProt; /* End of Outputs for SubSystem: '/Speed_Mode_Protection' */ break; @@ -1924,7 +1949,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ /* Sum: '/Sum3' */ - rtb_Gain3 = rtb_toNegative - rtDW->Sum1[1]; + rtb_Gain3 = rtb_toNegative - rtDW->DataTypeConversion[1]; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2055,7 +2080,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ /* Sum: '/Sum2' */ - rtb_Gain3 = rtb_Merge_f_idx_1 - rtDW->Sum1[0]; + rtb_Gain3 = rtb_Merge_f_idx_1 - rtDW->DataTypeConversion[0]; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2476,12 +2501,12 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Outport: '/r_devSignal1' incorporates: * DataTypeConversion: '/Data Type Conversion4' */ - rtY->r_devSignal1 = (int16_T)(rtDW->Sum1[0] >> 4); + rtY->r_devSignal1 = (int16_T)(rtDW->DataTypeConversion[0] >> 4); /* Outport: '/r_devSignal2' incorporates: * DataTypeConversion: '/Data Type Conversion5' */ - rtY->r_devSignal2 = (int16_T)(rtDW->Sum1[1] >> 4); + rtY->r_devSignal2 = (int16_T)(rtDW->DataTypeConversion[1] >> 4); /* End of Outputs for SubSystem: '/BLDC_controller' */ } diff --git a/Src/BLDC_controller_data.c b/Src/BLDC_controller_data.c index 5a11f15..9ce9b3a 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.1249 + * Model version : 1.1256 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Thu Dec 12 20:22:31 2019 + * C/C++ source code generated on : Mon Dec 30 21:36:12 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -184,12 +184,12 @@ P rtP_Left = { /* Variable: t_errDequal * Referenced by: '/t_errDequal' */ - 10667U, + 9600U, /* Variable: t_errQual * Referenced by: '/t_errQual' */ - 3200U, + 1280U, /* Variable: Vd_max * Referenced by: @@ -266,7 +266,7 @@ P rtP_Left = { /* Variable: r_errInpTgtThres * Referenced by: '/r_errInpTgtThres' */ - 6400, + 9600, /* Variable: r_fieldWeakHi * Referenced by: '/r_fieldWeakHi' diff --git a/Src/bldc.c b/Src/bldc.c index a2ec2ce..29edeab 100644 --- a/Src/bldc.c +++ b/Src/bldc.c @@ -78,7 +78,7 @@ static int16_t offsetdcl = 2000; static int16_t offsetdcr = 2000; int16_t batVoltage = (400 * BAT_CELLS * BAT_CALIB_ADC) / BAT_CALIB_REAL_VOLTAGE; -static int16_t batVoltageFixdt = (400 * BAT_CELLS * BAT_CALIB_ADC) / BAT_CALIB_REAL_VOLTAGE << 4; // Fixed-point filter output initialized at 400 V*100/cell = 4 V/cell converted to fixed-point +static int32_t batVoltageFixdt = (400 * BAT_CELLS * BAT_CALIB_ADC) / BAT_CALIB_REAL_VOLTAGE << 20; // Fixed-point filter output initialized at 400 V*100/cell = 4 V/cell converted to fixed-point // ================================= // DMA interrupt frequency =~ 16 kHz @@ -101,8 +101,8 @@ void DMA1_Channel1_IRQHandler(void) { } if (buzzerTimer % 1000 == 0) { // because you get float rounding errors if it would run every time -> not any more, everything converted to fixed-point - filtLowPass16(adc_buffer.batt1, BAT_FILT_COEF, &batVoltageFixdt); - batVoltage = batVoltageFixdt >> 4; // convert fixed-point to integer + filtLowPass32(adc_buffer.batt1, BAT_FILT_COEF, &batVoltageFixdt); + batVoltage = (int16_t)(batVoltageFixdt >> 20); // convert fixed-point to integer } // Get Left motor currents diff --git a/Src/main.c b/Src/main.c index de8782b..a3743fd 100644 --- a/Src/main.c +++ b/Src/main.c @@ -99,6 +99,11 @@ extern I2C_HandleTypeDef hi2c2; uint8_t nunchuck_connected = 1; #endif +#if defined(CONTROL_ADC) && defined(ADC_PROTECT_ENA) +static int16_t timeoutCntADC = 0; // Timeout counter for ADC Protection +#endif +static uint8_t timeoutFlagADC = 0; // Timeout Flag for for ADC Protection: 0 = OK, 1 = Problem detected (line disconnected or wrong ADC data) + #if defined(CONTROL_SERIAL_USART2) || defined(CONTROL_SERIAL_USART3) typedef struct{ uint16_t start; @@ -107,9 +112,9 @@ typedef struct{ uint16_t checksum; } Serialcommand; static volatile Serialcommand command; -static int16_t timeoutCnt = 0; // Timeout counter for Rx Serial command +static int16_t timeoutCntSerial = 0; // Timeout counter for Rx Serial command #endif -static uint8_t timeoutFlag = 0; // Timeout Flag for Rx Serial command: 0 = OK, 1 = Problem detected (line disconnected or wrong Rx data) +static uint8_t timeoutFlagSerial = 0; // Timeout Flag for Rx Serial command: 0 = OK, 1 = Problem detected (line disconnected or wrong Rx data) #if defined(FEEDBACK_SERIAL_USART2) || defined(FEEDBACK_SERIAL_USART3) typedef struct{ @@ -126,7 +131,7 @@ typedef struct{ } SerialFeedback; static SerialFeedback Feedback; #endif -static uint8_t serialSendCounter; // serial send counter +static uint8_t serialSendCnt; // serial send counter #if defined(CONTROL_NUNCHUCK) || defined(SUPPORT_NUNCHUCK) || defined(CONTROL_PPM) || defined(CONTROL_ADC) static uint8_t button1, button2; @@ -139,11 +144,16 @@ static int cmd2; // normalized input value. -1000 to 1000 static int16_t speed; // local variable for speed. -1000 to 1000 #ifndef TRANSPOTTER static int16_t steer; // local variable for steering. -1000 to 1000 - static int16_t steerFixdt; // local fixed-point variable for steering low-pass filter - static int16_t speedFixdt; // local fixed-point variable for speed low-pass filter static int16_t steerRateFixdt; // local fixed-point variable for steering rate limiter static int16_t speedRateFixdt; // local fixed-point variable for speed rate limiter + static int32_t steerFixdt; // local fixed-point variable for steering low-pass filter + static int32_t speedFixdt; // local fixed-point variable for speed low-pass filter +#endif +#ifdef HOVERCAR + static MultipleTap MultipleTapBreak; // define multiple tap functionality for the Break pedal #endif +static int16_t speedAvg; // average measured speed +static int16_t speedAvgAbs; // average measured speed in absolute extern volatile int pwml; // global variable for pwm left. -1000 to 1000 extern volatile int pwmr; // global variable for pwm right. -1000 to 1000 @@ -217,8 +227,6 @@ int main(void) { // ############################################################################### /* Set BLDC controller parameters */ - rtP_Right = rtP_Left; // Copy the Left motor parameters to the Right motor parameters - rtP_Left.b_selPhaABCurrMeas = 1; // Left motor measured current phases = {iA, iB} -> do NOT change rtP_Left.z_ctrlTypSel = CTRL_TYP_SEL; rtP_Left.b_diagEna = DIAG_ENA; @@ -230,16 +238,8 @@ int main(void) { rtP_Left.r_fieldWeakHi = FIELD_WEAK_HI << 4; // fixdt(1,16,4) rtP_Left.r_fieldWeakLo = FIELD_WEAK_LO << 4; // fixdt(1,16,4) + rtP_Right = rtP_Left; // Copy the Left motor parameters to the Right motor parameters rtP_Right.b_selPhaABCurrMeas = 0; // Left motor measured current phases = {iB, iC} -> do NOT change - rtP_Right.z_ctrlTypSel = CTRL_TYP_SEL; - rtP_Right.b_diagEna = DIAG_ENA; - rtP_Right.i_max = (I_MOT_MAX * A2BIT_CONV) << 4; // fixdt(1,16,4) - rtP_Right.n_max = N_MOT_MAX << 4; // fixdt(1,16,4) - rtP_Right.b_fieldWeakEna = FIELD_WEAK_ENA; - rtP_Right.id_fieldWeakMax = (FIELD_WEAK_MAX * A2BIT_CONV) << 4; // fixdt(1,16,4) - rtP_Right.a_phaAdvMax = PHASE_ADV_MAX << 4; // fixdt(1,16,4) - rtP_Right.r_fieldWeakHi = FIELD_WEAK_HI << 4; // fixdt(1,16,4) - rtP_Right.r_fieldWeakLo = FIELD_WEAK_LO << 4; // fixdt(1,16,4) /* Pack LEFT motor data into RTM */ rtM_Left->defaultParam = &rtP_Left; @@ -355,7 +355,7 @@ int main(void) { int16_t lastSpeedL = 0, lastSpeedR = 0; int16_t speedL = 0, speedR = 0; - int16_t board_temp_adcFixdt = adc_buffer.temp << 4; // Fixed-point filter output initialized with current ADC converted to fixed-point + int32_t board_temp_adcFixdt = adc_buffer.temp << 20; // Fixed-point filter output initialized with current ADC converted to fixed-point int16_t board_temp_adcFilt = adc_buffer.temp; int16_t board_temp_deg_c; @@ -409,12 +409,11 @@ int main(void) { } if (distance - (int)(setDistance * 1345) > -300) { #ifdef INVERT_R_DIRECTION - pwmr = -speedR; + pwmr = speedR; #endif #ifndef INVERT_R_DIRECTION - pwmr = speedR; + pwmr = -speedR; #endif - #ifdef INVERT_L_DIRECTION pwml = -speedL; #endif @@ -472,7 +471,32 @@ int main(void) { -CLAMP((ADC2_MID - adc_buffer.l_rx2) * INPUT_MAX / (ADC2_MID - ADC2_MIN), 0, INPUT_MAX); // ADC2 #else cmd2 = CLAMP((adc_buffer.l_rx2 - ADC2_MIN) * INPUT_MAX / (ADC2_MAX - ADC2_MIN), 0, INPUT_MAX); // ADC2 - #endif + #endif + + #ifdef ADC_PROTECT_ENA + if (adc_buffer.l_tx2 >= (ADC1_MIN - ADC_PROTECT_THRESH) && adc_buffer.l_tx2 <= (ADC1_MAX + ADC_PROTECT_THRESH) && + adc_buffer.l_rx2 >= (ADC2_MIN - ADC_PROTECT_THRESH) && adc_buffer.l_rx2 <= (ADC2_MAX + ADC_PROTECT_THRESH)) { + if (timeoutFlagADC) { // Check for previous timeout flag + if (timeoutCntADC-- <= 0) // Timeout de-qualification + timeoutFlagADC = 0; // Timeout flag cleared + } else { + timeoutCntADC = 0; // Reset the timeout counter + } + } else { + if (timeoutCntADC++ >= ADC_PROTECT_TIMEOUT) { // Timeout qualification + timeoutFlagADC = 1; // Timeout detected + timeoutCntADC = ADC_PROTECT_TIMEOUT; // Limit timout counter value + } + } + + if (timeoutFlagADC) { // In case of timeout bring the system to a Safe State + ctrlModReq = 0; // OPEN_MODE request. This will bring the motor power to 0 in a controlled way + cmd1 = 0; + cmd2 = 0; + } else { + ctrlModReq = ctrlModReqRaw; // Follow the Mode request + } + #endif // use ADCs as button inputs: button1 = (uint8_t)(adc_buffer.l_tx2 > 2000); // ADC1 @@ -485,19 +509,19 @@ int main(void) { // Handle received data validity, timeout and fix out-of-sync if necessary if (command.start == START_FRAME && command.checksum == (uint16_t)(command.start ^ command.steer ^ command.speed)) { - if (timeoutFlag) { // Check for previous timeout flag - if (timeoutCnt-- <= 0) // Timeout de-qualification - timeoutFlag = 0; // Timeout flag cleared + if (timeoutFlagSerial) { // Check for previous timeout flag + if (timeoutCntSerial-- <= 0) // Timeout de-qualification + timeoutFlagSerial = 0; // Timeout flag cleared } else { cmd1 = CLAMP((int16_t)command.steer, INPUT_MIN, INPUT_MAX); cmd2 = CLAMP((int16_t)command.speed, INPUT_MIN, INPUT_MAX); - command.start = 0xFFFF; // Change the Start Frame for timeout detection in the next cycle - timeoutCnt = 0; // Reset the timeout counter + command.start = 0xFFFF; // Change the Start Frame for timeout detection in the next cycle + timeoutCntSerial = 0; // Reset the timeout counter } } else { - if (timeoutCnt++ >= SERIAL_TIMEOUT) { // Timeout qualification - timeoutFlag = 1; // Timeout detected - timeoutCnt = SERIAL_TIMEOUT; // Limit timout counter value + if (timeoutCntSerial++ >= SERIAL_TIMEOUT) { // Timeout qualification + timeoutFlagSerial = 1; // Timeout detected + timeoutCntSerial = SERIAL_TIMEOUT; // Limit timout counter value } // Check the received Start Frame. If it is NOT OK, most probably we are out-of-sync. // Try to re-sync by reseting the DMA @@ -507,7 +531,7 @@ int main(void) { } } - if (timeoutFlag) { // In case of timeout bring the system to a Safe State + if (timeoutFlagSerial) { // In case of timeout bring the system to a Safe State ctrlModReq = 0; // OPEN_MODE request. This will bring the motor power to 0 in a controlled way cmd1 = 0; cmd2 = 0; @@ -518,26 +542,76 @@ int main(void) { #endif + // Calculate measured average speed. The minus sign (-) is beacause motors spin in opposite directions + #if !defined(INVERT_L_DIRECTION) && !defined(INVERT_R_DIRECTION) + speedAvg = ( rtY_Left.n_mot - rtY_Right.n_mot) / 2; + #elif !defined(INVERT_L_DIRECTION) && defined(INVERT_R_DIRECTION) + speedAvg = ( rtY_Left.n_mot + rtY_Right.n_mot) / 2; + #elif defined(INVERT_L_DIRECTION) && !defined(INVERT_R_DIRECTION) + speedAvg = (-rtY_Left.n_mot - rtY_Right.n_mot) / 2; + #elif defined(INVERT_L_DIRECTION) && defined(INVERT_R_DIRECTION) + speedAvg = (-rtY_Left.n_mot + rtY_Right.n_mot) / 2; + #endif + + // Handle the case when SPEED_COEFFICIENT sign is negative (which is when most significant bit is 1) + if ((SPEED_COEFFICIENT & (1 << 16)) >> 16) { + speedAvg = -speedAvg; + } + speedAvgAbs = abs(speedAvg); + #ifndef TRANSPOTTER // ####### MOTOR ENABLING: Only if the initial input is very small (for SAFETY) ####### - if (enable == 0 && (cmd1 > -50 && cmd1 < 50) && (cmd2 > -50 && cmd2 < 50)){ + if (enable == 0 && (!errCode_Left && !errCode_Right) && (cmd1 > -50 && cmd1 < 50) && (cmd2 > -50 && cmd2 < 50)){ shortBeep(6); // make 2 beeps indicating the motor enable shortBeep(4); HAL_Delay(100); enable = 1; // enable motors } + // ####### HOVERCAR ####### + #ifdef HOVERCAR + // Calculate speed Blend, a number between [0, 1] in fixdt(0,16,15) + uint16_t speedBlend; + speedBlend = (uint16_t)(((CLAMP(speedAvgAbs,30,90) - 30) << 15) / 60); // speedBlend [0,1] is within [30 rpm, 90rpm] + + // Check if Hovercar is physically close to standstill to enable Double tap detection on Brake pedal for Reverse functionality + if (speedAvgAbs < 20) { + multipleTapDet(cmd1, HAL_GetTick(), &MultipleTapBreak); // Break pedal in this case is "cmd1" variable + } + + // If Brake pedal (cmd1) is pressed, bring to 0 also the Throttle pedal (cmd2) to avoid "Double pedal" driving + if (cmd1 > 20) { + cmd2 = (int16_t)((cmd2 * speedBlend) >> 15); + } + + // Make sure the Brake pedal is opposite to the direction of motion AND it goes to 0 as we reach standstill (to avoid Reverse driving by Brake pedal) + if (speedAvg > 0) { + cmd1 = (int16_t)((-cmd1 * speedBlend) >> 15); + } else { + cmd1 = (int16_t)(( cmd1 * speedBlend) >> 15); + } + #endif + // ####### LOW-PASS FILTER ####### rateLimiter16(cmd1, RATE, &steerRateFixdt); rateLimiter16(cmd2, RATE, &speedRateFixdt); - filtLowPass16(steerRateFixdt >> 4, FILTER, &steerFixdt); - filtLowPass16(speedRateFixdt >> 4, FILTER, &speedFixdt); - steer = steerFixdt >> 4; // convert fixed-point to integer - speed = speedFixdt >> 4; // convert fixed-point to integer + filtLowPass32(steerRateFixdt >> 4, FILTER, &steerFixdt); + filtLowPass32(speedRateFixdt >> 4, FILTER, &speedFixdt); + steer = (int16_t)(steerFixdt >> 20); // convert fixed-point to integer + speed = (int16_t)(speedFixdt >> 20); // convert fixed-point to integer + + // ####### HOVERCAR ####### + #ifdef HOVERCAR + if (!MultipleTapBreak.b_multipleTap) { // Check driving direction + speed = steer + speed; // Forward driving + } else { + speed = steer - speed; // Reverse driving + } + #endif // ####### MIXER ####### // speedR = CLAMP((int)(speed * SPEED_COEFFICIENT - steer * STEER_COEFFICIENT), -1000, 1000); // speedL = CLAMP((int)(speed * SPEED_COEFFICIENT + steer * STEER_COEFFICIENT), -1000, 1000); - mixerFcn(speedFixdt, steerFixdt, &speedR, &speedL); // This function implements the equations above + mixerFcn(speed << 4, steer << 4, &speedR, &speedL); // This function implements the equations above #ifdef ADDITIONAL_CODE ADDITIONAL_CODE; @@ -637,13 +711,13 @@ int main(void) { // ####### CALC BOARD TEMPERATURE ####### - filtLowPass16(adc_buffer.temp, TEMP_FILT_COEF, &board_temp_adcFixdt); - board_temp_adcFilt = board_temp_adcFixdt >> 4; // convert fixed-point to integer + filtLowPass32(adc_buffer.temp, TEMP_FILT_COEF, &board_temp_adcFixdt); + board_temp_adcFilt = (int16_t)(board_temp_adcFixdt >> 20); // convert fixed-point to integer board_temp_deg_c = (TEMP_CAL_HIGH_DEG_C - TEMP_CAL_LOW_DEG_C) * (board_temp_adcFilt - TEMP_CAL_LOW_ADC) / (TEMP_CAL_HIGH_ADC - TEMP_CAL_LOW_ADC) + TEMP_CAL_LOW_DEG_C; - serialSendCounter++; // Increment the counter - if (serialSendCounter > 20) { // Send data every 100 ms = 20 * 5 ms, where 5 ms is approximately the main loop duration - serialSendCounter = 0; // Reset the counter + serialSendCnt++; // Increment the counter + if (serialSendCnt > 20) { // Send data every 100 ms = 20 * 5 ms, where 5 ms is approximately the main loop duration + serialSendCnt = 0; // Reset the counter // ####### DEBUG SERIAL OUT ####### #if defined(DEBUG_SERIAL_USART2) || defined(DEBUG_SERIAL_USART3) @@ -651,8 +725,8 @@ int main(void) { setScopeChannel(0, (int16_t)adc_buffer.l_tx2); // 1: ADC1 setScopeChannel(1, (int16_t)adc_buffer.l_rx2); // 2: ADC2 #endif - setScopeChannel(2, (int16_t)speedR); // 1: output command: [-1000, 1000] - setScopeChannel(3, (int16_t)speedL); // 2: output command: [-1000, 1000] + setScopeChannel(2, (int16_t)speedR); // 3: output command: [-1000, 1000] + setScopeChannel(3, (int16_t)speedL); // 4: output command: [-1000, 1000] setScopeChannel(4, (int16_t)adc_buffer.batt1); // 5: for battery voltage calibration setScopeChannel(5, (int16_t)(batVoltage * BAT_CALIB_REAL_VOLTAGE / BAT_CALIB_ADC)); // 6: for verifying battery voltage calibration setScopeChannel(6, (int16_t)board_temp_adcFilt); // 7: for board temperature calibration @@ -696,25 +770,29 @@ int main(void) { // ####### BEEP AND EMERGENCY POWEROFF ####### - if ((TEMP_POWEROFF_ENABLE && board_temp_deg_c >= TEMP_POWEROFF && abs(speed) < 20) || (batVoltage < BAT_LOW_DEAD && abs(speed) < 20)) { // poweroff before mainboard burns OR low bat 3 + if (errCode_Left || errCode_Right) { // disable motors and beep in case of Motor error - fast beep + enable = 0; + buzzerFreq = 8; + buzzerPattern = 1; + } else if ((TEMP_POWEROFF_ENABLE && board_temp_deg_c >= TEMP_POWEROFF && speedAvgAbs < 20) || (batVoltage < BAT_LOW_DEAD && speedAvgAbs < 20)) { // poweroff before mainboard burns OR low bat 3 poweroff(); } else if (TEMP_WARNING_ENABLE && board_temp_deg_c >= TEMP_WARNING) { // beep if mainboard gets hot - buzzerFreq = 4; + buzzerFreq = 4; buzzerPattern = 1; } else if (batVoltage < BAT_LOW_LVL1 && batVoltage >= BAT_LOW_LVL2 && BAT_LOW_LVL1_ENABLE) { // low bat 1: slow beep - buzzerFreq = 5; + buzzerFreq = 5; buzzerPattern = 42; } else if (batVoltage < BAT_LOW_LVL2 && batVoltage >= BAT_LOW_DEAD && BAT_LOW_LVL2_ENABLE) { // low bat 2: fast beep - buzzerFreq = 5; + buzzerFreq = 5; buzzerPattern = 6; - } else if (errCode_Left || errCode_Right || timeoutFlag) { // beep in case of Motor error or serial timeout - fast beep - buzzerFreq = 12; + } else if (timeoutFlagADC || timeoutFlagSerial) { // beep in case of ADC or Serial timeout - fast beep + buzzerFreq = 24; buzzerPattern = 1; - } else if (BEEPS_BACKWARD && speed < -50) { // backward beep - buzzerFreq = 5; + } else if (BEEPS_BACKWARD && speed < -50 && speedAvg < 0) { // backward beep + buzzerFreq = 5; buzzerPattern = 1; } else { // do not beep - buzzerFreq = 0; + buzzerFreq = 0; buzzerPattern = 0; } @@ -752,67 +830,27 @@ void shortBeep(uint8_t freq){ } // =========================================================== - /* Low pass filter fixed-point 16 bits: fixdt(1,16,4) + /* Low pass filter fixed-point 32 bits: fixdt(1,32,20) * Max: 2047.9375 * Min: -2048 * Res: 0.0625 * * Inputs: u = int16 - * Outputs: y = fixdt(1,16,4) + * Outputs: y = fixdt(1,32,20) * Parameters: coef = fixdt(0,16,16) = [0,65535U] * * Example: * If coef = 0.8 (in floating point), then coef = 0.8 * 2^16 = 52429 (in fixed-point) * filtLowPass16(u, 52429, &y); - * yint = y >> 4; // the integer output is the fixed-point ouput shifted by 4 bits + * yint = (int16_t)(y >> 20); // the integer output is the fixed-point ouput shifted by 20 bits */ -void filtLowPass16(int16_t u, uint16_t coef, int16_t *y) +void filtLowPass32(int16_t u, uint16_t coef, int32_t *y) { int32_t tmp; - - tmp = (((int16_t)(u << 4) * coef) >> 16) + - (((int32_t)(65535U - coef) * (*y)) >> 16); - - // Overflow protection - tmp = CLAMP(tmp, -32768, 32767); - - *y = (int16_t)tmp; -} - -// =========================================================== - /* Low pass filter fixed-point 32 bits: fixdt(1,32,16) - * Max: 32767.99998474121 - * Min: -32768 - * Res: 1.52587890625e-5 - * - * Inputs: u = int32 - * Outputs: y = fixdt(1,32,16) - * Parameters: coef = fixdt(0,16,16) = [0,65535U] - * - * Example: - * If coef = 0.8 (in floating point), then coef = 0.8 * 2^16 = 52429 (in fixed-point) - * filtLowPass16(u, 52429, &y); - * yint = y >> 16; // the integer output is the fixed-point ouput shifted by 16 bits - */ -void filtLowPass32(int32_t u, uint16_t coef, int32_t *y) -{ - int32_t q0; - int32_t q1; - int32_t tmp; - - q0 = (int32_t)(((int64_t)(u << 16) * coef) >> 16); - q1 = (int32_t)(((int64_t)(65535U - coef) * (*y)) >> 16); - - // Overflow protection - if ((q0 < 0) && (q1 < MIN_int32_T - q0)) { - tmp = MIN_int32_T; - } else if ((q0 > 0) && (q1 > MAX_int32_T - q0)) { - tmp = MAX_int32_T; - } else { - tmp = q0 + q1; - } - - *y = tmp; + + tmp = (int16_t)(u << 4) - (*y >> 16); + tmp = CLAMP(tmp, -32768, 32767); // Overflow protection + *y = coef * tmp + (*y); } // =========================================================== @@ -866,6 +904,67 @@ void rateLimiter16(int16_t u, int16_t rate, int16_t *y) *y = q0 + *y; } +// =========================================================== + /* multipleTapDet(int16_t u, uint32_t timeNow, MultipleTap *x) + * This function detects multiple tap presses, such as double tapping, triple tapping, etc. + * Inputs: u = int16_t (input signal); timeNow = uint32_t (current time) + * Outputs: x->b_multipleTap (get the output here) + */ +void multipleTapDet(int16_t u, uint32_t timeNow, MultipleTap *x) +{ + uint8_t b_timeout; + uint8_t b_hyst; + uint8_t b_pulse; + uint8_t z_pulseCnt; + uint8_t z_pulseCntRst; + uint32_t t_time; + + // Detect hysteresis + if (x->b_hysteresis) { + b_hyst = (u > MULTIPLE_TAP_LO); + } else { + b_hyst = (u > MULTIPLE_TAP_HI); + } + + // Detect pulse + b_pulse = (b_hyst != x->b_hysteresis); + + // Save time when first pulse is detected + if (b_hyst && b_pulse && (x->z_pulseCntPrev == 0)) { + t_time = timeNow; + } else { + t_time = x->t_timePrev; + } + + // Create timeout boolean + b_timeout = (timeNow - t_time > MULTIPLE_TAP_TIMEOUT); + + // Create pulse counter + if ((!b_hyst) && (x->z_pulseCntPrev == 0)) { + z_pulseCnt = 0U; + } else { + z_pulseCnt = b_pulse; + } + + // Reset counter if we detected complete tap presses OR there is a timeout + if ((x->z_pulseCntPrev >= MULTIPLE_TAP_NR) || b_timeout) { + z_pulseCntRst = 0U; + } else { + z_pulseCntRst = x->z_pulseCntPrev; + } + z_pulseCnt = z_pulseCnt + z_pulseCntRst; + + // Check if complete tap presses are detected AND no timeout + if ((z_pulseCnt >= MULTIPLE_TAP_NR) && (!b_timeout)) { + x->b_multipleTap = !x->b_multipleTap; // Toggle output + } + + // Update states + x->z_pulseCntPrev = z_pulseCnt; + x->b_hysteresis = b_hyst; + x->t_timePrev = t_time; +} + // =========================================================== /** System Clock Configuration diff --git a/docs/firmware_architecture.pptx b/docs/firmware_architecture.pptx index 9f5d105f442b4c1848c6166410892d6086df46b3..725fff9c3639e0f8a1428793c8e3c1368d9c1e06 100644 GIT binary patch delta 30327 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 UP$fW~X$#Vq^p5;l`16m$;?U|>C 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.svg index 00f990d..45ed165 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.svg @@ -1,10 +1,10 @@ - + - + @@ -13,11 +13,11 @@ - - + + - + @@ -27,29 +27,29 @@ - + 1 - + - + - + - + y @@ -61,11 +61,11 @@ - - + + - + @@ -75,7 +75,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -91,7 +91,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -114,23 +114,23 @@ - + - - + + - + - - sfix16_En4 + + sfix32_En20 @@ -141,60 +141,68 @@ - - - + + + - - + + - + - + - + - + - + - + + + + + + + + + - - + + - - + + - - + + - - ufix16_En16 + + sfix32_En20 @@ -205,67 +213,59 @@ - - - + + + - - + + - - - - - - - - - + - + - + - + - + - + - - + + - + - + - + sfix16_En4 @@ -277,52 +277,52 @@ - - - + + + - - + + - + - + - + - + - - + + - - + + - + - - sfix16_En4 + + sfix32_En20 @@ -333,107 +333,60 @@ - - - + + + - - + + - + - + - - 2 - - - - - - - - - - - - - - + + - - + + - - coef + + - - - - - - - - - - - ufix16_En16 - + - - - - - - - - - - - - - - - - - - - - - 1 - - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -444,52 +397,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 2 - - + + + + + + + + + + + + + + + + + coef - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -500,58 +460,58 @@ - - + + - + - + - + 1 - + - + - - + + - + u - + - - + + - + sfix16_En4 @@ -561,159 +521,145 @@ - + - + - + - + + + + - + + + + + - + - + + + + + - + - + - - - - + - - - - + - - - - - + - + - - - - - + - + + + + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - + 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 45955ba..9694905 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 @@ -178,64 +178,62 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"r_sin_M1", - "label":"r_sin_M1", + "name":"a_elecAngle_XA", + "label":"a_elecAngle_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", - "OutMin", - "OutMax", - "InternalRulePriority", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", "LockScale", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "FractionDataTypeStr", + "OutputBusDataTypeStr", "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" + "SampleTime", + "UseLastBreakpoint" ], "values":[ - "1", - "off", "Explicit values", "Dialog", - "r_sin_M1", - "Flat", - "Error", - "on", - "0", - "on", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(1,16,14)", + "a_elecAngle_XA", + "Index only", + "Evenly spaced points", + "Clip", + "None", + "off", + "Inherit: Same as input", "[]", "[]", - "Speed", - "off", - "Simplest", + "uint8", "off", - "Clip", - "Inherit: Same as output", + "on", "", - "-1" + "10", + "11", + "10", + "fixdt(0,16,14)", + "Inherit: auto", + "Simplest", + "-1", + "off" ], "tabs":[ "Main", @@ -244,8 +242,8 @@ ], "tabs_idx":[ 0, - 10, - 20 + 8, + 13 ] }, "viewer":{ @@ -254,16 +252,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"PreLookup", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755", "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"r_cos_M1", - "label":"r_cos_M1", + "name":"r_sin_M1", + "label":"r_sin_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -297,7 +295,7 @@ "off", "Explicit values", "Dialog", - "r_cos_M1", + "r_sin_M1", "Flat", "Error", "on", @@ -340,73 +338,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9639", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"a_elecAngle_XA", - "label":"a_elecAngle_XA", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "LockScale", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "FractionDataTypeStr", - "OutputBusDataTypeStr", - "RndMeth", - "SampleTime", - "UseLastBreakpoint" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "Explicit values", - "Dialog", - "a_elecAngle_XA", - "Index only", - "Evenly spaced points", - "Clip", - "None", - "off", - "Inherit: Same as input", - "[]", - "[]", - "uint8", - "off", - "on", - "", - "10", - "11", - "10", - "fixdt(0,16,14)", - "Inherit: auto", - "Simplest", - "-1", - "off" + "a_elecAngle", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Types", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 8, - 13 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -414,26 +366,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9646", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_cos", - "local", "Tag" ], "tabs":[ @@ -447,24 +397,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9646", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", + "r_cos", + "local", "Tag" ], "tabs":[ @@ -478,24 +430,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9644", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", + "r_sin", + "local", "Tag" ], "tabs":[ @@ -509,26 +463,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9639", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", - "local", + "r_sin", "Tag" ], "tabs":[ @@ -542,7 +494,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -596,27 +548,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9644", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"r_cos", + "label":"r_cos", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "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":[ - "r_sin", - "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" @@ -624,16 +623,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -641,7 +640,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "a_elecAngle", "Tag" ], "tabs":[ @@ -660,73 +659,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"r_cos", - "label":"r_cos", + "name":"r_cos_M1", + "label":"r_cos_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":[ - "2", - "Port number", + "1", + "off", + "Explicit values", + "Dialog", + "r_cos_M1", + "Flat", + "Error", + "on", + "0", + "on", + "Inherit: Same as output", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", + "fixdt(1,16,14)", "[]", + "[]", + "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":{ @@ -735,7 +735,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Interpolation_n-D", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg index fa37b7c..7dbb413 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg @@ -105,6 +105,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a_elecAngle_XA + + + + + + + + + + + + + + + uint8 + + + + + + + + @@ -117,315 +260,315 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + 1-D T(k,f) - + - + k1 - + - + f1 @@ -443,11 +586,11 @@ - + - + r_sin_M1 @@ -458,11 +601,11 @@ - + - + sfix16_En14 @@ -474,845 +617,702 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [a_elecAngle] - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [r_cos] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En14 + + + + + + + + + + + + + + + + + + - - + + - - + + [r_cos] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [r_sin] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [r_sin] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En14 + + + + + + + + + + + + + + + + + + - - + + - - + + 0 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + uint8 + + + + + + + + + + + + + + + + + + - - + + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + r_cos + + + + + + + + + + + + + + + + + + - - + + - - + + [a_elecAngle] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En6 + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - - - - - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - - - - - f1 - - - - - - - - - - - - - - + + - - + + - - r_cos_M1 - - - - - - - + + - - + + - - sfix16_En14 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - a_elecAngle_XA - - - - - - - + + - - + + - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - [r_cos] - - - - - - - + + - - - - - - - - - - - - - - - - - - - + - - [r_sin] - - - - - - - + + - - - - - - + + + + + + + - - + + - - sfix16_En14 + + - - - - - - - - - - - - - - - - - - - + - - [a_elecAngle] - - - - - - - - - - - - - - + + - + - - sfix16_En6 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - [a_elecAngle] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - + - - 0 - - - - - - - - - - - - - - + + - + - - uint8 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - [r_sin] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - + - - [r_cos] - - - - - - - - - - - - - - + + 1-D T(k,f) - + - - sfix16_En14 + + k1 - - - - - - - - - - - - - - - - - - - - + + - - 2 + + f1 - - + + - - + + + + + + + + + + r_cos_M1 + + + + + + + - + - - r_cos + + sfix16_En14 @@ -1538,5 +1538,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 8a5de1a..8591c7c 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 @@ -311,6 +311,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum6", + "label":"Sum6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "-+", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "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:8879", "className":"Simulink.Sum", @@ -519,59 +578,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax2", - "label":"MinMax2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" - ], - "values":[ - "Inherit: Inherit via internal rule", - "max", - "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:8873", "className":"Simulink.Gain", @@ -631,65 +637,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "-+", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "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:8872", "className":"Simulink.Gain", @@ -920,6 +867,59 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax2", + "label":"MinMax2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "max", + "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: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 bc2ba81..9a7c00e 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 @@ -263,6 +263,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -275,19 +339,19 @@ - + - + - + - + @@ -305,11 +369,11 @@ - + - + sfix16_En4 @@ -331,11 +395,11 @@ - + - + @@ -353,11 +417,11 @@ - + - + sfix16_En4 @@ -379,11 +443,11 @@ - + - + 2/sqrt(3) @@ -401,11 +465,11 @@ - + - + sfix16_En4 @@ -427,11 +491,11 @@ - + - + 1/2 @@ -449,75 +513,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -539,11 +539,11 @@ - + - + 0.5 @@ -561,75 +561,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -651,11 +587,11 @@ - + - + sqrt(3)/2 @@ -673,11 +609,11 @@ - + - + sfix16_En4 @@ -699,19 +635,19 @@ - + - + - + - + @@ -737,11 +673,11 @@ - + - + sfix16_En4 @@ -763,27 +699,27 @@ - + - + - + - + - + - + @@ -801,11 +737,11 @@ - + - + sfix16_En4 @@ -827,35 +763,35 @@ - + - + - + - + - + - + - + - + @@ -873,11 +809,75 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1193,5 +1193,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 025ae4b..225a075 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 @@ -536,11 +536,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -549,7 +549,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_cos", "local", "Tag" ], @@ -569,11 +569,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -582,7 +582,7 @@ "IconDisplay" ], "values":[ - "Vd", + "r_sin", "local", "Tag" ], @@ -602,11 +602,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -615,7 +615,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vd", "local", "Tag" ], @@ -634,37 +634,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8901", "className":"Simulink.From", @@ -790,21 +759,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", - "local", + "r_sin", "Tag" ], "tabs":[ @@ -818,16 +785,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8894", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -880,11 +847,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -892,7 +859,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd", "Tag" ], "tabs":[ @@ -911,11 +878,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd", + "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":[ @@ -967,6 +965,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_cos", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8907", "className":"Simulink.Sum", @@ -1026,37 +1055,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8891", "className":"Simulink.Product", @@ -1115,11 +1113,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8894", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1172,19 +1170,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", + "Vq", + "local", "Tag" ], "tabs":[ @@ -1198,7 +1198,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, 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 9626a61..29e6b33 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 @@ -476,11 +476,11 @@ - - + + - + @@ -490,14 +490,14 @@ - - [r_sin] + + [r_cos] - + @@ -509,11 +509,11 @@ - - + + - + @@ -523,14 +523,14 @@ - - [Vd] + + [r_sin] - + @@ -542,11 +542,11 @@ - - + + - + @@ -556,63 +556,15 @@ - - [Vq] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [Vd] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -633,11 +585,11 @@ - + - + [r_sin] @@ -655,11 +607,11 @@ - + - + sfix16_En14 @@ -681,11 +633,11 @@ - + - + [Vq] @@ -703,11 +655,11 @@ - + - + sfix16_En4 @@ -729,11 +681,11 @@ - + - + [r_cos] @@ -751,11 +703,11 @@ - + - + sfix16_En14 @@ -777,11 +729,11 @@ - + - + [Vq] @@ -799,11 +751,11 @@ - + - + sfix16_En4 @@ -815,29 +767,44 @@ - - - + + + - - + + - - + + - - [r_cos] + + [r_sin] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -848,51 +815,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -904,44 +871,44 @@ - - + + - + - + - - [r_sin] + + [Vd] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -952,51 +919,43 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [Vd] - - + + - + - - + + - + sfix16_En4 @@ -1008,68 +967,100 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [r_cos] - - + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1080,43 +1071,67 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + - + - - [Vd] + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1138,19 +1153,19 @@ - + - + - + - + @@ -1168,11 +1183,11 @@ - + - + sfix16_En4 @@ -1184,51 +1199,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -1240,44 +1255,29 @@ - - - + + + - - + + - - + + - - [r_cos] + + [Vq] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -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 dcf86c7..af8aadb 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 @@ -244,86 +244,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9017", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"Vq_nLimProtMax", - "label":"Vq_nLimProtMax", - "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":[ - "12", - "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:9014", "className":"Simulink.Outport", @@ -485,11 +405,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9012", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -518,7 +438,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "8", "Port number", "[]", "[]", @@ -531,7 +451,7 @@ "auto", "off", "off", - "750", + "-750", "off", "held", "off", @@ -565,11 +485,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -598,7 +518,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -611,7 +531,7 @@ "auto", "off", "off", - "-900", + "750", "off", "held", "off", @@ -645,11 +565,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10712", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_nLimProtMax", - "label":"r_nLimProtMax", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -678,7 +598,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "10", + "1", "Port number", "[]", "[]", @@ -691,7 +611,7 @@ "auto", "off", "off", - "[]", + "900", "off", "held", "off", @@ -885,73 +805,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vq_max_XA", - "label":"Vq_max_XA", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "LockScale", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "FractionDataTypeStr", - "OutputBusDataTypeStr", - "RndMeth", - "SampleTime", - "UseLastBreakpoint" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "Explicit values", - "Dialog", - "Vq_max_XA", - "Index only", - "Evenly spaced points", - "Clip", - "Error", - "off", - "Inherit: Same as input", - "[]", - "[]", - "uint8", - "off", - "on", - "", - "10", - "11", - "10", - "fixdt(0,8,6)", - "Inherit: auto", - "Simplest", - "-1", - "off" + "iq_min", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Types", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 8, - 13 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -959,79 +833,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"Goto5", + "label":"Goto5", "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", + "TagVisibility", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "750", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "iq_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1039,79 +866,177 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vq_max_M1", - "label":"Vq_max_M1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", + "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:10718", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto22", + "label":"Goto22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_iqLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10713", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto20", + "label":"Goto20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_limProtErr", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vq_max", + "label":"Vq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", - "InternalRulePriority", + "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "Vq_max_M1", - "Flat", - "Error", - "on", - "0", - "on", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(1,16,4)", + "3", + "Port number", "[]", "[]", - "Speed", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "Clip", - "Inherit: Same as output", + "off", + "900", + "off", + "held", + "off", + "0", "", - "-1" + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 10, - 20 + 2, + 11 ] }, "viewer":{ @@ -1120,37 +1045,101 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10705", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vd_max1", - "label":"Vd_max1", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vd_min", + "label":"Vd_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "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":[ - "Vd_max", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "-900", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -1159,8 +1148,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1169,16 +1158,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Voltage_Mode_Protection", - "label":"Voltage_Mode_Protection", + "name":"Speed_Mode_Protection", + "label":"Speed_Mode_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1271,91 +1260,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_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":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "-750", - "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:8974", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10696", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1364,7 +1273,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "iqAbs", "local", "Tag" ], @@ -1384,27 +1293,33 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10565", + "className":"Simulink.SwitchCase", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Switch Case", + "label":"Switch Case", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "CaseConditions", + "ShowDefaultCase", + "SampleTime", + "ZeroCross" ], "values":[ - "iq_max", - "local", - "Tag" + "{VLT_MODE, SPD_MODE, TRQ_MODE}", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1412,16 +1327,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SwitchCase", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10694", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1430,7 +1345,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "n_motAbs", "local", "Tag" ], @@ -1450,11 +1365,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10718", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1463,7 +1378,7 @@ "IconDisplay" ], "values":[ - "r_iqLimProtMax", + "z_ctrlMod", "local", "Tag" ], @@ -1483,11 +1398,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10713", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1496,7 +1411,7 @@ "IconDisplay" ], "values":[ - "iq_limProtErr", + "n_max", "local", "Tag" ], @@ -1516,11 +1431,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1529,7 +1444,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "VdPrev", "local", "Tag" ], @@ -1549,11 +1464,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10705", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1562,7 +1477,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "Vd_max", "local", "Tag" ], @@ -1582,11 +1497,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10712", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"r_nLimProtMax", + "label":"r_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1615,7 +1530,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "10", "Port number", "[]", "[]", @@ -1628,7 +1543,7 @@ "auto", "off", "off", - "900", + "[]", "off", "held", "off", @@ -1662,126 +1577,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10694", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_motAbs", - "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":[ - "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:8962", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "VdPrev", - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9017", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Vq_nLimProtMax", + "label":"Vq_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "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":[ - "id_max", - "local", - "Tag" + "12", + "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" @@ -1789,16 +1652,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain5", - "label":"Gain5", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1853,27 +1716,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10715", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8957", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", + "name":"Gain3", + "label":"Gain3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "Vq_nLimProtMax", - "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" @@ -1881,57 +1770,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8957", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"Gain3", - "label":"Gain3", + "name":"Vq_max_M1", + "label":"Vq_max_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", "OutMin", "OutMax", - "OutDataTypeStr", + "InternalRulePriority", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", "SampleTime" ], "values":[ - "-1", - "Element-wise(K.*u)", + "1", + "off", + "Explicit values", + "Dialog", + "Vq_max_M1", + "Flat", + "Error", + "on", + "0", + "on", + "Inherit: Same as output", "[]", "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", + "fixdt(1,16,4)", "[]", "[]", - "Inherit: Same as input", + "Speed", + "off", + "Simplest", + "off", + "Clip", + "Inherit: Same as output", + "", "-1" ], "tabs":[ "Main", - "Signal Attributes", - "Parameter Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 10, + 20 ] }, "viewer":{ @@ -1940,7 +1851,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Interpolation_n-D", "masktype":"" } }, @@ -2035,50 +1946,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8954", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "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:8953", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "id_min", + "local", "Tag" ], "tabs":[ @@ -2092,140 +1974,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10710", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_nLimProtMax", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10709", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_iqLimProtMax", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10700", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10684", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8954", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2233,7 +1991,7 @@ "IconDisplay" ], "values":[ - "n_max", + "iq_max", "Tag" ], "tabs":[ @@ -2252,11 +2010,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10683", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2264,7 +2022,7 @@ "IconDisplay" ], "values":[ - "iq", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -2283,11 +2041,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2295,7 +2053,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "Vd_min", "Tag" ], "tabs":[ @@ -2314,11 +2072,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10710", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2326,7 +2084,7 @@ "IconDisplay" ], "values":[ - "iq_limProtErr", + "r_nLimProtMax", "Tag" ], "tabs":[ @@ -2345,19 +2103,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10816", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10727", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "r_nLimProtMax", + "local", "Tag" ], "tabs":[ @@ -2371,16 +2131,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10699", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10709", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2388,7 +2148,7 @@ "IconDisplay" ], "values":[ - "iqAbs", + "r_iqLimProtMax", "Tag" ], "tabs":[ @@ -2407,11 +2167,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2419,7 +2179,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vq_min", "Tag" ], "tabs":[ @@ -2438,11 +2198,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10699", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2450,7 +2210,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "iqAbs", "Tag" ], "tabs":[ @@ -2469,42 +2229,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Torque_Mode_Protection", + "label":"Torque_Mode_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "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":[ - "Vq_nLimProtMax", - "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:8934", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10564", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2512,7 +2338,7 @@ "IconDisplay" ], "values":[ - "VdPrev", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -2531,11 +2357,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10780", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2543,7 +2369,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "id_min", "Tag" ], "tabs":[ @@ -2562,84 +2388,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9732", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Vq_max_XA", + "label":"Vq_max_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", "LockScale", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "FractionDataTypeStr", + "OutputBusDataTypeStr", "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "SampleTime", + "UseLastBreakpoint" ], "values":[ - "*/", - "Element-wise(.*)", + "Explicit values", + "Dialog", + "Vq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", + "Error", "off", + "Inherit: Same as input", "[]", "[]", - "fixdt(0,16,16)", + "uint8", "off", - "Simplest", "on", - "1", - "All dimensions", - "-1" + "", + "10", + "11", + "10", + "fixdt(0,8,6)", + "Inherit: auto", + "Simplest", + "-1", + "off" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10727", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_nLimProtMax", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 + 8, + 13 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2647,38 +2462,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"PreLookup", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10565", - "className":"Simulink.SwitchCase", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch Case", - "label":"Switch Case", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "CaseConditions", - "ShowDefaultCase", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "{VLT_MODE, SPD_MODE, TRQ_MODE}", - "off", - "-1", - "on" + "id_TgtAbs", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2686,16 +2495,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SwitchCase", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2724,7 +2533,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "4", "Port number", "[]", "[]", @@ -2737,7 +2546,7 @@ "auto", "off", "off", - "-750", + "-900", "off", "held", "off", @@ -2771,21 +2580,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10683", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "iq", "Tag" ], "tabs":[ @@ -2799,16 +2606,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10715", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2817,7 +2624,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "Vq_nLimProtMax", "local", "Tag" ], @@ -2837,11 +2644,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9012", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2870,7 +2677,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "7", "Port number", "[]", "[]", @@ -2883,7 +2690,7 @@ "auto", "off", "off", - "-900", + "750", "off", "held", "off", @@ -2917,140 +2724,56 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10602", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Torque_Mode_Protection", - "label":"Torque_Mode_Protection", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", "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" + "GotoTag", + "IconDisplay" ], "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", - "" + "Vd_max", + "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":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10675", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10685", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "uint8", - "off", - "inf" + "iq_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3058,26 +2781,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", - "local", + "iq_limProtErr", "Tag" ], "tabs":[ @@ -3091,48 +2812,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9005", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10816", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_max1", - "label":"n_max1", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "n_max", - "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", - "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" @@ -3140,56 +2843,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9733", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "Vq_nLimProtMax", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3197,16 +2874,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10680", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10682", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3214,7 +2891,7 @@ "IconDisplay" ], "values":[ - "n_max", + "iq_min", "Tag" ], "tabs":[ @@ -3233,21 +2910,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10684", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq", - "local", + "n_max", "Tag" ], "tabs":[ @@ -3261,47 +2936,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10674", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Constant", - "label":"Constant", + "name":"Gain5", + "label":"Gain5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "0", - "on", - "inf", + "-1", + "Element-wise(K.*u)", "[]", "[]", - "uint8", + "Inherit: Same as input", "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":{ @@ -3310,47 +2995,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10564", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Voltage_Mode_Protection", + "label":"Voltage_Mode_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "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":[ - "z_ctrlMod", - "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:9002", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10675", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3364,12 +3115,12 @@ "FramePeriod" ], "values":[ - "i_max", + "0", "on", "inf", "[]", "[]", - "fixdt(1,16,4)", + "uint8", "off", "inf" ], @@ -3395,41 +3146,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "-1", - "on" + "Vq_min", + "local", + "Tag" ], - "tabs":[ - "Signal Attributes", - "-Other" + "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3437,24 +3174,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10708", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtScaAbs", + "id_max", + "local", "Tag" ], "tabs":[ @@ -3468,32 +3207,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10674", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Constant", + "label":"Constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "id_min", - "local", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "uint8", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3501,55 +3256,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10693", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9732", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "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":[ - "7", - "Port number", + "*/", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "fixdt(0,16,16)", "off", - "", + "Simplest", "on", - "off", - "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -3559,7 +3304,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -3568,16 +3313,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10693", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3593,20 +3338,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", "[]", "[]", @@ -3618,17 +3357,10 @@ "-1", "auto", "off", + "", + "on", "off", - "900", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -3648,16 +3380,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10685", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10681", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3684,11 +3416,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3696,7 +3428,7 @@ "IconDisplay" ], "values":[ - "id_max", + "Vq_max", "Tag" ], "tabs":[ @@ -3715,11 +3447,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10695", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iqAbs", - "label":"iqAbs", + "name":"iq", + "label":"iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3742,7 +3474,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "5", "Port number", "[]", "[]", @@ -3782,19 +3514,88 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8916", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"id_TgtAbs", + "label":"id_TgtAbs", + "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":[ + "4", + "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:8976", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", + "iq", + "local", "Tag" ], "tabs":[ @@ -3808,26 +3609,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10680", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "n_max", - "local", "Tag" ], "tabs":[ @@ -3841,30 +3640,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10361", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "held", - "Only when execution is resumed" + "i_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" @@ -3872,16 +3689,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10681", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10700", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3889,7 +3706,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "n_motAbs", "Tag" ], "tabs":[ @@ -3908,11 +3725,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10695", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"iqAbs", + "label":"iqAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3935,7 +3752,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -3975,11 +3792,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8916", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_TgtAbs", - "label":"id_TgtAbs", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3995,14 +3812,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "6", "Port number", "[]", "[]", @@ -4014,10 +3837,17 @@ "-1", "auto", "off", - "", - "on", "off", + "-750", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -4037,7 +3867,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, @@ -4109,85 +3939,177 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10584", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Speed_Mode_Protection", - "label":"Speed_Mode_Protection", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Vd_max1", + "label":"Vd_max1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "Vd_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:10780", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_motAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "VdPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs5", + "label":"Abs5", "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" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", "-1", - "", - "off", - "" + "on" ], "tabs":[ - "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ @@ -4196,32 +4118,30 @@ ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10696", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10361", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "iqAbs", - "local", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -4234,57 +4154,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9733", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", + "Inputs", "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", + "CollapseDim", + "CollapseMode", "SampleTime" ], "values":[ - "-1", - "Element-wise(K.*u)", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: Same as input", + "fixdt(1,16,4)", "off", - "Zero", + "Simplest", "off", - "[]", - "[]", - "Inherit: Same as input", + "1", + "All dimensions", "-1" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, - 11 + 9 ] }, "viewer":{ @@ -4293,24 +4211,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10682", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_min", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -4324,16 +4244,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10704", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtScaAbs", - "label":"r_inpTgtScaAbs", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4356,7 +4276,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -4396,11 +4316,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10708", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From29", + "label":"From29", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "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)", + "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:10704", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", + "name":"r_inpTgtScaAbs", + "label":"r_inpTgtScaAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4423,7 +4423,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_8913_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png index 1b3b3b9527b2d84fdd9a1e4a2f0c4a094588bd3e..c9f199cfaddb208f062dbe77084898c8a67505d9 100644 GIT binary patch literal 13755 zcma)jcQ}>t|MxL6PgYho30Yam-kYpsWgS^r5oPb4oshjr$jS=Ygsg~UuaJyF$a>!A z`~6+N=X(BouB&pToO9ow`#oOkL}_a(UnQU+Kp+rTRaF#p;p->#Z#*3Mv%>IQHhjT% zQ898uAc(rrzcG@zh-eWACWNYjte$7)cGhE;http2FFg?qf5Q+eLD(LyiH&wB2Pf55 zl~(p0*O_YZsBP6hD1pC)#WueNUa=>?T8ZL{%Zd_AzCLr3Fwm`;I=AwE``Zie#9t|I z{7T-?vvg!3RDUu3-EKYEJIJmgCA^}``Yhl9HyQDhCd7i*QMS+UIV0&{4L2UPoa`I+ zIRqw(M;;j}!-2_9f|-ZcErS=zLW0Fi@Eh%k{wg)#l$TndFq-3lixBl==Y`b(NA0HpZKJwKP=_@RxOo@xm-3pi@o+OR_^n5g; z1$(C$Swye1e>nfJBiH5-DX2DVJbGucG=HBHBQ3^fVRya0$FlvMX?vZ6jGJK9Biy~6 zW*KE%5(13q=s+`KJE2+repZhdC9F{)msLEEd25T&BArS?3`Fn}>$`ekoG-{M|#vFD7REC;fRdz3oVLPkTFJ!v4-@8^NDj zTX|!4p?*qAN_>KXA)XR(+1U)=9EGt%WZ&1-q59(JJN@;`>K5;i6I>A!6XO)4LU>9r zG|o9^in`%!y3xqlm-6NAVzKYyrF%V1 z={;`TxwCW{gfOcytoiG+p5;;Hv1{h|{XM=~5gAJ&9uE(Xwp0rST*u=6iMD}3gt*5} z`})3Y$vA4f_+F#}i-_-W)n3non--pH1dGqHu&~-&ecHRRZJFR)_QmKj^CA@j2d~hH zAYx(=X1BEsaF2c4_eb3NhCd_b=GxCBj+#rOn!^XLSZUs$*_QE>w0&*=?DyZWu0XZA zU-2F*e=b8_n{xPEx@g3m-#+VW*%r>Y*T~EjW^MF&WaI`pK{671oh5Z}?Ay234SrCK z8aBJ;HsVMetQe)0m#2-z6?;fVEJK_G4hyfpPImS`)v}wp8CTV9M=bYHS{4Z^dq;C~ z-zG;B>f(oNx_%60@I&Reh;TcWFc964%Ol}<5p2jEuE91aCQL^pf4FD!+q?Cv>vyA+ zEm9WJb}Mfo>;Ye`yv6Jdf-ANfZ1;b=^{xaebRJ64hH79zU%#oWtUR_cCq@zxby`-p zZ@LGgsE>W6T26js+>9^#q^eaiP7L>5+7*#2#detv#NAJ=r{ zA4`#Iej%XkvqlA4m3B!sD2jn853ME8zPM+H8J) zzU8^qU%NFL+V)sy=eZA8n&*h36ke_s2CUF7wC6ZxD7LPXD@n975L#?q5QzDoir;KY zt;swHTIq9DFTpA8=aek^UoT=@He%=LRhNE6)JOYAkgLi~e ztYvk`(=#$sfBF5Wpd$HjqCTve%4s3ChdY`vqgG$CDs)>>$BrtRe|sOpmRim6<6UE71L1`FOw#-mVJd;+_Q<#Y zs4tT|uw+Vxl}y!))s&mEpsudYjwVfm%$1<%TIx07?{Z?x3TKxqFj!nW3=B-VU7G9uz43u-u#>6x&m5ZESoS%VXrIR*n~0e=H~V~JsmTU zoBcdv;f(E~(UxH7<9*LXjOTX{^*onX>7QIa>wli|OV%)@$2Q>H0a-kb80-Ytg*!KQ zyvi