From af14b3c4b191c9ff9ba1899c22daa063f84a8152 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Mon, 21 Oct 2019 17:51:09 +0200 Subject: [PATCH] Improved Field Weakening The performance of the Field Weakening is improved by reducing noise at higher speeds. --- .../01_Controller/BLDC_controller_Lib.slx | Bin 50680 -> 50646 bytes .../create_tableParamType.m | 17 + .../03_CreateParamTable/tableParamType.xlsx | Bin 12232 -> 13209 bytes ...LDCmotorControl_FOC_R2017b_fixdt_29_d.json | 6342 ++++----- ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.png | Bin 10825 -> 10832 bytes ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg | 7330 +++++------ ...motorControl_FOC_R2017b_fixdt_29_icons.png | Bin 3304 -> 3304 bytes ...CmotorControl_FOC_R2017b_fixdt_8220_d.json | 1318 +- ...DCmotorControl_FOC_R2017b_fixdt_8220_d.png | Bin 14720 -> 14718 bytes ...DCmotorControl_FOC_R2017b_fixdt_8220_d.svg | 2022 +-- ...CmotorControl_FOC_R2017b_fixdt_8225_d.json | 100 +- ...DCmotorControl_FOC_R2017b_fixdt_8225_d.svg | 272 +- ...CmotorControl_FOC_R2017b_fixdt_8235_d.json | 78 +- ...DCmotorControl_FOC_R2017b_fixdt_8235_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_8247_d.svg | 36 +- ...CmotorControl_FOC_R2017b_fixdt_8263_d.json | 3244 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8263_d.png | Bin 8313 -> 8315 bytes ...DCmotorControl_FOC_R2017b_fixdt_8263_d.svg | 4922 +++---- ...orControl_FOC_R2017b_fixdt_8272_2515_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_8272_d.json | 206 +- ...DCmotorControl_FOC_R2017b_fixdt_8272_d.svg | 414 +- ...CmotorControl_FOC_R2017b_fixdt_8314_d.json | 1814 +-- ...DCmotorControl_FOC_R2017b_fixdt_8314_d.svg | 5272 ++++---- ...CmotorControl_FOC_R2017b_fixdt_8384_d.json | 1382 +- ...DCmotorControl_FOC_R2017b_fixdt_8384_d.png | Bin 7333 -> 7891 bytes ...DCmotorControl_FOC_R2017b_fixdt_8384_d.svg | 1738 +-- ...CmotorControl_FOC_R2017b_fixdt_8469_d.json | 2712 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8469_d.png | Bin 6574 -> 6565 bytes ...DCmotorControl_FOC_R2017b_fixdt_8469_d.svg | 4385 +++---- ...rControl_FOC_R2017b_fixdt_8486_2423_d.json | 62 +- ...orControl_FOC_R2017b_fixdt_8486_2423_d.svg | 138 +- ...rControl_FOC_R2017b_fixdt_8486_2428_d.json | 968 +- ...orControl_FOC_R2017b_fixdt_8486_2428_d.svg | 1874 +-- ...trol_FOC_R2017b_fixdt_8486_2435_2515_d.svg | 38 +- ...rControl_FOC_R2017b_fixdt_8486_2435_d.json | 236 +- ...orControl_FOC_R2017b_fixdt_8486_2435_d.svg | 582 +- ...rControl_FOC_R2017b_fixdt_8486_2473_d.json | 580 +- ...orControl_FOC_R2017b_fixdt_8486_2473_d.svg | 1402 +- ...trol_FOC_R2017b_fixdt_8486_2480_2515_d.svg | 4 +- ...rControl_FOC_R2017b_fixdt_8486_2480_d.json | 200 +- ...orControl_FOC_R2017b_fixdt_8486_2480_d.svg | 464 +- ...orControl_FOC_R2017b_fixdt_8486_2507_d.svg | 38 +- ...CmotorControl_FOC_R2017b_fixdt_8486_d.json | 1262 +- ...DCmotorControl_FOC_R2017b_fixdt_8486_d.png | Bin 6783 -> 6796 bytes ...DCmotorControl_FOC_R2017b_fixdt_8486_d.svg | 2412 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8519_d.svg | 38 +- ...CmotorControl_FOC_R2017b_fixdt_8535_d.json | 796 +- ...DCmotorControl_FOC_R2017b_fixdt_8535_d.png | Bin 7844 -> 7857 bytes ...DCmotorControl_FOC_R2017b_fixdt_8535_d.svg | 1414 +- ...CmotorControl_FOC_R2017b_fixdt_8546_d.json | 2146 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8546_d.svg | 2834 ++-- ...CmotorControl_FOC_R2017b_fixdt_8603_d.json | 74 +- ...DCmotorControl_FOC_R2017b_fixdt_8603_d.svg | 200 +- ...CmotorControl_FOC_R2017b_fixdt_8658_d.json | 7622 +++++------ ...DCmotorControl_FOC_R2017b_fixdt_8658_d.png | Bin 9737 -> 9826 bytes ...DCmotorControl_FOC_R2017b_fixdt_8658_d.svg | 10706 ++++++++-------- ...CmotorControl_FOC_R2017b_fixdt_8668_d.json | 616 +- ...DCmotorControl_FOC_R2017b_fixdt_8668_d.png | Bin 5858 -> 5838 bytes ...DCmotorControl_FOC_R2017b_fixdt_8668_d.svg | 1234 +- ...CmotorControl_FOC_R2017b_fixdt_8671_d.json | 872 +- ...DCmotorControl_FOC_R2017b_fixdt_8671_d.svg | 852 +- ...CmotorControl_FOC_R2017b_fixdt_8686_d.json | 400 +- ...DCmotorControl_FOC_R2017b_fixdt_8686_d.svg | 604 +- ...CmotorControl_FOC_R2017b_fixdt_8726_d.json | 618 +- ...DCmotorControl_FOC_R2017b_fixdt_8726_d.png | Bin 5186 -> 5184 bytes ...DCmotorControl_FOC_R2017b_fixdt_8726_d.svg | 1506 +-- ...CmotorControl_FOC_R2017b_fixdt_8738_d.json | 280 +- ...DCmotorControl_FOC_R2017b_fixdt_8738_d.svg | 378 +- ...CmotorControl_FOC_R2017b_fixdt_8743_d.json | 2699 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8743_d.png | Bin 9524 -> 9568 bytes ...DCmotorControl_FOC_R2017b_fixdt_8743_d.svg | 3789 ++++-- ...CmotorControl_FOC_R2017b_fixdt_8866_d.json | 356 +- ...DCmotorControl_FOC_R2017b_fixdt_8866_d.png | Bin 4635 -> 4627 bytes ...DCmotorControl_FOC_R2017b_fixdt_8866_d.svg | 808 +- ...CmotorControl_FOC_R2017b_fixdt_8886_d.json | 546 +- ...DCmotorControl_FOC_R2017b_fixdt_8886_d.png | Bin 7779 -> 7763 bytes ...DCmotorControl_FOC_R2017b_fixdt_8886_d.svg | 1182 +- ...CmotorControl_FOC_R2017b_fixdt_8913_d.json | 3526 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8913_d.png | Bin 14265 -> 14250 bytes ...DCmotorControl_FOC_R2017b_fixdt_8913_d.svg | 7604 +++++------ ...CmotorControl_FOC_R2017b_fixdt_8924_d.json | 466 +- ...DCmotorControl_FOC_R2017b_fixdt_8924_d.png | Bin 3748 -> 3748 bytes ...DCmotorControl_FOC_R2017b_fixdt_8924_d.svg | 400 +- ...DCmotorControl_FOC_R2017b_fixdt_8930_d.svg | 10 +- ...CmotorControl_FOC_R2017b_fixdt_8987_d.json | 236 +- ...DCmotorControl_FOC_R2017b_fixdt_8987_d.png | Bin 4089 -> 4092 bytes ...DCmotorControl_FOC_R2017b_fixdt_8987_d.svg | 458 +- ...DCmotorControl_FOC_R2017b_fixdt_8993_d.svg | 12 +- ...CmotorControl_FOC_R2017b_fixdt_9029_d.json | 682 +- ...DCmotorControl_FOC_R2017b_fixdt_9029_d.svg | 894 +- ...orControl_FOC_R2017b_fixdt_9040_2342_d.svg | 6 +- ...orControl_FOC_R2017b_fixdt_9040_2395_d.svg | 24 +- ...CmotorControl_FOC_R2017b_fixdt_9040_d.json | 530 +- ...DCmotorControl_FOC_R2017b_fixdt_9040_d.svg | 648 +- ...DCmotorControl_FOC_R2017b_fixdt_9042_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9045_d.json | 340 +- ...DCmotorControl_FOC_R2017b_fixdt_9045_d.svg | 726 +- ...CmotorControl_FOC_R2017b_fixdt_9074_d.json | 1166 +- ...DCmotorControl_FOC_R2017b_fixdt_9074_d.png | Bin 5233 -> 5225 bytes ...DCmotorControl_FOC_R2017b_fixdt_9074_d.svg | 1872 +-- ...rControl_FOC_R2017b_fixdt_9098_2275_d.json | 194 +- ...orControl_FOC_R2017b_fixdt_9098_2275_d.svg | 268 +- ...orControl_FOC_R2017b_fixdt_9098_2282_d.svg | 12 +- ...CmotorControl_FOC_R2017b_fixdt_9098_d.json | 1346 +- ...DCmotorControl_FOC_R2017b_fixdt_9098_d.png | Bin 6957 -> 6949 bytes ...DCmotorControl_FOC_R2017b_fixdt_9098_d.svg | 1424 +- ...DCmotorControl_FOC_R2017b_fixdt_9099_d.svg | 30 +- ...CmotorControl_FOC_R2017b_fixdt_9109_d.json | 1674 +-- ...DCmotorControl_FOC_R2017b_fixdt_9109_d.png | Bin 5235 -> 5238 bytes ...DCmotorControl_FOC_R2017b_fixdt_9109_d.svg | 2200 ++-- ...rControl_FOC_R2017b_fixdt_9132_2275_d.json | 144 +- ...orControl_FOC_R2017b_fixdt_9132_2275_d.svg | 218 +- ...orControl_FOC_R2017b_fixdt_9132_2282_d.svg | 12 +- ...CmotorControl_FOC_R2017b_fixdt_9132_d.json | 970 +- ...DCmotorControl_FOC_R2017b_fixdt_9132_d.png | Bin 6992 -> 6972 bytes ...DCmotorControl_FOC_R2017b_fixdt_9132_d.svg | 1044 +- ...DCmotorControl_FOC_R2017b_fixdt_9133_d.svg | 24 +- ...CmotorControl_FOC_R2017b_fixdt_9143_d.json | 904 +- ...DCmotorControl_FOC_R2017b_fixdt_9143_d.png | Bin 5525 -> 5520 bytes ...DCmotorControl_FOC_R2017b_fixdt_9143_d.svg | 1336 +- ...orControl_FOC_R2017b_fixdt_9163_2275_d.svg | 38 +- ...orControl_FOC_R2017b_fixdt_9163_2282_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_9163_d.json | 798 +- ...DCmotorControl_FOC_R2017b_fixdt_9163_d.png | Bin 6981 -> 6973 bytes ...DCmotorControl_FOC_R2017b_fixdt_9163_d.svg | 1158 +- ...DCmotorControl_FOC_R2017b_fixdt_9164_d.svg | 8 +- ...CmotorControl_FOC_R2017b_fixdt_9171_d.json | 978 +- ...DCmotorControl_FOC_R2017b_fixdt_9171_d.png | Bin 5273 -> 5273 bytes ...DCmotorControl_FOC_R2017b_fixdt_9171_d.svg | 868 +- ...DCmotorControl_FOC_R2017b_fixdt_9188_d.svg | 10 +- ...CmotorControl_FOC_R2017b_fixdt_9198_d.json | 528 +- ...DCmotorControl_FOC_R2017b_fixdt_9198_d.png | Bin 9680 -> 9681 bytes ...DCmotorControl_FOC_R2017b_fixdt_9198_d.svg | 1196 +- ...DCmotorControl_FOC_R2017b_fixdt_9292_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9293_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9333_d.json | 670 +- ...DCmotorControl_FOC_R2017b_fixdt_9333_d.svg | 1068 +- ...CmotorControl_FOC_R2017b_fixdt_9337_d.json | 62 +- ...DCmotorControl_FOC_R2017b_fixdt_9337_d.svg | 108 +- ...CmotorControl_FOC_R2017b_fixdt_9341_d.json | 546 +- ...DCmotorControl_FOC_R2017b_fixdt_9341_d.svg | 1172 +- ...BLDCmotorControl_FOC_R2017b_fixdt_h_1.json | 1607 +-- .../BLDCmotorControl_FOC_R2017b_fixdt_m.json | 6 +- .../BLDCmotorControl_FOC_R2017b_fixdt.slx | Bin 183420 -> 184408 bytes 01_Matlab/init_model.m | 12 +- Inc/BLDC_controller.h | 46 +- Inc/config.h | 2 +- Inc/rtwtypes.h | 4 +- Src/BLDC_controller.c | 631 +- Src/BLDC_controller_data.c | 67 +- build/firmware.bin | Bin 18804 -> 18936 bytes build/firmware.elf | Bin 382052 -> 381864 bytes docs/firmware_architecture.pptx | Bin 53871 -> 46360 bytes docs/pictures/FOC_algorithm.png | Bin 37245 -> 343078 bytes docs/pictures/FW_architecture.png | Bin 30501 -> 353039 bytes docs/pictures/paramTable.png | Bin 89502 -> 66054 bytes 156 files changed, 71182 insertions(+), 68261 deletions(-) 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 040e2970ae6bf59a2bcb287dde54a2b34991b48d..0cda7ff033588995638ae7fe06ae7f2114abe6c8 100644 GIT binary patch delta 39029 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 delta 10324 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 L`njxgN@xNAMKM$b diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg index 8461ac5..1824458 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg @@ -504,54 +504,6 @@ - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - r_devSignal1 - - - - - - - - @@ -564,11 +516,11 @@ - + - + 5 @@ -586,11 +538,11 @@ - + - + n_mot @@ -612,11 +564,11 @@ - + - + 4 @@ -634,11 +586,11 @@ - + - + z_errCode @@ -650,44 +602,100 @@ - - + + - + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + DC_phaC + + + + + + + + + + + + + + + + + + - + - - 1 - - - - - - - - - - - - - - + + u1 - + - - DC_phaA + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action @@ -698,387 +706,52 @@ - - - + + + - - + + - - - - - - - z_ctrlTypSel - - - - - - - - - - - - - - - - + - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - + + u1 - - + + - - + + if(u1 ~= CTRL_COM) - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - DC_phaB - - - - - - - - - - - - - - - - - - - - - - - MODEL INFO - - - - - - - - Version: 1.1175 - - - - - - - - Author: Emanuel Feru - - - - - - - - Last modified by: eferu - - - - - - - - Last update: 20-okt-2019 19:26:36 - - - - - - - - Copyright © 2019 Emanuel FERU - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Implemented_control_methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - + + action @@ -1099,11 +772,11 @@ - + - + [b_hallC] @@ -1120,6 +793,87 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + DC_phaA + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + @@ -1132,11 +886,11 @@ - + - + [b_hallB] @@ -1165,11 +919,11 @@ - + - + [z_posRaw] @@ -1186,6 +940,767 @@ + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [DC_phaA] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [DC_phaB] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_devSignal2] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModPrev] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_devSignal1] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_devSignal2] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + ufix16_En6 + + + + + + + + @@ -1195,19 +1710,19 @@ - + - + - + - + @@ -1237,62 +1752,44 @@ - - - + + + - - + + - - + + - - [DC_phaA] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [DC_phaB] - - + + + + + + + + + + + + + + + + + int16 @@ -1303,29 +1800,44 @@ - - - + + + - - + + - - + + - - [r_devSignal2] + + [DC_phaA] - - + + + + + + + + + + + + + + + + + int16 @@ -1336,29 +1848,44 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + [b_hallC] - - + + + + + + + + + + + + + + + + + uint8 @@ -1369,29 +1896,44 @@ - - - + + + - - + + - - + + - - [i_phaBC] + + [z_errCode] - - + + + + + + + + + + + + + + + + + uint8 @@ -1402,29 +1944,44 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -1435,29 +1992,44 @@ - - - + + + - - + + - - + + - - [i_phaAB] + + [r_inpTgtSca] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1478,11 +2050,11 @@ - + - + [VqFinPrev] @@ -1501,43 +2073,139 @@ - - + + - + - + - - [z_ctrlModPrev] + + [VqFinPrev] - + - + - - + + - + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_hallB] + + + + + + + + + + + + + + + + + + + + + uint8 @@ -1559,11 +2227,11 @@ - + - + [b_hallA] @@ -1581,11 +2249,11 @@ - + - + uint8 @@ -1597,44 +2265,43 @@ - - - + + + - - + + + + + + + + + - - + + - - [z_ctrlTypSel] + + Implemented_control_methods + + + + + + + - - - - - - - - - - - - - - - - - uint8 + + @@ -1645,44 +2312,29 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + [b_motStdStill] - - - - - - - - - - - - - - - - - uint8 + + @@ -1693,43 +2345,75 @@ - - - + + + - - + + - + - - + + - - [n_mot] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1741,43 +2425,76 @@ - - - + + + - - + + - - + + - - [r_devSignal2] + + [i_phaBC] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaAB] + + + + + + - + - - + + - + sfix16_En4 @@ -1789,188 +2506,44 @@ - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [DC_phaB] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_pos] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - + + - + - + - - 6 + + 2 - + - - + + - - + + - - a_elecAngle + + DC_phaB @@ -1981,44 +2554,44 @@ - - + + - + - + - - [b_hallB] + + [a_elecAngle] - + - - + + - - + + - - uint8 + + ufix16_En6 @@ -2029,28 +2602,28 @@ - - + + - + - + - - [DC_phaC] + + [b_hallA] - + @@ -2072,11 +2645,11 @@ - + - + [r_inpTgtSca] @@ -2094,11 +2667,11 @@ - + - + sfix16_En4 @@ -2108,395 +2681,11 @@ - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [DC_phaA] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posRaw] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_devSignal1] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_errCode] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - + @@ -2510,99 +2699,99 @@ - + - + b_enaFOC - + - + z_pos - + - + z_ctrlTypSel - + - + r_phaA - + - + r_phaB - + - + r_phaC - + - + Vq - + - + r_inpTgtSca - + - + DC_phaA - + - + DC_phaB - + - + DC_phaC - + - + VqFinPrev @@ -2632,11 +2821,11 @@ - + - + F05_Control_Type_Management @@ -2649,15 +2838,15 @@ - + - - + + - + int16 @@ -2670,15 +2859,15 @@ - + - - + + - + int16 @@ -2691,15 +2880,15 @@ - + - - + + - + int16 @@ -2716,11 +2905,11 @@ - + - + int16 @@ -2732,83 +2921,83 @@ - + - + - + - + - + + [i_phaAB] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - - - - - - - [DC_phaC] - - - - - - + - + - - + + - - int16 + + uint8 @@ -2819,42 +3008,9 @@ - - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - + + + @@ -2862,130 +3018,122 @@ - - + + - - + + - - b_enaFOC + + z_ctrlTypSel - - + + - - z_ctrlMod + + r_inpTgt - - + + - - r_inpTgtSca + + b_hallA - - + + - - n_mot + + b_hallB - - + + - - n_motAbs + + b_hallC - - + + - - a_elecAngle + + z_ctrlModPrev - - + + - - i_phaAB + + r_inpTgtSca - - + + - - i_phaBC + + z_posRaw - - + + - - r_phaA + + z_pos - - + + - - r_phaB + + n_mot - - + + - - r_phaC + + n_motAbs - - + + - - Vq + + a_elecAngle - - + + - - r_devSignal1 + + b_motStdStill - - + + - - r_devSignal2 - - - - - - - - if { } + + b_enaFOC @@ -2997,8 +3145,8 @@ - - + + @@ -3010,16 +3158,16 @@ - - + + - - + + - - F04_Field_Oriented_Control + + F01_Estimations @@ -3031,16 +3179,16 @@ - - + + - - + + - - int16 + + sfix16_En4 @@ -3052,16 +3200,16 @@ - - + + - - + + - - sfix16_En4 + + boolean @@ -3073,16 +3221,16 @@ - - + + - - + + - - int16 + + int8 @@ -3094,16 +3242,16 @@ - - + + - - + + - - action + + boolean @@ -3115,16 +3263,16 @@ - - + + - - + + - - sfix16_En4 + + uint8 @@ -3136,16 +3284,16 @@ - - + + - - + + - - int16 + + ufix16_En6 @@ -3157,223 +3305,36 @@ - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - b_errFlag - - - - - - - - b_motStdStill - - - - - - - - b_motEna - - - - - - - - z_ctrlModReq - - - - - - - - z_ctrlMod - - - - - - - - z_ctrlModPrev - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - F03_Control_Mode_Manager - - - - - + - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - + - - + + - + sfix16_En4 @@ -3383,65 +3344,15 @@ - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= CTRL_COM) - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - + + + + + + @@ -3451,11 +3362,11 @@ - + - + [z_errCode] @@ -3472,385 +3383,6 @@ - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_hallA] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_devSignal1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - DC_phaC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - @@ -3863,19 +3395,19 @@ - + - + - + - + @@ -3901,11 +3433,11 @@ - + - + int16 @@ -3917,44 +3449,29 @@ - - - + + + - - + + - - + + - - [i_phaAB] + + [DC_phaC] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3965,212 +3482,43 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_motStdStill] - + - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z_posRaw - - - - - - - - b_motStdStill - - - - - - - - VqFinPrev - - - - - - - - z_errCode - - - - - - - - b_errFlag - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - F02_Diagnostics - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - + - - + + - + boolean @@ -4182,66 +3530,98 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + MODEL INFO + + + + + + + + Version: 1.1183 + + + + + + + + Author: Emanuel Feru + + + + + + + + Last modified by: eferu + + + + + + + + Last update: 21-okt-2019 16:33:56 + + + + + + + + Copyright © 2019 Emanuel FERU + - - + + - - - - + - - + + - - int16 + + + + + + + + + + + + + + + + + + + + + + @@ -4252,108 +3632,29 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - + + - - + + - - [z_ctrlTypSel] + + [z_ctrlModPrev] - - - - - - - - - - - - - - - - - uint8 + + @@ -4374,19 +3675,19 @@ - + - + - + - + @@ -4412,11 +3713,11 @@ - + - + int16 @@ -4428,110 +3729,44 @@ - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - + + - + - + - - [b_hallC] + + [n_motAbs] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4542,283 +3777,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - + + - + - + - - [VqFinPrev] + + [r_inpTgt] - + - - + + - - + + - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - b_diagEna - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 9 - - - - - - - - - - - - - - - - - - - - - - i_DCLink - - - - - - - - - - - - - - - int16 + + sfix16_En4 @@ -4839,19 +3835,19 @@ - + - + - + - + @@ -4877,11 +3873,820 @@ - + - + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + b_errFlag + + + + + + + + b_motStdStill + + + + + + + + b_motEna + + + + + + + + z_ctrlModReq + + + + + + + + z_ctrlMod + + + + + + + + z_ctrlModPrev + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F03_Control_Mode_Manager + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_devSignal1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + b_hallB + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + b_hallA + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_posRaw] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + + + + + + + + + i_DCLink + + + + + + + + + + + + + + int16 @@ -4903,11 +4708,11 @@ - + - + 8 @@ -4925,11 +4730,11 @@ - + - + i_phaBC @@ -4940,11 +4745,11 @@ - + - + int16 @@ -4954,9 +4759,930 @@ + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [DC_phaC] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaBC] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + a_elecAngle + + + + + + + + + + + + + + + + + + + + + + + + + + b_diagEna + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModReq + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + b_hallC + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + r_devSignal1 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + b_enaFOC + + + + + + + + z_ctrlMod + + + + + + + + r_inpTgtSca + + + + + + + + n_mot + + + + + + + + n_motAbs + + + + + + + + a_elecAngle + + + + + + + + i_phaAB + + + + + + + + i_phaBC + + + + + + + + r_phaA + + + + + + + + r_phaB + + + + + + + + r_phaC + + + + + + + + Vq + + + + + + + + r_devSignal1 + + + + + + + + r_devSignal2 + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F04_Field_Oriented_Control + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + @@ -4966,19 +5692,19 @@ - + - + - + - + @@ -5004,11 +5730,11 @@ - + - + int16 @@ -5020,732 +5746,102 @@ - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaBC] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - b_hallC - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_pos] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - b_hallB - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - b_hallA - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_ctrlModReq - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - + + + - + - - + + - - + + - - z_ctrlTypSel + + z_posRaw + + + + + + + + b_motStdStill + + + + + + + + VqFinPrev - + - - r_inpTgt + + z_errCode - + - - b_hallA + + b_errFlag - + - - b_hallB - - - - - - - - b_hallC - - - - - - - - z_ctrlModPrev - - - - - - - - r_inpTgtSca - - - - - - - - z_posRaw - - - - - - - - z_pos - - - - - - - - n_mot - - - - - - - - n_motAbs - - - - - - - - a_elecAngle - - - - - - - - b_motStdStill - - - - - - - - b_enaFOC + + if { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - F01_Estimations - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - boolean + + - + - - + + - - + + - - sfix16_En4 + + F02_Diagnostics @@ -5757,16 +5853,16 @@ - - + + - - + + - - boolean + + uint8 @@ -5778,16 +5874,16 @@ - - + + - - + + - - sfix16_En4 + + boolean @@ -5799,16 +5895,16 @@ - - + + - - + + - - int8 + + action @@ -5819,35 +5915,66 @@ - + - - + + - - + + - + - - + + - - [r_inpTgt] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + int16 @@ -5868,11 +5995,11 @@ - + - + 1 @@ -5890,11 +6017,11 @@ - + - + b_motEna @@ -5905,11 +6032,11 @@ - + - + boolean @@ -5919,69 +6046,6 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - r_inpTgt - - - - - - - - - - - - - - - int16 - - - - - - - - @@ -5994,11 +6058,11 @@ - + - + 7 @@ -6016,11 +6080,11 @@ - + - + i_phaAB @@ -6031,11 +6095,11 @@ - + - + int16 @@ -6045,54 +6109,6 @@ - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -6177,20 +6193,6 @@ - - - - - - - - - - - - - - @@ -6415,20 +6417,6 @@ - - - - - - - - - - - - - - @@ -6897,20 +6885,6 @@ - - - - - - - - - - - - - - @@ -6939,20 +6913,6 @@ - - - - - - - - - - - - - - @@ -7191,7 +7151,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 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 33c9c3b67b68b98b29e1f8a45ca8db39c48445cb..11d78d85394d1e1efe6ad7a696715d341492c7fc 100644 GIT binary patch delta 19 acmaDM`9gAn4u>e8lFqyKYR`=(TX+CR{|6QT delta 19 bcmaDM`9gAn4u^=KtYW&}x(6Fgw(tM|MEwTx 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 59675ba..7e080cb 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 @@ -1511,6 +1511,166 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"b_motStdStill", + "label":"b_motStdStill", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "7", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"z_posRaw", + "label":"z_posRaw", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9383", "className":"Simulink.Outport", @@ -1635,11 +1795,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1648,7 +1808,40 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "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:8458", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_counterRaw", "local", "Tag" ], @@ -1700,6 +1893,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8455", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9379", "className":"Simulink.Goto", @@ -1733,6 +1959,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9384", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto15", + "label":"Goto15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9377", "className":"Simulink.Goto", @@ -1766,72 +2025,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8450", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", "className":"Simulink.From", @@ -1863,70 +2056,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:9431", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8437", "className":"Simulink.From", @@ -1959,99 +2088,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "8", - "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:8435", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -2065,7 +2116,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -2132,53 +2183,144 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9382", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_counterRaw", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9384", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From18", + "label":"From18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From17", + "label":"From17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_pos", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlModPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_enaFOC", "local", "Tag" ], @@ -2197,99 +2339,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_dirPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8424", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8429", "className":"Simulink.From", @@ -2322,74 +2371,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"Goto10", + "label":"Goto10", "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":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "a_elecAngle", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2397,7 +2399,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_elecAngle", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -2499,52 +2532,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "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:9374", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -2563,42 +2563,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counterRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_posRaw", - "label":"z_posRaw", + "name":"b_enaFOC", + "label":"b_enaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2627,7 +2596,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "8", "Port number", "[]", "[]", @@ -2640,9 +2609,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -2673,137 +2642,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9382", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8449", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9378", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:9333", "className":"Simulink.SubSystem", @@ -2901,6 +2739,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From25", + "label":"From25", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "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:9375", "className":"Simulink.Inport", @@ -2969,11 +2838,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8424", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2981,7 +2850,169 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "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:9374", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "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:9378", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "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:8451", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto12", + "label":"Goto12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "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:8436", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From22", + "label":"From22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counterRaw", "Tag" ], "tabs":[ @@ -3067,11 +3098,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -3079,7 +3110,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "z_counter", "Tag" ], "tabs":[ @@ -3098,11 +3129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8455", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -3111,7 +3142,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "z_posRaw", "local", "Tag" ], @@ -3130,37 +3161,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlModPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.png index aa517612b45341f6e68acbe9e49fc2aa76e41316..1d3eee761fc410e80f27305d7e58e5011da48912 100644 GIT binary patch delta 13221 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 delta 13156 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg index e61c670..a20c497 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg @@ -252,7 +252,7 @@ - + @@ -771,7 +771,7 @@ - + @@ -860,16 +860,16 @@ - - + + - + - - int8 + + action @@ -881,16 +881,16 @@ - - + + - + - - action + + int8 @@ -902,15 +902,15 @@ - + - + - + int8 @@ -1110,7 +1110,7 @@ - + @@ -1247,16 +1247,16 @@ - - + + - + - - int16 + + boolean @@ -1310,15 +1310,15 @@ - + - + - + int16 @@ -1331,16 +1331,16 @@ - - + + - + - - boolean + + int16 @@ -1380,7 +1380,7 @@ - + @@ -1477,16 +1477,16 @@ - - + + - + - - int8 + + uint8 @@ -1498,16 +1498,16 @@ - - + + - + - - uint8 + + int8 @@ -1891,6 +1891,102 @@ + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + b_motStdStill + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_posRaw + + + + + + + + @@ -1903,11 +1999,11 @@ - + - + 1 @@ -1925,11 +2021,11 @@ - + - + r_inpTgtSca @@ -1951,19 +2047,19 @@ - + - + u1 - + - + if(u1 ~= 0) @@ -1981,11 +2077,11 @@ - + - + action @@ -1997,28 +2093,61 @@ - - + + - + - + - - [z_posRaw] + + [z_dirPrev] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counterRaw] + + + + + + @@ -2040,11 +2169,11 @@ - + - + [z_counter] @@ -2061,6 +2190,39 @@ + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + @@ -2073,11 +2235,11 @@ - + - + [z_ctrlModPrev] @@ -2094,507 +2256,6 @@ - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posRaw] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - - - - - - - - - - - - - - - - - - - - - - b_enaFOC - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRaw] - - - - - - - - - - - - - - - @@ -2607,11 +2268,11 @@ - + - + [r_inpTgtSca] @@ -2630,43 +2291,205 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [r_inpTgt] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_posRaw] + + + + + + - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + - - + + - + int8 @@ -2678,44 +2501,44 @@ - - + + - + - + - - [a_elecAngle] + + [r_inpTgt] - + - - + + - - + + - - ufix16_En6 + + sfix16_En4 @@ -2726,43 +2549,187 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_inpTgtSca] - + - + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModPrev] + + + + + + + + + + + + + - - + + - + uint8 @@ -2772,6 +2739,39 @@ + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + @@ -2822,44 +2822,77 @@ - - - + + + - - + + - + - - 7 + + [a_elecAngle] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - b_motStdStill + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + ufix16_En6 @@ -2872,7 +2905,7 @@ - + @@ -2886,51 +2919,51 @@ - + - + z_pos - + - + z_dir - + - + z_counter - + - + z_counterRaw - + - + b_enaFOC - + - + a_elecAngle @@ -2960,11 +2993,11 @@ - + - + F01_06_Electrical_Angle_Estimation @@ -2981,11 +3014,11 @@ - + - + ufix16_En6 @@ -2997,50 +3030,17 @@ - + - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - - - - - - + - + @@ -3050,30 +3050,30 @@ - - [z_ctrlTypSel] + + [z_dirPrev] - + - - + + - + - - uint8 + + int8 @@ -3084,236 +3084,44 @@ - - - + + + - - + + - + - - [z_counterRaw] + + 8 - - + + - - - + + + - + - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_posRaw - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - z_ctrlModPrev - - - - - - - - - - - - - - - uint8 + + b_enaFOC @@ -3326,7 +3134,7 @@ - + @@ -3340,35 +3148,35 @@ - + - + z_ctrlTypSel - + - + r_inpTgt - + - + z_ctrlModPrev - + - + r_inpTgtSca @@ -3398,11 +3206,11 @@ - + - + F01_01_Input_Scaling @@ -3419,11 +3227,11 @@ - + - + sfix16_En4 @@ -3435,13 +3243,61 @@ - + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + @@ -3451,11 +3307,11 @@ - + - + 2 @@ -3473,11 +3329,11 @@ - + - + r_inpTgt @@ -3488,11 +3344,11 @@ - + - + sfix16_En4 @@ -3504,44 +3360,236 @@ - - + + - + - + - - [b_enaFOC] + + [z_ctrlTypSel] - + - - + + - - + + - - boolean + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModPrev + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counterRaw] + + + + + + + + + + + + + + + + + + + + + + int16 @@ -3562,11 +3610,11 @@ - + - + 1 @@ -3584,11 +3632,11 @@ - + - + z_ctrlTypSel @@ -3599,11 +3647,11 @@ - + - + uint8 @@ -3615,77 +3663,44 @@ - - + + - + - - - - - - - - [z_pos] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - + - - [z_ctrlTypSel] + + [z_counter] - - + + + + + + + + + + + + + + + + + int16 @@ -3696,44 +3711,29 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + [z_posRaw] - - - - - - - - - - - - - - - - - uint8 + + @@ -4416,5 +4416,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json index b02620b..e873862 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.json @@ -280,6 +280,56 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay2", + "label":"UnitDelay2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", + "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:8233", "className":"Simulink.UnitDelay", @@ -380,56 +430,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", - "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:9634", "className":"Simulink.Logic", 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 a6b3523..c5e098d 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 @@ -248,6 +248,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + Ini=0 + + + + + + + + @@ -260,35 +355,35 @@ - + - + - + - + - + - + - + - + @@ -314,11 +409,11 @@ - + - + uint8 @@ -329,11 +424,11 @@ - + - + Ini=0 @@ -355,35 +450,35 @@ - + - + - + - + - + - + - + - + @@ -409,11 +504,11 @@ - + - + Ini=0 @@ -424,106 +519,11 @@ - + - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - + uint8 @@ -537,7 +537,7 @@ - + @@ -567,21 +567,6 @@ - - - - - - - - - - - boolean - - - - @@ -593,6 +578,21 @@ + + + + + + + + + + + boolean + + + + @@ -757,5 +757,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.json index d325fbf..ffa983e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.json @@ -515,87 +515,39 @@ "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8235", "inspector":{ "params":[ - "NumberOfDimensions", "IndexMode", "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", "Indices", - "OutputSizes" + "InputPortWidth", + "NumberOfDimensions", + "OutputSizeArray", + "OutputSizes", + "SampleTime" ], "values":[ - "1", "Zero-based", [ "Index vector (port)" ], + "Index vector (port)", [ "[1 3]" ], - [ - "1" - ], - "length(vec_hallToPos)", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "length(vec_hallToPos)", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "length(vec_hallToPos)", - "-1", - "Index vector (port)", "[1 3]", - "1" + "length(vec_hallToPos)", + "1", + [ + "1" + ], + "1", + "-1" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 24 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" 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 072f9e2..43125bc 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.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg index 64dc3c3..a60087a 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 @@ -887,36 +887,36 @@ - - - - - - - - - - - int8 - - - - - + - + Ini=0 + + + + + + + + + + + int8 + + + + @@ -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 d24c8f7..25956d8 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 @@ -813,180 +813,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "3", - "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:8373", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"z_maxCntRst", - "label":"z_maxCntRst", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "z_maxCntRst", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8366", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - ">", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", "className":"Simulink.Outport", @@ -1068,11 +894,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1101,7 +927,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "3", "Port number", "[]", "[]", @@ -1114,9 +940,9 @@ "auto", "off", "off", - "[]", + "0", "off", - "held", + "reset", "off", "0", "", @@ -1147,72 +973,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_mot", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8376", "className":"Simulink.Outport", @@ -1294,1282 +1054,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"z_maxCntRst2", + "label":"z_maxCntRst2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "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: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", + "Value", + "VectorParams1D", + "SampleTime", "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:8300", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8297", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8312", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "2", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "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:9428", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator9", - "label":"Relational Operator9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "<", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8288", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8286", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8304", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_dirPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counterRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8298", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_motRaw", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8281", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" - ], - "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Switch", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_edge", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motAbsPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counterRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "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:9426", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8289", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_edge", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "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:8311", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "2", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "FramePeriod" ], "values":[ "z_maxCntRst", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "z_cntInit" - ], - "values":[ - "z_maxCntRst" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counterRawPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" - ], - "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"If", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8270", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:9427", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8269", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "CTRL_COM", "on", "inf", "[]", @@ -2649,98 +1152,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"n_commDeacv", + "label":"n_commDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", "SampleTime", "ZeroCross" ], "values":[ + "n_commDeacvHi", + "n_commAcvLo", + "1", + "0", + "Elements as channels (sample based)", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "boolean", "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:8267", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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", @@ -2748,8 +1192,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 5, + 9 ] }, "viewer":{ @@ -2758,24 +1202,258 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"UnitDelay3", + "label":"UnitDelay3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "z_maxCntRst", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Switch", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator9", + "label":"Relational Operator9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "<", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8373", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"z_maxCntRst", + "label":"z_maxCntRst", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "z_maxCntRst", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux2", + "label":"Mux2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8304", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "z_ctrlTypSel", + "local", "Tag" ], "tabs":[ @@ -2789,7 +1467,40 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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":"" } }, @@ -2891,11 +1602,894 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto12", + "label":"Goto12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8311", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux1", + "label":"Mux1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "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:8294", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "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:8297", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8292", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8291", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counterRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From31", + "label":"From31", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_edge", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8288", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From30", + "label":"From30", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8379", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"b_enaFOC", + "label":"b_enaFOC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "6", + "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:8286", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From29", + "label":"From29", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:9477", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From21", + "label":"From21", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_motRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_mot", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From28", + "label":"From28", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_dirPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_motAbsPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_motRaw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "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_enaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8280", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From17", + "label":"From17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counterRawPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From15", + "label":"From15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_edge", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From14", + "label":"From14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counterRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8276", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "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:8301", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8270", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"z_maxCntRst2", - "label":"z_maxCntRst2", + "name":"Constant4", + "label":"Constant4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2909,7 +2503,7 @@ "FramePeriod" ], "values":[ - "z_maxCntRst", + "0", "on", "inf", "[]", @@ -2940,11 +2534,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -3020,6 +2614,394 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_motRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "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:9426", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8366", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8267", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_dirPrev", + "label":"z_dirPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8282", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From19", + "label":"From19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8313", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux3", + "label":"Mux3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs5", + "label":"Abs5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "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:8284", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From24", + "label":"From24", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator3", + "label":"Relational Operator3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "~=", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8264", "className":"Simulink.Inport", @@ -3088,25 +3070,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8269", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Mux3", - "label":"Mux3", + "name":"CTRL_COMM", + "label":"CTRL_COMM", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "2", - "bar" + "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" @@ -3114,16 +3114,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8309", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8310", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -3135,8 +3135,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "AND", + "3", "rectangular", "off", "boolean", @@ -3164,11 +3164,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8310", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8309", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -3180,8 +3180,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_8263_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.png index 67db8809361805a75dd1e8a0bf97a4bf31d803de..7dfca167938cf3f9e391e79f5b3ee5d8d17c4c0e 100644 GIT binary patch literal 8315 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 literal 8313 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 - + @@ -746,166 +746,6 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - z_counter - - - - - - - - - - - - - - - - - - - - - - - - - - z_maxCntRst - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -918,11 +758,11 @@ - + - + 4 @@ -940,11 +780,11 @@ - + - + z_counterRaw @@ -956,110 +796,44 @@ - - + + - + - + - - 6 + + 3 - + - - + + - - + + - - b_enaFOC - - - - - - - - - - - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [dz_trnsDet] - - - - - - - + + z_counter @@ -1080,11 +854,11 @@ - + - + 2 @@ -1102,11 +876,11 @@ - + - + n_motAbs @@ -1118,29 +892,107 @@ - - - + + + - - + + - - + + - - [n_motAbsPrev] + + z_maxCntRst - - + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + n_stdStillDet + + + + + + + + + + + + + + + + + + + + + + n_stdStillDet + + + + + + + + + + + + + + + sfix16_En4 @@ -1153,7 +1005,7 @@ - + @@ -1161,51 +1013,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -1231,11 +1083,11 @@ - + - + n_commDeacv @@ -1246,11 +1098,11 @@ - + - + boolean @@ -1260,1441 +1112,11 @@ - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motRaw] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRaw] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motRaw] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motRaw] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_edge] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbsPrev] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRaw] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [dz_trnsDet] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [b_edge] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - + @@ -2702,35 +1124,35 @@ - + - + - + - + - + - + - + - + @@ -2756,11 +1178,11 @@ - + - + Ini=z_maxCntRst @@ -2771,11 +1193,11 @@ - + - + int16 @@ -2787,401 +1209,187 @@ - - - + + + - - + + - - + + - - inc + + - - + + - - max + + - - + + - - rst + + - - + + - - cnt + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + T - - + + - - + + F - - - - - - - - - - - - - - - - - Counter + + - - - - - - - - - - int16 - - - - - - - - - - - - - - - Ini=z_maxCntRst - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRawPrev] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - + - - + + - + sfix16_En4 @@ -3193,28 +1401,188 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + - - + + - - [b_motStdStill] + + z_maxCntRst - + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + @@ -3226,298 +1594,29 @@ - - - + + + - - + + - - + + - - CTRL_COM + + [n_motAbsPrev] - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - n_stdStillDet - - - - - - - - - - - - - - - - - - - - - - n_stdStillDet - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - z_dirPrev - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3530,7 +1629,7 @@ - + @@ -3544,67 +1643,67 @@ - + - + z_dir - + - + z_dirPrev - + - + z_counterRawPrev - + - + n_motAbsPrev - + - + z_counter - + - + dz_trnsDet - + - + n_motRaw - + - + if { } @@ -3634,11 +1733,11 @@ - + - + Raw_Motor_Speed_Estimation @@ -3651,16 +1750,16 @@ - - + + - - + + - - action + + int16 @@ -3672,16 +1771,16 @@ - - + + - - + + - - int16 + + action @@ -3697,11 +1796,11 @@ - + - + boolean @@ -3718,11 +1817,11 @@ - + - + sfix16_En4 @@ -3734,49 +1833,115 @@ - + - - + + - - + + - - + + - - z_maxCntRst + + [b_enaFOC] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + int16 @@ -3786,6 +1951,947 @@ + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [dz_trnsDet] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counterRaw] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_edge] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + b_enaFOC + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motRaw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbsPrev] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motRaw] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counterRawPrev] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_edge] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counterRaw] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [dz_trnsDet] + + + + + + + + + + + + + + + @@ -3798,11 +2904,11 @@ - + - + [z_counter] @@ -3820,11 +2926,140 @@ - + - + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + int16 @@ -3846,35 +3081,35 @@ - + - + - + - + - + - + - + - + @@ -3900,11 +3135,11 @@ - + - + Ini=0 @@ -3915,11 +3150,11 @@ - + - + sfix16_En4 @@ -3929,6 +3164,771 @@ + + + + + + + + + + + + + + + + + + [n_motRaw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Counter + + + + + + + + + + + + + + + Ini=z_maxCntRst + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + z_dirPrev + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -3994,43 +3994,107 @@ - - - + + + - - + + - + - - + + CTRL_COM - - + + - - + + - + - + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean @@ -4052,19 +4116,19 @@ - + - + - + - + @@ -4090,11 +4154,11 @@ - + - + boolean @@ -4104,70 +4168,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - @@ -4958,5 +4958,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg index cefae8e..6c10cac 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 @@ - + @@ -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 1ea7d2b..22d5882 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 @@ -80,31 +80,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"rst_Delay", - "label":"rst_Delay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2416", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ - "initVal" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "z_cntInit" + "round", + "|++", + "on", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Sum", "masktype":"" } }, @@ -161,6 +191,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:2414", "className":"Simulink.Inport", @@ -228,73 +287,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2412", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "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:8272:2413", "className":"Simulink.Inport", @@ -363,42 +355,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2416", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2412", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "round", - "|++", - "on", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", "1", - "All dimensions", - "-1" + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -408,7 +408,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -417,7 +417,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_8272_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg index 82cf109..410f4af 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 @@ -61,135 +61,72 @@ - - - + + + - - + + - + - - u + + - + - - rst + + - + - - y + + - + - - 1 - - - - - - - - z - - - - - - - - + + - - - - - - - - - - - - - - - - - Ini=z_cntInit + + - - + + - - + + - + int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -198,7 +135,7 @@ - + @@ -206,19 +143,19 @@ - + - + - + - + @@ -244,11 +181,11 @@ - + - + int16 @@ -258,6 +195,141 @@ + + + + + + + + + + + + + + + + + + u + + + + + + + + rst + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + Ini=z_cntInit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -270,11 +342,11 @@ - + - + 3 @@ -292,11 +364,11 @@ - + - + rst @@ -307,11 +379,11 @@ - + - + boolean @@ -321,69 +393,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - inc - - - - - - - - - - - - - - - int16 - - - - - - - - @@ -396,11 +405,11 @@ - + - + 2 @@ -418,11 +427,11 @@ - + - + max @@ -433,11 +442,11 @@ - + - + int16 @@ -449,67 +458,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - - - - - - - - - + + 1 - - + + + + + + + + + + + + + + + + + inc - + - + - + 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 d35e69a..6c64d56 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 @@ -244,86 +244,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"n_motRaw", - "label":"n_motRaw", - "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" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", "className":"Simulink.Outport", @@ -405,102 +325,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"g_Ha", - "label":"g_Ha", + "name":"cf_speedCoef", + "label":"cf_speedCoef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "FramePeriod" ], "values":[ - "4", - "Element-wise(K.*u)", + "cf_speedCoef", + "on", + "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(0,16,0)", "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "inf" ], "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:8354", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay5", - "label":"UnitDelay5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "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 + 7 ] }, "viewer":{ @@ -509,7 +369,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Constant", "masktype":"" } }, @@ -613,6 +473,113 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay1", + "label":"UnitDelay1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "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:8349", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch3", + "label":"Switch3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Floor", + "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:8351", "className":"Simulink.UnitDelay", @@ -664,39 +631,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"dz_cntTrnsDet", + "label":"dz_cntTrnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", "SampleTime", - "Threshold", "ZeroCross" ], "values":[ - "u2 ~= 0", - "on", + "dz_cntTrnsDetHi", + "dz_cntTrnsDetLo", + "1", + "0", + "Elements as channels (sample based)", "[]", "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "off", + "boolean", "off", "-1", - "0", "on" ], "tabs":[ @@ -706,7 +671,7 @@ ], "tabs_idx":[ 0, - 1, + 5, 9 ] }, @@ -716,47 +681,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8345", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum13", - "label":"Sum13", + "name":"n_motRaw", + "label":"n_motRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "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", - "++++", - "on", - "Inherit: Inherit via internal rule", + "3", + "Port number", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -766,7 +752,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -775,16 +761,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -793,7 +779,7 @@ "IconDisplay" ], "values":[ - "cf_speedCoef", + "z_dirPrev", "local", "Tag" ], @@ -813,11 +799,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -826,192 +812,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" - ], - "values":[ - "u2 ~= 0", - "on", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "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:8337", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "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:8335", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "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:8334", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "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:8339", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_motAbsPrev", + "z_dir", "local", "Tag" ], @@ -1062,11 +863,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1074,7 +875,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_counter", "Tag" ], "tabs":[ @@ -1092,39 +893,6 @@ "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:8331", "className":"Simulink.From", @@ -1218,6 +986,94 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Floor", + "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:8328", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From13", + "label":"From13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "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:8327", "className":"Simulink.From", @@ -1250,11 +1106,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1263,7 +1119,40 @@ "IconDisplay" ], "values":[ - "z_dir", + "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: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" ], @@ -1314,11 +1203,180 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay5", + "label":"UnitDelay5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "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:8324", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide14", + "label":"Divide14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,4)", + "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:8334", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "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:8332", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_dir", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "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":[ @@ -1338,7 +1396,7 @@ ], "values":[ "rectangular", - "+-", + "++++", "on", "Inherit: Inherit via internal rule", "[]", @@ -1373,102 +1431,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"dz_trnsDet", + "label":"dz_trnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counterRawPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "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:8356", - "className":"Simulink.Relay", - "icon":"WebViewIcon3", - "name":"dz_cntTrnsDet", - "label":"dz_cntTrnsDet", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "dz_cntTrnsDetHi", - "dz_cntTrnsDetLo", - "1", - "0", - "Elements as channels (sample based)", + "2", + "Port number", "[]", "[]", - "boolean", + "Inherit: auto", "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -1477,8 +1496,8 @@ ], "tabs_idx":[ 0, - 5, - 9 + 2, + 11 ] }, "viewer":{ @@ -1487,55 +1506,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"g_Ha", + "label":"g_Ha", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "u2 ~= 0", - "on", + "4", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: Inherit via back propagation", "off", - "Floor", + "Zero", "off", - "off", - "-1", - "0", - "on" + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 2, + 8, + 11 ] }, "viewer":{ @@ -1544,7 +1565,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Gain", "masktype":"" } }, @@ -1598,91 +1619,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_speedCoef", - "label":"cf_speedCoef", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_speedCoef", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,0)", - "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:8319", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1690,7 +1631,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_counterRawPrev", "Tag" ], "tabs":[ @@ -1709,11 +1650,68 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide14", - "label":"Divide14", + "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", + "[]", + "[]", + "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:8323", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide13", + "label":"Divide13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1833,39 +1831,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "z_counterRawPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1873,66 +1859,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "cf_speedCoef", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1940,104 +1892,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", - "className":"Simulink.Abs", - "icon":"WebViewIcon3", - "name":"Abs2", - "label":"Abs2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "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:8350", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "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", + "blocktype":"Goto", "masktype":"" } }, @@ -2109,40 +1964,128 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Divide13", - "label":"Divide13", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", + "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: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:8316", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_dirPrev", + "label":"z_dirPrev", + "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":[ - "*/", - "Element-wise(.*)", - "off", + "2", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -2152,7 +2095,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -2161,22 +2104,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide11", - "label":"Divide11", + "name":"Sum7", + "label":"Sum7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -2188,9 +2132,10 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "rectangular", + "+-", + "on", + "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Same as first input", @@ -2209,6 +2154,141 @@ "tabs_idx":[ 0, 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8319", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs2", + "label":"Abs2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "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:8347", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "on" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1, 9 ] }, @@ -2218,7 +2298,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Switch", "masktype":"" } }, @@ -2289,86 +2369,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"dz_trnsDet", - "label":"dz_trnsDet", - "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" - ], - "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:8343", "className":"Simulink.Logic", 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 bb419c1..957ce23 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 @@ -218,54 +218,6 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - n_motRaw - - - - - - - - @@ -278,11 +230,11 @@ - + - + 1 @@ -300,11 +252,11 @@ - + - + z_counter @@ -314,2096 +266,6 @@ - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - threshold=0 - Criteria : u2 ~= 0 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [cf_speedCoef] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [dz_trnsDet] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - threshold=0 - Criteria : u2 ~= 0 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [dz_trnsDet] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbsPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbsPrev] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRawPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [cf_speedCoef] - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [cf_speedCoef] - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRawPrev] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dz_cntTrnsDet - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - threshold=0 - Criteria : u2 ~= 0 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -2416,11 +278,11 @@ - + - + cf_speedCoef @@ -2438,11 +300,11 @@ - + - + cf_speedCoef @@ -2453,11 +315,11 @@ - + - + uint16 @@ -2469,165 +331,91 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - if { } - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] - - - - - - - + + - + - - + + - + int16 - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + Ini=0 @@ -2638,93 +426,46 @@ - - - + + + - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - n_motAbsPrev - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -2738,165 +479,37 @@ - - + + - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_dirPrev - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + Ini=0 - + - - + + - + int16 @@ -2910,7 +523,7 @@ - + @@ -2918,35 +531,35 @@ - + - + - + - + - + - + - + - + @@ -2972,11 +585,11 @@ - + - + Ini=0 @@ -2987,11 +600,11 @@ - + - + boolean @@ -3001,6 +614,2010 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dz_cntTrnsDet + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + n_motRaw + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbsPrev] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [cf_speedCoef] + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbsPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [cf_speedCoef] + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [dz_trnsDet] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + dz_trnsDet + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counterRawPrev] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + n_motAbsPrev + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counterRawPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [cf_speedCoef] + + + + + + + + + + + + + + + @@ -3013,11 +2630,11 @@ - + - + 3 @@ -3035,11 +2652,11 @@ - + - + z_counterRawPrev @@ -3050,11 +2667,11 @@ - + - + int16 @@ -3066,69 +2683,60 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -3139,51 +2747,491 @@ - - - + + + - - + + - - + + - - - - - - - - - - + + [dz_trnsDet] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_dirPrev - - + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 + + + + + + + + + + + + + + sfix16_En4 @@ -3205,11 +3253,11 @@ - + - + 1 @@ -3227,11 +3275,11 @@ - + - + z_dir @@ -3242,11 +3290,11 @@ - + - + int8 @@ -3256,59 +3304,11 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - dz_trnsDet - - - - - - - - - + @@ -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 fb757df..bba2494 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 @@ -101,8 +101,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9635", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Electrical angle calculation:

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

where a_elecAngle_C = 60

", - "label":"

Electrical angle calculation:

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

where a_elecAngle_C = 60

", + "name":"

Electrical angle calculation:

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

where a_elecAngle_C = 60

The min, max are for protection against angle overflow.

", + "label":"

Electrical angle calculation:

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

where a_elecAngle_C = 60

The min, max are for protection against angle overflow.

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

Electrical angle calculation:

\n

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

\n

where a_elecAngle_C = 60

", + "\n\n

Electrical angle calculation:

\n

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

\n

where a_elecAngle_C = 60

\n

The min, max are for protection against angle overflow.

", "off", "rich", "auto", @@ -950,6 +950,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_elecAngle1", + "label":"a_elecAngle1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "a_elecAngle", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,6)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", "className":"Simulink.Switch", @@ -1007,6 +1056,118 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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,12)", + "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:9664", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax1", + "label":"MinMax1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "max", + "off", + "2", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"MinMax", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", "className":"Simulink.Goto", @@ -1041,52 +1202,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9660", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", + "OutMax", + "OutMin", "RndMeth", + "SampleTime", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "ZeroCross" ], "values":[ - "rectangular", - "++", - "off", "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", "[]", "[]", - "fixdt(0,16,12)", + "Floor", + "-1", "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 1 ] }, "viewer":{ @@ -1095,16 +1250,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1113,7 +1268,7 @@ "IconDisplay" ], "values":[ - "z_posHighRes", + "z_posLowRes", "local", "Tag" ], @@ -1194,220 +1349,6 @@ "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:8398", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_posLowRes", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "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_enaFOC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_posHighRes", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_posLowRes", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,15)", - "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:8400", "className":"Simulink.From", @@ -1440,61 +1381,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8389", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "z_posHighRes", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1502,64 +1409,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8392", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", + "blocktype":"Goto", "masktype":"" } }, @@ -1644,43 +1494,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"a_elecAngle1", - "label":"a_elecAngle1", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "a_elecAngle", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,6)", - "off", - "inf" + "z_posLowRes", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1688,7 +1520,100 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "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_enaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_posHighRes", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -1750,11 +1675,68 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8392", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,14)", + "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:8403", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1762,7 +1744,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_counter", "Tag" ], "tabs":[ @@ -1780,6 +1762,179 @@ "masktype":"" } }, + { + "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:8394", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide3", + "label":"Divide3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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:8389", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_enaFOC", + "label":"b_enaFOC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8385#out:1", "className":"Simulink.Line", @@ -2494,108 +2649,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "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:8403#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "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:8420#out:1", "className":"Simulink.Line", @@ -2698,57 +2751,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "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:8417#out:1", "className":"Simulink.Line", @@ -3156,5 +3158,311 @@ ], "finder":[ ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9660#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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:8404#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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:8403#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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:8418#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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:9665#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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:9664#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "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":[ + ] } ] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.png index 4e3fd13f59ec7b6cda87365a5bc83fd54bd656bb..04951f6d0a676abecc590d2762a93ae156cd510f 100644 GIT binary patch literal 7891 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 - + - + @@ -14,7 +14,7 @@ - + @@ -22,7 +22,7 @@ - + This switch is to manage the situation when @@ -30,7 +30,7 @@ - + FOC control method is not enabled. @@ -46,7 +46,7 @@ - + @@ -60,33 +60,41 @@ - - + + - + - + Electrical angle calculation: - + - + a_elecAngle = a_elecAngle_C * (z_posLowRes + z_dir * (z_counterRaw / z_counter)) - + - + where a_elecAngle_C = 60 + + + + + + + The min, max are for protection against angle overflow. + @@ -104,11 +112,11 @@ - + - + 1 @@ -126,11 +134,11 @@ - - + + - + z_pos @@ -141,11 +149,11 @@ - - + + - + int8 @@ -167,11 +175,11 @@ - + - + 2 @@ -189,11 +197,11 @@ - - + + - + z_dir @@ -204,11 +212,11 @@ - - + + - + int8 @@ -230,11 +238,11 @@ - + - + [z_pos] @@ -263,11 +271,11 @@ - + - + [z_dir] @@ -288,7 +296,7 @@ - + @@ -296,19 +304,19 @@ - + - + - + - + @@ -345,11 +353,11 @@ - + - + [a_elecAngle] @@ -367,11 +375,11 @@ - - + + - + ufix16_En6 @@ -393,11 +401,11 @@ - + - + 3 @@ -415,11 +423,11 @@ - - + + - + z_counter @@ -430,11 +438,11 @@ - - + + - + int16 @@ -456,11 +464,11 @@ - + - + [z_counter] @@ -489,11 +497,11 @@ - + - + 4 @@ -511,11 +519,11 @@ - - + + - + z_counterRaw @@ -526,11 +534,11 @@ - - + + - + int16 @@ -552,11 +560,11 @@ - + - + [z_counterRaw] @@ -577,7 +585,7 @@ - + @@ -585,27 +593,27 @@ - + - + - - - - - - - - + + + + + + + + @@ -631,11 +639,11 @@ - - + + - + boolean @@ -657,11 +665,11 @@ - + - + 1 @@ -679,11 +687,11 @@ - - + + - + int8 @@ -697,28 +705,20 @@ - + - - - - - - - - - + @@ -726,7 +726,7 @@ - + @@ -734,7 +734,7 @@ - + @@ -742,7 +742,7 @@ - + @@ -750,7 +750,7 @@ - + @@ -758,7 +758,7 @@ - + @@ -766,7 +766,7 @@ - + @@ -774,7 +774,7 @@ - + @@ -782,7 +782,7 @@ - + @@ -790,7 +790,7 @@ - + @@ -798,7 +798,7 @@ - + @@ -806,7 +806,7 @@ - + @@ -814,7 +814,7 @@ - + @@ -822,7 +822,7 @@ - + @@ -830,7 +830,7 @@ - + @@ -838,22 +838,30 @@ - + - + - - T + + + + + + + T + + + - + F @@ -871,11 +879,11 @@ - - + + - + int8 @@ -897,11 +905,11 @@ - + - + [z_dir] @@ -919,11 +927,11 @@ - - + + - + int8 @@ -945,11 +953,11 @@ - + - + [z_pos] @@ -967,11 +975,11 @@ - - + + - + int8 @@ -984,27 +992,27 @@ - + - + - + - + [a_elecAngle] - + @@ -1025,21 +1033,13 @@ - - - - - - - - - + @@ -1047,7 +1047,7 @@ - + @@ -1055,6 +1055,14 @@ + + + + + + + + @@ -1072,11 +1080,11 @@ - - + + - + int8 @@ -1098,11 +1106,11 @@ - + - + 1 @@ -1120,11 +1128,11 @@ - - + + - + int8 @@ -1136,188 +1144,372 @@ - - - + + + - + + + + + + + + + + + + a_elecAngle + + + + + + + + + + + + + + + + + + + + + + ufix16_En6 + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - T + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + - + F - + - - + + - - + + - - ufix16_En12 + + sfix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En12 @@ -1338,11 +1530,11 @@ - + - + [b_enaFOC] @@ -1361,68 +1553,60 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En12 + + int16 @@ -1433,28 +1617,28 @@ - - + + - + - + - - [z_posHighRes] + + [z_posLowRes] - + @@ -1467,42 +1651,42 @@ - + - + - + - + [z_dir] - + - + - - + + - + int8 @@ -1515,42 +1699,42 @@ - + - + - + - + [z_counterRaw] - + - + - - + + - + int16 @@ -1562,44 +1746,125 @@ - - + + - + - + - - [z_counter] + + [a_elecAngle] - + - - + + - - + + - - int16 + + ufix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_posHighRes] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + a_elecAngle @@ -1611,42 +1876,42 @@ - + - + - + - + [z_posLowRes] - + - + - - + + - + int8 @@ -1656,6 +1921,54 @@ + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -1668,11 +1981,11 @@ - + - + [b_enaFOC] @@ -1690,11 +2003,11 @@ - - + + - + boolean @@ -1716,11 +2029,11 @@ - + - + [z_posHighRes] @@ -1735,15 +2048,15 @@ - + - - + + - - ufix16_En12 + + sfix16_En12 @@ -1754,29 +2067,221 @@ - - - + + + - - + + - - + + - - [z_posLowRes] + + + + + + + + + + - - + + + + + + + + + + + + + + + + + ufix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix16_En12 @@ -1788,99 +2293,51 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - sfix16_En15 - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 + + sfix16_En14 @@ -1901,11 +2358,11 @@ - + - + 5 @@ -1923,11 +2380,11 @@ - - + + - + b_enaFOC @@ -1938,284 +2395,11 @@ - - + + - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ufix16_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - - - - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - + boolean @@ -2441,42 +2625,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -2486,25 +2642,11 @@ - + - - - - - - - - - - - - - - - + @@ -2515,31 +2657,31 @@ - + - + - + - + - + - + @@ -2548,11 +2690,11 @@ - + - + @@ -2562,11 +2704,11 @@ - + - + @@ -2577,31 +2719,31 @@ - + - + - + - + - + - + @@ -2638,11 +2780,11 @@ - + - + @@ -2652,11 +2794,115 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2665,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 187c5ce..dab73e0 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 @@ -3,8 +3,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8529", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Error 004: Motor NOT able to spin.


Possible causes:

- motor phase disconnected

- MOSFET defective

- Operational Amplifier defective

- motor blocked

", - "label":"

Error 004: Motor NOT able to spin.


Possible causes:

- motor phase disconnected

- MOSFET defective

- Operational Amplifier defective

- motor blocked

", + "name":"

Error 004: Motor NOT able to spin.


Possible causes:

- motor phase disconnected

- MOSFET defective

- Operational Amplifier defective

- motor blocked

", + "label":"

Error 004: Motor NOT able to spin.


Possible causes:

- motor phase disconnected

- MOSFET defective

- Operational Amplifier defective

- motor blocked

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

Error 004: Motor NOT able to spin.

\n


\n

Possible causes:

\n

- motor phase disconnected

\n

- MOSFET defective

\n

- Operational Amplifier defective

\n

- motor blocked

", + "\n\n

Error 004: Motor NOT able to spin.

\n


\n

Possible causes:

\n

- motor phase disconnected

\n

- MOSFET defective

\n

- Operational Amplifier defective

\n

- motor blocked

", "off", "rich", "auto", @@ -199,8 +199,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8533", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Error 002: Hall sensor short circuit

", - "label":"

Error 002: Hall sensor short circuit

", + "name":"

Error 002: Hall sensor short circuit

", + "label":"

Error 002: Hall sensor short circuit

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

Error 002: Hall sensor short circuit

", + "\n\n

Error 002: Hall sensor short circuit

", "off", "rich", "auto", @@ -248,8 +248,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8534", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Error 001: Hall sensor not connected

", - "label":"

Error 001: Hall sensor not connected

", + "name":"

Error 001: Hall sensor not connected

", + "label":"

Error 001: Hall sensor not connected

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

Error 001: Hall sensor not connected

", + "\n\n

Error 001: Hall sensor not connected

", "off", "rich", "auto", @@ -651,6 +651,452 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8524", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"t_errDequal", + "label":"t_errDequal", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "t_errDequal", + "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: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", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "4", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Simplest", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Gain", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:9398", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch3", + "label":"Switch3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8514", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum", + "label":"Sum", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator7", + "label":"Relational Operator7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8527", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"b_errFlag", + "label":"b_errFlag", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", "className":"Simulink.Constant", @@ -700,6 +1146,844 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_errCodePrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8517", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto22", + "label":"Goto22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8500", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "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", + "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:8491", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_errCodeRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_errCodePrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From15", + "label":"From15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_errCodePrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_errFlag", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "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:8484", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion3", + "label":"Data Type Conversion3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "uint8", + "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:8483", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "uint8", + "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:9412", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM4", + "label":"CTRL_COMM4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8510", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator3", + "label":"Relational Operator3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8508", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator1", + "label":"Relational Operator1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8482", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion", + "label":"Data Type Conversion", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "uint8", + "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:9395", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto27", + "label":"Goto27", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "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:8487", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_posRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "7", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", "className":"Simulink.Gain", @@ -760,238 +2044,30 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", + "className":"Simulink.SFunction", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"Bitwise Operator1", + "label":"Bitwise Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "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" + "logicop", + "UseBitMask", + "NumInputPorts", + "BitMask", + "BitMaskRealWorld" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:8524", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"t_errDequal", - "label":"t_errDequal", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "t_errDequal", + "AND", "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:8514", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum", - "label":"Sum", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "+++", - "off", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", "1", - "All dimensions", - "-1" + "bin2dec('100')", + "Stored Integer" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 10 ] }, "viewer":{ @@ -1000,8 +2076,8 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" + "blocktype":"S-Function", + "masktype":"Bitwise Operator" } }, { @@ -1050,116 +2126,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:8517", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_errCodePrev", - "local", + "z_errCodeRaw", "Tag" ], "tabs":[ @@ -1173,149 +2152,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "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:9395", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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", - "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", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" - ], - "values":[ - "4", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Simplest", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Gain", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":[ @@ -1333,243 +2187,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_errCodePrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_errCodePrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "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: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", - "Nonreusable function", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Either edge detection" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "uint8", - "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:8486", "className":"Simulink.SubSystem", @@ -1667,203 +2284,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "uint8", - "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:9412", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM4", - "label":"CTRL_COMM4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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: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:8503", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:9402", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:9403", "className":"Simulink.Abs", @@ -1912,11 +2332,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1924,7 +2375,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "b_errFlag", "Tag" ], "tabs":[ @@ -1942,98 +2393,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator7", - "label":"Relational Operator7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:8482", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "uint8", - "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:9394", "className":"Simulink.Inport", @@ -2101,148 +2460,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_errCodeRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_errFlag", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:9396", "className":"Simulink.Inport", @@ -2311,60 +2528,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "7", - "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:8494", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2372,7 +2540,7 @@ "IconDisplay" ], "values":[ - "z_errCodeRaw", + "b_motStdStill", "Tag" ], "tabs":[ @@ -2439,174 +2607,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8510", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:8500", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "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:9397", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:9398", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "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:9401", "className":"Simulink.Logic", 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 5efe4d27e2624a4adbaa3b2b21f7757f1cf7b23b..94c10d588ecac14f039f204dc437b554d6d6e063 100644 GIT binary patch delta 6122 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 delta 6077 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 - + @@ -22,15 +22,16 @@ - - Error 004: Motor NOT able to spin. + + Error 004: + Motor NOT able to spin. - + Possible causes: @@ -38,7 +39,7 @@ - + - motor phase disconnected @@ -46,7 +47,7 @@ - + - MOSFET defective @@ -54,7 +55,7 @@ - + - Operational Amplifier defective @@ -62,7 +63,7 @@ - + - motor blocked @@ -139,7 +140,8 @@ - Error 002: Hall sensor short circuit + Error 002: + Hall sensor short circuit @@ -158,7 +160,8 @@ - Error 001: Hall sensor not connected + Error 001: + Hall sensor not connected @@ -467,357 +470,6 @@ - - - - - - - - - - - - - - - - - - r_errInpTgtThres - - - - - - - - - - - - - - - - - - - - - - r_errInpTgtThres - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - b_errFlag - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - @@ -830,11 +482,11 @@ - + - + t_errDequal @@ -852,11 +504,11 @@ - + - + uint16 @@ -866,424 +518,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_errCodePrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_errFlag] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [VqFinPrev] - - - - - - - - - - - - - - - @@ -1296,11 +530,11 @@ - + - + 4 @@ -1318,11 +552,11 @@ - + - + uint8 @@ -1332,203 +566,11 @@ - - - - - - - - - - - - - - - - - - [b_errFlag] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_errCodePrev] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_errCodePrev] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - + @@ -1536,83 +578,83 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1625,422 +667,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - tAcv - - - - - - - - tDeacv - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Debounce_Filter - - - - - + - + - + - + - + - + @@ -2048,16 +714,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ~= 0 + + + + + + + + + + + - + - - + + - + boolean @@ -2069,380 +904,83 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - Bitwise - - - - - - - - AND - - - - - - - - 0x4 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_errCode] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [VqFinPrev] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posRaw] - - - - - - - - - - - - - - - - - - - - - + uint8 @@ -2456,7 +994,7 @@ - + @@ -2464,19 +1002,19 @@ - + - + - + - + @@ -2502,11 +1040,11 @@ - + - + boolean @@ -2518,30 +1056,223 @@ - - - + + + - - + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + b_errFlag + + + + + + + + + + + + + + + + + + + + + + + + + + r_errInpTgtThres + + + + + + + + + + + + + + + + + + + + + + r_errInpTgtThres + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCodePrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCode] + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -2555,22 +1286,37 @@ - - + + + + + + + + + + + + + + + + + Ini=0 - + - - + + - + uint8 @@ -2582,59 +1328,254 @@ - - - + + + - - + + - - + + - - 3 + + [b_motStdStill] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - VqFinPrev + + [z_errCodeRaw] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + - + - - + + - - int16 + + uint8 @@ -2655,11 +1596,11 @@ - + - + [z_errCodeRaw] @@ -2677,11 +1618,11 @@ - + - + uint8 @@ -2693,44 +1634,92 @@ - - - + + + - - + + - - + + - - if { } + + [z_errCodePrev] - - + + - - - + + + - - + + - - Action Port + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCodePrev] + + + + + + + + + + + + + + + + + + + + + + uint8 @@ -2751,11 +1740,11 @@ - + - + [b_errFlag] @@ -2773,11 +1762,11 @@ - + - + boolean @@ -2789,43 +1778,92 @@ - - - + + + - - + + - - + + - - 0 + + [b_errFlag] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + uint8 @@ -2837,58 +1875,107 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - 2 - - - - - - - - - - - - - - - - - - b_motStdStill + + - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + - - + + - + boolean @@ -2898,150 +1985,6 @@ - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_errCodeRaw] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - @@ -3054,27 +1997,27 @@ - + - + - + - + - + - + @@ -3100,11 +2043,11 @@ - + - + boolean @@ -3116,29 +2059,533 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + - + - - + + - + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_posRaw] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + Bitwise + + + + + + + + AND + + + + + + + + 0x4 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCodeRaw] - - + + + + + + + + + + + + + + + + + uint8 @@ -3149,29 +2596,721 @@ - - - + + + - - + + - - + + - + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + tAcv + + + + + + + + tDeacv + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Debounce_Filter + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + [b_errFlag] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + VqFinPrev + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + b_motStdStill + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] - - + + + + + + + + + + + + + + + + + boolean @@ -3182,180 +3321,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - ~= 0 + + 0 - - + + - - + + - + - - boolean + + uint8 @@ -4002,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 31ad6dd..8cf0d47 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 @@ -128,6 +128,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424", "className":"Simulink.Inport", @@ -195,37 +226,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424#out:1", "className":"Simulink.Line", 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 9b53a02..32155d2 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 @@ -78,74 +78,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - yPrev - - - - - - - - - - - - - - - boolean - - - - - - - - - + @@ -153,11 +90,11 @@ - + - + else { } @@ -175,11 +112,11 @@ - + - + Action Port @@ -189,6 +126,69 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + yPrev + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -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 2c50827..35300e1 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,4 +1,49 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2445", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2447", "className":"Simulink.Outport", @@ -79,6 +124,327 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "yPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486: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:2441", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "tDeacv", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2439", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "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", + "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", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "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:2433", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant1", + "label":"Constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "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:8486:2434", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant6", + "label":"Constant6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "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:2432", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "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:2446", "className":"Simulink.Switch", @@ -137,111 +503,31 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2445", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "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":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "z_cntInit" ], "values":[ - ">", - "off", - "boolean", - "Simplest", - "-1", - "on" + "0" ], "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":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "yPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_cntRst", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, @@ -276,392 +562,6 @@ "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", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "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:2434", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "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:2433", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "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:8486:2431", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"yPrev", - "label":"yPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "tDeacv", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2444", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "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:2435", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "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:2439", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", - "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", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "yDeacv", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2430", "className":"Simulink.Inport", @@ -729,6 +629,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "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:2429", "className":"Simulink.Inport", @@ -797,20 +728,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2444", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "b_cntRst", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -823,7 +756,74 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2431", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"yPrev", + "label":"yPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.svg index 2fc5ea9..10d6011 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.svg @@ -10,246 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - yDeacv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - @@ -263,19 +23,19 @@ - + - + - + - + @@ -301,11 +61,11 @@ - + - + boolean @@ -315,6 +75,54 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + yDeacv + + + + + + + + @@ -327,11 +135,11 @@ - + - + [yPrev] @@ -350,44 +158,29 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + [yDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -398,44 +191,77 @@ - - - + + + - - + + - - + + - - [yDeacv] + + [tDeacv] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [tDeacv] + + + + + + - - + + - - + + - - boolean + + uint16 @@ -456,11 +282,11 @@ - + - + [tDeacv] @@ -478,11 +304,11 @@ - + - + uint16 @@ -494,43 +320,91 @@ - - + + - + - + - - [yPrev] + + [b_cntRst] - + - + - - + + - + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + boolean @@ -552,11 +426,11 @@ - + - + 1 @@ -574,634 +448,11 @@ - + - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - yPrev - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [tDeacv] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_cntRst] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - inc - - - - - - - - max - - - - - - - - rst - - - - - - - - cnt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Counter - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [tDeacv] - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - [yDeacv] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - b_cntRst - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - tDeacv - - - - - - - - - - - - - - + uint16 @@ -1223,11 +474,11 @@ - + - + elseif { } @@ -1245,11 +496,11 @@ - + - + Action Port @@ -1259,6 +510,755 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Counter + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [yDeacv] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + b_cntRst + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + tDeacv + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_cntRst] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + yPrev + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -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 88cbd69..5a27541 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg @@ -15,7 +15,7 @@ - + @@ -486,36 +486,36 @@ - - - - - - - - - - - uint16 - - - - - + - + Ini=initVal + + + + + + + + + + + uint16 + + + + @@ -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 5f1cf9e..5e305ac 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 @@ -79,6 +79,35 @@ "masktype":"" } }, + { + "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:2416", "className":"Simulink.Sum", @@ -138,6 +167,59 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2415", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax", + "label":"MinMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"MinMax", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2414", "className":"Simulink.Inport", @@ -205,73 +287,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"max", - "label":"max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2412", "className":"Simulink.Inport", @@ -340,46 +355,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2415", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", + "Port", + "IconDisplay", "OutMin", - "RndMeth", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", "2", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "[]", - "[]", - "Floor", + "inherit", "-1", + "Inherit", + "-1", + "auto", "off", - "on" + "", + "on", + "off", + "off", + "off" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 11 ] }, "viewer":{ @@ -388,36 +417,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", - "masktype":"" - } - }, - { - "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", + "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 84ebc0f..8409215 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,6 +59,141 @@ + + + + + + + + + + + + + + + + + + u + + + + + + + + rst + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + Ini=z_cntInit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -71,35 +206,35 @@ - + - + - + - + - + - + - + - + @@ -117,200 +252,11 @@ - + - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - rst - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - max - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - inc - - - - - - - - - - - - - - + uint16 @@ -324,7 +270,7 @@ - + @@ -332,19 +278,19 @@ - + - + - + - + @@ -370,11 +316,11 @@ - + - + uint16 @@ -386,131 +332,185 @@ - - - + + + - - + + - - - - - - - u - - - - - - - - rst - - + - - y - - - - - - - - 1 - - - - - - - - z - - - - - - - - + + 3 - - + + - - - + + + - - + + - - Ini=z_cntInit + + rst - - + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + - + - + + inc + + + + + + + + + + + + + + uint16 - + + + + + + + + + + + + + + + - - + + - - + + 2 - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + max + + + + + + + + + + + + + + + uint16 @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json index 10d6485..ffbe09e 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,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2492", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"yAcv", - "label":"yAcv", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "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:2491", "className":"Simulink.Switch", @@ -182,11 +102,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2489", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -195,7 +115,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "yAcv", "local", "Tag" ], @@ -215,11 +135,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "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":"From2", - "label":"From2", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -227,7 +180,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "b_cntRst", "Tag" ], "tabs":[ @@ -246,11 +199,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2492", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"yAcv", + "label":"yAcv", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "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:2484", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -276,6 +309,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "yAcv", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2481", "className":"Simulink.From", @@ -308,11 +372,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2484", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -339,19 +403,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2485", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "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: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":[ @@ -365,36 +480,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "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", + "blocktype":"Goto", "masktype":"" } }, @@ -479,151 +565,31 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "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":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "z_cntInit" ], "values":[ - "yAcv", - "local", - "Tag" + "0" ], "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 3, - 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2476", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"b_errPrev", - "label":"b_errPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", + "blocktype":"SubSystem", "masktype":"" } }, @@ -727,39 +693,6 @@ "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:2474", "className":"Simulink.Inport", @@ -827,6 +760,73 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2476", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_errPrev", + "label":"b_errPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480#out:1", "className":"Simulink.Line", 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 5976b6b..d69268a 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,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - yAcv - - - - - - - @@ -70,13 +22,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -84,7 +60,7 @@ - + @@ -92,7 +68,7 @@ - + @@ -100,7 +76,7 @@ - + @@ -108,7 +84,7 @@ - + @@ -116,7 +92,7 @@ - + @@ -124,7 +100,7 @@ - + @@ -132,7 +108,7 @@ - + @@ -140,7 +116,7 @@ - + @@ -148,7 +124,7 @@ - + @@ -156,7 +132,7 @@ - + @@ -164,7 +140,7 @@ - + @@ -172,7 +148,7 @@ - + @@ -180,46 +156,22 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + - + T - + - + F @@ -237,11 +189,11 @@ - + - + boolean @@ -263,19 +215,19 @@ - + - + - + - + @@ -301,11 +253,11 @@ - + - + boolean @@ -317,29 +269,206 @@ - - + + - + - + - + + [yAcv] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [tAcv] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_cntRst] - - + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + yAcv + + + + + + + + + + + + + + + + + + + + + + + + + + [tAcv] + + + + + + + + + + + + + + + + + + + + + + uint16 @@ -360,11 +489,11 @@ - + - + [yAcv] @@ -382,11 +511,59 @@ - + - + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + + + + + + + + + + + + + + + + boolean @@ -408,11 +585,11 @@ - + - + [tAcv] @@ -430,11 +607,11 @@ - + - + uint16 @@ -444,518 +621,6 @@ - - - - - - - - - - - - - - - - - - [yPrev] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [tAcv] - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_cntRst] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - inc - - - - - - - - max - - - - - - - - rst - - - - - - - - cnt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Counter - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - [yAcv] - - - - - - - - - - - - - - - @@ -968,11 +633,11 @@ - + - + 1 @@ -990,11 +655,11 @@ - + - + boolean @@ -1006,59 +671,364 @@ - - - + + + - - + + - - + + - - 3 + + [b_cntRst] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - b_errPrev + + 1 + + + + + + + - - + + - - + + - - boolean + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Counter + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1079,11 +1049,11 @@ - + - + [yPrev] @@ -1112,11 +1082,11 @@ - + - + 2 @@ -1134,11 +1104,11 @@ - + - + b_cntRst @@ -1149,11 +1119,11 @@ - + - + boolean @@ -1163,39 +1133,6 @@ - - - - - - - - - - - - - - - - - - [tAcv] - - - - - - - - - - - - - - - @@ -1208,11 +1145,11 @@ - + - + 1 @@ -1230,11 +1167,11 @@ - + - + tAcv @@ -1245,11 +1182,11 @@ - + - + uint16 @@ -1259,6 +1196,69 @@ + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + b_errPrev + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -1443,5 +1443,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg index 8a4f03e..0a30442 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 21de95a..903fe2e 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,35 +79,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:2416", "className":"Simulink.Sum", @@ -167,73 +138,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2414", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2415", "className":"Simulink.MinMax", @@ -287,6 +191,102 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2413", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"max", + "label":"max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486: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", @@ -355,11 +355,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":[ @@ -382,7 +382,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.svg index 94c32ef..f029d93 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,141 +59,6 @@ - - - - - - - - - - - - - - - - - - u - - - - - - - - rst - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=z_cntInit - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -206,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -252,11 +117,11 @@ - + - + uint16 @@ -266,74 +131,11 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - rst - - - - - - - - - - - - - - - boolean - - - - - - - - - + @@ -341,19 +143,19 @@ - + - + - + - + @@ -379,11 +181,11 @@ - + - + uint16 @@ -393,6 +195,204 @@ + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + max + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + rst + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=z_cntInit + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -458,11 +458,11 @@ - - + + - + @@ -472,45 +472,45 @@ - - 2 + + 3 - + - - + + - + - - max + + 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 870cb30..86bd7fa 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,36 +120,36 @@ - - - - - - - - - - - Ini=0 - - - - - + - + 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 26ecb5c..448acf0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json @@ -1,303 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Nonreusable function", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Either edge detection" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Qualification", - "label":"Qualification", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" - ], - "values":[ - "3", - "[]", - "off", - "[]" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "tDeacv", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2463", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "u", - "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:2496", "className":"Simulink.Outport", @@ -378,6 +79,78 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" + ], + "values":[ + "3", + "[]", + "off", + "[]" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2463", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "u", + "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:2461", "className":"Simulink.Goto", @@ -505,11 +278,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -517,7 +290,7 @@ "IconDisplay" ], "values":[ - "y", + "u", "Tag" ], "tabs":[ @@ -566,6 +339,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "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:2453", "className":"Simulink.From", @@ -598,19 +402,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2465", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "tDeacv", + "tAcv", + "local", "Tag" ], "tabs":[ @@ -624,7 +430,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -660,25 +466,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "yPrev", - "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" @@ -686,136 +511,105 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", + "className":"Either edge detection", + "icon":"WebViewIcon4", + "name":"either_edge", + "label":"either_edge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "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":[ - "tAcv", - "Tag" + "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":[ - "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", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "yPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486: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:2456", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "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":"" + "blocktype":"SubSystem", + "masktype":"Either edge detection" } }, { @@ -915,6 +709,39 @@ "masktype":"" } }, + { + "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:2423", "className":"Simulink.SubSystem", @@ -1056,52 +883,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Qualification", + "label":"Qualification", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "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", + "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", - "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":"" } }, @@ -1136,6 +1010,232 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2421", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"tAcv", + "label":"tAcv", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "tDeacv", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "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: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:2464", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "yPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "tDeacv", + "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", @@ -1203,137 +1303,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2421", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"tAcv", - "label":"tAcv", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "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:2465", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "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:2420", "className":"Simulink.Inport", @@ -1401,6 +1370,82 @@ "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:2471", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator4", + "label":"Logical Operator4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" + ], + "values":[ + "NOT", + "2", + "rectangular", + "off", + "boolean", + "-1" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 5 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Logic", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", "className":"Simulink.Logic", @@ -1491,51 +1536,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", - "className":"Simulink.Logic", - "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "Operator", - "Inputs", - "IconShape", - "AllPortsSameDT", - "OutDataTypeStr", - "SampleTime" - ], - "values":[ - "NOT", - "2", - "rectangular", - "off", - "boolean", - "-1" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 5 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Logic", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", "className":"Simulink.Logic", 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 8b0fea8e8741c9fc05583f05d849a982d9c9c19d..552ae2687237409777a537b876d4c007e8e71efe 100644 GIT binary patch delta 6469 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 F0RSt|X4L=y delta 6320 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 - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 1 - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tAcv - - - - - - - - b_cntRst - - - - - - - - b_errPrev - - - - - - - - yAcv - - - - - - - - if { } - - - - - - - - - - - - - + + - - - - - - - - + + - - + + - - Qualification - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - boolean + + y @@ -306,12 +62,6 @@ - - - - - - @@ -321,19 +71,19 @@ - + - + - + - + @@ -359,11 +109,11 @@ - + - + boolean @@ -373,39 +123,6 @@ - - - - - - - - - - - - - - - - - - [tDeacv] - - - - - - - - - - - - - - - @@ -418,11 +135,11 @@ - + - + [u] @@ -439,54 +156,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - @@ -499,11 +168,11 @@ - + - + [b_cntRst] @@ -532,11 +201,11 @@ - + - + [yPrev] @@ -554,11 +223,11 @@ - + - + boolean @@ -580,11 +249,11 @@ - + - + [b_cntRst] @@ -602,11 +271,11 @@ - + - + boolean @@ -628,11 +297,11 @@ - + - + [yPrev] @@ -650,11 +319,11 @@ - + - + boolean @@ -666,43 +335,43 @@ - - + + - + - + - - [y] + + [u] - + - + - - + + - + boolean @@ -724,11 +393,11 @@ - + - + [yPrev] @@ -746,11 +415,59 @@ - + - + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [u] + + + + + + + + + + + + + + + + + + + + + boolean @@ -772,11 +489,11 @@ - + - + [u] @@ -794,11 +511,11 @@ - + - + boolean @@ -810,44 +527,29 @@ - - - + + + - - + + - - + + - - [tDeacv] + + [tAcv] - - - - - - - - - - - - - - - - - uint16 + + @@ -868,11 +570,11 @@ - + - + [b_cntRst] @@ -890,11 +592,11 @@ - + - + boolean @@ -904,602 +606,6 @@ - - - - - - - - - - - - - - - - - - [yPrev] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [tAcv] - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - [yPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [y] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tDeacv - - - - - - - - b_cntRst - - - - - - - - yPrev - - - - - - - - yDeacv - - - - - - - - elseif { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dequalification - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yPrev - - - - - - - - yDefault - - - - - - - - else { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u1 - - - - - - - - u2 - - - - - - - - if(u1 ~= 0) - - - - - - - - elseif(u2 ~=0) - - - - - - - - else - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - @@ -1512,35 +618,35 @@ - + - + - + - + - + - + - + - + @@ -1566,11 +672,11 @@ - + - + Ini=0 @@ -1581,11 +687,11 @@ - + - + boolean @@ -1595,9 +701,726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tDeacv + + + + + + + + b_cntRst + + + + + + + + yPrev + + + + + + + + yDeacv + + + + + + + + elseif { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dequalification + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [y] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + yPrev + + + + + + + + yDefault + + + + + + + + else { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + u2 + + + + + + + + if(u1 ~= 0) + + + + + + + + elseif(u2 ~=0) + + + + + + + + else + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tAcv + + + + + + + + b_cntRst + + + + + + + + b_errPrev + + + + + + + + yAcv + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Qualification + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + @@ -1607,11 +1430,11 @@ - + - + [yPrev] @@ -1629,11 +1452,11 @@ - + - + boolean @@ -1643,69 +1466,6 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - tDeacv - - - - - - - - - - - - - - - uint16 - - - - - - - - @@ -1718,11 +1478,11 @@ - + - + 2 @@ -1740,11 +1500,11 @@ - + - + tAcv @@ -1755,11 +1515,11 @@ - + - + uint16 @@ -1771,43 +1531,76 @@ - - - + + + - - + + - - + + - - [u] + + [tDeacv] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + - + - - + + - + boolean @@ -1819,28 +1612,76 @@ - - - + + + - - + + - - + + - - [tAcv] + + [y] - + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + @@ -1850,6 +1691,117 @@ + + + + + + + + + + + + + + + + + + [tDeacv] + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + tDeacv + + + + + + + + + + + + + + + uint16 + + + + + + + + @@ -1862,11 +1814,11 @@ - + - + 1 @@ -1884,11 +1836,11 @@ - + - + u @@ -1899,11 +1851,11 @@ - + - + boolean @@ -1913,6 +1865,118 @@ + + + + + + + + + + + + + + + + + + [tAcv] + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + @@ -1925,19 +1989,19 @@ - + - + - + - + @@ -1952,11 +2016,11 @@ - + - + boolean @@ -1989,19 +2053,19 @@ - + - + - + - + @@ -2016,11 +2080,11 @@ - + - + boolean @@ -2041,70 +2105,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 4cdfe8b..537893f 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,36 +120,36 @@ - - - - - - - - - - - boolean - - - - - + - + Ini=0 + + + + + + + + + + + boolean + + + + @@ -158,7 +158,7 @@ - + @@ -345,5 +345,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json index 9c92cba..b037cdc 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.json @@ -111,43 +111,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8654", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9391", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "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", - "Elements as channels (sample based)", - "-1", - "", - "", + "2", + "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":{ @@ -156,16 +186,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8651", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -174,7 +204,7 @@ "IconDisplay" ], "values":[ - "b_toTrqMod", + "b_motEna", "local", "Tag" ], @@ -194,11 +224,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -207,7 +237,40 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModReq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_toActive", "local", "Tag" ], @@ -289,11 +352,143 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "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:8639", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8650", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "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: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:8633", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -301,7 +496,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_motEna", "Tag" ], "tabs":[ @@ -319,6 +514,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8632", "className":"Simulink.From", @@ -381,105 +609,6 @@ "masktype":"" } }, - { - "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: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: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:9424", "className":"Simulink.From", @@ -512,44 +641,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlModReq", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -557,7 +653,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_toOpen", "Tag" ], "tabs":[ @@ -576,27 +672,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8654", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "b_errFlag", - "local", - "Tag" + "0", + "Elements as channels (sample based)", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -604,40 +717,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "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", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -739,11 +819,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -751,7 +831,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_errFlag", "Tag" ], "tabs":[ @@ -770,11 +850,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8651", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -783,7 +863,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "z_ctrlModPrev", "local", "Tag" ], @@ -802,68 +882,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motEna", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_toOpen", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", "className":"Simulink.Inport", @@ -931,39 +949,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_toActive", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8537", "className":"Simulink.Inport", @@ -1031,86 +1016,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9391", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422", "className":"Simulink.Inport", @@ -1275,6 +1180,70 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_toActive", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_toTrqMod", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8536", "className":"Simulink.Inport", @@ -1342,6 +1311,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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: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 8cc09998e324b4081aac91196c8b5e8879ada279..b8581e06009d94ac994600c959899dbfb2971552 100644 GIT binary patch delta 7172 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 delta 7216 zcmdmJyTo>arD>R_i(^Q|oVRx?3#6~lRsW#>?zaL%)Aw5MDLP)8G$M;sEG2IXA6HFZ ze8VqjUd3GBIal8Fl~2smH>hAdQd`Enw|+u~pp6`(hmzy3?<6hU?k5I23t4t-aS!J=I4|u-A>dZl8}@^TC9O zuRm^XPG5L2L!kTUgYUl=UVp7P`J}@1(}A(EwfeL7ynOcj`Ng|;dDn*RzB+r;TMrgT zfp?{oaYY$E zXQhb_^-2>N7*3r&9T*liZEN4YeRfBZ3^hc!-rU~qUt=@ZFF7lV%hc4A|IypK;>pR$ z1~Yv$G&LDFY`uTIZ1UyhCB;ch?{~y_=>NU9>f(bh`)VtGzulf_AR*A{BGBuWXd-p- z+O@V{zp7Lwd*0bu%--qZbm!wI(f;FwKRzTrGs@a3_4RB0*GKR7|9zXk@bb$Ee#RZz;T?z^b4ZVBW>K*Ix!U?CJ zb{tLm9+Q<9(X=E;vt-YAxwh4-7}}XL^4Tlo{%6<8u}`;anKw`F&CSj1Zi@v|Q&R<4 z7`>JXojrRt(t76MhXX(>$fFfcJ`DY2^W&9DD``_U)! zygMhXqSmL@)yZw%yqUG0p-ExEvSn;(n=22eR?cfb{LmpaRkg=0IZ(Fs{5;$4Q&Z>6e9+Q(o$0$G4E@; z&d;%IzPr0TxvENPq6bTpf`ih;dIb@#gIQah)?a^o(Oq72`uV5T-A9vNynfy6wpjDU zU#=zwM}dH_ux+ch)IaVuPcV>pP`3NypU>x&<-R38G5;_6^241+Ohu-r`uBExO8aKU zWXa+p!1Cwc?EFV}Z$%}%bk>cjI(KH&YfFV6>M`pIVXqb?Af!Al9`#AE56-KH?I+%ttvd>+_`gW?@ck))zRrV z*z30VLWao%4;2Y%>E^R(r?mp-_^B&Rt&6_i~)-xP9bB5>Hvu6VR#~+qh1x816Pd=&g?{B;PAH{zkKC;y$zRMSQ-0+d% zLLPJ8t9b{U|35RAu3IL}rtpM@6vAOKw(0t*b{lR_d^*bJx6{g82S*Ciaid|(; zn11@=ojW{BgLbYG)t>8jIKg1SzI}C}sSNc9S^FlKG7Dz@inOX4|^=B+mQ z!_S%z6*dO5&#qXt%E?6P?uNdi_^6HBg5u-lt*osd7VRu}dP-ErzD{QE-n||wLLMqY z6HY%BU}2Q&XSbTmr!}>n%WJ8StgLM0(NYtsqYoY^w6(QO@LGD|-aWl}ehi?TbK(B| z{^a9*4=*fqUaj>~s+X;9fBc$oS^K)0%l6%0Yo;-Ox)z=Puv2~BfuEnBKm7btVWP)_ zqMa9R+~8<+YFs|QZr0B~bC`s9+CTc$@4wNtb^Riy-C5ZmuSMstz1_vCQ@_pW?D_NJ zce#9nMOU*f-ncQN^xfVVtGRAgbB`T3;1C#gDe~B{V;64U-kqo| zw&6$RnRDlwp8sr$KM#ty+|126S=!SSI9}8}=8ehCVX=`rkk)+b`C)5SRf`QGE!*!^ zakKNwxfsnnvueTW5Um?;%RE$sVs_LQFbZ|Dn9b(pYjhUK zi;xfnxqjujevdoV=bec9ewg2W&%Iy~kDGP0wV96>KKisUfWvM+f1`uKYRx#k>4$U7x)}pkhOAh> z{`jFoO#6PG&0qKP*39cCBKGb3%EH9>k?H-@)6)xIU0J#2vcmrR{4;&nrh2u;?k-Er z$lyrZEGgB?rtUwFh2cky-JN~4(J|>3GHnVR8Ch9O3^(4E{dwVTf9P@j+9DbG-<(R` z`SI&n@_6=l*RJ2Q?_t@qk}lJ?Umv|a==f12yZ>yPdsMV}%+BktTW`PB`yrw|)$8HH zcDW=yV>`RP0F96fzZ!Qhk0{$M`}FD4M~`2Znr^)P_Qvk=^*dsgsqlsbv{r;}5F5c^JKmR-u z>^lGa^sna42OD)oZpV zZ@1rfD=+`vCK}i4)~sLmv0HlIh2}{sm!!|JF6R^KOu0MFeD>LG&#u1Pxzp0e-#@v& zrbgyrfdnY~xF6CEUzbo&AP^fHdt-mS{Tx5_6eCF%M+dE`PFho)a&vWW-MVG=IQMyK zO^uAHsi|wIr~mTH9Bj?sx9}~#xFc_Fq3ZO_^8aQQGBh|PJ7izqIEU}f8KIQAIytw+ zf?89xj{DxL0o75zYy~(R7GLbR>pgAu{QCKzO6O|U*(#gQiry-dLd9npEnB{P;l&J4 z<@V`QkpxfMn$OP*EO=IiL`{)pQdd_GjE;^DVXVARRb8EEG}FM)u(7j~Q)8;vkH2*h zI$|tLj90E+brfK6SsWM=9=<+0{nXBx<#*n)&G%wtSatf;f*>vPoTIlgE9M>FntlC3 z{l$wLug;z{{p3kc9zMQjSGu-NzSGZKhSf8_U^4+ZSJ~d&t#?Jg&xZ) z)ctAmZaZ)E#-NoV>zEsE@_hNq`1PyA^{kH%*G4~>rsbKx@28rYn%WUD{)COXdloKK zd~Ngo&d%Zw74~lSOt*i9kpUOEFg-r4_9~eWlME}&; zJ1rE*F_TW(D6u9?yJFt?SIZc6zSZt3eJ%Fw-QDg}r@S_@ZrZxFJ~XG`L`+R?cJ|@3 zv&|=Zs5~gz`QY&Id0pEb5Vl&7uYFW#W&8H##}*cI{ZuB`dwQq{aWplg7;&z?IxF;efrU(xxA!uod49_UyN@bN zKfN$$rGd3IclXgr!N$-3KKcCfh}FfYyXrA|;!#miW^0;1*z`Yqn0O><;~ee%*&8Et zR;*pC`{U=)7Rd=)?cTh6nYnT2W{EG~zAaj~kdd34dqady!S1^&)~rdfQ$g96t}Vi~QL{qX=KSMFN4q!NetY5d*E6dR>@2Boxvir&oqKoL+eHl`4Uz0G-@Oz2 zzd!x_ywLjn^K0X{QVk@`w%+%*nk$xnGxe(Lm8{Z>S3-?MfAH*jYF2Jp>s9~lVf&Bv z1c4eArj=pcVM~SnKY!SM@&4`Zn>QmX_Qut`ufE?Lqt|}^`Qal+SQ>WgM$FuO-pIPh zXy%bahnP&HcQ$DC5GO--tgA&|bm{4}P752ZW*wdEZ^zm9xZwFY*#epEui94r{8>3= z+BBt^K29q`4!tY^1%9IgL(s~QKmRQHg!jkyJ-%@D>ekfxC;!$@3D&-*@2t2ZJG=4w zJ!ZLjnaNEJ^?Pb0kH3Bu5Ej-p|KFG81~YvocrDe?)O5_w)}A$M)~0h0_2|={d-VDefEC);+kOCoww6+ z$#k*YK&_9H-{q~CKFiJ6eSMFIO4G%QflGo`uGzis)60-5#*9kqGCRE0P- zM7Ta$7w*3M;?=8Dw|<7#rN1nZTD*AiBM$xVm%5e)t-NsQQqYIb-6z`^A6CianLqoqM~uCszLE<>j?BZQl3q*Xu`T-M?=V&RzEMW#$}$&#Ypp;!MQKy(RKao*}GrAe!bmy zLHEgR`=4&RQS;#-`-iH%0U9C}rLRP)s;Vwr@x9WrZk^trH|h4muQe71aDWi^gJ`1l-1+uXUlb>_xx^J>3E#_T9yG&VMlTwLSh=jXKky7R(-1?$%39sYROBT+-4 z#UNm&_vA)K>H6Av+yb3023C()0^UrYpt53h{*6nC4%@AF10)@qW&zYEbezL zJ0n>f8;VPqinelo<&D0dpJ%-&c#Tcv^JN$AM1+5N$RPIqcxK)j=Y)kHBzM@o)=;SQ zSQ<28K}FuQQ&asG3$=e${JF5fASEyO?42E3EmjA9oGzn%@~P31`kTC|8suAlvEX?L^H{kgtoYpf4Yz9q=W z$<`csc~NRwYVXk`2}w!E%1X;$zkeqhNL-sURWu@J=BxMb#nap8&YTI#iA#bsv$C@b zKR@&J@$qp`I}(t!IVmTHsa|e9f7M>TqM1Ag12|%Te_OCGFTID|RqSm?*qVO3UmDp9 zvi9HC@4Gc|XLp~ecDB`AF?MYRg>$Yu_9)GhJZt-Awo_`QWY4iP4!MRICa)H)+tT0b ze<g%}hZ8w;tMQYbg9YwV7e&_ll3=_CNc7{5g4k;kIR2cTd$ANF4h8-2TW# z<@OI(-v7V%_vSU8Q^f~06e>^aE7pIGuWS4NVR}8^a%w>PV_U%urnQ|R}0Z&G-&b>&HIt`NE);o7i@-y^GUe5nHaCk(bxz zqjp*f1YrFxYndNe$?m@;+h!MA0Lmn=y+TkomH+{hrq$9`^(CG*ah zzHQsgHs)Vj>OI}Sz@TAqyH#M4Swha8*2;eIrDoj6)M7F+SGgOA9Gkqqyr@_AOgZ~m zzN^>gSF`P}cpF~vGg|-2PPuQd`FVJ9ET$elU;nSz#N7OFj+yiF%L~`8<<-^IUHweF zaA(Ypnx95~bFErGKR;i8`0>Y%%X+J?W_c_PDk&@LVy>#TkvsDEBh&r!&u$9F`qq8l zegAH7{#75&B%_%D;oHCMm76)~P~m4KE$uf3Qa6l!QvbY`|HJz4+xq%BpSS(F+&=vw zKg)+Rm;IR-CVBGJ|9W2EYJD!yrtFc#zW?s`PyX%Im6R?&7`C^nZKbq%UP}Gf#OTwf z0v`x>vdr;YZn2_rVQfy)Mv17Xs7<^6h%A;3Y|1&d=V{Q&l9w6U2a?Qm?PeU_=&E!w zcW2Mhx+JxamR_wg!jtvp{5@+~^LMAdc-Z_M?a2>LF|H5Q5-odsEA+#!ZPKr@CYdX) zmtX7F%sOBH`BVE{UpVRZ(V!y6)b9cXZ z{kr-;9)A9AW52aq|D+%7({MD4f9L+hzVhkqAK&f&`ByyozdUk{u0LJXt8Z5*bid-==?hs`E%%lg&2+Jvn^_Xj_`EV^XAx`AN|BQ(LJtchmix~? zSLIi)AaGz`?Qa7kqo!lW+(0#zeBBSlwDk0ee#=3_PTj$Kd;9v7ggWnB)(o?ebI;CR zZSm57<1N9`31<&|wvjQ{U$9wu|INukD@F3YS{m3rj4GFGcIM_C8p$d}029##gJje*ATua%;_l3c31eUE4y1*UqynX7jiGDiT-wHPpn^ z^x@R-xPuQKDBQYr>%;5#|5B!=razAA*EJqH=Jw)i)s*Se7q3~Plf7x-)2W}mr|W^* z6<$k&)+}IW0`+D(RRzy~{_!e&zgF0#)vH&3{-t9s&8ot0bN+DQeIsdgeJn09Y$8Y|akW<68?bhDa zS}$jEI?VM`Z#t;3YuBzL)u~3JKQ3Mj1a+UZrXG4*mYkQzce;G0&*wZHv1Y&J$tLCc zTr5lmGkrK%m@=}nohvIXi+`?lV?23yFWZveKQ#ZGe!s6nynf%e)Q^Ua0w0e5|EB)q zvVEQ9^4Bur`te8e*WW$z{r}bdCw`V*=RQ$%eSLg;&`Oc#<^67pElOSloLj#!I8e5w z@v()5NSEm6F7a!3?>_$e@UnF6kKf_-t>XK>_5AoTrJ8N4spyI|8=h~um+a2B==s<3 zPj}jSr{CRQUoZFi_nRAnjP)~T&TKsXSo6nEu2v>rU*FY!zSm^7EX>--G}mwW!9ts$ zl_FcBc%2qKscip_}=NB!y!*~1wM@;bL73-pGw(c-C>T27S^SY%{jQ9q+} zqv1@Sr0eTqAI*8r*UoG-lV|Z`y(v*=C1w{SCMq&CJGMJ0u=G8j=%JEmB6Zw&i2Ww5evAbM}tXuy*05`YTzgQL|qsXc{`L40&+qsJ~fFpTd%l_y0d%UH{|HN9D?Wa+)Hs8fTc# ze=dlr=btP4y?h<7qrit->+c=g`noouR@P`HPkh}kZi})f4soyLXU}O{`%R&DO+vUmi zb!vR}EbU{|sZZLs&f;kIpJ^7VfVfBpKUP`yKPshRLGwL2cmFJH*IGGp%dL+|-@SzVge z*MD8P)vTC1(1B~Ka@5AE>gt67YwC?Jx=lOJpS1aAKxE|3teFl9483m63t#VdOx;=f za$on+x~Pd6JiC7 z#jRYad1qHCH&-jua=*EUj&_SL4A3a}@&Xi0$wfs%cJujzgM(kZc+n7}*B-R;$k*4` zkA7ToCCfCf;vwsoFJC&GpJr^0%Ges!ayaqI_3Mw1bP7lR4J$X%a^y%{kQO(&K~4(W hBpg(XSL{zcZ}yKPkCw4NWME)m@O1TaS?83{1OTTp&vyU- 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 4c3c44d..8ea92d8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg @@ -109,75 +109,190 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + 2 + - - + + + + + + + + + + + + + + + + + z_ctrlModPrev + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toActive] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModPrev] + + + + + + + - + - - + + - + uint8 @@ -189,28 +304,76 @@ - - - + + + - - + + - - + + - + [b_toTrqMod] - + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + @@ -220,6 +383,153 @@ + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_errFlag] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toSpdMod] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -253,150 +563,6 @@ - - - - - - - - - - - - - - - - - - [z_ctrlModPrev] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toTrqMod] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - @@ -409,11 +575,11 @@ - + - + [z_ctrlModPrev] @@ -431,11 +597,11 @@ - + - + uint8 @@ -457,11 +623,11 @@ - + - + [b_toSpdMod] @@ -479,11 +645,11 @@ - + - + boolean @@ -493,105 +659,6 @@ - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toSpdMod] - - - - - - - - - - - - - - - @@ -604,11 +671,11 @@ - + - + [b_motStdStill] @@ -626,11 +693,11 @@ - + - + boolean @@ -642,76 +709,43 @@ - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - + + - + - + - - [b_errFlag] + + [b_toOpen] - + - + - - + + - + boolean @@ -723,62 +757,76 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - [b_errFlag] - - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [z_ctrlMod] - - - - - - - + + uint8 @@ -805,43 +853,43 @@ - + - + b_toOpen - + - + b_toActive - + - + b_toSpdMod - + - + b_toTrqMod - + - + z_ctrlMod @@ -858,11 +906,11 @@ - + - + F02_02_Control_Mode_Manager @@ -905,11 +953,11 @@ - + - + uint8 @@ -921,82 +969,82 @@ - + - + - + - - - - - - - - [b_toActive] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - + + + + + [b_errFlag] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + - - [b_motEna] + + [z_ctrlModPrev] - + @@ -1006,102 +1054,6 @@ - - - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toOpen] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -1114,11 +1066,11 @@ - + - + 4 @@ -1136,11 +1088,11 @@ - + - + z_ctrlModReq @@ -1151,11 +1103,11 @@ - + - + uint8 @@ -1165,39 +1117,6 @@ - - - - - - - - - - - - - - - - - - [b_toActive] - - - - - - - - - - - - - - - @@ -1210,11 +1129,11 @@ - + - + 3 @@ -1232,11 +1151,11 @@ - + - + b_motEna @@ -1247,11 +1166,11 @@ - + - + boolean @@ -1261,54 +1180,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_ctrlModPrev - - - - - - - - @@ -1321,11 +1192,11 @@ - + - + 2 @@ -1343,11 +1214,11 @@ - + - + b_motStdStill @@ -1358,11 +1229,11 @@ - + - + boolean @@ -1390,75 +1261,75 @@ - + - + b_motEna - + - + b_motStdStill - + - + b_errFlag - + - + z_ctrlModReq - + - + z_ctrlModPrev - + - + b_toOpen - + - + b_toActive - + - + b_toSpdMod - + - + b_toTrqMod @@ -1488,11 +1359,11 @@ - + - + F02_01_Mode_Transition_Calculation @@ -1505,15 +1376,15 @@ - + - - + + - + boolean @@ -1526,15 +1397,15 @@ - + - - + + - + boolean @@ -1547,15 +1418,15 @@ - + - - + + - + boolean @@ -1568,15 +1439,15 @@ - + - - + + - + boolean @@ -1588,13 +1459,94 @@ - + + + + + + + + + + + + + + + + [b_toActive] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toTrqMod] + + + + + + + + + + + + + + + + + + @@ -1604,11 +1556,11 @@ - + - + 1 @@ -1626,11 +1578,11 @@ - + - + b_errFlag @@ -1641,11 +1593,11 @@ - + - + boolean @@ -1655,6 +1607,54 @@ + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + @@ -1971,5 +1971,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json index 57d25b4..6f34b86 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 @@ -97,86 +97,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"b_toTrqMod", - "label":"b_toTrqMod", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", "className":"Simulink.Outport", @@ -337,6 +257,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant8", + "label":"constant8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "OPEN_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:8593", "className":"Simulink.Constant", @@ -387,11 +356,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant5", - "label":"constant5", + "name":"constant2", + "label":"constant2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -405,7 +374,7 @@ "FramePeriod" ], "values":[ - "VLT_MODE", + "OPEN_MODE", "on", "inf", "[]", @@ -485,11 +454,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", + "name":"Relational Operator5", + "label":"Relational Operator5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -574,6 +543,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant5", + "label":"constant5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "VLT_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", "className":"Simulink.RelationalOperator", @@ -619,51 +637,6 @@ "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", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8582", "className":"Simulink.RelationalOperator", @@ -709,6 +682,51 @@ "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":[ + "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:8580", "className":"Simulink.RelationalOperator", @@ -754,135 +772,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"b_toOpen", - "label":"b_toOpen", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"constant2", - "label":"constant2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "OPEN_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:8589", "className":"Simulink.Constant", @@ -933,11 +822,143 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "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:8568", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlModReq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_toTrqMod", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", + "className":"Simulink.Goto", + "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:8587", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator10", - "label":"Relational Operator10", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -978,21 +999,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "b_toOpen", - "local", "Tag" ], "tabs":[ @@ -1006,7 +1025,318 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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:9419", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_motStdStill", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From13", + "label":"From13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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:8555", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlModPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"b_toTrqMod", + "label":"b_toTrqMod", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_toActive", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -1077,42 +1407,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_toOpen", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1121,7 +1420,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_motStdStill", "local", "Tag" ], @@ -1141,25 +1440,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "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_motStdStill", - "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" @@ -1167,7 +1502,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, @@ -1202,194 +1537,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_motEna", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "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:8558", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_toTrqMod", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "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:8553", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_toActive", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "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:8549", "className":"Simulink.Inport", @@ -1458,201 +1605,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_toOpen", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "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:8555", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlModPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_toTrqMod", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlModReq", - "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":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"b_toOpen", + "label":"b_toOpen", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1668,14 +1625,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -1687,10 +1650,17 @@ "-1", "auto", "off", + "off", + "0", + "off", + "reset", + "off", + "0", "", - "on", - "off", - "off", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1710,48 +1680,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"constant7", - "label":"constant7", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "TRQ_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_toTrqMod", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1759,16 +1711,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1777,7 +1729,71 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_toActive", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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:8573", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_motEna", "local", "Tag" ], @@ -1864,38 +1880,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Relational Operator5", - "label":"Relational Operator5", + "name":"b_errFlag", + "label":"b_errFlag", "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":[ - "==", + "3", + "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":{ @@ -1904,7 +1942,149 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_motEna", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_toOpen", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant7", + "label":"constant7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "TRQ_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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":"" } }, @@ -1975,186 +2155,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motEna", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", - "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" - ], - "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "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:8595", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"constant8", - "label":"constant8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "OPEN_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:8574", "className":"Simulink.Logic", @@ -2200,141 +2200,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", - "className":"Simulink.Logic", - "icon":"WebViewIcon3", - "name":"Logical Operator7", - "label":"Logical Operator7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Operator", - "Inputs", - "IconShape", - "AllPortsSameDT", - "OutDataTypeStr", - "SampleTime" - ], - "values":[ - "NOT", - "2", - "rectangular", - "off", - "boolean", - "-1" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 5 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Logic", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", - "className":"Simulink.Logic", - "icon":"WebViewIcon3", - "name":"Logical Operator9", - "label":"Logical Operator9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Operator", - "Inputs", - "IconShape", - "AllPortsSameDT", - "OutDataTypeStr", - "SampleTime" - ], - "values":[ - "NOT", - "2", - "rectangular", - "off", - "boolean", - "-1" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 5 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Logic", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", - "className":"Simulink.Logic", - "icon":"WebViewIcon3", - "name":"Logical Operator6", - "label":"Logical Operator6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Operator", - "Inputs", - "IconShape", - "AllPortsSameDT", - "OutDataTypeStr", - "SampleTime" - ], - "values":[ - "OR", - "3", - "rectangular", - "off", - "boolean", - "-1" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 5 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Logic", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", "className":"Simulink.Logic", @@ -2425,6 +2290,141 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator6", + "label":"Logical Operator6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" + ], + "values":[ + "OR", + "3", + "rectangular", + "off", + "boolean", + "-1" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 5 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Logic", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator7", + "label":"Logical Operator7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" + ], + "values":[ + "NOT", + "2", + "rectangular", + "off", + "boolean", + "-1" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 5 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Logic", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator9", + "label":"Logical Operator9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" + ], + "values":[ + "NOT", + "2", + "rectangular", + "off", + "boolean", + "-1" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 5 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Logic", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587#out:1", "className":"Simulink.Line", 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 a25b290..f3b3022 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 @@ -81,54 +81,6 @@ - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - b_toTrqMod - - - - - - - - @@ -141,11 +93,11 @@ - + - + 3 @@ -163,11 +115,11 @@ - + - + b_toSpdMod @@ -189,11 +141,11 @@ - + - + 2 @@ -211,11 +163,11 @@ - + - + b_toActive @@ -225,6 +177,54 @@ + + + + + + + + + + + + + + + + + + OPEN_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + @@ -275,11 +275,11 @@ - - + + - + @@ -289,29 +289,29 @@ - - VLT_MODE + + OPEN_MODE - + - + - + - + uint8 @@ -371,11 +371,11 @@ - - + + - + @@ -385,7 +385,7 @@ - + @@ -393,7 +393,7 @@ - + @@ -401,7 +401,7 @@ - + @@ -416,22 +416,22 @@ - + - + - + - + boolean @@ -513,6 +513,54 @@ + + + + + + + + + + + + + + + + + + VLT_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + @@ -525,27 +573,27 @@ - + - + - + - + - + - + @@ -571,75 +619,11 @@ - + - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + boolean @@ -661,19 +645,19 @@ - + - + - + - + @@ -699,11 +683,11 @@ - + - + boolean @@ -713,222 +697,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - b_toOpen - - - - - - - - - - - - - - - - - - - - - - - - - - OPEN_MODE - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - TRQ_MODE - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - @@ -941,27 +709,27 @@ - + - + - + - + - + - + @@ -987,11 +755,11 @@ - + - + boolean @@ -1001,6 +769,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + TRQ_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_errFlag] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toTrqMod] + + + + + + + + + + + + + + + @@ -1013,11 +1000,11 @@ - + - + [b_toOpen] @@ -1034,6 +1021,526 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toOpen] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModPrev] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toSpdMod] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + b_toTrqMod + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toActive] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + @@ -1046,11 +1553,11 @@ - + - + [b_toSpdMod] @@ -1079,11 +1586,11 @@ - + - + [z_ctrlModPrev] @@ -1102,43 +1609,298 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + [b_motStdStill] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModPrev + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModReq + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + b_toOpen + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toTrqMod] + + + + + + + + + + + + + - - + + - + boolean @@ -1160,11 +1922,11 @@ - + - + [b_toActive] @@ -1181,327 +1943,6 @@ - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toTrqMod] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toActive] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -1514,11 +1955,11 @@ - + - + [b_errFlag] @@ -1536,11 +1977,11 @@ - + - + boolean @@ -1552,460 +1993,28 @@ - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - z_ctrlModReq - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toOpen] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModPrev] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - + + - + - + - - [b_toTrqMod] + + [b_motEna] - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toSpdMod] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - b_errFlag - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - TRQ_MODE - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - + @@ -2027,11 +2036,11 @@ - + - + 2 @@ -2049,11 +2058,11 @@ - + - + b_motStdStill @@ -2064,11 +2073,11 @@ - + - + boolean @@ -2080,130 +2089,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - b_motEna + + b_errFlag - + - - + + - + boolean @@ -2225,11 +2162,11 @@ - + - + [b_motEna] @@ -2247,11 +2184,11 @@ - + - + boolean @@ -2263,59 +2200,44 @@ - - - + + + - - + + - - + + - - 5 + + [b_toOpen] - - - - - - - - - - - - - - - - - z_ctrlModPrev + + - - + + - - + + - - uint8 + + boolean @@ -2326,76 +2248,43 @@ - - - - - - - - - - - - - - - - [b_errFlag] - - - - - - - - - - - - - - - - - - - + + - + - + - - OPEN_MODE + + TRQ_MODE - + - + - - + + - + uint8 @@ -2405,11 +2294,122 @@ + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + b_motEna + + + + + + + + + + + + + + + boolean + + + + + + + + - + @@ -2471,30 +2471,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2503,24 +2503,9 @@ - - - - - - - - - - - boolean - - - - - - + + @@ -2529,36 +2514,51 @@ + + + + + + + + + + + boolean + + + + - - - + + + - - + + - + - - + + - + - - + + @@ -2568,23 +2568,23 @@ - + - + - + boolean - - + + @@ -2601,7 +2601,7 @@ - + @@ -2663,30 +2663,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2696,23 +2696,23 @@ - + - + - + boolean - - + + @@ -2727,30 +2727,30 @@ - - - + + + - - + + - + - - + + - + - - + + @@ -2760,23 +2760,23 @@ - + - + - + boolean - - + + @@ -3050,10 +3050,10 @@ - + - + @@ -3417,5 +3417,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json index 4f58feb..5a26ec7 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 @@ -246,7 +246,40 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:31", + "className":"Stateflow.Transition", + "icon":"WebViewIcon8", + "name":"", + "label":"[b_toTrqMod]", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", + "inspector":{ + "params":[ + "ExecutionOrder", + "LabelString", + "Description", + "Document" + ], + "values":[ + 1, + "[b_toTrqMod]", + "", + "" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -260,7 +293,7 @@ "Document" ], "values":[ - 2, + 1, "", "", "" @@ -312,7 +345,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -326,7 +359,7 @@ "Document" ], "values":[ - 1, + 2, "", "", "" @@ -344,39 +377,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:31", - "className":"Stateflow.Transition", - "icon":"WebViewIcon8", - "name":"", - "label":"[b_toTrqMod]", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", - "inspector":{ - "params":[ - "ExecutionOrder", - "LabelString", - "Description", - "Document" - ], - "values":[ - 1, - "[b_toTrqMod]", - "", - "" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:1", "className":"Stateflow.State", 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 49ae392..36284cf 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 @@ -55,6 +55,18 @@ + + + + + + + + + + + + @@ -62,7 +74,7 @@ - + @@ -76,25 +88,25 @@ - + - + - + - + - + @@ -153,7 +165,7 @@ - + @@ -165,18 +177,6 @@ - - - - - - - - - - - - @@ -443,7 +443,7 @@ - + @@ -451,63 +451,45 @@ - + - + - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - 2 + + - + + + + + + + [b_toTrqMod] + + + + + + + + + + + + + + 1 + + @@ -519,7 +501,7 @@ - + @@ -540,7 +522,44 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + @@ -548,45 +567,26 @@ - + - + - - + + - - - - - - - - - - - - - - - [b_toTrqMod] - - - - - + - + - - 1 + + 2 - + @@ -617,7 +617,7 @@ - + @@ -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 6ca8aec..d900a88 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json @@ -1049,32 +1049,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", - "className":"Simulink.SwitchCase", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9195", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch Case", - "label":"Switch Case", + "name":"Vq", + "label":"Vq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "CaseConditions", - "ShowDefaultCase", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "{VLT_MODE, SPD_MODE, TRQ_MODE}", - "on", + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2 + 2, + 11 ] }, "viewer":{ @@ -1083,26 +1124,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SwitchCase", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9073", - "className":"Simulink.Scope", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9142", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Scope9", - "label":"Scope9", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":[ - ], + "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":"Scope", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -1222,666 +1294,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "2", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux7", - "label":"Mux7", - "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:8912", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" - ], - "values":[ - "4", - "[]", - "off", - "[]" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_mot", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto36", - "label":"Goto36", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_cos", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto35", - "label":"Goto35", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_sin", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto34", - "label":"Goto34", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_limProt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8855", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto33", - "label":"Goto33", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_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:8852", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto30", - "label":"Goto30", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:9143", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Vd_Calculation", - "label":"Vd_Calculation", - "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:8846", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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: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:8842", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8854", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto32", - "label":"Goto32", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8839", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "className":"Simulink.SubSystem", @@ -1979,1867 +1391,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8834", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_Vlt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_Spd", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_Open", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From69", - "label":"From69", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:9142", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From67", - "label":"From67", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_limProt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8822", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From66", - "label":"From66", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8821", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From65", - "label":"From65", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From64", - "label":"From64", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_limProt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto40", - "label":"Goto40", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_TgtAbs", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From62", - "label":"From62", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_limPrott", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From60", - "label":"From60", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8814", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From59", - "label":"From59", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From58", - "label":"From58", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From57", - "label":"From57", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8811", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From56", - "label":"From56", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8817", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From61", - "label":"From61", - "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:8810", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From55", - "label":"From55", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From53", - "label":"From53", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From71", - "label":"From71", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "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" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_Spd", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Motor_Limitations", - "label":"Motor_Limitations", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", - "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:8801", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_Vlt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From42", - "label":"From42", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From52", - "label":"From52", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id_TgtAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From41", - "label":"From41", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:9023", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "2", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_mot", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From68", - "label":"From68", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_limPrott", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", - "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:8785", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8784", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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: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:8783", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_sin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8847", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_Tgt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_limPrott", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8851", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8803", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From48", - "label":"From48", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_Trq", - "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:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From49", - "label":"From49", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:9195", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"Vq", - "label":"Vq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "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:8773", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:9029", "className":"Simulink.SubSystem", @@ -3938,11 +1489,1020 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", + "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:9027", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux7", + "label":"Mux7", + "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:9023", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux1", + "label":"Mux1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Motor_Limitations", + "label":"Motor_Limitations", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "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:8912", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" + ], + "values":[ + "4", + "[]", + "off", + "[]" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_mot", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", + "className":"Simulink.SwitchCase", + "icon":"WebViewIcon3", + "name":"Switch Case", + "label":"Switch Case", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8861", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto40", + "label":"Goto40", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto35", + "label":"Goto35", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_sin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8850", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto29", + "label":"Goto29", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto27", + "label":"Goto27", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8854", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto32", + "label":"Goto32", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8844", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto23", + "label":"Goto23", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto20", + "label":"Goto20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "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: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:8836", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto16", + "label":"Goto16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_prev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Voltage_Mode", + "label":"Voltage_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto14", + "label":"Goto14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_Vlt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_Trq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From71", + "label":"From71", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3968,6 +2528,869 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From68", + "label":"From68", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_limPrott", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From67", + "label":"From67", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_limProt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto34", + "label":"Goto34", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_limProt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8855", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto33", + "label":"Goto33", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_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:8817", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From61", + "label":"From61", + "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:8816", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From60", + "label":"From60", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8815", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From59", + "label":"From59", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From56", + "label":"From56", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8865", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From52", + "label":"From52", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From64", + "label":"From64", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_limProt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From49", + "label":"From49", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8813", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From58", + "label":"From58", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto30", + "label":"Goto30", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From48", + "label":"From48", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_Trq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto36", + "label":"Goto36", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_cos", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto26", + "label":"Goto26", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_Tgt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From44", + "label":"From44", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From41", + "label":"From41", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8795", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From40", + "label":"From40", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Vd_Calculation", + "label":"Vd_Calculation", + "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:8792", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From37", + "label":"From37", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From36", + "label":"From36", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_mot", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", "className":"Simulink.From", @@ -4000,11 +3423,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4012,7 +3435,771 @@ "IconDisplay" ], "values":[ - "Vq_max", + "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:8822", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From66", + "label":"From66", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8805", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_prev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From47", + "label":"From47", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_Spd", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From32", + "label":"From32", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From31", + "label":"From31", + "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:9196", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_devSignal1", + "label":"r_devSignal1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From29", + "label":"From29", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8806", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From50", + "label":"From50", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto22", + "label":"Goto22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8783", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From28", + "label":"From28", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From27", + "label":"From27", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8781", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From26", + "label":"From26", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From57", + "label":"From57", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8809", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From54", + "label":"From54", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8779", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From23", + "label":"From23", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8776", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "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:8772", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From15", + "label":"From15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From19", + "label":"From19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_elecAngle", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From13", + "label":"From13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From69", + "label":"From69", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8768", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From20", + "label":"From20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From53", + "label":"From53", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd_max", "Tag" ], "tabs":[ @@ -4128,11 +4315,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From63", + "label":"From63", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_mot", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4141,7 +4359,7 @@ "IconDisplay" ], "values":[ - "Vq_prev", + "a_elecAngle", "local", "Tag" ], @@ -4160,68 +4378,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8815", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "className":"Simulink.SubSystem", @@ -4320,11 +4476,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4333,7 +4489,7 @@ "IconDisplay" ], "values":[ - "Vq_Trq", + "iq_max", "local", "Tag" ], @@ -4353,782 +4509,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From54", - "label":"From54", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8798", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From43", - "label":"From43", - "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:8805", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_prev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_sin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "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:9109", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "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:8775", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From40", - "label":"From40", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "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:8792", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From50", - "label":"From50", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5155,249 +4540,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8865", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" - ], - "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"If", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:8819", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8821", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From63", - "label":"From63", + "name":"From65", + "label":"From65", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5405,7 +4552,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "n_max", "Tag" ], "tabs":[ @@ -5423,6 +4570,70 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From55", + "label":"From55", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto28", + "label":"Goto28", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "className":"Simulink.SubSystem", @@ -5521,11 +4732,556 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto12", + "label":"Goto12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_Spd", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"From43", + "label":"From43", + "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:8773", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8765", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto18", + "label":"Goto18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", + "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:8785", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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: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:8774", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From18", + "label":"From18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto31", + "label":"Goto31", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_limPrott", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "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:8862", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From62", + "label":"From62", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_limPrott", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "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:8661", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From42", + "label":"From42", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5552,11 +5308,42 @@ } }, { - "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":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5572,20 +5359,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -5597,17 +5378,10 @@ "-1", "auto", "off", - "off", - "0", - "off", - "reset", - "off", - "0", "", - [ - ], - "Dialog", - "Auto", + "on", + "off", + "off", "off" ], "tabs":[ @@ -5627,7 +5401,107 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_Open", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", "masktype":"" } }, @@ -5699,11 +5573,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5711,7 +5585,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_max", "Tag" ], "tabs":[ @@ -5729,6 +5603,132 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From46", + "label":"From46", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_Vlt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From14", + "label":"From14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From33", + "label":"From33", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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":"" + } + }, + { + "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:8659", "className":"Simulink.Inport", @@ -5796,6 +5796,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From38", + "label":"From38", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8827#out:1", "className":"Simulink.Line", @@ -11559,108 +11590,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8768#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8743#out:4", "className":"Simulink.Line", @@ -11762,5 +11691,158 @@ ], "finder":[ ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8826#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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:8768#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "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":[ + ] } ] \ No newline at end of file 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 213c50718407c583114379cfd5f1cb3822b8569a..c9ee16f330bbb7e8832180389e3b4ffbd55db960 100644 GIT binary patch delta 9436 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 WQyVJ+Tjv+G&b?4?~C&U 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg index 67b9227..cb2cad3 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg @@ -603,15 +603,15 @@ - + - + - + sfix16_En4 @@ -624,15 +624,15 @@ - + - + - + sfix16_En4 @@ -1202,121 +1202,44 @@ - - - + + + - - + + - + - - u1 - - - - - - - - case [ 1 ]: - - - - - - - - case [ 2 ]: - - - - - - - - case [ 3 ]: - - - - - - - - default: + + 4 - - + + - - - + + + - - + + - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action + + Vq @@ -1327,30 +1250,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -1364,8 +1303,38 @@ - - + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + Ini=0 @@ -1378,7 +1347,7 @@ - + @@ -1386,19 +1355,19 @@ - + - + - + - + @@ -1427,7 +1396,7 @@ - + @@ -1441,51 +1410,51 @@ - + - + i_apha - + - + i_beta - + - + r_sin - + - + r_cos - + - + iq_Raw - + - + id_Raw @@ -1515,11 +1484,11 @@ - + - + Park_Transform @@ -1532,27 +1501,6 @@ - - - - - - - - - - sfix16_En4 - - - - - - - - - - - @@ -1567,55 +1515,384 @@ + + + + + + + + + + + + + + + + + sfix16_En4 + + + + - + - - + + - - + + + + + + + + - - + + - - + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + n_mot + + + + + + + + n_max + + + + + + + + n_min + + + + + + + + iq_limProt + + + + + + + + Vq_Spd + + + + + + + + case: { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Speed_Mode - + + + + + + + + + + + + + + + + action + + + + + + + + + + + + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vq_prev + + + + + + + + Vq_Open + + + + + + + + default: { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open_Mode + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1637,11 +1914,11 @@ - + - + @@ -1659,11 +1936,11 @@ - + - + sfix16_En4 @@ -1675,2011 +1952,43 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - + + - + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - + - - [n_mot] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - id_Tgt - - - - - - - - id - - - - - - - - Vd_max - - - - - - - - Vd_min - - - - - - - - id_max - - - - - - - - id_min - - - - - - - - Vd - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vd_Calculation - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [id] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [id_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - n_mot - - - - - - - - n_max - - - - - - - - n_min - - - - - - - - iq_limProt - - - - - - - - Vq_Spd - - - - - - - - case: { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Speed_Mode - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_Vlt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_Spd] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_Open] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id_TgtAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_limPrott] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_Spd] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -3693,7 +2002,7 @@ - + @@ -3707,139 +2016,139 @@ - + - + z_ctrlMod - + - + Vd - + - + id_TgtAbs - + - + iq - + - + n_mot - + - + Vd_max - + - + Vd_min - + - + Vq_max - + - + Vq_min - + - + id_max - + - + id_min - + - + iq_max - + - + iq_min - + - + iq_limProt - + - + n_max - + - + n_min - + - + n_limProt @@ -3869,11 +2178,11 @@ - + - + Motor_Limitations @@ -3886,15 +2195,15 @@ - + - - + + - + sfix16_En4 @@ -3907,15 +2216,15 @@ - + - - + + - + sfix16_En4 @@ -3932,11 +2241,11 @@ - + - + sfix16_En4 @@ -3949,15 +2258,15 @@ - + - - + + - + sfix16_En4 @@ -3970,15 +2279,15 @@ - + - - + + - + sfix16_En4 @@ -3991,15 +2300,15 @@ - + - - + + - + sfix16_En4 @@ -4012,15 +2321,15 @@ - + - - + + - + sfix16_En4 @@ -4033,15 +2342,15 @@ - + - - + + - + sfix16_En4 @@ -4058,11 +2367,11 @@ - + - + sfix16_En4 @@ -4075,15 +2384,15 @@ - + - - + + - + sfix16_En4 @@ -4096,15 +2405,15 @@ - + - - + + - + sfix16_En4 @@ -4117,15 +2426,15 @@ - + - - + + - + sfix16_En4 @@ -4137,49 +2446,65 @@ - + - - + + - - + + - + - - + + - - [iq] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -4191,44 +2516,45 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - [Vq_Vlt] - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4239,236 +2565,29 @@ - - - + + + - - + + - - + + - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id_TgtAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - + [n_mot] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4479,412 +2598,28 @@ - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_limPrott] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - + + - + - + - - [id_Tgt] + + [b_enaFOC] - + @@ -4896,77 +2631,220 @@ - - + + + + + + + + + + + + + + + + u1 + + + + + + + + case [ 1 ]: + + + + + + + + case [ 2 ]: + + + + + + + + case [ 3 ]: + + + + + + + + default: + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + - + - - + + - - [iq_limPrott] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [Vq_max] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [id_TgtAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + @@ -4987,11 +2865,11 @@ - + - + [z_ctrlMod] @@ -5008,1241 +2886,6 @@ - - - - - - - - - - - - - - - - - - [Vq_Trq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_Open] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - Vq - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vq_prev - - - - - - - - Vq_Open - - - - - - - - default: { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Open_Mode - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [id] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - n_motAbs - - - - - - - - r_sin - - - - - - - - r_cos - - - - - - - - id_Tgt - - - - - - - - id_TgtAbs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Field_Weakening - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_prev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iq_raw - - - - - - - - id_raw - - - - - - - - iq - - - - - - - - id - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Current_Filtering - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_Trq] - - - - - - - - - - - - - - - @@ -6255,11 +2898,11 @@ - + - + [id_min] @@ -6278,220 +2921,28 @@ - - - - - - - - - - - - - - - - [Vd_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_prev] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - + + - + - + - - [Vd_min] + + [r_inpTgtSca] - + @@ -6503,603 +2954,29 @@ - - - + + + - - + + - - + + - - 6 + + [n_max] - - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - iq - - - - - - - - iq_max - - - - - - - - iq_min - - - - - - - - n_limProt - - - - - - - - Vq_Trq - - - - - - - - case: { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Torque_Mode - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - n_motAbs - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id_Tgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - n_mot - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -7120,11 +2997,11 @@ - + - + [iq] @@ -7143,28 +3020,28 @@ - - + + - + - - + + - - [Vq_max] + + [Vd] - + @@ -7176,43 +3053,167 @@ - - - + + + - - + + + + + + + + - - + + - - [Vq] + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + iq + + + + + + + + iq_max + + + + + + + + iq_min + + + + + + + + n_limProt + + + + + + + + Vq_Trq + + + + + + + + case: { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Torque_Mode - + + + + + + + + + + + + + + + + action + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -7224,43 +3225,190 @@ - - - + + + + + + + + + - - + + - - + + - - [id_Tgt] + + [Vq_prev] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + iq_limProt + + + + + + + + n_limProt + + + + + + + + Vq_Vlt + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Voltage_Mode - + + + + + + + + + + + + + + + + action + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -7272,43 +3420,631 @@ - - + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Vlt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Trq] + + + + + + + + + + + + + + + + + + + - + - - + + - + [id] - + - + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limPrott] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_limProt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_limProt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -7330,19 +4066,19 @@ - + - + u1 - + - + if(u1 ~= 0) @@ -7360,11 +4096,11 @@ - + - + action @@ -7376,58 +4112,1224 @@ - - - + + + - - + + - - + + - - 3 + + [id_TgtAbs] - + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_limProt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Open] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Trq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id_Tgt + + + + + + + + id + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + Vd + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vd_Calculation + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_prev] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Spd] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + - - + + - - + + - - r_inpTgtSca + + r_devSignal1 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + - + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -7439,206 +5341,899 @@ - - - + + + - - - - - - - - + + - - + + - + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + ufix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a_elecAngle + + + + + + + r_inpTgtSca - - + + - - Vq_max + + n_motAbs - - + + - - Vq_min + + r_sin - - + + - - iq_limProt + + r_cos - - + + - - n_limProt + + id_Tgt - - + + - - Vq_Vlt - - - - - - - - case: { } + + id_TgtAbs - + - - + + - + - - + + - - + + - - Voltage_Mode + + Field_Weakening - + - - - - - - - - - - action - - - - - - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - if { } + + sfix16_En14 - - - + + + + + + + + + + + + + + + + + sfix16_En4 - - - + + + + + + + + + - - + + - - Action Port + + sfix16_En14 @@ -7650,6 +6245,12 @@ + + + + + + @@ -7659,11 +6260,11 @@ - + - + [n_mot] @@ -7681,11 +6282,11 @@ - + - + sfix16_En4 @@ -7695,11 +6296,392 @@ + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + iq_raw + + + + + + + + id_raw + + + + + + + + iq + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Current_Filtering + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + - + @@ -7713,35 +6695,35 @@ - + - + i_phaAB - + - + i_phaBC - + - + i_alpha - + - + i_beta @@ -7771,11 +6753,11 @@ - + - + Clarke_Transform @@ -7788,15 +6770,15 @@ - + - - + + - + sfix16_En4 @@ -7809,15 +6791,15 @@ - + - - + + - + sfix16_En4 @@ -7829,49 +6811,82 @@ - + - - + + - - + + - - + + - - [Vq_min] + + [Vq_Spd] - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd] + + + + + + - + - - + + - + sfix16_En4 @@ -7883,107 +6898,44 @@ - - - + + + - - + + - - + + - - 5 + + [Vq_max] - - - - - - - - - - - - - - - - - r_devSignal1 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_ctrlMod + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -8004,11 +6956,11 @@ - + - + [r_inpTgtSca] @@ -8026,11 +6978,11 @@ - + - + sfix16_En4 @@ -8040,6 +6992,1062 @@ + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limPrott] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + a_elecAngle + + + + + + + + + + + + + + + ufix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limPrott] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + n_mot + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Open] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_ctrlMod + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Vlt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id] + + + + + + + + + + + + + + + @@ -8052,11 +8060,11 @@ - + - + 1 @@ -8074,11 +8082,11 @@ - + - + b_enaFOC @@ -8089,11 +8097,11 @@ - + - + boolean @@ -8103,6 +8111,54 @@ + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -9704,11 +9760,11 @@ - + - + @@ -9732,11 +9788,11 @@ - + - + @@ -9785,34 +9841,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -9841,7 +9869,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 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 61cf2e7..439d5eb 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 @@ -208,6 +208,45 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8721", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" + ], + "values":[ + "2", + "[]", + "off", + "[]" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8720", "className":"Simulink.If", @@ -252,33 +291,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8721", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8719", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "[]", - "off", - "[]" + "i_beta", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -286,7 +319,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"Goto", "masktype":"" } }, @@ -389,6 +422,144 @@ "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:8713", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_alphaAB", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge1", + "label":"Merge1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" + ], + "values":[ + "2", + "[]", + "off", + "[]" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:8711", "className":"Simulink.From", @@ -421,11 +592,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8710", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -433,7 +604,7 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "i_beta", "Tag" ], "tabs":[ @@ -452,11 +623,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -464,38 +635,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_alpha", + "i_alphaAB", "Tag" ], "tabs":[ @@ -545,106 +685,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8703", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", "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:8719", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_beta", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_alphaAB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -671,11 +716,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8713", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -684,7 +729,7 @@ "IconDisplay" ], "values":[ - "i_alphaAB", + "i_betaAB", "local", "Tag" ], @@ -703,142 +748,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:8718", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_betaBC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_beta", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge1", - "label":"Merge1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" - ], - "values":[ - "2", - "[]", - "off", - "[]" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "className":"Simulink.SubSystem", @@ -937,21 +846,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_betaAB", - "local", + "i_alpha", "Tag" ], "tabs":[ @@ -965,7 +872,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "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":"" } }, @@ -1134,11 +1072,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8705", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8703", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -1146,7 +1084,38 @@ "IconDisplay" ], "values":[ - "i_betaBC", + "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:8710", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_phaBC", "Tag" ], "tabs":[ @@ -1231,6 +1200,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_phaAB", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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 fc8ba69a5bf7b5ab54975a7e4560b2c05726367a..7a2b8ae1e5827d42f4b84b3d8ca938fbf7552016 100644 GIT binary patch delta 5335 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 literal 5858 zcmeAS@N?(olHy`uVBq!ia0y~yU^oH79Bd2>3~M9S&0}C-;4JWnEM{QfI|9OtQ?>b| z85qQ-c)B=-RLpsMH#$K2`9k&&|JS`^YSC$QVB(RGcFqwNzP)j-XOQ{Zm6v1EjOJEI zozIN7y1eE2LjLC~C%+87z1?n0oxT2C&+{{VUeCE~;d_bGV&(E}kMG1J6&Lf&SnbG^ z?CBAeS$gxc!xl%6Upz+N|J3^@O$^h%v47v+b=sM;mNj;8O)~$@(6P;kt;M5(QBf$t zp@T(2K#6graTmXs-k2aTzqeoCE^t!8s+JK-w>u~_ z9B$`dynjD`@b>)-MwvFHk2tcv+p?vH=3e~kHEUUBYh9tf%(2Dc>yu7BXBOf-kaO&F zaB#)nC!P!kK725EcYii;~J-&p-UPomfD%$YL}etdjjJjm%r(GM3~xSM;$TeZ@=xU@6F=vJ})_k*=ldY znxzX;ja>UzW^ghwl)t}w`0B+#hHlTQZx<9J_Isrmo=g$?{_d`@o%@luWrtIYrv9nA zwQt$-L+Uf6csAY9F2+f6w?*gyF#LGMRU`+7_MHmzpqfq99AN z59gRIUbBX$(SbqTf1XQpbhM{@Q^w|%tGd45ub1cM=Jr^A*%7`0>g(SZ|-Ak?A_av zLc_uqtz60ZuwciNMVt2RlY9E~sp{To+qTa(&!1LPnY%IK!i^g) zdB;naGV=4?T|XO|$k{}e?0020GPLe?|Mg42aCYND#Rne}Z450t|7T?}ZMe~8YG>Cs zYnIfT`}^hDni(gl9DM%ysYv+Z#ft+(Si2Uzn4Y~!$9Y<6g^ire&nJ^D-`~D{yStg4 zf7%!KMQ?L|{;w-25J=lBX`X-2#cHmbt1IifJ3E`h<7-XdZ|z!?kdx!He#-eXXBO<) z6Qi&Cr_Nq4eqWFHlkXR2?&>MeXFmUynQ4{mt@=9-zO~*5leKPjJ=M}bKCeK+eAVj4 zYhfM_4Q`!D+bel4ZS%slYkA|=i$8w+_<{-VOdqz#@n2`Bcu&X?&R3g!@ZsV1;(N+6 ze2celH&36vz+tg$UPgw-^XCN?Jc}=K%s-2`BVXJe5*QSEU{`luV!dp!|HFI)v@BhmO}n-R;#<^f-efWgod7AW6taEJCtLVeC@sa z?R$GSMCklFD3oiyYE@EN7Skq{B|({2%uNqx=+s4qZ(*4^XU>rW2N+a5om7Mlo;bnb zGpS|QE-SW{ZEH`S^t`j%ynp6QNgW-XgzIk;YySVfum7tiQFZQ%*?rBTouD$c(O1^2 z`st~ubEdUjU9o0O%k|f>kCl~9ZCzP9q5b9Oitl&J7p~GW@om2R^2ql6f8UzgSuOI_ zbL{d|5vuCX+Lmr&9dtRtfPq0uO6tP3YiypACY(%};G_2S_|0t}eAE{2-*=(R_ws_w zTW$7i2Q2k(A8GqLecJpr-t8a{cU$4h)-g4!{5YcxL)M#tjxv zEJe5uCK$YEoTTDeuXEZcB=qWYW)&gM8E4ZxCN0UoZo<22)uE(~FZ$PpX&cS#*=H+l zxB6;ViPhZiH_|pMPW5_uJ9wo?(8`c=WwXz=r5JUFXtD0T+jsJ$r;J5G!r%WdzFcTw z{Q2e8f2F$rvNL?+=b!m}&|*su+xF9KB~i{9ihP?-HdH9JYF&R+@Hj$;lVQW{{qGuP z_WhGKnem`#r-7Ln+xFYM^UsGH=%k;UOo=jhnLH_ zZ){)A^mn^cK(N%R*ff>PQgK$X{X03CXU+c393i9r`TPF=vif^IFzwpC`{UmCwfgV( za`(QCKl$SHTLr1!Lr;rxza?Ja;?RCM{r|`N7Y_YrSDnYCav)9fZ`YZv&rM}4Dp(i< zx{oGojk2H3VlPXi zii?XkM6K;OnpCy<^`S#d4M#h_w5~~ccD?Ad{!uAu>91b9R@iM8-ShdJH3P%slPv`n zJA%Fdk0QR2;+2s`kI1W7i_+sjppFb<_?5~&K z7{Rl<{C(Yuzw5U@pI>kH{Q3O9Z_2M;=K*}C=NySuwT z{H)2YNzpETcgOO|HL-Z3WdgpJ1^SOCn$7;I_WJ6MvbR#_=2~xmbv-wAe$6M(i>tZz z-|r7z?l<+z_9*VzwzBT~q_7hT+wJ_vQ^Vs9-nk|2_UGZ#m9#u{9T1&Gk^5 zY%tSD``4e--e2Fn%iFs|C$;`S(#cE{sf(8`E&A@u*ggHj#|oKtK3Oe`-lT#8f$Hz? z?r!P3ntOll>Q!0y%vN8W_1S-4$xESc@9+1U->(s#wd`Pu(ZLLpq?{a{<^J>Cs;jHd zy?*@BqOHAs;>i?H-K`+hnehMLUrY6WKR-Xec5-mXVQ$t#KZ!^!`o-hlst3x?85Ea#TPGLyrb%?mX)=2V03i% zsZ(Av&OX~SdFATW-2FD6IP_w6Fibzq>KZt~Yw3basXul0^QzzNoO3=tV_RHp?cRNp ze8a=V=hb}joMTxdnW&fm*A|9pGw z?lMM(y8plLKUTN@d6N0LgsKo{gpSyf%b6!O^%Pk2oH})iz0AsfO>TUXkB`rSg$ot) zqcuddGV5n8JD9X_!P2Eq8?W!J|9LvT;MEn)89vJv>6R@$p?7L}Y-`a<`~N@BTU39` zIe1-Fh?9q(UwN+I^gS7FzP`MxRu?Z{@a@Z&DSvq9olJS~wd(V?ol{omSy@Ne*HhoJ9*}hK3e$Av1t7G@#CcCMXR*@~sZXr;5W zb6mzXXSK-}nuX3s>PoF-O zkd!<)(>UG0#-?X)^>?SsCR?^`d!;(#ZeIKCw{DS3dyY zAGXWCntR}=*2~M6FB{DC*>E$*a_O&24${4Dd+&YvbXuP|B8K~P+UA#2zr5M7_|1;p zOVvMJdV5-a{q$V<2~N`^!q>-Lo!!{@Crl@DnjjC`!c3_*W!2~GHmwc!HZ?VU`TxQi z`@b*!SFBs-rZn+F^qioTB0Ow|XKlHupL>u=ta+k`%7l|CAFc%ZCnhB^1qTQJcvrr^ z+k3j+!mV3F>))Q8ZT|IiZ-&XL{ur~_XRH3Y1d6mAP7DbReX4V9*(xo$>NgwbB!8^h zYdQ7HwQJY*c>RC#M#sv^Dj+Uy-gc9<_un6X^F}9Wqr|<+=dxF>TzT<-{{6r2%747{ zuiup_&UEt|W9RY5mA7U1+Bb-5-%h!8^XAO&{AW{)b`(G76LGzG{nxJ_kNY2f{#mrH zaQX7(iDt764GkNkx92I!^}jys!6$3=<-+{ztSl~OX66kMIv`z9QBeXMEMK-BNlQyJ zFfn0q4GahkU26W(N`~*s_3N*X@2dH@)kTSM@x_i!n~Xqd^!K;7r+=#HUFj0-KmPS? z+I-VS`{C- zaP}=8UfzWpH*QSW?{)3R4~u(MuXR->dzzS;y-Ge-_jPsr!|VJ1eRZpw6MFMo>4di{ zF33z<`{vfxY}N0dQ}h>h^}g_3epy07qGH9xJ?HIy>o_eGNJ~%mwmX)zc)R2TUjsY4 zeM@JXnMdX4>!(B>J9Mb&-sSwQQG)%)AC_1p8qNGNdHeeH{1ZJ`bai!qJ#hBD{Gh<% zliIesyGps!HcRf^ySK`C*V(kg-TM1xeBSfs?Jcg_%-rAJYu>6v-+WU0pji9mtYrtE z7Aa2jP?+j#whDUp6{0eEs^hz-n%Qi0k~nlHErQjE#do)LL0v zf4$!Bv~bV!pMU=?QdRMuz`LR5=KPBn1NZ!R)O}-r{eLz2o2O!Sm-$9`_8(1R5Uc*X zdiCnhRt}AKChj?K{qWt*Q@<>qSGDRv_4<+(o@G041V!phYw|s-<0$7;7Wd05b@r0y z&!1nse7SkHdH%XzwvRtnoLj^ueeh+8*xDuPLYzx3XIjkl+YzG|5)vW;Zooavum3H5 z>7~i5SFgT!{mNdyx9$GFZ`=86dp7B;&-imE%TQtUf>o>booZ9@l#rJ{-e3RcvFP^8 z^*NG zN=@^h@#_8i+An&Hyu>qlee2={&0mr z;O5M-(8=22>lWgV;9;u`TX^`PLu_p9J@ZfM^J|(mZZx#{e8xC?-zv{-#)j693s;)o zt6)w)Kd<%vdv_f%=j3E%H+T19wLaas&u0C7legVEJ?`73`}%+X%v!egWXt-wN$%4W zj`zt%fB#)CnJy6flrcuu&TyjPpG`2J)wKITna zr=vF}ZIlRFd8Mt->?~V~a`eW1C(BYCro~TQ?^d>ut^fFBP^5x4f-o3ka{O6jl ztJDrA2#AV`R@Q30-}hTDuJ&ta%i%zs)(iZS$r?zV^da_s@Mgzi^e7(M%t| z#SJ%e&P67_o}K3&msDC(vgUVn#ooBTN0_gb<;EoxZk^_%HaT4Lyq`d{RMzUNr*3<# zpDZgmp;w5nz3}6sqrA1}A3l7@Tf0AhmuzL{*3gve8;Y#vb{v2FYw4L6FEsYV<@@!Q zmt~x}G<)HtXUUwK`rO>yil+TFoatjx{EUZ - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - - - - - else - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - + @@ -261,19 +182,19 @@ - + - + - + - + @@ -299,11 +220,11 @@ - + - + sfix16_En4 @@ -313,6 +234,118 @@ + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + else + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [i_beta] + + + + + + + + + + + + + + + @@ -325,11 +358,11 @@ - + - + [i_alphaBC] @@ -358,11 +391,11 @@ - + - + [i_phaBC] @@ -391,11 +424,11 @@ - + - + [i_phaAB] @@ -414,316 +447,28 @@ - - - - - - - - - - - - - - - - [i_phaBC] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaBC] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaAB] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_alpha] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_betaAB] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_alphaBC] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - + + - + - + - - [i_beta] + + [i_betaBC] - + @@ -733,102 +478,6 @@ - - - - - - - - - - - - - - - - - - [i_alphaAB] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaAB] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -841,11 +490,11 @@ - + - + [i_alphaAB] @@ -862,6 +511,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -897,29 +610,44 @@ - - - + + + - - + + - + - - [i_betaBC] + + [i_phaBC] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -940,11 +668,11 @@ - + - + [i_beta] @@ -962,11 +690,11 @@ - + - + sfix16_En4 @@ -978,59 +706,43 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + [i_alphaAB] + - - + + - + - - + + - + sfix16_En4 @@ -1040,11 +752,140 @@ + + + + + + + + + + + + + + + + + + [i_betaAB] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaAB] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_betaAB] + + + + + + + + + + + + + + + - + @@ -1058,43 +899,43 @@ - + - + i_phaB - + - + i_phaC - + - + i_alphaBC - + - + i_betaBC - + - + else { } @@ -1124,11 +965,11 @@ - + - + Clarke_PhasesBC @@ -1145,11 +986,11 @@ - + - + action @@ -1166,11 +1007,11 @@ - + - + sfix16_En4 @@ -1187,11 +1028,11 @@ - + - + sfix16_En4 @@ -1203,35 +1044,98 @@ - + - - + + - - + + - - + + - - [i_betaAB] + + [i_alpha] - - + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_betaBC] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1244,7 +1148,7 @@ - + @@ -1258,43 +1162,43 @@ - + - + i_phaA - + - + i_phaB - + - + i_alphaAB - + - + i_betaAB - + - + if { } @@ -1324,11 +1228,11 @@ - + - + Clarke_PhasesAB @@ -1341,16 +1245,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1362,16 +1266,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1383,15 +1287,15 @@ - + - - + + - + sfix16_En4 @@ -1419,11 +1323,11 @@ - + - + 2 @@ -1441,11 +1345,11 @@ - + - + i_phaBC @@ -1456,11 +1360,11 @@ - + - + sfix16_En4 @@ -1472,43 +1376,91 @@ - - + + - + - + - - [i_betaBC] + + [i_alphaBC] - + - + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaBC] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1530,11 +1482,11 @@ - + - + 1 @@ -1552,11 +1504,11 @@ - + - + i_phaAB @@ -1567,11 +1519,59 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaAB] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -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 80bc0b4..a868ce6 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 @@ -48,6 +48,411 @@ "finder":[ ] }, + { + "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:8682", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "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:8678", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"Gain4", + "label":"Gain4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "1/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: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: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:8675", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_phaA", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "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: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:8673", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"i_phaB", + "label":"i_phaB", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "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:8683", "className":"Simulink.Outport", @@ -128,6 +533,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_phaB", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", "className":"Simulink.Outport", @@ -208,442 +644,6 @@ "masktype":"" } }, - { - "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: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:8678", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" - ], - "values":[ - "1/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:8676", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "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: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:8675", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaA", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "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:8673", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"i_phaB", - "label":"i_phaB", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "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:8672", "className":"Simulink.Inport", 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 155256d..8e060ef 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 @@ -62,135 +62,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - i_alphaAB - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - i_betaAB - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaB] - - - - - - - - - - - - - - - @@ -203,11 +74,11 @@ - + - + [i_phaA] @@ -224,6 +95,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -236,11 +179,11 @@ - + - + 1/sqrt(3) @@ -258,11 +201,140 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2/sqrt(3) + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaB] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaA] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -284,68 +356,20 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -353,7 +377,7 @@ - + @@ -361,7 +385,7 @@ - + @@ -369,7 +393,7 @@ - + @@ -377,7 +401,7 @@ - + @@ -385,15 +409,15 @@ - + - + - - + + @@ -401,14 +425,62 @@ - + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -434,131 +506,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaB] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -572,7 +524,7 @@ - + @@ -580,11 +532,11 @@ - + - + if { } @@ -602,11 +554,11 @@ - + - + Action Port @@ -616,102 +568,6 @@ - - - - - - - - - - - - - - - - - - [i_phaA] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2/sqrt(3) - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -724,11 +580,11 @@ - + - + 2 @@ -746,11 +602,11 @@ - + - + i_phaB @@ -761,11 +617,11 @@ - + - + sfix16_En4 @@ -775,6 +631,150 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + i_alphaAB + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaB] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + i_betaAB + + + + + + + + @@ -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 274afdb..68d8fa3 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 @@ -48,6 +48,65 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "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:8700", "className":"Simulink.Outport", @@ -129,52 +188,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8694", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", "SampleTime" ], "values":[ - "rectangular", - "--", + "1/sqrt(3)", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", "off", + "Zero", + "off", + "[]", + "[]", "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 10 + 8, + 11 ] }, "viewer":{ @@ -183,7 +242,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Gain", "masktype":"" } }, @@ -221,21 +280,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "i_phaB", - "local", "Tag" ], "tabs":[ @@ -249,7 +306,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -395,127 +452,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8689", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "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:8692", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8694", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" - ], - "values":[ - "1/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:8688", "className":"Simulink.Inport", @@ -584,53 +520,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8689", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "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", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "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" @@ -638,7 +546,71 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_phaC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":"" } }, @@ -710,25 +682,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "i_phaC", - "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" @@ -736,7 +736,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, 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 3089940..57f874a 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 @@ -62,6 +62,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -74,11 +138,11 @@ - + - + 2 @@ -96,11 +160,11 @@ - + - + i_betaBC @@ -112,51 +176,43 @@ - - - + + + - - + + - - + + - - - - - - - - - - + + 1/sqrt(3) - - + + - + - - + + - + sfix16_En4 @@ -178,11 +234,11 @@ - + - + [i_phaC] @@ -201,29 +257,44 @@ - - - + + + - - + + - - + + - + [i_phaB] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -244,11 +315,11 @@ - + - + [i_phaC] @@ -266,11 +337,11 @@ - + - + sfix16_En4 @@ -292,11 +363,11 @@ - + - + [i_phaB] @@ -314,11 +385,11 @@ - + - + sfix16_En4 @@ -340,11 +411,11 @@ - + - + 1 @@ -362,11 +433,11 @@ - + - + i_alphaBC @@ -376,150 +447,6 @@ - - - - - - - - - - - - - - - - - - else { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - [i_phaB] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1/sqrt(3) - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -532,11 +459,11 @@ - + - + 2 @@ -554,11 +481,11 @@ - + - + i_phaC @@ -569,11 +496,11 @@ - + - + sfix16_En4 @@ -585,123 +512,44 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + else { } - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - + + - - + + - - + + - - i_phaB - - - - - - - - - - - - - - - sfix16_En4 + + Action Port @@ -722,11 +570,11 @@ - + - + [i_phaC] @@ -744,11 +592,163 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaB] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + i_phaB + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 c33a5b0..7f65563 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,53 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_currFilt", - "label":"cf_currFilt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_currFilt", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8741", "className":"Simulink.Outport", @@ -129,162 +80,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8735", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"cf_currFilt", + "label":"cf_currFilt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_raw", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_raw", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"id", - "label":"id", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "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", + "cf_currFilt", + "on", + "inf", "[]", "[]", - "Inherit: auto", + "fixdt(0,16,16)", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -293,8 +114,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -303,25 +124,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "id_raw", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -334,7 +155,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, @@ -432,11 +253,77 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_raw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -444,7 +331,7 @@ "IconDisplay" ], "values":[ - "iq", + "id_raw", "Tag" ], "tabs":[ @@ -493,6 +380,103 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8735", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_raw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8729", "className":"Simulink.Demux", @@ -527,61 +511,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8728", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"id_raw", - "label":"id_raw", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "iq_raw", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -589,7 +537,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, @@ -661,25 +609,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "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", + "[]", + "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" @@ -687,30 +684,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8728", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"id_raw", + "label":"id_raw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "iq_raw", - "Tag" + "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" @@ -718,40 +751,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.png index 94313d84d1532891db8cdc7ccf9054b6c1387303..8bda22c09e3319f139e4c5db6ef067243e48a48c 100644 GIT binary patch delta 4667 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 delta 4654 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg index 905b44e..03f0579 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg @@ -10,69 +10,6 @@ - - - - - - - - - - - - - - - - - - - cf_currFilt - - - - - - - - - - - - - - - - - - - - - - cf_currFilt - - - - - - - - - - - - - - - ufix16_En16 - - - - - - - @@ -86,11 +23,11 @@ - + - + 1 @@ -108,11 +45,11 @@ - + - + iq @@ -124,29 +61,386 @@ - - - + + + - - + + - - + + - - [iq_raw] + + cf_currFilt - - + + + + + + + + + + + + + + + + + cf_currFilt + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + coef + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + coef + + + + + + + + + + + + + + + + + + + + + + Low_Pass_Filter + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -167,11 +461,11 @@ - + - + [id_raw] @@ -200,11 +494,11 @@ - + - + [iq] @@ -221,54 +515,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - id - - - - - - - - @@ -281,11 +527,11 @@ - + - + [id_raw] @@ -303,338 +549,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - coef - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - coef - - - - - - - - - - - - - - - - - - - - - - Low_Pass_Filter - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -656,11 +575,11 @@ - + - + [id] @@ -678,296 +597,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - id_raw - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - iq_raw - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_raw] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -989,11 +623,11 @@ - + - + [id] @@ -1010,6 +644,372 @@ + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_raw] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_raw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + iq_raw + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + id_raw + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -1166,5 +1166,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json index 8243d81..4969c88 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,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2407", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "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:8738:2406", "className":"Simulink.UnitDelay", @@ -188,63 +108,6 @@ "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(.*)", - "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:8738:2404", "className":"Simulink.Sum", @@ -305,11 +168,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2403", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -410,6 +273,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", + "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:8738:2400", "className":"Simulink.Inport", @@ -477,6 +397,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2407", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", + "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:8738:2399", "className":"Simulink.Inport", 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 e83fe67..c3389bd 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 @@ -10,60 +10,12 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - + @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + sfix16_En4 @@ -151,27 +103,27 @@ - + - + - + - + - + - + @@ -189,11 +141,11 @@ - + - + ufix16_En16 @@ -203,62 +155,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -271,35 +167,35 @@ - + - + - + - + - + - + - + - + @@ -317,11 +213,11 @@ - + - + sfix16_En4 @@ -331,11 +227,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + - + @@ -387,54 +387,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - ufix16_En16 - - - - - - - - @@ -447,11 +399,11 @@ - + - + 2 @@ -469,11 +421,11 @@ - + - + coef @@ -484,11 +436,11 @@ - + - + ufix16_En16 @@ -498,6 +450,54 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + @@ -715,5 +715,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json index 3807d34..4499557 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 @@ -3,8 +3,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8761", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Field Weakening map as a function of Motor Speed

", - "label":"

Field Weakening map as a function of Motor Speed

", + "name":"

Field Weakening map as a function of Input target

", + "label":"

Field Weakening map as a function of Input target

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

Field Weakening map as a function of Motor Speed

", + "\n\n

Field Weakening map as a function of Input target

", "off", "rich", "auto", @@ -196,11 +196,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8759", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8760", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_Tgt", - "label":"id_Tgt", + "name":"id_TgtAbs", + "label":"id_TgtAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -229,87 +229,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_cos", - "label":"r_cos", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -436,283 +356,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8756", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"r_sin_M1", - "label":"r_sin_M1", + "name":"toNegative", + "label":"toNegative", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", + "Gain", + "Multiplication", "OutMin", "OutMax", - "InternalRulePriority", + "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", "SampleTime" ], "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "r_sin_M1", - "Flat", - "None", - "on", - "0", - "off", - "Inherit: Same as output", + "-1", + "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,14)", + "fixdt(1,16,4)", + "off", + "Zero", + "off", "[]", "[]", - "Speed", - "off", - "Simplest", - "off", - "Clip", - "Inherit: Same as output", - "", - "-1" - ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 10, - 20 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Interpolation_n-D", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754", - "className":"Simulink.Interpolation_nD", - "icon":"WebViewIcon3", - "name":"r_cos_M1", - "label":"r_cos_M1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", - "OutMin", - "OutMax", - "InternalRulePriority", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" - ], - "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "r_cos_M1", - "Flat", - "None", - "on", - "0", - "off", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(1,16,14)", - "[]", - "[]", - "Speed", - "off", - "Simplest", - "off", - "Clip", - "Inherit: Same as output", - "", - "-1" - ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 10, - 20 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Interpolation_n-D", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8753", - "className":"Simulink.PreLookup", - "icon":"WebViewIcon3", - "name":"n_fieldWeak_XA", - "label":"n_fieldWeak_XA", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", - "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" - ], - "values":[ - "Explicit values", - "Dialog", - "n_fieldWeak_XA", - "Index and fraction", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", "Inherit: Same as input", - "[]", - "[]", - "uint8", - "fixdt(0,8,6)", - "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", "-1" ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 9, - 16 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"PreLookup", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8750", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod3", - "label":"a_elecPeriod3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "uint8", - "off", - "inf" - ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 2, + 8, + 11 ] }, "viewer":{ @@ -721,16 +410,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8760", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_TgtAbs", - "label":"id_TgtAbs", + "name":"r_cos", + "label":"r_cos", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -759,7 +448,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -806,60 +495,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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:8748", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8753", "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"a_elecAngle_XA", - "label":"a_elecAngle_XA", + "name":"r_fieldWeak_XA", + "label":"r_fieldWeak_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -890,18 +530,18 @@ "values":[ "Explicit values", "Dialog", - "a_elecAngle_XA", - "Index only", + "r_fieldWeak_XA", + "Index and fraction", "Evenly spaced points", "Clip", "off", - "None", + "Error", "off", "Inherit: Same as input", "[]", "[]", "uint8", - "fixdt(0,16,14)", + "fixdt(0,8,6)", "off", "Simplest", "on", @@ -983,39 +623,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8746", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "FramePeriod" ], "values":[ + "0", + "on", + "inf", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "inf" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, + 3, 7 ] }, @@ -1025,7 +667,87 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8759", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"id_Tgt", + "label":"id_Tgt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", "masktype":"" } }, @@ -1087,60 +809,140 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9650", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", + "id_TgtAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9638", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto12", + "label":"Goto12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8754", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"r_cos_M1", + "label":"r_cos_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", + "OutMin", + "OutMax", + "InternalRulePriority", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" + ], + "values":[ + "1", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", + "Explicit values", + "Dialog", + "r_cos_M1", + "Flat", + "Error", "on", + "0", + "on", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,14)", + "[]", + "[]", + "Speed", "off", + "Simplest", "off", - "off" + "Clip", + "Inherit: Same as output", + "", + "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 10, + 20 ] }, "viewer":{ @@ -1149,7 +951,525 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Interpolation_n-D", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9646", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_cos", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748", + "className":"Simulink.PreLookup", + "icon":"WebViewIcon3", + "name":"a_elecAngle_XA", + "label":"a_elecAngle_XA", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", + "LockScale", + "RndMeth", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", + "SampleTime" + ], + "values":[ + "Explicit values", + "Dialog", + "a_elecAngle_XA", + "Index only", + "Evenly spaced points", + "Clip", + "off", + "Error", + "off", + "Inherit: Same as input", + "[]", + "[]", + "uint8", + "fixdt(0,16,14)", + "off", + "Simplest", + "on", + "", + "10", + "11", + "10", + "Inherit: auto", + "-1" + ], + "tabs":[ + "Main", + "Data Types", + "-Other" + ], + "tabs_idx":[ + 0, + 9, + 16 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"PreLookup", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"r_sin_M1", + "label":"r_sin_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", + "OutMin", + "OutMax", + "InternalRulePriority", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" + ], + "values":[ + "1", + "off", + "Explicit values", + "Dialog", + "r_sin_M1", + "Flat", + "Error", + "on", + "0", + "on", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,14)", + "[]", + "[]", + "Speed", + "off", + "Simplest", + "off", + "Clip", + "Inherit: Same as output", + "", + "-1" + ], + "tabs":[ + "Main", + "Data Types", + "-Other" + ], + "tabs_idx":[ + 0, + 10, + 20 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Interpolation_n-D", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9657", + "className":"Simulink.Relay", + "icon":"WebViewIcon3", + "name":"n_commDeacv", + "label":"n_commDeacv", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "SampleTime", + "ZeroCross" + ], + "values":[ + "n_fieldWeakAuthHi", + "n_fieldWeakAuthLo", + "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:9653", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8750", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_elecPeriod3", + "label":"a_elecPeriod3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", + "on", + "inf", + "[]", + "[]", + "uint8", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9648", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9649", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_Tgt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9641", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9652", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto27", + "label":"Goto27", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9647", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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":"" } }, @@ -1194,17 +1514,17 @@ "Dialog", "id_fieldWeak_M1", "Linear", - "None", + "Error", "off", "0", - "off", + "on", "Inherit: Same as output", "[]", "[]", - "fixdt(0,10,0)", + "fixdt(1,16,4)", "[]", "[]", - "Speed", + "Precision", "off", "Simplest", "off", @@ -1234,6 +1554,153 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9654", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs5", + "label":"Abs5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8745", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9639", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8744", "className":"Simulink.Inport", @@ -1302,51 +1769,59 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8756", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9651", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"toNegative", - "label":"toNegative", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "fixdt(1,16,4)", + "Inherit", + "-1", + "auto", "off", - "Zero", + "", + "on", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -1356,7 +1831,147 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9644", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_sin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_elecAngle", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9636", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator2", + "label":"Logical Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" + ], + "values":[ + "AND", + "2", + "rectangular", + "off", + "boolean", + "-1" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 5 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Logic", "masktype":"" } }, @@ -1411,159 +2026,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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:8744#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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:8754#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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:8750#out:1", "className":"Simulink.Line", @@ -1666,57 +2128,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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:8753#out:2", "className":"Simulink.Line", @@ -1768,108 +2179,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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:8746#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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:8749#out:1", "className":"Simulink.Line", @@ -1921,6 +2230,210 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8747#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8752#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8744#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9640#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8745#out:1", "className":"Simulink.Line", @@ -1972,6 +2485,414 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9636#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9643#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8755#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9645#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8754#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9648#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9647#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:8756#out:1", "className":"Simulink.Line", @@ -2024,7 +2945,211 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8747#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9651#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9654#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9657#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9641#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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:9653#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_8743_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.png index 50d14ee2ef2f2ca7289f78ff92c0637552fed7d5..470eb812c82d42d206edd5e3cd526d0da11e78c5 100644 GIT binary patch literal 9568 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 O3=E#GelF{r5}E*H{Du<% literal 9524 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 r%?cU - + - + @@ -14,7 +14,7 @@ - + @@ -22,8 +22,8 @@ - - Field Weakening map as a function of Motor Speed + + Field Weakening map as a function of Input target @@ -33,7 +33,7 @@ - + @@ -41,7 +41,7 @@ - + Note: The Sine and Cosine maps are shifted in phase by @@ -49,7 +49,7 @@ - + 30 deg to align with the Hall sensors position. @@ -60,15 +60,15 @@ - + - + - + FOC Field weakening @@ -79,15 +79,15 @@ - + - + - + Sine/Cosine Look-up Tables @@ -97,11 +97,11 @@ - - + + - + @@ -111,78 +111,30 @@ - - 3 + + 4 - + - - + + - + - - id_Tgt - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - r_cos + + id_TgtAbs @@ -194,42 +146,42 @@ - + - + - + - + 1 - + - + - - + + - + r_sin @@ -241,363 +193,44 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - - - - - f1 + + -1 - - - - - - - - - - - - - - - - - r_sin_M1 + + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -608,363 +241,44 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - - - - - f1 + + 2 - - + + - - + + - - + + - - r_cos_M1 - - - - - - - - - - - - - - - sfix16_En14 + + r_cos @@ -976,180 +290,180 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1164,149 +478,116 @@ - + - - + + - - + + - - n_fieldWeak_XA + + r_fieldWeak_XA - + + + + + + + + + + uint8 + + + + + + - - + + - + ufix8_En6 - - - - - - - - - - - uint8 - - - - - - - + + + - - + + - - + + - - 0 + + b_fieldWeakEna - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - + + - - + + - - + + - - id_TgtAbs + + b_fieldWeakEna + + + + + + + + + + + + + + + boolean @@ -1318,42 +599,42 @@ - + - + - + - + 0 - + - + - - + + - + sfix16_En4 @@ -1365,93 +646,799 @@ - - - + + + - + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + id_Tgt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_TgtAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + r_cos_M1 + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1466,37 +1453,37 @@ - + - + - - + + - + a_elecAngle_XA - + - - + + - + uint8 @@ -1508,58 +1495,473 @@ - - - + + + - - + + - - + + - - b_fieldWeakEna + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 - - + + - - + + - - + + - - b_fieldWeakEna + + r_sin_M1 - + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + n_commDeacv + + + + + + - - + + - + boolean @@ -1571,59 +1973,43 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + [r_inpTgtSca] + - - + + - + - - + + - + sfix16_En4 @@ -1635,187 +2021,91 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F + + 0 - - + + - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_TgtAbs] + + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -1827,58 +2117,205 @@ - - - + + + - - + + - - + + - - 2 + + [r_sin] - - - - - - - - - - - - - - - - - n_motAbs + + - + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1891,178 +2328,354 @@ - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + 1-D T(k,f) - + - + k1 - + - + f1 - + - + - - + + - + id_fieldWeak_M1 - - + + - - + + - - ufix10 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + @@ -2074,57 +2687,57 @@ - + - + - + - + 1 - + - + - - + + - + a_elecAngle - + - - + + - + ufix16_En6 @@ -2136,43 +2749,58 @@ - - - + + + - - + + - - + + - - -1 + + 2 - - + + + + + + + + + + + + + + + + + r_inpTgtSca - + - - + + - + sfix16_En4 @@ -2182,111 +2810,262 @@ + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + ufix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + @@ -2295,25 +3074,11 @@ - + - - - - - - - - - - - - - - - + @@ -2323,39 +3088,11 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2365,39 +3102,11 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2408,37 +3117,289 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 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 e42e60a..3ee2377 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 @@ -556,111 +556,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8875", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" - ], - "values":[ - "2/sqrt(3)", - "Element-wise(K.*u)", - "[]", - "[]", - "fixdt(1,16,0)", - "off", - "Floor", - "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:8879", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "IconShape", - "Inputs", + "Function", "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", + "Inputs", "LockScale", + "OutMax", + "OutMin", "RndMeth", + "SampleTime", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "ZeroCross" ], "values":[ - "rectangular", - "--", - "off", "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", + "min", "on", "1", - "All dimensions", - "-1" + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 1 ] }, "viewer":{ @@ -669,7 +604,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"MinMax", "masktype":"" } }, @@ -733,11 +668,129 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8879", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "inspector":{ + "params":[ + "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:8875", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"Gain4", + "label":"Gain4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "inspector":{ + "params":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "2/sqrt(3)", + "Element-wise(K.*u)", + "[]", + "[]", + "fixdt(1,16,0)", + "off", + "Floor", + "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:8870", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Add1", + "label":"Add1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -762,9 +815,9 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", - "Simplest", + "Floor", "on", "1", "All dimensions", @@ -851,7 +904,7 @@ "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Same as input", "off", "Zero", "off", @@ -884,46 +937,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8872", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"Gain1", + "label":"Gain1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", + "Gain", + "Multiplication", "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", "SaturateOnIntegerOverflow", - "ZeroCross" + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ + "sqrt(3)/2", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", "Inherit: Inherit via internal rule", - "min", - "on", - "1", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "-1" ], "tabs":[ + "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 8, + 11 ] }, "viewer":{ @@ -932,16 +991,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8870", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Add1", - "label":"Add1", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -968,7 +1027,7 @@ "[]", "Inherit: Same as first input", "off", - "Floor", + "Simplest", "on", "1", "All dimensions", @@ -1054,65 +1113,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8872", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain1", - "label":"Gain1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" - ], - "values":[ - "sqrt(3)/2", - "Element-wise(K.*u)", - "[]", - "[]", - "fixdt(1,16,5)", - "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: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.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.png index 9748da39e44d9ea652455c41754740e1a3906669..cdac7cd88dd2aed12f5a22101e03776ce29572c7 100644 GIT binary patch delta 4088 zcmbQOGFfGUW&Kf47srr_IdAV)2Sk5uV*ijYr=p_R;;{6g(26as3`-qeN3`EsRlRl7 z4XfQ@uZ!pITwA}w+PZqH-McsT*1^ZEH~;@}{oh98b60QP{Al>r# z#n8(pA;-qUW+}1%x9o(;%y;&1TFh_l$ z)}3k}sv0{vAMn>t$mVva`*)1Da`qaX1q&E9L^SN$_0*DiQRrTX_@Po?_%G2OiR$;@hQ%)BVw z>B|F_JiOBRY(Zfd2jywNviI{5&Kt$vA6P1Hat_=CBZz_u=8{ z`JWH-7wM*$oQjWnn{R*q&VT*-iP_5g^Ye2jO%EQIKmEJHrl|N$e|^g2&akydSy?8` zw#hP0FjKF)_k1$*gcpnE=iiU^C@(iZlV;qtXsh~K&+hr2``?;*+##+yqEGLx%4Fa473NB3ETpkJn4l4CRjutX*DngCNA2TwzC{5fVClk0# zHFnL5*|QF<*42H%%_hjnvfz5w$Mf6o^Od`^msrUb6&D*C8aD3QWfillgfnclXx)B! zUS3}9%0H5V9qTw2nCfRb{JZ|}K)q}D{kWY>Q>G}qDR^MNYE{zhC(oZBep{CO`Po?p zhF-VkcklA%)Z0`FS(m+WaCAKQY5qYak4Y`ho~7A*yOFFp_4A+4=bhJIU;c7MhN-vI zgjzG{xSU+qd<_;65r^j`kK(no1NWwK&ze1Z;?$|ElTWg&zS^Z5z3s?b=}wn`;NZ<~ z*!PP}Qdzibm(@}uzj-#D?((%JzV0roBQG_$I4S;lez)9tY0%O7St7Ic>l)=`Wkp?o zzaVO@+2wWzZIw(1zxj5(%a*Ctd^pHHW7aIEz(B!0ar%6+R$H>n752qL%%rIHBW{u9%Pn$Mxemtwl*49>Y z`b;sq`Foz&n}6SaJnf#37+3vC@4P0*O5a&Gb@U(f+{+N-JAJy8;pg*>hLxqo7CQA$ zpQk_Db8X?#yG65=Hs9=-HA`y8-Mo^rGA0JI+*>S{qoQ~Hd%gY>Z;GYmr=zhE98;z- z+5gvBA2V;(q;SpYQyG{0F@}bIDi-4|_`7S5iu>AW?-$Az_4Q-&w-Nkrtor4{VgAQ^ zzu)tIE&Xm2i;4_ia!HBFyN&1V|J%G<^zHZG`WZ839C*9^J|6=ITl0%oubNamFTDP` zJxWVW)zs8lZg1JPEh#ID%Wbh>TV>r#sa`d+CbQcQ9z2-TKRLthw9te# zYjkpMY*2hxzwvN8|KYst$LscezgNw8!gtNRdvPnSX64-8rhDzktn(9<-4nLoE_`xg z;uqN;x=(Ix&HnJSrm){~uHTz`d##<_w^+GMw{}$$^q9ml)oW@{rR2-z9e4A-eE-fo z!TROJv};k)cedHW9Xl%SZMu{9ea^`nGxHr@*I!-gJzc?5$V7^_ zsJOWBxNP~6dD1d6M@sHT{@C}|cv)>+##Jwc^&+nSzuec@FhxZt-<8?O&aUs=IX{Ws zV-f1Mchkz=39l73UiS0wt68&WCvJ=o;A)*Pd2;i`i-8`KSe6EL*8cwHX!!V<;aorU zn8XJ~J1^Y3*EemNScHyPPhVgCqIK)|_}ZB#sW>hSShMQiwIfGd4w=>G<>g&c`&eWw z!DDcKhvxd-yRE)Kr9TF0fP*WrG_3PJ-%buS&!EtWBegDgs znOnAQO}xLac0<%!&AI1;EM@v`SnZj)YxnNJ`1tva%1k+Cx92>oy%HW@+j^0az3SXF zhj6n_IfhA@!rM&#IA8h{_N8vZwQFG|Wo3tC>;KB!PrY*eI=e$$z|6dhQI3YMuO&4f z6o_sU%5_p(d^Kz0+_}Ab_SpRR`)|qZnP;C_{@wKA^}ipF`wMo)blcXHl$0#kyjhr; znYsI3`La8AVsdV5NIW+^YVO2oznfzAS+P96SMNIg;d_IiZ!G_+Y{ko}!!NxJ|Kjtd z$~G%2>%#Tx_3iui*`=hWE?l)L>s;%$kjTi$9dEbYW?--`f7erMADo$)dFZ(Ku|NpQspQ<*VYu$) zX0dwDy8ZDtCiazG3O20Popt%;5#@dxq1CNz?d{3RHe9VtV%@A(bNOUtWiMoH-EcFf z@E|t}(~McO4mC2fKRP8VQ!nG9BGh>OwX2_>pV#p{leR>?T{LTnC-Wt1o1Xpe-y8{D zEB4{%gtb>6-REWdb9+ts+KU%2TK=!>oMTzcw$u2UTC0L(aRx`RqdDtFXEe*V0zdpXd z_W#ZF`HoA27A{!8;Oy+Yqwp~spNvJrty@tsdnyFg{pZD8(73gF{l2cn?){JEmft%V zoxgYMlE=I(Op>q9=!aZth?za(z||(E%8hrnX3to){`k_y#+LmJv(59*{dT%v^O;vl zN-AOdZBR;j^Cl<5MC!%YstOyqH#ax4AFNLh@LMjNetzEE?aH-}j&Q!YyIcHtpX}l9 z_v`mJ1fSirZk=8t@57><55E5njELY^8`d45!7|mW_2fy<7bR92B3ut`0>i?t?fJed zBs~0Z-uA^ic1RpOdX%I6@QW8O8dN-2tX&)Xf%W&(>G6w}FHb-Dkl{)8qAgoYzAc*} z`nTn5s7igN!@JElKOB8}x}e3$!Ikw(oxR-c&Fs=XYBk^QmVcJPMD_205 zj;UU)t5&UI^_S4!zJ&4R`}fDg){40<6liO22emo6^~9y5r3>%ZeqZ`!k)@?&frZSB zdGp%h*1N~D{Wod4{`%<8&(9xctqIVWa>-z+if6@(h3y4@etf)(@+ag_*gApPjvy8kL>9n3kj>~m$uwz z)6JYh+3g|eOGLR?`{eEAuHUJAyY;$(ot@n8pEJ|vdG5%sto*rWuE*w^JrgGi+WdIX zd}CMX>qY(gvfm$_Nl%l%^!jVk?QOXm?{B~Uy4Tmh?fK*{RkkKlydqqzYr?drc&VC5 z@#@9z<6+oX-62>1=cDENrynZ>xLO%b)GwZXGV5hyBO}Z2^M}e``TFdzHF!CtAyc?( z-d}kUk*R8T+%39HHwVw<SO9(Fy565f|XJ_XhFBbQIxa6&W@bSk7e|~=c z@Uw=azWs2(>Z=YGxZ~2MEe%Vece(4N@oVa<$V9C*3v>SS<+8togha#1 z6ekUlL+fI9U#hCvJkv+*VQhb+gTlizU)C;Lvc$zAA|SRtwwGP5g2C3-)?lX3#=6ig z`Bs*eohw(ajL242S9iAvij0lzJ$B4(%G9Zx>6iTHSTtT_WPeky>*n}UOR8dT+>V%amS<`>O$ zbD3OihaYa4I-m3A&71WbZol35@A$X3w=dsw-&Iq}A^Lr9%d}}?B4T2T_U@Gx&J~~Z z?eVo(2eDV(`ujX?ot(4tpH}dvPoE}CpFVx#_4$6^)DMbhKI51cwbre)^y{X+gr%iw zwR?Yky&j*uSS!%@{@?F!Z=1hY-~FRzpXuH|e_F-k4iulaZ9m-3|MzkwAo>mTPa$DROv~thVYl*r? zXYro+_V#w`=@X0&OM@Jj1|57`mON>`m{UFHnwt$0JZ+WsJV}S!cs<=WX4EMwD|5=9 ze=`4I#KxIlzCQW&^>v~7&n3SXCtq9jbf0sHW>|?@t*wCsPw} z<{KjUUxZ!u`IWUKK%+%FXL9AYo9W?q@7pVWw0&uueyMlq(%8&^voNWgeE|IrA+Hhf)QMFpF9S_G^?e4jr@v_@<1(zOdm#?#Uf8k$}ri$mJ xOHoP}r4C6=UMQF{IYDsg@dy7IUnLpe-2C+PLk0#022WQ%mvv4FO#tvQ@&^C_ literal 4635 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
- - - - - - - - - - - - - - - - - - 2/sqrt(3) - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 0.5 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - 1/2 - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - + @@ -825,19 +483,19 @@ - + - + - + - + @@ -863,11 +521,11 @@ - + - + sfix16_En4 @@ -877,6 +535,158 @@ + + + + + + + + + + + + + + + + + + 0.5 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2/sqrt(3) + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + @@ -889,27 +699,27 @@ - + - + - + - + - + - + @@ -927,11 +737,11 @@ - + - + sfix16_En4 @@ -943,67 +753,121 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + + + + + + + + + + int16 + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1/2 + + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -1025,11 +889,11 @@ - + - + sqrt(3)/2 @@ -1047,12 +911,148 @@ - + - - sfix16_En5 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1384,10 +1384,10 @@ - + - + @@ -1409,5 +1409,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json index 7dcd594..57e8d59 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 @@ -506,7 +506,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "on", @@ -565,7 +565,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "on", @@ -594,101 +594,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_sin", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_sin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", "className":"Simulink.Goto", @@ -723,19 +628,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", + "Vq", + "local", "Tag" ], "tabs":[ @@ -749,16 +656,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -816,21 +723,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq", - "local", + "Vd", "Tag" ], "tabs":[ @@ -844,64 +749,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8894", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "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":"" } }, @@ -937,51 +785,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "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", - "off", - "1", - "All dimensions", - "-1" + "r_sin", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -989,64 +813,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8891", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "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":"Goto", "masktype":"" } }, @@ -1078,7 +845,7 @@ "off", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -1107,6 +874,94 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "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: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:8906", "className":"Simulink.Goto", @@ -1141,11 +996,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1172,11 +1027,125 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8891", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "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:8894", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide4", + "label":"Divide4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "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:8901", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1184,7 +1153,38 @@ "IconDisplay" ], "values":[ - "Vd", + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_cos", "Tag" ], "tabs":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.png index c9db83a5892e8120b7c5dc6a26f18e0eb9312e34..126c1667eedbe677d962aa4d4b05341edd257f94 100644 GIT binary patch delta 7356 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 E05Vl&Q2+n{ delta 7415 zcmca?^VnvBC8Ov>E4li6k5~hfytb~jox3D$R?p|xDU-~uE}8Cg{M?sGmd}0a|IWQ} z(x=$Zr#`p;=hkAsON-UCLar$^1tu#k$SG)Ko%TCck6Wj@x~|^l-L3=g%ICMTivQh{ zCh_#<-RG4J&-ecRTQ~oG>*LCK?21R$E?}=^YGE*3FS?0DmafCW1x4Q4m4(Rq02{d@Kvx5Q|dmJe62vfBK!m@tRu&-woh+TlzG4<7nl zUDdF~q~Up^w0X<%q-4fs#tA1Iu7oJq$$5BGT-e{}-dF#{asGixDMpM_ryjT$}D&aJcFQD<*z`rA~deE+*7 zBhL7D^Vm6DH_fc5|M%~6Y<#*Ix2x^(kFoN_Ih${`te<&jZ`%%6SDpBf5C$R6fC!D4 z9jU2KvC29=E965$8U1ZpZ@fKltk=P}H{id7j7V2vmFIw`~i9qT->)l9GpZK7C>{%dHgB$!RPagtxgqv2NhbD?D_N0 z`rq_;uICqTXj}=7if%1vY2!LypPeBPXK%=uvGvfl4vvSVy1IwdJu+8bIPqYGx#0E{ ze2=)@13i}u>+N`w;;@qC)$7)RidFVLe)sY>GPOL{6gi~cbW`Wg{S+aliPOsJ?W^_* zEbyJ(QczOLs2z6Z-txP8Hq++W?UlQHO|7P>rIqvk_wU?|H#a(0+`Td5L#MFxZiV{& z>)IJvkBBc_`n@~CP5Hxfd*`1jXuahcT}Qzt62EZ!QrW5MD@Eovz{ zV}7tiZ1c(ZDJ8)W6x8xOEuDKlTVJHHosqg>t>*o66@FTC@i7{QdQL*2m_`}wX%|0d1e{a0xF z3*jT-HvCtvalOCS_o(l6a&hjmtFP0=*SEE|`l~qXSdlJwe&N2j9rcgi#mt`ld|$j1 zqhd>IS44|JeSiZ;;(`W&Lk^6JEsac09L%gO0&K6=c!5pH2t$K5FGrQN)OK%^ipP#q1VZwpJ zzrRXt{(iZ9=J}MVQ-A6zc%R(EeChi2_IK~{Lc+opEm*)17#O&se%-ob2M#cBadB

3iamzI`R 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 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 f77fe20..6c90fc5 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 @@ -546,135 +546,6 @@ - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - @@ -687,11 +558,11 @@ - + - + [Vd] @@ -708,150 +579,6 @@ - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - @@ -864,11 +591,11 @@ - + - + [Vq] @@ -885,311 +612,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - @@ -1202,11 +624,11 @@ - + - + [Vq] @@ -1224,11 +646,300 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1250,11 +961,11 @@ - + - + [Vd] @@ -1272,11 +983,11 @@ - + - + sfix16_En4 @@ -1286,6 +997,295 @@ + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + 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 527b837..fe6a0bb 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,6 +244,86 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9017", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"n_limProt", + "label":"n_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "12", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9015", "className":"Simulink.Outport", @@ -325,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":[ @@ -358,7 +438,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "8", "Port number", "[]", "[]", @@ -371,7 +451,7 @@ "auto", "off", "off", - "V_max", + "V_min", "off", "reset", "off", @@ -485,11 +565,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -518,7 +598,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -531,7 +611,7 @@ "auto", "off", "off", - "V_max", + "V_min", "off", "reset", "off", @@ -565,11 +645,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -598,7 +678,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "1", "Port number", "[]", "[]", @@ -611,7 +691,7 @@ "auto", "off", "off", - "V_min", + "V_max", "off", "reset", "off", @@ -694,11 +774,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", + "className":"Simulink.PreLookup", + "icon":"WebViewIcon3", + "name":"iq_max_XA", + "label":"iq_max_XA", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", + "LockScale", + "RndMeth", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", + "SampleTime" + ], + "values":[ + "Explicit values", + "Dialog", + "iq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", + "off", + "Error", + "off", + "Inherit: Same as input", + "[]", + "[]", + "uint8", + "fixdt(0,8,6)", + "off", + "Simplest", + "on", + "", + "10", + "11", + "10", + "Inherit: auto", + "-1" + ], + "tabs":[ + "Main", + "Data Types", + "-Other" + ], + "tabs_idx":[ + 0, + 9, + 16 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"PreLookup", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9012", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -727,7 +886,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "7", "Port number", "[]", "[]", @@ -740,7 +899,7 @@ "auto", "off", "off", - "V_min", + "V_max", "off", "reset", "off", @@ -774,74 +933,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"iq_max_M1", - "label":"iq_max_M1", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", - "InternalRulePriority", + "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" + "FramePeriod" ], "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "iq_max_M1", - "Flat", - "None", + "i_max", "on", - "0", - "off", - "Inherit: Same as output", + "inf", "[]", "[]", "fixdt(1,16,4)", - "[]", - "[]", - "Speed", "off", - "Simplest", - "off", - "Clip", - "Inherit: Same as output", - "", - "-1" + "inf" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 10, - 20 + 3, + 7 ] }, "viewer":{ @@ -850,7 +977,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"Constant", "masktype":"" } }, @@ -903,87 +1030,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", - "className":"Simulink.Interpolation_nD", - "icon":"WebViewIcon3", - "name":"Vq_max_M1", - "label":"Vq_max_M1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", - "OutMin", - "OutMax", - "InternalRulePriority", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" - ], - "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "Vq_max_M1", - "Flat", - "None", - "on", - "0", - "off", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(1,16,4)", - "[]", - "[]", - "Speed", - "off", - "Simplest", - "off", - "Clip", - "Inherit: Same as output", - "", - "-1" - ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 10, - 20 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Interpolation_n-D", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", "className":"Simulink.Constant", @@ -1034,32 +1080,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecPeriod2", - "label":"a_elecPeriod2", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "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", + "9", + "Port number", "[]", "[]", - "uint8", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -1068,8 +1145,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1078,7 +1155,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, @@ -1224,96 +1301,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8983", "className":"Simulink.RelationalOperator", @@ -1360,64 +1347,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8982", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" - ], - "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" - ], - "tabs":[ - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"MinMax", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1446,87 +1380,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "9", + "6", "Port number", "[]", "[]", @@ -1615,6 +1469,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_limProt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", "className":"Simulink.Goto", @@ -1648,6 +1535,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", "className":"Simulink.Goto", @@ -1682,11 +1602,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1695,7 +1615,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "id_max", "local", "Tag" ], @@ -1715,11 +1635,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1728,7 +1648,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vd_min", "local", "Tag" ], @@ -1780,39 +1700,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", "className":"Simulink.Goto", @@ -1847,27 +1734,47 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8982", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "Vq_max", - "local", - "Tag" + "Inherit: Inherit via internal rule", + "min", + "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" @@ -1875,7 +1782,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"MinMax", "masktype":"" } }, @@ -1913,11 +1820,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1926,7 +1833,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "n_mot", "local", "Tag" ], @@ -1946,74 +1853,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"Goto11", + "label":"Goto11", "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":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "n_min", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2021,7 +1881,73 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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:8962", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", "masktype":"" } }, @@ -2059,11 +1985,125 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"iq_max_M1", + "label":"iq_max_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", + "OutMin", + "OutMax", + "InternalRulePriority", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" + ], + "values":[ + "1", + "off", + "Explicit values", + "Dialog", + "iq_max_M1", + "Flat", + "Error", + "on", + "0", + "on", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,4)", + "[]", + "[]", + "Speed", + "off", + "Simplest", + "off", + "Clip", + "Inherit: Same as output", + "", + "-1" + ], + "tabs":[ + "Main", + "Data Types", + "-Other" + ], + "tabs_idx":[ + 0, + 10, + 20 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Interpolation_n-D", + "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":[ + "iq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain5", - "label":"Gain5", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2117,6 +2157,746 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "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", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_max", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"Gain6", + "label":"Gain6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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":"Gain", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From36", + "label":"From36", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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:8998", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"Vq_max_M1", + "label":"Vq_max_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", + "OutMin", + "OutMax", + "InternalRulePriority", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" + ], + "values":[ + "1", + "off", + "Explicit values", + "Dialog", + "Vq_max_M1", + "Flat", + "Error", + "on", + "0", + "on", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,4)", + "[]", + "[]", + "Speed", + "off", + "Simplest", + "off", + "Clip", + "Inherit: Same as output", + "", + "-1" + ], + "tabs":[ + "Main", + "Data Types", + "-Other" + ], + "tabs_idx":[ + 0, + 10, + 20 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Interpolation_n-D", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From18", + "label":"From18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_limProt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From17", + "label":"From17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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:8936", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "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:8946", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd_max", + "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":[ + "Vd", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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:8924", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Current_Limit_Protection", + "label":"Current_Limit_Protection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "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:8923", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM3", + "label":"CTRL_COMM3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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:8957", "className":"Simulink.Gain", @@ -2177,11 +2957,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8955", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2189,7 +2969,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "n_mot", "Tag" ], "tabs":[ @@ -2208,90 +2988,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", - "className":"Simulink.PreLookup", - "icon":"WebViewIcon3", - "name":"iq_max_XA", - "label":"iq_max_XA", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", - "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" - ], - "values":[ - "Explicit values", - "Dialog", - "iq_max_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", - "Inherit: Same as input", - "[]", - "[]", - "uint8", - "fixdt(0,8,6)", - "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" - ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 9, - 16 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"PreLookup", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8954", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2299,38 +3000,7 @@ "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:8952", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id_TgtAbs", + "Vq_min", "Tag" ], "tabs":[ @@ -2429,612 +3099,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"a_elecPeriod2", + "label":"a_elecPeriod2", "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: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:8949", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "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:8964", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_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:8962", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_mot", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8940", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9017", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "12", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "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:8936", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "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: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", - "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", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", - "className":"Simulink.PreLookup", - "icon":"WebViewIcon3", - "name":"Vq_max_XA", - "label":"Vq_max_XA", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", - "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" - ], - "values":[ - "Explicit values", - "Dialog", - "Vq_max_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", - "Inherit: Same as input", + "on", + "inf", "[]", "[]", "uint8", - "fixdt(0,8,6)", "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" + "inf" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 9, - 16 + 3, + 7 ] }, "viewer":{ @@ -3043,16 +3143,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Gain5", + "label":"Gain5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3107,168 +3207,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "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:8948", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "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:8974", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8941", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3282,56 +3225,7 @@ "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:8923", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM3", - "label":"CTRL_COMM3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "TRQ_MODE", + "VLT_MODE", "on", "inf", "[]", @@ -3458,60 +3352,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "VLT_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3519,7 +3364,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "Vd_min", "Tag" ], "tabs":[ @@ -3537,65 +3382,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain1", - "label":"Gain1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "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":"Gain", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", "className":"Simulink.Inport", @@ -3695,35 +3481,196 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Vq_max_XA", + "label":"Vq_max_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", + "LockScale", + "RndMeth", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", + "SampleTime" ], "values":[ - "1", - "u1 ~= 0", - "", + "Explicit values", + "Dialog", + "Vq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", "off", - "-1", - "on" + "Error", + "off", + "Inherit: Same as input", + "[]", + "[]", + "uint8", + "fixdt(0,8,6)", + "off", + "Simplest", + "on", + "", + "10", + "11", + "10", + "Inherit: auto", + "-1" ], "tabs":[ - "Parameter Attributes", + "Main", + "Data Types", "-Other" ], "tabs_idx":[ 0, + 9, + 16 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"PreLookup", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vq_min", + "label":"Vq_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator3", + "label":"Relational Operator3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, 4 ] }, @@ -3733,16 +3680,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3750,7 +3697,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "iq_min", "Tag" ], "tabs":[ @@ -3769,43 +3716,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8920", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8941", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "VLT_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "n_min", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3813,7 +3742,69 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8955", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":"" } }, @@ -3884,6 +3875,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8949", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From37", + "label":"From37", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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:8918", "className":"Simulink.Inport", @@ -3951,37 +3973,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", "className":"Simulink.Inport", @@ -4050,11 +4041,54 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8940", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4062,7 +4096,7 @@ "IconDisplay" ], "values":[ - "iq", + "n_max", "Tag" ], "tabs":[ @@ -4081,52 +4115,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8920", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Gain6", - "label":"Gain6", + "name":"CTRL_COMM", + "label":"CTRL_COMM", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "FramePeriod" ], "values":[ - "-1", - "Element-wise(K.*u)", + "VLT_MODE", + "on", + "inf", "[]", "[]", - "Inherit: Same as input", + "Inherit: Inherit via back propagation", "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "inf" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 3, + 7 ] }, "viewer":{ @@ -4135,16 +4159,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4152,7 +4176,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "iq_limProt", "Tag" ], "tabs":[ @@ -4238,42 +4262,11 @@ } }, { - "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":[ - "Vd", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4282,7 +4275,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "Vq_max", "local", "Tag" ], @@ -4302,99 +4295,106 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Current_Limit_Protection", - "label":"Current_Limit_Protection", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "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" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "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", + "boolean", + "Simplest", "-1", - "", - "off", - "" + "on" ], "tabs":[ "Main", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 6 + 1, + 4 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"Gain1", + "label":"Gain1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "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":"Gain", "masktype":"" } }, 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 358b28a73b6109e6165590e2ab9107ed96e29b65..1f3ffdabbb846e384ebbbc57af20c80c9a236067 100644 GIT binary patch delta 13417 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

6Ufb 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 + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + @@ -135,11 +183,11 @@ - + - + cf_idKp @@ -154,175 +202,15 @@ - - - - - - - - - ufix16_En8 - - - - - - - - - - - - - - - - - - - - - - - - - - cf_idKb - - - - - - - - - - - - - - + - - ufix16_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + ufix16_En12 @@ -343,75 +231,75 @@ - + - + err - + - + P - + - + I - + - + Kb - + - + ext_limProt - + - + satMax - + - + satMin - + - + out - + - + PI(z) @@ -429,11 +317,11 @@ - + - + PI_backCalc_fixdt_Id @@ -444,11 +332,11 @@ - + - + sfix16_En4 @@ -456,29 +344,29 @@ - + - + - + - + - + - + @@ -490,153 +378,6 @@ - - - - - - - - - - - - - - - - - - [id_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - [id_Tgt] - - - - - - - - - - - - - - - @@ -649,11 +390,11 @@ - + - + [id_min] @@ -682,11 +423,11 @@ - + - + [id] @@ -705,28 +446,28 @@ - - + + - + - + - - [Vd_max] + + [id_max] - + @@ -736,6 +477,102 @@ + + + + + + + + + + + + + + + + + + [id_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -748,11 +585,11 @@ - + - + [Vd_min] @@ -770,59 +607,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_max] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -844,11 +633,11 @@ - + - + [id_Tgt] @@ -866,11 +655,11 @@ - + - + sfix16_En4 @@ -882,44 +671,29 @@ - - - + + + - - + + - - + + - - cf_idKi + + [Vd_min] - - - - - - - - - - - - - - - - - ufix16_En16 + + @@ -930,217 +704,107 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - 6 + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - - - - - - - - - - - - - - - - id_min + + - + - - + + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - [id_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - id_max - - - - - - - - - - - - - - + sfix16_En4 @@ -1162,11 +826,11 @@ - + - + 4 @@ -1184,11 +848,11 @@ - + - + Vd_min @@ -1199,11 +863,11 @@ - + - + sfix16_En4 @@ -1213,6 +877,54 @@ + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + @@ -1225,11 +937,11 @@ - + - + 3 @@ -1247,11 +959,11 @@ - + - + Vd_max @@ -1262,11 +974,11 @@ - + - + sfix16_En4 @@ -1276,6 +988,183 @@ + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + id_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + @@ -1288,11 +1177,11 @@ - + - + [id] @@ -1310,11 +1199,74 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + id_min + + + + + + + + + + + + + + sfix16_En4 @@ -1336,11 +1288,11 @@ - + - + 2 @@ -1358,11 +1310,11 @@ - + - + id @@ -1373,11 +1325,11 @@ - + - + sfix16_En4 @@ -1389,44 +1341,44 @@ - - - + + + - - + + - - + + - - [id_min] + + cf_idKb - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1447,11 +1399,11 @@ - + - + 1 @@ -1469,11 +1421,11 @@ - + - + id_Tgt @@ -1484,11 +1436,11 @@ - + - + sfix16_En4 @@ -1498,6 +1450,54 @@ + + + + + + + + + + + + + + + + + + cf_idKi + + + + + + + + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + @@ -1766,5 +1766,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg index 5c12ffc..7afab09 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2275_d.svg @@ -15,7 +15,7 @@ - + @@ -72,36 +72,36 @@ - - - - - - - - - - - sfix32_En20 - - - - - + - + Ini=0 + + + + + + + + + + + sfix32_En20 + + + + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg index 7b88981..3420a90 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_2282_d.svg @@ -63,7 +63,7 @@ - + @@ -1012,15 +1012,15 @@ - - - + + + @@ -1103,10 +1103,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json index 5912b14..629e7f0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json @@ -1,4 +1,193 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2290", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "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:9163:2285", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum6", + "label":"Sum6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2527", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "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:9163:2293", "className":"Simulink.Sum", @@ -59,42 +248,62 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2282", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2284", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "[]", - "[]", - "Inherit: Same as second input", + "rectangular", + "+++", "off", - "Floor", - "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/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Sum", + "masktype":"" } }, { @@ -195,18 +404,17 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2285", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2273", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -218,13 +426,12 @@ "SampleTime" ], "values":[ - "rectangular", - "++", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "fixdt(1,16,5)", "off", "Simplest", "on", @@ -240,7 +447,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -249,7 +456,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, @@ -320,376 +527,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2272", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2273", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2527", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "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:9163:2396", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2284", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "+++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "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:9163:2290", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"out", - "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "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:9163:2291", "className":"Simulink.Inport", @@ -825,11 +662,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2251", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2396", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -852,7 +689,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "5", "Port number", "[]", "[]", @@ -958,6 +795,112 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2251", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"P", + "label":"P", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2282", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2292", "className":"Simulink.Product", @@ -1015,6 +958,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2272", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2250", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.png index 0f12c16fcedcd6e7f6ce5e2fc64f7ee2f1b09706..806d5dab75efa987fee26b46d38aebcf0167078c 100644 GIT binary patch literal 6973 zcmeAS@N?(olHy`uVBq!ia0y~yU^oH79Bd2>3~M9S&0}C-;4JWnEM{QfI|9OtQ?>b| z85pGAd%8G=RLpsMw>D%->A(LUpYt3psMl^XQmAM?Hg|@H>cX)2{C&9@(Y4l*C5xBO zF8;N(JpJ~!=jFe*?%p}?{;c1*{?T){-3rd0duwrN*6Fot_dRQ4dY0QI(bS}{{nQH% z<}(I|@6`N%@S5dd44=W_o=%mc7F8K%P&imS|ldky3Z=0G{MuM zB|w2u(5aEdg@aW{KvBeF$OvToiDh_r&s%@*k*(L`UVr=g>Q$Cp^_z{HIv1ZPGjb;E z+__UkRCH(U-L%cV37Kl@JC6!s@nwA0##^^;Srk5EaddQ4-ZyX3q(gHoi`907IPpB6 z-e6*CTKKrvTu4gF>e1_`PoD}22ny^e>Rx*NwWhxQ@dSepZ@1sSbmN9cbhI>ssHkX3 zNlAi<)XFt$z8rhmGQ&VF*72T}_T!!T`ct-#z+UeqYtxe0snA zzZrM##GIRB*&MZ2&C+t_;dcJT*I#$`^eoxAbLP*_&wsx;%<(W+F4oaZ-u_(YA*WfN zKV@u-$T)X;@ylD;KUZy-u>5}Q^gn-UwnXV}PCtJv#Yj+6(laANWBa`-?c(R>RPF5K z)`od!WodnWet!9$J$J6p_vTpt;RTn_;-K2^haWs=Yj582@^a*^l9wB5=lH4bE_<8w z^V8D|6XxZHv(MhC`Fu8}_^jz;?X3dBM;15i*;HdW`}>=P_EuF23hMq%hY#{>p83E0 zey#Gm#X&10wq{M$mSIRtOx*M1QTLnM+s|7s6+d*`hU>&3%i@asrtGQb=G&jYxY#{% zONL<8Ub)$4k8R1k%)!h1^ufXACr_SSxO%nKZLy-MX{pm`HMRc0t4VY1>*pOi=GG@? z`)cdFC0n;{jj8|pHRs-*$`jxG?f*_GetvFa?eDU14Jj$94G}tTZg1~TKHgXO;elgT zcJ|(&K8H(}FF$^-)bZbRRoR5DF0Na*Z_l)^|2H9e`Ns`WYePaqCr+RK{8rhkE1GHN z=e_;4bK%0qFJDTks;Vr?-bk3=DPU%}yv&z5;ru+?I8E;b6~A6C*VNEhuw%!JGiQAI z~nZNOIJv>JX1;Tf4&Az@V?X1+R*ROZJTsAv^cb$r$@TtWO z5o^NY{=ff!Oh)F-t!E_`CuSS9*6)93W%uI&b5KywjlI?8nVFe0eAKeCvrnEry?EQU zY46_UZQ8u~VulIGZ}aBaJ^2y5%;)2)_Fb23KOPZgxN`ma=jZnSZ=PQ|^NtPI3ETWV z2aj`$J4Hy$v0&V|alvK5OIMC$$Jd>7=C?7(ng8_k^v|D8>wo@mm|s{-jE(1x-^;I6 zTcXyM+qVkXJqmPK)zrjxh%q3T`Tw_khKRH?3D3jh4KJS+|99!|SJkl9Q%$q4efT{8 z{~T6sv7XH@oPNx6XZ-oSgCowin9V&(>Q3SD18(ijE8Y7(Bm@e2fBx)#XZ_;E$sWp! z&ZdF9(%0Abae7P#=Yv3pxP9;Ky!vDpXI>DG<`ubHCVjHAGw=KEkke1BX1X0-6S-MM z;ZfJaK!*@5(bmdJ5hnTCFM>OF?sQ(2*t#RCcbDPf<;&CW=w82g@nX&2uh&`lSBXlW zxoaV)sCH`wbJ735-}`?riHwX)NloqjZE|pXz*IO`D9?Z@GWtZP}s2hcz`cB))Gv z=A_mq%wY5LUiF@vx4Sa~W>49*fBu|lVr5gNYxb zbSBL>YwN5PD^?gzJ)O4s=houY@k~W8E-3c6Ex!FtVE5f~n^I4!?FgAX{bWkg>Wd!F zORw|h{P>l9;&k(e0=~2J&K}!-|Jgm)Zicp=pN)-qcFn8bSX)`0IC0{^$K&$qT3TJ7 zJ{5iX^l8V-WwYDnUe7TTmXUe0HP3tBgXxoQ=9qDDbBi8d(%mU6Cf2rYJ^$gQyy@qi zf`rb@YJGNywM$G#qVUXlkErPA%4ajvJ^cOE?d|7Zxe_9D_e#mP@81`Pt-hFH60@U# zac>+y&y_N^Q*&4vrDF{fL$pNee;?$pNPQnSXW~TWaQ*|8uSBl5wFZ7_manMMnd^64 zx!=YqGgGtSb^*_`0t-;0Zf$L4V7zKr?8Kb3HR|Th;^pDLCg4FwUe)|3U%R`^;sd{ zhlzrtqvN{$Dh2`**JByzeSk2wCb?e2;mk*zss$DBKVc$Nx9JAZ0 zhc8~a;^OVi9T^#U<@$Bw(pMpi7AtD=`|+GLcs_v^LO``&LpZ>MZ%IC0e~Eit_qkJMCEtGRuVo6|Pt-?x+D zV=pZ&ee(1vFK5TuH0Q+^3!a?*p7G~L#oo7GiX^-eD`s^V(GUN<%+^p-AgZK z%&;t8=FTW-^W<8FNzu1AktJ5LA3uIvw_l>Rw${YV4CLJFe_y9ux_j5x$A^cZu(0q( zj@gzd-JLskzPY)Xee=yT*Vabg+>pp@H8;w2Nwx8IhnTD|(@nKLYGZEiEprX?jMSrj~AsQ-0&e#MW6?Tj<5 z%k|PWSDtuY^KR#J4Gj&2?Zxcnsv*oD*0b$MeYUiG%g2Y+=O_M}pWpkV^3T5s?+Pp| zDn2M!&Fz~qMdUiDrV#0MJN)hK?VTTwNyl#I78Dd*w_k#-x$)Vvv_ppv|NX)FM_o(H zYh#(Fx_WvgQKj)9KQ|O$#>tq|K1>DRnoC& zk&>5}*Nt7JtFwPM^V?ZG`803xaT9^=$WMf8eVBe_QQQlg|Xkr93T<7n!x1{!ib0`|n>lfw_LioB8cde0q91 z_O{<#tEW<%tS9~YRduiGwQkw_duR84zvo?6X4c!=tD>&%?=rDfe2zuoqfLib1qTJ~ zF|+h2x)t;8$NBA+wZBX@Zrm8LHmt`@+5G(6)jQ^gGd;@l`L%S`l!M8aoSmH7YJQel z$>#6*cx=MsN+Y$uf4|>Xx3imf>Cz>|#`mTwZB2Wrydx-v@U-avc~sgNKMV3 z9sP>?KD%XVuAgV+`v1Yt>2J%7e*gOM+L`}jUwiGwq~zpw)*~-Vg2KX{{W>fmC+Fwo z#pSlR(8*r;z^kjP-M`lLGkyAUu(_uCaWAvIj4hXOx|0vjR6lj;dzJ0;@75SIczSv= z965Gu(wsSGp3kp8H^;I#hCeZE^;B8wG669$GtKO|OjD00J)Aj9>X!arzi;o`EsGOQ ziS$M3oVl@UDtp*Em!&~F^O7%LzWnm_>&KtZ+shYK-???`)Z6X%{R#^WB_$p2^)6Q8}OeYo@Q@0X)Tc>Wy!`gP%|wW@1(&-VR(&-(~RXvMpn+uMAfJ>xYvc<|t# z>rJeC{+%_CP*zs7k@1`7^0Z*W-RsBoy}fMKDf)PLJotJ&e)*OyQ&_phG``K?coMf~ zdPT^g*~LXWEY*)+PZg~DB5!`@Kz+qVFAGD%i`siP$?~yV%{|AhDm6RMeaEg{Rd*IM z&h=9_n|(G{bl&BcGS@%4XW!nIdsuCT#OhFGS=l8^ zmI%nm^n|V6o3r+c$GT~Pix=~Cm}kiu85>&`J?XgZwy0B%+aULr$#z*e_t##sr$0TN z9>3`F%N6U_tDBooU%&s~tR+iSa?EbeU@F=wQR=YgqLH+;^y^mw>P(0G>%J^jv|k^! z^_0IVr%q#Rt3u2C${N;}Z{NyZdL6Vh$guWT$(5|H6T-rp4>sJ)Q8O`_($m8euD#lA z@xp!kgY zwbpX>daLJqerbK39u>L&7nhiRneMa5P1)l8vCG_->gU|qG4acnl56W?PxsgVNj`P@ zbi1kB-v9r8=SlBih^zaVI>%3)-{u2D)!uniwZr?eEk1mEd)w2?tLW?x!!T*H90hy( z`PT1tG`q{!PMNIk-*MZfRk?o8o;%C4Pgaz$&U{!B^uDCYi#1Aj z%hrQyA}?G%d}yZe-%Gs@vXyrLRJcZrZwa>&A?WN}v|^?{~Wy zk6o=U`S|FliMe_I@Bhhve|=pOw|Ca8SyEx^<8--S{Fvy@So!_k?w^On<9W7hihC6l z7k~cF0)@IaX;(GlqxaX@GL)8<=G@$r>T^6|cbTrig}wKr@2(OS7QWjTE79vNUn?S! zF}vbntN5{68^f|Z<|MP(h7vp$GJLmg-~O5G$?4uFQyBY7KWB3M|Ni|OXFY94)ec@z^`4uXyJg$9T~V(3F*_O#CKUAkjM!IWsqQ~- z$-;#XyYhUBEM(%OXDBo7+_i)E!~-_R$tOYS%zL_?Y?!Te@v}4U-&Y--*uYV4Q^m%~ z&;NW@_PURyk$;wL-#&faI=%HW-q$Sl?_#N|f6Q61Qt+bmv$(XL%{w-EI3yf7wyXB{ zH$h=x=lXj4;AK7!54Cc;xVtBt%{G+k^_goW+J4xvs_K`h;X22j-alz~LA|J*J9o~p zC}i3i!(hgdhzaE+RaU=f4(fYPd(ZtDz`RG9~k51agZYcO9TI@hob+u@^=f^Pql!xu@&C4*oA+zX}QqA713z?N+mQ z&z>45rcZ~s^*{Xie7^Y4kHScc(jFCs@Qv+qRUC^iYCM!+uVmZlC2LnRW3hYxr1|sD zpPOslzUHlxjXLAU$=9xhf$Hk*_3$A9JJbCir_x=BEwZqmtI5ANOZofjD+?=YU|gJ^iwleXo)1jY=6Nc5dVT8i zYc9Qh{zW`q-$aG+V{_!@w7}qC=kW09$BU);Wb@JrNbxWT(IXh=& zWIX7zez#!NsxDS;F$QMm>CsV9H@0S9pYZn4Cl!SQ?ecXNIX2ZE9vrN!tajGvH8nOL zKYoE~CbTP!Xq`7-L-+MPRR>hJ#}v^K2!X3nw= z8zwARpul-t!_z_H$0jjR(ZV-344<8!&;MW>_umK;6O#oOGdz5KWj`C%ecL>rcjn~m zySqwfoK1W6>eY{v{&hxg{!VX7*nZnRW}k0`o7^S#z|~is!*>6Dv-$js7cV5P8}8n< z>%_^E56@Y@m$_c(Hfw{Pj?SA+!SlT=j;SwLuW)&p@8U&^4n5!h#M@iGrL{HDKw^eb zD%aDePyamRuYb^Meox|SiBsC-#SMHOUS3?9nwpDm9ZxX0 zaPMAU*lJZv%bBlUWtm9v&YU^(%C&1k;^OWpDJtpb<|t}tbhNav_|3E7pHDw-ZVNLUm0I`w+g|9@5=miy0VQ!p}`lzV$y<#&5GpBW8&CnDb5-7UWRZr{li zr{$L~Uc1(IHLH|WMN6ye+&RBrzkhrB`W}5)u;Uvq7nf9#wy?N3`vLX&HIK^Hew}!& zQ9gHt>w`}jbH8YJUVbU_v2O3Wb$oOE+#@1xY`E^_?cIKMvuW+G63~drw;5@hXI{H@ zO>jPARaMoBl`9Kxi@%=#|Bt$;sAx)hdhu!9?L5`CHa2r!yvX=2ALKJ*^*gRddEZKx zw%@cYezqWNb?onNU%pJ3FkwN3kH6f6yBnj{mXwz#o6UBQ+4T0pLT3?i@&1=L4((pI ztD(m=Jzah8-n~bT91#!}Za$iHFvaNSn#u7_PE7jyek{6u{ro)J*ONbYU7Xxtu)*zN z!sX@u--A6}7ECM?P!u^KdW8K-mZ_!dgE5%1Y4hflYu2b(S%W^FCq z>vs6uTPX~wgoqkil!ziaxa&g<{| zmg=WZpNfcz{@g9W#J^r4x7qm01%{b31td8W6GP@&F1Gl!Zt2q0J*jg_YHS4?Kg@9t zpYZ?J8{>KTS&P&)U+$KbadR0jmNh}96We%j$N(P;)@;u0RrCBbUvo;Y~kQoyed04Gt+VX_09GF>*A-ncQh1T z?bQ%DG<(TbKMtyoA0Oh1Xwa_^AD{T;J@qRLRC>&dT8BlV;4&_*~G* zX_^xzy!^6fY^-c;Z7nE;$jH38KJ$hwAN$|Ge@n{Bc1??$Hld@_=*{f=7cV--$IEwi zcDA&%{HUD?s+c@HI6OT)zkL0A@#4jY*FSZfOuex^e*N{|Ikg`?c6D|>{PXkkKfSgY zE^VwwQj7#;WZsmqHy=D;e!s@q)s^*r&1YV==7ZX-8>80d+}hIl^Ye4#`hPWMxwl;E z>;F&qp0V|o;%8>=huMeaF3t5@e*3mo^FfE)T-}*7XS%q$CYngCT)8sw-k!=M$B*~# z6cFofEq#40FgW<|=JR&k2afeh7h27=`FzHB-S?FtTKmH!I!>mCcyG9R^{Qe1J)7&l zL<)wS62bTHHj@VuHc1E9e%k~P93AWYWDryca^`0L0%~q_t z71UV!`}_OmoSQ~v@9uPltxmnWtJK8Aq~Q77@=0^&o(=Z5efqJo^#f}^)1$MuWmjK) zRi*I%QMbN_zyI?6`{zG+kPvRMY15{P&u7g=voE*I;E>zOWHtAk;(sS6Cl60gMHQ8l z8`)lL?T-)h+shcr%$zy%&)4#q!Y7a!i*UbyLRnbv0}xC7cPJQ z{#_Hlf8MNFQsKE*udR))e7SUb#D)aM)YMd+xIHuW|9Pq}#3yKA!_{&4p~U6v=G>c` zT3@}&vitQy`O>9J3_G6Bt7gc^$$8RW|3~@g(W7#*-W{Dr%d}54GP6f)Ok!o{llk!D zXUgwyZ*%VKxG2ikuy3E;wRN%H85u7$x^#{lk-Ti&aWjYQK#p1eE6J1%ZEb9MJD-Zl z)&D8X{4BtjeP(NfeEpw~EBs2n-!1?AX7l-7O<#83|J(QGO-@|(Tho{O^q8)-gnrJu zv4OGS{-0;&D?+s1?R+jbuj-ZN%2T3@xi=bCGPCndm^JIw_d*5bLaVtZrl!3+?@t$4 zY^uZh@ZrP5yJoU;t-k8z;?lCeTTyLdBI8V}Qmxq7*nb+QQ%lRrCQX>|;C)huXG(;F zkgzZ(FYnUDizopr093w^>i_@% literal 6981 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 Z?tE?7)bZHxF#`hwgQu&X%Q~loCID<7jZFXm diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.svg index 2033848..aa834c1 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.svg @@ -10,6 +10,221 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + @@ -23,27 +238,27 @@ - + - + - + - + - + - + @@ -61,11 +276,11 @@ - + - + sfix16_En4 @@ -77,108 +292,84 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - up + + - - + + - - u + + - - + + - - lo + + - - + + - - y + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -191,7 +382,7 @@ - + @@ -205,19 +396,19 @@ - + - + u - + - + y @@ -247,11 +438,11 @@ - + - + Integrator @@ -268,11 +459,11 @@ - + - + sfix16_En4 @@ -284,74 +475,58 @@ - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - - sfix16_En4 + + sfix16_En5 @@ -372,11 +547,11 @@ - + - + 7 @@ -394,11 +569,11 @@ - + - + satMin @@ -409,11 +584,11 @@ - + - + sfix16_En4 @@ -423,412 +598,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - ext_limProt - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - - @@ -841,11 +610,11 @@ - + - + 4 @@ -863,11 +632,11 @@ - + - + Kb @@ -878,11 +647,11 @@ - + - + ufix16_En16 @@ -904,11 +673,11 @@ - + - + 6 @@ -926,11 +695,11 @@ - + - + satMax @@ -941,11 +710,11 @@ - + - + sfix16_En4 @@ -957,59 +726,59 @@ - - + + - + - + - - 2 + + 5 - + - - + + - - + + - - P + + ext_limProt - - + + - - + + - - ufix16_En8 + + sfix32_En20 @@ -1030,11 +799,11 @@ - + - + 3 @@ -1052,11 +821,11 @@ - + - + I @@ -1067,11 +836,11 @@ - + - + ufix16_En16 @@ -1081,11 +850,186 @@ + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + P + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + - + @@ -1093,19 +1037,19 @@ - + - + - + - + @@ -1123,11 +1067,67 @@ - + - + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 @@ -1486,5 +1486,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg index 27dfc14..28806b6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg @@ -1009,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_9171_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json index a7f5507..31bd902 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 @@ -92,11 +92,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -105,7 +105,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "n_limProt", "local", "Tag" ], @@ -125,127 +125,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" ], "values":[ - "n_limProt", - "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":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "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:9179", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "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:9178", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "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":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { @@ -282,78 +197,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -362,7 +210,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "r_inpTgtSca", "local", "Tag" ], @@ -461,6 +309,266 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_limProt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_limProt", + "label":"n_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9179", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:9187", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto31", + "label":"Goto31", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_limProt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_limProt", + "label":"iq_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:9180", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_limProt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", "className":"Simulink.ActionPort", @@ -493,11 +601,207 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9173", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_max", + "label":"Vq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:9181", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From20", + "label":"From20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:9178", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:9172", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:9185", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -506,7 +810,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "Vq_min", "local", "Tag" ], @@ -592,310 +896,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_limProt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "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:9173", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "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:9185", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9172", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "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:9188", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9172#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png index fd969163d0d3994b3b7673dcdd59dea04c916bc4..bb49c430cb7011f6ea0ab22c4d6215520346aa8c 100644 GIT binary patch delta 4727 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 Wn7vQ9MTmicfx*+&&t;ucLK6UdlR8WQ delta 4727 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg index 8137fa0..97ac9c2 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 @@ -277,11 +277,11 @@ - - + + - + @@ -291,14 +291,14 @@ - - [r_inpTgtSca] + + [n_limProt] - + @@ -310,187 +310,107 @@ - - - + + + - - + + - + - + - - [n_limProt] - - - - - - - - - - - - - - + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - + - - [Vq_max] - - - - - - - - - - - - - - + + - + - - sfix16_En4 + + - - - - - - - - - - - - + + - - + + - - [r_inpTgtSca] + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - + - - + + - + sfix16_En4 @@ -512,11 +432,11 @@ - + - + [Vq_max] @@ -535,91 +455,28 @@ - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - n_limProt - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - + + - + - + - - [iq_limProt] + + [r_inpTgtSca] - + @@ -641,11 +498,11 @@ - + - + 1 @@ -663,11 +520,11 @@ - + - + Vq_Vlt @@ -679,44 +536,44 @@ - - - + + + - - + + - - + + - - case: { } + + [n_limProt] - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -727,28 +584,139 @@ - - - + + + - - + + - - + + - - [n_limProt] + + 5 - + + + + + + + + + + + + + + + + + n_limProt + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limProt] + + + + + + @@ -760,58 +728,58 @@ - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - Vq_min + + iq_limProt - + - - + + - + sfix16_En4 @@ -833,11 +801,11 @@ - + - + [iq_limProt] @@ -855,11 +823,11 @@ - + - + sfix16_En4 @@ -871,59 +839,44 @@ - - - + + + - - + + - - + + - - 4 + + case: { } - - + + - - + + - - + + - - iq_limProt - - - - - - - - - - - - - - - sfix16_En4 + + Action Port @@ -944,11 +897,11 @@ - + - + 2 @@ -966,11 +919,11 @@ - + - + Vq_max @@ -981,11 +934,170 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + sfix16_En4 @@ -1007,11 +1119,11 @@ - + - + [Vq_min] @@ -1030,170 +1142,58 @@ - - + + - + - + - - 1 + + 3 - + - - - - - - - - - - r_inpTgtSca - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - up - - - - - - - - u - - - - - - - - lo + + - + - - y - - - - - - - + + Vq_min - + - + - + sfix16_En4 @@ -1387,5 +1387,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg index 02b23ef..cdf2c52 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg @@ -63,7 +63,7 @@ - + @@ -1009,15 +1009,15 @@ + + + - - - @@ -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 c9f6da6..0b44c34 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 @@ -1417,6 +1417,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Switch", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", "className":"Simulink.RelationalOperator", @@ -1462,6 +1519,167 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "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", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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: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:9454", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9453", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "VqFin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", "className":"Simulink.UnitDelay", @@ -1513,21 +1731,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9225", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9210", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "b_enaFOC", "Tag" ], "tabs":[ @@ -1541,7 +1757,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -1579,27 +1795,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "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":[ - "VqFin", - "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" @@ -1607,100 +1839,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "VqFin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9210", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "VqFinPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, @@ -1816,43 +1955,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "CTRL_COM", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "r_inpTgtSca", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1860,7 +1981,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, @@ -1931,39 +2052,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9201", "className":"Simulink.Inport", @@ -2031,94 +2119,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" - ], - "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Switch", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9208#out:3", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.png index 43b2038801a4bb2a0bd79ea432b253893c79b78a..fdb7446e0d8db90cc19cb78ad720857427d341f8 100644 GIT binary patch delta 6461 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 delta 6643 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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 c5cac08..aaea944 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 @@ -1795,6 +1795,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + @@ -1807,27 +1999,27 @@ - + - + - + - + - + - + @@ -1853,11 +2045,11 @@ - + - + boolean @@ -1867,6 +2059,201 @@ + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFin] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + @@ -1879,35 +2266,35 @@ - + - + - + - + - + - + - + - + @@ -1933,11 +2320,11 @@ - + - + Ini=0 @@ -1948,158 +2335,11 @@ - + - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [VqFinPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [VqFin] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [VqFin] - - - - - - - - - - - - - - - - - - - - - + int16 @@ -2121,11 +2361,11 @@ - + - + [b_enaFOC] @@ -2143,11 +2383,11 @@ - + - + boolean @@ -2159,44 +2399,77 @@ - - - + + + - - + + - - + + - + [VqFinPrev] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + CTRL_COM + + + + + + + - + - - + + - - int16 + + uint8 @@ -2217,11 +2490,11 @@ - + - + [z_ctrlTypSel] @@ -2239,11 +2512,11 @@ - + - + uint8 @@ -2265,11 +2538,11 @@ - + - + 4 @@ -2287,11 +2560,11 @@ - + - + VqFinPrev @@ -2301,405 +2574,6 @@ - - - - - - - - - - - - - - - - - - CTRL_COM - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - z_ctrlTypSel - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - @@ -2712,11 +2586,11 @@ - + - + [r_inpTgtSca] @@ -2734,11 +2608,11 @@ - + - + int16 @@ -2748,6 +2622,132 @@ + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 + + + + + + + + @@ -3218,5 +3218,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg index 65a81b8..11772da 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 f03d846..6a3bde9 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9293_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9293_d.svg @@ -10,5 +10,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json index a430679..c2be3ee 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json @@ -48,6 +48,88 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9371", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" + ], + "values":[ + "2", + "[]", + "off", + "[]" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9370", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 == CTRL_COM", + "", + "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:9372", "className":"Simulink.Outport", @@ -129,126 +211,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9370", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" - ], - "values":[ - "1", - "u1 == CTRL_COM", - "", - "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:9366", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlModPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9371", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" - ], - "values":[ - "2", - "[]", - "off", - "[]" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9365", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -256,7 +223,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgt", "Tag" ], "tabs":[ @@ -275,11 +242,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9362", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -287,7 +254,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -337,11 +304,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9369", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9367", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -350,7 +348,73 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9366", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlModPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9368", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", "local", "Tag" ], @@ -467,102 +531,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9367", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Commutation_Control_Type", + "label":"Commutation_Control_Type", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "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_inpTgt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9336", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", + "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":"" } }, @@ -701,139 +762,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Commutation_Control_Type", - "label":"Commutation_Control_Type", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "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:9368", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9369", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -842,7 +775,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlTypSel", "local", "Tag" ], @@ -862,11 +795,78 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9362", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9336", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9365", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -874,7 +874,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlModPrev", "Tag" ], "tabs":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg index da9c965..0cf56a7 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg @@ -30,166 +30,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 == CTRL_COM) - - - - - - - - else - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModPrev] - - - - - - - - - - - - - - - @@ -202,19 +42,19 @@ - + - + - + - + @@ -240,11 +80,11 @@ - + - + sfix16_En4 @@ -256,44 +96,123 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + u1 + + + + + + + + if(u1 == CTRL_COM) + + + + + + + + else - - + + - - + + - - + + - - uint8 + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca @@ -314,11 +233,11 @@ - + - + [r_inpTgt] @@ -336,11 +255,59 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -362,11 +329,11 @@ - + - + [z_ctrlTypSel] @@ -384,11 +351,11 @@ - + - + uint8 @@ -400,28 +367,142 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + [r_inpTgt] - + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + @@ -435,7 +516,7 @@ - + @@ -449,35 +530,35 @@ - + - + r_inpTgt - + - + z_ctrlModPrev - + - + r_inpTgtScaFOC - + - + else { } @@ -507,11 +588,11 @@ - + - + FOC_Control_Type @@ -524,16 +605,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -545,292 +626,16 @@ - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - + + - + - - z_ctrlModPrev - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - r_inpTgt - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - z_ctrlTypSel - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + action @@ -842,8 +647,14 @@ + + + + + + - + @@ -857,27 +668,27 @@ - + - + r_inpTgt - + - + r_inpTgtScaCOM - + - + if { } @@ -907,11 +718,11 @@ - + - + Commutation_Control_Type @@ -928,11 +739,11 @@ - + - + action @@ -949,11 +760,11 @@ - + - + sfix16_En4 @@ -965,34 +776,160 @@ - + - - + + - - + + - - + + - - [r_inpTgtSca] + + 2 - + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + @@ -1004,11 +941,74 @@ - - + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModPrev + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + - + @@ -1018,30 +1018,30 @@ - - [r_inpTgtSca] + + [z_ctrlModPrev] - + - - + + - + - - sfix16_En4 + + uint8 @@ -1234,5 +1234,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.json index 5e16b69..c42b5bc 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.json @@ -1,4 +1,35 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9339", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "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:9340", "className":"Simulink.Outport", @@ -79,37 +110,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9339", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9337", - "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:9338", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg index ba337f2..94d40ee 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg @@ -10,60 +10,12 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtScaCOM - - - - - - - - + @@ -71,11 +23,11 @@ - + - + if { } @@ -93,11 +45,11 @@ - + - + Action Port @@ -107,6 +59,54 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaCOM + + + + + + + + @@ -186,5 +186,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json index 4054849..c8e47f2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json @@ -79,55 +79,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9359", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "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:9358", "className":"Simulink.Constant", @@ -227,20 +178,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9353", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Mux", - "label":"Mux", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ + "1000", + "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:9354", + "className":"Simulink.Selector", + "icon":"WebViewIcon3", + "name":"Selector", + "label":"Selector", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "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", - "bar" + "1", + [ + "1" + ], + "1", + "-1" ], "tabs":[ "Parameter Attributes" @@ -253,16 +275,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Selector", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9351", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9352", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -271,7 +293,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgt", "local", "Tag" ], @@ -291,11 +313,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9350", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9359", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"n_max", + "label":"n_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "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:9351", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -304,7 +375,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaFOC", + "z_ctrlModPrev", "local", "Tag" ], @@ -373,11 +444,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9349", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9348", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -385,7 +456,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgt", "Tag" ], "tabs":[ @@ -404,93 +475,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9352", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_inpTgt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "1000", - "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:9347", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9349", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -498,7 +487,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaFOC", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -573,6 +562,70 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9353", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux", + "label":"Mux", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "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:9350", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaFOC", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9345", "className":"Simulink.Product", @@ -601,7 +654,7 @@ "off", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -630,37 +683,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9344", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "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:9343", "className":"Simulink.Inport", @@ -729,20 +751,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9348", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9344", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "r_inpTgt", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -755,108 +777,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9354", - "className":"Simulink.Selector", - "icon":"WebViewIcon3", - "name":"Selector", - "label":"Selector", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "inspector":{ - "params":[ - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "Indices", - "OutputSizes" - ], - "values":[ - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "[1 3]", - "1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 24 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Selector", + "blocktype":"ActionPort", "masktype":"" } }, @@ -927,6 +848,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9347", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9342#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg index 1c8bc0b..dfa98cc 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg @@ -59,69 +59,6 @@ - - - - - - - - - - - - - - - - - - n_max - - - - - - - - - - - - - - - - - - - - - - n_max - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -134,11 +71,11 @@ - + - + i_max @@ -156,11 +93,11 @@ - + - + i_max @@ -171,11 +108,11 @@ - + - + sfix16_En4 @@ -197,11 +134,11 @@ - + - + 0 @@ -219,11 +156,11 @@ - + - + sfix16_En4 @@ -235,43 +172,211 @@ - - - + + + - - + + - - + + - - + + 1000 - - + + - + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + U + + + + + + + + Idx1 + + + + + + + + 0 + + + + + + + + Y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + n_max + + + + + + + + + + + + + + + + + + + + + + n_max + + + + + + + + + + + + + + sfix16_En4 @@ -293,11 +398,11 @@ - + - + [z_ctrlModPrev] @@ -314,39 +419,6 @@ - - - - - - - - - - - - - - - - - - [r_inpTgtScaFOC] - - - - - - - - - - - - - - - @@ -359,11 +431,11 @@ - + - + Vd_max @@ -381,11 +453,11 @@ - + - + Vd_max @@ -396,11 +468,59 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -422,11 +542,11 @@ - + - + [z_ctrlModPrev] @@ -444,11 +564,11 @@ - + - + uint8 @@ -460,28 +580,149 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaFOC] + + + + + + @@ -493,43 +734,225 @@ - - - + + + - - + + - - + + - - 1000 + + + + + + + + + + - - + + - + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModPrev + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + else { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + + + + + + + sfix16_En4 @@ -551,11 +974,11 @@ - + - + [r_inpTgtScaFOC] @@ -573,434 +996,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ufix16_En12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - else { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_ctrlModPrev - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - U - - - - - - - - Idx1 - - - - - - - - 0 - - - - - - - - Y - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_inpTgt - - - - - - - - - - - - - - + sfix16_En4 @@ -1208,5 +1208,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json index 1ac167f..4506da8 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 @@ -39,107 +39,106 @@ ":9308", ":9307", ":9306", - ":9305", ":9303", ":9302", - ":9299", - ":9298", - ":9295", - ":9300", - ":9293", - ":9292", - ":9393", - ":9389", + ":9301", + ":9291", + ":9290", ":9284", + ":9299", + ":9389", ":9281", ":9280", - ":9441", + ":9279", + ":9289", ":9287", ":9285", + ":9283", ":9272", ":9278", - ":9276", - ":9275", - ":9274", - ":9456", + ":9298", ":9392", - ":9252", + ":9275", ":9251", - ":9250", - ":9241", - ":9262", - ":9268", - ":9265", - ":9260", - ":9304", - ":9259", - ":9286", - ":9387", - ":9388", - ":9264", - ":9436", - ":9249", - ":9242", - ":9240", - ":9263", - ":9258", - ":9198", - ":9277", - ":9266", - ":9279", - ":8658", - ":8535", - ":9385", - ":9290", - ":9282", - ":9291", - ":9437", - ":9270", - ":8219", - ":9271", - ":9267", - ":9301", - ":8218", - ":8217", - ":9244", - ":9248", - ":8469", - ":8216", - ":8215", - ":9257", - ":8214", - ":9288", - ":9289", - ":9261", - ":8211", - ":9448", - ":8210", - ":9297", - ":8209", - ":8213", - ":8208", - ":8212", - ":9253", - ":9245", - ":8206", - ":9283", - ":8205", - ":9294", - ":8204", - ":8202", - ":8220", ":9269", - ":8201", - ":8203", - ":8207", + ":9241", + ":9263", + ":9262", + ":9294", + ":9268", + ":9267", + ":9441", + ":9265", + ":9264", + ":9261", + ":9258", + ":9257", + ":9388", + ":9456", + ":9448", + ":9242", + ":9259", + ":9252", + ":9292", + ":9437", + ":9295", + ":9276", + ":9244", + ":9300", + ":9253", + ":9270", + ":9387", + ":9198", + ":9274", + ":9248", + ":8220", + ":9282", + ":8217", + ":9286", ":9418", + ":9293", + ":9393", + ":8214", + ":9249", + ":9385", + ":8213", + ":8215", + ":8211", + ":8535", + ":9271", + ":9288", + ":8210", + ":8205", + ":8216", + ":8204", + ":9240", + ":9260", + ":9250", + ":8209", + ":8208", + ":9436", + ":8203", + ":9669", + ":9266", + ":9245", + ":9304", + ":9297", + ":8202", + ":8206", + ":9305", + ":9277", + ":8658", + ":8212", + ":8469", + ":8218", + ":8201", + ":8207", ":9268#out:1", ":8469#out:2", ":8215#out:1", ":8214#out:1", ":9290#out:1", ":8208#out:1", - ":9263#out:1", ":9251#out:1", ":9260#out:1", ":9294#out:1", @@ -156,7 +155,6 @@ ":9248#out:1", ":9240#out:1", ":8210#out:1", - ":8219#out:1", ":8218#out:1", ":8658#out:2", ":9244#out:1", @@ -189,10 +187,8 @@ ":9253#out:1", ":9264#out:1", ":8220#out:2", - ":8203#out:1", ":8535#out:1", ":9252#out:1", - ":9262#out:1", ":8204#out:1", ":8220#out:3", ":9298#out:1", @@ -209,7 +205,11 @@ ":8209#out:1", ":8658#out:4", ":9198#out:4", - ":9448#out:1" + ":9448#out:1", + ":8203#out:1", + ":9669#out:1", + ":9263#out:1", + ":9262#out:1" ], "sameAsElement":true }, @@ -264,44 +264,44 @@ ":8428", ":8467", ":8466", + ":9433", + ":8463", ":9383", ":8462", - ":8460", + ":8461", + ":8458", ":8457", + ":8455", ":9379", + ":9384", ":9377", - ":8451", - ":8450", ":8446", - ":9432", - ":9431", ":8437", - ":8468", - ":8435", + ":9432", ":8434", ":9381", - ":8458", - ":9384", - ":8430", - ":8427", - ":8424", - ":8429", - ":9433", - ":8384", - ":8461", - ":9374", - ":8436", - ":8463", ":9382", - ":8449", - ":9378", - ":9333", - ":9375", ":8432", - ":8224", ":8431", - ":8455", ":9380", + ":8450", + ":8429", + ":8449", + ":8427", + ":8384", + ":8430", + ":8468", + ":9333", + ":9431", + ":9375", + ":8424", + ":9374", + ":9378", + ":8451", + ":8436", + ":8224", + ":8435", + ":8460", ":8462#out:1", ":8440#out:1", ":8439#out:1", @@ -371,23 +371,23 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json", "elements":[ ":9373", - ":9372", - ":9370", - ":9366", ":9371", - ":9365", + ":9370", + ":9372", ":9364", + ":9362", ":9363", - ":9369", - ":9341", + ":9361", ":9367", - ":9336", + ":9366", + ":9368", + ":9341", + ":9337", ":9335", ":9334", - ":9361", - ":9337", - ":9368", - ":9362", + ":9369", + ":9336", + ":9365", ":9337#out:1", ":9364#out:1", ":9362#out:1", @@ -419,8 +419,8 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.json", "elements":[ - ":9340", ":9339", + ":9340", ":9338", ":9338#out:1" ], @@ -442,24 +442,24 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json", "elements":[ ":9360", - ":9359", ":9358", ":9357", - ":9353", - ":9351", - ":9350", - ":9355", - ":9349", - ":9352", ":9356", - ":9347", - ":9346", - ":9345", - ":9344", - ":9343", - ":9348", ":9354", + ":9352", + ":9359", + ":9351", + ":9355", + ":9348", + ":9349", + ":9346", + ":9353", + ":9350", + ":9345", + ":9343", + ":9344", ":9342", + ":9347", ":9342#out:1", ":9347#out:1", ":9343#out:1", @@ -496,9 +496,9 @@ ":8227", ":8228", ":8234", + ":8232", ":8233", ":8231", - ":8232", ":9634", ":8226#out:1", ":8228#out:1", @@ -627,63 +627,63 @@ ":8266", ":8296", ":9430", - ":8377", - ":8373", - ":8366", ":8378", - ":8379", - ":8306", - ":8305", + ":8377", ":8376", - ":8303", + ":8374", + ":9429", ":8372", + ":8370", + ":8369", + ":9428", + ":8373", + ":8312", + ":8304", + ":8303", + ":8314", ":8300", ":8299", - ":8297", - ":8312", - ":9425", - ":9428", - ":8293", - ":8288", - ":8286", - ":8304", - ":8285", - ":8291", - ":8284", - ":9477", - ":8301", - ":8298", - ":8367", - ":8282", - ":8281", - ":8369", - ":8278", - ":8283", - ":8277", - ":8294", - ":9426", - ":8289", - ":8275", ":8311", - ":8370", - ":8272", - ":8280", - ":8308", - ":8270", - ":9427", - ":8269", - ":9429", - ":8268", - ":8267", + ":9425", + ":8294", + ":8297", ":8292", - ":8314", - ":8374", + ":8291", + ":8289", + ":8288", + ":8379", + ":8286", + ":9477", + ":8306", + ":8285", + ":8283", + ":8298", + ":8308", + ":8281", + ":9427", + ":8280", + ":8278", + ":8277", + ":8305", ":8276", + ":8301", + ":8270", + ":8275", ":8371", - ":8264", + ":8293", + ":8272", + ":9426", + ":8366", + ":8267", + ":8282", ":8313", - ":8309", + ":8268", + ":8284", + ":8367", + ":8264", + ":8269", ":8310", + ":8309", ":8293#out:1", ":8312#out:1", ":8290#out:1", @@ -756,12 +756,12 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json", "elements":[ ":8272:2418", - ":8272:2515", - ":8272:2415", - ":8272:2414", - ":8272:2412", - ":8272:2413", ":8272:2416", + ":8272:2415", + ":8272:2515", + ":8272:2414", + ":8272:2413", + ":8272:2412", ":8272:2515#out:1", ":8272:2415#out:1", ":8272:2413#out:1", @@ -820,51 +820,51 @@ ":8363", ":8364", ":8365", - ":8360", ":8358", - ":8357", - ":8354", + ":8355", ":8353", ":8352", + ":8350", + ":8349", ":8351", - ":8348", - ":8345", - ":8342", - ":8341", - ":8347", - ":8337", - ":8335", - ":8334", - ":8339", + ":8356", + ":8360", + ":8338", + ":8336", ":8333", - ":8332", - ":8340", + ":8335", ":8331", ":8330", ":8329", - ":8327", - ":8336", - ":8325", - ":8346", - ":8326", - ":8338", - ":8356", - ":8349", - ":8321", - ":8355", - ":8319", + ":8348", ":8328", + ":8327", + ":8337", + ":8339", + ":8325", + ":8354", ":8324", - ":8318", - ":8344", - ":8316", - ":8320", - ":8350", - ":8317", - ":8323", - ":8322", - ":8315", + ":8334", + ":8332", + ":8345", ":8359", + ":8357", + ":8321", + ":8326", + ":8322", + ":8323", + ":8318", + ":8340", + ":8342", + ":8317", + ":8344", + ":8341", + ":8316", + ":8346", + ":8319", + ":8320", + ":8347", + ":8315", ":8343", ":8315#out:1", ":8316#out:1", @@ -940,25 +940,28 @@ ":8413", ":8416", ":8391", + ":8420", ":8418", - ":8412", ":8417", - ":8411", + ":9664", + ":8412", + ":9660", + ":8410", ":8405", ":8404", - ":8403", + ":8400", + ":8411", + ":8421", ":8398", + ":8397", ":8396", ":8395", - ":8410", - ":8394", - ":8400", - ":8389", - ":8392", - ":8421", - ":8420", ":8393", - ":8397", + ":8392", + ":8403", + ":9665", + ":8394", + ":8389", ":8385#out:1", ":8386#out:1", ":8399#out:1", @@ -973,11 +976,8 @@ ":8416#out:1", ":8389#out:1", ":8400#out:1", - ":8404#out:1", - ":8403#out:1", ":8420#out:1", ":8397#out:1", - ":8418#out:1", ":8417#out:1", ":8394#out:1", ":8393#out:1", @@ -985,7 +985,13 @@ ":8419#out:1", ":8395#out:1", ":8392#out:1", - ":8405#out:1" + ":8405#out:1", + ":9660#out:1", + ":8404#out:1", + ":8403#out:1", + ":8418#out:1", + ":9665#out:1", + ":9664#out:1" ], "sameAsElement":true }, @@ -1019,48 +1025,48 @@ ":8499", ":8497", ":8525", - ":9405", - ":8520", - ":8527", - ":8515", ":8524", - ":8514", - ":8509", - ":8508", - ":8517", - ":9406", - ":8504", - ":9395", ":8521", - ":8492", - ":9407", - ":9408", - ":9400", ":8519", - ":8483", - ":8486", - ":8484", - ":9412", - ":9410", - ":8503", - ":9402", - ":9403", - ":8487", - ":9404", - ":8482", - ":9394", - ":8491", - ":8474", - ":8493", - ":8480", - ":9396", - ":8479", - ":8494", - ":8478", - ":8510", - ":8500", - ":9397", ":9398", + ":8514", + ":9404", + ":8527", + ":9405", + ":9406", + ":8503", + ":8517", + ":9397", + ":8500", + ":8515", + ":8491", + ":9408", + ":9407", + ":8493", + ":8504", + ":8484", + ":8483", + ":9412", + ":8510", + ":8508", + ":8482", + ":9395", + ":8480", + ":8487", + ":8479", + ":8520", + ":9410", + ":8509", + ":8494", + ":9402", + ":8486", + ":9403", + ":8474", + ":8492", + ":9394", + ":9396", + ":9400", + ":8478", ":9401", ":8497#out:1", ":8470#out:1", @@ -1122,39 +1128,39 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json", "elements":[ - ":8486:2507", - ":8486:2473", - ":8486:2472", - ":8486:2466", - ":8486:2463", ":8486:2496", + ":8486:2472", + ":8486:2463", ":8486:2461", ":8486:2460", ":8486:2459", ":8486:2458", - ":8486:2457", - ":8486:2455", - ":8486:2453", - ":8486:2452", - ":8486:2450", - ":8486:2451", - ":8486:2449", - ":8486:2464", - ":8486:2462", ":8486:2456", + ":8486:2455", + ":8486:2454", + ":8486:2453", + ":8486:2465", + ":8486:2450", + ":8486:2509", + ":8486:2507", ":8486:2428", + ":8486:2462", ":8486:2423", ":8486:2467", - ":8486:2509", + ":8486:2473", ":8486:2448", - ":8486:2422", ":8486:2421", - ":8486:2454", - ":8486:2465", + ":8486:2466", + ":8486:2451", + ":8486:2457", + ":8486:2464", + ":8486:2452", + ":8486:2422", ":8486:2420", + ":8486:2449", + ":8486:2471", ":8486:2469", ":8486:2468", - ":8486:2471", ":8486:2470", ":8486:2507#out:1", ":8486:2422#out:1", @@ -1205,8 +1211,8 @@ "elements":[ ":8486:2427", ":8486:2426", - ":8486:2424", ":8486:2425", + ":8486:2424", ":8486:2424#out:1" ], "sameAsElement":true @@ -1227,25 +1233,25 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json", "elements":[ - ":8486:2447", - ":8486:2446", ":8486:2445", + ":8486:2447", ":8486:2443", - ":8486:2440", - ":8486:2438", - ":8486:2437", - ":8486:2436", - ":8486:2434", - ":8486:2433", - ":8486:2431", - ":8486:2441", - ":8486:2444", - ":8486:2435", - ":8486:2439", ":8486:2442", - ":8486:2430", - ":8486:2429", + ":8486:2441", + ":8486:2439", + ":8486:2437", + ":8486:2440", + ":8486:2433", + ":8486:2434", ":8486:2432", + ":8486:2446", + ":8486:2435", + ":8486:2438", + ":8486:2430", + ":8486:2436", + ":8486:2429", + ":8486:2444", + ":8486:2431", ":8486:2438#out:1", ":8486:2429#out:1", ":8486:2430#out:1", @@ -1279,12 +1285,12 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json", "elements":[ ":8486:2435:2418", - ":8486:2435:2416", - ":8486:2435:2414", - ":8486:2435:2413", - ":8486:2435:2412", - ":8486:2435:2415", ":8486:2435:2515", + ":8486:2435:2416", + ":8486:2435:2415", + ":8486:2435:2414", + ":8486:2435:2412", + ":8486:2435:2413", ":8486:2435:2515#out:1", ":8486:2435:2415#out:1", ":8486:2435:2413#out:1", @@ -1339,25 +1345,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:2492", ":8486:2491", ":8486:2490", - ":8486:2489", - ":8486:2483", - ":8486:2482", - ":8486:2481", - ":8486:2484", + ":8486:2487", + ":8486:2486", ":8486:2485", - ":8486:2480", + ":8486:2492", + ":8486:2484", + ":8486:2483", + ":8486:2481", + ":8486:2482", + ":8486:2478", + ":8486:2489", ":8486:2479", ":8486:2477", - ":8486:2487", - ":8486:2478", - ":8486:2476", + ":8486:2480", ":8486:2488", ":8486:2475", - ":8486:2486", ":8486:2474", + ":8486:2476", ":8486:2480#out:1", ":8486:2491#out:1", ":8486:2481#out:1", @@ -1391,12 +1397,12 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json", "elements":[ ":8486:2480:2418", - ":8486:2480:2515", ":8486:2480:2416", - ":8486:2480:2414", ":8486:2480:2415", - ":8486:2480:2412", ":8486:2480:2413", + ":8486:2480:2515", + ":8486:2480:2412", + ":8486:2480:2414", ":8486:2480:2515#out:1", ":8486:2480:2415#out:1", ":8486:2480:2413#out:1", @@ -1504,34 +1510,34 @@ "elements":[ ":8655", ":8634", - ":8654", - ":8647", - ":8640", + ":9391", + ":8651", + ":8645", + ":8643", ":9390", ":8636", - ":8635", + ":9423", + ":8639", + ":8650", + ":8646", + ":8633", + ":8640", ":8632", ":8630", - ":9423", - ":8642", - ":8646", ":9424", - ":8645", - ":8628", - ":8650", - ":8639", - ":8603", - ":8624", - ":8651", - ":8633", ":8625", + ":8654", + ":8603", + ":8628", + ":8642", ":8539", - ":8643", ":8537", - ":9391", ":9422", ":8546", + ":8624", + ":8647", ":8536", + ":8635", ":8634#out:1", ":8537#out:1", ":8625#out:1", @@ -1573,58 +1579,58 @@ "elements":[ ":8601", ":8602", - ":8600", ":8599", ":8598", + ":8595", ":8593", - ":8592", - ":8590", - ":8587", - ":8585", - ":8584", - ":8583", - ":8582", - ":8580", - ":8597", ":8591", - ":8589", + ":8590", + ":8586", + ":8585", + ":8592", + ":8584", + ":8582", ":8581", + ":8580", + ":8589", + ":8572", + ":8568", + ":8566", ":8571", + ":8587", + ":8561", + ":8560", + ":9419", + ":8556", + ":8555", + ":8562", + ":8600", + ":8583", + ":8553", ":8570", ":8565", - ":8563", - ":8569", - ":9419", - ":8564", - ":8573", - ":8560", - ":8558", - ":8556", - ":8553", - ":8552", - ":8549", - ":8561", - ":8559", - ":8555", - ":8566", - ":8568", - ":8562", - ":8548", - ":8594", ":9421", - ":9420", - ":8586", - ":8547", - ":8554", ":8551", - ":8572", - ":8595", + ":8564", + ":8549", + ":8597", + ":8558", + ":8569", + ":8552", + ":8573", + ":9420", + ":8548", + ":8554", + ":8563", + ":8594", + ":8559", + ":8547", ":8574", - ":8578", - ":8579", - ":8577", ":8575", ":8576", + ":8577", + ":8578", + ":8579", ":8587#out:1", ":8593#out:1", ":8594#out:1", @@ -1688,10 +1694,10 @@ ":8603:4", ":8603:33", ":8603:32", - ":8603:30", - ":8603:12", - ":8603:9", ":8603:31", + ":8603:9", + ":8603:12", + ":8603:30", ":8603:1", ":8603:14", ":8603:13", @@ -1747,125 +1753,126 @@ ":9071", ":9025", ":9197", - ":9108", - ":9073", + ":9195", + ":9142", ":9072", ":9045", - ":9026", + ":9074", + ":9029", + ":9028", ":9027", + ":9023", + ":8913", ":8912", + ":9073", ":8864", ":8863", - ":8858", + ":9108", + ":8861", + ":8860", ":8857", + ":8851", + ":8850", + ":8848", + ":8854", + ":8844", + ":8841", + ":9109", + ":8836", + ":9171", + ":8837", + ":8834", + ":8839", + ":8831", + ":8826", + ":9655", + ":8824", + ":8823", ":8856", ":8855", - ":8852", - ":8848", - ":9143", - ":8846", - ":8845", - ":8842", - ":8841", - ":8854", - ":8839", - ":9074", - ":8843", - ":8834", - ":8832", - ":8849", - ":8830", - ":8825", - ":9142", - ":8823", - ":8837", - ":8822", - ":8821", - ":8820", - ":8860", - ":8818", - ":8816", - ":8814", - ":8813", - ":8812", - ":8811", ":8817", - ":8810", - ":8808", - ":8826", - ":9028", - ":8802", - ":8913", - ":8800", - ":8801", - ":8797", + ":8816", + ":8815", + ":8814", + ":8811", + ":8865", ":8807", + ":8820", + ":8804", + ":8813", + ":8852", + ":8803", + ":8858", + ":8847", + ":8799", ":8796", - ":9023", + ":8795", + ":9143", + ":8792", ":8791", + ":8790", ":8789", - ":8824", + ":8822", + ":8805", + ":8802", + ":8787", ":8786", - ":8785", + ":9196", ":8784", - ":8794", + ":8806", + ":8843", ":8783", ":8782", - ":8847", - ":8853", - ":8780", - ":8851", - ":8803", - ":8774", - ":8772", - ":8804", - ":9195", - ":8777", - ":8862", - ":8768", - ":8776", - ":8773", - ":9029", - ":8766", - ":8790", - ":8793", - ":8743", - ":8836", - ":8779", - ":8815", - ":8726", - ":8831", - ":8850", - ":8809", - ":8798", - ":8805", ":8781", - ":8838", - ":8664", - ":9109", + ":8812", + ":8809", + ":8779", + ":8776", + ":8772", ":8775", - ":8771", - ":8663", ":8770", - ":8795", - ":8662", - ":8792", - ":8844", - ":8861", - ":8806", - ":8788", - ":8787", - ":8865", - ":8661", - ":9171", - ":8667", + ":8825", + ":8768", + ":8777", + ":8808", + ":8743", ":8819", + ":8842", + ":8726", + ":8846", + ":8766", + ":8821", + ":8810", + ":8849", ":8668", - ":8799", - ":9196", - ":8660", + ":8832", + ":8798", + ":8773", ":8765", + ":8838", + ":8800", + ":8785", + ":8794", + ":8774", + ":8853", + ":8664", + ":8862", + ":8818", + ":8667", + ":8661", + ":8797", + ":9026", + ":8662", + ":8663", + ":8830", + ":8660", + ":8780", + ":8801", + ":8771", + ":8788", + ":8845", ":8659", + ":8793", ":8827#out:1", ":8828#out:1", ":8767#out:1", @@ -1979,10 +1986,11 @@ ":8664#out:1", ":9023#out:1", ":9026#out:1", - ":8826#out:1", - ":8768#out:1", ":8743#out:4", - ":9143#out:1" + ":9143#out:1", + ":9655#out:1", + ":8826#out:1", + ":8768#out:1" ], "sameAsElement":true }, @@ -2006,31 +2014,31 @@ ":8725", ":8724", ":8723", - ":8720", ":8721", + ":8720", + ":8719", ":8716", ":8715", ":8714", - ":8711", - ":8710", - ":8709", - ":8706", - ":8704", - ":8703", - ":8719", - ":8702", - ":8708", - ":8713", - ":8712", ":8718", - ":8707", + ":8713", ":8722", - ":8686", + ":8712", + ":8711", + ":8707", + ":8702", + ":8704", + ":8709", ":8717", + ":8686", + ":8706", + ":8705", ":8671", ":8670", - ":8705", + ":8703", + ":8710", ":8669", + ":8708", ":8686#out:1", ":8705#out:1", ":8704#out:1", @@ -2071,18 +2079,18 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.json", "elements":[ ":8685", - ":8683", - ":8684", - ":8680", ":8679", - ":8678", - ":8681", - ":8676", ":8682", - ":8674", - ":8675", + ":8678", ":8677", + ":8680", + ":8675", + ":8681", + ":8674", ":8673", + ":8683", + ":8676", + ":8684", ":8672", ":8673#out:1", ":8672#out:1", @@ -2111,20 +2119,20 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json", "elements":[ ":8701", + ":8698", ":8700", - ":8697", + ":8694", ":8696", - ":8695", + ":8692", ":8691", ":8690", ":8699", - ":8689", - ":8692", - ":8694", ":8688", - ":8698", - ":8687", + ":8689", ":8693", + ":8695", + ":8687", + ":8697", ":8691#out:1", ":8690#out:1", ":8693#out:1", @@ -2153,22 +2161,22 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json", "elements":[ - ":8740", ":8741", - ":8735", + ":8740", + ":8739", + ":8738", ":8736", ":8734", - ":8742", ":8733", - ":8738", - ":8730", ":8731", - ":8729", - ":8728", - ":8727", - ":8739", - ":8732", ":8737", + ":8730", + ":8735", + ":8729", + ":8732", + ":8727", + ":8742", + ":8728", ":8739#out:1", ":8729#out:2", ":8740#out:1", @@ -2198,14 +2206,14 @@ "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:2403", ":8738:2404", - ":8738:2402", + ":8738:2403", ":8738:2401", + ":8738:2402", ":8738:2400", + ":8738:2407", ":8738:2399", ":8738:2399#out:1", ":8738:2404#out:1", @@ -2237,37 +2245,64 @@ ":8762", ":8763", ":8764", - ":8759", - ":8758", - ":8757", - ":8755", - ":8754", - ":8753", - ":8750", ":8760", - ":8749", - ":8748", - ":8751", - ":8746", - ":8747", - ":8745", - ":8752", - ":8744", + ":8757", ":8756", + ":8758", + ":8753", + ":8751", + ":8749", + ":8759", + ":8747", + ":9650", + ":9638", + ":8754", + ":9646", + ":8748", + ":8755", + ":9657", + ":9653", + ":8750", + ":9648", + ":9643", + ":9649", + ":9641", + ":9652", + ":9647", + ":8752", + ":9654", + ":8745", + ":9639", + ":8744", + ":9651", + ":9645", + ":9644", + ":9640", + ":9636", ":8748#out:1", - ":8755#out:1", - ":8744#out:1", - ":8754#out:1", ":8750#out:1", ":8753#out:1", - ":8752#out:1", ":8753#out:2", - ":8751#out:1", - ":8746#out:1", ":8749#out:1", + ":8747#out:1", + ":8752#out:1", + ":8744#out:1", + ":9640#out:1", ":8745#out:1", + ":8751#out:1", + ":9636#out:1", + ":9643#out:1", + ":8755#out:1", + ":9645#out:1", + ":8754#out:1", + ":9648#out:1", + ":9647#out:1", ":8756#out:1", - ":8747#out:1" + ":9651#out:1", + ":9654#out:1", + ":9657#out:1", + ":9641#out:1", + ":9653#out:1" ], "sameAsElement":true }, @@ -2295,16 +2330,16 @@ ":8883", ":8878", ":8877", - ":8875", - ":8879", + ":8876", ":8873", - ":8880", + ":8879", + ":8875", + ":8870", ":8871", ":8874", - ":8876", - ":8870", - ":8869", ":8872", + ":8880", + ":8869", ":8880#out:1", ":8879#out:1", ":8872#out:1", @@ -2348,22 +2383,22 @@ ":8890", ":8908", ":8907", - ":8905", - ":8902", - ":8901", ":8904", - ":8899", - ":8897", - ":8896", ":8903", - ":8894", - ":8895", - ":8892", - ":8891", - ":8893", - ":8906", ":8900", + ":8896", + ":8902", + ":8895", + ":8905", + ":8893", + ":8892", ":8898", + ":8906", + ":8897", + ":8891", + ":8894", + ":8901", + ":8899", ":8889#out:1", ":8888#out:1", ":8887#out:1", @@ -2407,90 +2442,90 @@ ":9020", ":9021", ":9022", + ":9017", ":9015", - ":9012", - ":9010", - ":9008", - ":9011", - ":9005", ":9013", - ":9003", + ":9010", + ":9007", + ":9006", + ":9005", + ":9004", + ":9012", + ":9002", ":9000", - ":8998", ":8997", - ":9001", + ":9014", ":8987", ":8986", - ":8985", - ":8984", ":8983", - ":8982", - ":9009", - ":9014", + ":9011", ":8978", - ":8975", - ":8973", - ":8971", - ":8970", - ":8969", - ":8972", - ":8968", - ":8967", - ":8966", ":8977", - ":9006", - ":8961", - ":8959", - ":8957", - ":8955", - ":9004", - ":8954", - ":8952", - ":9016", - ":8951", - ":8950", - ":8949", - ":8964", - ":8962", - ":8943", - ":8976", - ":8942", - ":8940", - ":9017", - ":8937", - ":8963", - ":8936", - ":9007", - ":8999", - ":8958", - ":8935", - ":8948", + ":8975", ":8974", + ":8973", + ":8972", + ":8971", + ":8969", + ":8968", + ":8982", + ":8966", + ":8965", + ":8964", + ":8963", + ":8962", + ":8961", + ":9003", + ":8976", + ":8958", + ":8970", + ":8954", + ":8953", + ":9008", + ":8952", + ":8960", + ":8948", + ":8998", + ":8944", + ":8943", + ":8938", + ":8936", ":8946", - ":8941", - ":9002", + ":8934", + ":8935", + ":8924", ":8923", + ":8957", + ":8942", + ":8947", + ":9016", + ":9001", + ":8959", + ":8922", ":8921", ":8919", - ":8922", - ":8944", - ":8956", + ":8950", ":8917", ":8945", - ":8979", - ":8939", - ":8920", + ":8999", + ":9009", + ":8985", + ":8937", + ":8941", + ":8955", + ":8951", ":8916", + ":8949", ":8918", - ":8953", ":8915", - ":8938", - ":8960", - ":8947", + ":8979", + ":8940", + ":8920", + ":8939", ":8914", - ":8934", - ":8965", - ":8924", + ":8967", + ":8984", + ":8956", ":8981", ":8980", ":8999#out:1", @@ -2569,15 +2604,15 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json", "elements":[ - ":8933", ":8931", + ":8933", ":8930", ":8929", - ":8928", - ":8927", - ":8932", ":8926", + ":8932", ":8925", + ":8927", + ":8928", ":8931#out:1", ":8925#out:1", ":8932#out:1", @@ -2639,15 +2674,15 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json", "elements":[ - ":8995", - ":8996", ":8994", - ":8992", ":8993", - ":8991", + ":8996", + ":8992", + ":8995", ":8990", ":8989", ":8988", + ":8991", ":8993#out:1", ":8990#out:1", ":8994#out:1", @@ -2712,19 +2747,19 @@ "elements":[ ":9044", ":9043", - ":9039", + ":9042", + ":9041", + ":9040", ":9037", + ":9036", ":9035", ":9034", - ":9038", - ":9036", + ":9039", ":9033", - ":9040", - ":9032", + ":9038", ":9031", - ":9041", + ":9032", ":9030", - ":9042", ":9030#out:1", ":9032#out:1", ":9042#out:1", @@ -2756,16 +2791,16 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json", "elements":[ ":9040:2353", - ":9040:2360", - ":9040:2343", ":9040:2395", ":9040:2342", ":9040:2356", - ":9040:2355", - ":9040:2357", ":9040:2346", - ":9040:2358", + ":9040:2355", + ":9040:2360", + ":9040:2343", ":9040:2359", + ":9040:2357", + ":9040:2358", ":9040:2356#out:1", ":9040:2342#out:1", ":9040:2359#out:1", @@ -2889,24 +2924,24 @@ ":9069", ":9048", ":9049", - ":9067", + ":9066", ":9062", ":9060", ":9059", - ":9066", - ":9061", + ":9056", ":9055", + ":9065", ":9054", ":9053", - ":9056", - ":9065", - ":9064", - ":9051", - ":9058", ":9052", + ":9064", + ":9058", + ":9051", ":9057", ":9063", ":9050", + ":9061", + ":9067", ":9048#out:1", ":9047#out:1", ":9046#out:1", @@ -2947,37 +2982,37 @@ "elements":[ ":9107", ":9106", - ":9104", - ":9103", - ":9100", - ":9099", ":9105", + ":9104", + ":9102", ":9098", - ":9096", - ":9095", - ":9093", - ":9089", - ":9088", - ":9087", - ":9084", - ":9081", - ":9080", - ":9079", - ":9091", ":9097", - ":9078", + ":9100", + ":9096", + ":9103", ":9092", + ":9091", + ":9090", + ":9101", + ":9095", + ":9088", + ":9094", + ":9087", + ":9083", + ":9084", + ":9093", + ":9082", + ":9081", + ":9079", + ":9078", + ":9089", + ":9085", ":9077", ":9076", - ":9101", - ":9102", - ":9094", - ":9083", - ":9085", - ":9090", - ":9075", - ":9082", ":9086", + ":9080", + ":9099", + ":9075", ":9090#out:1", ":9089#out:1", ":9104#out:1", @@ -3021,22 +3056,22 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json", "elements":[ - ":9098:2290", ":9098:2527", + ":9098:2293", + ":9098:2275", + ":9098:2272", + ":9098:2285", + ":9098:2253", + ":9098:2292", ":9098:2282", ":9098:2273", - ":9098:2292", - ":9098:2293", ":9098:2254", - ":9098:2253", - ":9098:2396", - ":9098:2291", - ":9098:2275", - ":9098:2252", - ":9098:2272", - ":9098:2251", - ":9098:2285", + ":9098:2290", ":9098:2284", + ":9098:2291", + ":9098:2252", + ":9098:2251", + ":9098:2396", ":9098:2250", ":9098:2273#out:1", ":9098:2275#out:1", @@ -3072,11 +3107,11 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.json", "elements":[ - ":9098:2528", ":9098:2281", + ":9098:2528", ":9098:2279", - ":9098:2697", ":9098:2276", + ":9098:2697", ":9098:2697#out:1", ":9098:2528#out:1", ":9098:2279#out:1", @@ -3172,37 +3207,37 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json", "elements":[ ":9140", + ":9139", + ":9138", ":9137", - ":9136", ":9135", ":9134", - ":9139", + ":9136", + ":9132", ":9133", - ":9130", - ":9129", - ":9141", ":9128", - ":9126", + ":9127", ":9125", + ":9124", + ":9121", + ":9119", + ":9126", ":9123", ":9122", - ":9131", - ":9121", - ":9120", - ":9119", - ":9124", - ":9117", - ":9114", - ":9113", ":9118", + ":9117", + ":9120", ":9115", - ":9132", - ":9127", + ":9130", + ":9114", + ":9131", + ":9129", + ":9141", + ":9116", ":9112", - ":9138", + ":9113", ":9111", ":9110", - ":9116", ":9138#out:1", ":9121#out:1", ":9123#out:1", @@ -3246,23 +3281,23 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json", "elements":[ - ":9132:2290", ":9132:2527", - ":9132:2293", - ":9132:2275", - ":9132:2292", - ":9132:2284", ":9132:2285", - ":9132:2254", - ":9132:2396", - ":9132:2291", - ":9132:2252", - ":9132:2253", - ":9132:2251", - ":9132:2282", - ":9132:2250", + ":9132:2284", + ":9132:2275", ":9132:2273", + ":9132:2292", + ":9132:2253", + ":9132:2282", + ":9132:2396", + ":9132:2290", + ":9132:2291", ":9132:2272", + ":9132:2254", + ":9132:2293", + ":9132:2251", + ":9132:2250", + ":9132:2252", ":9132:2273#out:1", ":9132:2275#out:1", ":9132:2284#out:1", @@ -3297,10 +3332,10 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json", "elements":[ - ":9132:2281", ":9132:2528", - ":9132:2279", + ":9132:2281", ":9132:2697", + ":9132:2279", ":9132:2276", ":9132:2697#out:1", ":9132:2528#out:1", @@ -3398,31 +3433,31 @@ "elements":[ ":9165", ":9170", - ":9168", - ":9166", - ":9164", - ":9163", - ":9160", - ":9159", ":9169", - ":9157", + ":9168", + ":9163", ":9162", ":9161", - ":9158", - ":9154", - ":9153", - ":9151", - ":9167", - ":9149", - ":9150", - ":9155", - ":9148", - ":9147", - ":9146", - ":9152", - ":9145", + ":9160", ":9156", + ":9155", + ":9154", + ":9151", + ":9159", + ":9164", + ":9147", + ":9150", + ":9146", + ":9148", + ":9153", + ":9157", + ":9158", + ":9152", + ":9149", + ":9145", + ":9166", ":9144", + ":9167", ":9152#out:1", ":9151#out:1", ":9144#out:1", @@ -3462,22 +3497,22 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9163_d.json", "elements":[ - ":9163:2293", - ":9163:2282", - ":9163:2275", - ":9163:2285", - ":9163:2254", - ":9163:2272", - ":9163:2273", - ":9163:2527", - ":9163:2396", - ":9163:2284", ":9163:2290", + ":9163:2285", + ":9163:2527", + ":9163:2293", + ":9163:2284", + ":9163:2275", + ":9163:2273", + ":9163:2254", ":9163:2291", ":9163:2253", - ":9163:2251", + ":9163:2396", ":9163:2252", + ":9163:2251", + ":9163:2282", ":9163:2292", + ":9163:2272", ":9163:2250", ":9163:2273#out:1", ":9163:2275#out:1", @@ -3613,24 +3648,24 @@ "elements":[ ":9190", ":9189", - ":9184", - ":9182", - ":9181", - ":9179", - ":9178", - ":9183", - ":9176", - ":9187", - ":9191", - ":9177", ":9186", - ":9174", - ":9180", - ":9175", - ":9173", - ":9185", - ":9172", ":9188", + ":9183", + ":9184", + ":9191", + ":9182", + ":9176", + ":9179", + ":9187", + ":9175", + ":9180", + ":9177", + ":9173", + ":9181", + ":9178", + ":9172", + ":9185", + ":9174", ":9172#out:1", ":9181#out:1", ":9179#out:1", @@ -3728,22 +3763,22 @@ ":9209", ":9199", ":9223", + ":9235", ":9233", - ":9449", + ":9227", ":9225", - ":9452", ":9451", - ":9453", - ":9210", ":9454", + ":9453", + ":9449", + ":9210", + ":9452", + ":9207", ":9214", ":9455", - ":9207", - ":9206", - ":9227", - ":9201", - ":9235", ":9215", + ":9206", + ":9201", ":9208#out:3", ":9208#out:2", ":9208#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 9c20a71..9ef3749 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 @@ -1797,7 +1797,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Nonreusable function", + "Auto", "-1", "", "off", @@ -1894,7 +1894,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Nonreusable function", + "Auto", "-1", "", "off", @@ -3740,7 +3740,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Nonreusable function", + "Auto", "-1", "", "off", diff --git a/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx b/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx index 28802d09e84b4185ada2e629588810bcd8ef258c..7ae59db269de06c6759a2b12efbba46cf0ae1bdc 100644 GIT binary patch delta 104191 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 delta 103256 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≤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

Cea4Q-z~;>&{JvM06xl>=y1Q-4<3v-n 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 Cortex @@ -57,11 +57,6 @@ typedef struct { int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_Rate_Limiter; -/* Block signals and states (auto storage) for system '/rising_edge_init' */ -typedef struct { - boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ -} DW_rising_edge_init; - /* Block signals and states (auto storage) for system '/Counter' */ typedef struct { uint16_T UnitDelay_DSTATE; /* '/UnitDelay' */ @@ -84,7 +79,6 @@ typedef struct { typedef struct { DW_either_edge either_edge_a; /* '/either_edge' */ DW_Debounce_Filter Debounce_Filter_f;/* '/Debounce_Filter' */ - DW_rising_edge_init rising_edge_init_p;/* '/rising_edge_init' */ DW_Rate_Limiter Rate_Limiter_l; /* '/Rate_Limiter' */ DW_PI_backCalc_fixdt PI_backCalc_fixdt_Iq;/* '/PI_backCalc_fixdt_Iq' */ DW_PI_backCalc_fixdt_f PI_backCalc_fixdt_n_p;/* '/PI_backCalc_fixdt_n' */ @@ -125,8 +119,10 @@ typedef struct { uint8_T is_ACTIVE; /* '/F02_02_Control_Mode_Manager' */ boolean_T Merge_n; /* '/Merge' */ boolean_T dz_cntTrnsDet; /* '/dz_cntTrnsDet' */ + boolean_T UnitDelay_DSTATE_g; /* '/UnitDelay' */ boolean_T UnitDelay1_DSTATE_n; /* '/UnitDelay1' */ boolean_T n_commDeacv_Mode; /* '/n_commDeacv' */ + boolean_T n_commDeacv_Mode_c; /* '/n_commDeacv' */ boolean_T dz_cntTrnsDet_Mode; /* '/dz_cntTrnsDet' */ } DW; @@ -209,6 +205,15 @@ struct P_ { uint16_T t_errQual; /* Variable: t_errQual * Referenced by: '/t_errQual' */ + uint16_T cf_idKp; /* Variable: cf_idKp + * Referenced by: '/cf_idKp' + */ + uint16_T cf_iqKp; /* Variable: cf_iqKp + * Referenced by: '/cf_iqKp' + */ + uint16_T cf_nKp; /* Variable: cf_nKp + * Referenced by: '/cf_nKp' + */ int16_T Vd_max; /* Variable: Vd_max * Referenced by: * '/Vd_max1' @@ -225,6 +230,9 @@ struct P_ { * '/i_max' * '/i_max' */ + int16_T id_fieldWeak_M1[12]; /* Variable: id_fieldWeak_M1 + * Referenced by: '/id_fieldWeak_M1' + */ int16_T iq_max_M1[51]; /* Variable: iq_max_M1 * Referenced by: '/iq_max_M1' */ @@ -237,8 +245,11 @@ struct P_ { int16_T n_commDeacvHi; /* Variable: n_commDeacvHi * Referenced by: '/n_commDeacv' */ - int16_T n_fieldWeak_XA[12]; /* Variable: n_fieldWeak_XA - * Referenced by: '/n_fieldWeak_XA' + int16_T n_fieldWeakAuthHi; /* Variable: n_fieldWeakAuthHi + * Referenced by: '/n_commDeacv' + */ + int16_T n_fieldWeakAuthLo; /* Variable: n_fieldWeakAuthLo + * Referenced by: '/n_commDeacv' */ int16_T n_max; /* Variable: n_max * Referenced by: @@ -248,6 +259,9 @@ struct P_ { int16_T n_stdStillDet; /* Variable: n_stdStillDet * Referenced by: '/n_stdStillDet' */ + int16_T r_fieldWeak_XA[12]; /* Variable: r_fieldWeak_XA + * Referenced by: '/r_fieldWeak_XA' + */ uint16_T cf_currFilt; /* Variable: cf_currFilt * Referenced by: '/cf_currFilt' */ @@ -278,18 +292,6 @@ struct P_ { uint16_T cf_nKpLimProt; /* Variable: cf_nKpLimProt * Referenced by: '/cf_nKpLimProt' */ - uint16_T id_fieldWeak_M1[12]; /* Variable: id_fieldWeak_M1 - * Referenced by: '/id_fieldWeak_M1' - */ - uint16_T cf_idKp; /* Variable: cf_idKp - * Referenced by: '/cf_idKp' - */ - uint16_T cf_iqKp; /* Variable: cf_iqKp - * Referenced by: '/cf_iqKp' - */ - uint16_T cf_nKp; /* Variable: cf_nKp - * Referenced by: '/cf_nKp' - */ uint8_T z_ctrlTypSel; /* Variable: z_ctrlTypSel * Referenced by: '/z_ctrlTypSel1' */ diff --git a/Inc/config.h b/Inc/config.h index 8a69d86..9d2eeb0 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -134,7 +134,7 @@ * 5. A webview was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code * * NOTES Field weakening: - * 1. In BLDC_controller_data.c you can find the field weakening Map as a function of speed: MAP = id_fieldWeak_M1, XAXIS = n_fieldWeak_XA + * 1. In BLDC_controller_data.c you can find the field weakening Map as a function of input target: MAP = id_fieldWeak_M1, XAXIS = r_fieldWeak_XA * 2. The default calibration was experimentally calibrated to my particular needs * 3. If you re-calibrate the field weakening map please take all the safety measures! The motors can spin very fast! * 4. During the recalibration make sure the speed values in XAXIS are equally spaced for a correct Map interpolation. diff --git a/Inc/rtwtypes.h b/Inc/rtwtypes.h index 0a49c83..b0cea52 100644 --- a/Inc/rtwtypes.h +++ b/Inc/rtwtypes.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1175 + * Model version : 1.1183 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Oct 20 19:28:43 2019 + * C/C++ source code generated on : Mon Oct 21 16:34:10 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex diff --git a/Src/BLDC_controller.c b/Src/BLDC_controller.c index 6d0e1dc..86e7a7d 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.1175 + * Model version : 1.1183 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Oct 20 19:28:43 2019 + * C/C++ source code generated on : Mon Oct 21 16:34:10 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -99,8 +99,8 @@ uint8_T plook_u8s16_evencka(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T maxIndex); uint8_T plook_u8s16u8n6_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T maxIndex, uint8_T *fraction); -uint16_T intrp1d_u16s16s16u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const - uint16_T table[]); +int16_T intrp1d_s16s32s32u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const int16_T + table[]); extern void Counter_Init(DW_Counter *localDW, int16_T rtp_z_cntInit); extern int16_T Counter(int16_T rtu_inc, int16_T rtu_max, boolean_T rtu_rst, DW_Counter *localDW); @@ -118,9 +118,6 @@ extern int16_T PI_backCalc_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T extern void Rate_Limiter_Reset(DW_Rate_Limiter *localDW); extern int32_T Rate_Limiter(int32_T rtu_u, int32_T rtu_initVal, boolean_T rtu_init, int32_T rtu_inc, int32_T rtu_dec, DW_Rate_Limiter *localDW); -extern void rising_edge_init_Init(DW_rising_edge_init *localDW); -extern void rising_edge_init_Reset(DW_rising_edge_init *localDW); -extern boolean_T rising_edge_init(DW_rising_edge_init *localDW); extern void Counter_b_Init(DW_Counter_l *localDW, uint16_T rtp_z_cntInit); extern uint16_T Counter_i(uint16_T rtu_inc, uint16_T rtu_max, boolean_T rtu_rst, DW_Counter_l *localDW); @@ -218,8 +215,8 @@ uint8_T plook_u8s16u8n6_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, return bpIndex; } -uint16_T intrp1d_u16s16s16u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const - uint16_T table[]) +int16_T intrp1d_s16s32s32u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const int16_T + table[]) { uint32_T offset_0d; @@ -230,8 +227,8 @@ uint16_T intrp1d_u16s16s16u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const Overflow mode: 'wrapping' */ offset_0d = bpIndex; - return (uint16_T)((uint32_T)(uint16_T)(((int16_T)(table[offset_0d + 1U] - - table[offset_0d]) * frac) >> 6) + table[offset_0d]); + return (int16_T)((int16_T)(((table[offset_0d + 1U] - table[offset_0d]) * frac) + >> 6) + table[offset_0d]); } /* System initialize for atomic system: '/Counter' */ @@ -374,7 +371,7 @@ void PI_backCalc_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, uint16_T rtb_Sum1_i4 += localDW->UnitDelay_DSTATE_l; /* Product: '/Divide4' */ - tmp = (rtu_err * rtu_P) >> 7; + tmp = (rtu_err * rtu_P) >> 11; if (tmp > 32767) { tmp = 32767; } else { @@ -475,7 +472,7 @@ int16_T PI_backCalc_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, rtb_Sum1_l += localDW->UnitDelay_DSTATE_h; /* Product: '/Divide4' */ - q1 = (rtu_err * rtu_P) >> 7; + q1 = (rtu_err * rtu_P) >> 11; if (q1 > 32767) { q1 = 32767; } else { @@ -591,35 +588,6 @@ int32_T Rate_Limiter(int32_T rtu_u, int32_T rtu_initVal, boolean_T rtu_init, return rty_y_0; } -/* System initialize for atomic system: '/rising_edge_init' */ -void rising_edge_init_Init(DW_rising_edge_init *localDW) -{ - /* InitializeConditions for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = true; -} - -/* System reset for atomic system: '/rising_edge_init' */ -void rising_edge_init_Reset(DW_rising_edge_init *localDW) -{ - /* InitializeConditions for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = true; -} - -/* Output and update for atomic system: '/rising_edge_init' */ -boolean_T rising_edge_init(DW_rising_edge_init *localDW) -{ - boolean_T rty_y_0; - - /* UnitDelay: '/UnitDelay' */ - rty_y_0 = localDW->UnitDelay_DSTATE; - - /* Update for UnitDelay: '/UnitDelay' incorporates: - * Constant: '/Constant' - */ - localDW->UnitDelay_DSTATE = false; - return rty_y_0; -} - /* * System initialize for atomic system: * '/Counter' @@ -814,7 +782,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) DW *rtDW = ((DW *) rtM->dwork); ExtU *rtU = (ExtU *) rtM->inputs; ExtY *rtY = (ExtY *) rtM->outputs; - uint16_T finalAccum; + int32_T tmp; uint8_T rtb_Sum; boolean_T rtb_LogicalOperator; int8_T rtb_Sum2_h; @@ -826,20 +794,19 @@ void BLDC_controller_step(RT_MODEL *const rtM) int16_T rtb_Switch2_fv; int16_T rtb_Abs5; int16_T rtb_Switch1_a; - uint16_T rtb_Switch2_d; + int16_T rtb_Switch2_d; + uint16_T rtb_Divide2_h; int16_T rtb_Saturation; - int16_T rtb_Saturation1; int16_T rtb_Sum6; int16_T rtb_Add; - int16_T rtb_Sum2_e; int16_T rtb_TmpSignalConversionAtLow_Pa[2]; - uint8_T rtb_n_fieldWeak_XA_o2; + uint8_T rtb_r_fieldWeak_XA_o2; + int16_T rtb_id_fieldWeak_M1; int16_T rtb_Gain1; int16_T rtb_Gain6; int32_T rtb_Sum2; - int16_T tmp[4]; + int16_T tmp_0[4]; int8_T UnitDelay3; - int32_T tmp_0; int32_T tmp_1; int32_T tmp_2; int32_T tmp_3; @@ -856,19 +823,41 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_Sum = (uint8_T)((uint32_T)(uint8_T)((uint32_T)(uint8_T)(rtU->b_hallA << 2) + (uint8_T)(rtU->b_hallB << 1)) + rtU->b_hallC); + /* Saturate: '/Saturation2' incorporates: + * Inport: '/r_inpTgt' + */ + tmp = rtU->r_inpTgt << 4; + /* If: '/If1' incorporates: * Constant: '/z_ctrlTypSel1' - * DataTypeConversion: '/Data Type Conversion9' - * Inport: '/r_inpTgt' - * Inport: '/r_inpTgt' */ if (rtP->z_ctrlTypSel == 0) { - /* Outputs for IfAction SubSystem: '/Commutation_Control_Type' incorporates: - * ActionPort: '/Action Port' + /* Saturate: '/Saturation2' incorporates: + * Inport: '/r_inpTgt' + * Inport: '/r_inpTgt' */ - rtb_Merge = (int16_T)(rtU->r_inpTgt << 4); + if (tmp >= 16000) { + /* Outputs for IfAction SubSystem: '/Commutation_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + rtb_Merge = 16000; - /* End of Outputs for SubSystem: '/Commutation_Control_Type' */ + /* End of Outputs for SubSystem: '/Commutation_Control_Type' */ + } else if (tmp <= -16000) { + /* Outputs for IfAction SubSystem: '/Commutation_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + rtb_Merge = -16000; + + /* End of Outputs for SubSystem: '/Commutation_Control_Type' */ + } else { + /* Outputs for IfAction SubSystem: '/Commutation_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + rtb_Merge = (int16_T)(rtU->r_inpTgt << 4); + + /* End of Outputs for SubSystem: '/Commutation_Control_Type' */ + } } else { /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: * ActionPort: '/Action Port' @@ -879,20 +868,34 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/i_max' * Constant: '/n_max' */ - tmp[0] = 0; - tmp[1] = rtP->Vd_max; - tmp[2] = rtP->n_max; - tmp[3] = rtP->i_max; + tmp_0[0] = 0; + tmp_0[1] = rtP->Vd_max; + tmp_0[2] = rtP->n_max; + tmp_0[3] = rtP->i_max; - /* Product: '/Divide1' incorporates: - * DataTypeConversion: '/Data Type Conversion9' + /* End of Outputs for SubSystem: '/FOC_Control_Type' */ + + /* Saturate: '/Saturation2' incorporates: * Inport: '/r_inpTgt' + */ + if (tmp >= 16000) { + rtb_Switch2_d_0 = 16000; + } else if (tmp <= -16000) { + rtb_Switch2_d_0 = -16000; + } else { + rtb_Switch2_d_0 = (int16_T)(rtU->r_inpTgt << 4); + } + + /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* Product: '/Divide1' incorporates: * Product: '/Divide4' * Selector: '/Selector' * UnitDelay: '/UnitDelay1' */ - rtb_Merge = (int16_T)(((uint16_T)((tmp[rtDW->UnitDelay1_DSTATE] << 5) / 125) - * (int16_T)(rtU->r_inpTgt << 4)) >> 12); + rtb_Merge = (int16_T)(((uint16_T)((tmp_0[rtDW->UnitDelay1_DSTATE] << 5) / + 125) * rtb_Switch2_d_0) >> 12); /* End of Outputs for SubSystem: '/FOC_Control_Type' */ } @@ -1334,57 +1337,78 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Chart: '/F02_02_Control_Mode_Manager' */ - /* Switch: '/Switch3' incorporates: - * Constant: '/Constant16' - * Constant: '/vec_hallToPos' - * RelationalOperator: '/Relational Operator7' - * Selector: '/Selector' - * Sum: '/Sum1' - */ - if (rtDW->Switch2_e == 1) { - rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; - } else { - rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); - } - - /* End of Switch: '/Switch3' */ - /* Switch: '/Switch2' incorporates: + * Constant: '/Constant16' * Product: '/Divide1' * Product: '/Divide3' + * RelationalOperator: '/Relational Operator7' * Sum: '/Sum3' + * Switch: '/Switch3' */ if (rtb_LogicalOperator) { - /* Product: '/Divide1' */ - tmp_3 = rtb_Switch1_a << 16; - tmp_3 = (tmp_3 == MIN_int32_T) && (rtDW->z_counterRawPrev == -1) ? - MAX_int32_T : tmp_3 / rtDW->z_counterRawPrev; - if (tmp_3 < 0) { - tmp_3 = 0; - } else { - if (tmp_3 > 65535) { - tmp_3 = 65535; - } + /* MinMax: '/MinMax' */ + rtb_Switch2_d = rtb_Switch1_a; + if (!(rtb_Switch2_d < rtDW->z_counterRawPrev)) { + rtb_Switch2_d = rtDW->z_counterRawPrev; } - rtb_Switch2_d = (uint16_T)(((int16_T)((tmp_3 * rtDW->Switch2_e) >> 1) + - (rtb_Sum2_h << 15)) >> 3); + /* End of MinMax: '/MinMax' */ + + /* Switch: '/Switch3' incorporates: + * Constant: '/Constant16' + * Constant: '/vec_hallToPos' + * RelationalOperator: '/Relational Operator7' + * Selector: '/Selector' + * Sum: '/Sum1' + */ + if (rtDW->Switch2_e == 1) { + rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; + } else { + rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); + } + + rtb_Switch2_d = (int16_T)(((int16_T)((int16_T)((rtb_Switch2_d << 14) / + rtDW->z_counterRawPrev) * rtDW->Switch2_e) + (rtb_Sum2_h << 14)) >> 2); } else { - rtb_Switch2_d = (uint16_T)((uint16_T)rtb_Sum2_h << 12); + if (rtDW->Switch2_e == 1) { + /* Switch: '/Switch3' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' + */ + rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; + } else { + /* Switch: '/Switch3' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' + * Sum: '/Sum1' + */ + rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); + } + + rtb_Switch2_d = (int16_T)(rtb_Sum2_h << 12); } /* End of Switch: '/Switch2' */ + /* MinMax: '/MinMax1' incorporates: + * Constant: '/Constant1' + */ + if (!(rtb_Switch2_d > 0)) { + rtb_Switch2_d = 0; + } + + /* End of MinMax: '/MinMax1' */ + /* Product: '/Divide2' */ - rtb_Switch2_d = (uint16_T)((15U * rtb_Switch2_d) >> 4); + rtb_Divide2_h = (uint16_T)((15 * rtb_Switch2_d) >> 4); /* Saturate: '/Saturation' incorporates: * Inport: '/i_phaAB' */ - tmp_3 = rtU->i_phaAB << 4; - if (tmp_3 >= 24000) { + tmp = rtU->i_phaAB << 4; + if (tmp >= 24000) { rtb_Saturation = 24000; - } else if (tmp_3 <= -24000) { + } else if (tmp <= -24000) { rtb_Saturation = -24000; } else { rtb_Saturation = (int16_T)(rtU->i_phaAB << 4); @@ -1395,13 +1419,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Saturate: '/Saturation1' incorporates: * Inport: '/i_phaBC' */ - tmp_3 = rtU->i_phaBC << 4; - if (tmp_3 >= 24000) { - rtb_Saturation1 = 24000; - } else if (tmp_3 <= -24000) { - rtb_Saturation1 = -24000; + tmp = rtU->i_phaBC << 4; + if (tmp >= 24000) { + rtb_Switch2_d = 24000; + } else if (tmp <= -24000) { + rtb_Switch2_d = -24000; } else { - rtb_Saturation1 = (int16_T)(rtU->i_phaBC << 4); + rtb_Switch2_d = (int16_T)(rtU->i_phaBC << 4); } /* End of Saturate: '/Saturation1' */ @@ -1507,26 +1531,26 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Gain: '/Gain4' */ - tmp_3 = 18919 * rtb_Saturation; + tmp = 18919 * rtb_Saturation; /* Gain: '/Gain2' */ - tmp_2 = 18919 * rtb_Saturation1; + tmp_3 = 18919 * rtb_Switch2_d; /* Sum: '/Sum1' incorporates: * Gain: '/Gain2' * Gain: '/Gain4' */ - tmp_3 = (((tmp_3 < 0 ? 32767 : 0) + tmp_3) >> 15) + (int16_T)(((tmp_2 < 0 ? - 16383 : 0) + tmp_2) >> 14); - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = (((tmp < 0 ? 32767 : 0) + tmp) >> 15) + (int16_T)(((tmp_3 < 0 ? + 16383 : 0) + tmp_3) >> 14); + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } - rtb_Sum6 = (int16_T)tmp_3; + rtb_Sum6 = (int16_T)tmp; /* End of Sum: '/Sum1' */ /* End of Outputs for SubSystem: '/Clarke_PhasesAB' */ @@ -1535,32 +1559,32 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Sum: '/Sum3' */ - tmp_3 = rtb_Saturation - rtb_Saturation1; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = rtb_Saturation - rtb_Switch2_d; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* Gain: '/Gain2' incorporates: * Sum: '/Sum3' */ - tmp_3 *= 18919; - rtb_Sum6 = (int16_T)(((tmp_3 < 0 ? 32767 : 0) + tmp_3) >> 15); + tmp *= 18919; + rtb_Sum6 = (int16_T)(((tmp < 0 ? 32767 : 0) + tmp) >> 15); /* Sum: '/Sum1' */ - tmp_3 = -rtb_Saturation - rtb_Saturation1; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = -rtb_Saturation - rtb_Switch2_d; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } - rtb_Saturation = (int16_T)tmp_3; + rtb_Saturation = (int16_T)tmp; /* End of Sum: '/Sum1' */ /* End of Outputs for SubSystem: '/Clarke_PhasesBC' */ @@ -1569,13 +1593,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of If: '/If1' */ /* PreLookup: '/a_elecAngle_XA' */ - rtb_iq_max_XA = plook_u8u16_evencka(rtb_Switch2_d, 0U, 128U, 180U); + rtb_iq_max_XA = plook_u8u16_evencka(rtb_Divide2_h, 0U, 128U, 180U); /* Interpolation_n-D: '/r_sin_M1' */ rtb_Add = rtConstP.r_sin_M1_Table[rtb_iq_max_XA]; /* Interpolation_n-D: '/r_cos_M1' */ - rtb_Saturation1 = rtConstP.r_cos_M1_Table[rtb_iq_max_XA]; + rtb_Switch2_d = rtConstP.r_cos_M1_Table[rtb_iq_max_XA]; /* Sum: '/Sum6' incorporates: * Interpolation_n-D: '/r_cos_M1' @@ -1583,21 +1607,20 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Product: '/Divide1' * Product: '/Divide4' */ - tmp_3 = (int16_T)((rtb_Sum6 * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> 14) - - (int16_T)((rtb_Saturation * rtConstP.r_sin_M1_Table[rtb_iq_max_XA]) >> - 14); - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = (int16_T)((rtb_Sum6 * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> 14) - + (int16_T)((rtb_Saturation * rtConstP.r_sin_M1_Table[rtb_iq_max_XA]) >> 14); + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: * Sum: '/Sum6' */ - rtb_TmpSignalConversionAtLow_Pa[0] = (int16_T)tmp_3; + rtb_TmpSignalConversionAtLow_Pa[0] = (int16_T)tmp; /* Sum: '/Sum1' incorporates: * Interpolation_n-D: '/r_cos_M1' @@ -1605,21 +1628,21 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Product: '/Divide2' * Product: '/Divide3' */ - tmp_3 = (int16_T)((rtb_Saturation * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> - 14) + (int16_T)((rtb_Sum6 * + tmp = (int16_T)((rtb_Saturation * rtConstP.r_cos_M1_Table[rtb_iq_max_XA]) >> + 14) + (int16_T)((rtb_Sum6 * rtConstP.r_sin_M1_Table[rtb_iq_max_XA]) >> 14); - if (tmp_3 > 32767) { - tmp_3 = 32767; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: * Sum: '/Sum1' */ - rtb_TmpSignalConversionAtLow_Pa[1] = (int16_T)tmp_3; + rtb_TmpSignalConversionAtLow_Pa[1] = (int16_T)tmp; /* Outputs for Atomic SubSystem: '/Low_Pass_Filter' */ Low_Pass_Filter(rtb_TmpSignalConversionAtLow_Pa, rtP->cf_currFilt, @@ -1627,31 +1650,49 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Outputs for SubSystem: '/Low_Pass_Filter' */ - /* Switch: '/Switch1' incorporates: + /* Relay: '/n_commDeacv' incorporates: * Constant: '/cf_currFilt' + */ + if (rtb_Abs5 >= rtP->n_fieldWeakAuthHi) { + rtDW->n_commDeacv_Mode_c = true; + } else { + if (rtb_Abs5 <= rtP->n_fieldWeakAuthLo) { + rtDW->n_commDeacv_Mode_c = false; + } + } + + /* Switch: '/Switch1' incorporates: * Constant: '/a_elecPeriod1' * Constant: '/b_fieldWeakEna' - * DataTypeConversion: '/Data Type Conversion' - * Interpolation_n-D: '/id_fieldWeak_M1' + * Logic: '/Logical Operator2' + * Relay: '/n_commDeacv' */ - if (rtP->b_fieldWeakEna) { - /* PreLookup: '/n_fieldWeak_XA' */ - rtb_iq_max_XA = plook_u8s16u8n6_evenc_s(rtb_Abs5, rtP->n_fieldWeak_XA[0], - (uint16_T)(rtP->n_fieldWeak_XA[1] - rtP->n_fieldWeak_XA[0]), 11U, - &rtb_n_fieldWeak_XA_o2); + if (rtP->b_fieldWeakEna && rtDW->n_commDeacv_Mode_c) { + /* Abs: '/Abs5' */ + if (rtb_Merge < 0) { + rtb_Saturation = (int16_T)-rtb_Merge; + } else { + rtb_Saturation = rtb_Merge; + } + + /* End of Abs: '/Abs5' */ + + /* PreLookup: '/r_fieldWeak_XA' */ + rtb_iq_max_XA = plook_u8s16u8n6_evenc_s(rtb_Saturation, + rtP->r_fieldWeak_XA[0], (uint16_T)(rtP->r_fieldWeak_XA[1] - + rtP->r_fieldWeak_XA[0]), 11U, &rtb_r_fieldWeak_XA_o2); /* Interpolation_n-D: '/id_fieldWeak_M1' */ - finalAccum = intrp1d_u16s16s16u8u8n6l_s(rtb_iq_max_XA, - rtb_n_fieldWeak_XA_o2, rtP->id_fieldWeak_M1); - rtb_Sum2_e = (int16_T)((finalAccum & 1023) << 4); + rtb_id_fieldWeak_M1 = intrp1d_s16s32s32u8u8n6l_s(rtb_iq_max_XA, + rtb_r_fieldWeak_XA_o2, rtP->id_fieldWeak_M1); } else { - rtb_Sum2_e = 0; + rtb_id_fieldWeak_M1 = 0; } /* End of Switch: '/Switch1' */ /* Gain: '/toNegative' */ - rtb_Sum6 = (int16_T)-rtb_Sum2_e; + rtb_Sum6 = (int16_T)-rtb_id_fieldWeak_M1; /* Gain: '/Gain4' incorporates: * Constant: '/i_max' @@ -1716,17 +1757,17 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ /* Sum: '/Sum3' */ - tmp_3 = rtb_Sum6 - rtDW->Sum1[1]; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = rtb_Sum6 - rtDW->Sum1[1]; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* Outputs for Atomic SubSystem: '/PI_backCalc_fixdt_Id' */ - PI_backCalc_fixdt((int16_T)tmp_3, rtP->cf_idKp, rtP->cf_idKi, rtP->cf_idKb, + PI_backCalc_fixdt((int16_T)tmp, rtP->cf_idKp, rtP->cf_idKi, rtP->cf_idKb, 0, rtP->Vd_max, (int16_T)-rtP->Vd_max, &rtDW->Switch2, &rtDW->PI_backCalc_fixdt_Id); @@ -1759,23 +1800,23 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_Saturation = (int16_T)-rtP->Vq_max_M1[rtb_iq_max_XA]; /* PreLookup: '/iq_max_XA' */ - rtb_iq_max_XA = plook_u8s16_evencka(rtb_Sum2_e, rtP->iq_max_XA[0], (uint16_T) - (rtP->iq_max_XA[1] - rtP->iq_max_XA[0]), 50U); + rtb_iq_max_XA = plook_u8s16_evencka(rtb_id_fieldWeak_M1, rtP->iq_max_XA[0], + (uint16_T)(rtP->iq_max_XA[1] - rtP->iq_max_XA[0]), 50U); /* MinMax: '/MinMax' incorporates: * Constant: '/i_max' * Interpolation_n-D: '/iq_max_M1' */ if (rtP->i_max < rtP->iq_max_M1[rtb_iq_max_XA]) { - rtb_Sum2_e = rtP->i_max; + rtb_id_fieldWeak_M1 = rtP->i_max; } else { - rtb_Sum2_e = rtP->iq_max_M1[rtb_iq_max_XA]; + rtb_id_fieldWeak_M1 = rtP->iq_max_M1[rtb_iq_max_XA]; } /* End of MinMax: '/MinMax' */ /* Gain: '/Gain1' */ - rtb_Gain1 = (int16_T)-rtb_Sum2_e; + rtb_Gain1 = (int16_T)-rtb_id_fieldWeak_M1; /* Gain: '/Gain6' incorporates: * Constant: '/n_max1' @@ -1810,8 +1851,8 @@ void BLDC_controller_step(RT_MODEL *const rtM) * RelationalOperator: '/UpperRelop' * Switch: '/Switch' */ - if (rtDW->Sum1[0] > rtb_Sum2_e) { - rtb_Switch2_d_0 = rtb_Sum2_e; + if (rtDW->Sum1[0] > rtb_id_fieldWeak_M1) { + rtb_Switch2_d_0 = rtb_id_fieldWeak_M1; } else if (rtDW->Sum1[0] < rtb_Gain1) { /* Switch: '/Switch' */ rtb_Switch2_d_0 = rtb_Gain1; @@ -1825,17 +1866,17 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/cf_iqKpLimProt' * Sum: '/Sum3' */ - tmp_3 = ((int16_T)(rtb_Switch2_d_0 - rtDW->Sum1[0]) * rtP->cf_iqKpLimProt) - >> 6; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = ((int16_T)(rtb_Switch2_d_0 - rtDW->Sum1[0]) * rtP->cf_iqKpLimProt) >> + 8; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } - rtDW->Divide4 = (int16_T)tmp_3; + rtDW->Divide4 = (int16_T)tmp; /* End of Product: '/Divide4' */ /* End of Outputs for SubSystem: '/Current_Limit_Protection' */ @@ -1887,17 +1928,17 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/cf_nKpLimProt' * Sum: '/Sum1' */ - tmp_3 = ((int16_T)(rtb_Switch2_d_0 - rtb_Switch2_fv) * rtP->cf_nKpLimProt) - >> 6; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = ((int16_T)(rtb_Switch2_d_0 - rtb_Switch2_fv) * rtP->cf_nKpLimProt) >> + 8; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } - rtDW->Divide1 = (int16_T)tmp_3; + rtDW->Divide1 = (int16_T)tmp; /* End of Product: '/Divide1' */ /* End of Outputs for SubSystem: '/Speed_Limit_Protection' */ @@ -1944,12 +1985,12 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Sum: '/Sum3' */ - tmp_3 = (rtb_Merge + rtDW->Divide4) + rtDW->Divide1; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = (rtb_Merge + rtDW->Divide4) + rtDW->Divide1; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } @@ -1959,17 +2000,17 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Sum: '/Sum3' * Switch: '/Switch' */ - if ((int16_T)tmp_3 > rtb_Sum6) { + if ((int16_T)tmp > rtb_Sum6) { /* SignalConversion: '/Signal Conversion2' */ rtDW->Merge = rtb_Sum6; - } else if ((int16_T)tmp_3 < rtb_Saturation) { + } else if ((int16_T)tmp < rtb_Saturation) { /* Switch: '/Switch' incorporates: * SignalConversion: '/Signal Conversion2' */ rtDW->Merge = rtb_Saturation; } else { /* SignalConversion: '/Signal Conversion2' */ - rtDW->Merge = (int16_T)tmp_3; + rtDW->Merge = (int16_T)tmp; } /* End of Switch: '/Switch2' */ @@ -2012,17 +2053,17 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ /* Sum: '/Sum3' */ - tmp_3 = rtb_Gain6 - rtb_Switch2_fv; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = rtb_Gain6 - rtb_Switch2_fv; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* Outputs for Atomic SubSystem: '/PI_backCalc_fixdt_n' */ - rtDW->Merge = (int16_T) PI_backCalc_fixdt_n((int16_T)tmp_3, rtP->cf_nKp, + rtDW->Merge = (int16_T) PI_backCalc_fixdt_n((int16_T)tmp, rtP->cf_nKp, rtP->cf_nKi, rtP->cf_nKb, (int16_T)((rtDW->Divide4 * rtP->cf_iqKiLimProt) >> 10), rtb_Sum6, rtb_Saturation, &rtDW->PI_backCalc_fixdt_n_p); @@ -2051,12 +2092,12 @@ void BLDC_controller_step(RT_MODEL *const rtM) * ActionPort: '/Action Port' */ /* Sum: '/Sum2' */ - tmp_3 = rtb_Merge + rtDW->Divide1; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = rtb_Merge + rtDW->Divide1; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } @@ -2064,14 +2105,14 @@ void BLDC_controller_step(RT_MODEL *const rtM) * RelationalOperator: '/LowerRelop1' * Sum: '/Sum2' */ - if (!((int16_T)tmp_3 > rtb_Sum2_e)) { + if (!((int16_T)tmp > rtb_id_fieldWeak_M1)) { /* Switch: '/Switch' incorporates: * RelationalOperator: '/UpperRelop' */ - if ((int16_T)tmp_3 < rtb_Gain1) { - rtb_Sum2_e = rtb_Gain1; + if ((int16_T)tmp < rtb_Gain1) { + rtb_id_fieldWeak_M1 = rtb_Gain1; } else { - rtb_Sum2_e = (int16_T)tmp_3; + rtb_id_fieldWeak_M1 = (int16_T)tmp; } /* End of Switch: '/Switch' */ @@ -2080,12 +2121,12 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Switch: '/Switch2' */ /* Sum: '/Sum1' */ - tmp_3 = rtb_Sum2_e - rtDW->Sum1[0]; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = rtb_id_fieldWeak_M1 - rtDW->Sum1[0]; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } @@ -2098,7 +2139,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Constant: '/constant' * Sum: '/Sum1' */ - PI_backCalc_fixdt((int16_T)tmp_3, rtP->cf_iqKp, rtP->cf_iqKi, rtP->cf_iqKb, + PI_backCalc_fixdt((int16_T)tmp, rtP->cf_iqKp, rtP->cf_iqKi, rtP->cf_iqKb, 0, rtb_Sum6, rtb_Saturation, &rtDW->Merge, &rtDW->PI_backCalc_fixdt_Iq); @@ -2112,11 +2153,11 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* SystemReset for IfAction SubSystem: '/Open_Mode' incorporates: * ActionPort: '/Action Port' */ - /* SystemReset for Atomic SubSystem: '/rising_edge_init' */ - - /* SystemReset for SwitchCase: '/Switch Case' */ - rising_edge_init_Reset(&rtDW->rising_edge_init_p); + /* SystemReset for SwitchCase: '/Switch Case' incorporates: + * UnitDelay: '/UnitDelay' + */ + rtDW->UnitDelay_DSTATE_g = true; /* End of SystemReset for SubSystem: '/rising_edge_init' */ @@ -2131,26 +2172,31 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Outputs for IfAction SubSystem: '/Open_Mode' incorporates: * ActionPort: '/Action Port' */ - /* Outputs for Atomic SubSystem: '/rising_edge_init' */ - rtb_RelationalOperator4_d = rising_edge_init(&rtDW->rising_edge_init_p); + /* UnitDelay: '/UnitDelay' */ + rtb_RelationalOperator4_d = rtDW->UnitDelay_DSTATE_g; + + /* Update for UnitDelay: '/UnitDelay' incorporates: + * Constant: '/Constant' + */ + rtDW->UnitDelay_DSTATE_g = false; /* End of Outputs for SubSystem: '/rising_edge_init' */ /* DataTypeConversion: '/Data Type Conversion' incorporates: * UnitDelay: '/UnitDelay4' */ - tmp_3 = rtDW->UnitDelay4_DSTATE_er << 12; + tmp = rtDW->UnitDelay4_DSTATE_er << 12; /* Gain: '/Gain3' incorporates: * Constant: '/dV_openRate' */ - tmp_2 = -rtP->dV_openRate; + tmp_3 = -rtP->dV_openRate; /* Outputs for Atomic SubSystem: '/Rate_Limiter' */ - rtb_Sum2 = Rate_Limiter(0, (tmp_3 & 134217728) != 0 ? tmp_3 | -134217728 : - tmp_3 & 134217727, rtb_RelationalOperator4_d, rtP->dV_openRate, (tmp_2 & - 134217728) != 0 ? tmp_2 | -134217728 : tmp_2 & 134217727, + rtb_Sum2 = Rate_Limiter(0, (tmp & 134217728) != 0 ? tmp | -134217728 : tmp + & 134217727, rtb_RelationalOperator4_d, rtP->dV_openRate, (tmp_3 & + 134217728) != 0 ? tmp_3 | -134217728 : tmp_3 & 134217727, &rtDW->Rate_Limiter_l); /* End of Outputs for SubSystem: '/Rate_Limiter' */ @@ -2173,38 +2219,60 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Product: '/Divide1' * Product: '/Divide4' */ - tmp_3 = ((int16_T)((rtDW->Switch2 * rtb_Saturation1) >> 13) - (int16_T) - ((rtDW->Merge * rtb_Add) >> 13)) >> 1; + tmp = (int16_T)((rtDW->Switch2 * rtb_Switch2_d) >> 14) - (int16_T) + ((rtDW->Merge * rtb_Add) >> 14); + if (tmp > 32767) { + tmp = 32767; + } else { + if (tmp < -32768) { + tmp = -32768; + } + } /* Sum: '/Sum1' incorporates: * Product: '/Divide2' * Product: '/Divide3' */ - tmp_2 = ((int16_T)((rtDW->Switch2 * rtb_Add) >> 13) + (int16_T)((rtDW->Merge - * rtb_Saturation1) >> 13)) >> 1; + tmp_3 = (int16_T)((rtDW->Switch2 * rtb_Add) >> 14) + (int16_T)((rtDW->Merge * + rtb_Switch2_d) >> 14); + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } /* Gain: '/Gain1' incorporates: * Sum: '/Sum1' */ - tmp_2 = 14189 * (int16_T)tmp_2; + tmp_3 = 14189 * (int16_T)tmp_3; /* Sum: '/Sum6' incorporates: * Gain: '/Gain1' + * Gain: '/Gain3' * Sum: '/Sum6' */ - tmp_2 = ((int16_T)(((tmp_2 < 0 ? 8191 : 0) + tmp_2) >> 13) - (int16_T)tmp_3) - >> 1; + tmp_3 = (((tmp_3 < 0 ? 16383 : 0) + tmp_3) >> 14) - ((int16_T)(((int16_T)tmp + < 0) + (int16_T)tmp) >> 1); + if (tmp_3 > 32767) { + tmp_3 = 32767; + } else { + if (tmp_3 < -32768) { + tmp_3 = -32768; + } + } /* Sum: '/Sum2' incorporates: * Sum: '/Sum6' * Sum: '/Sum6' */ - tmp_1 = -(int16_T)tmp_3 - (int16_T)tmp_2; - if (tmp_1 > 32767) { - tmp_1 = 32767; + tmp_2 = -(int16_T)tmp - (int16_T)tmp_3; + if (tmp_2 > 32767) { + tmp_2 = 32767; } else { - if (tmp_1 < -32768) { - tmp_1 = -32768; + if (tmp_2 < -32768) { + tmp_2 = -32768; } } @@ -2213,13 +2281,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Sum: '/Sum6' * Sum: '/Sum6' */ - rtb_Saturation = (int16_T)tmp_3; - if (!((int16_T)tmp_3 < (int16_T)tmp_2)) { - rtb_Saturation = (int16_T)tmp_2; + rtb_Switch2_d = (int16_T)tmp; + if (!((int16_T)tmp < (int16_T)tmp_3)) { + rtb_Switch2_d = (int16_T)tmp_3; } - if (!(rtb_Saturation < (int16_T)tmp_1)) { - rtb_Saturation = (int16_T)tmp_1; + if (!(rtb_Switch2_d < (int16_T)tmp_2)) { + rtb_Switch2_d = (int16_T)tmp_2; } /* MinMax: '/MinMax2' incorporates: @@ -2227,83 +2295,83 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Sum: '/Sum6' * Sum: '/Sum6' */ - rtb_Saturation1 = (int16_T)tmp_3; - if (!((int16_T)tmp_3 > (int16_T)tmp_2)) { - rtb_Saturation1 = (int16_T)tmp_2; + rtb_Add = (int16_T)tmp; + if (!((int16_T)tmp > (int16_T)tmp_3)) { + rtb_Add = (int16_T)tmp_3; } - if (!(rtb_Saturation1 > (int16_T)tmp_1)) { - rtb_Saturation1 = (int16_T)tmp_1; + if (!(rtb_Add > (int16_T)tmp_2)) { + rtb_Add = (int16_T)tmp_2; } /* Sum: '/Add' incorporates: * MinMax: '/MinMax1' * MinMax: '/MinMax2' */ - tmp_0 = rtb_Saturation + rtb_Saturation1; - if (tmp_0 > 32767) { - tmp_0 = 32767; + tmp_1 = rtb_Switch2_d + rtb_Add; + if (tmp_1 > 32767) { + tmp_1 = 32767; } else { - if (tmp_0 < -32768) { - tmp_0 = -32768; + if (tmp_1 < -32768) { + tmp_1 = -32768; } } /* Gain: '/Gain2' incorporates: * Sum: '/Add' */ - rtb_Add = (int16_T)(tmp_0 >> 1); + rtb_Add = (int16_T)(tmp_1 >> 1); /* Sum: '/Add1' incorporates: * Sum: '/Sum6' */ - tmp_3 = (int16_T)tmp_3 - rtb_Add; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = (int16_T)tmp - rtb_Add; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* Gain: '/Gain4' incorporates: * Sum: '/Add1' */ - rtDW->Gain4[0] = (int16_T)((18919 * tmp_3) >> 18); + rtDW->Gain4[0] = (int16_T)((18919 * tmp) >> 18); /* Sum: '/Add1' incorporates: * Sum: '/Sum6' */ - tmp_3 = (int16_T)tmp_2 - rtb_Add; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = (int16_T)tmp_3 - rtb_Add; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* Gain: '/Gain4' incorporates: * Sum: '/Add1' */ - rtDW->Gain4[1] = (int16_T)((18919 * tmp_3) >> 18); + rtDW->Gain4[1] = (int16_T)((18919 * tmp) >> 18); /* Sum: '/Add1' incorporates: * Sum: '/Sum2' */ - tmp_3 = (int16_T)tmp_1 - rtb_Add; - if (tmp_3 > 32767) { - tmp_3 = 32767; + tmp = (int16_T)tmp_2 - rtb_Add; + if (tmp > 32767) { + tmp = 32767; } else { - if (tmp_3 < -32768) { - tmp_3 = -32768; + if (tmp < -32768) { + tmp = -32768; } } /* Gain: '/Gain4' incorporates: * Sum: '/Add1' */ - rtDW->Gain4[2] = (int16_T)((18919 * tmp_3) >> 18); + rtDW->Gain4[2] = (int16_T)((18919 * tmp) >> 18); /* Update for UnitDelay: '/UnitDelay4' */ rtDW->UnitDelay4_DSTATE_er = rtDW->Merge; @@ -2338,9 +2406,9 @@ void BLDC_controller_step(RT_MODEL *const rtM) * 2-dimensional Direct Look-Up returning a Column */ if (rtb_LogicalOperator) { - rtb_Saturation = rtDW->Gain4[0]; - rtb_Saturation1 = rtDW->Gain4[1]; - rtb_Sum6 = rtDW->Gain4[2]; + rtb_Switch2_d = rtDW->Gain4[0]; + rtb_Add = rtDW->Gain4[1]; + rtb_Saturation = rtDW->Gain4[2]; } else { if (rtConstP.vec_hallToPos_Value[rtb_Sum] > 5) { /* LookupNDDirect: '/z_commutMap_M1' @@ -2375,11 +2443,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2 = rtb_Sum2_h * 3; - rtb_Saturation = (int16_T)(rtb_Merge * - rtConstP.z_commutMap_M1_table[rtb_Sum2]); - rtb_Saturation1 = (int16_T)(rtConstP.z_commutMap_M1_table[1 + rtb_Sum2] * + rtb_Switch2_d = (int16_T)(rtb_Merge * rtConstP.z_commutMap_M1_table[rtb_Sum2]); + rtb_Add = (int16_T)(rtConstP.z_commutMap_M1_table[1 + rtb_Sum2] * rtb_Merge); + rtb_Saturation = (int16_T)(rtConstP.z_commutMap_M1_table[2 + rtb_Sum2] * rtb_Merge); - rtb_Sum6 = (int16_T)(rtConstP.z_commutMap_M1_table[2 + rtb_Sum2] * rtb_Merge); } /* End of Switch: '/Switch1' */ @@ -2414,13 +2481,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Outputs for SubSystem: '/BLDC_controller' */ /* Outport: '/DC_phaA' */ - rtY->DC_phaA = rtb_Saturation; + rtY->DC_phaA = rtb_Switch2_d; /* Outport: '/DC_phaB' */ - rtY->DC_phaB = rtb_Saturation1; + rtY->DC_phaB = rtb_Add; /* Outport: '/DC_phaC' */ - rtY->DC_phaC = rtb_Sum6; + rtY->DC_phaC = rtb_Saturation; /* Outputs for Atomic SubSystem: '/BLDC_controller' */ /* Outport: '/n_mot' incorporates: @@ -2431,7 +2498,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Outport: '/a_elecAngle' incorporates: * DataTypeConversion: '/Data Type Conversion7' */ - rtY->a_elecAngle = (int16_T)((uint32_T)rtb_Switch2_d >> 6); + rtY->a_elecAngle = (int16_T)((uint32_T)rtb_Divide2_h >> 6); /* Outport: '/r_devSignal1' incorporates: * DataTypeConversion: '/Data Type Conversion4' @@ -2500,18 +2567,14 @@ void BLDC_controller_initialize(RT_MODEL *const rtM) /* End of SystemInitialize for SubSystem: '/F02_Diagnostics' */ /* SystemInitialize for IfAction SubSystem: '/F04_Field_Oriented_Control' */ - /* SystemInitialize for IfAction SubSystem: '/Open_Mode' */ - /* SystemInitialize for Atomic SubSystem: '/rising_edge_init' */ - rising_edge_init_Init(&rtDW->rising_edge_init_p); + /* InitializeConditions for UnitDelay: '/UnitDelay' */ + rtDW->UnitDelay_DSTATE_g = true; /* End of SystemInitialize for SubSystem: '/rising_edge_init' */ - /* End of SystemInitialize for SubSystem: '/Open_Mode' */ - /* End of SystemInitialize for SubSystem: '/F04_Field_Oriented_Control' */ - /* End of SystemInitialize for SubSystem: '/BLDC_controller' */ } diff --git a/Src/BLDC_controller_data.c b/Src/BLDC_controller_data.c index 7f566c1..a3ef361 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.1175 + * Model version : 1.1183 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Oct 20 19:28:43 2019 + * C/C++ source code generated on : Mon Oct 21 16:34:10 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -120,6 +120,21 @@ P rtP_Left = { */ 9600U, + /* Variable: cf_idKp + * Referenced by: '/cf_idKp' + */ + 819U, + + /* Variable: cf_iqKp + * Referenced by: '/cf_iqKp' + */ + 2048U, + + /* Variable: cf_nKp + * Referenced by: '/cf_nKp' + */ + 4833U, + /* Variable: Vd_max * Referenced by: * '/Vd_max1' @@ -150,6 +165,11 @@ P rtP_Left = { */ 12000, + /* Variable: id_fieldWeak_M1 + * Referenced by: '/id_fieldWeak_M1' + */ + { 0, 80, 240, 560, 1040, 1680, 2400, 3040, 3520, 3840, 4000, 4000 }, + /* Variable: iq_max_M1 * Referenced by: '/iq_max_M1' */ @@ -177,10 +197,15 @@ P rtP_Left = { */ 480, - /* Variable: n_fieldWeak_XA - * Referenced by: '/n_fieldWeak_XA' + /* Variable: n_fieldWeakAuthHi + * Referenced by: '/n_commDeacv' */ - { 6400, 6720, 7040, 7360, 7680, 8000, 8320, 8640, 8960, 9280, 9600, 9920 }, + 3200, + + /* Variable: n_fieldWeakAuthLo + * Referenced by: '/n_commDeacv' + */ + 2240, /* Variable: n_max * Referenced by: @@ -194,6 +219,12 @@ P rtP_Left = { */ 48, + /* Variable: r_fieldWeak_XA + * Referenced by: '/r_fieldWeak_XA' + */ + { 9120, 9600, 10080, 10560, 11040, 11520, 12000, 12480, 12960, 13440, 13920, + 14400 }, + /* Variable: cf_currFilt * Referenced by: '/cf_currFilt' */ @@ -207,7 +238,7 @@ P rtP_Left = { /* Variable: cf_idKi * Referenced by: '/cf_idKi' */ - 393U, + 236U, /* Variable: cf_iqKb * Referenced by: '/cf_iqKb' @@ -237,32 +268,12 @@ P rtP_Left = { /* Variable: cf_iqKpLimProt * Referenced by: '/cf_iqKpLimProt' */ - 461U, + 1843U, /* Variable: cf_nKpLimProt * Referenced by: '/cf_nKpLimProt' */ - 320U, - - /* Variable: id_fieldWeak_M1 - * Referenced by: '/id_fieldWeak_M1' - */ - { 0U, 0U, 3U, 13U, 50U, 100U, 150U, 200U, 225U, 240U, 250U, 250U }, - - /* Variable: cf_idKp - * Referenced by: '/cf_idKp' - */ - 256U, - - /* Variable: cf_iqKp - * Referenced by: '/cf_iqKp' - */ - 128U, - - /* Variable: cf_nKp - * Referenced by: '/cf_nKp' - */ - 302U, + 1280U, /* Variable: z_ctrlTypSel * Referenced by: '/z_ctrlTypSel1' diff --git a/build/firmware.bin b/build/firmware.bin index 2b87d6b78542c366d7f833667ab71d092292571b..4e9e39027d98adb1a9ddb791878973c22d8171a6 100644 GIT binary patch delta 3338 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 LBO}A)%buzLQ>DJ+ diff --git a/build/firmware.elf b/build/firmware.elf index 1ed5b0148a2f2edae233250c643f591a6a7ba65e..dd460ab647bc3d4d1d2b6af8595680c8f8289d94 100644 GIT binary patch delta 122885 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ˡ_H8yr@A&Y*4gyr6BQe6AobGVp@7k@9(f*etxDZKQm`AT|dt zXd5YC7>Lco3))7?7YSku@Pf9H^2LJKBD|n&qSav`3Zi2J*tOvFGl|X$K1}ShCWIAYN0cf)wqY?+mQM>gR7&K(`85kH@K;5mw>_XfO z42BPeM4*+HSspm%b* z>}w{;da$V_V71frK}QWngA`?gHGq0YplJujIhR3>2P@44E8PKB`VFL12y8J(DQHbG z;~X9V1_pJoQX#O?oB9k4`u`v*L2`_N3}P&x#Hj~be_hYGgbn1yFWL+of571cx_%I% ze+e5XT!al67}UYLwU)4f0eiqy5EcN}SV0~*ZZLhu8zvi_B_P)vWd+9>s0RX8oB&sR6s-8E0Voda zroCm7lm!Q33s{)V5a#JNR#0$R8BRBQ%cK~-RhNN*@jDAh2owV{;H^)#LNEt>X8}2& z+K_=k{WnA<7as$|5)j`?46GC6nnQ5Ie}YYVU^soE1AL7f3)s~ii+Lw`a1HeUviP7q((n1Mk9Jm{bR zmbWy9X4Uy(NDKzOPx{jzzGIT`0SEkSW>DBg7&9=agN>Ta3^J+=Zq!^be~K{!gMl6> zZ7gI4w6}n`dc6s`OL6*0)-jl9Ayz$JmrJ!0xc?pr0hbl z%5W2Gp$j@Lj`1H8$fyKe1`g1Tl8kfm;70vp0y(?M1Qt;YAfvn)wt>tl(`Dd54qn3= zkV~&JwTr+q$W^dz2Gir9z&y^xxDYOL93rFVGu`n6EN$9?#ooZ}vIo0L)O33J2PO^h zb_>Q5Mvy}@^cXlqz-hBz6z1m=Mvy}tOkoZ!1FMV!@%2E?DrW?R_k0lF48*Sh^B;ov z{vduOm@jU|z+hCT$G`#dL!BrC12pNFwAAY{a3Cj3Gmwf8@WB(%x=8aWA`A?S0SsoK zK>47Fdm3=Do|3=Ebj{0t1eW(*8g1^f&QOcQggL5eMOA>%=8Fr`P# z7#M6|qPE9G85rtqLE8)&7&Mi1892ZR%?Qe1Faxa6i zVsi!tYmlN4P{1)TFo13}wg4$HGiPA1fr;9hih(kPrh^{T20ti+!7fLyo`E4pkAXp8 zJ(C@e0RsaF^L8`ZN$WB&fG}?tqaA3-3xxSC8SS>}GcbU#U?@8S=&)lJhE+1~N$6h& zkWn4b-2fmPf15Kf5E|5}$Fb;*TBACkA{5`C4%_IcP6K!VXLMADVRTf7fnju1XLM9& zbX13dp<#4X2Xxcf=%~(sjp`Wi?Td$vpVadm0I{(RprnEhb|hl}1$0HsY49kJ0>3-x zFjL;8h71h+;GsJP-f5si$O1r3YZl&q1JK+cbezfsBoPCW;NcAhvBBd}0=#=bCzYjw z#6@@yfW&h^Yzf{9yAAGjM=zDr1}jI@}b}J^aZ6 zVtbl1FsOsiOZmyNg^z)u)*RO7_zmt@)~_^YV9@jc_2d7rWP^75h=D1{P>|XuLk0%M zFQ9G|sOih_0Njrefe(m$0WZ&g1G1yd2&@t$$7KPt;~Q9KqXh$l7I>86JFK6`AjSfU z9qpWYQ0MRzXex&RGO=q9AH+EYHk>hlL2WC@6|2CVN{}-^7Y;Gbse-#=693Kjrq1>HQ&IOi~2YpWJmZ>S{$gAOQlFhZ0v25P(l+1U=( zco1w-?sRD;W=TbG|5yjCOVtYIPd%_d{j3-mv^=JVGBGj17}0!7X&E7;(~IwsKI#7z(%JUFqA36xSKtYH>x0GkwU4YuF|6SK3=1CUQM!NMR5 zAhE9wA5qB!Td)LfKsH$AJ8K38&>#y#pfCf29(2q?Eqi)BGc$BFj18>M&<18P2UuUK z4OCwyvc6D|6DEMWt{^8^fD;F3ju4UnCoqEiINJs`h%f=%Y267j8ay5`3CzE4!@!^g z8bpv_oCa>P!$%ROgXO>4OxI^&Hu4by1!y$fGRR;E=v+XEWzk^EENo%!js>f1vW2=E z*}sNMrmtmTmXHR=UY7=wq^et~-IKW(Q!U||+g zAk4R#*%Z__1!3MUMpIDV6odsV8BIZbQxFFAPenvQ+hVHZ;r-JF6G;EmgB|2b28LJm z@I}%rh!gJXi^x6Vo;r)9>sj7{E=XpX1-dq>fn_1+wjl6n_pI9QKxf)R4zXZm0&k~7UN6n+3px**6||j>fdPENJ*z+Hgb*z2 zrOg=_upDvECILF26@0`!C-@{q(4uKJ@Y-Dt(4rnT^XX9>%yRWQ#taNhjf|e4a+({o zdyT1y(T|ydL4mv4gn@yn87$MlZ4Xk`0+w08!)eOEz|;zsVPNEu0P)(uQVNVbIv`!` zV7UfH9uJVV4zSz;MxM_gxlXVg0~3!6h^N}c7zeVAiPtlLfvKCZ4&)AI9zT#=4`VYk z1H%Vq9>eJ}oXnYai6Fr~##+#NjUJ|jjJsJF7`Q>(0htyvR)DG)ZqRl>rX`HvV<)&l z+X0!Df;k-A|1_r`=46I!2V`0W7F6K|Z3kpp4d!TYgSG=QtpRg%xIx2wz^X2^CxrY(&BK`T?aLE8bDwlYexGB6}S0(2Xr94iAu z3Afes`CQBmj8~>Ba5Ib4gI23Etp%S{23f7nv<}Q+5eBVRXIc;DKvt_WZD0cVkB31J zv|62MBa;;?1A_=?l@HT2HqcT$QP4dE?5?0C?R=ocF{@b_82D|#_YiQ-W@TUy1>Hly z?gkPD%b#Xt$b%?gXW-loQUF@u&hCDi6}|{u46+EEL+L%}Mm(0UpcT`gl`h~l;1~zD z!&bV0?385TTxQM2z#s+M3dp$vG`J?kI9-v4S-Bo`;xqK%b{WuCK+aV%Y@jj^dT_fp z8*~jg=X%hFc<>r<$ieNh;H`k%`VZI`7-Yb+^M)WMgB;@Eb{WtbaL57e95SG-fe<#2 z3}_8FggyN*53@@B9YF>L6>jrk0A8mb{WtfLFmEl zGM%7h7LbG6Wk7obp$E6ifc6MN4{nzM?Gc0?+%5y!BM3XVT^_Uon}e~Q+iN|@YRD28 z5R*X$v`3KJ2gGhrfE?W3#0IL96hKn~+<_nt3nK&HBUT26{p`@Fm1mHLtO4ha{R=V= z94c`jCW8!U>mc+zcNx&uLGDCm&?Y$Gw0WzS?g50OHK%4nx^rj!-W7g-(;bUOnzU;-#z~CVBRcJaR zKeL!EXmcR+#C93b=0NV-zgQU<0%Sm&1G(?@axyT4$bdEnaz83(V_=Ao0c{TCev-q+ zzz`#2F+GHz*|h#R=vsFcZcC<9pk>IQHQ(IO6WhUSzPTNkHgdz(d_y^qHQ!JUWX(4> z^u%`Xns07rrpdgpHQ%rk+rewTx!svo@G?Nxe8W#{2e0|&_Ga423tRKe?Z*U4w2(F5 zuoK(CYreSyz%r0E-`s&r`*~q&zF{Y}gV%g>hl2eBS@X?Z!2~+^K7t373b<>SKr!#Z z$OAjE9h6Rd79cNUlfSpv?T4dy_WfOF@7IY+ny zr#}>8cH=t)nhGgp0^MZ5z+E-nRG8U}7nESR^O*i{Gcc$(POlJVmSI$zK2@06gBP^k zo12{(l7#Ke??lFKZ zw$%b12*CJ)ai0ML=wuuQ#yK5)3=G;w3>Y}VKxY|ffo_pvyvDf105UVgIA<-NFav|m z9niIQ*BC+OGX^l|UYtH(gjurQ1$6V(QN|mL3=C`R7#Q@GKwHci7#M^=h1qFF17i^e zhO?ke#|&EgK`z+>USur;lAQxesd``owtx+I05ZSSjA}2D#F0v3^qmU38?Qe3CS5d`571> z2227Q5C$?J3Tgm|Vw}NfkS@Z&P!2Jm9OR5KmENZvuMf>HUgZ#(9 zpui56H2~$m-}Vd)2JXTP415j@493>N3=GEl!VC;1AT_4(!VC=^{&KT#g2{JHPW`o=XmdJBpV6XyZPLK+4 zzx=xak1zwn90vvlqd&q73=IYh95>h)7?>K^3`9j37*07bFc@%(FfiPM*k#Q%{f8KH zsA3Q(gl>bZ2gMQNoLL}yz!7~Llu$l9OwSW%7ONL=1SzowoleJiIsu;CZopNa2B|i6 zWMHrY9p(a30ZvvI4M4{*he33M7IZUi{h`mmkpWIr3xyaMEWvhd1?et#WMHuQ3G(7r zklz^tEfrv#dWIQ}3=Fo0AjfV8N$zxHV6ZzT!oUDBtpOA>d+l3<85sWQGjJ>barZX~ zF)$dc6=q;K>&U=huuzzR;ejIqgYi^QM1WM7?G$EU`0NO}(NdU!LD-3b!R(?i1B03q z$fFLRAT%&w-~jEtV%%?B4+=tX@L7W8twC$l8RuWohiy3kMTI3e8O;YdFUpC5!RoRI z0|Q6}cvt5 zDp(i9Xf+5MY_vL<&EQlGGMWp_VFm@YGbj}>aj}7t0fXyCWd;VOFRaX<0tzBi|AiGK z!xvUi;4nB{1v&gVn8OSziXcj#gH!X$>ngC`CeK z)<9(3?|}3ygc#|%QI3IusgIQzbd)zFp8CKtZhW9{p8#Ql<7Oh5&ETSD%)r3Bnz5eQ zrPPFhfw`2Cnc*}as8J5uGs*(l{&2z+G7#|sIuPOQN_e82#1k3oNjxWJI%wkq}6nJ-~jcOSY1KFoQoJ37=AJ^FmO%3;K|Ix z=sf+dC$l`$Q@-h%GR!*CmSzkLY?B$!f;92kfjCpZ93Eb`=>;;(l8n{UyJVQ*mzROm z3Gg@t1u?Mw0;?0@wG&`qVEYZ`NHFm2fm~kJ!^ptEt-!{_1lqmK3%$Gyq?v&idU+X$ z!@>)_ybRP`=imkP&Dq$QK(3bHgWI1nq1Y&^eRPvt>X`ys0|RU?u{6@5GoaoG?9ds|VKksa zXQUOG^%Ft;NUqDBpiLIgLuWv{A7FclLDsB3Sm0Xrgpc{R7LH$ZDYw-Dj@RKJ$fHqz5f;L@nIWU1Z@RKJ& z9PB4gUIJ~p;00~E;Bo_-20wZ7ITy~8Cx3u8UGRc7U2yp^fzmGalP5tk@RKJ&r^)#6 zf;L@ng@7%BpF9cj5B%iG4e(7DTs2IfbOGIT0XlT%A7ax5S0fWYH>h6;-gLp$#4K|+Ng8(O3_oalDyUy6t;{^VK9-MxflHpT1-|KmOPTQ%(#ew`Hu}kvpiRf>jGzGI zU=U^jStHB>y4ntM6Bw60qc$f41MDzL5F36NC5Xeu3q5oOw32tap$aqn&>56tDM3L1 zKbF!4bm$B(Xh#ND9Fr;N&>3FPjtsoVQho#N$bcP72}(BbV<|x#__36$nL+!Gc|kie zxKf#XxR8#ei~;S)z)313#7$#5uwX-FFO1_GcJ4L2=>3 zHQig48NTlrw6TYQw`zKiDzqQUmB(Za+Oyv{{k$r;ANocW+7IPoX9i^xc8=+eYRu40 z8Uo-=8Uo-=8UiSrG@Q8^7{mp5?bm{~KLljvG4MKqYA*%}(2deaZpj(g`zcFqzg7wS)fSdtV{EZQ$m@z;DY~43T zkae2Qpea$%^~;P87}ppva6ne~+w(FosDm{%s#(XeusWStEZU@MO0xcYUF8vv3oVg#9+1>)y`_{CuP4wrfc1_ogkP@_a2bOt%&p%b89DtP+x1Rn!~0oWmj zAmL{Ky3(ET5J;Rc&=Bm5BOo`;abaLEoC^w;qaf~X5EtyIV<4`fD+7Ze=!zM};~;J{ zi0cV*!U+&pb2*3)cH&8p3q{-*7!1KKJOz?Aa${gHI>FAspi?&epeD0S{d-mTY@d(? zq>-Hf-sHi+(C>xX$Y$0C9p(l<_Z&QB1a4$ATY?HURFyX>9ODHrw=rp3Ks$pxFnu z=?^`br9mz0A6m@v;Inbq7l7NvEW9VCt7hVOC%?n{KbeEa?Pl3$t5+ zo3fC$FgtQvnB4{}18EDh+k!cewlKRLm?OjMJAIZ8vs68(-OKLG1UkYRT1;`QVq#`s z5I{a%k@=h%0|Up}7oZ6lNLj|QK^>$Bd||Et$_``b5saKl*5GEcBT6%wO9vFM;AS!x z_+)lPa66ehl@U~viL!7l10ACWK7)~KMGT~!9HPst><*fE;es5^4sIuNt;#^Oletz; zhqaTr)*FDBpms73_-J-WJDEpc2h_q0p1x0)Sxgc%(ZXW{s!$;9Vh9^_2IE^@W?jhq z3XeHxc1{A+9Oi+Xzz%K>^H_njL7Kxn)*v>dIm}}NVndq4JhmV5M!`r!(^GPJ=g;c_2r!gHLDVISg_# zq@m1nR0G~n<~be&+GPnobcg3u8E7}Mgx>V;`p||l&*f?GhBD8UWgM_WcX+OYtbsI? zc_2r$gHLDVx$OpTDD&LA32!L#JUR?-DDyl4-N6Jpbf?__-caVTWCGp$3~ng%AUBkG z9GL!cFfc%lXoqqj4P__?(op7c0=H5jN3`=eGu?+blzEUF$~^8&U*HX89+V^6dAyle zL8mi<8_GO>OrUfOX(;pfgUyB<(asY9mVq>sc>M)EPlx32GUG%oS$Y20xCG#~yr!Be-SE z;{awuTE;w%U=E~Z%;Uresz9dm8be#gJje&O^TdGt3~3qj#4>rpTgE(bOiu8YF;6@= zI3WkN^CU1e!4GWbNd%up83Aq?^CU5W(g~zx%##e}Kw8E;DIiWgLj|~H%#+Fl+WOtV z3)-v9lg5+@ZyEEXgDrv_*v^vy(!>C18S`Xl4p>(sl>p*7Xo6lNPLoEsAu2{2XQzgE`t{3 zM1j~m64O8$VnJ*H2IeD*3=DknJ3$6&@P7eqMV9y`%fP_@4J6MXp{T^b!2b`#X5lqe zW?>t_%QGb zFoL`*!@$=wJt`hs+-tuhClt5X2p-w0Yd!Z=6$0!So@mC+Y;!#L<%2*xBO? zbAD1-L5)fVt)}T}=FIX|lR=6>2L~`P*nr#e3wRkAbQ(dkV!Es#He-MeXgd+3F6#-< z0ZD-j!YrUz)2f?ZZ_X@Qe^iEnf$=2EX;Pz305gACmR_U8?A1`hC~%N*TI zkmv@m=nlB3-X?hl2F9geQAYhYp!TObm~+FFfdkakW1KS?)ZV=blJR8$4RJC}Ofa|w zGAoc}aXlYs(^rfk_!6Q}utqmfOEnB658)Sp`2Gm~8W4Y`1p@;kME)^|&kEv)f%Qwe zGcYiK$5R)BdibCQ2_pk5$PsD^AX8L9TW%S6z=5S!zYioNgCwN22jtT4plX=`a%gA> zKLdl2BS_tMW>7qMx-&2sy+!b|K>S4zT_E{s?hFhDULg6O%zJr2{!1`6;9y_??L32A z3B?WW7=SJ(oGxg|EM5Nrv;a<%88jX4W5&Rd0PZH-2U!b_NKIx?L~aLJ^9N+CCfFH_ z9t;eI;DvzNV7{pb1B3PqGX@UO6o}b6GX@S3AqED}#vq4EFoBw&c3un&=2<4-vyvDJ7$XbDxB_E5fHB^|7=K_45twUiU<@x9BLc=q068=q z6ylRWED&P>jIjpB*a2f4gEAOw*Mid0El>=Ay69KHDfOcu1A`qnw(o$_Sclj2h1Sd> z)9b96z3V~qB}}D^%npBf85q`>!}`jOppGX93w&?_9jXPwf_jWjpe3ImENIEda20e& z8$&bbV0g$3%Nc0r?+3K=w=@v7^T&kQ`KxC@?(#ADf=(Pl?(#ADgU$%T=OHf*^0=HV=E%REwc_|>~tGjaBnNtmKlD2DQG7#4dmPvGNEp@%$)vT!Z~t<(eez&Ka#;c3gO0`n&s9Koa}^Laq)!H6L*^Gj1Oc8`3%B_S+Axk--O`atDGqpw5{*69dB^W(Ec>&@npj15mkRtw5bU zPz#wm4#b3X&Y;IafzQq7PILer3nc+w{AT6=>zr|y)_`<^I%nKvASR@920IxFesq3^ z1AOrtXypp%0MvsH@WpQ+-$5oVxDSI|2V z3BBo}j?lgs_vLob^;qCZ3+^k^*?#&M z(4+;o0~3hD!3RAl3dG^zLp~{r4|-D61<-X_e4t4S*hx`*(37G-rx}^>p_~-O2U^p@ z?alO!lYzm8ZzE_ap&t_{5j*f9pA^Lhs_?i2z%m|u(37J6a56CX@PQ^RU?)ZKK~IVT z`6q-AdQ#Ln(2?)3lcGQ=0ooViR%g%30l0XrIs z5BX>)KIqX*< zoyHUex*v-V`DiFU=+RIh6PEBnkA?zq*6=}(h5~W6@IjA;0&({6L63$4agOkTCL*|D zr{8n(vNJGvaZY!2g?6{NOPTsWS7z~5O>c9BcDK0mm@Gl#7>(0Ux`Mk~&s>>3>Y)qb zKuI5bWfnIF^99g)XUNDJk5xJs1A_qg{3zU06ON!|p%T2>jG*%1~){8)0=@o z1Khr!#|XL@m1$yv2Dp7cpYaAa0|QgQ#2C#ZAmt0e2K9O~Fld6?^AP@35Fgy0hwyoP z7#K8ngVZkut9J(RS0VTle5P-AXV$K_w`5>oGy@OtgT{y%=LqpIFzC()HDApbL2SkV z%`G5p7GPtJgPIY-ETC}K+X8BDmw@8uhdBes2XF&x3l9T>K3I1NNHeo91A_s$y;TO< zW@8TGf*l3s=K32c;>Vo-3J*H-lVkmB*qNV@yHX*IK`#C0pk`F? z^m-rYfIQ?5R7m3w!Uher+@j+yZQVd;w z;^7Z($#GdSUBq?q=??g)I+p_zhyxi_hjJjJ>Ria9>RirDpnGpbur5DY4$^mmg7oQgNLANzS<%X#84+*I^%MKpb+!Cuo?4K>~CQDz6)e%_0H129?(n#O9EI9PtTa^GJZMLFM%a zu>~MYQi4Ei5ed*zXI}95Ip~B>VFm`?$VAXxq02&;`Rc*9p9+AF`V;^k^(jy##=yYL zzzjL+^CUL|gCzL&Q{MXNJPZsHpwlFI8$nD43DE7Qyv-oDvPgh#Kjm!=;|AT60XjjF zxBWfns80#d<)^%zpaMrl0(AK)Z#Sslsv!Zo{FJwM9r&nE3D7BDy!{{v0}0UWr@RwE zY!eC4?WeqxK^3os1nBlt-l?GGm5s!j>6xL-`ivRVXNEG%)$g+g?Hd63l|kZ`1Oo$~ zGl(82EBPYypXR zAa)^$Eh1qC(p(B+OE56YfH)PpybKKDDtxt|fmVn`^&okuMNJ?!)S^}pn*(A`2Z+rB zF}nxEt`~q9J^{oLkq~qOod*hHOGrpMGBEH>2eD-&7TYi|@XZ3T6&RQ~tr!^i=1c`S zK!9(NA0Gn)MBfsSJOf1EauAzE;-nn|1K%nTn*(CTS`eFuf!P2Q?CVAO>cPI)at>t3 zT2}@JzHJ}{3=&U3cI*VPStJ&K#P@*M91^=h`u2m^JQ9&0HHScK0SP^j1Hmg)L?ndl z85sD$3s58^#B3QD_)de=$VjZUWMJSs2VyHQFmD98>_Q}H>|b1f@0t)l1B1kNkm4I4 z1q>3uL5gpI*env#E({EO;2}>A2{mU12EKbBaUKTdBOpZ&Zt^iOh>P$&O#+$m5#+$< zAbAD}S&*Y%g4iq)7eS7F4PtXhxPZ)f3u5!cOFRH+cn{(TFfcQMbbJJz3MVeY_iYo% zKu!$?2EOkgc?O9{P}Khfu~{TGfW&`;*c=jRpfvOs#O9G$0%HFMu>~0Tgr`r8V3t(y z1ue@G5CU~e1U^bJFfa-9NHQ=m3s`{;^=IIlG5u5ovs}Hj6axdJfC*UMSBimwMIcRz zfq_F{tvIOP#m5Rt`BIF3KpVCk_~aRT1sE83K{=XF5zL03Z=%Gg#0#3t1|LPM4Bo#Z z!wWhSl~09nvH$}E^t@O#Mo@OQfgBjC&iI|5VS0KbvsC?7kS!XFrULL0On#@U0)!T^ z@w=}FEye|PAo&r~Tl~Hto$3ts3=E8XqKqbj3=A5~)?g0E@fsi}GV+On!b;;ds3*rK z3eH5D;8j)vU)_fyh=8@bT7f0N+P^u2_L7N!*>h~+Y;9!_`!iUa zLF>B<0|VnF5ylO0lP*C_S^=`+lE`wq5Wpr+P?jI97GgBS~C zgN>~Oi$jd9hOoiL)_~azTA=M=jD8}F%izZPL5&5O>IYV(0X7N3);0tAI{+-M4K^vT z9?W6TN(AXp6Jh)VH%bl3C^fJuhy$T)u(9f3afq>+5H{FYEijuwO9y1?Z(&9^VOUD| zEewuIaA^J(J_NeS65>J-hk*fN)L&sxyh2>~56ouJ;RMCy8Srkj6mZ{tw=e^PE;xqH zfX!qK&;y%#2CRX{kAXoC98VCw1&9xJ^I5QbkskwtzL^6n2e z5fC37><(bQdH@51KG+&ZFuy)7fPujflv50>7{J$|FvbbziZC!3r3x}IObuXQFajOe zyamMY6=Yzz3}QG6g7(-kFc`!1m=p>!Fo*<#iVZ_h3}#qCCvcmELHpB;6onZW>;f4W zj6{VQ7y>~IPGJUylt2asbz_)X6J22jhVnoL1`|tR28L;1!%RU5wgcp_=?h|+W$Gn3 z85m4@g%}tPfYi+tVqmxrR>vUBvRDAL_7PNq8W@4{CWG(}OV|yJ>7uZxVt_`KZYM+y zNQN;`Ulo+0n7{$T83YR;W-#9s#J>rOd=_DFVUZF9US$cY@C_nB`nC!ASTbgh1)58DugzDt3bT`#^lKO}oJSyC92ndO(Fvme3w+296xi z`cB3<#$qtvWTDuRgldfx*BYROl!Oy|7^5fTZnd za4Qs$t*B>IK(Rv!Y{n0enP7h?gZaiG3=H~UJ5<2@pb!QI2A#*C0Dmv|!HR)n1~{m0 z!tHo32o0)7pzQiy5G2DGsDB9*=pO|^LA4HKgfL4zsHQPc0)@x}K~Q1?oyyHPM_!zP zK@U{pFg_3jtxdfNasW7wJQ4)ukzXMU3>F~eA3@ck!F5n>xrC%Y9Ykmd>Hwgv?4X{IV!73SS=79n?87!F$mrRCA%7E&Z`be;B z16(!|Dtif(8T`SLbK#QyP|5kAsC5NP?t)9YLL_a2L1AGHmShCE5#l6kh^$>G$W|#q zP~?Fm>KPcNpfYu!h~N?Al7#t!2P#nts{H;5fC3z(g@N&(04O0a*qsI0^g+M|uHyq# zf(sO=j|D&x4AJozDp3Urt*Ziga2=diAu{$_(|wbeCDXvcR|gh58_K|-3vOi834oF< zW1v2GG`0cE`x(l>z+m45azTWEAvY*RFff323p38)lwx3jlrutEJ*sZW(;Kh z%oxbPVBY|WG*PgLAO}Gb)H1k!xHILS6@drtKgq(pmd+1~gQ+01-hfg=IzLG6Ajl|ig_X$<3bW=21_lRE(+lLB4V(-N zjKBHSq!}2DrVBD8G3Z7zFc@_UGB7wrGBB8fq)iqJGBAWjf>b+zY6}qK1W4OS{ydPj zM$lzhAYG+G3=ES%j7%X0hNU3wAZ6g%WJe?eg9)fMxgI&)J%w3TmN5!yjaU=|gE7cR z(9#{SRhm)L8&jBN^*umJKviQphykh^+dvFZ)wl(w33QS(xN1BeHT^6|(?^gJkS2j> z1_mRLCVdbCq$xHUY7<;jLG*OVRA$-CSs*2#igPW90jf9;z|?}aK7;Gc%hAw!^HVg) zwT7?&1UZ{=FaI$aNB}a(#6Ue}7z4Eqqyp?Qmze4EQ<-J;lR-*A)|G)6AnQ6|YT?$+ ziGfY!4l#DaD6jP4wew#@qrTJ^;iZ5U3pMl z@Qx28#~7#w&bsgTK*^9fj)B2hdAfW$vw}^29JCeG3}S#{Z90eninY~oP)CDGR&Z4B z1KmUhYKnk*hxS?1tJ9e!J;7zfNwBpq;usiokATXjlVFP&0~u^$Kz)%$uzUZ>!OF5m zuyPF&` z{^LE(!@y7j;u}KvAoZK$85qEoQ+}T~FxSa}HLOX1xlRtO;S`7uHUPqZ0pf#QCl7X=d?Evb z9@usAVD({%xLo(ae!4;?vxFnqb<=o2K~V1ZvbL!7GhusN`^+U9s>h| z$zve~hSX#R29x(f3=I9r)30YT2h>khXJBA7;sK>M4I9|;{SOpj>CFi2yd%jB40>Sa z8S#J`gO5ObaEdbmJI^nLfx#uthJgdrzFV#cij4rK0tN<`9vcP@P`h$BlGr*M298`& z28Qz>F-b++?aE%Q1fz$VAF-z8i!{`z>D2#Tcz#MUj+f12(;Rc8gcElxa zP#DRkGB7xRx^tjB`vO#qe&ViHVqh@3F2ukvB^4S-t3eD#qIz!1b>2yh=Cyo!~mVJ)eK^QPK26~ z1`T$Q9usFF28K0h3=AgzLJSNK)26S?W|p-OOJ`s(x+=)P0J_J<=%gS6g9}JxuOI_M zWI9wgXqMLGtsnzKZaM>l$xlHBhPCO_|7A1FFqTZ0&S92>B=25u;5RHK{T%7)gUVV3`aIMxZ(W zsUQZkAOpk7Oa=yXkTMg{p_qF>tK1k2A=;;>z;BX?X%-fVBL`ga!s^a2l+Q zCu{n=JZ4!ng)FG?UW~KG_TmdcQ%lG@R{0 zIzfRJ3}S$cNY7zlFb63EYp=?g&Rf7NtJVjS2B}*FVt~|bgINWNL9p7soaq4|wI@MJ zKx*%T7$CJDG1Ri;PM=)B99MrD6kv?-0E48QAWc|+F@gh3A{Q25jNkxs$wl%}2FOQT zTs<049~I<60|m?g+1`@Nz+eti26pB2Tu@X&Q;r4nLL@=1^DzCZVfy!j7$E(ZbD@C> zPe#vkr>`hvmR0)=QUdZRm;qADpNFniIdA&wLS{)_^E{}#yg>|*+IW~+crq%^1G$aC ze#dmfB4$ZJa8|p>3Ce2id7u{d^yngH)%wjK13I5bY@ z!xF?&PEb+uCLhVKpwML8#VMc-^($|E0W{=!K@5=fiUm;5g4BXjg(>K^6hv_p07_K5 zIlWg?0tEVRvF^f)LSHjF){|Ic4 zAOpiU5CdclS0U7g@aP1oLCQ83ARkWPbku={l3XD)kcnZfwX}aXXSxdAgh~TR)f@m^@9{KFfiCffx46#oU?RbO}z}TpBU^;fO@)7oSWei zQ4k6H2cQO?Jv>Z64K~I(@8Dr#4^}o!tPt8-0)-Z&qsPEtpFI6+DYK+6I1@eM0A->r zg$&S^$RmzsT?U31g|IQhCmf(;Bv=F)n`B^o3g)|m_}~GaXJGzi=hDxW`F|By%-u-@YEPp zJpFzdvt)Q4Ol=d00a7~+L+#39P~KEMiojS!I(UKZUwWXI5;A8!A>q|HCV+H-e6|F{0BPTWq5U+( zWp;U>s#2O`l0g70`$&V`$6%Ka>eldbtOi{s2X;6wM8bXzsJr!v9hOib+2@%7EKPi3 z2jzlj+|m>@sF(t`4b+ih zoCCVR4Kn7H0@h|$0kbUyY+FbL1H*KK8fHm-P;jV%9P9-*0&)vvzA-E~yue13f^D9z zQp2oiEC`B5Gqw)U-EQE-U6xj<_`4+CS7fE3+M4|oR>1S%0CFQ|x&H~Fng~v!1SdCyMG)58)7#M7V zH5eEey}$(YxasGaKt5)!hPm@R6R22FtcC_2vO6=U z+c&@(*S%nEzSW?NJ3X_3S=Mqns4UHe+Y?`Y+Bbo! zw-=1i(4D@zk(mdQ&tEWt!j-9J`jJLvJ)LPF8#cp~F@SEKV4MS58V)JXHiH$L)quvt z!luhL!6pgX!Q$aHpl&VbF2;67P*gXA_~58+X9UIck{als8fZk0!Ttisn?-QDK%*gy zbM{%nLa_*J=25U+R@3J;!I~FwVDV>Q@&BOG#vN`1r1%xFf*IisR?1!ra&8YusR3Lm zq?ombD>VQs)c`5An+}RzMaBp#ST(E&mSm7ocLvD_Gcp#zrGz0;?)#<(HZx1Og5&WA zC`3JLp(zt&2P_)glR=uPj#v1`rldW%Qct%)kJ`0xFCQ zo!}KRp!5qp{V~WBvc}y3)I?%nV0e*%ca3{J;$#|f7r9fk#$6G#g%LEg#*B6{4GZjK zn$bn>!LA_;j0~fT+(D;kKu(?ELOOMZ3+dDuE~HauxR6er;X*xiMwiPAw3=N4G$cH_ z$Q=}{urn4%7rFC-wkvXlf|q}X@Pf80jxKTspSl7$EQSmDuo$jHrqM<245N$O8FWVQ zB6l^&R#rX^#zVXe3<89fGJ}@z^D%-Jr?Y|7gLO|2n8eIQ0H?)>1he;B~)+xfv~ z|FD49xATL~{^5{N^JHLvtZe3CU|#6Xz`*a<1~Nm2KSCX}O1xWxfq@@yK^haNU6fLNz3 z;M)Sasj$FnXAD`0o3^e%`Py`Q5Ile&;<7#R}F@Q!Y8Rukz6oXe2wy}X$6DHR&FzA9ccYrmw)G;uCx=;*FAocq7pk4%H1sjNG z09IB3R>q(Y>QXRfvCS4>V1P(uK_s+OK_e%o;IXV@wy+E1uYs%u>o)}}n_kDjpt&A2 zzG2D+lG_1sGbm29SE(^DFfxG+sH(Sxt#VZrg!z&QY{Jbt1_ljwkO|CeAUVcB-E@#= zS;4_23|dSo%mPYG+Q&iN-fQ6DC{Un5Mgz;>#$96t1)6391A``LLjvP9@ZeN3h`+~O zfPn!j(BHtoz@R;M`iH5^l15;kECg%Z4N?f!xDc%ID~P|xoq>T7!dGkr>64glJ&jp1 z3#_jItk1U*W?=zXUpt5o)(7El2J2%38Keq#dlYz}B1s4q6slmO?t`>~Cm~e9M*VGM zV3^)NomrCAfPq1qbNZcWupvw~uzI;B1_lkVdN$VS2D6yOr!Sb!%oBA56nrniLtdbZ zsvxoYk_8kx24K}MAwyo;W*|ph04oFqD5M*0EDUqh1+W$yxFr`@5SG->1Et^wu-+J9 zSkh?#>o5SX)M$WMVr&UgCRS=`fY)NGj7IDz&$Pyvz+&2@2ODaAZ#xfrTqKSW8qB1A`{m z`P^V_6-^8bh9KojL5EvGhS#<8rwh(xmb3*Yx0OsFA1{GxTL~VCIt1c_!)_%LDC{19 z_~7tc2|nZ4u6cU;OlG_2d{B6#!H1hb*_3fkn<&gpX<)-AHpASM1~z43+UZ)en3Wk1PWPJy8?NO8%c``%?BD~N>C^&EnLl=>S`8LWnJzb*S;GAlD4yEkiXjDxnK;a{cCh04Aoqd;7%~uc8pH<& zFk~R?d&~6N*~~_a4AVEvhK;x9f^|x?f~{eC)P0g1T3-AJ^r68F{tqcs7ozwm2GFR1u#<)P3w~NsRwEqc&`KGei zfR^2ZFke554W|nO0|@g?V6g#hD*$1>i7X89a-bVeIze}ILe6zq?*|$4G63D1%)r2~ zu>kLw7i%y_Jp*M2JCHi&1)j`8I^02-4RqiI^1Ua=k?uVKwHG)#r{CMa1UlW}-v%b| zB`5M5nc$~8Tms#B!OJenz`$0|2;#s`cK~s~r#qx?WP+dW01^bB?yz`1b3%QJ2m=G# zS|*U71Os0T$dGkRD-b6vu&*)%9kzvWC^Gw6aV7?|aVQR@0PtZ8VJL?!a3T&{-~=Ci z3_kgo3wrV~=-{n6pwqTMr!8=O91`oMM=XM! zw7^}u0Hh6c(gJrGhzU7qfgAm#g|&;I2OM)F9dOKzbigt9?rIhW1_24kjgp|@BiNx@ zpu1~fhicivk6z$D4mwB+auW#mscz_@T2_nUhia`xI#g>n(xF-)YhZ_JfvkayQgPpo zMmkjM9nzs%H;@k1I?Kes5F=qR{nTRkQ4HLcOxm!c7`TxSIOcX>5`rJa0OdfAVt{fW zM=@|CAH~4!%=86xs22Dr25#g7j=9~LIN?VzaHAZ>!0pW>1wV>`+m8v9S|LXqg31#OqY-k)dHmp=ur&ZwzW(Oh@%*|8<`9d zM=@}>F@erpc)+9xyR#~F*ouM7Iz|(1pJ%^?j$Bq zvVok_z?}@{K+b94P62UX=N)sWGUb5|-~yj_%$>$m2ReX@HxYCs_Cnj zLyvCY&SQ!N9dXh){oQi#(GA=yphq`wvonLT2|LI1gcXF&JLa)Z<$`Z*=5YnxE+c^D zEQe`apmPLx9VECJ7$hKPIe=;~*jWxBHtZ}15F2)u1Bk5wJIn#ZfgR=mV#5w|0I@-b zIZT&d$t+Ij3XwlOehhS)K1NXaoUXy$<#^$ZM} zbzl|)gXSU_V-t+=#EyYO4W#-XjKOCQ6)}P_oS+N_VU{Jl3=CSlehdtZNu1qW3=E9h zL3hA{os`50a*_`Cbbu62ZO{y`R;@RKE(2o#MCnzy(g3hh1})IRa*T=)+5ceK>2KFC zOVsoFfQ}&m6)_CpdsOGxgGRu>!%TdfpjbKq@;KO50kBaoK^_P7v_QM|7}Rco0`4dH zd|ZhBdbs|d93cIF;QD`afLtxx&cL7v(ticCXT4r66Xbx)U;{M3eT)5Y11^INFlc9B z&;UE&D%gNPm;rA=2B>*~;%F_B{{L|OYr*t zUVwo?9UKC4zy{2K8!!)Sz)qL}Y#<-2eFJ%*2dp15o{}QKz@Q6ua1U5LV*rER98f&g zaWK{ifW~z|PObyX)iY=nfkH5r102O?;L@>RX>HK>EMqJOD8*@C0-b~$%K>V$Yxja2 z4Ha*L7ywekpe6<4Sb<#w+NjSs$4?OE8!NDH&VYRLz>|T2(T3wVX#C+VNC50yTZo+< z3=H}pKY$_$v__cGg~LFQfx)0qfPulTW4h6LW~KU0kbm^S)__*sGtTLQTcZ!QCa?n* zYldJ`i#njuE)Nd0i=aRg2J46P*w4ZB3xoAfh3gju>)!^`ZvoO@uNDR}fE{cA!~uLl zFn_Xx4LAumfD>%ME0_U+AOqBXfa2g4_~uN|RvgATesKM-*g@%*w-e@pH|(Hv>)r|V zK$Zw-oYnXl$bdWS;7|v3(!goA5@ZNCEbo9d6@pr`#t)}AY+#l&0*jvoi%$X>UIJQ> zbslWOW)MFKWFmxr39L_N`soeKlCfZYQ^5K@g4BUap=n@!+Fc9`48}7+8VlJ$DF_s2 zkYzts!VC=RV6BBBmaGShTZ6@U zyFpg11tl*9xK)s#1C<02s}#UW-9buCzJk)&Pc~3C*9M#OlMNJ(3?{QcQTK`slzkx* zub>h~K|1cRfwC1uqW%t4#s*~VIW|z*fykVLN?3u++Rp|`6cCC1PzfVYm~3DJMK(lY z15`pBlyercfnpINu@EY;6QpAjTeAo(hfZRv2Rqo*7^FoQJQVK$t{m2j!opS_Gpadb@!@!_15oDeinC}ka?*%zk9L%o<@%cgW5@7yJ5FeZ;CBgi=Jq!%` zSNRyGGi_!T6*22&U@!wkEGR>pf8t|c@a&zgy_vbIz7b^PO;%XMM}X7d8@S_cvVz=S z-wRE+MxeR}WDY347_9R_S$GCqGh{)!rWnj;Gr*enVQ2=$Cxh_`kY}fxY+)9a1;?!% zSoPmt1_q7SpjcF31%-oV-}JOC%v$xIK>_%Y1?Eo3;RO5OR()gvxih{G>P|b*c3$Hh zAU((7dLTF zaMhswv5a$8iNgXQ7_4|_9|MC1IBG&!Kwi4uH$7)7vow=v|MbqS%<7C@(>HEqmP`X1 zuMgIt(GQI-P;FuZ&aAd9p!N&X#2N+$>4y$H%3x^SaFhkP^6*#rZ6yQ zfDgpI0hSM%GTnFwvkhbL^nx8Qo0`Ek?Vkd3Vl&t#)2T3QVPsW6+`!19dKra#-koMiG1lmShcqNQP_l?m87276ABgentbDO^SsB4a#vdd*H| z$qaBjvx3F)rZF&Bf=UD@(1`@l6F`imKtX?$5f+PO;9Mjx1B=C@jGz!)G>w5l-BOf+ zf$=CK=+@_JApQ|hjylQ+3NfbX)Bo;d)-X>6Ij0eB7-VLo4sKW@*f8zs3=HbApv2P% z)*L^5ddx0n4RsBWW*4|-$Z-8xxMmly=8oypSMOrha0moVJ~D$9d)YH^Kvo9J$ike> z3|72nIs=1Yl05?lDB!q3d;KB4wydz9F1(vrP4>fd1_lGr)F|H!1_p!80t^f~AjW}Hm%XPOBuC^8rr7|d^i&ZC$KjSo4GPi<)^Q|z|6aS+aBg0Oxw5bXO=dpehU=xxN5wB~--{xC%cu296A{ z2{9n*3L66lKga|&Wu_@i4k`|6CMxr9u`_UpaDdzp1EO>|u&4nEIziNcC^sZEl5m66 zI2kyMI6(#lfhfD_2U%D|>g_lgIK0530U#=Y6K*^gT&EZp1BVnBSSN^*;exB-fU5xs z%0bkCCjf;V!9_n9&Wgt-vh$0ZBg)j)A1|(>}#lXSFP{dHcATuAt zHUsMk1W_(XQXsYmm|wwA$RIZ##LfUK4PVE_z!7kOi-ALcp~ME_k!l7|s4L9}i5>&n zT*M&6^}k+BL|226K}>i)NbnjL1BWg{0g@&qg#PLKSXsoPKuVs0O)dtTSYiS(UuHf? z^c&dZ0#uWYxEVMcxEVME84AE!Ca$Q5=>Z8xa5Hd7GZZjPH;`kIGzRg~xIr-zP{Pf? z(ZJ2XA<0l;2hjla1k6oJ^Fh)r(`(sS6qH)H893U&8iPU91a1Znb-2bN2Bm6-=?B?Z zr0QpIGjPn~X5f%vn7E;yt$;z!P7M??6Svf})xbD1^Fb;WaWim;GZZsmRREG)#m&GW z1XoZ5RVXtbB)$%Z=6V$eHJSM!*+T>!0a9^|n}I`_q2vGqBm_Wimc!~GkirOX<_-o? zQ9PhTRLoGwATuAtPJl=y=<_geWblBJc`<4%fl34=UhIJuUBkz~(ZUBZv5=vNL2f>X zJ&z9*OW`1D86N`&FGB@G0fUmAS`CA}n$rALd<+~Lz$yYk)HXhlm4&EQUgKlnxHo+T zJBvK)Jw67GC)3Zcv&gVM;bY+VHvKI-i=zEEJ_Zgxevr-@RGn}588{dOK6F(YTyKEBPPheAq6hwBf;P?WL zv`7U(296kTm_?Qe!h!dACwKE z8Mr{|4d;VskgFLP!mjZ$aNL7f9>K@J0SZr0TLDCas%6G{2AE42TKE|_`oRGV>e_;*)vkOZjV1S;5t48%mVA;KUb zP|9Uw2oT|7-~hFtKzW;sfdkZbsYg={63YRX3IR$y3>;eEG!+P<40ymXyrmw*XyO4y zWhH~q#4YtxnBZ-aEj$byphU;W5YWKOzyV5Wj0^#wlsy5Q#o(z}j+21{1;_tDp*g299P(HU$-lPxwI%`2q&{`5@Laeg+O!h5`n8`S~RR3>*i* zB_n8{2IMt{dQb}x;*CI%H~xV=7XzX|K4NB=*i#SkQwZ2kF(3-+rye9ffpa>_L4@uuDMEY6cFLKoDia!@$AE zP{<%u$pBAEATc{01`Z{La)x4X)3A8D_g`j7QIH_05u*lfqrs%=nOLOi=YzzTLCoC& zPac6F$NGQ+JFp2Jrtmtpfs27-3OFPpLDVHMGZ@sA{QzNtf@{043QwZ1MJ&iuumBn7(k|e0viM^1c9g};4UO6<-t5!pTWz(Q2+@O z5LLko$`HkM^FitG5ZG7nOu37VfkOdY-o=2b<}+YsFo-$_F5OG6F@PAL+6UC#G0>Es z52|-SWgsI%%n}X;4p1`$CIxDML~+)GtmFJYKZ=uqBM)4S27)M1c4lTMxy}G9Z@?T_ zv@EiLF@PAL@MmH$nh&D0xEVN@ z>KP2@gTfmW$e>yl7Q`SnEP$C94Cli_7^E2%zDx|p^FifO4z0uL+{kSMin^ zdVvjUP@`mVkbu&BSU$JLssWMrEtpv3G(mYkfQNy@9;;$d{|Bi&P^bqf4FmUQ&^i|& zK~TqMJ-DqeRL%gaRVtAS6>zBoG8EDa2C<;Vqsde3S5>2fGAK636}$L3LtW@%=e6&f#U@?B#{&_$jt|_ zzkoA-0Ept@0d3AGV6amwWN=V1(B=3qRm`Ad2=3m>%;({8XW&Qz8yE!Y&Vg!BHikk5 zkU=0es1L`;0MEQ^@Wvpx1F{IxU;t4|rdxBeB*=g=R}(nf1aIJF;Mf64)FA2*?{phZ zmiT%r0R|2qa2q}t*71U-FHk3nkpbR@2N?ybte6=%bmuz>FmS|yQ!j@uB+W4}Fo0CF zfX6zDz&%EAiq4WpC6edt77o^Wm01`MLzF$4mAS5-gfCL!_($2^b2+{_!j*$Ug z8iQn^J_E@@y#Uh-(g!L_m>D>X=2r+XaLj@@)(GxckcvJohI$S*hGGU#H1|QPA5MnS zD@;?EKtdpmEnwF|lz`YEgOHSr-3r^r=;Ftm_qYy)vlduVbRDlXHMh4LN-w^wM z@G@}x0jCR?7z08GUUz2kK{|lU3?&+Hi$Sf9V|<`8jAIKn!3GRLPzemO7KFjNML`W0 zhKZnqmqB6-m-rbtZt!ovz{6t5UcZBxf#VJ{sH+(OqCPQ$>Q&^iQjmg2U=rri+<@V+vSR0Ek*J-9VH@lxGH5BoIU`m>wv~qRI(!2s>z$dHRJa7P099IxGg$ z1r%90rf(=`k(@rEjYV|2fhr64bOl`&&glyjS-7Te5M$w-KB0s~c)EZR3*U4H9TrLa zI<{{RV~J;)t}DsXS)V1sz%fe%6mM}dVhkK=VqhlB9|a-|9QVMoF(6qhuq?bqS|Y;0 zaRDqFfRKe3cxs{y94?|D;{rjHnH9LY*L^@y%+tz^%X(&d4Sahd5JM__&}I2ZF-^%9C=`E!62#ttgRTTEeNbOI7EzrBMicXYO81X zC(OXXBErDI!BE4%p&(_TIUmI15n*!}GPgt+IOIh^#?>)!F|Z&@-4oG<$<=@cAduxAh%j)-fVCAca4`r-8E8%y^kmVT zK0gE$+tMt2^&7+)IBto90yqFfF-U*{7@XxK7&zD@z!D%z1R()+ElB4Uu+Bgb1yg{? ziy#HhzzTvu6wK(L`5+d^Oh$&FdJqlMipUNitsv(xGLY&jkW;>aEe!-&12P(^5&_AA z%#~v(0M%GR+|%dCu!ysPRI*7-pD4qkH2t;=i#I^b4{qI;u&{nL!{5q6t20v_gu3;|y3f97J7` z0!487cX(~0!T?ht!cY!wD{+;x$#68waqg8?e#SH(tZDieITodQ6-fpTJ+MnH=7VS} zNs#kGK$Mdts8%RpgcoSv#27gKfOAO*h++^2%h%5bF%-Z72d{lTDKK#SQh+qTeB4wN z=Yu#biXgLtK@^uFC~%5crcae;vF8eLX5dho0vbb|&gjS@GTp$3g=4yaIt$NqUj-Jv z=^_d&VL@lK88|L$gA51&Q4he(5D@i28{~a(`i6$;HEjkCkPIV30El`6Rtpb3kSs`O zx?moQ91AN0v&-~*3M{cIHrfmvE?}hrAgTq-gzHMsX5c8&-X5>WlFC^BMVo;mN(by1 z5EZ8ba{-9;0U`l)3j;{48CWO~M1fR*(p}(u5UUR&0iy0f4GEkNVnGan*Fqpef^>$IALMzceg=>M=b#4M(_`Rxqz4+XFJrJ(DP~Xv zO&luD2N`Cj53vJe8pH_1{4dCeeNZDnG{g;oAZ-vg1me=g12q*yi-6r24ASKT6$WXm zN4E_W=?st%15s>XW(bH<1TzCbQ~;P60-`{njntBWX$LjXK$=vb5doq>${88LKom$9 zNC^YD-O9kgV4=&vVFxi47IdI!HGsqnh%x~)LqL>0m>B?~K!Jm3g)+eOfXoJ|bb^K( zh=wSIXQmK6297kndX(q}1;!$9Km~xP6JTZ#h&lyk27st5U?zN$0HkLXSSS!g?a_zi z!@&6<7DO#P3xU*bfrdVa-leYuvOfT%^cYkeM1yPur6Lf0WqY3%%S4X)3Ihg?Dg&@` z5Y=Y@D)|Z+=Ytqa3?P;wDiVCEXJDxAFks;5F#sh&dw59;6JuuJ{6C+8Vfq(K7Q^Wa zlv%{<6ATzQG9WGiQ6Q^8r3u1vGzCQ%_WjUj;IM(10HQ$ZQB43TZ~-d_0#Psp;F=tg zWI!s|z)nWw6cAqtq6?OY5JK=s00~KfRfT{kIdDK0*T6k4V!*%wF$JDhKwKS&7SI$A z*l>^-$nlH}0U#<2!;_%6zX47d0U!$GU{p_{Dfk3UIf!t)rO&|eNFP#zasB@xHUEP? z1IH(Au$k~470eXSFtNGRe3(^ipk})H^hQw@ZAgPVK#4^%Z<`SV$1WpKA_@di`-~vz z2GPD)W5mF*4x#`=ZGtNRv9>@YKorOzkZ%w=7Z@>ctN<$r08t==rZ=XsNK8*KV|iPD z!hnI}4m7$zG)OfgVy+5V`k4U(hlwG`jS(Q~k0EFX+^~#6Wj=_>VFcmUtIP*63&1u; zfT%L441>yi5VOJvG(1qs0Mb}dZ^Xa>vXYenY!EmC85kIlt$k&{!0`oaZ3xIn5?#~3kiBte)dMhqMo5N4JU14j;o39$_ncJT5^&5(h^ zsUGaG04GBR4nHsxKD&(U7LeOO_@5~Q2ZI^Nc7ypKTF4A!Vz7l71BVZU2~q{ZAeB;3 zl^|Ndi~+nz!co;wY9fOYhl&iiNj1OT2&xxUFoQILFi5i=R5M8449W)4AiEeD0zeeV zN_1^vP^BPR1?;3CkO?5=j0`~_3RRZ^0|UBkR!}2Aw2#^J7nUpy^&m}YVB-Qn)Fv=9 z6hs{ZGXp@>889;xMBM{313=Uob5Iz;OAL@nNnqJP5Ct-Vks%C3fs9~e2n10OJ@5%z zpL#O}jx4CNU`jzg2U#U!4v7yCtpK(w07O}Unc*PH1F8Z<`+$W5KvWr+3AzUg6y^*E zj2Jl1fD=mqh>N5j3I#qqCqZVWC#N}B>^f7qCt*eWC#OMAV+|7UaL1|;CKOc zSl9=UA51_F3llS8;BbL3eM}fQ5+KYuCJY>lz|4pvCJY=mAj~f&3><7=SBEK?GH|$n znGs2*3>*+&hJz@O*BBW>LDUwof^eu0y*QAT<$>&}F@g94L~jDy5DucYL4`py#0q%y z%9t>4SeP(yOlOQ`5t%+gjD>glgcKIe=>ox^@tR-|*OrBQ`fpJd?(Gw7SyY(nf0#3H zXjp)J8UUh-z|2q()d*$=fGE%ngh+0K=>dfrNM(x!#GN2|8dz7v2@3`eh%R{g2I?dv7W_>frG;e910+6ofRw{ z!cDhg;7|iA2n10YPz8bWK`aZ11c>s0OMqB@5D5^K0+#@>vLF&53UrNTJt*G=&Id84 zL1aJ_%oT`A7UWDWD@b62XpmDF8G=A=Fahfe0#R;Y6~!DN7x+MgK~xA-7-WA1L>Oe@ z3@h+VC%nP{*#R;a6#5{8!@$}M=7VUERz`*(5Cw7^NC|oXfy6-Cyr9}ZG)O%oLjZ_E z*9N+&)WWJBqQmLI^&zh!BF?0TKcQI4Ed9G{g{O zbL%-kDFGx8q6@%I2yC)q;D9KFw_PV$F>ruV21q4{28AY4V1cAT(Fu|U(F?!^1ud~+ z;DD%v+X=dZ^@JrTSPkZ%uwQY590i?1m%Vx5cLPFus{YDj3CWN zz+wjTK{P1EAO$H%`WRFiL^FV00gp1!rK~YfX%L-c$-q$$n)v1Hmzodatby1JqSk@c zA#4WejR1=o%m>jRtB`C4Nk>7YLG%o;Ng*I=0oZ>f4BY?UOU(yy7FmMERZAI6R7w~W z>*s^G%Pc`7p@kxBV6pii?k0!{FrR~Ndp%rtKpZ(6aHxSO1sjmM0?-9? zVC^8iC!l&kH0VY$nA<^p8j$=cs62?~0virhMLLjaR!~n46paYUE7&v}F3qlb6&w>HG@)#8C^&pN7*snn#$_^Ze2)Bbu$}dp8 zAQ}|VFt(OO`WLO_%eJly|D%?EKzEJ4oXePaxZ$n*du79G$Kk|wCm;|8%5L6Z$=ENrsi zQ9i!u2RvAIg@W$xJPS^(0U+uPm>B}1-hr6`APVFjq@DpnPasSWq%a3*1F4;^SkEE~ z>NzV;-%!jVKK*a??MwvxrPT5YECkeV0B9_x1zfERG_Yplbx?gJV7bMC|}GLqOCnFf#x| zfwIta$3_-oP+009Oq-So8fDC3;hz4$7cyJLJ$p5(3mH`AgP0&iNGZ+6mVv_$ z?2aH11v)JZ)d-LR7h8}KCLkj~Opqdw5z}1@STrEc0cDkX(D{ZOc3|&;C@wqn_6|tF z1F&U*APS}cksPXQ88{Ar6$F5&L$)vzK&&GW2@nM`2;@w}utt?FLp?{6EvR%fm=B_R zY(ayfg*Aqn-L76rr3hYj3S0&2F3Xx_AH1Lh?;{W1!6CPNP(y& zNKzp7Du@(_GFXEo2V$>-$bqO$whSCx48;uG|MyE3F(}Rl@wZGbD`K&b+hWVWu?wOS zM1g$D%usZM0mL|F3mQ;XM4#t$C}Bw^LTtN33Ck5GVNi6%fGr3BQDvZ{=Ge&MKE1w< zg%1*a3T-T6pxmK2{XqZ=-*kmQ7LMr+$}F1GN?D9SDc&94;Mbl$UzbIs9(1OI8YHSg zl!rYi*5S)BK(b19khlQRASFBu1srSz0&I!}B5aEDK_XgqpfCaLQc6$~1q={Dkbs39C@L#B*eV3rAfjp@AuF)`K_Ds^L&XC-29C$u6DwIBbFxfb$H*|f z(VayGG*MsKZgZA6+n4Z|fVm*CL4~vD&8g2%LBZ3SZ;B!Yo8W=#+unY`L4Cf@K z^|FX@XUc$%a0AJFnXcH&A}V5J0uzW40|gZWLx$LNuU-}zrdsFe8NDoO_3~jb6)(gX zI6$WZfF`y;H}8Qa|3K#hf{X*T?UQ$Z383=E*F*_asO8)4>vrtU!d z@j%icj0_ALWEeO^m>3w2$T4udU}RueqrkwS!^psJLy>`F3rI6aAqa!mObli#ULm!l$0Hr5E=_ycp&h)@O7Ex~3?J$jNrWf|H$QsW*3=^=>hL{Ah1=NEBO?-jw z(gV$SsW31wtk4E6Z(?9LF#TX3i#+3*=@0u@O1W=ehUxz>J+Ys~p7G1{h5an@TA*16 z&@FYKX$8=QOdwOwfCvT#1{p>M@U#HPFBy8%U-h$?Fin0nU10)Ch8Ji&9-b2z7#MmO zKvAdr4`vH!Y!&1h(AX_#lOkvw8kQ7btznRSg~9Yo6IjdwLF4cs`90u~P6md32B2md z)FBKE;MFor46eeA43O9Y4ZhuAgvv8AFn|UfL7f%Q;3?=-hi%g%C$i`YizvY~fRtVV z4Sr0YIgv$P5i}|SI-?LY+LQo_NOMS%+F{PX0SeU{({D~>G39nNf$9G-U2+nOs*02& zOaRod10^9)gD!`GfdSN@_5mH|U^P8y63aKn4bvkhv-nGb+A**c1loxXatDa+n0|0F zi@X)6-UaCf34>N(fSL-hcmSCW66b>Y^9ut51E{V8g%gYIbg3yUB|KYeVD7Q8ojz*{ ziyu>n?eteuSmHQAwG7BT$EF8PWl_~}ng&w{GE$0xfdN#0fljOe@j-nsQ1J#jO3urE z`=Y5VE{wuUx4^WluxH=^rLhmwe@3gTMSWoAe!D3+Z*VtVcj z7VY|XVhkJ~#27e0)8Q=Q2&EDd3>;Dt3>*p)3>-=l3>+#F3>-QV3>;<>2z8*6 z1yrhlFsM`kVNhuTav}(W*q~Acgh8bT*j)?^3?R0Y41+m`j0^*ZoD2hpf(!$Ph71FT zmJ9=jkqp8D5ZgqCfx}FOfx}LQfx|(Dfx|-v6iBP;LB-D|83vARG7KC$WEePh$uMvn zl40ODCd0sS4#^A<`+^Ju#}yd{jyp089QR}xIG!QNgV--*7&urxaYl}TIdX5`%3>**S5RL`0AIULrJd`-9fIH175aY%uIlrv26d5=sAW47<-dlIE)M!ILr(XVSp?Kn&pG(YcOEoXfj~nXfa^mXft5ofKHfB_n*n)IlW*ei+};h z6(HL|7*utDFle?E=6V+bb3>*c9 z3>+nf3>;;K2={_26;MS2GabYRRVW|~nzjRB(8S;LgqbWB(*@?TD6oMh1#XyvgIo<% zr-14c5C%<9fH0^&0pT0w3>+Z*!yFXUS{k4sSI{tPkp%+>Xj~OGs0s_BALfuj;OPxB zSR^DsV_98R3>-aH3>*`z7&t(qRcovmIHo5oV3{yoVJ?dTh@~J0s*^zV5eS3oBM=4+ zF@f+ptLb@5SUz!pdflK(2^3@=av&C{g9!67j0TDAu?G7~3{*#f>Lr*Qi2cR}EXN0` zk3gL*5Vo*|BuY?c3e+42+rR;0fm`DOb66q-K(!L6UjxFRp3(Gx1uPb_psEN|{lIJh zu|e%p5MH)DcL|F#qa>&f`e4t%0m7f`5s`La`pKm%DU8k2^_H>7FwO%};%p(z3>?fm zr)Ml<(bTxj$jHpaSgOy&#K6eNzzVA37?@u(GKwfNF+xN@RSom!>3f&4h&xYZVieJb z%YZ5!=6OtvD(d?3`ksF3ww``)IZ#wFA7o+_QPzhU^aW(?#p&Y9S<*#TG9$}uVPW84 z-a38Ka+Xx#eilX%xRw-F1`g)w)45i#$OT+sL2}d*ki-KPMk!@A;~?g21r+DEu_74( zcF06lMhRslCKiZ~z(NbAFI>SQF0qZ3QG_`_kJ(HC=FD9nqYqENu!1E-v73$2P*zz{ zR+(8{L6JF3fmu^Q(K^mi)7UYPncIumLT`G|N){6vTV-ZWJxyb2V`k0?3`{JHYeRWqQn93ic+Gy>w<-J?2Rz zdM3Ny_p5{Z1we-4fUjr9sQX(^_a``41I&t)R;>Yn0XY8 znTr&d`4o)(eVIFIY?v<gm;)4;=dtKTPyex+MTYlewVpEbJ{ARab5&{8>GEq>6zVrJ z>IE@xFSAi(e!!^^%gm`a(OR*QnJa?%Ux}BpzOoMUI&KAKP8(f)U42hx-U#MmFJ@5% zMR|Q|<_ZO7u{3*aL+11dW=TD>bY*5PXi8vX=8j-4_tJM^uJCe+WtJ>4aAeL?&}0_V z(+5YM0-KT{v$YMgs~&S)XXzSc<{Mmk%%(P=)N2#L%%#U%Rssre9*#6y7k%bc#d^%w zcx;&07Ar7c;!$8;SFGS|%Y21LAxN8fQL!HLJst%k=6S_>%#V2Vm=_i+FyG_RV_sCO z5b4eQc>13;EGZUpdeX+sJbKc`%FGq>G?;m9V3`cmuw=d}%qXEHuWD$@%&X_e{5@BJ z`6ZJA^EQ4Pr|oOjvdm#-{IcD1Ba1VeFsPZyEY2uw%f!q8E@Cpow$IE%EV*0E7 zEV@hz;?pG$u;?-NP4_s!;>NgPdjA0yFD4O*?Y9rGII=QH$V`_z#`fo&m0J9i7;C;O2RTRs71njoPiO>2Q^HXuOj%M1`6|I z1RvB;Vg88V&)IHrhDD5-am{w`^DO(BnJl!Y^IT@pkOehJn13-cD#*`=^tU%ZW!b{acxAf9 zOBO}OAJd~=vbZxP7))RMk|mC*!eBe|D;7pZHBbf5e2tk=S;@~17S^E3p7|p)qZlk8 z_HEaC%`%&r@x=CH?^qldH9@sF^FC%q31&_`SosL5(U~7GGm5Jz$-&}$+jjjAEa@za z2ewcD!m@;s@y2wUZ!GpqK4#Nvzp<36fNFE*rJRf+Fh7H;b>^qAJ z3*(RN*1uU6urR)ue&;`n4U>=MR4G<#c2H%^+@Lnyk&9J|-$+^6P!Z+@7OSnTtW((- zH*A+?XFb8l_+k1J4%S8NpgNfODf{$woUHQG*Ko4-G47de&Ba>Aq+zptGZ*VtMhQ^u z%iO2MsIDxlZ0`*V02bTr4LqzOY)m$`+ouV!`Y|$v*lvF&%=(3qsmgZx9Z^Bo?6;qhVlC!mTru52g;ksJ!}J^#R{!bOR9KJj zmsG|l=as}8Fcg(k#^;w#KcmWeK`<{qEi*MIB|J4T+p)AH!y|M0Y&F&^qD3W1@kI!! z_z1`Ne52_d>a5$uGgFYneGM5vN`p&trw3}VhO?IB7Q`EFKc~SO&M1@@pPZkY>ynz7 zTo&(}pOPA%JY7YLwVt!2G`={o#5Xf<`W7u#SH9%5_{>7@OrOl$fTH}8=}g+Js_3rr z$)E11&6>i8>Z0vSv{~0NN@eDi6crez#1|Wy6&o8B8yl5clv?DO<-`|H57cEf;RLzQ zH?=4|6=a6+^y#{+b=#HoSQQwRQoIWo65~^IQj;C?(sNQ7Lh~|9TvBrqE8|^)LmWd~ zazy%lqAKwWR_*7q#DI%Oy8)_nmygffK`qcWN>hKW=V2}VSM8Da0Av7m+2cS zSw*HlC}DMA6q~MC$|}vcV7hH7t32b5>9M7(tEXF(u{JQR;hx@C%_?r<#8<&w$;`#4 z;=~Oa0s+b;h3QN6T5w zS>G@*Fua(~SivgJ24X6RPnWA;m5KwgK^PUk|Kpgo5T3A|{+dz6jBSs*-pw2Z53)uJ5*McnF0y?2zX8NfLRw>3U z)1OwbsbOv>AE$n(yX9}+%f%R6{|Me4ps&R0p;nxs#vYqRM;38 z0+gp)RkO-5s!WfpX4M7@v8YV%s%Ev~+``7d@IjS<?<>+N*8 zYF07EhUpV)S(Ov5M7$#6h(fXvE5qPoSBlg}D`!dLU{T7(iWZP)c&*<7ftngPaG_1FF_QDICTJ zb-_Vw5C+ME>;kc2=79Jha~x640nJD=Fn|<-3HT$m&6C5XP=Ph5>x-7j6ZV$WNbF&nl<5hKqp#H1q%pd5}FIKFA{=KByd7GyQHo zt1{!7>5L7m@?g~%I~!T$*+8mP^ro+CWEBImGxVmPYGjp?1&M)9q*htN0R%Jt&S)gP6K!E_`gUmzb!(!B9dTleSGA~FOZ0O$^QZyW> zWMvWE!N&98B`A-^Fdl+e9*9t4m4B1 z)Pph!$P5@iVR~XIt8gZai*6h#d{DCzWHiirP?HkmaZp5o%m0cijk3c|>IP~3s|H>SI` zvC8v;m_B9<9H8k9=jjtmS%nipLZEgmNGAw`_@HJiNGFUB8l^(!gKPt}2Vn9bKIj-; zWIoLKYo|hmlgee2hfG{vH!1%D%5{wU;$3!*;bW1(Nn8FTLaYL9gke`s1;kR88qz$y5j0k0f z{Q@?Pu(Cvur66UXE#Am(1u&;SQ0z-K^qp zuYi<6bYloZJkHt!_94h@ESf;V^&t0xA`w=J(t-~f3WNrq%|#)|2^ zy{yt~Aa7{cOkdZ_DkckJgY==d`XOQTuooOgjD4)i;4%W#_XS0>BT~H#G66IajqEU3 z(f}%>BfFmamI@2Gy7Sk!J!Q@Bn#ACkk>pT z#lT<#y_6QF3FHKjI7k^Ng@W?Undz((Sk(oQg+W%InQl9QRa_D#42lq#DG=#gWNDB= zsL~fFunJG#FoBhY6J|up^o9Mb!i;C8Uxeud%@ct7iKsdmCnDJksS+UJ53$#9BC9yu z%oSiW>tR-a4vcn!CJvZiK@$<6ScUOHey0W>>>5ynF)&PjJdsrp9N;j+kt7*F)d;E& zWhWu|&y$|0ty(IEyt!$oWv?D1k(bFS%}p1x^7l6 zl&A$8G5zi&R{8ojvLM$oFo663s{KKH(5wt-fq)aALNiATdn;QTYdcE^b0?_J1WE!R zH6UG(lqk{6h8QmZcYi?gpn)Zr6F_{>j1GFPdm{@zU7CRbwX(Lcv@>_0yMN#G-cnX^JD9Pcwm2wc zV0=(>8`(9WiV3+}2??(0c~e-G^k8~Go5YayBthaen~RUZksG?w>5c64eN$M)q+ohL zcMibPD=5a^$WDJZg;fmX?R(vA$WH$^l~oVqUQkNIsc!{R#|`SwylF`80yVLbyVO|R zwGLT5$P5DN-%Vo`gC}uZ>Op=$j(0+QSkn*YK6F0FED(muPj8;iYN^QM0GYXDW?%+~ z;sR$FA5;u6Fszt=bgcNz8*9O3f9KJ!~iNQx4`E? znHWH+e+?4fn1O-e1QOqzfq~%=65pADfdMp^3Nue0jSt#6aR*6#2m{0P=$Wj7j9;eb z&SbS$1UV5jU(3M24n7lV1=J@D46F>GWBpf5KRc7v-Y|fTK>?H#V9J)jm9a2fV_;x_ z@j*+CKvw!px1GhhpK-zTzq45X3xZ~5ksY{WI`16T{=_YukWd4yIRm*Hbgmst8ORV9 zUQ~I|k%!3gM?mKyg9VrvK>E+1@sCV@JBL-?3ACIDtcrmN?8OElRAZMQ@j=#35Ji>e z5u1K*KC4u0EF%L$1{;F{D7YA*!3E+&%!UMCCN#!j;gp5O&q3nnF)}cK_@E@iIQ{8d z*5K(8^H@cu*UV$(sjp&WV5mj248%vatPaUAki+ZI_zg(>7DfgJ5FeENVUBM>k_YMU zK=9STA*BHqU<32DkoXfA85p#t%gzT6YFo}{m1kTvJrYE1nO-@cRo-g8C85lr(WO)lD`Adup3>MSp&S#ac2TjaD{0)h~6!_XONW6o_x{>8?AjyOL z)dM${o#6>10|ST;>Og?P;WZ-z!yGmS1yH30;)B$K_z?5h8NM(wOt)UZDp(I%F$NKY zI6?rv>I~ut&`L6xJSZ`O2F#K9pn-50A7lv+d^H+GKWH!-qxm>3vX*clX9rYA0B6;G39VqoB4hs6mb#d0BOQ)FUb z0P!Jl0+HuIk_SyJfcVJrKJb!&8JtD}oTtxQ$SPM4TB?QYpE*d*1%(f2=@zp54)}UA zNO*vjbRo;n0Iekh3qa&SOTEBcXs+G^UnT~Y7XmNlMOM%--FFeId_8D_045A_2WWx- znGc#EK<0xc2$1=p2?At3Xo3Kl51JrA=7S~(koZgtbEdyt1R73-uQG!~-y1Z(!*t!n ztn!RMru!~tl@}6FMx+K%r)Z(76F^EcAlHga-@AlW zetOMPR-WlEmavKly+G5zqCK5&DXW|iXsQ9(om|>rhcNMIPmf#5DrX3qNr1_N3^ve4 zwO9hl;+sqi3=-4VE@hRk2TeD?w1GkiG_3&RgN&&_G6p0Mnp!}XUxFqNnqokf-+?9% znsPvrH)1$}rT{dRfTVx{bQBUY-(!01GFJI|(BM2w800R{%0L(&M)Ag3K$_au7kCDaCOpjg8D$jUj z`rhTN`t=d;#d_eZ$N(BQMpj*dCJ!1XMwXw0CJ!3eMV8-zCJ!3ug~`i<8Wa1b>#ksx zcLXg2go%S(-(rO7UC>Z3Odb?`prKx5{1&y zC9Aw3XmKL4@SW*vSF+02gH|8HgnOA87+zX1aDZw@CaCvZEK!`t02=g#sh`ixz~F1i zzyVqd4^zJdO+9E-7^Z$BGXuj;O9l>5&ljq`o&mI77N!6cEuf)d82>Oc0|ToS0|#j6 z7^DFt4;qPu$%FWy@jzrgXgmzY2gP5DHL3?dV_-0OdC-AOpz$r307wI9A1RCvvH-Ml z62=F~d)c5G2pZFZ$%E8`#K z15@~!nSsF;Iu-;A3DDpROdez~Xq*I@4;o}Z<{z7Wb~UTK6KI40CM?auz`zT=1Q%p1 z$h|H|{Rfb-pwR%BdJx~se!AWoRym6ENGB6;^{{r!$6YU`NTx<+rcYvmz1R0naB-j`jKus@D=K;i5 zWMg2^v|-=?&2fUvvu0ypm;-J0J4COoq>T{dwSh^R=N7QN}%)f zAt7bQ&cLwN2(%p!!Vh3)U{FAESQa~~Ln_%B7-XUAAV3ajWM^Q2B{2bpkN-PC=0W!j zf#m11Gce3Xa@QJmh9HJsB!M053=D||knLF@4WNteVQEl+fra5Zngd?2GcepVW#9mf zIDyoI3X9C?xf@vJ>n)LDSe%1_0o0=dbuU5wSK(k_*bCi91xf*y91INGjTksUDF9@Q z4+jIo5grBwND5$Q2;yL1fQ?HCFfcJhaxgG}diS7|EC3pS5N2SIlwsfijbDTG$8#{$ zGi=~uPymg1fGkYqU|;~{4TuBS7z#KT7)}~6aDX;wfi%={Ffja70^KJB3HVkH28IA< z(5_cd3SwsH=U`xXz{Q{d+MNwDZz=}^1FH%H#~Vh7`b8Y55wn@29#!BN2LnS1w95!G z-~tB&!&z+x4$w$6C`I-AQsWFccsKpCT6ng9=i{ zu;XGdVkkpW;Ks$kpn;?ym5YHv#sLwb6Vx=!kxj!@Ro~#;p6nXn_1;iN=OB6 z28J^{kUlLa{i<;@FqCj3$_Ha^)Y$alW?)!p4~a}rYKa2LTOrbWE{Km*0ylCqfTD;4 zG=v8#LA$saoES_v85BT610a7);bvgaK?Z}Gxmw_Qs7g42!@G>w=Wn$m}EyMx&FoTzYL6VJu1GEPj#INOL zVAv=QX{>_yZM+N&2RIoNKv$T9958{Gfx#ELk^&^ZgqMNgsy?K60r3yk^D;18KyvXJ zUIvB=ctT}oxW>!C5NZp$!3E;uSG)`i3z-oW!6#k@hL_MS%OC@P^D;2p1Z^pXMj;0u zYKoQSV_>l1LO4)Wg^z*Zpf+R+D<}yY@G&rOLaPXnfp#DRru%MZ)vuq3RIYXMF)$SH zFereA#6cdN!pFcMD#5_P0*#rOd<+aeT!@6dgpYxt(;AXfK*nz6V_=w$WZprLyO0w4 zNj?UKmzs#Ac$tr3`tR+mf`Z7&{2Lzw!^Y{dJ6PpWgzfl2soQr4t9}w_coI@nvoo~u zGcc@Gf;9X=PMFBgz>q1%zyVsK0^);qV>3br*+Kky{0t19NU484$XF!)NqzA5P$k#ba%4~B3EE+3_OAi3YFAOizv+#43xd(aFykH&u?2#Pxf4p4Oo^4mv228MDZN3sbqFub)vWHSjN1_sbj zH7rhLh0sbaLm>u+Sm=6akb#ausJ;jiVqlnzl-`rkBIu_%3i}WZ;;7@gl46^gS0@d00UmwiVOQUS!o~^qKziBC9+ns2%FV#>CJtUGWmD zJS(VLKQrC+6016+&-C0&tmbS8h2g<;!ON`5tOusCFl?A^31Sv3Wnt)^o(N+8R%T_`KE3lYt1{E3;_2%yv#PNg zl&~`NOuu=VRhf6sG*$)%RmkZSxzjnXuu3!S**#tD3ac8c?|D{+m(vR`u?hnKW*IET delta 123373 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 delta 32510 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 z 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 diff --git a/docs/pictures/FOC_algorithm.png b/docs/pictures/FOC_algorithm.png index 5049723421382df8056c0c56bcc8596b72698523..f51ffde1f7ede155b84cb6874cfee55cf6b5ace6 100644 GIT binary patch literal 343078 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

WRX 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%0DmJ>OeyY$!~QUc7wo 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 u`ZKbVzwDP3jHk>RrQha(7#Xf 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 bKE$UV(pPazwBF3Xz`)??>gTe~DWM4fg;UsX literal 37245 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 diff --git a/docs/pictures/FW_architecture.png b/docs/pictures/FW_architecture.png index a29aa7e512b74af934eaa32d9e4d443c64df1476..67f90228bcbdc8fe94f607dd1fa10bcc628f28af 100644 GIT binary patch literal 353039 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Ⓢ2MXbk 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

_slS1`g{>h>3JHAbwW5S@Wz}3n$dGcfp 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 E0BqrOVE_OC delta 13459 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 + + + + + + + + + + + + + + + + + + 12 + + + + + + + + + + + + + + + + + + + + + + n_limProt + + + + + + + + @@ -198,11 +246,11 @@ - + - + 10 @@ -220,11 +268,11 @@ - + - + n_max @@ -234,246 +282,6 @@ - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - iq_max - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - id_max - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - Vq_max - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - id_min - - - - - - - - - - - - - - - - - - - - - - - - - - n_max - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -486,11 +294,11 @@ - + - + 8 @@ -508,11 +316,11 @@ - + - + iq_min @@ -524,362 +332,426 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - - - - - f1 + + 5 - - + + - - + + - - + + - - iq_max_M1 + + id_max + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + Vd_min + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + Vd_max + + + + + + + + + + + + + + + + + + + + + + + + + + n_max + + + + + + + - + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + iq_max_XA + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + iq_max + + + + + + + + + + + + + + + + + + + + + + + + + + i_max + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -901,11 +773,11 @@ - + - + 0 @@ -923,11 +795,11 @@ - + - + uint8 @@ -937,373 +809,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - - - - - f1 - - - - - - - - - - - - - - - - - - - - - - Vq_max_M1 - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -1316,11 +821,11 @@ - + - + Vd_max @@ -1338,11 +843,11 @@ - + - + sfix16_En4 @@ -1354,44 +859,44 @@ - - - + + + - - + + - - + + - - 0 + + 9 - - + + - - - + + + - - + + - - uint8 + + iq_limProt @@ -1418,43 +923,43 @@ - + - + n_mot - + - + n_max - + - + n_min - + - + n_limProt - + - + if { } @@ -1484,11 +989,11 @@ - + - + Speed_Limit_Protection @@ -1501,16 +1006,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1522,16 +1027,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1558,27 +1063,27 @@ - + - + - + - + - + - + @@ -1604,155 +1109,11 @@ - + - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + boolean @@ -1774,27 +1135,27 @@ - + - + - + - + - + - + @@ -1820,11 +1181,11 @@ - + - + boolean @@ -1834,11 +1195,379 @@ + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + id_min + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limProt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + - + @@ -1846,19 +1575,19 @@ - + - + - + - + @@ -1884,11 +1613,11 @@ - + - + sfix16_En4 @@ -1898,422 +1627,6 @@ - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - Vq_min - - - - - - - - - - - - - - - - - - - - - - - - - - 9 - - - - - - - - - - - - - - - - - - - - - - iq_limProt - - - - - - - - - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - [id_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [id_TgtAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [id_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - @@ -2326,11 +1639,11 @@ - + - + [n_limProt] @@ -2349,28 +1662,28 @@ - - + + - + - + - - [iq_limProt] + + [n_mot] - + @@ -2380,662 +1693,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - Vd_max - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iq_max_XA - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [id_TgtAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 11 - - - - - - - - - - - - - - - - - - - - - - n_min - - - - - - - - - - - - - - - - - - - - - - - - - - [id_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vd_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - @@ -3048,11 +1705,11 @@ - + - + [n_min] @@ -3069,6 +1726,39 @@ + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + @@ -3081,11 +1771,11 @@ - + - + [Vd] @@ -3104,43 +1794,395 @@ - - - + + + - - + + - - + + - - [n_min] + + [Vd_max] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + iq_max_M1 - + - - + + - + sfix16_En4 @@ -3162,11 +2204,11 @@ - + - + [iq] @@ -3183,470 +2225,6 @@ - - - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 12 - - - - - - - - - - - - - - - - - - - - - - n_limProt - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - Vd_min - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vq_max_XA - - - - - - - - - - - - - - - uint8 - - - - - - - - @@ -3659,11 +2237,11 @@ - + - + -1 @@ -3681,11 +2259,11 @@ - + - + sfix16_En4 @@ -3697,124 +2275,28 @@ - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - + + - + - + - - [iq_min] + + [id_TgtAbs] - + @@ -3826,848 +2308,43 @@ - - + + - + - + - - [Vd_max] + + [iq_max] - + - + - - + + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - i_max - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - TRQ_MODE - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - SPD_MODE - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - VLT_MODE - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - iq - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_limProt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - VLT_MODE - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - id_TgtAbs - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - n_mot - - - - - - - - - - - - - - + sfix16_En4 @@ -4689,11 +2366,11 @@ - + - + [id_min] @@ -4711,11 +2388,11 @@ - + - + sfix16_En4 @@ -4727,59 +2404,44 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - Vd - - - - - - - - - - - - - - - sfix16_En4 + + Vq_max @@ -4790,43 +2452,43 @@ - - + + - + - + - - [iq] + + [id_TgtAbs] - + - + - - + + - + sfix16_En4 @@ -4848,11 +2510,11 @@ - + - + -1 @@ -4870,11 +2532,11 @@ - + - + sfix16_En4 @@ -4886,43 +2548,410 @@ - - + + - + - + - - [Vq_min] + + [z_ctrlMod] - + - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + Vq_max_M1 + + + + + + - - + + - + sfix16_En4 @@ -4934,59 +2963,236 @@ - - - + + + - - + + - - + + - - 1 + + [n_limProt] - - - - - - - - - - - - - - - - - z_ctrlMod + + - - + + - - + + - - uint8 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -5007,11 +3213,11 @@ - + - + [Vd] @@ -5029,11 +3235,11 @@ - + - + sfix16_En4 @@ -5045,29 +3251,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [Vq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -5080,7 +3301,7 @@ - + @@ -5094,43 +3315,43 @@ - + - + iq - + - + iq_max - + - + iq_min - + - + iq_limProt - + - + if { } @@ -5160,11 +3381,11 @@ - + - + Current_Limit_Protection @@ -5181,11 +3402,11 @@ - + - + sfix16_En4 @@ -5202,11 +3423,11 @@ - + - + action @@ -5218,13 +3439,1792 @@ - + + + + + + + + + + + + + + + + TRQ_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 11 + + + + + + + + + + + + + + + + + + + + + + n_min + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + VLT_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + SPD_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + iq + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vq_max_XA + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + Vq_min + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + id_TgtAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + n_mot + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + Vd + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + VLT_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limProt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + z_ctrlMod + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + @@ -5256,21 +5256,6 @@ - - - - - - - - - - - boolean - - - - @@ -5282,6 +5267,21 @@ + + + + + + + + + + + boolean + + + + @@ -5320,21 +5320,6 @@ - - - - - - - - - - - boolean - - - - @@ -5346,6 +5331,21 @@ + + + + + + + + + + + boolean + + + + @@ -5583,10 +5583,10 @@ - + - + @@ -6310,5 +6310,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json index e5393a4..98ba590 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json @@ -1,4 +1,63 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8931", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8933", "className":"Simulink.Outport", @@ -79,65 +138,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8931", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", "className":"Saturation Dynamic", @@ -235,25 +235,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8928", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8926", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "reset", - "Only when execution is resumed" + "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" @@ -261,7 +297,123 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8932", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_iqKpLimProt", + "label":"cf_iqKpLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKpLimProt", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,8)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8925", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq", + "label":"iq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "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":"" } }, @@ -333,43 +485,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8932", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8928", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"cf_iqKpLimProt", - "label":"cf_iqKpLimProt", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "cf_iqKpLimProt", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,6)", - "off", - "inf" + "reset", + "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" @@ -377,141 +511,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8926", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "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:8925", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "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", + "blocktype":"ActionPort", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.png index 8bc4862c6c8cf81e67a91a00d337c468d7df5e97..1a1009f2415a231b31a958e34ea5a01c7629eefd 100644 GIT binary patch delta 3149 zcmZ1?yF_+Epx2cL4GRM}S}Znb&Q!~Eam!S4St_|`MU?5)Z&_8BS4>^jdrNy=*sH5? zZ+ccmW|l9FOkF*5-Lkc_PL`+{sIoj|@Krk3o{)3E;>Mga6K5-PEZcBbj^Se5vB`>z z>n1BOMo&J^$XXw_muqdtWf@zeo;-PSAZ_!*so`;)&jdQmR99qAxOg$}$kC&TWo2Sg zy==+J$p>pH7Ws0&l6tcBdK~kHEsF0xRunuq(3oInb8#7~=>&Bn<9cI82C3dObGdmL zhnd7YDk>~qy?SL5JE{d%baSdeJTCo3q|NH&_G2O`a<^1m0n;!LncXt-2-*#uZ@wO~x zM?qq{o6GH^4rLS0KfitHp{aj%M#hbW7ccldSg6)-IoI#Xl`99H7A;)9oIPx{sI#*( z!?e0gb~ZKxYwPZB-@e7lX|e{NSmUTuX8mvbQr2Ss+@jXiAwPB=Y`D(NRq*tbs7k%6 z>ci9e`(0dJS#RCCB_Jlowl}VS*)p}Bo}PrnM8>GKV(k2KcaEkz9TX9gepy^xtnu@( z{Drz71`ob7o98nv_hV$(VkZ4>+T7ktcVbqAtP=hHxxz+5O3KO4uW!enckl9g`udy# zMPzKNMCAI}89rR{*3Ye4!^_Ki``-*VYju_SYYKnOq^*L3rs@5tIq>1br`&a4O8%@| z$0ygGeE0Y5w`GMtWo2botXt<+T58I$VCz=VojZ40)c*Ri?YQ4=ZIx>ZU5ggH`o90T zxuj&kx3|BK^V-StMeFP+dna>g(&X)X{%qW6m|-GyXMer?@qYRC%P(8}mfya#X$RZQ zXs0CJML{d;Kh%rsFWR}9JNfeE)7RaPA9*leFUBDx8#5-RpbuB*n+a=fK;teCr8kD}*}kzdwHD$dON9qt=RL zm3r)vJwJ6qh5MT_>tDZqC74J}oH?_TonKBtS((|?)YPKz5sOy6mR6J9vRk*JmMmYc ztdo=JU+v@L#x6_ICYBaQAZe8XZeyXTSVOZWE|7e)noL;?^VCI zWjOHi^78PvJGt6AJ2^A9Mu~`su>9Tleb&8uafP#2uUq%-C(n_`9~bQ1E8E%GdEsTr zi+AtbQc_g7xVREFMm+fbdtv?6tcL{_-;MrDIhQ3KXIa<^V?CW>W_I^2Q{-bUK}t}`?A*;F+AH=DUYn9jU zBpA*7@OJzCN00mM+b(7tIdq6=-@jkkPo6$q8+Go<6P0Jro^9KsU8U~h@Beu7dAq|u zKR^F?kX^oh&F|vU($d|(=B?k&)>-w-)z^!OjeWZQyWrJ{1`^ly+^@QxKRs-8n^Cu@KSN!iiM$)#NtFL-^dLBI7&cA)jpF@Y7B6P%-EL*0e zsK|J{Pxkib!kjDq|38*#fpfCh=%L0 zU1MVI>}q_|vSy9Wp1xmc`})? zVPV_e^|iIOvbwmqJUAHtpMBly|6Ehcla40qsy$VFA795_du{cj8D=6U?(QxZl$AZ} zV774aV&=z>A2Tp)zb!k3S^RFE`Knc`%1R$sTdS$72L=akew4iBW=`D4x3j}mi*DSw zk)dJQG_gJZe!XUxw(Tgxf_?ks7y@GJV|zb+Dw^W^SJ1xyHPfSp{m~7do@$D+zxw}6 z`o;bKy%x)OS&KeCI?8K%@cGQkFI~L7Pp`VVBW}IBvokXf8}p>elg;-?-S720Fk^;< zjBS<43wG;s=g%L0Tef)fW?@!V))#Nzw)!o1j)}R`^>f<8hlwgGDi5AckB=+1RGZ9s z_wL<#?QfS-)6*Y6IXQW@+~t##)dM3VJ15%zt^K*{$MQansE~%EFVf`~NC_FgWH5OB z_0enV@&_M(PhZa+EV8Hag}@i9*b9C$sy@n$e*FK>%jtURDoh`L|FtN8%Js_IYudUM>*K8wy#gmhhPS`A|1D|v z=fh#q&#Y|CjB@?#d-v}B@nUiRk*EB;yt?@U{Jgx1R#sJ41^4;8xVyhUQG9E|&vuKP zH<9~Z$b3C?$G$lxS*BjBhU?k0KQju>9)2Fa!GAHE2v^{?+aI{cgAQPm!{on^w&$XR@lOx-8sT%kro-4!cV98jNM zBQ&AErEIsXva+&yC%oziL ztx>)E=h*k#-`mCd-hbbghd!B_MMg&3w*FB!zGF5!H~KUuOMQfz+?TcgH@>_0`1A2M z{riO~cjOnJmX|I+yruPXrim19pPa4KhV_sd;WR$#TPqHoH!vXb9d73@9*<} z-#72+?OnKPRo3b6_g`%EW@cs%Sbf#Q*SGcXLx-p+DNwB0UCT9ZIU~h#z<9sw{jA-6 zGL}LYp1xnQyr0L<+nbr;*v2;T#~Ege7!nm+nAn_DD)P2Dnn>}^nl&q7YgBo)M)j=A zFYmln+!HWw_TC7W-Hq}aCw{y)S%Fbc>_7jPh=(f_YE`B&FfcH9y85}Sb4q9e0PN;3 At^fc4 literal 3748 zcmeAS@N?(olHy`uVBq!ia0y~yU^oH79Bd2>3~M9S&0}C-;4JWnEM{QfI|9OtQ?>b| z85sD&JY5_^D(1Ys8|^c@eBQB-#}oMY+GjcQoOsZ%Fo2`QV#5@l$tFsRO#~NR;t32{ zJ1eVt>)y;OUbo%eiiT@{&C)LmySi@6?n`SnUG)jS9CkLvN_d7)Q&EFjM}e9Ij|BVd z=CcQHG@RWnuHvKdfm>Z#$bP={?H^z7o5jcNfB(O>*DFwj)n&`N4SVGnF4i4$=wRV# z@i;I_E#SM-v_5t>+uE?*Pk%@1i0%3PZa1TZ;KggKIumZ(h?rwhm~{I4=btr<61*3` zeNYygsF097;p>dEX*Y7rGPXuNdGh2y*49T?!{d3M33O~zS&=>AdDvZ@$4J+D8BnxQSjoz!UQ{;i_=(5CoDHIHfCgy>P^#^o0oB! zNz9|7!s6BI*V}9MzkK=ft~}30vy~#QflONq_TTT9ulvEMs;Vj>BhwPL+BGLfXW8=Q zi6&Bk;o~#~&FO;wqm`)$QN9abw|e`O6vKTaHMjT*z___d4~7bw0m@Z0ydnQ|I;BU%7rb zd3%0E{p_=9diytT7B)3CU9oZ{Bg2-hTNTaC#naEtx%u%%W`64tDVIQzkpJJd|1eW# zKGn!vzx&|x!xtMFW9;kYGEbho9ry3Z5f&3EUOAhJ24Qu-0}l%vmS4`zj*Mx3qp!G; zEpTPXkNw`$FWkD@+c|UQ)YprXlRlJ->nmw#Wx1dB_wtG=jqFO!%j098*E{9g)(IR( z(l#G_{Z&a_nYs1i#TPGLI208b&GA#ellQ%k`DWMh#vgy{Eask@`g&`W?v+;)Dy-u) z6hHRe$T9o!{rlkz6D4C~VO?F_6DLkM>69ei2hwEF6z1q&2j^zXg@u2}g4rYc~vt|{1dvlXF|Ngt|+t;qKO+Veb zbgAkLAGIULk0e6MU z*^F|wKR!I${9{ID=GCv9TB3HR&$`Z9^x)s$-x@kPN6yYR4-5%u*|p0`f`^TVpFcS* zjcxPh%^RZD{#KgsH>sjRg00!HXY=aS*{9d%78e^|x_mh>B!tB^u;B4A-Z^%)QrFkV zw|gy(n#quxk>OBRXSZqd=EC3Kav2)#<~?V5!De>nZ1vCE`5)K2J^sWxn>RqjVLdy8 zOm^nM`q@4KBB^Jk-xgR1h>C7q>uGed-~J!RRIk>{{%SwIO}=(5EM|Y5Z2tbgW~)}O ze)#>jp}qb7cjxQ=|NXvV)vBoCy^Az1WSHzIe$F>((j>FLx9WaAoo*n(V=&X_$GhF{ zKb%ybe;~sosjyJ+e$8jzPoF+r(@D?D;`;pg^X+@0d!^IT(mworKL7EdR_-4k4)dG; z+4<|&FWcJl<}uAKw!astsWKiutS!#J;;MlJ&+B{ni(i*}t-h+Hq@;XiIKD!S0d+}y)CCT(NHg0R&S=gpJ5a{Mk=<|O|>kt^4(9ZE4$teorVIsbfn zXD6pk)t8KD;nufr-*$9$9l9Q0-+Q>7Us*|s>G`?2(Ko%f#oOj5mE2$FDD>#@$EWM- zM9*y8bLHLL-R++~ed4vRT6r~V$&w`xE-rSz9aWc@sK~~~HeuGRu9g-S8T-1L`^Ps% z+TXt@ASv0|(ZQjjrp8v|et6lpq_5w;DcRV_+`M^n_pb*FL17-ZUc9idP?~L%^rlUl zKAf|D|KQYA?T(HPjvJ3zx^CtidwP0$U}$J7zuk|7r@!XE�(cQd(L0v&~vcOk7-0 zP_S{D{eS)#^M8_B>x-`@>#9Cgd@uh`_Sc&0M+|edCRBfar)Xt0t1-thJzZT*U7e93 zZ@aYyyWXz5c_HE9?_VDK?&ss{yKvjKva824Hs9Ry>bAMA7kkeD)cD(l~bBp9pnfcAN+WORR zu2m^lXlSU!@5Axo>$>Zobu3b4jp(ZT$GA$-a55i5ah(3Xoz>!U`|F?XGH^W@?cV3G z{xa*^mX*uv|2935)T3kVpWa_ta+0FjgjlZ6<9|}s+^ZWBR z{d}yS2g{@HzYG7p3N^8*O_q|H=077yB<0%m$H(;R8vE^jWn8UkJebgM{IO$vyu97N zAIXJ3m6esXrH?2pD|htu#TB=_559Qu;_gp#%yJ(J_DNNT>scM!Yrua_>AFO_>-?sl zmG*PivHtkO#g}oVVUdEhvDn|{%>fKQ{&2lXj+5ZmZGZdmSKy5A+xLI4{TnADQnTgV zyqzacdhWQJSM%-WC;dmW^Y`s6ntlDXX#c@mx-XB_EQ$ZupL^e4h3TcV#DTRvJPJBF zKYI?T-)0L~nNa!G^v`qo{~ezXeJ{#=*0NGNeBFa?{e2Dh-yeVQK;d5X`@MH-xON}Q znR)cf8>LA?i!R)Hc;rEcw6SrwhgZ+BD`$8XFns3rme{s);l&k(rh6L>S4Qzf-j&#N zR#D$N@9L*%BCO@_?g*;4olW~Z>-C*Hb1iM{k1vxT-PM-$}~1wG2r)K2B!Jv4WUh=PsGkFV>)^DfUmTk(GF z_6hr&L#xx$)XvSdW?y}E*L(jmtGHc%rq@0BC=*m7CGs@e(9E)b%99M6ZPgQ|ZTeGt za@nG*w>f{VKem4N9)qb|$NS~u%XyVPR@m&Q{;nq`CbsRP&b;-zcT1l=dsahF@7R|w zCOKx(ZSCz7XU^p8Ki=HZ!ctORo?KQot#QTGtUoUgvHtn@Ew`fn+fv?iZ|{kdCvIH) z)PC;6ZBc8jqx=+p95%XmY5&LLyN>&xlizIn)9cB_e`|H?lP>XIHaoZcVup!^wl?>T z>oTDsAqy5QVqyr0i`)11X^V>jLqh!@2~kVS6X(tyyKq4uM(_Hk|5}wN_v`%rbNl~} zSD#+I(5R}eo;ZL0ej|HhLqo>-=i6t@kkIIA+Ox;z%QwCJ?LTVlZseFfv9l}!wdUOW z<#>O6zM-usd}4F4W!P%b$&)8b$ji4!t>s&}IHJ0$%D~jLwV9p&(en9qPWAQn%a$!$ zaQS7}xq> - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - iq_limProt - - - - - - - @@ -71,27 +23,27 @@ - + - + - + - + - + - + @@ -109,11 +61,11 @@ - + - + sfix16_En4 @@ -123,11 +75,59 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + iq_limProt + + + + + + + + - + @@ -239,7 +239,7 @@ - + @@ -293,106 +293,58 @@ - - - - - - - - - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - iq_min + + iq_max - + - - + + - + sfix16_En4 @@ -414,11 +366,11 @@ - + - + cf_iqKpLimProt @@ -436,11 +388,11 @@ - + - + cf_iqKpLimProt @@ -451,75 +403,12 @@ - + - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - iq_max - - - - - - - - - - - - - - - sfix16_En4 + + ufix16_En8 @@ -540,11 +429,11 @@ - + - + 1 @@ -562,11 +451,11 @@ - + - + iq @@ -577,11 +466,11 @@ - + - + sfix16_En4 @@ -591,6 +480,117 @@ + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + iq_min + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + @@ -711,5 +711,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg index 0f5c0cf..bf6e66f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg @@ -63,7 +63,7 @@ - + @@ -1012,15 +1012,15 @@ - - - + + + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json index 401c824..9c7170f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json @@ -1,31 +1,41 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8995", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8994", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"cf_nKpLimProt", - "label":"cf_nKpLimProt", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "cf_nKpLimProt", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,6)", + "round", + "|+-", "off", - "inf" + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -34,8 +44,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 10 ] }, "viewer":{ @@ -44,10 +54,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Sum", "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "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:8996", "className":"Simulink.Outport", @@ -128,65 +177,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8994", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8992", "className":"Simulink.Product", @@ -245,72 +235,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8995", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"cf_nKpLimProt", + "label":"cf_nKpLimProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "DoSatur" + "FramePeriod" ], "values":[ + "cf_nKpLimProt", + "on", + "inf", "[]", "[]", - "Inherit: Same as second input", + "fixdt(0,16,8)", "off", - "Floor", - "off" + "inf" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 7 ] }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8991", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Constant", "masktype":"" } }, @@ -515,6 +484,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8991", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.png index 4c7e8a7cfb1412443b8551c84ccfbccaed7660e6..1125e83d65d37d4466f5fbb7699532756bddec9c 100644 GIT binary patch literal 4092 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 delta 3577 zcmew(|5JW~W&LVT7srr_IdAV~2VDL>@AyZ54#hkAo;x%cZ5le5?p<4yv|8?XR(aOT zrw0rDUSILsn*7!;z2?HXob>ehUq5Dkk6dp2dZX<2yDuYStLH3!(-3tuSkPaPPmuX( z(vDVdjtMM>R8Q8+S9my{6~7|T^mk9%uLCOoJ_%Qt|Nm3>zdk^dr)yC|hn!~8N_7X3 zbCVev4@_2Iw5eBe{-`o}@?;4anVMCGVe4W#J2<}iEEJvOkauTC0zmKbKyRmET(jD5?hkl?2lK&;}{0J=ubJi3pU>x+8DjLr z+uGVDOq;e1By(aCn~}1e-8}6Ok!ems9yvKW>tc2?^}2m_so%eLE$?jee7;X>I-V^L zs(9cp65zqVF)Avm;Qc+@H4z(`)~;O}vAaz7O__Cxm8_DI(uLc%xo4kkn=?md$&w`r z2?-1g0byZcr!s|pw$__Wc=jyq#@n)<{{G~oBqp(LR^pbvl#rEm zb$4g~^!an*_S?>uu8S-yI$TvA_*qSCXcXX--~dyHlGJNA#_XvO)S9ZLk-T;L_Q%cq zb{wZ7w$#{MZd?(fwdczvZ%4`1t5#`gJihSh)0M_8Ted7%xsp@0URCu%*47OXIug>- zhxgU~4v3HEpMSpn#*GMxUbib(uO>b}H}~KS^FWV|#)`dhF@HX~N67D3q#wQh_`bKd z7Y3~i2n}s*YGR7nS;U%}np&{??vC2uX5Zf4X5W3cudk2q$52~e=-OP(ihjhZ-X zR@bUks}{&5y}i5JTqF77C&3S*Po|x0`CM7K|45<{qn2nu2#bo!gC4*3@O{7e*yidz zcn}*K>p1^|Q%HFD zy<5KS2P0ea!Tmy0=gjE|T^-h%)YpCP`DaE35m!f7*Vg}2)y&MMoxZfcC`sY(-@hAf z=3L0ynvtE|?6tJ%Xi}rsQm2xVFUGF6jubh+ zblo$%C(oNa+4%W+{$n54yjc<+8v5|4c)W+&&IeXoV->0)j z>xh+LmN5% zbMx){ugBNRW^I-7TP|ELt`~FQwEq4*3)aUcCMxdQwM#%$RCLjLj5M$VNAQr82|rJTl?$x{X+GQ-wNsH<{WHfW?yhMYkt+5_xu0LmFjEs%zLszHIum88RUO#J}^O^$7Y{duK9`5=2Y(c^GI~8qZXIu@+cVhZi z^UvnXA-`Wvl{Rv7EDD+OwoAW!`O@F^p1=Lymi+yH#oYU38spZt-_3K+%v@Q&HOp-E z)vg^oEN{Nm!`6{}Vqy16<1;-yPW z3@1*UIB>LEd}GnmQ^)_a>jhuEdex%(n@*pc?XD}qkrt{9>#wig^Xut!u66O@7cLll z-@iJ1>h^y>+>bv0%=+tf|Jz4LyB(!ZXKmGz>rZz~o@ZU|w=rrh2G-ckzjW=|vKc;VsZ~``H#a7?KPs@8($&S4nw9lx zH_Gnh^{S05HLRT-9S3eIy9Y!DH_tnF&hq0z~9w{j(Cb~>LT z^M%)6{cZYZhPU6j6LaO-wMUnhdRvsd5Lg$#zptsON&R2_l9NxhjE##A_P>4i&aJxI zIw>h>!o-P<+qRjhsHrKLnu$9%9uyDOFgF*VlBPm7)^R^$(F!?3!QdM33u)t!%)TykKPqysXVNp_2 za^PuE;^${)`)!K%d<--F75)0z9$N<&6|U`X+Y7J0s(h}-_Nc((&+@hBYcAZra6up` zDQVu1?XJ3_^Us?W7@00HCDpjm~S5R-dIca%^u|NHyD!JUKb~kdyYSHwP8V0##Ov!~`Fn5PxY03bl2FX=clIA< z@Bgdq^+-*w>Wu$(qX$-B>^1Ieah@|@;>0}LY6A-kj?FiF=3190eSdfNQNqJD`}fP2 zzq|ACf8_e>?5U0q3a3n;u54!~=eF2z$@zNecUQ8$&JjKG@ZrNsbMB?yntk&2eWuyh z9^7avO!=$KcU>glD&L;4ivNcHr`%}&|NEoAzc>fOl4Z-3O21`YW1e=}?O~Uw_J*XR zU8EY!iG=0wD(D-=ySFc|unn+EYIkU5^jjdvDT+ZEHqFGy|rcRw2u{}?A zOO)=rd-Z#}Ykz;!&A8(`+w5S{#xpy0RaKv^oL1Q{Yu&c}UKMxg{XfiIXFy>h?jFZ9kk{FD8g*VXw3cDME{DUR6q zYWt3wr)*{K@AV!#<`$tNwq*J8#S0fQYKO0L2@4a;%FbRGR=;{-*y@WHE^K(bR z!oWW#k7>CuyZ_un+u!eLetf+DeB{}v?Rm1_-reQie6#25Z1d#vYr5B{+`W63yXub9 znV6#80S~KUxfyz_Z*55ZTK`sc?&16IQXenww_{?+xw+|R{qJeI(HCys!8Pn_kJbuCU?bqucy-s@h?p@p2w8O`Gr2~V5n|JK6 zh*%pY!NWGgNA1XwBMSER@_E~(^`?8*Y~}tTTt7M8CJ9US3{JMs*e&OZpwxUv?6fY&7fU78G=tqQ-Qs zk@J7;$Bh#Wwp&fut|fPk(fo>_mdcS#1G{&Q?$;$I2|fKg&Jyy`8+zHht7yzlZ6;bnm?Bn-@MTyt7aE$F0sUCblB1KZ>6k z2t7)kAS2$o#wQ``R{M(?E-!+&eE88&n*FYR{g$W&8iuS459*mGOcrHlcvS3@)%2P9 z@56R^riee6Z+?Gsli4*e!EAP5K){C+pYMjPkL#7Sej=)qFwgwu)1^x__%Et%|D!su zzwE<>{fSjoRi4i`-1)Yr;rH}Z5wUaoy-ei|LG9WVAzC6LBA|w**=*jdtx{2I#oQJb z9$a2>Ve;jyt&g<)lk1a}^X~2GJlxLzdp(2cOrH~{PanQAeyj{{H+*N=g9%0S%3fj4Q5YUAcO7;ffU}_8<21 zUcGm(?8=oZFJzefOMbs%g$5{i_wEH%&K>>z?I%+X%`(ltaQ80n)~Nd4BS&0z#OQ6= zwoOS@Rdq@6wXCg=60bdZlERU$Jo|h2hTh)Zg{xO{yDcsZ0`sD8yCf>*l%0E1X6>VPImkcxA}>F`{#TI~ zhAn5;H_Ay$HfCRQd$L(eQIXNp)6?6QH)_EK&K3=skG2ypeweJl$S3~bKV$4Z!_T`9 TDZFN2U|{fc^>bP0l+XkKvAY+r diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg index de02a4f..7b97200 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg @@ -10,117 +10,6 @@ - - - - - - - - - - - - - - - - - - - cf_nKpLimProt - - - - - - - - - - - - - - - - - - - - - - cf_nKpLimProt - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - n_limProt - - - - - - - @@ -134,27 +23,27 @@ - + - + - + - + - + - + @@ -172,67 +61,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -254,35 +87,35 @@ - + - + - + - + - + - + - + - + @@ -294,35 +127,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -340,11 +173,11 @@ - + - + sfix16_En4 @@ -356,44 +189,163 @@ - - - + + + - - + + - - + + - - if { } + + 1 - - + + - - + + - - + + - - Action Port + + n_limProt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + cf_nKpLimProt + + + + + + + + + + + + + + + + + + + + + + cf_nKpLimProt + + + + + + + + + + + + + + + ufix16_En8 @@ -414,11 +366,11 @@ - + - + 3 @@ -436,11 +388,11 @@ - + - + n_min @@ -451,11 +403,11 @@ - + - + sfix16_En4 @@ -477,11 +429,11 @@ - + - + 2 @@ -499,11 +451,11 @@ - + - + n_max @@ -514,11 +466,11 @@ - + - + sfix16_En4 @@ -540,11 +492,11 @@ - + - + 1 @@ -562,11 +514,11 @@ - + - + n_mot @@ -577,11 +529,11 @@ - + - + sfix16_En4 @@ -591,6 +543,54 @@ + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + @@ -711,5 +711,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg index fe948e9..7e833b0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg @@ -63,7 +63,7 @@ - + @@ -1009,13 +1009,13 @@ - + - + @@ -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_9029_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json index 0901a91..837ccd6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json @@ -129,273 +129,138 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9039", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042", + "className":"Rising edge init", + "icon":"WebViewIcon4", + "name":"rising_edge_init", + "label":"rising_edge_init", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_prev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9037", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain3", - "label":"Gain3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "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":[ + "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", - "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 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Rising edge init" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9035", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9041", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_prev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9034", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"dV_openRate", + "label":"dV_openRate", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "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:9038", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_Open", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9036", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9033", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "FramePeriod" ], "values":[ + "dV_openRate", + "on", + "inf", "[]", "[]", "fixdt(1,28,16)", "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "inf" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, + 3, 7 ] }, @@ -405,7 +270,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Constant", "masktype":"" } }, @@ -503,41 +368,160 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9032", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9037", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Constant23", - "label":"Constant23", + "name":"Gain3", + "label":"Gain3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "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)", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: Same as input", "off", - "inf" + "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:9036", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "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:9035", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_prev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9034", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "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, - 3, 7 ] }, @@ -547,7 +531,120 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9039", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_prev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9033", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion", + "label":"Data Type Conversion", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "fixdt(1,28,16)", + "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:9038", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_Open", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", "masktype":"" } }, @@ -583,11 +680,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9041", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9032", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"dV_openRate", - "label":"dV_openRate", + "name":"Constant23", + "label":"Constant23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ @@ -601,12 +698,12 @@ "FramePeriod" ], "values":[ - "dV_openRate", + "0", "on", "inf", "[]", "[]", - "fixdt(1,28,16)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -698,103 +795,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042", - "className":"Rising edge init", - "icon":"WebViewIcon4", - "name":"rising_edge_init", - "label":"rising_edge_init", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Nonreusable function", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Rising edge init" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9030#out:1", "className":"Simulink.Line", 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 85cefbf..9d5e098 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg @@ -80,29 +80,330 @@ - - - + + + - - + + - + - - [Vq_prev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + dV_openRate + + + + + + + + + + + + + + + + + + + + + + dV_openRate + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + initVal + + + + + + + + init + + + + + + + + inc + + + + + + + + dec + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rate_Limiter + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -123,11 +424,11 @@ - + - + -1 @@ -145,11 +446,11 @@ - + - + sfix28_En16 @@ -159,6 +460,54 @@ + + + + + + + + + + + + + + + + + + [Vq_Open] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -171,11 +520,11 @@ - + - + [Vq_prev] @@ -193,11 +542,11 @@ - + - + sfix16_En4 @@ -219,19 +568,19 @@ - + - + - + - + @@ -257,11 +606,11 @@ - + - + sfix16_En4 @@ -273,28 +622,28 @@ - - + + - + - + - - [Vq_Open] + + [Vq_prev] - + @@ -304,54 +653,6 @@ - - - - - - - - - - - - - - - - - - [Vq_Open] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -364,19 +665,19 @@ - + - + - + - + @@ -402,11 +703,11 @@ - + - + sfix28_En16 @@ -418,155 +719,77 @@ - - - + + + - - + + - - + + - - u - - - - - - - - initVal - - - - - - - - init - - - - - - - - inc - - - - - - - - dec - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - + + [Vq_Open] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + default: { } + + + + + + + - - + + - - + + - - Rate_Limiter - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Action Port @@ -587,11 +810,11 @@ - + - + 0 @@ -609,122 +832,11 @@ - + - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - default: { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - dV_openRate - - - - - - - - - - - - - - - - - - - - - - dV_openRate - - - - - - - - - - - - - - + sfix28_En16 @@ -746,11 +858,11 @@ - + - + 1 @@ -768,11 +880,11 @@ - + - + Vq_prev @@ -783,11 +895,11 @@ - + - + sfix16_En4 @@ -797,118 +909,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1071,5 +1071,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg index 2dd19a8..8542e14 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg @@ -15,7 +15,7 @@ - + @@ -444,7 +444,7 @@ - + @@ -853,5 +853,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg index cc561ae..7791171 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg @@ -63,7 +63,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -654,7 +654,7 @@ - + @@ -1009,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_9040_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json index b8d0b55..c62d50d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json @@ -48,6 +48,267 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "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:9040:2342", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Delay_Init1", + "label":"Delay_Init1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "inspector":{ + "params":[ + "initVal" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2356", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"init", + "label":"init", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2346", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "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", + "Zero", + "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:9040:2355", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"initVal", + "label":"initVal", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "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:9040:2360", "className":"Simulink.Outport", @@ -188,79 +449,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "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:9040:2342", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Delay_Init1", - "label":"Delay_Init1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2356", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2359", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"init", - "label":"init", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -283,74 +476,7 @@ "OutputFunctionCall" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2355", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"initVal", - "label":"initVal", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -456,65 +582,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2346", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "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", - "Zero", - "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:9040:2358", "className":"Simulink.Inport", @@ -582,73 +649,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2359", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"u", - "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "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:9040:2356#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg index 6244b79..c5f6694 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg @@ -46,126 +46,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - @@ -178,35 +58,35 @@ - + - + - + - + - + - + - + - + @@ -218,35 +98,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -264,11 +144,11 @@ - + - + sfix28_En16 @@ -290,59 +170,59 @@ - + - + u - + - + initVal - + - + init - + - + y - + - + 1 - + - + z - + - + @@ -360,11 +240,11 @@ - + - + sfix28_En16 @@ -372,29 +252,29 @@ - + - + - + - + - + - + @@ -418,11 +298,11 @@ - + - + 3 @@ -440,11 +320,11 @@ - + - + init @@ -455,11 +335,11 @@ - + - + boolean @@ -469,132 +349,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - initVal - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - inc - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - @@ -607,27 +361,27 @@ - + - + - + - + - + - + @@ -645,11 +399,11 @@ - + - + sfix28_En16 @@ -661,58 +415,178 @@ - - + + - + - + - - 5 + + 2 - + - - + + - - + + - - dec + + initVal - + - - + + - + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix28_En16 @@ -734,11 +608,11 @@ - + - + 1 @@ -756,11 +630,11 @@ - + - + u @@ -771,11 +645,137 @@ - + - + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + dec + + + + + + + + + + + + + + sfix28_En16 @@ -953,5 +953,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg index 0a5c655..05ecf92 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg @@ -232,5 +232,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json index cd400ba..16763bd 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,11 +477,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -501,7 +501,7 @@ ], "values":[ "rectangular", - "-+", + "++", "off", "Inherit: Inherit via internal rule", "[]", @@ -631,70 +631,11 @@ } }, { - "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:9061", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -702,7 +643,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "i_apha", "Tag" ], "tabs":[ @@ -751,6 +692,39 @@ "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:9054", "className":"Simulink.From", @@ -840,108 +814,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_apha", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_beta", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_sin", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9051", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -993,6 +870,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto26", + "label":"Goto26", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_sin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", "className":"Simulink.From", @@ -1025,11 +935,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":[ @@ -1202,6 +1112,96 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum6", + "label":"Sum6", + "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:9048#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg index d53c56c..4cb97d1 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,59 +412,67 @@ - - - + + + - - + + - + - + - + - + - + - + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -486,11 +494,11 @@ - + - + [r_cos] @@ -519,11 +527,11 @@ - + - + [i_beta] @@ -541,11 +549,11 @@ - + - + sfix16_En4 @@ -567,11 +575,11 @@ - + - + [r_cos] @@ -589,11 +597,11 @@ - + - + sfix16_En14 @@ -605,116 +613,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - + + - + - + - - [r_sin] + + [i_apha] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -735,11 +671,11 @@ - + - + [r_cos] @@ -757,11 +693,11 @@ - + - + sfix16_En14 @@ -771,6 +707,39 @@ + + + + + + + + + + + + + + + + + + [i_beta] + + + + + + + + + + + + + + + @@ -783,11 +752,11 @@ - + - + [r_sin] @@ -805,11 +774,11 @@ - + - + sfix16_En14 @@ -831,19 +800,19 @@ - + - + - + - + @@ -861,229 +830,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_apha] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_beta] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [i_apha] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -1105,19 +856,19 @@ - + - + - + - + @@ -1135,11 +886,148 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [i_apha] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1161,11 +1049,11 @@ - + - + [i_beta] @@ -1183,11 +1071,11 @@ - + - + sfix16_En4 @@ -1209,11 +1097,11 @@ - + - + [i_apha] @@ -1242,19 +1130,19 @@ - + - + - + - + @@ -1272,11 +1160,123 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1540,5 +1540,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json index 6b6047e..663f5cf 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 @@ -128,6 +128,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_nKp", + "label":"cf_nKp", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "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:9104", "className":"Simulink.Constant", @@ -178,11 +227,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9103", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_nKb", - "label":"cf_nKb", + "name":"cf_iqKiLimProt", + "label":"cf_iqKiLimProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -196,7 +245,7 @@ "FramePeriod" ], "values":[ - "cf_nKb", + "cf_iqKiLimProt", "on", "inf", "[]", @@ -226,127 +275,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9100", - "className":"Simulink.SignalConversion", - "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" - ], - "values":[ - "Signal copy", - "Inherit: auto", - "off" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SignalConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9099", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_nKp", - "label":"cf_nKp", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_nKp", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,8)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "className":"Simulink.SubSystem", @@ -440,6 +368,72 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9097", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_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:9100", + "className":"Simulink.SignalConversion", + "icon":"WebViewIcon3", + "name":"Signal Conversion2", + "label":"Signal Conversion2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" + ], + "values":[ + "Signal copy", + "Inherit: auto", + "off" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SignalConversion", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9096", "className":"Simulink.Goto", @@ -473,6 +467,211 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9103", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_nKb", + "label":"cf_nKb", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_nKb", + "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:9092", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "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:9091", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "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:9090", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From45", + "label":"From45", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "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:9101", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "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:9095", "className":"Simulink.Goto", @@ -506,70 +705,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9093", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "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:9088", "className":"Simulink.From", @@ -601,6 +736,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9094", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_mot", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", "className":"Simulink.From", @@ -632,6 +800,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,10)", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "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:9084", "className":"Simulink.From", @@ -663,6 +888,70 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9093", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", "className":"Simulink.Inport", @@ -730,73 +1019,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9080", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"n_min", - "label":"n_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9079", "className":"Simulink.Inport", @@ -864,72 +1086,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "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:9097", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_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:9078", "className":"Simulink.Inport", @@ -998,21 +1154,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -1026,7 +1180,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9085", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -1165,53 +1350,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9086", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "n_min", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1219,127 +1376,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9080", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"cf_iqKiLimProt", - "label":"cf_iqKiLimProt", + "name":"n_min", + "label":"n_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Value", - "VectorParams1D", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "cf_iqKiLimProt", + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "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:9094", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_mot", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", "off", - "[]", - "[]", - "fixdt(1,16,10)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "off" ], "tabs":[ "Main", @@ -1349,7 +1434,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1358,70 +1443,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9085", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9099", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" ], "values":[ - "n_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":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "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":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { @@ -1491,68 +1553,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9086", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.png index 5121050048a57e5c47246264d8da4e66f65b6b6d..3e8f6d9b24d738c9f0721ca8320d500ed915504a 100644 GIT binary patch delta 4666 zcmeyU@ls=gWxcegi(^Q|oVRx)bEKa)vVZtLK}j`mkxS>4712{%=1xI3qrSVHVCW`bwEcn*=EJ8VOzD{_N%J2WxM(&3ne)w^|{9L*xZ)m8f%aq9vXWKC@ z`r9*kBBS5L2j}V)^7Z*%eXW}4wY25;nl)=4{P_5|`r{{;-D&eQ(O1BnMkJHLHO?JPSxk8R1y zm7Ko5zPBEGs4#g>`u0h+v+U|TmLqxFlPfABcAPKE6L$A-B5g>v8*kf+tgiDl029va=5# zIl{uj#%yJ6ow)sW`EQxdeTIjGR0Q}Qe?2|j@Z*BL0h6bzs@m1v-74>wn7Hu6`!8RFrzx1% z+I^}2{rA8bo`3)bi@86(J1{VR{VE|ZfBfs~>lbg|=I%b)bn8~sm8(||CT+|(|GjGO zhu?oAA|ei4Tg`{!_0yk zIoo{0zn56`o;>NPqpO>kn8+w9DypHcfB(zAbMx)_LqqE?-n-YgY?+#giOG|i|I+8X z=h@y4+xRcLKp=Ue1jB-BImh^`t4o(UPFuBV#=LoMHgfkr)@VmgyLj{FO51reXF9$) zm~FQz$Mfoi3k;iY?s@w!ZoT-|uU}7`KYxAO(jd(zPi=KVBn5=no~&NK@6ew=d&<80 zt4-bzwbuV=t&Fs{rh;+(Od}aSWf87}DMpUdQrVsu&b2P*`&jX3o3@~ zt7`iBtmiGc6B-*Ck0cqoEDqfB<59Q&iz)jey}i9(ynM;HVW;kw6`Pjc+^i$l|G3xu zUd5W{=gyx`uBxi~&+ZZ$`selD>X{S2Y%~m!?)?!MFRxek@#wOZY9A|PjvlQ)s-dlY z`(wYdT>s+r>;0?WeEvDXL#3>wC&w`&D5z=HEUC9LMW&aerKJNyLbkk=h+AJC+*$bT zP2>z8wFn)t8#$oly=c=Wp-va2bWba5>uwJfrpRdz%XWW!*e-wQZCP?bfq=UIyeC`c zFuO$@-SzD2qn%en6DlPqq%K&;_g<%7@6nFatrsr_#_X*UZReM7Q}KN9=8cQH`|)K3 zd%oYRHkj#C@%gNI;k!GQN0JOfLPBz0Z9R3><9mgTfdtR&W646DERQ}~czJnUxOHpQ z?&n9|e}C*>|4Vq%NtLXutboA4jW28G+E$DG{Q2|6`}f!5!UIL_?5maj`}Z$H!^)MK zEY0-?=bXQP>U`ZdV;So*p7^?-s&(IY-+%b)>uc+(f0rML@BhJCRb74Y^5y2XHnuC* zufKos^QO>~8yl0WOWOMVBm`9F99HU zZM1Cp@{jL!zhAU@v#|dDKbzKtzmHTrZDjZF$K(Awy0*$QDXmGmJAcN3mo7}by}c6B z(#|?!&KH|EHh$e}TR%x<;l_=H*Zo#)-CBCRZ)*3+luNdKZi_W^bgq0oXM2wSc8bx$ zl`A=)K7A@7A#vmS!yUz+{|m(b%(?t6#LG2qUJLtmmnSbawCHSgI{CU~)v6PxPhVa& zkFTA%(c!^LsTfhVB|CRYo;`bZ#@x9_R|YRHDtj-N@~}XHo0~g8g!S#)xAh$^O1q2h zT)P%_mo>#cXlkg5#j(=cVNITQKC)fBm2-6OM1hddqYu{^S;(^P`uol|I^g=RNqN!U z-rNiewrmlx|9R5?!o`b?7cT~G*}C=ZTj`t0x9hr}?~SWa5=)kJ`UcI_>y?)k`-FNdM)`sQYcbBxU6e%q& zEwGT;U9@Jel4Q5x=0~@->|HAB!TjRIIU7I58Ic#?2Pdo)oAzn{&$Iaj-`?D0mgh^D z-Ee2-oFk_j8ASHW2Z$`#CH24dA=9tduMJI2TcfwjQR&C)ZF>u2ZY=3cRK<-xhuC>lQynS1HD1A@)kQQ9v`NUl zU(VIjv-6rmzl)NDoZK~56?=PmZEbA>sop4SRRN9{y9%dIpI*9Ny8n3TLeBQX8oIi! z3IYz*)z#;cQ>0%`QaPAo_IPS|+|5l3<6>fZ0yMt(@H4IQV%eH1JbPPxS*F~5t49Z( zPZv)xlm2k3+^oLe_0DWPx7gR^rMItzZ>;-udH$l^yRDzs>}+ohVYdf8TFioV>!l^oYsSsu_5y5@~fOU$H`Dk`3rtPHnht@rcwO{}YvGn>u( zu|g&_HPt|>cgF15hqKr3Z41$A-Ch3v(f9rTZFlY3m0&b8AR3NOsV#pOvhKsAG}zh@w_sp-a4|-P~ymoGdv6nmagKuTDH63BHQe~HML2_v*Pd9>)Y?hp9nd9zw){4pW3I-GmabB z)GfHnSh4#b$?WmoM@d_(WFn%X4xKr}^QO#t zj^FZcOVioEZCV$*n{D~!&Ye3g->UG-S}l=|{ra<}z9O@G)g4C_t`lEhU*D>!7QQaV zQERGGa8F=|Wm>t4E3&R)Yq$vO$rK^8*}k{M_}UY>@-Ti5d^?{+G)$h-qovH6S zNo9^zsn_=Vzs_gWvbU&s8qD;$Wtozy{*9H1vBgP|VW#${SFcu;?eE_Ac@fFQvLrq?B???4B$An{@tUq=EdwOx3$8w zre0#Z(ACv7ud8b3i?%g;_Sm@8D+zx2{yksnbU>)6u(0rs;^%#3PtSjKUB7m1X7MgF zsqb;_C8fVMp4)xqVw?1Kn}VG&QCnY~nyS5G_3FbHE(p|pX!hBvZoU2OmzS4k%$RZD z#S0C+xIH^o-r5>o_w#i8qUFokV`F0rEMz>?CV%+-*JEjrfdo%RX6D7Jy+xHm!MFI%?p;KqdDsjBt#`y7P%`WSoRn^tS_m-AVxU;+5-&{N4@0|62{?w>U_LSgZyDMr{ zExLaF`s=)U@2)(UzQ67AC)S4c*j4jmW;Cxo!ecqLZS9esokvYAPH`ugFo=F*+A-T` zy}8YQqpVqR*XDjdRxBwe=VmnXNOb;Q*8TVU12pPeo;^!T+?uaH$Fi6$f6qs@YuBzN z7|kpzNwhU6-q>(fdkZsred^J5>(=G}5@BGtZyVT}pwSr~zp8C%!Qb$Szl}?7@~~Z$>s=xc_Okm!`q&ui+XFY3y+A4H!f0oGIh#>SXamI&2cL)UJTrEH}CGE{Ls+Q zU2Gqoo}L~U9LyXVTKN54tcaM{qZ1RAcWK`~apFX|4INB`^xc}Vwe6wfM!>y(c0s@|s=0*6QY!vEb5bOT;tiG${ z*TctO|KB?m_B-d!yxKX*|9hKTU$2e`4i4sMb;`)fa&mP&x=icZrAtC;>gt7$kMW9# zi@#nKA^m*o-yg^A-O|(5^nrmnH%Zh|n ztYi!eXPnG=;yk-d-0JHk@Yl@nP5~ zQSe2h;ImplDC?QCjJdfD7dh_iVwJJyGcippEG#^}U65hstj5C+FQnPpcNwRjTd-@F z6gM~b?Y@HiE%Utu5*;RO>e;`ygwrmvjb*{DltcSvtkq&73;!fuw`k;p?-swc~b|@pdgbkhJl^ zi;IhAhlTAac*v9z*>*GuRIuxaITschPMbCj)L!?Et*^iHw3M&Md%970>1^H4meZy) z%lSWRzjvLThcC@(^Cl({apt>s5A;gUWGE?Nh_B~0F=0qfKCsZa;rw(>O`*;+<-q|H zD(9VN-*NZA_I+P{_a{fJ4Qn}^So7`Xv)fhMl}{V_&9T_Xp1!ph)T?{^E%%3<$(t-6 zwLcry^B=Q~i=0?LkMCw@r>m=LM0B*XfrN|FM2E^s%R>(hUcGviU^e^V$BGS`HZ^U( zUngyzfA5a@LxydfCw3M;e^9o&@awD4DO09og#UkE`@XvVV~kXlnaX6(+|Ffh|A}$1 zBy7IUL@`S literal 5233 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 C>~t~! 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 877593a..0514b38 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg @@ -86,6 +86,54 @@ + + + + + + + + + + + + + + + + + + cf_nKp + + + + + + + + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + @@ -98,11 +146,11 @@ - + - + cf_nKi @@ -120,11 +168,11 @@ - + - + ufix16_En16 @@ -136,43 +184,58 @@ - - + + - + - + - - cf_nKb + + cf_iqKiLimProt - + + + + + + + + + + + + cf_iqKiLimProt + + + + - + - - + + - + ufix16_En16 @@ -182,6 +245,198 @@ + + + + + + + + + + + + + + + + + + err + + + + + + + + P + + + + + + + + I + + + + + + + + Kb + + + + + + + + ext_limProt + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + PI(z) + + + + + + + + + + + + + + + + + + + + + + PI_backCalc_fixdt_n + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_min] + + + + + + + + + + + + + + + @@ -194,131 +449,131 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -344,11 +599,11 @@ - + - + sfix16_En4 @@ -358,325 +613,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - cf_nKp - - - - - - - - - - - - - - - - - - - - - - ufix16_En8 - - - - - - - - - - - - - - - - - - - - - - - - - - err - - - - - - - - P - - - - - - - - I - - - - - - - - Kb - - - - - - - - ext_limProt - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - out - - - - - - - - PI(z) - - - - - - - - - - - - - - - - - - - - - - PI_backCalc_fixdt_n - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -689,11 +625,11 @@ - + - + [n_max] @@ -710,6 +646,232 @@ + + + + + + + + + + + + + + + + + + cf_nKb + + + + + + + + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -722,11 +884,11 @@ - + - + [iq_limProt] @@ -743,87 +905,6 @@ - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -836,11 +917,11 @@ - + - + [r_inpTgtSca] @@ -858,11 +939,11 @@ - + - + sfix16_En4 @@ -872,6 +953,39 @@ + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + @@ -884,11 +998,11 @@ - + - + [n_mot] @@ -906,11 +1020,11 @@ - + - + sfix16_En4 @@ -920,6 +1034,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En10 + + + + + + + + @@ -932,11 +1102,11 @@ - + - + [iq_limProt] @@ -954,11 +1124,11 @@ - + - + sfix16_En4 @@ -968,6 +1138,87 @@ + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + @@ -1031,69 +1282,6 @@ - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - n_min - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -1106,11 +1294,11 @@ - + - + 5 @@ -1128,11 +1316,11 @@ - + - + n_max @@ -1143,11 +1331,11 @@ - + - + sfix16_En4 @@ -1157,72 +1345,6 @@ - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_min] - - - - - - - - - - - - - - - @@ -1235,11 +1357,11 @@ - + - + 4 @@ -1257,11 +1379,11 @@ - + - + n_mot @@ -1272,11 +1394,11 @@ - + - + sfix16_En4 @@ -1288,29 +1410,92 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [Vq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1331,11 +1516,11 @@ - + - + 3 @@ -1353,11 +1538,11 @@ - + - + Vq_min @@ -1368,11 +1553,11 @@ - + - + sfix16_En4 @@ -1394,11 +1579,11 @@ - + - + 2 @@ -1416,11 +1601,11 @@ - + - + Vq_max @@ -1431,11 +1616,11 @@ - + - + sfix16_En4 @@ -1447,59 +1632,43 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + [n_min] - - + + - + - - + + - + sfix16_En4 @@ -1511,195 +1680,58 @@ - - - + + + - - + + - - + + - - cf_iqKiLimProt + + 6 - - + + - - + + - - + + - - cf_iqKiLimProt + + n_min - - - - - - - - - - ufix16_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En10 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_max] - - - - - - - - - - - - - + - - + + - + sfix16_En4 @@ -1711,43 +1743,107 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - [Vq_min] + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - + - - + + - + sfix16_En4 @@ -1769,11 +1865,11 @@ - + - + 1 @@ -1791,11 +1887,11 @@ - + - + r_inpTgtSca @@ -1806,107 +1902,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - case: { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - [n_min] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -2240,5 +2240,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.json index adcafec..a0e3c00 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.json @@ -1,54 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2528", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2281", "className":"Simulink.Outport", @@ -129,6 +79,56 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2528", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2279", "className":"Simulink.Sum", @@ -188,53 +188,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2697", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2276", "className":"Simulink.Inport", @@ -302,6 +255,53 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2697", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2697#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg index 6f34f5a..ee95d1e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2275_d.svg @@ -10,12 +10,60 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + - + @@ -23,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -72,80 +120,32 @@ - - - - - - - - - - - Ini=0 - - - - - + - + sfix32_En20 - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - + + - + - - y + + Ini=0 @@ -226,6 +226,69 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + @@ -238,19 +301,19 @@ - + - + - + - + @@ -276,11 +339,11 @@ - + - + sfix16_En4 @@ -290,69 +353,6 @@ - - - - - - - - - - - - - - - - - - 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_9098_2282_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2282_d.svg index 6868753..0ec5ad8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2282_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_2282_d.svg @@ -63,7 +63,7 @@ - + @@ -1009,10 +1009,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_9098_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json index 7954e08..76f3d20 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.json @@ -1,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2290", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"out", - "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "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:9098:2527", "className":"Simulink.UnitDelay", @@ -129,6 +49,402 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2293", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "-+|", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "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:9098:2275", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "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:9098:2272", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2285", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum6", + "label":"Sum6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2253", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMax", + "label":"satMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "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:9098:2292", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "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:9098:2282", "className":"Saturation Dynamic", @@ -225,122 +541,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2292", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "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:9098:2293", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "-+|", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "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:9098:2254", "className":"Simulink.Inport", @@ -409,11 +609,150 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2253", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2290", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "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:9098:2284", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2291", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -436,7 +775,141 @@ "OutputFunctionCall" ], "values":[ - "6", + "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:9098:2252", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"I", + "label":"I", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2251", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"P", + "label":"P", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "2", "Port number", "[]", "[]", @@ -542,479 +1015,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2291", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "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:9098:2275", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "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:9098:2252", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"I", - "label":"I", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2272", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2251", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"P", - "label":"P", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "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:9098:2285", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2284", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "+++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2250", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.png index c5131063c35d5bd62fffccbfd77611eccab772e2..b66d6f9d9c1ebf1c61db7985902afcb0fc690ebd 100644 GIT binary patch literal 6949 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 literal 6957 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.svg index 22a5c7e..a04497e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9098_d.svg @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + Ini=0 @@ -140,235 +92,11 @@ - + - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + sfix32_En20 @@ -390,27 +118,27 @@ - + - + - + - + - + - + @@ -428,11 +156,11 @@ - + - + sfix16_En4 @@ -442,263 +170,11 @@ - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - satMin - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - satMax - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - ext_limProt - - - - - - - - - - - - - - - sfix16_En10 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - Kb - - - - - - - - - - - - - - - ufix16_En16 - - - - - - - - - + @@ -712,19 +188,19 @@ - + - + u - + - + y @@ -754,11 +230,11 @@ - + - + Integrator @@ -775,11 +251,11 @@ - + - + sfix16_En4 @@ -791,78 +267,15 @@ - + - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - I - - - - - - - - - - - - - - - ufix16_En16 - - - - - - - - - - - - + @@ -870,19 +283,19 @@ - + - + - + - + @@ -900,11 +313,11 @@ - + - + sfix32_En20 @@ -914,69 +327,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - P - - - - - - - - - - - - - - - ufix16_En8 - - - - - - - - @@ -989,35 +339,35 @@ - + - + - + - + - + - + - + - + @@ -1035,11 +385,11 @@ - + - + sfix16_En4 @@ -1049,6 +399,404 @@ + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + satMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En5 + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + satMin + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + @@ -1061,51 +809,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -1123,11 +871,11 @@ - + - + sfix32_En20 @@ -1137,6 +885,258 @@ + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + Kb + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + I + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + P + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + ext_limProt + + + + + + + + + + + + + + + sfix16_En10 + + + + + + + + @@ -1486,5 +1486,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg index 0481f51..da35118 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9099_d.svg @@ -63,7 +63,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -654,7 +654,7 @@ - + @@ -1009,18 +1009,18 @@ - - - - - - + + + + + + @@ -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_9109_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json index 0ad3888..5462bd1 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 @@ -48,6 +48,104 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_iqKp", + "label":"cf_iqKp", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKp", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,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: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:9137", "className":"Simulink.Constant", @@ -97,65 +195,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9136", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9135", "className":"Simulink.Sum", @@ -249,32 +288,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9136", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"cf_iqKp", - "label":"cf_iqKp", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "cf_iqKp", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,8)", + "rectangular", + "++", "off", - "inf" + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -283,8 +332,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 10 ] }, "viewer":{ @@ -293,7 +342,100 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"PI_backCalc_fixdt_Iq", + "label":"PI_backCalc_fixdt_Iq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "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":"" } }, @@ -336,6 +478,453 @@ "masktype":"Saturation Dynamic" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9127", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9125", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9124", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From47", + "label":"From47", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9121", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From34", + "label":"From34", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9119", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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: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", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From44", + "label":"From44", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9122", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_limProt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9117", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9120", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "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:9115", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_min", + "label":"iq_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:9130", "className":"Simulink.Goto", @@ -369,6 +958,106 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_max", + "label":"iq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "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:9131", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_limProt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", "className":"Simulink.Goto", @@ -483,360 +1172,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9125", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9123", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9122", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_limProt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_limProt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "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:9119", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9124", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9117", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9114", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"n_limProt", + "label":"n_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -859,7 +1199,74 @@ "OutputFunctionCall" ], "values":[ - "5", + "7", + "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:9112", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_min", + "label":"Vq_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", "Port number", "[]", "[]", @@ -965,346 +1372,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9115", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "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:9132", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_backCalc_fixdt_Iq", - "label":"PI_backCalc_fixdt_Iq", - "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:9127", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9112", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:9111", "className":"Simulink.Inport", @@ -1439,73 +1506,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "7", - "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:9138#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png index 69911957ee0d1ec2221db38a053e46a11ad4b93b..85955a4e75478351f36909f6c5067208f3c3dea4 100644 GIT binary patch delta 4689 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 WyO;NBoMK>LVDNPHb6Mw<&;$S}2QQic delta 4662 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 HN@xNAN3RZq 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 7eed33d..5fbe82e 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 @@ -59,6 +59,102 @@ + + + + + + + + + + + + + + + + + + cf_iqKp + + + + + + + + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + cf_iqKi + + + + + + + + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + @@ -71,11 +167,11 @@ - + - + cf_iqKb @@ -93,11 +189,11 @@ - + - + ufix16_En16 @@ -107,78 +203,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -421,44 +445,227 @@ - - - + + + - - + + - + - - cf_iqKp + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En8 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + err + + + + + + + + P + + + + + + + + I + + + + + + + + Kb + + + + + + + + ext_limProt + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + PI(z) + + + + + + + + + + + + + + + + + + + + + + PI_backCalc_fixdt_Iq + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -471,7 +678,7 @@ - + @@ -479,35 +686,35 @@ - + - + - + - + - + - + - + - + @@ -519,35 +726,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -565,11 +772,590 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_limProt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + iq_min + + + + + + + + + + + + + + sfix16_En4 @@ -591,11 +1377,11 @@ - + - + [iq] @@ -612,6 +1398,102 @@ + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + iq_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_limProt] + + + + + + + + + + + + + + + @@ -624,11 +1506,11 @@ - + - + [iq_min] @@ -657,11 +1539,11 @@ - + - + 1 @@ -679,11 +1561,11 @@ - + - + Vq_Trq @@ -695,526 +1577,121 @@ - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - case: { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - + + - + - + - - 5 + + 7 - + - - + + - - + + - - iq_max + + n_limProt - + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + Vq_min + + + + + + + + + + + + + + sfix16_En4 @@ -1236,11 +1713,11 @@ - + - + 4 @@ -1258,11 +1735,11 @@ - + - + iq @@ -1273,11 +1750,11 @@ - + - + sfix16_En4 @@ -1287,420 +1764,6 @@ - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - iq_min - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - err - - - - - - - - P - - - - - - - - I - - - - - - - - Kb - - - - - - - - ext_limProt - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - out - - - - - - - - PI(z) - - - - - - - - - - - - - - - - - - - - - - PI_backCalc_fixdt_Iq - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - Vq_min - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - cf_iqKi - - - - - - - - - - - - - - - - - - - - - - ufix16_En16 - - - - - - - - @@ -1713,11 +1776,11 @@ - + - + 2 @@ -1735,11 +1798,11 @@ - + - + Vq_max @@ -1750,11 +1813,11 @@ - + - + sfix16_En4 @@ -1776,11 +1839,11 @@ - + - + 1 @@ -1798,11 +1861,11 @@ - + - + r_inpTgtSca @@ -1813,74 +1876,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - n_limProt - - - - - - - - - - - - - - + sfix16_En4 @@ -2214,5 +2214,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json index 346d2e8..ad5ef7f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.json @@ -1,4 +1,54 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2528", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2275", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2281", "className":"Simulink.Outport", @@ -80,43 +130,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2528", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2697", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2275", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "[]", + "[]", + "fixdt(1,16,4)", "off", - [ - ], - "Auto" + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Main", - "State Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 7 ] }, "viewer":{ @@ -125,7 +172,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -188,53 +235,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2697", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2275", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2276", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg index 4b723fb..7b53931 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2275_d.svg @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + sfix32_En20 @@ -140,11 +92,11 @@ - + - + Ini=0 @@ -156,68 +108,44 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + 1 - - + + - - - + + + - - + + - - sfix32_En20 + + y @@ -238,19 +166,19 @@ - + - + - + - + @@ -276,11 +204,11 @@ - + - + sfix16_En4 @@ -290,6 +218,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg index 6951f64..81fcd2c 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_2282_d.svg @@ -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_9132_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json index 9392e61..2848631 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.json @@ -1,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2290", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"out", - "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "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:9132:2527", "className":"Simulink.UnitDelay", @@ -130,11 +50,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2285", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -153,8 +73,67 @@ "SampleTime" ], "values":[ - "round", - "-+|", + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2284", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+++", "off", "Inherit: Inherit via internal rule", "[]", @@ -162,7 +141,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -285,6 +264,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2273", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide4", + "label":"Divide4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,5)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2292", "className":"Simulink.Product", @@ -343,42 +379,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2284", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2253", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "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":[ - "rectangular", - "+++", - "off", - "Inherit: Inherit via internal rule", + "6", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -388,7 +432,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -397,23 +441,275 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2285", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2282", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2396", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"ext_limProt", + "label":"ext_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2290", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "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:9132:2291", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Kb", + "label":"Kb", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:9132:2272", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -425,13 +721,12 @@ "SampleTime" ], "values":[ - "rectangular", - "++", + "**", + "Element-wise(.*)", "off", + "[]", + "[]", "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", "off", "Simplest", "on", @@ -447,7 +742,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -456,7 +751,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, @@ -528,11 +823,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2396", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2293", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "-+|", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2251", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"P", + "label":"P", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -555,7 +909,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -595,11 +949,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2291", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2250", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"err", + "label":"err", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -622,7 +976,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -728,360 +1082,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2253", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "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:9132:2251", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"P", - "label":"P", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2282", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2250", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"err", - "label":"err", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "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:9132:2273", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2272", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2273#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.png index 21e7be0bb4951e78ae21f3def6b481d3c2c6eaf2..7d3507f4fff741fea78ce00b16572499961c4618 100644 GIT binary patch literal 6972 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 literal 6992 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.svg index 119b800..939d150 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9132_d.svg @@ -10,60 +10,12 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - - + @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + Ini=0 @@ -140,11 +92,11 @@ - + - + sfix32_En20 @@ -156,59 +108,67 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - + sfix16_En4 @@ -218,11 +178,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + - + @@ -236,19 +284,19 @@ - + - + u - + - + y @@ -278,11 +326,11 @@ - + - + Integrator @@ -299,11 +347,11 @@ - + - + sfix16_En4 @@ -315,15 +363,71 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En5 + + + + + + + + + + + - + @@ -331,19 +435,19 @@ - + - + - + - + @@ -361,11 +465,11 @@ - + - + sfix32_En20 @@ -377,155 +481,58 @@ - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 6 - - + + - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - - - - - - - + + satMax - + - + - + sfix16_En4 @@ -537,58 +544,107 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - 7 + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - - - - - - - - - - - - - - - - satMin + + - + - - + + - + sfix16_En4 @@ -610,11 +666,11 @@ - + - + 5 @@ -632,11 +688,11 @@ - + - + ext_limProt @@ -647,11 +703,11 @@ - + - + sfix32_En20 @@ -661,6 +717,54 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + @@ -673,11 +777,11 @@ - + - + 4 @@ -695,11 +799,11 @@ - + - + Kb @@ -710,11 +814,11 @@ - + - + ufix16_En16 @@ -726,59 +830,52 @@ - - - + + + - - + + - - + + - - 3 + + + + + + + + + + - - - - - - - - - - - - - - - - - I + + - - + + - - + + - - ufix16_En16 + + sfix32_En20 @@ -789,58 +886,122 @@ - - + + - + - + - - 6 + + 7 - + - - + + - - + + - - satMax + + satMin - + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -862,11 +1023,11 @@ - + - + 2 @@ -884,11 +1045,11 @@ - + - + P @@ -896,127 +1057,15 @@ - + - + - - ufix16_En8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + ufix16_En12 @@ -1037,11 +1086,11 @@ - + - + 1 @@ -1059,11 +1108,11 @@ - + - + err @@ -1074,11 +1123,11 @@ - + - + sfix16_En4 @@ -1090,108 +1139,59 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - + + 3 - - + + + + + + + + + + + + + + + + + I - - + + - + - - sfix32_En20 + + ufix16_En16 @@ -1486,5 +1486,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg index a9c27ee..472b094 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg @@ -63,7 +63,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -654,7 +654,7 @@ - + @@ -1012,15 +1012,15 @@ - - - + + + @@ -1103,10 +1103,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json index 3a6a5a9..98ca4b3 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 @@ -138,6 +138,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9169", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant", + "label":"constant", + "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:9168", "className":"Simulink.Constant", @@ -162,7 +211,7 @@ "inf", "[]", "[]", - "fixdt(0,16,8)", + "fixdt(0,16,12)", "off", "inf" ], @@ -187,94 +236,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9166", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_idKb", - "label":"cf_idKb", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_idKb", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "className":"Simulink.SubSystem", @@ -368,154 +329,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:9159", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9169", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", - "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:9157", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_Tgt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", "className":"Simulink.Goto", @@ -583,11 +396,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9158", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -596,7 +409,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "id_max", "local", "Tag" ], @@ -616,11 +429,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9154", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -628,7 +441,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "id_min", "Tag" ], "tabs":[ @@ -647,11 +460,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9153", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9155", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -659,7 +472,38 @@ "IconDisplay" ], "values":[ - "Vd_max", + "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:9154", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd_min", "Tag" ], "tabs":[ @@ -709,166 +553,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9167", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"cf_idKi", - "label":"cf_idKi", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_idKi", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"id_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:9150", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "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:9155", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_max", + "Vd_min", + "local", "Tag" ], "tabs":[ @@ -882,75 +581,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "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" + "RndMeth", + "DoSatur" ], "values":[ - "5", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Same as second input", "off", + "Floor", "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { @@ -1020,6 +691,37 @@ "masktype":"" } }, + { + "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":[ + "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:9146", "className":"Simulink.Inport", @@ -1087,6 +789,170 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"id_max", + "label":"id_max", + "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":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9153", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_Tgt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9158", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152", "className":"Simulink.From", @@ -1118,6 +984,73 @@ "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:9145", "className":"Simulink.Inport", @@ -1186,25 +1119,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9166", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"cf_idKb", + "label":"cf_idKb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "id_min", - "Tag" + "cf_idKb", + "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" @@ -1212,7 +1163,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, @@ -1283,6 +1234,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9167", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_idKi", + "label":"cf_idKi", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_idKi", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.png index fa8d5e89fd24498f608c043c867e40009a64599d..bd38c1f94deff8273edfb5a9af034907666e5ca4 100644 GIT binary patch delta 4976 zcmbQLJwbbdWxbQ9i(^Q|oVRzQeWJ_fv42>Z>X9)5=BP9=6Ldz11$6`D|g-+t;i7t>6u zKBODn#_%x7K)ks>U*h)hZ+0p>ByQK|D8wwg-ygDa#^b~LdE@7c{QqBG_g~mmN36TC zBj{A*dq#oWl*t=K&P{F*ajtL3(yfoMkZHU9_S}mbckaZ9h>6)f78LAU`%?7D!^7