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 | 2668 ++++---- ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.png | Bin 10825 -> 10832 bytes ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg | 4792 +++++++------- ...motorControl_FOC_R2017b_fixdt_29_icons.png | Bin 3304 -> 3304 bytes ...CmotorControl_FOC_R2017b_fixdt_8220_d.json | 976 +-- ...DCmotorControl_FOC_R2017b_fixdt_8220_d.png | Bin 14720 -> 14718 bytes ...DCmotorControl_FOC_R2017b_fixdt_8220_d.svg | 1454 ++--- ...CmotorControl_FOC_R2017b_fixdt_8225_d.json | 18 +- ...DCmotorControl_FOC_R2017b_fixdt_8225_d.svg | 126 +- ...CmotorControl_FOC_R2017b_fixdt_8235_d.json | 64 +- ...DCmotorControl_FOC_R2017b_fixdt_8235_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_8247_d.svg | 26 +- ...CmotorControl_FOC_R2017b_fixdt_8263_d.json | 1476 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8263_d.png | Bin 8313 -> 8315 bytes ...DCmotorControl_FOC_R2017b_fixdt_8263_d.svg | 3004 ++++----- ...orControl_FOC_R2017b_fixdt_8272_2515_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_8272_d.json | 152 +- ...DCmotorControl_FOC_R2017b_fixdt_8272_d.svg | 362 +- ...CmotorControl_FOC_R2017b_fixdt_8314_d.json | 1242 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8314_d.svg | 2824 ++++---- ...CmotorControl_FOC_R2017b_fixdt_8384_d.json | 774 ++- ...DCmotorControl_FOC_R2017b_fixdt_8384_d.png | Bin 7333 -> 7891 bytes ...DCmotorControl_FOC_R2017b_fixdt_8384_d.svg | 1402 ++-- ...CmotorControl_FOC_R2017b_fixdt_8469_d.json | 1476 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8469_d.png | Bin 6574 -> 6565 bytes ...DCmotorControl_FOC_R2017b_fixdt_8469_d.svg | 3141 ++++----- ...rControl_FOC_R2017b_fixdt_8486_2423_d.json | 62 +- ...orControl_FOC_R2017b_fixdt_8486_2423_d.svg | 94 +- ...rControl_FOC_R2017b_fixdt_8486_2428_d.json | 494 +- ...orControl_FOC_R2017b_fixdt_8486_2428_d.svg | 1014 +-- ...trol_FOC_R2017b_fixdt_8486_2435_2515_d.svg | 28 +- ...rControl_FOC_R2017b_fixdt_8486_2435_d.json | 176 +- ...orControl_FOC_R2017b_fixdt_8486_2435_d.svg | 452 +- ...rControl_FOC_R2017b_fixdt_8486_2473_d.json | 446 +- ...orControl_FOC_R2017b_fixdt_8486_2473_d.svg | 1010 +-- ...trol_FOC_R2017b_fixdt_8486_2480_2515_d.svg | 4 +- ...rControl_FOC_R2017b_fixdt_8486_2480_d.json | 140 +- ...orControl_FOC_R2017b_fixdt_8486_2480_d.svg | 370 +- ...orControl_FOC_R2017b_fixdt_8486_2507_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8486_d.json | 1096 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8486_d.png | Bin 6783 -> 6796 bytes ...DCmotorControl_FOC_R2017b_fixdt_8486_d.svg | 1768 ++--- ...DCmotorControl_FOC_R2017b_fixdt_8519_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8535_d.json | 600 +- ...DCmotorControl_FOC_R2017b_fixdt_8535_d.png | Bin 7844 -> 7857 bytes ...DCmotorControl_FOC_R2017b_fixdt_8535_d.svg | 1074 +-- ...CmotorControl_FOC_R2017b_fixdt_8546_d.json | 1134 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8546_d.svg | 1574 ++--- ...CmotorControl_FOC_R2017b_fixdt_8603_d.json | 24 +- ...DCmotorControl_FOC_R2017b_fixdt_8603_d.svg | 166 +- ...CmotorControl_FOC_R2017b_fixdt_8658_d.json | 3072 ++++----- ...DCmotorControl_FOC_R2017b_fixdt_8658_d.png | Bin 9737 -> 9826 bytes ...DCmotorControl_FOC_R2017b_fixdt_8658_d.svg | 5814 +++++++++-------- ...CmotorControl_FOC_R2017b_fixdt_8668_d.json | 438 +- ...DCmotorControl_FOC_R2017b_fixdt_8668_d.png | Bin 5858 -> 5838 bytes ...DCmotorControl_FOC_R2017b_fixdt_8668_d.svg | 930 +-- ...CmotorControl_FOC_R2017b_fixdt_8671_d.json | 508 +- ...DCmotorControl_FOC_R2017b_fixdt_8671_d.svg | 522 +- ...CmotorControl_FOC_R2017b_fixdt_8686_d.json | 354 +- ...DCmotorControl_FOC_R2017b_fixdt_8686_d.svg | 428 +- ...CmotorControl_FOC_R2017b_fixdt_8726_d.json | 614 +- ...DCmotorControl_FOC_R2017b_fixdt_8726_d.png | Bin 5186 -> 5184 bytes ...DCmotorControl_FOC_R2017b_fixdt_8726_d.svg | 830 +-- ...CmotorControl_FOC_R2017b_fixdt_8738_d.json | 266 +- ...DCmotorControl_FOC_R2017b_fixdt_8738_d.svg | 312 +- ...CmotorControl_FOC_R2017b_fixdt_8743_d.json | 2065 ++++-- ...DCmotorControl_FOC_R2017b_fixdt_8743_d.png | Bin 9524 -> 9568 bytes ...DCmotorControl_FOC_R2017b_fixdt_8743_d.svg | 3071 ++++++--- ...CmotorControl_FOC_R2017b_fixdt_8866_d.json | 202 +- ...DCmotorControl_FOC_R2017b_fixdt_8866_d.png | Bin 4635 -> 4627 bytes ...DCmotorControl_FOC_R2017b_fixdt_8866_d.svg | 392 +- ...CmotorControl_FOC_R2017b_fixdt_8886_d.json | 284 +- ...DCmotorControl_FOC_R2017b_fixdt_8886_d.png | Bin 7779 -> 7763 bytes ...DCmotorControl_FOC_R2017b_fixdt_8886_d.svg | 482 +- ...CmotorControl_FOC_R2017b_fixdt_8913_d.json | 2634 ++++---- ...DCmotorControl_FOC_R2017b_fixdt_8913_d.png | Bin 14265 -> 14250 bytes ...DCmotorControl_FOC_R2017b_fixdt_8913_d.svg | 4976 +++++++------- ...CmotorControl_FOC_R2017b_fixdt_8924_d.json | 206 +- ...DCmotorControl_FOC_R2017b_fixdt_8924_d.png | Bin 3748 -> 3748 bytes ...DCmotorControl_FOC_R2017b_fixdt_8924_d.svg | 316 +- ...DCmotorControl_FOC_R2017b_fixdt_8930_d.svg | 10 +- ...CmotorControl_FOC_R2017b_fixdt_8987_d.json | 232 +- ...DCmotorControl_FOC_R2017b_fixdt_8987_d.png | Bin 4089 -> 4092 bytes ...DCmotorControl_FOC_R2017b_fixdt_8987_d.svg | 448 +- ...DCmotorControl_FOC_R2017b_fixdt_8993_d.svg | 12 +- ...CmotorControl_FOC_R2017b_fixdt_9029_d.json | 554 +- ...DCmotorControl_FOC_R2017b_fixdt_9029_d.svg | 824 +-- ...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 | 328 +- ...DCmotorControl_FOC_R2017b_fixdt_9040_d.svg | 492 +- ...DCmotorControl_FOC_R2017b_fixdt_9042_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9045_d.json | 262 +- ...DCmotorControl_FOC_R2017b_fixdt_9045_d.svg | 470 +- ...CmotorControl_FOC_R2017b_fixdt_9074_d.json | 882 +-- ...DCmotorControl_FOC_R2017b_fixdt_9074_d.png | Bin 5233 -> 5225 bytes ...DCmotorControl_FOC_R2017b_fixdt_9074_d.svg | 1666 ++--- ...rControl_FOC_R2017b_fixdt_9098_2275_d.json | 188 +- ...orControl_FOC_R2017b_fixdt_9098_2275_d.svg | 252 +- ...orControl_FOC_R2017b_fixdt_9098_2282_d.svg | 12 +- ...CmotorControl_FOC_R2017b_fixdt_9098_d.json | 724 +- ...DCmotorControl_FOC_R2017b_fixdt_9098_d.png | Bin 6957 -> 6949 bytes ...DCmotorControl_FOC_R2017b_fixdt_9098_d.svg | 1018 +-- ...DCmotorControl_FOC_R2017b_fixdt_9099_d.svg | 26 +- ...CmotorControl_FOC_R2017b_fixdt_9109_d.json | 806 +-- ...DCmotorControl_FOC_R2017b_fixdt_9109_d.png | Bin 5235 -> 5238 bytes ...DCmotorControl_FOC_R2017b_fixdt_9109_d.svg | 1148 ++-- ...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 | 564 +- ...DCmotorControl_FOC_R2017b_fixdt_9132_d.png | Bin 6992 -> 6972 bytes ...DCmotorControl_FOC_R2017b_fixdt_9132_d.svg | 928 +-- ...DCmotorControl_FOC_R2017b_fixdt_9133_d.svg | 24 +- ...CmotorControl_FOC_R2017b_fixdt_9143_d.json | 558 +- ...DCmotorControl_FOC_R2017b_fixdt_9143_d.png | Bin 5525 -> 5520 bytes ...DCmotorControl_FOC_R2017b_fixdt_9143_d.svg | 948 +-- ...orControl_FOC_R2017b_fixdt_9163_2275_d.svg | 28 +- ...orControl_FOC_R2017b_fixdt_9163_2282_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_9163_d.json | 672 +- ...DCmotorControl_FOC_R2017b_fixdt_9163_d.png | Bin 6981 -> 6973 bytes ...DCmotorControl_FOC_R2017b_fixdt_9163_d.svg | 998 +-- ...DCmotorControl_FOC_R2017b_fixdt_9164_d.svg | 8 +- ...CmotorControl_FOC_R2017b_fixdt_9171_d.json | 392 +- ...DCmotorControl_FOC_R2017b_fixdt_9171_d.png | Bin 5273 -> 5273 bytes ...DCmotorControl_FOC_R2017b_fixdt_9171_d.svg | 688 +- ...DCmotorControl_FOC_R2017b_fixdt_9188_d.svg | 10 +- ...CmotorControl_FOC_R2017b_fixdt_9198_d.json | 392 +- ...DCmotorControl_FOC_R2017b_fixdt_9198_d.png | Bin 9680 -> 9681 bytes ...DCmotorControl_FOC_R2017b_fixdt_9198_d.svg | 848 +-- ...DCmotorControl_FOC_R2017b_fixdt_9292_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9293_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9333_d.json | 504 +- ...DCmotorControl_FOC_R2017b_fixdt_9333_d.svg | 716 +- ...CmotorControl_FOC_R2017b_fixdt_9337_d.json | 62 +- ...DCmotorControl_FOC_R2017b_fixdt_9337_d.svg | 62 +- ...CmotorControl_FOC_R2017b_fixdt_9341_d.json | 442 +- ...DCmotorControl_FOC_R2017b_fixdt_9341_d.svg | 646 +- ...BLDCmotorControl_FOC_R2017b_fixdt_h_1.json | 1379 ++-- .../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 | 629 +- 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, 45916 insertions(+), 42995 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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⪙{Id5byZM{mOopL%OZLk>#j-1}eK}|$ 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 delta 6382 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 Hn}_@#*wQ2_ literal 10825 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 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 @@ -506,11 +506,11 @@ - - + + - + @@ -520,30 +520,30 @@ - - 7 + + 5 - + - - + + - + - - r_devSignal1 + + n_mot @@ -554,11 +554,11 @@ - - + + - + @@ -568,30 +568,30 @@ - - 5 + + 4 - + - - + + - + - - n_mot + + z_errCode @@ -602,11 +602,11 @@ - - + + - + @@ -616,30 +616,30 @@ - - 4 + + 3 - + - - + + - + - - z_errCode + + DC_phaC @@ -650,44 +650,52 @@ - - - + + + - - + + - + - - 1 + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - - + + + - - + + - - DC_phaA + + action @@ -698,44 +706,52 @@ - - - + + + - - + + - - + + - - z_ctrlTypSel + + u1 + + + + + + + + if(u1 ~= CTRL_COM) - - + + - - + + - - + + - - uint8 + + action @@ -746,76 +762,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [b_hallC] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -826,44 +795,44 @@ - - + + - + - + - - 2 + + 1 - + - + - - + + - - DC_phaB + + DC_phaA @@ -874,98 +843,29 @@ - - - + + + + + + - - - - - - MODEL INFO - - - - - - - - Version: 1.1175 - - - - - - - - Author: Emanuel Feru - - - - - - - - Last modified by: eferu - - - - - - - - Last update: 20-okt-2019 19:26:36 - - - - + + - - Copyright © 2019 Emanuel FERU + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -976,43 +876,29 @@ - - - + + + - - + + - - - - - - - - - + + - - Implemented_control_methods - - - - - - - + + [b_hallB] - - + + @@ -1023,28 +909,28 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_posRaw] - + @@ -1056,28 +942,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [z_ctrlTypSel] - + @@ -1089,28 +975,28 @@ - - + + - + - + - - [b_hallC] + + [b_motEna] - + @@ -1122,28 +1008,28 @@ - - + + - + - + - - [b_hallB] + + [DC_phaA] - + @@ -1155,28 +1041,28 @@ - - + + - + - + - - [z_posRaw] + + [DC_phaB] - + @@ -1188,45 +1074,29 @@ - - - + + + + + + - - - - - - - - - + - - + + - - - - - - - - - + + [z_pos] - - - - - - + + @@ -1237,28 +1107,28 @@ - - + + - + - + - - [DC_phaA] + + [r_devSignal2] - + @@ -1270,28 +1140,28 @@ - - + + - + - + - - [DC_phaB] + + [n_motAbs] - + @@ -1303,62 +1173,44 @@ - - - + + + - - + + - - + + - - [r_devSignal2] + + z_ctrlTypSel - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [n_motAbs] - - - - - - - + + uint8 @@ -1369,29 +1221,44 @@ - - - + + + - - + + - - + + - - [i_phaBC] + + [z_ctrlModPrev] - - + + + + + + + + + + + + + + + + + uint8 @@ -1412,11 +1279,11 @@ - + - + [a_elecAngle] @@ -1435,29 +1302,44 @@ - - - + + + - - + + - - + + - - [i_phaAB] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -1468,28 +1350,28 @@ - - + + - + - + - - [VqFinPrev] + + [r_inpTgt] - + @@ -1501,44 +1383,44 @@ - - + + - + - + - - [z_ctrlModPrev] + + [n_mot] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1549,44 +1431,44 @@ - - + + - + - + - - [b_hallA] + + [r_devSignal1] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1597,44 +1479,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_devSignal2] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1645,44 +1527,76 @@ - - - + + + - - + + - + - - + + - - [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1693,43 +1607,43 @@ - - + + - + - + - + [n_mot] - + - + - - + + - + sfix16_En4 @@ -1741,44 +1655,44 @@ - - + + - + - + - - [r_devSignal2] + + [a_elecAngle] - + - - + + - - + + - - sfix16_En4 + + ufix16_En6 @@ -1789,44 +1703,45 @@ - - - - - - + + + - + - - + + - - [n_mot] + + + + + + + + + + - - - + + + - - - - - - - - - - - sfix16_En4 + + + + + + + @@ -1847,11 +1762,11 @@ - + - + [DC_phaB] @@ -1869,11 +1784,11 @@ - + - + int16 @@ -1885,44 +1800,44 @@ - - + + - + - + - - [z_pos] + + [DC_phaA] - + - - + + - - - + + + - - int8 + + int16 @@ -1933,44 +1848,44 @@ - - - + + + - - + + - - + + - - 6 + + [b_hallC] - - + + - - - + + + - - + + - - a_elecAngle + + uint8 @@ -1981,43 +1896,43 @@ - - + + - + - + - - [b_hallB] + + [z_errCode] - + - + - - + + - + uint8 @@ -2029,77 +1944,44 @@ - - - - - - - - - - - - - - - - [DC_phaC] - - - - - - - - - - - - - - - - - - - + + - + - + - - [r_inpTgtSca] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2120,11 +2002,11 @@ - + - + [r_inpTgtSca] @@ -2142,11 +2024,11 @@ - + - + sfix16_En4 @@ -2158,44 +2040,29 @@ - - - + + + - - + + - - + + - - [DC_phaA] + + [VqFinPrev] - - - - - - - - - - - - - - - - - int16 + + @@ -2206,44 +2073,44 @@ - - + + - + - + - - [b_motStdStill] + + [VqFinPrev] - + - - + + - - + + - - boolean + + int16 @@ -2254,44 +2121,44 @@ - - + + - + - + - - [n_motAbs] + + [b_motEna] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2302,44 +2169,44 @@ - - + + - + - + - - [b_motEna] + + [b_hallB] - + - - + + - - + + - - boolean + + uint8 @@ -2350,43 +2217,43 @@ - - + + - + - + - - [z_posRaw] + + [b_hallA] - + - + - - + + - + uint8 @@ -2398,44 +2265,43 @@ - - - + + + - - + + + + + + + + + - - + + - - [r_devSignal1] + + Implemented_control_methods - - - + + + - - - - - - - - - - - sfix16_En4 + + + @@ -2446,44 +2312,29 @@ - - - + + + - - + + - - + + - - [z_errCode] + + [b_motStdStill] - - - - - - - - - - - - - - - - - uint8 + + @@ -2494,234 +2345,157 @@ - - - + + + - - - - - - - - + + - - - - - - - - b_enaFOC - - - - - - - - z_pos - - - - - - - - z_ctrlTypSel - - - - - - - - r_phaA - - - - - - - - r_phaB - - - - - - - - r_phaC - - - - - - - - Vq - - - - - - - - r_inpTgtSca - + - - + + - - DC_phaA + + - - + + - - DC_phaB + + - - + + - - DC_phaC + + - - + + - - VqFinPrev + + + + + + + + + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - F05_Control_Type_Management + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - int16 + + [i_phaBC] - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - int16 + + [i_phaAB] - - - - - - - - - - - - - - - - - int16 + + + - - - - - - - - + + - - + + - - int16 + + sfix16_En4 @@ -2732,35 +2506,44 @@ - - - - - - - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 2 - - + + + + + + + + + + + + + + + + + DC_phaB @@ -2771,44 +2554,44 @@ - - + + - + - + - - [DC_phaC] + + [a_elecAngle] - + - - + + - - + + - - int16 + + ufix16_En6 @@ -2819,29 +2602,77 @@ - - + + - + - + - - [z_ctrlTypSel] + + [b_hallA] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + - - - + + + + + + + + + + + sfix16_En4 @@ -2852,194 +2683,170 @@ - - - + + + - + - - + + - - + + - + b_enaFOC - - - - - - z_ctrlMod - - - - - - - - r_inpTgtSca - - - - - - - - n_mot - - - - + + - - n_motAbs + + z_pos - - + + - - a_elecAngle + + z_ctrlTypSel - - + + - - i_phaAB + + r_phaA - - + + - - i_phaBC + + r_phaB - - + + - - r_phaA + + r_phaC - - + + - - r_phaB + + Vq - - + + - - r_phaC + + r_inpTgtSca - - + + - - Vq + + DC_phaA - - + + - - r_devSignal1 + + DC_phaB - - + + - - r_devSignal2 + + DC_phaC - - + + - - if { } + + VqFinPrev - + - - + + - + - - + + - - + + - - F04_Field_Oriented_Control + + F05_Control_Type_Management - + - + - - + + - + int16 @@ -3047,41 +2854,41 @@ - + - - + + - - + + - - sfix16_En4 + + int16 - + - + - - + + - + int16 @@ -3089,84 +2896,108 @@ - + - - + + - - + + - - action + + int16 - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [i_phaAB] - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - int16 + + [z_ctrlModReq] + + + + + + + - - - - - - - - + + - - + + - - sfix16_En4 + + uint8 @@ -3177,382 +3008,334 @@ - - - - - - - - - + + + - + - - + + + + + + + + + z_ctrlTypSel + + + + + + + + r_inpTgt + + + + + + + + b_hallA + + + + + + + + b_hallB + - + - - b_errFlag + + b_hallC - + - - b_motStdStill + + z_ctrlModPrev - + - - b_motEna + + r_inpTgtSca - + - - z_ctrlModReq + + z_posRaw - + - - z_ctrlMod + + z_pos - + - - z_ctrlModPrev + + n_mot - - - - - - - - + + + - - + + n_motAbs - - - - - - - - + + + - - + + a_elecAngle - - + + - - F03_Control_Mode_Manager + + b_motStdStill + + + + + + + + b_enaFOC - + - + - - - - - - - - - - uint8 + + - + - + - - - - - - - - - - uint8 + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - [r_inpTgt] - - - - - - - + + F01_Estimations - + + + + + + + - + - + sfix16_En4 - - - - - - - - - - - - - - - + - - - + + + + - - u1 + + - - + + - - if(u1 ~= CTRL_COM) - - - - - - - + + boolean - - - - - - + + + + - - action + + - - - - - - - - - - - - - - - - - - - - + + - - [z_errCode] - - - - - - - + + int8 - - - - - - - - - - - - - - - + - - - + + + + - - u1 + + - - + + - - if(u1 ~= 0) + + boolean - - - + + + + + + + + + + + + + + + + + uint8 - - + + + + + + + + - - + + - - action + + ufix16_En6 - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - [b_motStdStill] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3563,28 +3346,34 @@ - - + + + + + + + + - + - + - - [b_hallA] + + [z_errCode] - + @@ -3596,30 +3385,30 @@ - - + + - + - + - + - - + + - - + + @@ -3633,23 +3422,23 @@ - + - - + + - - + + - - sfix16_En4 + + int16 @@ -3660,28 +3449,28 @@ - - + + - + - + - - [r_devSignal1] + + [DC_phaC] - + @@ -3693,44 +3482,44 @@ - - + + - + - + - - [a_elecAngle] + + [b_motStdStill] - + - - + + - - + + - - ufix16_En6 + + boolean @@ -3741,44 +3530,98 @@ - - - - - - + + + + + + + + + + MODEL INFO + + + + + + + + Version: 1.1183 + + + + + + + + Author: Emanuel Feru + + + + + + + + Last modified by: eferu + + + + + + + + Last update: 21-okt-2019 16:33:56 + - + - - 3 + + Copyright © 2019 Emanuel FERU - - + + - - - - + - - + + - - DC_phaC + + + + + + + + + + + + + + + + + + + + + + @@ -3789,60 +3632,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_ctrlModPrev] - - - - - - - - - - - - - - - - - - - - - - - - - int16 + + @@ -3853,29 +3665,29 @@ - - + + - + - + - + - + - + @@ -3890,22 +3702,22 @@ - + - + - - + + - + int16 @@ -3917,43 +3729,43 @@ - - + + - + - + - - [i_phaAB] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -3965,252 +3777,77 @@ - - + + - + - + - - [z_ctrlModReq] + + [r_inpTgt] - + - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z_posRaw - - - - - - - - b_motStdStill - - - - - - - - VqFinPrev - - - - - - - - z_errCode - - - - - - - - b_errFlag - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - F02_Diagnostics - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - + + - - + + - - boolean + + sfix16_En4 - - - - - - - - - - - - - + + + + + + + - + - + - + - + - + @@ -4225,22 +3862,22 @@ - + - + - - + + - + int16 @@ -4262,19 +3899,19 @@ - + - + - + - + @@ -4300,11 +3937,11 @@ - + - + int16 @@ -4316,44 +3953,60 @@ - - - + + + - - + + - + - - + + - - [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - uint8 + + int16 @@ -4364,60 +4017,144 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + b_errFlag - - + + - - + + b_motStdStill + + + + + + + + b_motEna + + + + + + + + z_ctrlModReq + + + + + + + + z_ctrlMod + + + + + + + + z_ctrlModPrev - + + + + + + + + + + - + + + + + + + + + + + + + + + + + F03_Control_Mode_Manager + - - - + + + + + + + + + + + + + + + + + uint8 - + + + + + + + - - + + - - int16 + + uint8 @@ -4428,28 +4165,34 @@ - - + + + + + + + + - + - + - - [n_mot] + + [r_devSignal1] - + @@ -4461,28 +4204,28 @@ - - + + - + - + - - [b_motEna] + + [n_mot] - + @@ -4494,43 +4237,122 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + - - + + - - + + - - [b_hallC] + + 5 - - + + + + + + + + + + + + + + + + + b_hallB - + - - + + - + uint8 @@ -4542,29 +4364,29 @@ - - + + - + - + - + - + - + @@ -4579,22 +4401,22 @@ - + - + - - + + - + int16 @@ -4606,44 +4428,59 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + 4 - - + + + + + + + + + + + + + + + + + b_hallA - + - - + + - - int16 + + uint8 @@ -4654,60 +4491,92 @@ - - - + + + - - + + - + - - + + - - + + [z_posRaw] + + + + + + + + + + + + + + - - + + - - + + uint8 - - + + + + + + + + + + + + + + + + + + + [z_pos] + - - + + - - + + - - + + - - int16 + + int8 @@ -4718,44 +4587,44 @@ - - - + + + - - + + - - + + - - b_diagEna + + [z_ctrlTypSel] - - + + - - + + - - + + - - boolean + + uint8 @@ -4776,11 +4645,11 @@ - + - + 9 @@ -4798,11 +4667,11 @@ - + - + i_DCLink @@ -4813,11 +4682,11 @@ - + - + int16 @@ -4829,60 +4698,107 @@ - - - + + + - - + + - + - - + + - - + + 8 + + + + + + + + + + + + + + - - + + - - + + i_phaBC - + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + - - + + - - + + - - + + - - int16 + + boolean @@ -4893,58 +4809,58 @@ - - + + - + - + - - 8 + + 3 - + - - + + - - + + - - i_phaBC + + r_inpTgt - + - - + + - + int16 @@ -4956,30 +4872,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -4993,23 +4925,23 @@ - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -5020,44 +4952,44 @@ - - + + - + - + - - [a_elecAngle] + + [DC_phaC] - + - - + + - - + + - - ufix16_En6 + + int16 @@ -5078,11 +5010,11 @@ - + - + [i_phaBC] @@ -5100,11 +5032,11 @@ - + - + sfix16_En4 @@ -5116,92 +5048,44 @@ - - + + - + - + - + 6 - + - - - - - - - - - - b_hallC - - - - - - - - - - - - - - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - [z_pos] - - - - - - - + + a_elecAngle @@ -5212,59 +5096,44 @@ - - - + + + - - + + - - + + - - 5 + + b_diagEna - - - - - - - - - - - - - - - - - b_hallB + + - - + + - - + + - - uint8 + + boolean @@ -5275,76 +5144,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 2 - - - - - + + + + - - - + + + + + + + + + + + z_ctrlModReq - - + + - - + + - - sfix16_En4 + + uint8 @@ -5355,58 +5207,58 @@ - - + + - + - + - - 4 + + 6 - + - - + + - - + + - - b_hallA + + b_hallC - + - - + + - + uint8 @@ -5418,59 +5270,77 @@ - - + + - + - + - - 2 + + 7 - + - - + + - - + + - - z_ctrlModReq + + r_devSignal1 - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [z_ctrlModReq] + + + + + + + @@ -5481,166 +5351,300 @@ - - - + + + - + - - + + - - + + - - z_ctrlTypSel + + b_enaFOC - - + + - - r_inpTgt + + z_ctrlMod - - + + - - b_hallA + + r_inpTgtSca - - + + - - b_hallB + + n_mot - - + + - - b_hallC + + n_motAbs - - + + - - z_ctrlModPrev + + a_elecAngle - - + + - - r_inpTgtSca + + i_phaAB - - + + - - z_posRaw + + i_phaBC - - + + - - z_pos + + r_phaA - - + + - - n_mot + + r_phaB + + + + + + + + r_phaC + + + + + + + + Vq + + + + + + + + r_devSignal1 + + + + + + + + r_devSignal2 + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F04_Field_Oriented_Control + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + - - - + + + + + + int16 + + + + + + + + + + - - n_motAbs + + - - + + - - a_elecAngle + + sfix16_En4 + + + + - - - + + + + - - b_motStdStill + + - - + + - - b_enaFOC + + action - + - - + + + + + + + + + + int16 - + - - + + - - + + - - F01_Estimations + + sfix16_En4 @@ -5652,100 +5656,192 @@ - + - - + + - + sfix16_En4 - + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + - - + + - - uint8 + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + z_posRaw - - + + - - ufix16_En6 + + b_motStdStill + + + + + + + + VqFinPrev + + + + + + + + z_errCode + + + + + + + + b_errFlag + + + + + + + + if { } - + - - - - - - - - - - boolean + + - + - - + + - - + + - - sfix16_En4 + + F02_Diagnostics @@ -5757,16 +5853,16 @@ - - + + - - + + - - boolean + + uint8 @@ -5778,16 +5874,16 @@ - - + + - - + + - - sfix16_En4 + + boolean @@ -5799,55 +5895,16 @@ - - - - - - - - - - int8 + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - [r_inpTgt] - - - - - - - + + action @@ -5858,59 +5915,66 @@ - - - + + + + + + + + + - - + + - + - - + + - - 1 + + + + + + + + + + - - - - + - - - - - - - - - - - b_motEna + + + + + + + - - + + - - + + - - boolean + + int16 @@ -5921,59 +5985,59 @@ - - + + - + - + - - 3 + + 1 - + - - + + - - + + - - r_inpTgt + + b_motEna - - + + - - + + - - int16 + + boolean @@ -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,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "z_dirPrev", "local", "Tag" ], @@ -1668,11 +1828,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8457", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1681,7 +1841,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_counterRaw", "local", "Tag" ], @@ -1701,11 +1861,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9379", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8457", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1714,7 +1874,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "z_counter", "local", "Tag" ], @@ -1734,11 +1894,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8455", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1747,7 +1907,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "z_ctrlTypSel", "local", "Tag" ], @@ -1767,11 +1927,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9379", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1780,7 +1940,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_ctrlModPrev", "local", "Tag" ], @@ -1800,11 +1960,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9384", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1813,7 +1973,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "r_inpTgtSca", "local", "Tag" ], @@ -1833,19 +1993,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9377", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_posRaw", + "r_inpTgt", + "local", "Tag" ], "tabs":[ @@ -1859,26 +2021,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", - "local", + "z_posRaw", "Tag" ], "tabs":[ @@ -1892,16 +2052,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1909,7 +2069,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_enaFOC", "Tag" ], "tabs":[ @@ -1928,19 +2088,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_enaFOC", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -1954,96 +2116,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", - "className":"Simulink.Outport", - "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", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2051,7 +2133,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_dir", "Tag" ], "tabs":[ @@ -2070,11 +2152,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9381", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2082,7 +2164,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "r_inpTgt", "Tag" ], "tabs":[ @@ -2101,11 +2183,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9381", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9382", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2113,7 +2195,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -2132,21 +2214,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRaw", - "local", + "b_enaFOC", "Tag" ], "tabs":[ @@ -2160,26 +2240,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9384", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "z_pos", "Tag" ], "tabs":[ @@ -2193,16 +2271,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2210,7 +2288,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -2229,19 +2307,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", + "b_enaFOC", + "local", "Tag" ], "tabs":[ @@ -2255,16 +2335,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8424", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2272,7 +2352,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "n_motAbs", "Tag" ], "tabs":[ @@ -2291,19 +2371,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -2317,79 +2399,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "a_elecAngle", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2397,7 +2430,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, @@ -2499,227 +2532,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", - "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":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "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":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "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:9382", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", "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", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", - "local", + "z_dirPrev", "Tag" ], "tabs":[ @@ -2733,16 +2558,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9378", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "name":"b_enaFOC", + "label":"b_enaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2758,14 +2583,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "8", "Port number", "[]", "[]", @@ -2777,10 +2608,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -2800,7 +2638,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, @@ -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,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -3000,11 +2869,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8224", + "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_ctrlTypSel", - "label":"z_ctrlTypSel", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -3027,7 +2927,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "6", "Port number", "[]", "[]", @@ -3067,19 +2967,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_pos", + "n_motAbs", + "local", "Tag" ], "tabs":[ @@ -3093,26 +2995,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8455", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", - "local", + "z_counterRaw", "Tag" ], "tabs":[ @@ -3126,16 +3026,83 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8224", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", + "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":[ + "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:8435", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -3143,7 +3110,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "z_counter", "Tag" ], "tabs":[ @@ -3161,6 +3128,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_posRaw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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 zcmX9_cOcdM_g7?xY!X-Yp4mGyTS&53*(2F}vXVV6*@W;|iLyzV$qGq!l$C5k*6-Z! z@A>N??!BM)`<&N#jpOO#bFU;V1c%@<>qmbawdikF_g}D0y>RJ$!65B*W4$DrqLeP@ zb$a^v>aBi(!3PcIt`=Lan@;Xy%v-bB%O#!8_r7_VOB&1cy>RWTwHr*mrCca6jQu=1 z<2jwg7AYe3G!?hgH04QFtqVuyf|;P7bHr&(8XA6v>j3lGLMvs;*x_G1ufJ zqnRbu(K3<*$S3ZS($Y(BOsfV42FUPnXlZG&KDaf^|2?qF{4Pj^kE6#)3IC#JZr(Q2 zKTCyk`I6V;$3oeI|BXAnGv&kL(9L6&mq)axjSUTzH8uOQ>aF>X4v`DruTHlXJTev+ zZGL%4ZftA>c`xF0woTwiDajmn6{Swlm))utSj*BBLz46)2Gr68D56y_{m0Ai@K}>5 zo!{KX&o3hRn~u zSu=07?vbRWrD4H`wGyPo$GQBUAvcz)swyWRADe(cVqc#IArTQ57Z)=vF*!aCCpY(H z1+s{U3wbU|LemEiMjnZ39Ljhu;#6Ht8#vu3s9%m3`GZx&sC6#G-f%&)DZM?)H(h1+ zxpVM1NM?UI+sx7R3YvhMM;~o*nF}$lP$|o4Z|h&WNgpqK>sI8*BUTO$yx8urJHnX>uzvphDRa8rnfl^IiA%+})6&Q!5qt3Y1WOqiqw5l+B^DJGMWOrrewUS!pZommxysGWO`dQZBv&|s#>FO) zC@UkVp2*%+8#E@y4gVg^Anik(s}nV`zI3$n^Xu2IWbvvaPIYl{aX$_MGPAQgm%NhE z=-aloENCrk!ApebU~C$@uM^=)A77t`oaaBo-D#D-*ppw0=EzfEM~{5@^7NzChex99 zZ37e4mZk0O`Lcn3xBEEq1tldl{QV`1i;LqD5=N(|H6K3YC@LzVq@>g{GU|S9-tzP~ zujJ)RR8^>-3?n@~y&(Ds8>M{rZs&N#y~#S~bie$_2?l!l4i_;IDXBYwfzndB{0lk0 zbN*3qVI&L^3asP>_4O~#&qKmKqOOa%SOo-Ref+5CEp-EJhQo;H>AhKPN>-0hXB}8V zf(g0@jCLBeY+t&}GwHW@uJCO&{NnnSe?xuuP24CPW%Q6NDv2Hi+dTAH0K{U;|1!brU`!^T-RD0`Bq@XSoQsp)BWc_sezvG3p2Md_(Z z{mayyQ8kiZnS`q9@kb7)U5cqWu4@l}^0N<%u3%v2}2G_Usw1 zix_gfySqE0)4Hd(SBO3yKkTU%JHWgjp>qdA#acvuF4xcO8MTb;t6mC1iV{ z6JQ2l3J!aw(KB2CIqpC0Z$BmCEw^X<;mn*GA{Opq_>{q67S_!ezZaq3iJS2lKbqGi}asGMUAX^ zL%X2xFZ;B}Ee6A!d%Q9VYNEQjI+y{hXJ05NC}j4(+>TAK$n+Vt7p60wEt>L;N*%zleXl57~bl0zI{!4J1 zYwa7#jlPy;afreF_s6`JzGqj2 z=}vpE9(AZD^}VcEm9IG?C7s>%e_@9zt+rgTuBK6}dd73_Wi9#V{>jPtVdUca#NCUv z{Btf{xnowZrkwI}?%(U{W6u_;|Nc2UJNq-;kl3FtfX>g?)zQ&07!Iir+%nx;h+?Ys z-&?-rdYf14eV&Bx=1gsA`u6lSWp=c+C_NWHzs3HHhlCa@!{X<524$hWXg{+Ot|ISw zq$Fgov!Qi9g;<#kCuDmrFbG*aq&OQ~GmQ)jKR5`I+q8ck`OQZ8=Cyw(Cop4fv!m@_ zMb%Dk%pezMvCsVP#daHyCNjzA)%HHn#>K_`mK$1mC8V9H&QzO|QVA+4TAB974V7X8 zeSLlA_Z4e%{cLpV@GoRIHrAo5u+e=2phlM{qS5I6gM*ze3f(W?zP%X1dq5(@VP0j-QB~M) zCk#ZZtgMU~;7mql;051dk&)X+6G(e2LWpv8^!JIOtIZ5UTkMo4Rbaw zE^&ZSDGDeBU=Z-3B9xeC+!`e8y<29Xb!~(I7gdWEM%0+JTlAiAzzp8~a+}nCKg*W~ z8yowPC_Oh14~0^51L0PWNlIu}Z)%k>56o(K6`_*WJdY+b0A>D-8Sk>L_X=Ry*PUy!PA))Mh_e|9N9oI_5vVDcl zkMl1wp*3&0h7Yeicw6_pTOwee6V6kkmxkzYXlRH%!q=9Uc#oQzdUR?kOSr>t=`&S1 zaX?SVzx!Do;%g0x&RpLMrIvjz#Kq*#HXhUmYFI}q2!67SB7Iy^OYVR?WR_>Tx}9Rs zcX75_WFxj!jhs2}hyYtEC}7?RwOQ-iIXVj&a1eR&d5^4BQ|Xv z9n6^&pVm%b3^2Mp1|=!NNE$W3+i>eaaTcp-6dHDDfM+1h3g^nvXT4H+01DEaz| z9~>M2eEso3r2YN<;s5M}Ckw4tT3cJG0^ds)zk0>G^zTze_4_-R-fHw6&XaWvzX4Ff zJeMf<@A>KJ=_|pl^!8Kx^XiKYq9AjBicCWGSr6pasvSx5KY1)+I}}Y|pyb$he5YIA zU4HBdO?>&#a&{*3crC?mj_G2DX>Wf_7g{&b7^x_(s*3;n*9WG(fyIQKu#k*QoN5s> zdGwdDF_ynKf%Y2SyT=i%Q8PYs@VVnkmmg*zXAc6qEF4=~U0eI;RA*pf@@aLIQ!Rnv z+8K)?+0khF`>w98h>V-Uva;G58UzJ;&tqZ;|8CB<#OT(`0NFA(H`nOBPEY?_wTLo9 zt0Y3pseL|wHz*@fiXaSAjOg>LG|Y8_9$dtfw48Hi?E+=9nk0MY3nN82_>o;Mb4raB8%NLmRk6Sn{#b}8aD<~h<_bSSe61aN$-ywTl)n(O=kN8c3fiO zUX^<=4+|+Xb4>~_^=2EDW`a$(F1FhWE;)Hcw@u;Ihr@aHKwF@@SL84Jy`^STXd2vk z28f+&OuEMH<5h24TNj{dNKr~JUKm(f=GS(<4>;g%BD^$#1m&7;8I{cFRb46VP*@$g z=#f3KXti%ir|c$trWEvd+ggs7TWQ-5B~DYN)k8{1c!c&RWntyzrR+p@08naR?#1!q z+^J-Qhve#P#V|Q&K|>=WPxJ>;8YvSKb$IBog44~dbADtuS77JKv5{Tm_9m7~MFe4H zqD2h*RNm4*;VmJ z0U}Dz`PLc)o$mDhH~u@$OtU}_rZRkh*aSwwc@3fw!S?gx2EFMJo+;EXx-Xk&6j__? z2R6S`I$P)c4`;hvEQ(X)D=U7Y3&^ywO{Z|D}7*%0imLW#HO$D^ts?)h{_Eg`AR5#o)gHU?_;= zO3TQj)NFD0T@W5*#JG+wE?V>-=YsaMVcz(kAFlupaha@*thiS#EGnw3qH@K^$f)8) z7=Jt}x=YQPbybuC{H%~8WY=#zcLA$%V@Thv6sb7Tn29~Q{zqatUTiw`*^uRhnf?^FOjBx*4=3^6X<;ITb zy$DO-c<+-j8t7*Zvv4LL9R6@xbzd)Q6$Acl$8}K;WN= zMRhuefz7tVIo9N;afOQUnE7i1Jf)xsw`U#?@1XNfBd%T-1FFsKmJE`;xUn%KAt6EK zZGbEzDThuD0@_Q;KI0HG4JUouJH&s{DB?X-{m}lSixBC|Ij0z?^jC8^vI3dnM-PA@gl9(UTEde`Y^DEx*S%XQNmIg*dr z6)PNtIA%9|etJs*J>{Y)2Ikz_Dg$zgo<`d%J0s&|VPV)!)yhXkjp- zx;NBaoY(a@oqqXjdD{K)A92U;f=tV2A?7zM=j-_j6n8oc#+~f_{7g=@*gIOOV&`9Bn~|5d97$vGqgVc1D5O2#yv4_JZIn&SZ6?DY(^FP^%O=;5HxH52W@y?FiGUt{Hvl{2M&Jc=EP1#LJwI+|L5bog<|8XvmX zI6m*Q>#!2^*k9EbbD!hA6Wn8m6ppNxZ(xD@VCvg!(woRc6S$M{tJ0v1l|DYkSzU1c zXKzWo&@nrVJ-sl#XIktHTbs=>8=F`w^>< zP(B8dp9cZS{YzX|W*3XtMMOlreSG-K+pb3|H?HIbrsV7&wQZ3^-OgeE_Vuftsp;nz zja8jQ*Kk5HfcQ55j98J3`pIZuV4y!ZL=rxKXkje;K$ZuyffO1T8L2#YFkMcdUDrvel>&P?sNC`}gL80#3LaPfuFZq>UvJ)mXzenRoj~3501` zHjui!qTn?@*TBiBrohghx5I@7Wx#x8{;d{i*!L{<7j{qF02_poh6Y|d+_Va0rxvAm zMOoRkp9>9ydr}M}LphS@WTQVv*IqR@XO)+it3=sn52^xb!FYb!+S-k?o44*-M2~x# z=|Y{|WFgGi;g$qTrZ#=rqHH@^|8ppa7$)oC3N5U{$s`r+r!^F8l|>3G#5 zMgH{CQ_qU>@)zb#3vMe>@~6!5r^o{7@pyGe{%ghE{fYuk zsG42pGH+L!Y}{bz0kays_tX9-8x14t2jHN{olFjo&d$b9Z}d34-5C%W-X^`+CIwFf zSQQ)rh=dx?pQ>_4Kd`~I3VvtOb`AU^@%KCNY#g(}Q_l(d`KXaa^Kx&4DK6t?+S;yM zihQ~o)q%u&O%C+&&paf8dby_ZjYo^;XSf=umeZ0N@7m}D1bxB`7!dybOCXcsodDq$ zOG->s-78TPtWs+ru7Rxz^{zjZKcNFK0`wah8xyf?;$+t#z*30dWZ2?$B<}}D9O+hk8oMaO!Iq+TMQp2Ak z=2V1Nz?+G+@C8q!mEnr)#Wow_#g|V;^hIs2|BK8q&AW~B4!$i8y64Kq%XnXNE3 zL1xsL`S8{n>FFtigq#;T8;??I-sF)CIuZnb`m+4lnl4m^3h2XzX$4Vz)EF(8HcRfq1Q7ojMtuGamuCFS$S zM5#Ft5HFz30!@0I9UJH&TH-o05;ljFs)&6`;)|$Jj?}VMXxWN-=PmcR-{)a&C^&Fp zF5i<<2c@N@H6<8SE5_OF_NH9wAN;lfuI}zG;NE^F2Gpsirze7mk34!C4EjTGAa>KL zgCc$BgME#j)WA_Yf`i0q;r;8=HSjDlGBOmZCt{~<+bjfNOd~;MV48rX0J7@otK7&M z`mmi|z=YekZ-Wz8V94FAg9^F+ZhAvUJ!4>anC5ofPJucq7Fb!<8NMMi*n{+98^Ts1taO<9*#mO}+runA=U&FP;6eo@^NMBf??yrP{6!SVi zJ&xPYKz1aJ!18?e?j0{Tnc%HkD);Zx-Ft0zU*EiP!V<}C3q0JdzW7%S?i08O5LtlR zOi6g9s;Vku&;k1PZb*oSM^ZajbH5VLR};HjKkCZtbQM+%Rlono4gJfDEiNg^MX%}U zDFjdC^8HOHAYVl4eq`X7Jd}<~1Hw5&LS#7s99HGVpPCvW!d=7t)5Mi8($z867Rc*M z<3BIb5_;PM`cLe^)wor`Y$_-uq-bruP}o7WHub|p0&J_rhpuARLBkW|Dzg7A86Fzi z1)G5PM5>>884VM|({l9tcUpKz(6UhP;2t?Pu-VO0I@g&DXdssHd<``to;4@0*7vCY zDT26OueaIuijEAp0O3GVY|sb5ohY;Wob&jVA-DVSpZgC{AdtaIq zzy-OGhMB*IhkG-R_l{+Gs$$a;)+eg>6lPS#qNO?3iM!ky9>V~RbD@pNPlsp&96$1# zDmx&{?&|A*oP7Im@{M(8`Kk?{s;{qa3jd3)+~g;BD`DvW-I{OzeHd@#4K4<_D*FLv zS$!AyVJPF@rlig&UlDkS3Kc0B;fTI-6;Nuh?AWV9u?jPu@ETA($cd%8ZK`E0G#>DL zeoNQDGO>L)fFhxhqIO8ZU>vXMu6d=O#t>M3I7SJPIswkk6|{21IF~C5W1j#G`1@zF zb8W1Y05=@)1sw7ZU%yhu$H&9nUwW#U&L5o*7WgkrO-aItBtfFWLB&c*OJfv6VD&xA z;Iy2aoQQ*@!oot8@rjn^X5oL8&MM!IQL&P1JKVcOOLyIiW2vH*L47amF7?Bmf~9Lv zef;f#yO4y$Cy=uM6fQH3`d_=tD=S~MwaKzHDH25=obD`qPEJl%Iq=-@k%nskD-lQ0 z$_B9sgHXZh{q0X**R9@8es6HMRDE6d!Y(%yW`It<9G}~W8A**9Z>H8WgEC6BXhY1@ zhqK@L*~?~L$$N9X!~{wPXn56Q7h!F{7eVnStzm!$HJmx)lgP6+yft1SVZKuzWz19aVU|Zkw?l) ziSTRcJS#jAqG6Rcfm6aPjcwN5>F^-hi&$)k<3F7a;P1?JRmZ)_ocwHw<6KkSPADZ* zUHz4!Fd0F#sJedTG^>Rv`}@r~FHU~`o=2h}e_$ljA^L3abiQrqO%I7ipAFNF*x!dI znVFf_?llyRa6(j5Sa=h>KjVs9#V?h3iS8ARuo8%3Qk2R#C$Vg>kuWjIY>RI!^ORq! zg#dWzKnGs6>uPD~fky;XTQL8-@A0m^le4o5^D<;Z7*5_KaAz^0ab1n9eIC&TPpu;l z58bDXAo6fXFfZ9TIKWoET`_LcFg@AgE08VbYPz4rm>A_e@jBY^2aKn}XA}eNUx37x zl(5U4AKAV$bxjF1Yx24R90h0(So<)$LBv;&Ja!ILL-oOp&NCYeA1?d{$VthL}@Zp0(N6qBqq?XKLv!ZYk@mqQpd`Ngr zzLMQlsexMVUb8QsT4hY+D44AwG+(=Ouk_yo_TROY9IV)Vf?=qcH0!y#oENVjV!i}x zKt1MVmDtYpH>@wB-Z9xlHhC=(0(k_eP*cM*u1JIHLg7Q~?RBiZYY(4-aYR2aHy2WQ z(mK?!H2l12- zZYA1-oee-lGN3IFM35Ia0!0(+W9Slg8S=_XvoSGX@%3)AF|%%JrDH=MKjQd5cQlt+~m!q>Y z#l3o42-f4Ek0V?gh@kQy_ktaRNAB)w1$u&lf(k%$EUJAcBfb7VAYh@7-(9!7pf5Jy zGA@fLLqu@H72$ZBLe8Yr5*e3jdKsaXVO^ooZ|CN%TemP?CReq)a3iRmxUN(evunVCvwHE>o0OXe#TL!RvYRVM6G?M2@nVv+h4%E=?z`&E*{D~zmW_%^3K!bQ2pfbdyq zgNp}D3I!C(fwPx}LO4^4%a_{+f{sAsaMNCXB7m9asvQ(D6#5R{-+(sEvH;*ko;b)q zgEB4k6N{sw2UW&q{OL#TO=dc_wzhW^pF><@U}zWtnQ2|!t+nF1Ntgc&%Z<1a#>U6H z0TNp5m_W7*OG;)Y^Zp783wy`4>w6uB8az`$L4mX}M_jL!;0#hP_1W|Y1&lPYH~ga& zq?cdD$Lm;`eyx?}_kgV~CWdS0&|h_@_;Y#dn@W+SI)~z`tZDNLhbLT|oG3DUklis8 z>r}Vi*bra6y7Li_>5cCeII!UvvS!A{s({7@QM+Kb*^1Ib&b$o!9boT35C|;{IS+gn z0i(s++ne?1rt^(gpG5Dkys8$H%TJt{nTaD{oQX+DAQ{!ESE+ zKkajE-y1f6lm{z>jSAv7;K*NhO-)q9$)g2@g>S}~^uC#N0Rq9!&OTbt;oyP=)T!Zs zcRjZ<+ooHs#-^(y4fqCU+UM!=Y&pnREG?Om)p3wat)8wf91Qlo?<>1ox*gC4#{pX{ z-)n5~w%QIE;b$Pnv#4GvE6p>lS@{dlz7_!qrii$BRObR%mf+d?|4LRf2pMu~5D^x> zY}bRQ&z%;V;Nr`2-w_34{G)=+6RazWC`v+oxDrlE8z{7%9#x3m?!FE|vIiY1jVq3} zGKd|^2@Ohha>>u0ei!9rN88qz2(vo~f_}Ppj|Mss5@cX8WH^_=P(zVf{p^X)7+hvO zs|KR1lOypFVv@4|{v(UmsGfjpMF%B8dBWmPH+)|bmWUQSXhH7JZ$VIDRN2#_w(V5qkI<+O5%}dGxuTQ@ePo6U&qIj zv$Kg#jRQpI@a_*N04xLt2Xpc0%@V-sNlIwtLlAs40v1|arT#4dd_V$VPf0^yxMLS@ zCqJ4FAV8sXjIZTJ`{|N^q{j~|rl4&_CH3)@y#nJ3h*@)_5nqx>B}KqUP$n3GH4r*s z5g32BRA&dAYoM#l#%ZHYbu$3MHeX%2-ou&->`_G#(eQ(xD@Y%Yagm><#@20WP<6-b z{I00BfkuO=pLWlppsXw!4YXJMfO=G16xz+x8x z7^KkX2vj1DqDfk7g&{_Mf50YvsmJ-^UDDd&$=cS|@N-fiK{QW(Z>fTU0l9sz+G0?> z`xT@)sXa*vKYJ6a{po696-rf2tq(NzRn`}8{Gn?MAp6T(-|>Tlfoj6}MXYJnQ2CRj z%00!@JN5=y-A?2@7HG#-3->TfWC_SGj88ZO4~e*0Hx3{<5LZBRppE<0)YLFmHq=CP zG=Y$aLea<@NT!9loP{&}V6;xY50>UnkIl`K{n~)Y0#I?Vp{i+n#~CK$g6~zlBXHu#7>T16{cx?W3o! zpZt#cE?6s^l#4sPOb@NBp2DZoV((np6M~VdsTpg+=6rE}HZVA-Z*HFZCi6Gs-BfC0 z85fuK#=g3+fwqBh6H6ly!_(c*OdoFm2M=s&RMfeK^BdF>JXmk-R&LDq=ZI$o*ZikX z_`qE;>pT^083di**1Yc*<77U;P5G>ms8Zdr@FpYm9zX|*?1N3s%aKRlVMpV0)8o?+ z0)?5NR}f@C?l_pD5I3kiKoDe37AHaEIVx63kY zp7{90j8t?hC6ys11W@_lDgN?mqU{r=kB6N;)`LaxJz-FQjRsWeWov6rXy_#fU}3mp zwi{qd-qFvp*qZJvtkCmT%d1=X7I5Qk&|u2^G``sb|Y9Se2PjcEGW;9wHApEUIb1je#REmdykhW{Xha*idmZP5hy&(gMnnBe^X%%puVz?)t+M(!{S4WEI2*`NxV4K6ZG0lV# za7YmP4K|oAhhj-eO47!w0=H4Mwq{;hT3YNWfoJuMVZpyl5`_&WF&H{P?77#{<@_zaSpH#1fCH09O5!GYPX12_MF*i6K%cS@2fu znRdl^iFX2WwAz`RS7m~I`X!luXS<}sVhlFj@0D$AE9FPfdYuPA7hqr zzQZymr{4>=x4IGx)I^^?wAR|_=#YRLr7;FMOQab;=%~kFn}F1Zy(&O|;PH7>gTpB% zlC^F(SOH+i$J4IKV<^?!T*!kaBj~_)_4SKhP2aSbxTl4kCQ>S|E5ZT;0wT^VEwI>Y z)Y`(?sftpYRag@qon4I#xE{n8cdj*e=Xgi|xe2z?l9#@bQJQcJh30welH%Gy06-7A zT&NrWf9h-TAfVe8mYzVr0zGA66v-aMsNqjbyAd0e27J3M`7m<5Ax73WG?wvRP5Q60 zF(dR7V9>~MLX#6v4M=w0^$V7e!-w=cob|;BU&u=^*H4wnx+zyXq+wb0B&oa6W8pGT zILCep2!?}pqwP}ZZmz2)0c$gwW?JxS+CDiWNN7gk1CPb3%=&zygrkTekG5)<2Jaf` z4cL=ZZoO1KIfS`-QxE zFRVO&>g!X4>>gI1o_4~9(c0!FxVtg9Ho}>1_oF<@AdDXw9ZgAguEN9EHF`At>j#TI zE%3&mee~%K+0oaCaY3uXM}xY|G^`)kLJr3!Ce#FJDT9+>!+K;Skz@H)dTQ#cIH&Fj zGBf@i8xL57q4ao8MU2VB_m&3<^66-4e~cDu!Zw+J;$OU%usj8wu=5?59E6l$+rjo7 z^a5x%{rY#WUy~@3fs*^RvI22dx0u~Dz1FvQ6cI3A2HAkrvlHY{1h${R7lzmmmOos? zvNN(qzkW@%L)94V9eLTqjDh{GcS8&R^GtzaLN+Q}^XvzZAd}l5g+`&g)TTbdZ^J;` zgG|*63~M;!@$vER8$O<_Z%wNpI1>iKIOw2x)Cy`3m?G>JTUg{h+Jl&g#dPE28! zRFvL*y;t6Umlb9_kHI;pgXi6fG;lFr)(>FG7BZQ(Us9o9w8Psiatr~V`;HEXsBY|p>;Q+!)LhK0l09%hB zPQy@`H3ca~_(tp5-)T6L-S4)ERmgue>b!}Sk4HuBGb!_@1C+B2ZKZddY_;nK2cKnq zzU{CQr&Fr{(C# z1y&N6Yj8^dkFdz?@XGX$*QZ*Ik6GZ%EP6{}`1-xklYhv+|6m8WXyo}dc15x`CcFS; zTI^_(J+tZwj!J(hAw9Z`DWnhktZORhXg}}QbDSU8x|~v!lD?D z)L9BK>thgEymmoBIY3jlJBS3f8<3L*m-+X(z~^Cq0JG%Y*c>z;d?+L0SP)`Mv%1c}z{)@Z6zD@V1xHHE%)5pL+lFayJYaGEIYB&6s2wVkg(r6( z-s08F6+aC5hVB3Vs;bOu{q`TYx4|DAwAv?Ur~UFFT2<%O`9}BYe_Ngotb_KFP}N_i zrkYD!KT+3)#MDh8U8!2Yz3Ag{+bo8^d?5qV1Driz<5-W}+*HYMK(9L0WdSP$`Va6A z;9rxc&g*PkJpn5{fIkkfCIhAeynmO$Fl;V?uLH}l!YL{!p+uP14qjdx`NO>f197zau>yH$LPauIgC{3i z0W#x>_Y#;b=s)OqLp?R_H*dZEXB*>|orXpz)1#FnIp7apIB1?-FePWnen^m_*1&@Q NG*onyUn^OK{U3dp$L;_C delta 13156 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 - + @@ -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] @@ -2063,28 +2192,28 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_ctrlTypSel] - + @@ -2096,28 +2225,28 @@ - - + + - + - + - - [r_inpTgt] + + [z_ctrlModPrev] - + @@ -2129,28 +2258,28 @@ - - + + - + - + - - [n_motAbs] + + [r_inpTgtSca] - + @@ -2162,28 +2291,28 @@ - - + + - + - + - - [b_enaFOC] + + [r_inpTgt] - + @@ -2205,11 +2334,11 @@ - + - + [z_posRaw] @@ -2227,11 +2356,11 @@ - + - + uint8 @@ -2243,9 +2372,57 @@ - - - + + + + + + + + + + + + + + + + [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + @@ -2253,11 +2430,11 @@ - + - + [b_motStdStill] @@ -2276,44 +2453,44 @@ - - + + - + - + - - [b_motStdStill] + + [z_dir] - + - - + + - - + + - - boolean + + int8 @@ -2324,44 +2501,44 @@ - - + + - + - + - - [b_enaFOC] + + [r_inpTgt] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -2372,44 +2549,44 @@ - - - + + + - - + + - - + + - - 8 + + [r_inpTgtSca] - - + + - - - + + + - - + + - - b_enaFOC + + sfix16_En4 @@ -2420,44 +2597,44 @@ - - + + - + - + - - [z_counter] + + [b_enaFOC] - + - - + + - - + + - - int16 + + boolean @@ -2468,43 +2645,43 @@ - - + + - + - + - - [z_dir] + + [z_pos] - + - + - - + + - + int8 @@ -2516,44 +2693,44 @@ - - + + - + - + - - [r_inpTgt] + + [z_ctrlModPrev] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2564,28 +2741,28 @@ - - + + - + - + - - [z_counterRaw] + + [b_enaFOC] - + @@ -2597,29 +2774,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [n_motAbs] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2630,44 +2822,29 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [a_elecAngle] - - - - - - - - - - - - - - - - - int8 + + @@ -2688,11 +2865,11 @@ - + - + [a_elecAngle] @@ -2710,11 +2887,11 @@ - + - + ufix16_En6 @@ -2724,155 +2901,11 @@ - - - - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - b_motStdStill - - - - - - - - - + @@ -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,207 +3050,30 @@ - - [z_ctrlTypSel] + + [z_dirPrev] - + - - + + - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRaw] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_posRaw - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - + - - [a_elecAngle] - - - - - - - + + int8 @@ -3261,59 +3084,44 @@ - - + + - + - + - - 6 + + 8 - + - - - - - - - - - - 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,12 +3227,66 @@ - + - - sfix16_En4 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean @@ -3436,12 +3298,6 @@ - - - - - - @@ -3451,11 +3307,11 @@ - + - + 2 @@ -3473,11 +3329,11 @@ - + - + r_inpTgt @@ -3488,11 +3344,11 @@ - + - + sfix16_En4 @@ -3504,44 +3360,44 @@ - - + + - + - + - - [b_enaFOC] + + [z_ctrlTypSel] - + - - + + - - + + - - boolean + + uint8 @@ -3552,58 +3408,106 @@ - - + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + - + - + - - 1 + + 6 - + - - + + - - + + - - z_ctrlTypSel + + z_ctrlModPrev - + - - + + - + uint8 @@ -3615,44 +3519,77 @@ - - + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + - + - + - - [z_pos] + + [z_counterRaw] - + - - + + - - + + - - int8 + + int16 @@ -3663,29 +3600,59 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + 1 - - + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 @@ -3696,44 +3663,77 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_counter] - + - + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + - + - - uint8 + + [z_posRaw] + + + + + + + @@ -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 @@ -281,11 +281,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8233", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "inspector":{ "params":[ @@ -331,11 +331,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8233", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "inspector":{ "params":[ @@ -381,11 +381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "inspector":{ "params":[ 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 @@ -250,11 +250,11 @@ - - + + - + @@ -264,7 +264,7 @@ - + @@ -272,7 +272,7 @@ - + @@ -280,7 +280,7 @@ - + @@ -288,7 +288,7 @@ - + @@ -303,37 +303,37 @@ - + - + - + - + uint8 - + - + - + Ini=0 @@ -345,11 +345,11 @@ - - + + - + @@ -359,7 +359,7 @@ - + @@ -367,7 +367,7 @@ - + @@ -375,7 +375,7 @@ - + @@ -383,7 +383,7 @@ - + @@ -398,38 +398,38 @@ - + - - - + + + - + - - Ini=0 + + uint8 - - - + + + - + - - uint8 + + Ini=0 @@ -440,11 +440,11 @@ - - + + - + @@ -454,7 +454,7 @@ - + @@ -462,7 +462,7 @@ - + @@ -470,7 +470,7 @@ - + @@ -478,7 +478,7 @@ - + @@ -493,37 +493,37 @@ - + - + - + - + Ini=0 - + - + - + uint8 @@ -537,7 +537,7 @@ - + @@ -567,32 +567,32 @@ + + + + + + + + + + + - + - + 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", + "Indices", "InputPortWidth", - "SampleTime", - "IndexOptions", "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "Indices", - "OutputSizes" + "OutputSizes", + "SampleTime" ], "values":[ - "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" - ], + "[1 3]", "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" + "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,32 +887,32 @@ - - - + + + - + - - int8 + + Ini=0 - - - + + + - + - - 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 @@ -814,11 +814,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"z_counterRaw", + "label":"z_counterRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -847,7 +847,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -894,105 +894,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counterRaw", - "label":"z_counterRaw", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1021,7 +927,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -1068,11 +974,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1101,7 +1007,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "2", "Port number", "[]", "[]", @@ -1148,27 +1054,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"z_maxCntRst2", + "label":"z_maxCntRst2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "n_mot", - "local", - "Tag" + "z_maxCntRst", + "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" @@ -1176,32 +1098,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9429", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"n_stdStillDet", + "label":"n_stdStillDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "dz_trnsDet", - "local", - "Tag" + "n_stdStillDet", + "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" @@ -1209,68 +1147,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"n_commDeacv", + "label":"n_commDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Port", - "IconDisplay", + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "2", - "Port number", + "n_commDeacvHi", + "n_commAcvLo", + "1", + "0", + "Elements as channels (sample based)", "[]", "[]", - "Inherit: auto", + "boolean", "off", - "inherit", "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", @@ -1279,8 +1192,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 5, + 9 ] }, "viewer":{ @@ -1289,32 +1202,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "n_motAbsPrev", - "local", - "Tag" + "z_maxCntRst", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1322,42 +1252,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"n_commDeacv", - "label":"n_commDeacv", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", + "Threshold", "ZeroCross" ], "values":[ - "n_commDeacvHi", - "n_commAcvLo", - "1", - "0", - "Elements as channels (sample based)", + "u2 ~= 0", + "off", "[]", "[]", - "boolean", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", "off", "-1", + "0", "on" ], "tabs":[ @@ -1367,7 +1299,7 @@ ], "tabs_idx":[ 0, - 5, + 1, 9 ] }, @@ -1377,32 +1309,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Relational Operator9", + "label":"Relational Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "b_enaFOC", - "local", - "Tag" + "<", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1410,32 +1354,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8373", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"z_maxCntRst", + "label":"z_maxCntRst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "n_motAbs", - "local", - "Tag" + "z_maxCntRst", + "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" @@ -1443,27 +1403,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "z_counter", - "local", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -1476,25 +1434,27 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8304", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "z_ctrlTypSel", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1507,24 +1467,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "n_motAbsPrev", + "local", "Tag" ], "tabs":[ @@ -1538,69 +1500,123 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator9", - "label":"Relational Operator9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Raw_Motor_Speed_Estimation", + "label":"Raw_Motor_Speed_Estimation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "<", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "boolean", - "Simplest", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", "-1", - "on" + "", + "off", + "" ], "tabs":[ "Main", - "Data Type", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motRaw", + "b_enaFOC", + "local", "Tag" ], "tabs":[ @@ -1614,24 +1630,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8288", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "n_motAbs", + "local", "Tag" ], "tabs":[ @@ -1645,25 +1663,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8311", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"Mux1", + "label":"Mux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "n_motAbs", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -1676,26 +1694,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8304", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", - "local", + "n_motAbs", "Tag" ], "tabs":[ @@ -1709,16 +1725,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1726,7 +1742,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "dz_trnsDet", "Tag" ], "tabs":[ @@ -1745,19 +1761,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRaw", + "z_counter", + "local", "Tag" ], "tabs":[ @@ -1771,16 +1789,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1788,7 +1806,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "n_motAbs", "Tag" ], "tabs":[ @@ -1807,11 +1825,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1819,7 +1837,7 @@ "IconDisplay" ], "values":[ - "n_motRaw", + "z_counterRaw", "Tag" ], "tabs":[ @@ -1838,21 +1856,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_dirPrev", - "local", + "b_edge", "Tag" ], "tabs":[ @@ -1866,26 +1882,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8288", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motRaw", - "local", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1899,43 +1913,78 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"b_enaFOC", + "label":"b_enaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "~=", + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -1944,16 +1993,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1961,7 +2010,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "n_motAbs", "Tag" ], "tabs":[ @@ -1980,11 +2029,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1992,7 +2041,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "n_motRaw", "Tag" ], "tabs":[ @@ -2011,51 +2060,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" + "n_mot", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2063,16 +2088,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2080,7 +2105,7 @@ "IconDisplay" ], "values":[ - "b_edge", + "z_dirPrev", "Tag" ], "tabs":[ @@ -2130,19 +2155,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRaw", + "n_motRaw", + "local", "Tag" ], "tabs":[ @@ -2156,30 +2183,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "dz_trnsDet", - "Tag" + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2187,16 +2226,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2204,7 +2243,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_enaFOC", "Tag" ], "tabs":[ @@ -2223,19 +2262,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_edge", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -2249,16 +2290,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2266,7 +2307,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_counterRawPrev", "Tag" ], "tabs":[ @@ -2285,20 +2326,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8311", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "bar" + "b_edge", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2311,49 +2352,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "z_maxCntRst", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "name":"From14", + "label":"From14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counterRaw", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2361,45 +2383,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "z_cntInit" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "z_maxCntRst" + "dz_trnsDet", + "local", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2407,7 +2433,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "z_counter", "Tag" ], "tabs":[ @@ -2426,37 +2452,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8308", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "z_dirPrev", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2464,7 +2480,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Goto", "masktype":"" } }, @@ -2518,21 +2534,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", - "local", + "z_counter", "Tag" ], "tabs":[ @@ -2546,47 +2560,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8269", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", + "InitialCondition", + "InputProcessing", "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "CTRL_COM", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "0", + "Inherited", + "-1", + "", + "", "off", - "inf" + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, 3, - 7 + 4 ] }, "viewer":{ @@ -2595,94 +2610,134 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9429", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_stdStillDet", - "label":"n_stdStillDet", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "n_stdStillDet", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "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":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 3, - 7 ] }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8366", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", "SampleTime", "ZeroCross" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + ">", "off", + "boolean", + "Simplest", "-1", "on" ], "tabs":[ - "Signal Attributes", + "Main", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 6 + 1, + 4 ] }, "viewer":{ @@ -2691,7 +2746,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -2763,11 +2818,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2775,7 +2830,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_dir", "Tag" ], "tabs":[ @@ -2794,139 +2849,71 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Raw_Motor_Speed_Estimation", - "label":"Raw_Motor_Speed_Estimation", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux3", + "label":"Mux3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "Inputs", + "DisplayOption" ], "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", - "" + "2", + "bar" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"z_maxCntRst2", - "label":"z_maxCntRst2", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "z_maxCntRst", - "on", - "inf", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "-1", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 6 ] }, "viewer":{ @@ -2935,16 +2922,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2952,7 +2939,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "b_enaFOC", "Tag" ], "tabs":[ @@ -2971,42 +2958,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "~=", "off", - [ - ], - "Auto" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ "Main", - "State Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, + 1, 4 ] }, @@ -3016,7 +2998,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -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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 RPr#cg9%@1~D%5RX{yz%pT~q)7 literal 8313 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 G_5T6;EJ>jN diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg index 66f500a..3b94a0b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg @@ -107,7 +107,7 @@ - + @@ -748,11 +748,11 @@ - - + + - + @@ -762,30 +762,30 @@ - - 3 + + 4 - + - - + + - + - - z_counter + + z_counterRaw @@ -796,44 +796,44 @@ - - - + + + - - + + - + - - z_maxCntRst + + 3 - - + + - - - + + + - + - - int16 + + z_counter @@ -844,60 +844,44 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + 2 - - - - - - - - - - + + - - - + + + - - + + - - boolean + + n_motAbs @@ -908,44 +892,44 @@ - - - + + + - - + + - - + + - - 4 + + z_maxCntRst - - + + - - - + + + - - + + - - z_counterRaw + + int16 @@ -956,44 +940,59 @@ - - - + + + - - + + - - + + - - 6 + + n_stdStillDet - - + + - - + + - - + + - - b_enaFOC + + n_stdStillDet + + + + + + + + + + + + + + + sfix16_En4 @@ -1004,62 +1003,107 @@ - - - + + + - - + + - + - - + + - - [n_mot] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - + + - - + + + + + + - + + + + - + - - [dz_trnsDet] + + n_commDeacv - - - + + + + + + + + + + + boolean @@ -1070,44 +1114,476 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - 2 + + Ini=z_maxCntRst + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - - + + + - - + + - - n_motAbs + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + z_maxCntRst + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + @@ -1128,11 +1604,11 @@ - + - + [n_motAbsPrev] @@ -1151,111 +1627,206 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + z_dir - - + + - - + + z_dirPrev - - + + - - + + z_counterRawPrev - - + + - - + + n_motAbsPrev - - + + - - + + z_counter - - + + - - + + dz_trnsDet + + + + + + + + n_motRaw + + + + + + + + if { } - + + + + + + + + + + - + + + + + + + + + + + + + + + + + Raw_Motor_Speed_Estimation + - - - + + + + + + + + + + + + + + + + + int16 - - - + + + + + + + + + - - + + - - n_commDeacv + + action - + + + + + + + - - + + - + boolean + + + + + + + + + + + + + + + + + sfix16_En4 + + + + @@ -1263,6 +1834,12 @@ + + + + + + @@ -1272,11 +1849,11 @@ - + - + [b_enaFOC] @@ -1305,11 +1882,11 @@ - + - + [n_motAbs] @@ -1328,29 +1905,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + - - + + + + + + + + + + + + + + + + + int16 @@ -1361,43 +1953,43 @@ - - - + + + - - + + - - + + - - + + [n_motAbs] - - + + - + - - + + - + sfix16_En4 @@ -1409,44 +2001,44 @@ - - + + - + - + - - [n_motAbs] + + [dz_trnsDet] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -1457,60 +2049,77 @@ - - - + + + - - + + - + - - + + - - + + [z_counter] - - - - - - - + + + + + + - - - + + + + + + + + + + + + + + + + + + + + [n_motAbs] + - - + + - - + + - - + + - - boolean + + sfix16_En4 @@ -1521,44 +2130,44 @@ - - + + - + - + - - [n_motRaw] + + [z_counterRaw] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -1569,44 +2178,44 @@ - - + + - + - - + + - - [z_ctrlTypSel] + + [b_edge] - + - - + + - - + + - - uint8 + + boolean @@ -1617,44 +2226,44 @@ - - + + - + - + - - [n_motAbs] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -1665,29 +2274,44 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + 6 - - + + + + + + + + + + + + + + + + + b_enaFOC @@ -1698,44 +2322,44 @@ - - + + - + - - + + - - [z_dirPrev] + + [n_motAbs] - + - - + + - - + + - - int8 + + sfix16_En4 @@ -1746,44 +2370,44 @@ - - + + - + - - + + - - [z_counterRaw] + + [n_motRaw] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -1794,44 +2418,29 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + [n_mot] - - - - - - - - - - - - - - - - - boolean + + @@ -1842,44 +2451,44 @@ - - + + - + - + - - [n_motRaw] + + [z_dirPrev] - + - - + + - - + + - - sfix16_En4 + + int8 @@ -1890,29 +2499,44 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [n_motAbsPrev] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1933,11 +2557,11 @@ - + - + [n_motRaw] @@ -1956,108 +2580,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - - - - - - - - - - - - - + + - - boolean + + u1 - - - - - - - - - - - - - - - - - - - - + + - - [z_dir] + + if(u1 ~= 0) - - + + - - + + - - + + - - int8 + + action @@ -2078,11 +2646,11 @@ - + - + [b_enaFOC] @@ -2100,11 +2668,11 @@ - + - + boolean @@ -2116,188 +2684,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + + - - F + + [b_motStdStill] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2308,44 +2717,44 @@ - - + + - + - - + + - - [b_edge] + + [z_counterRawPrev] - + - - + + - - + + - - boolean + + int16 @@ -2356,44 +2765,44 @@ - - + + - + - + - - [n_motAbsPrev] + + [b_edge] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2414,11 +2823,11 @@ - + - + [z_counterRaw] @@ -2436,11 +2845,11 @@ - + - + int16 @@ -2452,44 +2861,29 @@ - - - + + + - - + + - - + + - + [dz_trnsDet] - - - - - - - - - - - - - - - - - boolean + + @@ -2500,44 +2894,44 @@ - - + + - + - + - - [b_motStdStill] + + [z_counter] - + - - + + - - + + - - boolean + + int16 @@ -2548,44 +2942,29 @@ - - - + + + - - + + - - + + - - [b_edge] + + [z_dirPrev] - - - - - - - - - - - - - - - - - boolean + + @@ -2596,44 +2975,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + 0 - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -2644,43 +3023,43 @@ - - - + + + - - + + - - + + - - + + [z_counter] - - + + - + - - + + - + int16 @@ -2692,45 +3071,45 @@ - - - + + + - + - + - + - + - + - + - + - + - + @@ -2745,38 +3124,86 @@ - + - - + + - - + + - - Ini=z_maxCntRst + + Ini=0 - - + + - - + + - - int16 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motRaw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2789,7 +3216,7 @@ - + @@ -2797,155 +3224,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2963,41 +3390,26 @@ - + - + Counter - - - - - - - - - - - int16 - - - - - + - + Ini=z_maxCntRst @@ -3005,29 +3417,29 @@ - + - + - + - + - + - + @@ -3035,235 +3447,17 @@ - - - - - - - - - - - - - - - - - - - - - - [z_counterRawPrev] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 ~= 0) - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CTRL_COM - - - - - - - - - - - - + - - + + - - uint8 + + int16 @@ -3274,59 +3468,44 @@ - - - + + + - - + + - - + + - - n_stdStillDet + + [b_motStdStill] - - - - - - - - - - - - - - - - - n_stdStillDet + + - - + + - - + + - - sfix16_En4 + + boolean @@ -3337,46 +3516,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -3390,23 +3553,23 @@ - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -3427,11 +3590,11 @@ - + - + 4 @@ -3449,11 +3612,11 @@ - + - + z_dirPrev @@ -3464,11 +3627,11 @@ - + - + int8 @@ -3480,44 +3643,44 @@ - - + + - + - - + + - - [n_motAbs] + + [z_dir] - + - - + + - - + + - - sfix16_En4 + + int8 @@ -3528,202 +3691,44 @@ - - - - - - - - - - - - - - - - - - - - - - z_dir - - - - - - - - z_dirPrev - - - - - - - - z_counterRawPrev - - - - - - - - n_motAbsPrev - - - - - - - - z_counter - - - - - - - - dz_trnsDet - - - - - - - - n_motRaw - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Raw_Motor_Speed_Estimation - - - - - - - - - - - - - - - - - - - - - action - - + + + - - - - - - - - - - - - - - - - - - int16 - - + + - - - - - - - - - - + - - + + - - boolean + + + + + + + + + - - - - - - - - + + - - + + - - sfix16_En4 + + boolean @@ -3734,50 +3739,76 @@ - - - - - - - - - + + + - - + + - + - - + + - - z_maxCntRst + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -3788,44 +3819,44 @@ - - + + - + - + - - [z_counter] + + [b_enaFOC] - + - - + + - - + + - - int16 + + boolean @@ -3836,46 +3867,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -3889,38 +3904,23 @@ - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - + - - sfix16_En4 + + boolean @@ -3994,44 +3994,44 @@ - - - + + + - - + + - + - - + + CTRL_COM - - + + - - + + - + - - boolean + + uint8 @@ -4042,30 +4042,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -4075,8 +4075,8 @@ - - + + @@ -4086,15 +4086,15 @@ - + - + - + boolean @@ -4106,30 +4106,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -4138,32 +4138,32 @@ + + + + + + + + + + + - + - - + + - + 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", @@ -229,11 +288,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2412", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2413", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ @@ -256,7 +315,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -296,11 +355,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2413", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2412", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ @@ -323,7 +382,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -362,65 +421,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2416", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "|++", - "on", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg index 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 @@ -260,59 +197,131 @@ - - - + + + - - + + - - + + - - 3 + + u + + + + + + + + rst + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + - - + + - - - + + + - - + + - - rst + + int16 - - - + + + - - + + - - boolean + + Ini=z_cntInit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -323,59 +332,59 @@ - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - inc + + rst - - + + - - + + - - int16 + + boolean @@ -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 @@ -245,11 +245,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_motRaw", - "label":"n_motRaw", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -278,7 +278,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -291,7 +291,7 @@ "auto", "off", "off", - "[]", + "z_maxCntRst", "off", "held", "off", @@ -325,63 +325,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"cf_speedCoef", + "label":"cf_speedCoef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "1", - "Port number", + "cf_speedCoef", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "z_maxCntRst", - "off", - "held", + "fixdt(0,16,0)", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -390,8 +359,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -400,57 +369,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"g_Ha", - "label":"g_Ha", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "4", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "0", + "Inherited", + "-1", + "", + "", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", - "Parameter Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 3, + 4 ] }, "viewer":{ @@ -459,16 +419,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay5", - "label":"UnitDelay5", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -514,11 +474,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -564,43 +524,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "Threshold", + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", "off", - [ - ], - "Auto" + "Floor", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 1, + 9 ] }, "viewer":{ @@ -609,7 +576,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Switch", "masktype":"" } }, @@ -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" - ], - "values":[ - "rectangular", - "++++", - "on", - "Inherit: Inherit via internal rule", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "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,7 +812,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "z_dir", "local", "Tag" ], @@ -846,51 +832,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "u2 ~= 0", - "on", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "off", - "off", - "-1", - "0", - "on" + "n_motAbsPrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -898,26 +858,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "z_counter", - "local", "Tag" ], "tabs":[ @@ -931,16 +889,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -948,7 +906,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "cf_speedCoef", "Tag" ], "tabs":[ @@ -967,11 +925,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -979,7 +937,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "z_dir", "Tag" ], "tabs":[ @@ -998,21 +956,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbsPrev", - "local", + "z_dirPrev", "Tag" ], "tabs":[ @@ -1026,30 +982,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "n_motAbsPrev", - "Tag" + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1057,16 +1039,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1074,7 +1056,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_counter", "Tag" ], "tabs":[ @@ -1093,21 +1075,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRawPrev", - "local", + "z_counter", "Tag" ], "tabs":[ @@ -1121,24 +1101,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "cf_speedCoef", + "z_counter", + "local", "Tag" ], "tabs":[ @@ -1152,24 +1134,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_dir", + "n_motAbsPrev", + "local", "Tag" ], "tabs":[ @@ -1183,47 +1167,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "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:8327", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1231,7 +1184,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "cf_speedCoef", "Tag" ], "tabs":[ @@ -1250,58 +1203,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_dir", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"UnitDelay5", + "label":"UnitDelay5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "cf_speedCoef", - "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" @@ -1309,23 +1248,22 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum7", - "label":"Sum7", + "name":"Divide14", + "label":"Divide14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -1337,13 +1275,12 @@ "SampleTime" ], "values":[ - "rectangular", - "+-", - "on", - "Inherit: Inherit via internal rule", + "*/", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", "Simplest", "off", @@ -1359,7 +1296,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -1368,16 +1305,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1385,7 +1322,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "dz_trnsDet", "Tag" ], "tabs":[ @@ -1404,21 +1341,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_dirPrev", - "local", + "z_dir", "Tag" ], "tabs":[ @@ -1432,43 +1367,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8345", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"dz_cntTrnsDet", - "label":"dz_cntTrnsDet", + "name":"Sum13", + "label":"Sum13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "SampleTime", - "ZeroCross" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "dz_cntTrnsDetHi", - "dz_cntTrnsDetLo", - "1", - "0", - "Elements as channels (sample based)", + "rectangular", + "++++", + "on", + "Inherit: Inherit via internal rule", "[]", "[]", - "boolean", + "Inherit: Same as first input", "off", - "-1", - "on" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -1477,8 +1416,8 @@ ], "tabs_idx":[ 0, - 5, - 9 + 2, + 10 ] }, "viewer":{ @@ -1487,45 +1426,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"dz_trnsDet", + "label":"dz_trnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "u2 ~= 0", - "on", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Floor", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", - "-1", + "[]", + "off", + "held", + "off", "0", - "on" + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -1534,8 +1496,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -1544,47 +1506,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", + "name":"g_Ha", + "label":"g_Ha", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "0", - "on", - "inf", + "4", + "Element-wise(K.*u)", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 2, + 8, + 11 ] }, "viewer":{ @@ -1593,16 +1565,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_speedCoef", - "label":"cf_speedCoef", + "name":"Constant4", + "label":"Constant4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1616,12 +1588,12 @@ "FramePeriod" ], "values":[ - "cf_speedCoef", + "0", "on", "inf", "[]", "[]", - "fixdt(0,16,0)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -1647,20 +1619,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8319", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "z_counterRawPrev", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1673,30 +1645,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Divide11", + "label":"Divide11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "z_counter", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1704,16 +1702,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide14", - "label":"Divide14", + "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,16 +1859,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "cf_speedCoef", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8317", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", + "name":"z_counterRawPrev", + "label":"z_counterRawPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1905,7 +1924,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -1945,40 +1964,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", - "className":"Simulink.Abs", - "icon":"WebViewIcon3", - "name":"Abs2", - "label":"Abs2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", "SampleTime", "ZeroCross" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "~=", "off", + "boolean", + "Simplest", "-1", "on" ], "tabs":[ - "Signal Attributes", + "Main", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 6 + 1, + 4 ] }, "viewer":{ @@ -1987,49 +2004,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "dz_trnsDet", + "local", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2037,16 +2037,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8317", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_counterRawPrev", - "label":"z_counterRawPrev", + "name":"z_dirPrev", + "label":"z_dirPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -2069,7 +2069,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -2109,17 +2109,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide13", - "label":"Divide13", + "name":"Sum7", + "label":"Sum7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -2131,12 +2132,13 @@ "SampleTime" ], "values":[ - "*/", - "Element-wise(.*)", - "off", + "rectangular", + "+-", + "on", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -2152,7 +2154,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -2161,55 +2163,76 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8319", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Divide11", - "label":"Divide11", + "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":[ - "Inputs", - "Multiplication", - "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "**", - "Element-wise(.*)", - "off", "[]", "[]", - "Inherit: Same as first input", + "Inherit: Inherit via back propagation", "off", - "Simplest", + "Zero", "off", - "1", - "All dimensions", - "-1" + "-1", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 9 + 6 ] }, "viewer":{ @@ -2218,55 +2241,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "Threshold", + "ZeroCross" ], "values":[ - "1", - "Port number", + "u2 ~= 0", + "on", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via internal rule", "off", - "", - "on", + "Floor", "off", "off", - "off" + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -2275,8 +2288,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -2285,16 +2298,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"dz_trnsDet", - "label":"dz_trnsDet", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -2310,20 +2323,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -2335,17 +2342,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -2365,7 +2365,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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 @@ -220,11 +220,11 @@ - - + + - + @@ -234,30 +234,30 @@ - - 3 + + 1 - + - - + + - + - - n_motRaw + + z_counter @@ -268,91 +268,58 @@ - - - + + + - - + + - + - - 1 + + cf_speedCoef - - + + - - + + - - - - - z_counter - - - - - - - - - - - - - - - - - - - - - - + - - 4 - - - - - - - + + cf_speedCoef - + - - + + - + uint16 @@ -364,45 +331,45 @@ - - + + - + - + - + - + - + - + - + - + - + @@ -417,37 +384,37 @@ - + - + - - + + - + int16 - + - - + + - + Ini=0 @@ -459,45 +426,45 @@ - - + + - + - + - + - + - + - + - + - + - + @@ -512,37 +479,37 @@ - + - + - - + + - + Ini=0 - + - - + + - + int16 @@ -554,45 +521,45 @@ - - + + - + - + - + - + - + - + - + - + - + @@ -607,38 +574,38 @@ - + - - - + + + - - + + - - int16 + + Ini=0 - - - + + + - - + + - - Ini=0 + + boolean @@ -649,299 +616,299 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - int16 - - - - - - - + + - - + + - - Ini=0 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + T - - + + - - + + F + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + - - + + - - + + threshold=0 + Criteria : u2 ~= 0 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - T + + - - + + - - F + + + + + + + + + + - - + + - - - + + + - - + + - - threshold=0 - Criteria : u2 ~= 0 + + int16 - - - + + + - - + + - - sfix16_En4 + + Ini=0 @@ -952,100 +919,107 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + dz_cntTrnsDet - - + + - - + + - - int16 + + boolean @@ -1056,61 +1030,76 @@ - - - + + + - - + + - - + + - - [cf_speedCoef] + + 3 - - + + - - - - - - - - + + + + + + + + + + + n_motRaw + + + + + + + + + + + + - + - + - - [dz_trnsDet] + + [z_dirPrev] - + @@ -1122,204 +1111,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + - - F + + [z_dir] - - - - - - - - - - - - - - - - - threshold=0 - Criteria : u2 ~= 0 - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1330,29 +1144,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + [n_motAbsPrev] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1373,11 +1202,11 @@ - + - + [z_counter] @@ -1395,11 +1224,11 @@ - + - + int16 @@ -1411,44 +1240,44 @@ - - + + - + - + - - [dz_trnsDet] + + [cf_speedCoef] - + - - + + - - + + - - boolean + + uint16 @@ -1459,77 +1288,44 @@ - - - - - - + + + - - - - - - - - - [n_motAbsPrev] - - - - - - - - - - - - - - - - - - - - - - + - + - - [n_motAbsPrev] + + [z_dir] - + - - + + - - + + - - sfix16_En4 + + int8 @@ -1540,43 +1336,43 @@ - - + + - + - + - - [z_dir] + + [z_dirPrev] - + - + - - + + - + int8 @@ -1588,29 +1384,204 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - [z_counterRawPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + + + + + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 + + + + + + + + + + + + + + + sfix16_En4 @@ -1621,44 +1592,44 @@ - - + + - + - + - - [cf_speedCoef] + + [z_counter] - + - - + + - - + + - - uint16 + + int16 @@ -1669,92 +1640,44 @@ - - + + - + - + - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] + + [z_counter] - + - - + + - - + + - - int8 + + int16 @@ -1765,44 +1688,29 @@ - - - + + + - - + + - - + + - + [z_counter] - - - - - - - - - - - - - - - - - int16 + + @@ -1813,28 +1721,28 @@ - - + + - + - + - - [z_dir] + + [n_motAbsPrev] - + @@ -1856,11 +1764,11 @@ - + - + [cf_speedCoef] @@ -1878,11 +1786,11 @@ - + - + uint16 @@ -1894,59 +1802,90 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 - + - - + + - + int16 @@ -1958,44 +1897,69 @@ - - - + + + - - + + - - + + - - [z_counterRawPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -2006,29 +1970,44 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [dz_trnsDet] - - + + + + + + + + + + + + + + + + + boolean @@ -2039,107 +2018,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_dir] - - - - - - - - - - - - - - - - - - - - - - - - - dz_cntTrnsDet + + - - + + - - + + - - boolean + + int8 @@ -2150,204 +2066,196 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + int16 + + + + + + + + + + + + + + + + + + - - + + - - T + + 2 + + + + + + + + + + + + + + - - + + - - F + + dz_trnsDet - - - - - + + + + + + + + + + + + - - - - - + + - - threshold=0 - Criteria : u2 ~= 0 + + 4 + + + + + + + - - + + - - + + - - sfix16_En4 + + uint16 @@ -2368,11 +2276,11 @@ - + - + 0 @@ -2390,11 +2298,11 @@ - + - + sfix16_En4 @@ -2406,59 +2314,44 @@ - - - + + + - - + + - - + + - - cf_speedCoef + + [z_counterRawPrev] - - - - - - - - - - - - - - - - - cf_speedCoef + + - - + + - - + + - - uint16 + + int16 @@ -2469,44 +2362,52 @@ - - - + + + - - + + - - + + - - if { } + + + + + + + + + + - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -2517,44 +2418,69 @@ - - - + + + - - + + - - + + - - [z_counter] + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -2565,69 +2491,125 @@ - - - + + + - - + + - - + + - - + + 4 + + + + + + + + + + + + + + - - + + - - + + n_motAbsPrev + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - - + + [z_counterRawPrev] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [cf_speedCoef] + + + + + + + @@ -2638,59 +2620,59 @@ - - + + - + - + - - 4 + + 3 - + - - + + - - + + - - n_motAbsPrev + + z_counterRawPrev - - + + - - + + - - sfix16_En4 + + int16 @@ -2703,7 +2685,7 @@ - + @@ -2711,19 +2693,19 @@ - + - + - + - + @@ -2749,11 +2731,11 @@ - + - + boolean @@ -2763,6 +2745,39 @@ + + + + + + + + + + + + + + + + + + [dz_trnsDet] + + + + + + + + + + + + + + + @@ -2775,11 +2790,11 @@ - + - + 2 @@ -2797,11 +2812,11 @@ - + - + z_dirPrev @@ -2812,11 +2827,11 @@ - + - + int8 @@ -2828,75 +2843,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - + - - + + - + int16 @@ -2908,91 +2907,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + if { } - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - - + + + - - + + - - boolean + + Action Port @@ -3003,58 +2955,75 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - 3 + + - - - - + - - - - - - - - - - - z_counterRawPrev + + + + + + + - + - - + + - + int16 @@ -3066,124 +3035,203 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + + - + - - sfix16_En4 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - + - + - + + + + + + + + + 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)", - "off", - "Simplest", + "Floor", + "-1", "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" ], @@ -1195,11 +1350,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1207,7 +1362,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1226,19 +1381,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_posLowRes", + "z_posHighRes", + "local", "Tag" ], "tabs":[ @@ -1252,30 +1409,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "b_enaFOC", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1283,16 +1489,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1300,7 +1506,7 @@ "IconDisplay" ], "values":[ - "z_posHighRes", + "z_posLowRes", "Tag" ], "tabs":[ @@ -1319,21 +1525,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_posLowRes", - "local", + "b_enaFOC", "Tag" ], "tabs":[ @@ -1347,56 +1551,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,15)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "b_enaFOC", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1404,16 +1582,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1421,7 +1599,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "z_posHighRes", "Tag" ], "tabs":[ @@ -1440,50 +1618,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8389", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "5", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Same as first input", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -1493,7 +1661,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -1502,7 +1670,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, @@ -1534,10 +1702,10 @@ "off", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(1,16,14)", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -1564,74 +1732,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "z_counter", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1639,16 +1758,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9665", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"a_elecAngle1", - "label":"a_elecAngle1", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1662,12 +1781,12 @@ "FramePeriod" ], "values":[ - "a_elecAngle", + "0", "on", "inf", "[]", "[]", - "fixdt(0,16,6)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -1693,11 +1812,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1750,25 +1869,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8389", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"b_enaFOC", + "label":"b_enaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_enaFOC", - "Tag" + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1776,7 +1931,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, @@ -2495,7 +2650,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2546,7 +2701,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2597,7 +2752,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2648,7 +2803,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2699,7 +2854,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2750,7 +2905,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2801,7 +2956,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8419#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2852,7 +3007,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2903,7 +3058,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8392#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2954,7 +3109,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8419#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8405#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3005,7 +3160,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9660#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3056,7 +3211,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8392#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3107,7 +3262,160 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8405#out:1", + "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":"", 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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 I%Ug&2KNo3tc>n+a literal 7333 zcmds6XH!#Aw+2N(M2Zxt0hOlGk)|}I1}P$h-jPVJO7AL2N08p6h!{!?EkJ;vfOHU$ z8Ug|a1nHg7?)JSO@7zD|en>KNW^(p9Yd>o}Wk)~JQNK#XMnytGauuqf@)Z1b{rgao zgYOFC$~^FM*+av`n}md>{ojW)^)3xN2?>W0ROO+8U(Ood(Z%54bYtsaHE+x9m9Jej z`^E1p*RCZeFQzF$i;`;4(L`OM(Fnhz`$u6TqjW@bV{^rO0~p)w*r$klw1tc3ADprb zUF(0(E?%pmBO|qAi*SC0M#;~}@B6`5CkJwlt!4NjBArrFGlwlaWZv+B!??^rS?rFP zHUfd5yixMZa^)hOt!zpdrH#^so3BYPzojGR;eN!D^j~(Nwecr~DEm1&B#9$E9#Lq} z$H&0gcB9Hd>ibPkFLT42F`8D~k1Vrt8OvCin0RS8Tj5hNCqxrG!R%I zSM{)0W>xjWoIHwn9mlj+>OPewD~W<>(Mvgz^#l!h6nRgmwB-#Cu9kz4r(F`PVyFZlC>wm&pS`-2T15uMM#5xV02)tYVzF3%# z^GC#;e>c8<-A+8SMBZ&}k1u68Ehu4fJD`~)N7g%XXh_d8a7{8Va9uVgHWp<{h`>(3 zo1pG%YlKZgZ+$=f35+US(a7LQwHxPD<46KY3pwJ4HliqiKgmJ%MBH zcX!I~r6mSxa#@dGO2f`gmLkUo8@f|tV`FL$AClg_eVbV4I~$yymBl7(+0^ytj{r^7 zD+;b4k73l^m`BdecTZ1G{p282SFV^;!&mN1FD}9(zH-B0Fg0v~**Y3~D)euW>)69f z1y9~KHr}`NCotuO5FNGn7__yuU8ZUrp@~~Q;&w_-xT*Tig&Q345tDHp%fI(fV(VRl z{A}^t2iWsmu=@7)wrHkSh8ExO$Vhijk7fWDc2-xAxy`9IIWKRZtBVp;3yO4fbAyjp zT0n6Z!b#lF?6Do7eGprM8WO!6WM&9sY)f2Jad7 z8-kr-BsuqA#@KZxcy7(Bf`RbQ#k#z zg+L%c4<7&9vMs-yl@+H(42IvLU}|b=0%g}(v+=yv)PHwK-G8TFTGnTELYs3$b9i{T z(1^1C4FXYahEDkT(;yi4@o~C?i%W4~VZ_(34>=4e$If%<-DzPDe3R>zA)0lwc84tz zYVNH!A6RnJCnY4%0AT-FTeEj@iL0s-cXDzf@ms4MKSXnSwoIR! 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 UczU%BoI8?0RdrM - + - + @@ -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 - + - + 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] - + @@ -1026,35 +1034,35 @@ - + - + - + - + - + - + - + - + @@ -1072,11 +1080,11 @@ - - + + - + int8 @@ -1098,11 +1106,11 @@ - + - + 1 @@ -1120,11 +1128,11 @@ - - + + - + int8 @@ -1136,188 +1144,236 @@ - - - + + + - - + + - - - - - - - - - + - - + + a_elecAngle - - - - - - - + + + + + + + + + + + + + - - + + - - + + ufix16_En6 + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + T - + - + F - + - - + + - - + + - - ufix16_En12 + + sfix16_En12 @@ -1328,29 +1384,68 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En12 @@ -1361,68 +1456,60 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En12 + + sfix16_En12 @@ -1433,28 +1520,28 @@ - - + + - + - + - - [z_posHighRes] + + [b_enaFOC] - + @@ -1466,44 +1553,60 @@ - - - + + + - - + + - + - - + + - - [z_dir] + + - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int8 + + int16 @@ -1514,44 +1617,77 @@ - - + + + + + + + + + + + + + + + + [z_posLowRes] + + + + + + + + + + + + + + + + + + + - + - + - - [z_counterRaw] + + [z_dir] - + - - + + - - + + - - int16 + + int8 @@ -1562,43 +1698,43 @@ - - + + - + - + - - [z_counter] + + [z_counterRaw] - + - + - - + + - + int16 @@ -1610,44 +1746,44 @@ - - + + - + - + - - [z_posLowRes] + + [a_elecAngle] - + - - + + - - + + - - int8 + + ufix16_En6 @@ -1658,44 +1794,77 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + [z_posHighRes] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + - - + + - - boolean + + a_elecAngle @@ -1706,44 +1875,44 @@ - - + + - + - + - - [z_posHighRes] + + [z_posLowRes] - + - - + + - - + + - - ufix16_En12 + + int8 @@ -1754,29 +1923,44 @@ - - - + + + - - + + - - + + - - [z_posLowRes] + + [b_enaFOC] - - + + + + + + + + + + + + + + + + + boolean @@ -1787,52 +1971,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [b_enaFOC] - - + + - - + + - - + + - - sfix16_En15 + + boolean @@ -1843,44 +2019,44 @@ - - + + - + - + - - [a_elecAngle] + + [z_posHighRes] - + - - + + - - + + - - ufix16_En6 + + sfix16_En12 @@ -1891,59 +2067,52 @@ - - - + + + - - + + - - + + - - 5 + + - - - - - - + + + + + + + - - - - - - - - - - - b_enaFOC + + + - - + + - - + + - - boolean + + ufix16_En6 @@ -1955,68 +2124,68 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En14 @@ -2027,44 +2196,44 @@ - - - + + + - - + + - - + + - - 1 + + [z_counter] - - + + - - - + + + - - + + - - a_elecAngle + + int16 @@ -2075,44 +2244,44 @@ - - - + + + - - + + - - + + - - a_elecAngle + + 0 - - + + - - + + - - + + - - ufix16_En6 + + sfix16_En12 @@ -2123,52 +2292,52 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - ufix16_En6 + + sfix16_En14 @@ -2179,43 +2348,58 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + 5 - - + + + + + + + + + + + + + + + + + b_enaFOC - + - - + + - + boolean @@ -2441,222 +2625,284 @@ - + - + - + - + - + - + - + + + + + + + + - + - + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + + + + + - + - + + + + + - + - + - - + + + + + + + + + + + + + - + - + + + + + + + + - + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + @@ -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", @@ -652,11 +652,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8524", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"r_errInpTgtThres", - "label":"r_errInpTgtThres", + "name":"t_errDequal", + "label":"t_errDequal", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -670,7 +670,7 @@ "FramePeriod" ], "values":[ - "r_errInpTgtThres", + "t_errDequal", "on", "inf", "[]", @@ -701,11 +701,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"g_Hb", - "label":"g_Hb", + "name":"g_Hb1", + "label":"g_Hb1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -723,7 +723,7 @@ "SampleTime" ], "values":[ - "2", + "4", "Element-wise(K.*u)", "[]", "[]", @@ -760,91 +760,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "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":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "ReadWrite", + "", + "All", + "on", + "on", + "", + "", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "", + "void_void", "off", "off", - "0", "off", - "reset", + "", + "off", + "", + "off", "off", - "0", "", - [ - ], - "Dialog", "Auto", - "off" + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Either edge detection" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9398", "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -896,55 +913,6 @@ "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:8514", "className":"Simulink.Sum", @@ -1005,11 +973,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Relational Operator7", + "label":"Relational Operator7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1021,7 +989,7 @@ "ZeroCross" ], "values":[ - "~=", + ">", "off", "boolean", "Simplest", @@ -1050,88 +1018,122 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "==", + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, + "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":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8517", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"r_errInpTgtThres", + "label":"r_errInpTgtThres", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Value", + "VectorParams1D", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "r_errInpTgtThres", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - [ - ], - "Auto" + "inf" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 3, - 4 + 7 ] }, "viewer":{ @@ -1140,7 +1142,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Constant", "masktype":"" } }, @@ -1178,11 +1180,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1191,7 +1193,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "z_errCode", "local", "Tag" ], @@ -1211,11 +1213,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9395", + "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":"Goto27", - "label":"Goto27", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1224,7 +1276,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "b_motStdStill", "local", "Tag" ], @@ -1244,52 +1296,83 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"g_Hb1", - "label":"g_Hb1", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Gain", - "Multiplication", + "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", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "4", - "Element-wise(K.*u)", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: Same as input", + "Inherit: Inherit via back propagation", "off", - "Simplest", + "Zero", "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 1, + 9 ] }, "viewer":{ @@ -1298,16 +1381,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1315,7 +1398,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "z_errCodeRaw", "Tag" ], "tabs":[ @@ -1334,11 +1417,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1365,11 +1448,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1396,11 +1479,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1408,7 +1491,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_errFlag", "Tag" ], "tabs":[ @@ -1427,108 +1510,44 @@ } }, { - "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" + "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":[ - "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", - "" + "b_errFlag", + "local", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Either edge detection" + "blocktype":"Goto", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Data Type Conversion3", + "label":"Data Type Conversion3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1571,108 +1590,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Debounce_Filter", - "label":"Debounce_Filter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Use subsystem name", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Reusable function", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1764,30 +1686,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", - "className":"Simulink.SFunction", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8510", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Bitwise Operator1", - "label":"Bitwise Operator1", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "logicop", - "UseBitMask", - "NumInputPorts", - "BitMask", - "BitMaskRealWorld" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "AND", - "on", - "1", - "bin2dec('100')", - "Stored Integer" + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ + "Main", + "Data Type", + "-Other" ], "tabs_idx":[ + 0, + 1, + 4 ] }, "viewer":{ @@ -1796,32 +1726,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"S-Function", - "masktype":"Bitwise Operator" + "blocktype":"RelationalOperator", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_errCode", - "local", - "Tag" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1829,24 +1771,73 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "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":[ @@ -1860,45 +1851,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Abs4", - "label":"Abs4", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "FramePeriod" ], "values":[ + "0", + "on", + "inf", "[]", "[]", - "Inherit: Same as input", - "off", - "Floor", + "Inherit: Inherit via back propagation", "off", - "-1", - "on" + "inf" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 3, + 7 ] }, "viewer":{ @@ -1907,7 +1900,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Constant", "masktype":"" } }, @@ -1943,38 +1936,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Relational Operator7", - "label":"Relational Operator7", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - ">", + "7", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - "boolean", - "Simplest", - "-1", - "on" + "inf" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 3, + 7 ] }, "viewer":{ @@ -1983,45 +1980,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"g_Hb", + "label":"g_Hb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", "SampleTime" ], "values":[ + "2", + "Element-wise(K.*u)", "[]", "[]", - "uint8", + "Inherit: Same as input", "off", - "Real World Value (RWV)", - "Floor", + "Simplest", "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", "-1" ], "tabs":[ + "Main", + "Signal Attributes", "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 2, + 8, + 11 ] }, "viewer":{ @@ -2030,65 +2039,35 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9394", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", + "className":"Simulink.SFunction", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "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", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "logicop", + "UseBitMask", + "NumInputPorts", + "BitMask", + "BitMaskRealWorld" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", + "AND", "on", - "off", - "off", - "off" + "1", + "bin2dec('100')", + "Stored Integer" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, "viewer":{ @@ -2097,30 +2076,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" + "blocktype":"S-Function", + "masktype":"Bitwise Operator" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "z_errCodeRaw", - "Tag" + "~=", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2128,25 +2121,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "z_errCodeRaw", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2159,16 +2152,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2176,7 +2169,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "VqFinPrev", "Tag" ], "tabs":[ @@ -2195,109 +2188,137 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Debounce_Filter", + "label":"Debounce_Filter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "0", + "FromPortIcon", + "ReadWrite", + "", + "All", "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "on", + "", + "", "off", - "inf" + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Use subsystem name", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Reusable function", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9396", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"Abs4", + "label":"Abs4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "2", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Same as input", "off", + "Floor", "off", - "off" + "-1", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ @@ -2306,48 +2327,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "7", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "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" @@ -2355,16 +2358,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2372,7 +2375,7 @@ "IconDisplay" ], "values":[ - "z_errCodeRaw", + "b_errFlag", "Tag" ], "tabs":[ @@ -2391,32 +2394,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9394", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "0", - "on", - "inf", + "3", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -2425,8 +2446,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -2435,43 +2456,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8510", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9396", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "==", + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "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":{ @@ -2480,59 +2523,24 @@ "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", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "b_motStdStill", - "local", "Tag" ], "tabs":[ @@ -2546,45 +2554,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9398", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"CTRL_COMM", + "label":"CTRL_COMM", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "FramePeriod" ], "values":[ - "u2 ~= 0", - "off", + "0", + "on", + "inf", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" + "inf" ], "tabs":[ "Main", @@ -2593,8 +2593,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 3, + 7 ] }, "viewer":{ @@ -2603,7 +2603,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Constant", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png index 5efe4d27e2624a4adbaa3b2b21f7757f1cf7b23b..94c10d588ecac14f039f204dc437b554d6d6e063 100644 GIT binary patch literal 6565 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 ip8wY~{L4=jN2pU}qBAT3a}K_{KLyA^!#OkwnA* literal 6574 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg index 87a9a4a..0c955ea 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg @@ -14,7 +14,7 @@ - + @@ -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 @@ -469,59 +472,44 @@ - - - + + + - - + + - + - - r_errInpTgtThres + + t_errDequal - - - - - - - - - - - - - - - - - r_errInpTgtThres + + - - + + - - + + - - int16 + + uint16 @@ -532,43 +520,43 @@ - - + + - + - + - - 2 + + 4 - + - + - - + + - + uint8 @@ -580,284 +568,332 @@ - - - + + + - - + + - - + + - - 2 - - - - - - - + + - - - - - - + + + + + + + - + - - b_errFlag + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + boolean + + + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - - T + + - + - - F - - - - - - - - - - - - - - + + - + - - uint8 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - t_errDequal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ~= 0 - - + + - - + + - - + + - - uint16 + + boolean @@ -878,51 +914,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -940,11 +976,11 @@ - + - + uint8 @@ -956,30 +992,30 @@ - - + + - + - + - + - + - - + + @@ -993,22 +1029,22 @@ - + - + - - + + - + boolean @@ -1020,68 +1056,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + 2 - - - - - - - - - - + + - - - + + + - - + + - - boolean + + b_errFlag @@ -1092,92 +1104,60 @@ - - - + + + - - + + - + - - + + - - + + r_errInpTgtThres - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + r_errInpTgtThres - - - - - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - Ini=0 - + + + + + + + + + + + int16 + @@ -1197,11 +1177,11 @@ - + - + [z_errCodePrev] @@ -1220,28 +1200,28 @@ - - + + - + - + - - [b_errFlag] + + [z_errCode] - + @@ -1253,76 +1233,90 @@ - - - + + + - - + + - + - - + + - - [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - + + - - + + + + + + + + + - - + + - - 4 - - - - - - - + + Ini=0 - + - - + + - + uint8 @@ -1334,44 +1328,29 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + [b_motStdStill] - - - - - - - - - - - - - - - - - boolean + + @@ -1382,44 +1361,29 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] + + [z_errCodeRaw] - - - - - - - - - - - - - - - - - uint8 + + @@ -1430,244 +1394,188 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] - - - - - - - + + - - - - - - + + + + + + + - - + + - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - [b_motStdStill] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + + + + + + T - - - - - - + + - - + + F - - - - - - - - - - - - - - - - - - + + + + + - - + + - - + + - - boolean + + uint8 @@ -1678,59 +1586,91 @@ - - - + + + - - + + - + - - + + - - + + [z_errCodeRaw] + + + + + + + + + + + + + + - - + + - - + + uint8 - - + + + + + + + + + + + + + + + + + + + [z_errCodePrev] + - - + + - + - - + + - + uint8 @@ -1742,323 +1682,125 @@ - - - + + + - - + + - - + + - - u + + [z_errCodePrev] - - - - - - - tAcv + + + + + + - - - - - - - tDeacv + + + + + + - - + + - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + uint8 + + + + + + + + + + + + + + + + + + - - + + - - + + [b_errFlag] - - + + - - - + + + - - + + - - Debounce_Filter + + boolean - + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + [b_errFlag] - - - - - - - - - - - boolean + + + @@ -2079,19 +1821,19 @@ - + - + - + - + @@ -2117,11 +1859,11 @@ - + - + uint8 @@ -2133,107 +1875,59 @@ - - - + + + - - + + - + - - + + - - 1 - - - - - - - - - - - - - - + + - - + + - - boolean + + - - - - - - - - - - - - + + - - - - - - - Bitwise - - - - - - - - AND - - - - - - - - 0x4 - - - + + - + - - + + - + uint8 @@ -2245,77 +1939,44 @@ - - - - - - - - - - - - - - - - [z_errCode] - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - [VqFinPrev] + + 1 - - + + - - + + - - + + - - int16 + + boolean @@ -2326,46 +1987,38 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + @@ -2379,71 +2032,23 @@ - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posRaw] - - - - - - - + + - - + + - - + + - - uint8 + + boolean @@ -2454,30 +2059,38 @@ - - + + - + - + - + - - + + - - + + + + + + + + + + @@ -2491,22 +2104,22 @@ - + - + - - + + - + boolean @@ -2528,19 +2141,19 @@ - + - + - + - + @@ -2566,11 +2179,11 @@ - + - + uint8 @@ -2582,59 +2195,77 @@ - - - + + + - - + + - - + + - - 3 + + [VqFinPrev] - - - + + + - - - - + + + + + + + + + + + + + + + - - + + - - VqFinPrev + + 0 + + + + + + + - + - - + + - - int16 + + uint8 @@ -2645,43 +2276,43 @@ - - + + - + - - + + - - [z_errCodeRaw] + + [z_posRaw] - + - + - - + + - + uint8 @@ -2693,92 +2324,643 @@ - - - + + + - - + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + Bitwise + + + + + + + + AND + + + + + + + + 0x4 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCodeRaw] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + tAcv + + + + + + + + tDeacv + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - if { } + + - - + + - - + + - - + + - - Action Port + + Debounce_Filter - - - - - - - - - - - - - - - + + + + - - + + - - [b_errFlag] - - - - - - - + + boolean - - - - + - - + + - - boolean + + + + + + + + + + + + + + + + + + + + + + @@ -2789,107 +2971,76 @@ - - - + + + - - + + - + - - + + - - 0 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - uint8 + + - - - - - - - - - - - - + + - - - - - - - 2 - - - - - - - - - - - - - - - - - - b_motStdStill + + - - + + - - + + - - boolean + + int16 @@ -2900,44 +3051,44 @@ - - - + + + - - + + - - + + - - 7 + + if { } - - + + - - - + + + - - + + - - uint8 + + Action Port @@ -2948,44 +3099,44 @@ - - + + - + - + - - [z_errCodeRaw] + + [b_errFlag] - + - - + + - - + + - - uint8 + + boolean @@ -2996,44 +3147,59 @@ - - - + + + - - + + - - + + - - 0 + + 3 - - + + + + + + + + + + + + + + + + + VqFinPrev - + - - + + - - uint8 + + int16 @@ -3044,67 +3210,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + 2 - - - - - + + + + - - - + + + + + + + + + + + b_motStdStill - + - - + + - + boolean @@ -3116,62 +3273,44 @@ - - - + + + - - + + - - + + - - [z_errCodeRaw] + + [b_motStdStill] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [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 @@ -80,59 +80,44 @@ - - - + + + - - + + - + - - 1 + + else { } - - + + - - + + - - - - - yPrev - - - - - - - - - - - + - - boolean + + Action Port @@ -143,44 +128,59 @@ - - - + + + - - + + - - + + - - else { } + + 1 - - + + - - + + + + + + + + + + yPrev + + + + + + + - + - - Action Port + + 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", @@ -80,96 +125,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2446", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" - ], - "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Switch", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2445", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - ">", - "off", - "boolean", - "Simplest", - "-1", - "on" + "yPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -177,16 +153,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -195,7 +171,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "yDeacv", "local", "Tag" ], @@ -215,19 +191,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_cntRst", + "tDeacv", + "local", "Tag" ], "tabs":[ @@ -241,16 +219,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2439", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -258,7 +236,7 @@ "IconDisplay" ], "values":[ - "yDeacv", + "tDeacv", "Tag" ], "tabs":[ @@ -308,11 +286,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -320,7 +298,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "b_cntRst", "Tag" ], "tabs":[ @@ -339,11 +317,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2433", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -357,12 +335,12 @@ "FramePeriod" ], "values":[ - "1", + "0", "on", "inf", "[]", "[]", - "uint16", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -388,11 +366,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2433", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"Constant6", + "label":"Constant6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -406,12 +384,12 @@ "FramePeriod" ], "values":[ - "0", + "1", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint16", "off", "inf" ], @@ -437,89 +415,20 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "tDeacv", - "local", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -532,32 +441,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2444", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2446", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "b_cntRst", - "local", - "Tag" + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -565,7 +498,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Switch", "masktype":"" } }, @@ -599,52 +532,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2439", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", "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", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "yDeacv", - "local", "Tag" ], "tabs":[ @@ -658,7 +558,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -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 @@ -13,235 +13,59 @@ - - - + + + - - + + - + - + - - 1 - - - - - - - - - - - - - - + + - - + + - - yDeacv + + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - + + - + - - + + - + boolean @@ -253,60 +77,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - - - - - - + + - - - + + + - - + + - - boolean + + yDeacv @@ -327,11 +135,11 @@ - + - + [yPrev] @@ -350,44 +158,29 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + [yDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -398,44 +191,29 @@ - - - + + + - - + + - - + + - - [yDeacv] + + [tDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -446,43 +224,43 @@ - - + + - + - + - + [tDeacv] - + - + - - + + - + uint16 @@ -494,44 +272,44 @@ - - + + - + - + - - [yPrev] + + [tDeacv] - + - - + + - - + + - - boolean + + uint16 @@ -542,44 +320,44 @@ - - - + + + - - + + - - + + - - 1 + + [b_cntRst] - - + + - - + + - - + + - - uint16 + + boolean @@ -600,11 +378,11 @@ - + - + 0 @@ -622,11 +400,11 @@ - + - + boolean @@ -638,59 +416,44 @@ - - - + + + - - + + - - + + - - 3 + + 1 - - - - - - - - - - - - - - - - - yPrev + + - - + + - - + + - - boolean + + uint16 @@ -701,29 +464,44 @@ - - - + + + - - + + - - + + - - [tDeacv] + + elseif { } - - + + + + + + + + + + + + + + + + + Action Port @@ -734,29 +512,188 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + + + + + + + + + + + + + + + + boolean @@ -777,155 +714,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -943,11 +880,11 @@ - + - + Counter @@ -958,11 +895,11 @@ - + - + uint16 @@ -970,29 +907,29 @@ - + - + - + - + - + - + @@ -1006,77 +943,44 @@ - - + + - + - + - - [tDeacv] + + [yDeacv] - + - - - - - - - - - - uint16 + + - - - - - - - - - - - - - - - - - - - - + + - - [yDeacv] - - - - - - - + + boolean @@ -1097,11 +1001,11 @@ - + - + 2 @@ -1119,11 +1023,11 @@ - + - + b_cntRst @@ -1134,11 +1038,59 @@ - + - + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + + + + + + + + + + + + + + + + boolean @@ -1160,11 +1112,11 @@ - + - + 1 @@ -1182,11 +1134,11 @@ - + - + tDeacv @@ -1197,11 +1149,11 @@ - + - + uint16 @@ -1213,44 +1165,92 @@ - - - + + + - - + + - - + + - - elseif { } + + [b_cntRst] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + - - + + + + + + + + + + yPrev + + + + + + + - + - - Action Port + + 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,32 +486,32 @@ - - - + + + - + - - uint16 + + Ini=initVal - - - + + + - + - - 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", @@ -139,60 +168,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2414", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2415", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "OutMax", + "OutMin", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "3", - "Port number", + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", + "Floor", "-1", - "auto", - "off", - "", - "on", - "off", "off", - "off" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -201,16 +216,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2414", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "name":"rst", + "label":"rst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "inspector":{ "params":[ @@ -233,7 +248,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -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":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", "LockScale", - "OutMax", - "OutMin", - "RndMeth", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", "2", - "off", + "Port number", "[]", "[]", - "Floor", + "Inherit: auto", + "off", + "inherit", "-1", + "Inherit", + "-1", + "auto", "off", - "on" + "", + "on", + "off", + "off", + "off" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 11 ] }, "viewer":{ @@ -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,11 +252,11 @@ - + - + uint16 @@ -133,59 +268,60 @@ - - - + + + - - + + - + - - + + - - 3 + + + + + + + + + + - - - - + - - - - - - - - - - - rst + + + + + + + - - + + - - + + - - boolean + + uint16 @@ -196,59 +332,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - max + + rst - - + + - - + + - - uint16 + + boolean @@ -269,11 +405,11 @@ - + - + 1 @@ -291,11 +427,11 @@ - + - + inc @@ -306,75 +442,11 @@ - + - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + uint16 @@ -386,135 +458,63 @@ - - - + + + - - + + - - - - - - u - - - - - - - - rst - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - + + - - + + 2 - - + + - - - + + + - - + + - - Ini=z_cntInit + + 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,19 +135,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "yAcv", + "tAcv", + "local", "Tag" ], "tabs":[ @@ -241,16 +163,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2485", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -258,7 +180,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "b_cntRst", "Tag" ], "tabs":[ @@ -277,11 +199,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2481", + "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":"From1", - "label":"From1", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -289,7 +291,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "tAcv", "Tag" ], "tabs":[ @@ -308,11 +310,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2484", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -320,7 +322,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "yAcv", "Tag" ], "tabs":[ @@ -339,11 +341,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2485", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2481", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -351,7 +353,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "yPrev", "Tag" ], "tabs":[ @@ -370,40 +372,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "z_cntInit" + "GotoTag", + "IconDisplay" ], "values":[ - "0" + "tAcv", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2479", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -422,7 +426,7 @@ "inf", "[]", "[]", - "uint16", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -448,42 +452,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2489", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -492,7 +465,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "b_cntRst", "local", "Tag" ], @@ -512,11 +485,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2479", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"Constant6", + "label":"Constant6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -535,7 +508,7 @@ "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint16", "off", "inf" ], @@ -561,69 +534,62 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2476", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"b_errPrev", - "label":"b_errPrev", + "name":"Action Port", + "label":"Action Port", "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" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "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:2480", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "z_cntInit" + ], + "values":[ + "0" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"SubSystem", "masktype":"" } }, @@ -728,27 +694,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2474", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"tAcv", + "label":"tAcv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "tAcv", - "local", - "Tag" + "1", + "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" @@ -756,16 +756,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2474", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2476", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"tAcv", - "label":"tAcv", + "name":"b_errPrev", + "label":"b_errPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -788,7 +788,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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 @@ -13,70 +13,46 @@ - - - + + + - - + + - + - - 1 - - - - - - - - - - - - - - + + - + - - yAcv + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + @@ -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,28 +269,28 @@ - - + + - + - + - - [b_cntRst] + + [yAcv] - + @@ -350,44 +302,29 @@ - - - + + + - - + + - - + + - - [yAcv] + + [tAcv] - - - - - - - - - - - - - - - - - boolean + + @@ -398,44 +335,44 @@ - - + + - + - + - - [tAcv] + + [b_cntRst] - + - - + + - - + + - - uint16 + + boolean @@ -446,44 +383,44 @@ - - - + + + - - + + - - + + - - [yPrev] + + 1 - - + + - - - + + + - - + + - - boolean + + yAcv @@ -504,11 +441,11 @@ - + - + [tAcv] @@ -526,11 +463,11 @@ - + - + uint16 @@ -542,43 +479,43 @@ - - + + - + - + - - [b_cntRst] + + [yAcv] - + - + - - + + - + boolean @@ -590,235 +527,173 @@ - - - + + + - - + + - - + + - - inc + + [yPrev] - - - - - - - max + + + + + + + + + + + + + - - + + - - rst - - - - - - - - cnt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + [tAcv] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + uint16 + + + + + + + + + + + + + + + + + + - - + + - - + + 1 - - + + - - - + + + - - + + - - Counter + + boolean - - - - - - - - - - - uint16 - - + + + + + + + + + + + + - + - - + + - - + + [b_cntRst] - - - - - - - - - - - - - - - - - - + + + + + @@ -839,11 +714,11 @@ - + - + 1 @@ -861,11 +736,11 @@ - + - + uint16 @@ -879,7 +754,7 @@ - + @@ -887,11 +762,11 @@ - + - + if { } @@ -901,164 +776,259 @@ - - - - - - + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + inc + + + + + + + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - Action Port + + - - - - - - - - - - - - - - - - - - - - + + - - [yAcv] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - 3 + + - - + + - - + + - - + + - - b_errPrev + + Counter - - + + - - + + - - boolean + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1079,11 +1049,11 @@ - + - + [yPrev] @@ -1112,11 +1082,11 @@ - + - + 2 @@ -1134,11 +1104,11 @@ - + - + b_cntRst @@ -1149,11 +1119,11 @@ - + - + boolean @@ -1165,29 +1135,59 @@ - - - + + + - - + + - - + + - - [tAcv] + + 1 - - + + + + + + + + + + + + + + + + + tAcv + + + + + + + + + + + + + + + uint16 @@ -1198,11 +1198,11 @@ - - + + - + @@ -1212,45 +1212,45 @@ - - 1 + + 3 - + - - + + - + - - tAcv + + b_errPrev - - + + - + - - uint16 + + 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", @@ -168,11 +139,64 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2414", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2415", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax", + "label":"MinMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"MinMax", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2413", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ @@ -195,7 +219,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -235,55 +259,31 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2415", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"rst_Delay", + "label":"rst_Delay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "initVal" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "z_cntInit" ], "tabs":[ - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 1 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"SubSystem", "masktype":"" } }, @@ -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 @@ -61,202 +61,131 @@ - - - + + + - - + + - + - - u + + - + - - rst + + - + - - y + + - - - - - 1 - - - - - - - - z - - - - + - - + + - - - - - - - - - - - - - - - - - Ini=z_cntInit + + - - + + - - + + - + uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - + + - - + + - + uint16 @@ -268,59 +197,59 @@ - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - rst + + max - - + + - - + + - - boolean + + uint16 @@ -331,64 +260,135 @@ - - - + + + - - + + - + - - + + - - + + 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,32 +120,32 @@ - - - + + + - + - - Ini=0 + + boolean - - - + + + - + - - boolean + + Ini=0 @@ -158,7 +158,7 @@ - + @@ -345,5 +345,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json index 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,195 +1,81 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2496", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", "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" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Nonreusable function", + "inherit", "-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", + "Inherit", + "-1", + "auto", "off", - "", "off", - "", + "[]", "off", + "held", "off", + "0", "", + [ + ], + "Dialog", "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Outport", "masktype":"" } }, @@ -232,39 +118,6 @@ "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", @@ -284,89 +137,9 @@ "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", - "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "Parameter Attributes" + ], + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -374,7 +147,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, @@ -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":[ @@ -567,11 +340,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -598,11 +371,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -610,7 +383,7 @@ "IconDisplay" ], "values":[ - "tDeacv", + "u", "Tag" ], "tabs":[ @@ -629,19 +402,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2465", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_cntRst", + "tAcv", + "local", "Tag" ], "tabs":[ @@ -655,16 +430,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -672,7 +447,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "b_cntRst", "Tag" ], "tabs":[ @@ -691,25 +466,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "tAcv", - "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" @@ -717,40 +511,201 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "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", - "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":[ - "yPrev", - "local", - "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":[ + "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:2428", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Dequalification", + "label":"Dequalification", + "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":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, @@ -788,42 +743,11 @@ } }, { - "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":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Dequalification", - "label":"Dequalification", + "name":"Default", + "label":"Default", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -916,11 +840,54 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "2", + "u1 ~= 0", + "u2 ~=0", + "on", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Default", - "label":"Default", + "name":"Qualification", + "label":"Qualification", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -994,56 +961,206 @@ "" ], "tabs":[ - "Main", - "-Other" + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2448", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "yPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2421", + "className":"Simulink.Inport", + "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, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "u1 ~= 0", - "u2 ~=0", - "on", - "-1", - "on" + "y", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1051,49 +1168,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "yPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1101,16 +1201,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2448", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1118,7 +1218,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "tDeacv", "Tag" ], "tabs":[ @@ -1204,11 +1304,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2421", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2420", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"tAcv", - "label":"tAcv", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1231,7 +1331,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -1271,52 +1371,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", "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", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "tAcv", - "local", "Tag" ], "tabs":[ @@ -1330,83 +1397,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2420", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"u", - "label":"u", - "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":[ - "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":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator4", + "label":"Logical Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1418,7 +1418,7 @@ "SampleTime" ], "values":[ - "AND", + "NOT", "2", "rectangular", "off", @@ -1447,11 +1447,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2468", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1463,7 +1463,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", @@ -1492,11 +1492,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2468", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png index 8b0fea8e8741c9fc05583f05d849a982d9c9c19d..552ae2687237409777a537b876d4c007e8e71efe 100644 GIT binary patch literal 6796 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 - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tAcv - - - - - - - - b_cntRst - - - - - - - - b_errPrev - - - - - - - - yAcv - - - - + - - if { } + + 1 - - - - - - - - + + - - - - - - - - - - - - - - - - Qualification - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - + + - - + + - - boolean + + y @@ -306,12 +62,6 @@ - - - - - - @@ -321,19 +71,19 @@ - + - + - + - + @@ -359,11 +109,11 @@ - + - + boolean @@ -375,28 +125,28 @@ - - + + - + - + - - [tDeacv] + + [u] - + @@ -406,87 +156,6 @@ - - - - - - - - - - - - - - - - - - [u] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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,11 @@ - + - + boolean @@ -762,43 +431,43 @@ - - + + - + - + - + [u] - + - + - - + + - + boolean @@ -810,44 +479,77 @@ - - + + - + - + - - [tDeacv] + + [u] - + - - + + - - + + - - uint16 + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [tAcv] + + + + + + + @@ -868,11 +570,11 @@ - + - + [b_cntRst] @@ -890,11 +592,11 @@ - + - + boolean @@ -906,125 +608,383 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + - + - - [yPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + - - + + - - [tAcv] + + tDeacv + + + + + + + + b_cntRst + + + + + + + + yPrev + + + + + + + + yDeacv + + + + + + + + elseif { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dequalification - - + + + + + + + + - - + + - - uint16 + + boolean - - - - - - - - - - - - - - - + - - - + + + + - - [yPrev] + + - - - - - - + + + + + + + action @@ -1036,6 +996,12 @@ + + + + + + @@ -1045,11 +1011,11 @@ - + - + [y] @@ -1068,57 +1034,9 @@ - - - - - - - - - - - - - - - - [u] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - + + + @@ -1126,50 +1044,34 @@ - + - - - - - - tDeacv - - - + - - b_cntRst - - - - - - - + yPrev - + - - yDeacv + + yDefault - + - - elseif { } + + else { } @@ -1181,7 +1083,7 @@ - + @@ -1194,16 +1096,16 @@ - - + + - - + + - - Dequalification + + Default @@ -1215,15 +1117,15 @@ - + - - + + - + boolean @@ -1236,15 +1138,15 @@ - + - - + + - + action @@ -1256,14 +1158,124 @@ - + - + + + + + + + + + + + + + + + u1 + + + + + + + + u2 + + + + + + + + if(u1 ~= 0) + + + + + + + + elseif(u2 ~=0) + + + + + + + + else + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + @@ -1272,34 +1284,50 @@ - + - + + + + + + tAcv + + + - - yPrev + + b_cntRst - + + + + + + b_errPrev + + + - - yDefault + + yAcv - + - - else { } + + if { } @@ -1311,7 +1339,7 @@ - + @@ -1324,16 +1352,16 @@ - - + + - - + + - - Default + + Qualification @@ -1345,15 +1373,15 @@ - + - - + + - + boolean @@ -1366,15 +1394,15 @@ - + - - + + - + action @@ -1386,112 +1414,146 @@ - + - - + + - - + + - - + + - - u1 + + [yPrev] - - - - - - - u2 + + + + + + - - - - - - - if(u1 ~= 0) + + + + + + - - + + - - elseif(u2 ~=0) + + boolean + + + + + + + + + + + + + + + + + + - - + + - - else + + 2 - - + + - - - + + + - - + + - - action + + tAcv - - + + - - + + - - action + + uint16 - - - - + + + + + + + + + + + + + + + - - + + - - action + + [tDeacv] + + + + + + + @@ -1502,91 +1564,125 @@ - - - + + + - - + + - + - - + + - - + + [yPrev] - - - - - - - + + + + + + + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + [y] - + + + + - + + + + + + + + + + + boolean + - - - - - - + + + + + + + + + + + + + - - - - - + + - - Ini=0 + + [yPrev] - - - - - - - - - - - boolean + + + @@ -1597,44 +1693,44 @@ - - + + - + - + - - [yPrev] + + [tDeacv] - + - - + + - - + + - - boolean + + uint16 @@ -1655,11 +1751,11 @@ - + - + 3 @@ -1677,11 +1773,11 @@ - + - + tDeacv @@ -1692,11 +1788,11 @@ - + - + uint16 @@ -1708,59 +1804,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - tAcv + + u - - + + - - + + - - uint16 + + boolean @@ -1771,140 +1867,44 @@ - - + + - + - + - - [u] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - + [tAcv] - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - u + + - - + + - + - - boolean + + uint16 @@ -1915,30 +1915,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -1948,23 +1948,23 @@ - + - + - + boolean - - + + @@ -1979,30 +1979,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2012,23 +2012,23 @@ - + - + - + boolean - - + + @@ -2043,11 +2043,11 @@ - - + + - + @@ -2057,7 +2057,7 @@ - + @@ -2065,7 +2065,7 @@ - + @@ -2076,22 +2076,22 @@ - + - + - + boolean - + @@ -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,32 +120,32 @@ - - - + + + - + - - boolean + + Ini=0 - - - + + + - + - - Ini=0 + + boolean @@ -158,7 +158,7 @@ - + @@ -345,5 +345,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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)", + "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,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModReq", "local", "Tag" ], @@ -227,19 +257,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9390", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_toActive", + "local", "Tag" ], "tabs":[ @@ -253,16 +285,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9390", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -270,7 +302,7 @@ "IconDisplay" ], "values":[ - "b_toTrqMod", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -289,11 +321,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -301,7 +333,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toTrqMod", "Tag" ], "tabs":[ @@ -320,19 +352,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9423", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -346,24 +380,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", + "z_ctrlMod", + "local", "Tag" ], "tabs":[ @@ -377,16 +413,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9423", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -395,7 +431,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_errFlag", "local", "Tag" ], @@ -415,11 +451,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -428,7 +464,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_toSpdMod", "local", "Tag" ], @@ -448,21 +484,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", - "local", + "b_motEna", "Tag" ], "tabs":[ @@ -476,24 +510,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", + "b_toOpen", + "local", "Tag" ], "tabs":[ @@ -507,26 +543,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -540,16 +574,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -557,7 +591,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -576,21 +610,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", - "local", + "b_motStdStill", "Tag" ], "tabs":[ @@ -604,26 +636,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", - "local", + "b_toOpen", "Tag" ], "tabs":[ @@ -637,27 +667,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon6", - "name":"F02_02_Control_Mode_Manager", - "label":"F02_02_Control_Mode_Manager", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8654", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Elements as channels (sample based)", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon6", + "name":"F02_02_Control_Mode_Manager", + "label":"F02_02_Control_Mode_Manager", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", "AllowZeroVariantControls", "BlockChoice", "FunctionInterfaceSpec", @@ -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 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 W`*GLOJHka6c->dmyH}-Z7xh1 - - - + + + - - + + - + - + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + z_ctrlModPrev - - + + + + + + + + + - - - + + - - - + + + + + + + + [b_motEna] - - - - - - - - - - - uint8 + + + @@ -189,28 +190,28 @@ - - + + - + - + - - [b_toTrqMod] + + [z_ctrlModReq] - + @@ -222,28 +223,28 @@ - - + + - + - + - - [b_toOpen] + + [b_toActive] - + @@ -265,11 +266,11 @@ - + - + [z_ctrlModPrev] @@ -287,11 +288,11 @@ - + - + uint8 @@ -313,11 +314,11 @@ - + - + [b_toTrqMod] @@ -335,11 +336,11 @@ - + - + boolean @@ -351,44 +352,62 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [b_motStdStill] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [z_ctrlMod] + + + + + + + @@ -399,44 +418,62 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + [b_errFlag] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [b_toSpdMod] + + + + + + + @@ -447,43 +484,43 @@ - - + + - + - + - - [b_toSpdMod] + + [b_motEna] - + - + - - + + - + boolean @@ -495,28 +532,28 @@ - - + + - + - + - - [b_motStdStill] + + [b_toOpen] - + @@ -528,62 +565,44 @@ - - - + + + - - + + - - + + - + [z_ctrlModPrev] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_toSpdMod] - - - - - - - + + uint8 @@ -594,43 +613,43 @@ - - + + - + - + - - [b_motStdStill] + + [b_toSpdMod] - + - + - - + + - + boolean @@ -642,29 +661,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [b_motStdStill] - - + + + + + + + + + + + + + + + + + boolean @@ -675,43 +709,43 @@ - - + + - + - + - - [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,242 +969,50 @@ - + - + - + - - - - - - - - [b_toActive] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - [b_toOpen] + + [b_errFlag] - + - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - z_ctrlModReq - - - - - - - + + - - + + - - uint8 + + boolean @@ -1167,28 +1023,28 @@ - - + + - + - + - - [b_toActive] + + [z_ctrlModPrev] - + @@ -1200,59 +1056,59 @@ - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - b_motEna + + z_ctrlModReq - - + + - - + + - - boolean + + uint8 @@ -1263,44 +1119,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - z_ctrlModPrev + + b_motEna + + + + + + + + + + + + + + + boolean @@ -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 @@ -98,11 +98,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_toTrqMod", - "label":"b_toTrqMod", + "name":"b_toSpdMod", + "label":"b_toSpdMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -131,7 +131,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -178,11 +178,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_toSpdMod", - "label":"b_toSpdMod", + "name":"b_toActive", + "label":"b_toActive", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -211,7 +211,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -258,63 +258,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_toActive", - "label":"b_toActive", + "name":"constant8", + "label":"constant8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "2", - "Port number", + "OPEN_MODE", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", + "Inherit: Inherit via back propagation", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -323,8 +292,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -333,7 +302,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, @@ -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":[ @@ -575,38 +544,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"constant5", + "label":"constant5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "==", + "VLT_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - "boolean", - "Simplest", - "-1", - "on" + "inf" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 3, + 7 ] }, "viewer":{ @@ -615,16 +588,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -636,7 +609,7 @@ "ZeroCross" ], "values":[ - "~=", + "==", "off", "boolean", "Simplest", @@ -710,11 +683,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Relational Operator10", + "label":"Relational Operator10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -755,73 +728,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"b_toOpen", - "label":"b_toOpen", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", + "==", "off", - "inherit", - "-1", - "Inherit", + "boolean", + "Simplest", "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -830,16 +768,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant2", - "label":"constant2", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -853,7 +791,7 @@ "FramePeriod" ], "values":[ - "OPEN_MODE", + "TRQ_MODE", "on", "inf", "[]", @@ -884,43 +822,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "TRQ_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_errFlag", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -928,44 +850,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator10", - "label":"Relational Operator10", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "z_ctrlModReq", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -973,16 +883,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -991,7 +901,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "b_toTrqMod", "local", "Tag" ], @@ -1011,11 +921,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1024,7 +934,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "b_toOpen", "local", "Tag" ], @@ -1044,27 +954,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "z_ctrlModPrev", - "local", - "Tag" + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1072,16 +994,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1108,21 +1030,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toActive", - "local", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1136,7 +1056,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -1172,11 +1092,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1203,21 +1123,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -1231,16 +1149,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1248,7 +1166,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -1267,25 +1185,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"b_toTrqMod", + "label":"b_toTrqMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "b_toTrqMod", - "Tag" + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1293,30 +1260,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "z_ctrlModReq", - "Tag" + "~=", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1324,7 +1305,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -1360,19 +1341,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", + "b_toSpdMod", + "local", "Tag" ], "tabs":[ @@ -1386,16 +1369,82 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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:9421", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "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:8551", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1418,7 +1467,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -1458,11 +1507,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1470,7 +1519,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1489,25 +1538,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "z_ctrlModReq", - "Tag" + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1515,30 +1600,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"b_toOpen", + "label":"b_toOpen", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "z_ctrlModPrev", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1546,26 +1680,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "b_toTrqMod", - "local", "Tag" ], "tabs":[ @@ -1579,16 +1711,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1597,7 +1729,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toActive", "local", "Tag" ], @@ -1617,11 +1749,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1629,129 +1761,13 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "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:8548", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", - "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":[ - "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: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":[ + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1759,16 +1775,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1777,7 +1793,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_motEna", "local", "Tag" ], @@ -1864,56 +1880,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator5", - "label":"Relational Operator5", - "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:8547", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1936,7 +1907,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -2007,50 +1978,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", + "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", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "5", - "Port number", + "TRQ_MODE", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -2059,8 +2043,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -2069,26 +2053,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", - "local", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -2102,37 +2084,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8547", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"constant8", - "label":"constant8", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "OPEN_MODE", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -2141,8 +2141,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -2151,7 +2151,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, @@ -2201,11 +2201,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator7", - "label":"Logical Operator7", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2217,8 +2217,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "AND", + "3", "rectangular", "off", "boolean", @@ -2246,11 +2246,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator9", - "label":"Logical Operator9", + "name":"Logical Operator4", + "label":"Logical Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2262,8 +2262,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "OR", + "4", "rectangular", "off", "boolean", @@ -2336,11 +2336,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator7", + "label":"Logical Operator7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2352,8 +2352,8 @@ "SampleTime" ], "values":[ - "AND", - "3", + "NOT", + "2", "rectangular", "off", "boolean", @@ -2381,11 +2381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator9", + "label":"Logical Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2397,8 +2397,8 @@ "SampleTime" ], "values":[ - "OR", - "4", + "NOT", + "2", "rectangular", "off", "boolean", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.svg index 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 @@ -83,11 +83,11 @@ - - + + - + @@ -97,30 +97,30 @@ - - 4 + + 3 - + - - + + - + - - b_toTrqMod + + b_toSpdMod @@ -131,11 +131,11 @@ - - + + - + @@ -145,30 +145,30 @@ - - 3 + + 2 - + - - + + - + - - b_toSpdMod + + b_toActive @@ -179,44 +179,44 @@ - - - + + + - - + + - + - - 2 + + OPEN_MODE - - + + - - - + + + - + - - b_toActive + + 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,11 +619,11 @@ - + - + boolean @@ -587,29 +635,29 @@ - - + + - + - + - + - + - + @@ -624,22 +672,22 @@ - + - + - - + + - + boolean @@ -651,30 +699,38 @@ - - + + - + - + - + - - + + - - + + + + + + + + + + @@ -688,22 +744,22 @@ - + - + - - + + - + boolean @@ -725,27 +781,27 @@ - + - + - + - + - + - + @@ -771,11 +827,11 @@ - + - + boolean @@ -787,44 +843,44 @@ - - - + + + - - + + - - + + - - 1 + + TRQ_MODE - - + + - - - + + + - - + + - - b_toOpen + + uint8 @@ -835,44 +891,29 @@ - - - + + + - - + + - - + + - - OPEN_MODE + + [b_errFlag] - - - - - - - - - - - - - - - - - uint8 + + @@ -883,44 +924,29 @@ - - - + + + - - + + - - + + - - TRQ_MODE + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - uint8 + + @@ -931,68 +957,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + [b_toTrqMod] - - - - - - - - - - - - - - - - - - - - - - - - - boolean + + @@ -1013,11 +1000,11 @@ - + - + [b_toOpen] @@ -1036,62 +1023,68 @@ - - - + + + - - + + - + - - + + - - [b_toSpdMod] + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - + + - - + + + + + + - + + + + - + - - [z_ctrlModPrev] - - - - - - - + + boolean @@ -1102,11 +1095,11 @@ - - + + - + @@ -1116,29 +1109,29 @@ - + [b_toOpen] - + - + - + - + boolean @@ -1150,29 +1143,44 @@ - - - + + + - - + + - + - - [b_toActive] + + [z_ctrlModReq] - - + + + + + + + + + + + + + + + + + uint8 @@ -1193,11 +1201,11 @@ - + - + [b_motStdStill] @@ -1215,11 +1223,11 @@ - + - + boolean @@ -1231,43 +1239,43 @@ - - + + - + - + - + [z_ctrlModReq] - + - + - - + + - + uint8 @@ -1279,76 +1287,43 @@ - - - - - - - - - - - - - - - - [b_motEna] - - - - - - - - - - - - - - - - - - - + + - + - + - - [z_ctrlModReq] + + [z_ctrlModPrev] - + - + - - + + - + uint8 @@ -1360,43 +1335,43 @@ - - + + - + - + - - [b_toTrqMod] + + [b_toSpdMod] - + - + - - + + - + boolean @@ -1408,44 +1383,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 4 - - + + - - - + + + - - + + - - uint8 + + b_toTrqMod @@ -1456,43 +1431,59 @@ - - - + + + - - + + - + - - + + - - [b_toActive] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + boolean @@ -1504,43 +1495,43 @@ - - + + - + - + - - [b_errFlag] + + [b_toActive] - + - + - - + + - + boolean @@ -1552,59 +1543,62 @@ - - - + + + - - + + - - + + - - 4 + + [b_toSpdMod] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - z_ctrlModReq + + [z_ctrlModPrev] - - - - - - - - - - - uint8 + + + @@ -1615,44 +1609,29 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + [b_motStdStill] - - - - - - - - - - - - - - - - - boolean + + @@ -1663,43 +1642,58 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 5 - - + + + + + + + + + + + + + + + + + z_ctrlModPrev - + - - + + - + uint8 @@ -1711,43 +1705,43 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_ctrlModReq] - + - + - - + + - + uint8 @@ -1759,29 +1753,59 @@ - - - + + + - - + + - - + + - - [b_toTrqMod] + + 4 - - + + + + + + + + + + + + + + + + + z_ctrlModReq + + + + + + + + + + + + + + + uint8 @@ -1792,29 +1816,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 1 - - + + + + + + + + + + + + + + + + + b_toOpen @@ -1825,43 +1864,43 @@ - - + + - + - + - - [b_toSpdMod] + + [b_toTrqMod] - + - + - - + + - + boolean @@ -1873,59 +1912,29 @@ - - - + + + - - + + - - + + - - 3 + + [b_toActive] - - - - - - - - - - - - - - - - - b_errFlag - - - - - - - - - - - - - - - boolean + + @@ -1936,44 +1945,44 @@ - - - + + + - - + + - - + + - - TRQ_MODE + + [b_errFlag] - - + + - - + + - - + + - - uint8 + + boolean @@ -1984,28 +1993,28 @@ - - + + - + - + - - [b_motStdStill] + + [b_motEna] - + @@ -2027,11 +2036,11 @@ - + - + 2 @@ -2049,11 +2058,11 @@ - + - + b_motStdStill @@ -2064,11 +2073,11 @@ - + - + boolean @@ -2080,67 +2089,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + 3 - - - - - + + + + - - - + + + + + + + + + + + b_errFlag - + - + - + boolean @@ -2152,58 +2152,43 @@ - - - + + + - - + + - + - - 1 + + [b_motEna] - - - - - - - - - - - - - - - - - b_motEna + + - + - - + + - + boolean @@ -2215,43 +2200,43 @@ - - + + - + - + - - [b_motEna] + + [b_toOpen] - + - + - - + + - + boolean @@ -2263,58 +2248,43 @@ - - - + + + - - + + - - + + - - 5 + + TRQ_MODE - - - - - - - - - - - - - - - - - z_ctrlModPrev + + - + - - + + - + uint8 @@ -2326,29 +2296,44 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + [z_ctrlModReq] - - + + + + + + + + + + + + + + + + + uint8 @@ -2359,44 +2344,59 @@ - - - + + + - - + + - - + + - - OPEN_MODE + + 1 - - + + + + + + + + + + + + + + + + + b_motEna - - + + - + - - uint8 + + boolean @@ -2409,7 +2409,7 @@ - + @@ -2471,30 +2471,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2503,62 +2503,62 @@ + + + + + + + + + + + - + - - + + - + 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,11 +246,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:31", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"", + "label":"[b_toTrqMod]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -260,8 +260,8 @@ "Document" ], "values":[ - 2, - "", + 1, + "[b_toTrqMod]", "", "" ], @@ -279,7 +279,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:12", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -293,7 +293,7 @@ "Document" ], "values":[ - 2, + 1, "", "", "" @@ -312,7 +312,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:12", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -326,7 +326,7 @@ "Document" ], "values":[ - 1, + 2, "", "", "" @@ -345,11 +345,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:31", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toTrqMod]", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -359,8 +359,8 @@ "Document" ], "values":[ - 1, - "[b_toTrqMod]", + 2, + "", "", "" ], 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,26 +451,45 @@ - + - + - - + + - + + + + + + + + + + + + + + + [b_toTrqMod] + + + + + - - + + - - 2 + + 1 - + @@ -480,7 +499,7 @@ - + @@ -488,26 +507,12 @@ - + - + - - - - - - - - - - - - - 2 - - + @@ -517,7 +522,7 @@ - + @@ -525,12 +530,26 @@ - + - + - + + + + + + + + + + + + + 2 + + @@ -540,7 +559,7 @@ - + @@ -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":"" } }, @@ -1223,56 +1295,281 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Speed_Mode", + "label":"Speed_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "2", - "bar" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux7", - "label":"Mux7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Open_Mode", + "label":"Open_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "3", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "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: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" @@ -1284,6 +1581,103 @@ "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", @@ -1323,6 +1717,25 @@ "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", @@ -1390,27 +1803,33 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", + "className":"Simulink.SwitchCase", "icon":"WebViewIcon3", - "name":"Goto36", - "label":"Goto36", + "name":"Switch Case", + "label":"Switch Case", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "CaseConditions", + "ShowDefaultCase", + "SampleTime", + "ZeroCross" ], "values":[ - "r_cos", - "local", - "Tag" + "{VLT_MODE, SPD_MODE, TRQ_MODE}", + "on", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1418,16 +1837,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SwitchCase", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto35", - "label":"Goto35", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1436,7 +1855,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vq_max", "local", "Tag" ], @@ -1456,11 +1875,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto34", - "label":"Goto34", + "name":"Goto40", + "label":"Goto40", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1469,7 +1888,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "id_TgtAbs", "local", "Tag" ], @@ -1489,11 +1908,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8855", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto33", - "label":"Goto33", + "name":"Goto35", + "label":"Goto35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1502,7 +1921,7 @@ "IconDisplay" ], "values":[ - "n_min", + "r_sin", "local", "Tag" ], @@ -1522,11 +1941,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto30", - "label":"Goto30", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1535,7 +1954,7 @@ "IconDisplay" ], "values":[ - "Vq", + "z_ctrlMod", "local", "Tag" ], @@ -1555,11 +1974,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1568,7 +1987,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "id_min", "local", "Tag" ], @@ -1588,108 +2007,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1698,7 +2020,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "r_inpTgtSca", "local", "Tag" ], @@ -1718,11 +2040,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8854", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", + "name":"Goto32", + "label":"Goto32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1731,7 +2053,7 @@ "IconDisplay" ], "values":[ - "id", + "n_max", "local", "Tag" ], @@ -1751,11 +2073,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1764,7 +2086,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "iq", "local", "Tag" ], @@ -1817,44 +2139,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8854", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto32", - "label":"Goto32", + "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":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "n_max", - "local", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8836", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1863,7 +2249,7 @@ "IconDisplay" ], "values":[ - "id_max", + "Vq_prev", "local", "Tag" ], @@ -1883,11 +2269,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Mode", - "label":"Speed_Mode", + "name":"Voltage_Mode", + "label":"Voltage_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1980,11 +2366,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1993,7 +2379,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "Vd_max", "local", "Tag" ], @@ -2046,44 +2432,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2092,7 +2445,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "id_max", "local", "Tag" ], @@ -2112,11 +2465,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2125,7 +2478,7 @@ "IconDisplay" ], "values":[ - "Vq_Open", + "Vq_Trq", "local", "Tag" ], @@ -2145,92 +2498,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From67", - "label":"From67", + "name":"From71", + "label":"From71", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2238,7 +2510,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "id", "Tag" ], "tabs":[ @@ -2257,44 +2529,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From66", - "label":"From66", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2302,7 +2541,7 @@ "IconDisplay" ], "values":[ - "n_min", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -2321,11 +2560,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8821", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From65", - "label":"From65", + "name":"From68", + "label":"From68", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2333,7 +2572,7 @@ "IconDisplay" ], "values":[ - "n_max", + "iq_limPrott", "Tag" ], "tabs":[ @@ -2352,11 +2591,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From64", - "label":"From64", + "name":"From67", + "label":"From67", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2383,11 +2622,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto40", - "label":"Goto40", + "name":"Goto34", + "label":"Goto34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2396,7 +2635,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "n_limProt", "local", "Tag" ], @@ -2416,19 +2655,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8855", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From62", - "label":"From62", + "name":"Goto33", + "label":"Goto33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_limPrott", + "n_min", + "local", "Tag" ], "tabs":[ @@ -2442,16 +2683,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From60", - "label":"From60", + "name":"From61", + "label":"From61", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2459,7 +2700,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "iq", "Tag" ], "tabs":[ @@ -2478,11 +2719,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From59", - "label":"From59", + "name":"From60", + "label":"From60", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2490,7 +2731,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "iq_min", "Tag" ], "tabs":[ @@ -2509,11 +2750,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From58", - "label":"From58", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2521,7 +2762,7 @@ "IconDisplay" ], "values":[ - "id_min", + "Vq", "Tag" ], "tabs":[ @@ -2540,11 +2781,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From57", - "label":"From57", + "name":"From59", + "label":"From59", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2552,7 +2793,7 @@ "IconDisplay" ], "values":[ - "id_max", + "iq_max", "Tag" ], "tabs":[ @@ -2602,25 +2843,37 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8865", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"From61", - "label":"From61", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "iq", - "Tag" + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2628,16 +2881,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From55", - "label":"From55", + "name":"From52", + "label":"From52", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2645,7 +2898,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -2664,11 +2917,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From53", - "label":"From53", + "name":"From64", + "label":"From64", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2676,7 +2929,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "n_limProt", "Tag" ], "tabs":[ @@ -2695,11 +2948,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From71", - "label":"From71", + "name":"From49", + "label":"From49", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2707,7 +2960,7 @@ "IconDisplay" ], "values":[ - "id", + "Vq_Open", "Tag" ], "tabs":[ @@ -2726,20 +2979,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Mux8", - "label":"Mux8", + "name":"From58", + "label":"From58", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "IconDisplay" ], "values":[ - "3", - "bar" + "id_min", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2752,24 +3005,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"Goto30", + "label":"Goto30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Spd", + "Vq", + "local", "Tag" ], "tabs":[ @@ -2783,121 +3038,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Motor_Limitations", - "label":"Motor_Limitations", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From48", + "label":"From48", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "Vq_Trq", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"Goto36", + "label":"Goto36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq", + "r_cos", + "local", "Tag" ], "tabs":[ @@ -2911,24 +3102,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Vlt", + "id_Tgt", + "local", "Tag" ], "tabs":[ @@ -2942,16 +3135,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From42", - "label":"From42", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2978,11 +3171,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From52", - "label":"From52", + "name":"From41", + "label":"From41", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2990,7 +3183,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vq_max", "Tag" ], "tabs":[ @@ -3009,11 +3202,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From41", - "label":"From41", + "name":"From40", + "label":"From40", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3021,7 +3214,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vq", "Tag" ], "tabs":[ @@ -3040,42 +3233,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "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":[ - "Inputs", - "DisplayOption" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "2", - "bar" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3083,7 +3342,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -3102,11 +3361,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3114,7 +3373,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "n_mot", "Tag" ], "tabs":[ @@ -3133,11 +3392,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From68", - "label":"From68", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3145,7 +3404,7 @@ "IconDisplay" ], "values":[ - "iq_limPrott", + "b_enaFOC", "Tag" ], "tabs":[ @@ -3164,11 +3423,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3176,7 +3435,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_min", "Tag" ], "tabs":[ @@ -3195,11 +3454,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8822", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From66", + "label":"From66", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3207,7 +3466,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "n_min", "Tag" ], "tabs":[ @@ -3226,11 +3485,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8805", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3238,7 +3497,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "Vq_prev", "Tag" ], "tabs":[ @@ -3257,11 +3516,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3269,7 +3528,7 @@ "IconDisplay" ], "values":[ - "Vd", + "Vq_Spd", "Tag" ], "tabs":[ @@ -3288,11 +3547,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3300,7 +3559,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "id", "Tag" ], "tabs":[ @@ -3319,11 +3578,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3331,7 +3590,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "iq", "Tag" ], "tabs":[ @@ -3350,27 +3609,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"r_devSignal1", + "label":"r_devSignal1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "id_Tgt", - "local", - "Tag" + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3378,26 +3684,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq_limPrott", - "local", + "r_cos", "Tag" ], "tabs":[ @@ -3411,16 +3715,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From50", + "label":"From50", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3428,7 +3732,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vq", "Tag" ], "tabs":[ @@ -3447,11 +3751,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3460,7 +3764,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "n_motAbs", "local", "Tag" ], @@ -3480,11 +3784,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From48", - "label":"From48", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3492,7 +3796,7 @@ "IconDisplay" ], "values":[ - "Vq_Trq", + "r_sin", "Tag" ], "tabs":[ @@ -3511,11 +3815,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3523,7 +3827,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_cos", "Tag" ], "tabs":[ @@ -3542,11 +3846,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3554,7 +3858,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_sin", "Tag" ], "tabs":[ @@ -3573,11 +3877,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From49", - "label":"From49", + "name":"From57", + "label":"From57", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3585,7 +3889,7 @@ "IconDisplay" ], "values":[ - "Vq_Open", + "id_max", "Tag" ], "tabs":[ @@ -3604,74 +3908,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9195", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Vq", - "label":"Vq", + "name":"From54", + "label":"From54", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "Vd_min", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3679,16 +3934,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3696,7 +3951,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -3715,21 +3970,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", - "local", + "Vd", "Tag" ], "tabs":[ @@ -3743,16 +3996,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3760,7 +4013,7 @@ "IconDisplay" ], "values":[ - "iq", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -3779,11 +4032,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3791,7 +4044,7 @@ "IconDisplay" ], "values":[ - "Vd", + "a_elecAngle", "Tag" ], "tabs":[ @@ -3810,11 +4063,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3822,7 +4075,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "id_Tgt", "Tag" ], "tabs":[ @@ -3841,108 +4094,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Open_Mode", - "label":"Open_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", - "" + "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":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3950,7 +4137,7 @@ "IconDisplay" ], "values":[ - "id", + "iq", "Tag" ], "tabs":[ @@ -3969,11 +4156,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3981,7 +4168,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "Vq_min", "Tag" ], "tabs":[ @@ -4000,11 +4187,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"From53", + "label":"From53", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4012,7 +4199,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vd_max", "Tag" ], "tabs":[ @@ -4128,44 +4315,11 @@ } }, { - "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:8779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From63", + "label":"From63", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4173,7 +4327,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "n_mot", "Tag" ], "tabs":[ @@ -4192,19 +4346,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -4218,7 +4374,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -4320,44 +4476,11 @@ } }, { - "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:8850", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4366,7 +4489,7 @@ "IconDisplay" ], "values":[ - "id_min", + "iq_max", "local", "Tag" ], @@ -4386,42 +4509,11 @@ } }, { - "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:8798", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From43", - "label":"From43", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4429,7 +4521,7 @@ "IconDisplay" ], "values":[ - "Vd", + "id", "Tag" ], "tabs":[ @@ -4448,11 +4540,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8805", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8821", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From65", + "label":"From65", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4460,7 +4552,7 @@ "IconDisplay" ], "values":[ - "Vq_prev", + "n_max", "Tag" ], "tabs":[ @@ -4479,11 +4571,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From55", + "label":"From55", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4491,7 +4583,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd_max", "Tag" ], "tabs":[ @@ -4510,94 +4602,27 @@ } }, { - "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" + "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":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "iq_min", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4605,16 +4630,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", + "name":"Clarke_Transform", + "label":"Clarke_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4666,7 +4691,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -4707,50 +4732,21 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_enaFOC", + "Vq_Spd", + "local", "Tag" ], "tabs":[ @@ -4764,83 +4760,16 @@ "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", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From43", + "label":"From43", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4848,7 +4777,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "Vd", "Tag" ], "tabs":[ @@ -4867,11 +4796,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From40", - "label":"From40", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4879,7 +4808,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vq_max", "Tag" ], "tabs":[ @@ -4898,78 +4827,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4996,11 +4858,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5009,7 +4871,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vd_min", "local", "Tag" ], @@ -5029,21 +4891,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "iq", "Tag" ], "tabs":[ @@ -5057,16 +4917,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From50", - "label":"From50", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5074,7 +4934,7 @@ "IconDisplay" ], "values":[ - "Vq", + "n_motAbs", "Tag" ], "tabs":[ @@ -5093,11 +4953,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5105,7 +4965,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "Vd", "Tag" ], "tabs":[ @@ -5124,11 +4984,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5136,7 +4996,7 @@ "IconDisplay" ], "values":[ - "id", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -5155,37 +5015,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8865", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "iq_limPrott", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -5193,16 +5043,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5225,7 +5075,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "6", "Port number", "[]", "[]", @@ -5265,117 +5115,182 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", + "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", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8667", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From42", + "label":"From42", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "Vq_min", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -5388,25 +5303,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From63", - "label":"From63", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "n_mot", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -5419,144 +5334,83 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clarke_Transform", - "label":"Clarke_Transform", + "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":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "on", - "", - "", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "", - "void_void", - "off", - "off", "on", - "", - "off", - "", - "off", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", "off", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_devSignal1", - "label":"r_devSignal1", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5572,17 +5426,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "5", @@ -5597,29 +5445,55 @@ "-1", "auto", "off", + "", + "on", "off", - "0", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "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, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -5627,7 +5501,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "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,100 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "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: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":[ @@ -5729,6 +5696,39 @@ "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", @@ -11560,7 +11591,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11611,7 +11642,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11662,7 +11693,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11713,7 +11744,58 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143#out:1", + "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":"", 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 literal 9826 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 V8SM3d1#TKcs48kGl*yTf{0~SnkHY`} literal 9737 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 G8S+2$C#Y=z 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,15 +1501,15 @@ - + - - + + - + sfix16_En4 @@ -1553,15 +1522,15 @@ - + - - + + - + sfix16_En4 @@ -1573,161 +1542,173 @@ - + - - + + - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - + + r_inpTgtSca - - + + - - sfix16_En4 + + Vq_max - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + + Vq_min - + - - sfix16_En4 + + n_mot + + + + + + + + n_max - - - - - - - - - - - - - - - - - - - + - - + + n_min - - + + - - + + iq_limProt + + + + + + + + Vq_Spd + + + + + + + + case: { } - + + + + + + + + + + - + + + + + + + + + + + + + + + + + Speed_Mode + - - - + + + + + + + + + + + + + + + + + action - + + + + + + + - - + + - + sfix16_En4 @@ -1739,62 +1720,126 @@ - - - + + + + + + + + + - - + + + + + + + + - - + + - - [n_mot] + + Vq_prev + + + + + + + + Vq_Open + + + + + + + + default: { } - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + Open_Mode + + - + - - + + + + + + + + + + + - - [b_enaFOC] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + action @@ -1805,62 +1850,50 @@ - - - + + + + + + + + + - - + + - - + + - - [r_cos] + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [r_sin] - - - - - - - + + sfix16_En4 @@ -1871,62 +1904,44 @@ - - - + + + - - + + - - + + - - [n_limProt] + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [n_min] - - - - - - - + + sfix16_En4 @@ -1937,62 +1952,44 @@ - - - + + + - - + + - - + + - - [Vq] + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [r_inpTgtSca] - - - - - - - + + sfix16_En4 @@ -2003,138 +2000,315 @@ - - - + + + - + - - + + + + + + + + + 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 + - + - - id_Tgt + + n_max - + - - id + + n_min - + - - Vd_max + + n_limProt + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - Vd_min + + Motor_Limitations + + + + + + + + + + + + + - + - - id_max + + sfix16_En4 + + + + + + + + + + + + + - + - - id_min + + sfix16_En4 + + + + - - - + + + + - - Vd + + - - + + - - if { } + + sfix16_En4 - + - + - - + + + + + + + + + + sfix16_En4 - + - + - - + + - + - - Vd_Calculation + + sfix16_En4 - + - + - + - + sfix16_En4 @@ -2142,93 +2316,126 @@ - + - - + + - + - - action + + sfix16_En4 - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + sfix16_En4 + + - + + + + + + + + + + - + - - [iq_max] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En4 - - - - - - - - - - - - - - - + + + + + + + + + + - + - - [id] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2239,29 +2446,66 @@ - - - + + + + + + + + + - - + + - + - - + + - - [a_elecAngle] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2272,29 +2516,45 @@ - - - + + + - - + + - + - - + + - - [Vd] + + + + + + + + + + + + + + + + + + - - + + @@ -2305,28 +2565,28 @@ - - + + - + - - + + - - [n_max] + + [n_mot] - + @@ -2338,28 +2598,28 @@ - - + + - + - - + + - - [id_max] + + [b_enaFOC] - + @@ -2371,168 +2631,187 @@ - - - + + + - - - - - - - - + + - - + + - - r_inpTgtSca + + u1 - - + + - - Vq_max + + case [ 1 ]: - - + + - - Vq_min + + case [ 2 ]: - - + + - - n_mot + + case [ 3 ]: - - + + - - n_max + + default: - - - - - - - n_min + + + + + + - - - - - - - iq_limProt + + + + + + - - + + - - Vq_Spd + + action + + + + + + + - - + + - - case: { } + + action - + + + + - - - - + + + - - + + action - - - - - - - - - + + + - - + + - - Speed_Mode + + action - + + + + + + + + + + + + + + + - - - - + + + - - + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [id_TgtAbs] - - - - - - - - - - - - - - - - - action + + + @@ -2543,34 +2822,28 @@ - - - - - - - - + + - + - + - - [n_motAbs] + + [r_sin] - + @@ -2582,28 +2855,28 @@ - - + + - + - - + + - - [Vq_Vlt] + + [z_ctrlMod] - + @@ -2615,28 +2888,28 @@ - - + + - + - + - - [Vq_Spd] + + [id_min] - + @@ -2648,28 +2921,28 @@ - - + + - + - - + + - - [iq_min] + + [r_inpTgtSca] - + @@ -2681,28 +2954,28 @@ - - + + - + - + - - [Vq_Open] + + [n_max] - + @@ -2714,44 +2987,62 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] + + [iq] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [Vd] + + + + + + + @@ -2762,138 +3053,167 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + r_inpTgtSca - - + + - - + + Vq_max - - + + - - + + Vq_min - - + + - - + + iq - - - - - - - - - - - - - - + + + + + + + iq_max + + + + + + + + iq_min + + + + + + + + n_limProt + + + + + + + + Vq_Trq + + + + + + + + case: { } - - - - + - - - + + + + - - Ini=0 + + - - - + + + + + + + + + - - + + - - sfix16_En4 + + Torque_Mode - - - - - - - - - - - - - - - + - - - + + + + - - [n_limProt] + + - - - - - - + + + + + + + action - + + + + + + + - - + + - + sfix16_En4 @@ -2905,28 +3225,34 @@ - - + + + + + + + + - + - - + + - - [Vd_max] + + [Vq_prev] - + @@ -2938,91 +3264,151 @@ - - - + + + - - + + + + + + + + - - + + - - [n_min] + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + iq_limProt + + + + + + + + n_limProt + + + + + + + + Vq_Vlt + + + + + + + + case: { } - - + + + + + + + + - - - + + + + + + + + + - - + + - - sfix16_En4 + + Voltage_Mode - - - - - - - - - - - - - - - + - - - + + + + - - [n_max] + + - - - - - - + + + + + + + action - + + + + + + + - - + + - + sfix16_En4 @@ -3034,44 +3420,68 @@ - - - + + + + + + + + + - - + + - - + + - - [n_limProt] + + [Vd_max] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vq_Vlt] + + + + + + + @@ -3082,28 +3492,28 @@ - - + + - + - - + + - - [id_TgtAbs] + + [id_max] - + @@ -3115,44 +3525,29 @@ - - - + + + - - + + - - + + - - [iq_limPrott] + + [Vq_Trq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3163,43 +3558,43 @@ - - + + - + - - + + - - [iq_min] + + [id] - + - + - - + + - + sfix16_En4 @@ -3211,43 +3606,43 @@ - - + + - + - - + + - - [iq_max] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -3259,43 +3654,43 @@ - - + + - + - + - - [id_min] + + [iq_limPrott] - + - + - - + + - + sfix16_En4 @@ -3307,43 +3702,43 @@ - - + + - + - + - - [id_max] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -3355,44 +3750,29 @@ - - - + + + - - + + - - + + - - [Vd_min] + + [n_limProt] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3403,44 +3783,29 @@ - - - + + + - - + + - - + + - - [iq] + + [n_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3451,43 +3816,43 @@ - - + + - + - + - - [Vd_max] + + [iq] - + - + - - + + - + sfix16_En4 @@ -3499,43 +3864,43 @@ - - + + - + - + - - [Vd_max] + + [iq_min] - + - + - - + + - + sfix16_En4 @@ -3547,43 +3912,43 @@ - - + + - + - + - - [id] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -3595,43 +3960,43 @@ - - - + + + - - + + - - + + - - + + [iq_max] - - + + - + - - + + - + sfix16_En4 @@ -3643,43 +4008,43 @@ - - + + - + - + - - [Vq_Spd] + + [Vd_min] - + - + - - + + - + sfix16_En4 @@ -3691,442 +4056,277 @@ - - - + + + - - - - - - - - + + - - - - - - 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 + + u1 - - + + - - n_limProt + + if(u1 ~= 0) - - - - - - - - + + - - - - - - - - - + + + - - + + - - Motor_Limitations + + action - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [id_TgtAbs] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - sfix16_En4 + + [n_limProt] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vq_Open] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [id_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vq] + + + + + + + @@ -4137,49 +4337,43 @@ - - - - - - - - + + - + - + - - [iq] + + [Vq_Trq] - + - + - - + + - + sfix16_En4 @@ -4191,44 +4385,62 @@ - - - + + + - - + + - - + + - - [Vq_Vlt] + + [r_cos] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] - - - - - - - - - - - sfix16_En4 + + + @@ -4239,43 +4451,43 @@ - - + + - + - + - + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -4287,43 +4499,43 @@ - - + + - + - + - - [id_TgtAbs] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -4335,43 +4547,43 @@ - - + + - + - + - - [Vq_max] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -4383,43 +4595,159 @@ - - - + + + - - + + + + + + + + - - + + - - + + id_Tgt + + + + + + + + id + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + Vd + + + + + + + + if { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vd_Calculation - + + + + + + + + + + + + + + + + action + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -4431,43 +4759,49 @@ - - + + + + + + + + - + - + - - [n_mot] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -4479,43 +4813,43 @@ - - + + - + - + - - [Vq_min] + + [n_mot] - + - + - - + + - + sfix16_En4 @@ -4527,44 +4861,44 @@ - - + + - + - + - - [iq_limPrott] + + [b_enaFOC] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -4575,43 +4909,43 @@ - - + + - + - + - - [iq] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -4623,43 +4957,43 @@ - - + + - + - - + + - - [n_motAbs] + + [n_min] - + - + - - + + - + sfix16_En4 @@ -4671,44 +5005,44 @@ - - + + - + - + - - [r_cos] + + [Vq_prev] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -4719,43 +5053,43 @@ - - + + - + - + - - [Vd] + + [Vq_Spd] - + - + - - + + - + sfix16_En4 @@ -4767,44 +5101,44 @@ - - + + - + - + - - [r_sin] + + [id] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -4815,44 +5149,44 @@ - - + + - + - - + + - - [r_cos] + + [iq] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -4863,29 +5197,44 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + 5 - - + + + + + + + + + + + + + + + + + r_devSignal1 @@ -4896,29 +5245,44 @@ - - - + + + - - + + - - + + - - [iq_limPrott] + + [r_cos] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -4929,43 +5293,43 @@ - - + + - + - + - - [Vq_max] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -4977,28 +5341,28 @@ - - + + - + - + - - [z_ctrlMod] + + [n_motAbs] - + @@ -5010,44 +5374,44 @@ - - + + - + - + - - [Vq_Trq] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -5058,44 +5422,44 @@ - - + + - + - - + + - - [r_inpTgtSca] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -5106,44 +5470,44 @@ - - + + - + - - + + - - [r_inpTgtSca] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -5154,43 +5518,43 @@ - - + + - + - + - - [Vq_Open] + + [id_max] - + - + - - + + - + sfix16_En4 @@ -5202,44 +5566,44 @@ - - - + + + - - + + - - + + - - 4 + + [Vd_min] - - + + - - - + + + - - + + - - Vq + + sfix16_En4 @@ -5250,44 +5614,44 @@ - - + + - + - + - - [Vq_min] + + [z_ctrlMod] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -5298,29 +5662,44 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [Vd] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -5331,43 +5710,43 @@ - - + + - + - - + + - - [iq] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -5379,44 +5758,44 @@ - - + + - + - - + + - - [Vd] + + [a_elecAngle] - + - - + + - - + + - - sfix16_En4 + + ufix16_En6 @@ -5427,43 +5806,43 @@ - - + + - + - + - - [Vq_max] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -5475,120 +5854,44 @@ - - - + + + - - - - - - - - + + - - - - - - Vq_prev - - - - - - - - Vq_Open - - - - + + - - default: { } + + [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Open_Mode - - - - - - - - - - - - - - - - - - - - - action + + - - - - - - - - + + - - + + - - sfix16_En4 + + uint8 @@ -5599,49 +5902,43 @@ - - - - - - - - + + - + - - + + - - [id] + + [iq] - + - + - - + + - + sfix16_En4 @@ -5653,44 +5950,44 @@ - - + + - + - + - - [b_enaFOC] + + [Vq_min] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -5701,43 +5998,43 @@ - - + + - + - + - - [Vq_max] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -5751,65 +6048,73 @@ - + - + - + - - + + - + a_elecAngle - - + + - + + r_inpTgtSca + + + + + + + n_motAbs - + - + r_sin - + - + r_cos - + - + id_Tgt - + - + id_TgtAbs @@ -5817,7 +6122,7 @@ - + @@ -5830,7 +6135,7 @@ - + @@ -5839,11 +6144,11 @@ - + - + Field_Weakening @@ -5851,20 +6156,20 @@ - + - + - - + + - + sfix16_En4 @@ -5872,20 +6177,20 @@ - + - + - - + + - + sfix16_En14 @@ -5893,42 +6198,42 @@ - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -5939,83 +6244,50 @@ - + - + - - - - - - - - - - - - - - - [Vq_prev] - - - - - - - - - - - - - - - - - - - + - + - + - - [z_ctrlMod] + + [n_mot] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -6026,44 +6298,29 @@ - - - + + + - - + + - - + + - - [Vq] + + [a_elecAngle] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -6076,49 +6333,49 @@ - + - + - + - + - + iq_raw - + - + id_raw - + - + iq - + - + id @@ -6126,7 +6383,7 @@ - + @@ -6139,7 +6396,7 @@ - + @@ -6148,11 +6405,11 @@ - + - + Current_Filtering @@ -6160,7 +6417,7 @@ - + @@ -6169,72 +6426,33 @@ - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - [Vq_Trq] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -6245,28 +6463,34 @@ - - + + + + + + + + - + - + - - [id_min] + + [iq_max] - + @@ -6278,43 +6502,43 @@ - - + + - + - + - - [Vd_min] + + [id] - + - + - - + + - + sfix16_En4 @@ -6326,43 +6550,43 @@ - - + + - + - + - - [Vd] + + [n_max] - + - + - - + + - + sfix16_En4 @@ -6374,43 +6598,43 @@ - - + + - + - + - - [Vq_prev] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -6422,76 +6646,28 @@ - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - + + - + - - + + - - [Vd_min] + + [iq_min] - + @@ -6503,209 +6679,106 @@ - - - - - - - - - - - - - - - - 6 - - - - - - - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - + + + - + - - + + - - - - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - iq - - - - - - - - iq_max - + + - - + + - - iq_min + + i_phaAB - - + + - - n_limProt + + i_phaBC - - + + - - Vq_Trq + + i_alpha - - + + - - case: { } + + i_beta - + - - + + - + - - + + - - + + - - Torque_Mode + + Clarke_Transform - + - + - - + + - + sfix16_En4 @@ -6713,21 +6786,21 @@ - + - - + + - - + + - - action + + sfix16_En4 @@ -6738,50 +6811,83 @@ - + - + - + + + + + + + + + + + + + + + [Vq_Spd] + + + + + + + + + + + + + + + + + + + - + - - + + - - [a_elecAngle] + + [Vd] - + - - + + - - + + - - ufix16_En6 + + sfix16_En4 @@ -6792,44 +6898,44 @@ - - + + - + - + - - [b_enaFOC] + + [Vq_max] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -6840,59 +6946,77 @@ - - - + + + - - + + - - + + - - 5 + + [r_inpTgtSca] - - + + - - - + + + - - + + - - n_motAbs + + sfix16_En4 - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vd_min] + + + + + + + @@ -6903,43 +7027,43 @@ - - + + - + - + - - [id_Tgt] + + [iq] - + - + - - + + - + sfix16_En4 @@ -6951,43 +7075,43 @@ - - + + - + - - + + - - [Vq] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -6999,58 +7123,43 @@ - - - + + + - - + + - - - - - - - 4 - - - - - - - - - - - - - - - - - - + + + - - n_mot + + [Vd] + + + + + + + - + - - + + - + sfix16_En4 @@ -7062,43 +7171,43 @@ - - + + - + - + - + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -7110,28 +7219,28 @@ - - + + - + - - + + - - [iq] + + [iq_limPrott] - + @@ -7143,77 +7252,59 @@ - - - + + + - - + + - - + + - - [Vq_max] + + 6 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [Vq] - - - - - - - + + a_elecAngle - - + + - - + + - - sfix16_En4 + + ufix16_En6 @@ -7224,44 +7315,29 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [Vq_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -7272,43 +7348,43 @@ - - + + - + - + - - [id] + + [iq_limPrott] - + - + - - + + - + sfix16_En4 @@ -7320,52 +7396,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + if { } - - + + - - - + + + - - + + - - action + + Action Port @@ -7386,11 +7454,11 @@ - + - + 3 @@ -7408,11 +7476,11 @@ - + - + r_inpTgtSca @@ -7423,167 +7491,107 @@ - + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - iq_limProt - - - - - - - - n_limProt - - - - - - - - Vq_Vlt - + + + + + + + + + + + + + + + + + + - - + + - - case: { } + + [Vq_min] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Voltage_Mode + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - + - - action + + + + + + + + + - - - - - - - + - + - + sfix16_En4 @@ -7595,50 +7603,59 @@ - - - - - - - - - + + + - - + + - + - - if { } + + 4 - - + + - - + + - + - - Action Port + + n_mot + + + + + + + + + + + + + + + sfix16_En4 @@ -7649,43 +7666,58 @@ - - - + + + - - + + - - + + - - [n_mot] + + 5 - - + + + + + + + + + + + + + + + + + n_motAbs - + - - + + - + sfix16_En4 @@ -7697,128 +7729,92 @@ - - - + + + - - - - - - - - + + - - - - - - - i_phaAB - - - - - - - - i_phaBC - - - - - - i_alpha - - - - + - - i_beta + + [Vq_Open] - - - - - - - - + + - - - - - - - - - - + + + + + + + + + + + + + + + - + - - Clarke_Transform + + 2 - - - - - - - - - + + + + + + + + + + - + - - sfix16_En4 + + z_ctrlMod - - - - - - - - + + - + - - sfix16_En4 + + uint8 @@ -7829,17 +7825,11 @@ - - - - - - - - + + - + @@ -7849,29 +7839,29 @@ - - [Vq_min] + + [Vq_max] - + - + - + - + sfix16_En4 @@ -7883,44 +7873,44 @@ - - - + + + - - + + - + - - 5 + + [Vq_Vlt] - - + + - - - + + + - + - - r_devSignal1 + + sfix16_En4 @@ -7931,59 +7921,44 @@ - - - + + + - - + + - + - - 2 + + [b_enaFOC] - - - - - - - - - - - - - - - - - z_ctrlMod + + - - + + - - + + - - uint8 + + boolean @@ -7994,43 +7969,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -8040,6 +8015,39 @@ + + + + + + + + + + + + + + + + + + [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,56 +9841,70 @@ - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + @@ -9843,5 +9913,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json index 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":"" } }, @@ -390,19 +423,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8711", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8718", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaBC", + "i_betaBC", + "local", "Tag" ], "tabs":[ @@ -416,24 +451,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8710", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8713", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaBC", + "i_alphaAB", + "local", "Tag" ], "tabs":[ @@ -447,30 +484,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Merge1", + "label":"Merge1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets" ], "values":[ - "i_phaAB", - "Tag" + "2", + "[]", + "off", + "[]" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -478,24 +523,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8712", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "i_alpha", + "local", "Tag" ], "tabs":[ @@ -509,16 +556,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8704", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8711", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -526,7 +573,7 @@ "IconDisplay" ], "values":[ - "i_betaAB", + "i_phaBC", "Tag" ], "tabs":[ @@ -545,52 +592,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8703", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", "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", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "i_beta", - "local", "Tag" ], "tabs":[ @@ -604,7 +618,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -640,11 +654,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8704", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -652,7 +666,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_betaAB", "Tag" ], "tabs":[ @@ -671,54 +685,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8713", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_alphaAB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8712", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_alpha", - "local", + "i_phaAB", "Tag" ], "tabs":[ @@ -732,16 +711,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8718", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -750,7 +729,7 @@ "IconDisplay" ], "values":[ - "i_betaBC", + "i_betaAB", "local", "Tag" ], @@ -769,76 +748,6 @@ "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 literal 5838 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 bpU^F!-?C0Mwg`g(HAG+Mo_3k0!;Aj`Np}1$ literal 5858 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 W={L_q4luNas6TnCT%~07_WuCMN+QPq diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg index 7111437..3aa02ed 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg @@ -170,11 +170,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + - + @@ -182,27 +246,27 @@ - + - + u1 - + - + if(u1 ~= 0) - + - + else @@ -216,30 +280,30 @@ - + - - + + - + action - + - - + + - + action @@ -251,60 +315,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [i_beta] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -325,11 +358,11 @@ - + - + [i_alphaBC] @@ -358,11 +391,11 @@ - + - + [i_phaBC] @@ -391,11 +424,11 @@ - + - + [i_phaAB] @@ -414,44 +447,29 @@ - - - + + + - - + + - - + + - - [i_phaBC] + + [i_betaBC] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -462,44 +480,29 @@ - - - + + + - - + + - - + + - - [i_phaBC] + + [i_alphaAB] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -510,43 +513,59 @@ - - - + + + - - + + - + - + - - [i_phaAB] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -558,44 +577,29 @@ - - - + + + - - + + - - + + - + [i_alpha] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -606,43 +610,43 @@ - - + + - + - + - - [i_betaAB] + + [i_phaBC] - + - + - - + + - + sfix16_En4 @@ -654,43 +658,43 @@ - - + + - + - + - - [i_alphaBC] + + [i_beta] - + - + - - + + - + sfix16_En4 @@ -700,39 +704,6 @@ - - - - - - - - - - - - - - - - - - [i_beta] - - - - - - - - - - - - - - - @@ -745,11 +716,11 @@ - + - + [i_alphaAB] @@ -767,11 +738,11 @@ - + - + sfix16_En4 @@ -783,43 +754,43 @@ - - + + - + - + - - [i_phaAB] + + [i_betaAB] - + - + - - + + - + sfix16_En4 @@ -831,142 +802,43 @@ - - - - - - - - - - - - - - - - [i_alphaAB] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [i_alpha] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [i_betaBC] - - - - - - - - - - - - - - - - - - - + + - + - + - - [i_beta] + + [i_phaAB] - + - + - - + + - + sfix16_En4 @@ -978,60 +850,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - - - + + + + + + + [i_betaAB] - - - - - - - - - - - sfix16_En4 + + + @@ -1044,7 +885,7 @@ - + @@ -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 @@ -49,74 +49,27 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8683", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"i_alphaAB", - "label":"i_alphaAB", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "i_phaA", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -124,68 +77,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"i_betaAB", - "label":"i_betaAB", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Port", - "IconDisplay", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", + "[]", + "fixdt(1,16,4)", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -195,7 +127,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -204,65 +136,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "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", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8678", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "i_phaA", - "local", - "Tag" + "1/sqrt(3)", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -270,16 +195,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8678", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -297,7 +222,7 @@ "SampleTime" ], "values":[ - "1/sqrt(3)", + "2/sqrt(3)", "Element-wise(K.*u)", "[]", "[]", @@ -334,22 +259,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "i_phaB", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -362,16 +287,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8675", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -379,7 +304,7 @@ "IconDisplay" ], "values":[ - "i_phaB", + "i_phaA", "Tag" ], "tabs":[ @@ -398,53 +323,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", + "className":"Simulink.SignalConversion", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Signal Conversion2", + "label":"Signal Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", + "ConversionOutput", "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "OverrideOpt" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "Signal copy", + "Inherit: auto", + "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -452,7 +351,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"SignalConversion", "masktype":"" } }, @@ -488,25 +387,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8675", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8673", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"i_phaB", + "label":"i_phaB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "i_phaA", - "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" @@ -514,56 +449,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8683", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"i_alphaAB", + "label":"i_alphaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2/sqrt(3)", - "Element-wise(K.*u)", + "1", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "Zero", "off", "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -573,16 +529,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8673", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"i_phaB", - "label":"i_phaB", + "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", + "icon":"WebViewIcon3", + "name":"i_betaAB", + "label":"i_betaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -598,11 +585,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "2", @@ -617,10 +610,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -640,7 +640,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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 @@ -64,44 +64,101 @@ - - - + + + - - + + - + - - 1 + + [i_phaA] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - i_alphaAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -112,44 +169,44 @@ - - - + + + - - + + - - + + - - 2 + + 1/sqrt(3) - - + + - - - + + + - - + + - - i_betaAB + + sfix16_En4 @@ -160,29 +217,44 @@ - - - + + + - - + + - - + + - - [i_phaB] + + 2/sqrt(3) - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -193,28 +265,28 @@ - - + + - + - + - - [i_phaA] + + [i_phaB] - + @@ -226,43 +298,43 @@ - - - + + + - - + + - - + + - - 1/sqrt(3) + + [i_phaA] - - + + - + - - + + - + sfix16_En4 @@ -284,131 +356,131 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -434,11 +506,11 @@ - + - + sfix16_En4 @@ -450,44 +522,44 @@ - - - + + + - - + + - - + + - - [i_phaB] + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -498,67 +570,58 @@ - - - + + + - - + + - - + + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - - - - - - - - + + i_phaB - + - - + + - + sfix16_En4 @@ -570,44 +633,44 @@ - - - + + + - - + + - - + + - - if { } + + 1 - - + + - - + + - - + + - - Action Port + + i_alphaAB @@ -618,91 +681,43 @@ - - + + - + - + - - [i_phaA] + + [i_phaB] - + - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2/sqrt(3) - - - - - - - - - - - - - + - - + + - + sfix16_En4 @@ -714,59 +729,44 @@ - - + + - + - + - + 2 - + - - - - - - - - - - i_phaB - - - - - - - + + - + - - sfix16_En4 + + 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", - "--", - "off", - "Inherit: Inherit via internal rule", + "1/sqrt(3)", + "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as input", "off", - "Simplest", - "on", - "1", - "All dimensions", + "Zero", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 10 + 8, + 11 ] }, "viewer":{ @@ -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,6 +452,73 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8688", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"i_phaC", + "label":"i_phaC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "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:8689", "className":"Simulink.ActionPort", @@ -427,11 +551,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -439,7 +563,7 @@ "IconDisplay" ], "values":[ - "i_phaB", + "i_phaC", "Tag" ], "tabs":[ @@ -458,53 +582,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8694", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1/sqrt(3)", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "i_phaB", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -512,16 +610,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8688", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8687", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"i_phaC", - "label":"i_phaC", + "name":"i_phaB", + "label":"i_phaB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -544,7 +642,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -584,11 +682,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -608,7 +706,7 @@ ], "values":[ "rectangular", - "+-", + "--", "off", "Inherit: Inherit via internal rule", "[]", @@ -642,104 +740,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8687", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"i_phaB", - "label":"i_phaB", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "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: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:8691#out:1", "className":"Simulink.Line", 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 @@ -378,91 +449,58 @@ - - - + + + - - + + - - + + - - else { } + + 2 - - + + - - - - - - - - - - Action Port + + - - - - - - - - - - - - - - - - - - - - + + - - [i_phaB] - - - - - - - + + i_phaC - + - - + + - + sfix16_En4 @@ -474,44 +512,44 @@ - - - + + + - - + + - - + + - - 1/sqrt(3) + + else { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -522,58 +560,43 @@ - - - + + + - - + + - - + + - - 2 + + [i_phaC] - - - - - - - - - - - - - - - - - i_phaC + + - + - - + + - + sfix16_En4 @@ -585,60 +608,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + [i_phaB] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -659,11 +651,11 @@ - + - + 1 @@ -681,11 +673,11 @@ - + - + i_phaB @@ -696,11 +688,11 @@ - + - + sfix16_En4 @@ -712,43 +704,51 @@ - - - + + + - - + + + + + + + + + + - + - - [i_phaC] + + - - + + - + - + - + sfix16_En4 @@ -886,5 +886,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json index 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", - "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: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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"id", - "label":"id", + "name":"cf_currFilt", + "label":"cf_currFilt", "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", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", "[]", + "fixdt(0,16,16)", "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,19 +253,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq", + "id_raw", + "local", "Tag" ], "tabs":[ @@ -458,24 +281,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "iq", + "local", "Tag" ], "tabs":[ @@ -489,7 +314,166 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_raw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "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: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":"" } }, @@ -527,11 +511,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8728", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_raw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8727", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_raw", - "label":"id_raw", + "name":"iq_raw", + "label":"iq_raw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -554,7 +569,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -594,11 +609,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8727", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_raw", - "label":"iq_raw", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -614,14 +629,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -633,10 +654,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -656,94 +684,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8728", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"id_raw", + "label":"id_raw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "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:8732", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq_raw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "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" + "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" @@ -751,7 +751,7 @@ "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 literal 5184 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 UO{ty(p9CQ~_w+O>)NI554{obsDgXcg literal 5186 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
<3nRgMdYO` iO#i3B{{La{IeBItRfiX2Vm){$2+`5dS1(ny4EZ0ADt-t6 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,143 +61,59 @@ - - - - - - - - - - - - - - - - [iq_raw] - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - [id_raw] + + cf_currFilt - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - 2 - - - - - - - + + cf_currFilt - - - + + + - - + + - - id + + ufix16_En16 @@ -271,43 +124,43 @@ - - - + + + - - + + - - + + - - [id_raw] + + - - + + - + - - + + - + sfix16_En4 @@ -321,7 +174,7 @@ - + @@ -329,265 +182,460 @@ - + - + u - + - + coef - + - + y - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - coef + + coef + + + + + + + + + + + + + + + + + + + + + + Low_Pass_Filter + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_raw] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_raw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 - - - - - + + + + + + + + + + + + - - - - + - - + + - - Low_Pass_Filter + + [id] + + + + + + + - + - - + + - + sfix16_En4 - + + + + + + + + + + + + + + + - - + + - - + + [id] - - - - - - - - - - - - - - - - - - + + + + + @@ -608,11 +656,11 @@ - + - + [iq] @@ -630,11 +678,11 @@ - + - + sfix16_En4 @@ -646,44 +694,29 @@ - - - + + + - - + + - - + + - - [id] + + [iq_raw] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -704,11 +737,11 @@ - + - + @@ -726,11 +759,11 @@ - + - + sfix16_En4 @@ -741,11 +774,11 @@ - + - + sfix16_En4 @@ -757,58 +790,43 @@ - - - + + + - - + + - - + + - - 2 + + [iq_raw] - - - - - - - - - - - - - - - - - id_raw + + - + - - + + - + sfix16_En4 @@ -830,11 +848,11 @@ - + - + 1 @@ -852,11 +870,11 @@ - + - + iq_raw @@ -867,11 +885,11 @@ - + - + sfix16_En4 @@ -883,44 +901,44 @@ - - - + + + - - + + - - + + - - + + 2 - - + + - - - + + + - - + + - - sfix16_En4 + + id @@ -931,77 +949,59 @@ - - - + + + - - + + - - + + - - [iq_raw] + + 2 - - + + - - - + + + - - + + - - sfix16_En4 + + id_raw - - - - - - - - - - - - - - - + + + + - + - - [id] - - - - - - - + + 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", @@ -189,17 +109,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2403", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -211,12 +132,13 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "rectangular", + "++", + "on", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", "Simplest", "off", @@ -232,7 +154,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -241,23 +163,22 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2403", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -269,13 +190,12 @@ "SampleTime" ], "values":[ - "rectangular", - "++", - "on", - "Inherit: Inherit via internal rule", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -291,7 +211,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -300,7 +220,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant1", + "label":"Constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", + "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":"" } }, @@ -362,32 +331,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2400", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"coef", + "label":"coef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -396,8 +383,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -406,16 +393,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2400", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2407", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"coef", - "label":"coef", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -431,14 +418,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -450,10 +443,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -473,7 +473,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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 @@ -205,51 +157,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -261,68 +229,100 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - - + + 1 - - + + - - + + - + - - sfix16_En4 + + ufix16_En16 @@ -335,7 +335,7 @@ - + @@ -389,43 +389,58 @@ - - - + + + - - + + - + - - 1 + + 2 - - + + + + + + + + + + + + + + + + + coef - + - - + + - + ufix16_En16 @@ -437,59 +452,44 @@ - - + + - + - + - - 2 + + 1 - + - - - - - - - - - - coef - - - - - - - + + - + - - ufix16_En16 + + 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,7 +229,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -276,11 +276,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8757", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_cos", - "label":"r_cos", + "name":"r_sin", + "label":"r_sin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -309,7 +309,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -356,11 +356,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8757", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8756", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"toNegative", + "label":"toNegative", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" + ], + "values":[ + "-1", + "Element-wise(K.*u)", + "[]", + "[]", + "fixdt(1,16,4)", + "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:8758", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_sin", - "label":"r_sin", + "name":"r_cos", + "label":"r_cos", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -389,7 +448,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -435,174 +494,12 @@ "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", - "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: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", + "name":"r_fieldWeak_XA", + "label":"r_fieldWeak_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -633,12 +530,12 @@ "values":[ "Explicit values", "Dialog", - "n_fieldWeak_XA", + "r_fieldWeak_XA", "Index and fraction", "Evenly spaced points", "Clip", "off", - "None", + "Error", "off", "Inherit: Same as input", "[]", @@ -677,11 +574,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8750", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"a_elecPeriod3", - "label":"a_elecPeriod3", + "name":"b_fieldWeakEna", + "label":"b_fieldWeakEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -695,12 +592,12 @@ "FramePeriod" ], "values":[ - "0", + "b_fieldWeakEna", "on", "inf", "[]", "[]", - "uint8", + "boolean", "off", "inf" ], @@ -726,11 +623,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8760", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"id_TgtAbs", - "label":"id_TgtAbs", + "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:8759", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"id_Tgt", + "label":"id_Tgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -759,7 +705,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -806,32 +752,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8747", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "0", - "on", - "inf", + "u2 ~= 0", + "off", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -840,8 +794,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 1, + 9 ] }, "viewer":{ @@ -850,7 +804,187 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Switch", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9650", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "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: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", + "Explicit values", + "Dialog", + "r_cos_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: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":"" } }, @@ -895,7 +1029,7 @@ "Evenly spaced points", "Clip", "off", - "None", + "Error", "off", "Inherit: Same as input", "[]", @@ -934,42 +1068,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"b_fieldWeakEna", - "label":"b_fieldWeakEna", + "name":"r_sin_M1", + "label":"r_sin_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "b_fieldWeakEna", - "on", - "inf", + "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", "[]", "[]", - "boolean", + "fixdt(1,16,14)", + "[]", + "[]", + "Speed", "off", - "inf" + "Simplest", + "off", + "Clip", + "Inherit: Same as output", + "", + "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 10, + 20 ] }, "viewer":{ @@ -978,45 +1144,53 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Interpolation_n-D", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8746", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9657", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"n_commDeacv", + "label":"n_commDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ + "n_fieldWeakAuthHi", + "n_fieldWeakAuthLo", + "1", + "0", + "Elements as channels (sample based)", "[]", "[]", - "fixdt(1,16,4)", - "off", - "Real World Value (RWV)", - "Floor", + "boolean", "off", - "-1" + "-1", + "on" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 5, + 9 ] }, "viewer":{ @@ -1025,45 +1199,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8747", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9653", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "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", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "FramePeriod" ], "values":[ - "u2 ~= 0", - "off", + "0", + "on", + "inf", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", + "uint8", "off", - "-1", - "0", - "on" + "inf" ], "tabs":[ "Main", @@ -1072,8 +1269,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 3, + 7 ] }, "viewer":{ @@ -1082,65 +1279,1049 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9648", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"From5", + "label":"From5", "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", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "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":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"id_fieldWeak_M1", + "label":"id_fieldWeak_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", + "id_fieldWeak_M1", + "Linear", + "Error", + "off", + "0", + "on", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,4)", + "[]", + "[]", + "Precision", + "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: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", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9651", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "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":[ + "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: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":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748#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", + "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: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", + "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", + "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: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":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, - 2, - 11 + 3, + 5, + 7 ] }, "viewer":{ @@ -1148,80 +2329,50 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752", - "className":"Simulink.Interpolation_nD", - "icon":"WebViewIcon3", - "name":"id_fieldWeak_M1", - "label":"id_fieldWeak_M1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "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" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "id_fieldWeak_M1", - "Linear", - "None", + "", "off", - "0", "off", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(0,10,0)", - "[]", - "[]", - "Speed", "off", - "Simplest", "off", - "Clip", - "Inherit: Same as output", + "Simulink", + "Auto", "", - "-1" + "" ], "tabs":[ - "Main", - "Data Types", - "-Other" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, - 10, - 20 + 3, + 5, + 7 ] }, "viewer":{ @@ -1229,66 +2380,50 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Interpolation_n-D", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "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" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", + "", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", "off", - "", - "on", "off", "off", - "off" + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, - 2, - 11 + 3, + 5, + 7 ] }, "viewer":{ @@ -1296,58 +2431,50 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8756", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"toNegative", - "label":"toNegative", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "fixdt(1,16,4)", + "", "off", - "Zero", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Main", - "Signal Attributes", "Parameter Attributes", - "-Other" + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 3, + 5, + 7 ] }, "viewer":{ @@ -1355,13 +2482,11 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Gain", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1412,7 +2537,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9636#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1463,7 +2588,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1514,7 +2639,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1565,7 +2690,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8750#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1616,7 +2741,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8753#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1667,7 +2792,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9648#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1718,7 +2843,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8753#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9647#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1769,7 +2894,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8756#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1820,7 +2945,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8746#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9651#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1871,7 +2996,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9654#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1922,7 +3047,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9657#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1973,7 +3098,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8756#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9641#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2024,7 +3149,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8747#out:1", + "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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 literal 9524 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 S0w06IP*>Jgs#36i{XYPbHh_8n diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg index 9ddbce0..6676828 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg @@ -1,10 +1,10 @@ - + - + @@ -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,30 +111,30 @@ - - 3 + + 4 - + - - + + - + - - id_Tgt + + id_TgtAbs @@ -145,11 +145,11 @@ - - + + - + @@ -159,30 +159,30 @@ - - 2 + + 1 - + - - + + - + - - r_cos + + r_sin @@ -193,44 +193,44 @@ - - - + + + - - + + - + - - 1 + + -1 - - + + - - - + + + - + - - r_sin + + sfix16_En4 @@ -241,363 +241,353 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + r_cos + + + + + + + + + + + + + + + + + + - - + + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + r_fieldWeak_XA - - - - - - - + + + + + + - - + + - - + + uint8 - - - - - - - 1-D T(k,f) + + + + + + - - + + - - k1 + + ufix8_En6 + + + + + + + + + + + + + + + + + + - - + + - - f1 + + b_fieldWeakEna - - + + - - + + - - + + - - r_sin_M1 + + b_fieldWeakEna - - + + - - + + - - sfix16_En14 + + boolean @@ -608,609 +598,717 @@ - - - + + + - - + + - - + + - - + + 0 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - - - - - - - - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + 3 - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - - - + - - + + id_Tgt + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + T - + - - + + F + + + + + + + + + + + + + + - + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [id_TgtAbs] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1-D T(k,f) + + - - + + - - k1 + + - - + + - - f1 - - - - - - - + + - - - - - - + + + + + + + - - + + - - r_cos_M1 + + - - - - - - + + + + + + + - - + + - - sfix16_En14 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - n_fieldWeak_XA + + - + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + - - - + + + + + + + + + + - - + + - - ufix8_En6 + + r_cos_M1 - - + + - - + + - - uint8 + + sfix16_En14 @@ -1221,44 +1319,29 @@ - - - + + + - - + + - - + + - - 0 + + [r_cos] - - - - - - - - - - - - - - - - - uint8 + + @@ -1269,44 +1352,139 @@ - - - + + + - - + + - + + + + + + + + + - + - - 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - id_TgtAbs + + a_elecAngle_XA + + + + + + + + + + + + + + + uint8 @@ -1317,44 +1495,363 @@ - - - + + + - - + + - - + + - - 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 - - + + + + + + + + + + + + + + + + + r_sin_M1 - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1365,139 +1862,299 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + n_commDeacv + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + [r_inpTgtSca] + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_TgtAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 - - + + + + + + + + + - - - + + - - - + + + + + + + + [r_sin] - - - - - - - - - - - a_elecAngle_XA + + + - - + + - - + + - - uint8 + + sfix16_En14 @@ -1508,59 +2165,77 @@ - - - + + + - - + + - - + + - - b_fieldWeakEna + + [id_Tgt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - b_fieldWeakEna + + [n_motAbs] + + + + + + + - - + + - - + + - - boolean + + sfix16_En4 @@ -1571,59 +2246,76 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [r_inpTgtSca] - + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + - - + + - + - - + + - + sfix16_En4 @@ -1635,187 +2327,258 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + 1-D T(k,f) - - + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + id_fieldWeak_M1 + + + + + + + + + + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - T + + - - + + - - F + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1828,57 +2591,57 @@ - + - + - + - - 2 + + 3 - + - + - - + + - + n_motAbs - + - - + + - + sfix16_En4 @@ -1890,179 +2653,155 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [a_elecAngle] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + 1 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - 1-D T(k,f) + + a_elecAngle + + + + + + + - - + + - - k1 + + ufix16_En6 + + + + + + + + + + + + + + + + + + - - + + - - f1 + + 2 - - + + - - + + - - + + - - id_fieldWeak_M1 + + r_inpTgtSca - - + + - - + + - - ufix10 + + sfix16_En4 @@ -2073,58 +2812,124 @@ - - - + + + - - + + - - + + - - 1 + + [r_cos] - - + + - - - + + + - - + + - - a_elecAngle + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_sin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + - + - - + + - + ufix16_En6 @@ -2136,48 +2941,64 @@ - - - + + + - - + + - + - - + + - - -1 + + + + + + + + + + - - - - + - - + + - - + + - - sfix16_En4 + + boolean + + + + + + + + + + + @@ -2186,148 +3007,196 @@ - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + - + - + + + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + - + - + @@ -2337,53 +3206,109 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -2393,52 +3318,88 @@ - + - + - + + + + - + + + + + - + - + + + + + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 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,11 +556,64 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8875", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax1", + "label":"MinMax1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "on", + "1", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" + ], + "tabs":[ + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"MinMax", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8873", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -578,11 +631,11 @@ "SampleTime" ], "values":[ - "2/sqrt(3)", + "0.5", "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,0)", + "Inherit: Same as input", "off", "Floor", "off", @@ -644,7 +697,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "on", @@ -674,11 +727,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8873", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8875", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -696,11 +749,11 @@ "SampleTime" ], "values":[ - "0.5", + "2/sqrt(3)", "Element-wise(K.*u)", "[]", "[]", - "Inherit: Same as input", + "fixdt(1,16,0)", "off", "Floor", "off", @@ -733,11 +786,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8870", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "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":[ + "Gain", + "Multiplication", + "OutMin", + "OutMax", "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", "LockScale", - "OutMax", - "OutMin", "RndMeth", - "SampleTime", "SaturateOnIntegerOverflow", - "ZeroCross" + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "on", - "1", - "off", + "sqrt(3)/2", + "Element-wise(K.*u)", "[]", "[]", - "Floor", - "-1", + "Inherit: Same as input", "off", - "on" + "Zero", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-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 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 LHPNZnc6j!G*o=4e diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg index 148940c..af0bb77 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg @@ -473,44 +473,108 @@ - - - + + + - - + + - + - + - - 2/sqrt(3) + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int16 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 0.5 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -531,19 +595,19 @@ - + - + - + - + @@ -561,11 +625,11 @@ - + - + sfix16_En4 @@ -577,44 +641,44 @@ - - - + + + - - + + - - + + - - 0.5 + + 2/sqrt(3) - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -625,59 +689,59 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix16_En4 @@ -699,11 +763,11 @@ - + - + @@ -717,15 +781,15 @@ - + - - + + - + int16 @@ -736,26 +800,26 @@ - + - + int16 - + - - + + - + int16 @@ -777,11 +841,11 @@ - + - + 1/2 @@ -799,12 +863,12 @@ - + - - sfix16_En5 + + sfix16_En4 @@ -815,59 +879,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + sqrt(3)/2 - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -879,59 +927,59 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix16_En4 @@ -953,35 +1001,35 @@ - + - + - + - + - + - + - + - + @@ -999,11 +1047,11 @@ - + - + sfix16_En4 @@ -1013,54 +1061,6 @@ - - - - - - - - - - - - - - - - - - sqrt(3)/2 - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - @@ -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", @@ -595,11 +595,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -608,7 +608,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd", "local", "Tag" ], @@ -628,19 +628,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd", + "Vq", + "local", "Tag" ], "tabs":[ @@ -654,16 +656,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8901", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -671,7 +673,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vq", "Tag" ], "tabs":[ @@ -690,21 +692,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd", - "local", + "r_cos", "Tag" ], "tabs":[ @@ -718,16 +718,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -735,7 +735,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "Vd", "Tag" ], "tabs":[ @@ -754,11 +754,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -766,7 +766,7 @@ "IconDisplay" ], "values":[ - "Vq", + "r_sin", "Tag" ], "tabs":[ @@ -785,19 +785,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", + "r_sin", + "local", "Tag" ], "tabs":[ @@ -811,32 +813,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Vq", - "local", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -844,16 +870,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8894", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -876,7 +902,7 @@ "off", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -906,11 +932,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -918,7 +944,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd", "Tag" ], "tabs":[ @@ -937,51 +963,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Goto3", + "label":"Goto3", "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_cos", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -989,7 +991,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -1021,7 +1054,7 @@ "off", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -1051,11 +1084,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8894", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1078,7 +1111,7 @@ "off", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -1108,44 +1141,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "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:8900", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8901", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1153,7 +1153,7 @@ "IconDisplay" ], "values":[ - "Vq", + "r_sin", "Tag" ], "tabs":[ @@ -1172,11 +1172,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1184,7 +1184,7 @@ "IconDisplay" ], "values":[ - "Vd", + "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 literal 7763 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 literal 7779 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 - - + + - + @@ -562,14 +562,14 @@ - - [r_sin] + + [Vd] - + @@ -581,44 +581,29 @@ - - - + + + - - + + - + - - [Vd] + + [Vq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -629,44 +614,44 @@ - - + + - + - + - - [r_sin] + + [Vq] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -677,29 +662,44 @@ - - - + + + - - + + - - + + - - [Vd] + + [r_cos] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -710,11 +710,11 @@ - - + + - + @@ -724,30 +724,30 @@ - - [r_cos] + + [Vd] - + - - + + - + - - sfix16_En14 + + sfix16_En4 @@ -758,11 +758,11 @@ - - + + - + @@ -772,30 +772,30 @@ - - [Vq] + + [r_sin] - + - - + + - + - - sfix16_En4 + + sfix16_En14 @@ -806,44 +806,29 @@ - - - + + + - - + + - + - - [r_cos] + + [r_sin] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -854,29 +839,52 @@ - - - + + + - - + + + + + + + + + + - + - - [Vq] + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -887,52 +895,52 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - - sfix16_En5 + + sfix16_En4 @@ -943,44 +951,44 @@ - - + + - + - + - - [r_sin] + + [Vd] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -991,52 +999,77 @@ - - - + + + - - + + - - + + - - + + [r_cos] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vq] - - + + - + - - + + - - sfix16_En5 + + sfix16_En4 @@ -1057,19 +1090,19 @@ - + - + - + - + @@ -1087,12 +1120,12 @@ - + - - sfix16_En5 + + sfix16_En4 @@ -1103,85 +1136,52 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - + - - [r_cos] - - - - - - - + + sfix16_En4 @@ -1192,11 +1192,11 @@ - - + + - + @@ -1206,30 +1206,30 @@ - - [Vq] + + [r_sin] - + - - + + - + - - sfix16_En4 + + sfix16_En14 @@ -1240,11 +1240,11 @@ - - + + - + @@ -1254,30 +1254,30 @@ - - [Vd] + + [r_cos] - + - - + + - + - - sfix16_En4 + + 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":"" } }, @@ -1225,11 +1302,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8983", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1270,38 +1347,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "==", + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -1310,42 +1422,40 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8983", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", "SampleTime", "ZeroCross" ], "values":[ - "==", + "1", + "u1 ~= 0", + "", "off", - "boolean", - "Simplest", "-1", "on" ], "tabs":[ - "Main", - "Data Type", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1, 4 ] }, @@ -1355,52 +1465,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8982", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "iq_limProt", + "local", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1408,79 +1498,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"Goto7", + "label":"Goto7", "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":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "id_min", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1488,79 +1531,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"Goto6", + "label":"Goto6", "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":[ - "9", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "iq_min", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1568,42 +1564,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "iq_max", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1611,16 +1597,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1629,7 +1615,7 @@ "IconDisplay" ], "values":[ - "id_min", + "id_max", "local", "Tag" ], @@ -1649,11 +1635,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1662,7 +1648,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "Vd_min", "local", "Tag" ], @@ -1682,11 +1668,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1695,7 +1681,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "z_ctrlMod", "local", "Tag" ], @@ -1715,11 +1701,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1728,7 +1714,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vq_min", "local", "Tag" ], @@ -1748,11 +1734,64 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", + "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:8966", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1761,7 +1800,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "n_limProt", "local", "Tag" ], @@ -1781,11 +1820,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1794,7 +1833,7 @@ "IconDisplay" ], "values":[ - "id_max", + "n_mot", "local", "Tag" ], @@ -1814,11 +1853,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1827,7 +1866,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "n_min", "local", "Tag" ], @@ -1847,11 +1886,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1860,7 +1899,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "n_max", "local", "Tag" ], @@ -1880,11 +1919,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8966", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1893,7 +1932,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "Vd", "local", "Tag" ], @@ -1913,11 +1952,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1926,7 +1965,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "Vd_max", "local", "Tag" ], @@ -1946,73 +1985,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"iq_max_M1", + "label":"iq_max_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", + "OutDataTypeStr", "OutMin", "OutMax", - "OutDataTypeStr", + "InternalRulePriority", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" ], "values":[ "1", - "Port number", + "off", + "Explicit values", + "Dialog", + "iq_max_M1", + "Flat", + "Error", + "on", + "0", + "on", + "Inherit: Same as output", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", + "fixdt(1,16,4)", + "[]", + "[]", + "Speed", "off", - "reset", + "Simplest", "off", - "0", + "Clip", + "Inherit: Same as output", "", - [ - ], - "Dialog", - "Auto", - "off" + "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 10, + 20 ] }, "viewer":{ @@ -2021,16 +2061,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Interpolation_n-D", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2039,7 +2079,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "iq", "local", "Tag" ], @@ -2059,11 +2099,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain5", - "label":"Gain5", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2118,53 +2158,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8957", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Gain3", - "label":"Gain3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "id_TgtAbs", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2172,117 +2186,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", - "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: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", + "blocktype":"Goto", "masktype":"" } }, @@ -2318,11 +2222,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2330,7 +2234,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "id_min", "Tag" ], "tabs":[ @@ -2349,11 +2253,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9016", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_min", - "label":"n_min", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2382,7 +2286,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "11", + "3", "Port number", "[]", "[]", @@ -2395,7 +2299,7 @@ "auto", "off", "off", - "V_min", + "V_max", "off", "reset", "off", @@ -2429,11 +2333,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2441,7 +2345,7 @@ "IconDisplay" ], "values":[ - "id_max", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -2460,25 +2364,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Gain6", + "label":"Gain6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "Vd_min", - "Tag" + "-1", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2486,16 +2418,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8949", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2522,27 +2454,75 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Vq_max_M1", + "label":"Vq_max_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "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":[ - "n_min", - "local", - "Tag" + "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":[ - "Parameter Attributes" - ], - "tabs_idx":0 + "Main", + "Data Types", + "-Other" + ], + "tabs_idx":[ + 0, + 10, + 20 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2550,26 +2530,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Interpolation_n-D", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd", - "local", + "n_limProt", "Tag" ], "tabs":[ @@ -2583,7 +2561,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -2619,21 +2597,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "iq", - "local", "Tag" ], "tabs":[ @@ -2647,16 +2623,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8936", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2664,7 +2640,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "iq_max", "Tag" ], "tabs":[ @@ -2683,11 +2659,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8940", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2695,7 +2671,7 @@ "IconDisplay" ], "values":[ - "n_max", + "Vd_max", "Tag" ], "tabs":[ @@ -2714,91 +2690,11 @@ } }, { - "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:8937", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2806,7 +2702,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vd", "Tag" ], "tabs":[ @@ -2825,21 +2721,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_max", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -2853,99 +2747,134 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8936", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "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":[ - "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":[ - "iq_max", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"CTRL_COMM3", + "label":"CTRL_COMM3", "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":[ - "2", - "Port number", + "TRQ_MODE", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", + "Inherit: Inherit via back propagation", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -2954,87 +2883,8 @@ ], "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", - "[]", - "[]", - "uint8", - "fixdt(0,8,6)", - "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" - ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 9, - 16 + 3, + 7 ] }, "viewer":{ @@ -3043,16 +2893,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8957", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Gain3", + "label":"Gain3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3107,11 +2957,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3119,7 +2969,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "n_mot", "Tag" ], "tabs":[ @@ -3138,11 +2988,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3150,7 +3000,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "Vq_min", "Tag" ], "tabs":[ @@ -3169,58 +3019,74 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9016", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"n_min", + "label":"n_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "Vd_max", - "Tag" + "11", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_min", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3228,30 +3094,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8941", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"a_elecPeriod2", + "label":"a_elecPeriod2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "n_min", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "uint8", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3259,47 +3143,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", + "name":"Gain5", + "label":"Gain5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "i_max", - "on", - "inf", + "-1", + "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as input", "off", - "inf" + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 2, + 8, + 11 ] }, "viewer":{ @@ -3308,16 +3202,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM3", - "label":"CTRL_COMM3", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3331,7 +3225,7 @@ "FramePeriod" ], "values":[ - "TRQ_MODE", + "VLT_MODE", "on", "inf", "[]", @@ -3458,32 +3352,81 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "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:8917", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq", + "label":"iq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "VLT_MODE", - "on", - "inf", + "4", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -3492,8 +3435,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -3502,16 +3445,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8945", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3519,7 +3462,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "n_max", "Tag" ], "tabs":[ @@ -3538,51 +3481,151 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"Gain1", - "label":"Gain1", + "name":"Vq_max_XA", + "label":"Vq_max_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", "SampleTime" ], "values":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", + "Explicit values", + "Dialog", + "Vq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", "off", - "Zero", + "Error", "off", + "Inherit: Same as input", "[]", "[]", - "Inherit: Same as input", + "uint8", + "fixdt(0,8,6)", + "off", + "Simplest", + "on", + "", + "10", + "11", + "10", + "Inherit: auto", "-1" ], + "tabs":[ + "Main", + "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", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -3592,65 +3635,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", + "==", "off", - "inherit", - "-1", - "Inherit", + "boolean", + "Simplest", "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -3659,16 +3680,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8945", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3676,7 +3697,7 @@ "IconDisplay" ], "values":[ - "n_max", + "iq_min", "Tag" ], "tabs":[ @@ -3695,37 +3716,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8941", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "n_min", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3733,16 +3742,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8955", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3750,7 +3759,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "iq_min", "Tag" ], "tabs":[ @@ -3769,43 +3778,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8920", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"From5", + "label":"From5", "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" + "id_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3813,7 +3804,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "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", @@ -3952,25 +3974,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Vd", + "label":"Vd", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "id_min", - "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" @@ -3978,65 +4036,41 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Vd", - "label":"Vd", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "1", + "u1 ~= 0", "", - "on", "off", - "off", - "off" + "-1", + "on" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 4 ] }, "viewer":{ @@ -4045,16 +4079,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", + "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", - "off", - "Zero", + "Inherit: Inherit via back propagation", "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,19 +4262,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -4264,32 +4290,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "n_mot", - "local", - "Tag" + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4297,104 +4335,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Current_Limit_Protection", - "label":"Current_Limit_Protection", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"Gain1", + "label":"Gain1", "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" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "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", - "", + "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, - 6 + 2, + 8, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "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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 Tnr8_x@aLKQOSxhhBme&aY~gfa delta 13459 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 z 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 - - + + - + @@ -202,30 +202,30 @@ - - 10 + + 12 - + - - + + - + - - n_max + + n_limProt @@ -236,11 +236,11 @@ - - + + - + @@ -250,30 +250,30 @@ - - 7 + + 10 - + - - + + - + - - iq_max + + n_max @@ -284,11 +284,11 @@ - - + + - + @@ -298,30 +298,30 @@ - - 5 + + 8 - + - - + + - + - - id_max + + iq_min @@ -332,11 +332,11 @@ - - + + - + @@ -346,30 +346,30 @@ - - 3 + + 5 - + - - + + - + - - Vq_max + + id_max @@ -380,11 +380,11 @@ - - + + - + @@ -394,30 +394,30 @@ - - 6 + + 2 - + - - + + - + - - id_min + + Vd_min @@ -428,44 +428,44 @@ - - - + + + - - + + - + - - n_max + + 1 - - + + - - - + + + - + - - sfix16_En4 + + Vd_max @@ -476,44 +476,44 @@ - - - + + + - - + + - + - - 8 + + n_max - - + + - - - + + + - + - - iq_min + + sfix16_En4 @@ -524,362 +524,234 @@ - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + iq_max_XA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - + - - + + uint8 + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 7 - - - - - - - 1-D T(k,f) + + + + + + - - - - - - - k1 + + + + + + - - + + - - f1 + + iq_max - - - - - + + + + + + + + + + + + - - - - + - - + + - - iq_max_M1 + + i_max + + + + + + + - + - - + + - + sfix16_En4 @@ -901,11 +773,11 @@ - + - + 0 @@ -923,11 +795,11 @@ - + - + uint8 @@ -939,363 +811,382 @@ - - - + + + - - + + - - + + - - + + Vd_max - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + 9 + + + + + + + + + + + + + + - - + + - - + + iq_limProt + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + n_mot - - + + - - + + n_max - - + + - - + + n_min - - + + - - + + n_limProt - - + + - - + + if { } + + + + - - - + + + + - - + + + + + + - - - + + + + - - + + - - + + - - + + Speed_Limit_Protection + + + + - - - + + + + - - + + - - + + - - + + action + + + + - - - + + + + - - + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - + - - f1 + + - - - - + - - - - - - - - - - - Vq_max_M1 + + + + + + + - - + + - - + + - - sfix16_En4 + + boolean @@ -1306,44 +1197,44 @@ - - - + + + - - + + - - + + - - Vd_max + + 6 - - + + - - - + + + - - + + - - sfix16_En4 + + id_min @@ -1354,44 +1245,52 @@ - - - + + + - - + + - - + + - - 0 + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - + + - - + + - - uint8 + + action @@ -1402,136 +1301,128 @@ - - - + + + - - - - - - - - + + - - - - - - n_mot - - - - - - - - n_max - - - - + + - - n_min + + [iq_limProt] - - - - - - - n_limProt + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - if { } + + [id_min] - - - - - - - - + + - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - Speed_Limit_Protection + + [iq_min] - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [iq_max] - - - - - - - - - - - - - - - - - action + + + @@ -1542,74 +1433,128 @@ - - - - - - - - - + + + - - + + - + - - + + - - + + [id_max] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vd_min] - + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + - - + + - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [Vq_min] + + + + + + + @@ -1620,38 +1565,30 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + @@ -1665,23 +1602,23 @@ - - + + - - + + - - + + - - boolean + + sfix16_En4 @@ -1692,68 +1629,29 @@ - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - + + - - + + [n_limProt] - - - - - - - - - - - - - - - - - - - - - - - - - boolean + + @@ -1764,68 +1662,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + [n_mot] - - - - - - - - - - - - - - - - - - - - - - - - - boolean + + @@ -1836,60 +1695,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [n_min] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1900,44 +1728,29 @@ - - - + + + - - + + - - + + - - 4 + + [n_max] - - - - - - - - - - - - - - - - - Vq_min + + @@ -1948,44 +1761,29 @@ - - - + + + - - + + - - + + - - 9 + + [Vd] - - - - - - - - - - - - - - - - - iq_limProt + + @@ -1996,52 +1794,29 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [Vd_max] - - - - - - - - - - - - - - - - - action + + @@ -2052,694 +1827,477 @@ - - - + + + - - + + - - + + - - [id_min] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [iq_max] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [Vd_min] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [id_TgtAbs] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [z_ctrlMod] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [id_max] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [Vq_min] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [Vq_max] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [n_limProt] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - [iq_limProt] - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - Vd_max + + - - - - - - - - - - - - - - - - - - - - + + - - [Vd_max] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - -1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - -1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - [iq_min] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + 1-D T(k,f) - - + + - - + + k1 - - + + - - + + f1 + + + + + + + + + + + + + + - - + + - - + + iq_max_M1 - + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + [iq] + - - + + - - - - + + + + + + + + + + + + + + + - - + + - - iq_max_XA + + -1 + + + + + + + - - + + - - + + - - uint8 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_TgtAbs] + + + + + + + @@ -2760,11 +2318,11 @@ - + - + [iq_max] @@ -2782,11 +2340,11 @@ - + - + sfix16_En4 @@ -2798,43 +2356,43 @@ - - + + - + - + - - [id_TgtAbs] + + [id_min] - + - + - - + + - + sfix16_En4 @@ -2846,44 +2404,44 @@ - - + + - + - + - - 11 + + 3 - + - - + + - - + + - - n_min + + Vq_max @@ -2894,43 +2452,91 @@ - - + + - + - + - - [id_max] + + [id_TgtAbs] - + - + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -2942,44 +2548,44 @@ - - + + - + - + - - [Vd_min] + + [z_ctrlMod] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2990,110 +2596,363 @@ - - - + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - [z_ctrlMod] + + - - - - - - + + + + + + + - - - - - - + + + + + + + 1-D T(k,f) - - + + - - uint8 + + k1 - - - - - - - - - - - - - - - - - - - - + + - - [n_min] + + f1 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [Vd] + + Vq_max_M1 - - - + + + + + + + + + + + sfix16_En4 @@ -3104,43 +2963,43 @@ - - + + - + - + - - [n_min] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -3152,76 +3011,43 @@ - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - + + - + - + - - [n_mot] + + [n_min] - + - + - - + + - + sfix16_En4 @@ -3233,43 +3059,43 @@ - - + + - + - + - - [n_max] + + [iq] - + - + - - + + - + sfix16_En4 @@ -3281,44 +3107,44 @@ - - - + + + - - + + - - + + - - 12 + + [iq_max] - - + + - - - + + + - - + + - - n_limProt + + sfix16_En4 @@ -3329,77 +3155,44 @@ - - + + - + - + - - [iq_min] + + [Vd_max] - + - + - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - + + - - [n_max] - - - - - - - + + sfix16_En4 @@ -3410,43 +3203,43 @@ - - + + - + - + - - [iq_max] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -3458,44 +3251,44 @@ - - - + + + - - + + - - + + - - 2 + + [Vq_max] - - + + - - - + + + - - + + - - Vd_min + + sfix16_En4 @@ -3506,139 +3299,136 @@ - - - + + + - - + + + + + + + + - - - - - - - - - - - - - - - - - + - - + + - - + + iq - - + + - - + + iq_max - - + + - - + + iq_min - - + + - - + + iq_limProt - - + + - - + + if { } + + + + - - - + + + + - - + + + + + + - - - + + + + - - + + - - + + - - - - - - - - - - - - - - - - - + + Current_Limit_Protection - - - + + + + + + + + + - - + + - - Vq_max_XA + + sfix16_En4 - - + + + + + + + + - - + + - - uint8 + + action @@ -3649,44 +3439,50 @@ - - - + + + + + + + + + - - + + - - + + - - -1 + + TRQ_MODE - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -3697,43 +3493,43 @@ - - - + + + - - + + - - + + - - [Vq_max] + + -1 - - + + - + - - + + - + sfix16_En4 @@ -3745,44 +3541,44 @@ - - + + - + - + - - [z_ctrlMod] + + [n_mot] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3793,29 +3589,44 @@ - - - + + + - - + + - - + + - - [iq_min] + + [Vq_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3826,44 +3637,44 @@ - - - + + + - - + + - - + + - - [Vd_max] + + 11 - - + + - - - + + + - - + + - - sfix16_En4 + + n_min @@ -3874,44 +3685,44 @@ - - - + + + - - + + - - + + - - [n_min] + + 0 - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -3922,43 +3733,43 @@ - - - + + + - - + + - - + + - - i_max + + -1 - - + + - + - - + + - + sfix16_En4 @@ -3970,43 +3781,43 @@ - - + + - + - + - - TRQ_MODE + + VLT_MODE - + - + - - + + - + uint8 @@ -4028,11 +3839,11 @@ - + - + SPD_MODE @@ -4050,11 +3861,11 @@ - + - + uint8 @@ -4076,35 +3887,35 @@ - + - + - + - + - + - + - + - + @@ -4126,15 +3937,126 @@ - + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + iq + + + + + + - - + + - + sfix16_En4 @@ -4146,44 +4068,44 @@ - - - + + + - - + + - - + + - - VLT_MODE + + [n_max] - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4194,44 +4116,139 @@ - - - + + + - - + + - + - - + + - - [n_limProt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Vq_max_XA - - + + - - + + - - sfix16_En4 + + uint8 @@ -4242,44 +4259,44 @@ - - - + + + - - + + - - + + - - -1 + + 4 - - + + - - - + + + - - + + - - sfix16_En4 + + Vq_min @@ -4290,59 +4307,68 @@ - - - + + + - - + + - + - - + + - - 4 + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - iq + + + + + + + - - + + - - + + - - sfix16_En4 + + boolean @@ -4353,43 +4379,43 @@ - - + + - + - + - - [n_max] + + [iq_min] - + - + - - + + - + sfix16_En4 @@ -4401,52 +4427,44 @@ - - - - - - + + + + + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [n_min] - - + + - - + + - - + + - - action + + sfix16_En4 @@ -4457,43 +4475,43 @@ - - + + - + - + - - [iq_limProt] + + [iq_min] - + - + - - + + - + sfix16_En4 @@ -4505,44 +4523,44 @@ - - - + + + - - + + - - + + - - VLT_MODE + + [id_max] - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4563,11 +4581,11 @@ - + - + 3 @@ -4585,11 +4603,11 @@ - + - + id_TgtAbs @@ -4600,11 +4618,11 @@ - + - + sfix16_En4 @@ -4616,59 +4634,44 @@ - - - + + + - - + + - - + + - - 5 + + [z_ctrlMod] - - - - - - - - - - - - - - - - - n_mot + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4679,43 +4682,58 @@ - - - + + + - - + + - - + + - - [id_min] + + 5 - - + + + + + + + + + + + + + + + + + n_mot - + - - + + - + sfix16_En4 @@ -4737,11 +4755,11 @@ - + - + 2 @@ -4759,11 +4777,11 @@ - + - + Vd @@ -4774,11 +4792,11 @@ - + - + sfix16_En4 @@ -4790,43 +4808,99 @@ - - + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + - + - + - - [iq] + + [n_max] - + - + - - + + - + sfix16_En4 @@ -4838,44 +4912,44 @@ - - - + + + - - + + - - + + - - -1 + + VLT_MODE - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4886,43 +4960,43 @@ - - + + - + - + - - [Vq_min] + + [iq_limProt] - + - + - - + + - + sfix16_En4 @@ -4944,11 +5018,11 @@ - + - + 1 @@ -4966,11 +5040,11 @@ - + - + z_ctrlMod @@ -4981,11 +5055,11 @@ - + - + uint8 @@ -4997,76 +5071,28 @@ - - - - - - - - - - - - - - - - [Vd] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - + + - + - + - - [n_mot] + + [Vq_max] - + @@ -5078,136 +5104,116 @@ - - - + + + - - - - - - - - + + - - - - - - - - iq - - - - - - - - iq_max - + - - + + - - iq_min + + - - + + - - iq_limProt + + - - + + - - if { } + + + + + + + + + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - Current_Limit_Protection + + boolean - - - - - - - - - - + + + + + + + + + + + + + + + - + - - sfix16_En4 + + -1 + + + + + + + - - - - - - - - + + - + - - action + + sfix16_En4 @@ -5219,12 +5225,6 @@ - - - - - - @@ -5256,32 +5256,32 @@ + + + + + + + + + + + - + - + boolean - - - - - - - - - - - @@ -5320,32 +5320,32 @@ + + + + + + + + + + + - + - + 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,42 +235,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8928", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8927", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8926", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ @@ -293,7 +262,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -356,7 +325,7 @@ "inf", "[]", "[]", - "fixdt(0,16,6)", + "fixdt(0,16,8)", "off", "inf" ], @@ -382,11 +351,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8926", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8925", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"iq", + "label":"iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ @@ -409,7 +378,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -449,11 +418,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8925", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8927", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ @@ -476,7 +445,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -515,6 +484,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8928", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8931#out:1", "className":"Simulink.Line", 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 zcmV-T46^g29i$zQQA*U{fT2(bggCG%nI>sOMrk5Mr5U2AS~b=7YI@VCm8Ol_E3Q`R z)n4q3s#$4wrCDXGnXaa-n#pt~FeL=#08Jv!hhS{LIM|%bk((n3rm)=}0MTB?lOX}F zlOO?Glg|MKe_p)`tya6~`&q44yz|aG0T>a{<^?Q}*w|PcKYo1E_w)ID0T>O@*6<@1 zksx4ekhPf2X4vg^Xti48Kf#=*Iom#v?1>CcyQprfnYv7(WV78kS8)Te=`998jWT*9-e5!0v1SkcsT0n z>Nb79si~=*9}LkJsT4&~0=00z-;eLV{~jeJCFt+(hgPdaY-}v1rlw#t8c|zY3!P4f z`1p8uy_ zYHDhbf1jTp$e|EzNkG>iM9;fj*+_p;-MMpT+eZS}?RH$aaAAi=MBBwcc975K+tT4R zPitss*rCzTPT-*?k2#%A)YR0#<#M5?rw3N66+=Tq0G57f2L=W(J3EW^_V!&KDFsu= ztU)YxJN~z&1#?era)ql@__@J=*9!`8<;oQ#ehMmr}Y zf7T%VHXAxqQkE|Ge8BMV@@=m4bo{BV4jzYN-TT|^c5(R~9UZ8yu10lrH2|QswH3L! zxj23L^tQ)NyDKEtAc~@(>i56LHyIgF_U-$}4L%z>ABWTFgifd1(z3V)*;_(l4Wd%1fAD`7FQU1t3uDvM%hyN8#NeMUTtHM*)V7wN zl$5mMvJ}Vc>@4;@9VzW;ArXk(Zim~=f)`ubor8j+cqi3blJAR{9KH8nLjapD9je<~`1 zKBn5*TBN6^BP?ubPkT&EOh^VYJUoov-rjX@*X#Aj%E}7jh*k=Tcciqm6i1F6L1$+t zTrL;hd+$8}!0FScSM9k9hKY#@Xti1t6chygvGng%V`C!<3k#vqXkf8e zIKQ)obpsi6IPk%Z8+f?5xZ?T*l?tEc<|0i|aPQtd6c!fZ#*G^&Dk?&4e{C%c1_K5M z2QfW8jhUGl*le~v5y)OKI5-G{!63%j+1a`2*S4vt3F+zSC@Ly~qA0k2{W?yaI)!W3 zu0f?zEl+^f*ViLIKOfoI*|>G<768EEaBu>29qaDqz4XmD_;;gm>4M!3C<>t00|1UZ zc!2*lnV=}jsyEu{bRsG$e`-sUWRf3#_yH=F3a1`V@a-kd&CR%W?Hb;C>n&7ORl)D~ zV{UG4&7b}5yYEn0S-I+ZMNy#9XmI=XZ6qZnZTPkQ;)^d}Fc@Gmnegqm-{RwsKZen0 z#KOV?zW(}atJMm#*^K!3c*MlS zASESb&z|@1a=CEef4~9k-@kvihay^c4Kgt`h0khh(X+6Cr+*+ZJRH9+DneOqZjgq! z#A>xdtyUvFJw2$8yBX3XpQ0$Jsi}d|@+S(8m6@{<9 z`U(dR9z;Y$1kRp4yS$fduX@(R=$>7JB*e$#i(mXAm}7aNf8D)%7iDE->wff7tJO$J zNx{R154W`Z!oosWEEc4urXnFB0mqIV+w*a3)K7ObL`Fs;A|e8biHQN<(XgStSUo*G z2oDcOc6RoTK6t2DSXhA9>qT5#+`576gsiMAy#4muxP19CA|fIJ_BerJHk)zj(j`<@ zR^t8l-(SA|f2TVdo*ZdiR#vv|j)sMW1w=$d;K5)22d?Y?3YB+a#bYfd#?tc6H->J0>S5QBza1;$yVg zY+mv0n^vn8v9YlLfR>gPy#D&@0G77J0HD6U9sp2Xe_f68@^X|-{SiNp>jL6{zgvLv zi_y1=->a1IHnB+a`EED4L!lpOSg@%xvr3sV%ldFT-II$h9Cn0oTpFIfI|?Z2QbtbZu~c8$B-&}W^2*Xza9)D)VV zn^96yg4Whnq^72>m~UxmX~BsTC)N!_rBW?_f2rVhJvsHj7WZ5HaP{Ay@{R-9K;6;< zVKFfm$N%}$XD%ls0`dF(ICtd=>Pt$NuBfkHI$=stkXcuU>p%M$KK$^*74roKg8?3o z2fe+$_~@gL#N`hS4J~gF4-E|=Iy!pQ5x!4EM@R3-bK0=^hd6BPS-$8T^}^gggIr@A ze-?ZS=H~pEaLvQ#SFlf`1{4L^nX%~WpMe6v=U3nu@xpjuDQu6|kHWlv{DtrC^P-^O z!!`HJjgODR?RMkSPnUiX-+1GV<=ebouXqgBPDwZBBmL5UZ2A5n5lFAaf}0r`Kv>w) z8HJCx4WLrN`s%Cr&p-be=Y;R&+QzI|Jq7&e>DtFCjq-KeOjz$c%45|EFCcDo%TBO@p-E=EU32V!GmF+M(yf4I0f zw6?ZFtJOlU*TduSh(~&aL?GFjnJBw?6Sq@RfbekOm%m)TO>Z{i-8bJv{x(+anVFe5 zd-g1BHrt**+38s6(qH;?X(@6tGPbq+Co|kOn{8Xm2?T#wCLZ*y z|FQ1T4LEg1o#u^z%$Q>NrlKc1XZ~NajjE#+< zs;X+s_uuHTO9KM~P^;BQO-+Tv;Xqni8f-S(o<7!XH-yX@1i&-DMc-<>jvP4>(B zr;iLyOG^U)#<7MM<7hUb0AV0R0tP}Pcy6{qG#U+>nwns>T6cRWdz#bf-0dN}P@bE; nSVX&lAF+|~-jg5!E*Ad}^jP7jAblj300000NkvXXu0mjf?B*}7 literal 3748 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 - - - + + + - - + + - + - - 1 + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - iq_limProt + + sfix16_En4 @@ -61,60 +77,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - - + + + - + - - sfix16_En4 + + iq_limProt @@ -127,7 +127,7 @@ - + @@ -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,12 +403,12 @@ - + - - ufix16_En6 + + ufix16_En8 @@ -467,58 +419,58 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - iq_max + + iq - + - - + + - + sfix16_En4 @@ -530,58 +482,58 @@ - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - iq + + iq_min - + - - + + - + 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_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", + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(0,16,6)", + "Inherit: Inherit via internal rule", "off", - "inf" + "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 zcmd^C`8$-~`yUh`ONsFw46;P_ni$(4Ybm6XeXndW3Byw3<)ujf41bIVB8Hb;@XV{I|3xFFdfxnsx_W$bbF(qTZSzlGT)a!?1)Fp1Gkcqh zzZN&+Qc@z{e~Fy_#wCmh6GS&6+OJBa8A_%O4qCr{{aPzPOhQ7!g>bH`WhMQ&No5(v zy4)&kYv}R(!a}pT&S5O0Y2R19Sbu}F4HDNnsT&c2K!=99sAlEK{PZ`&&Vw(mK_y=o z6VMzW`f9K;3>KT1m^how-K8Y&Ep~MSt^MG=%w^!T*w|C{wf?6eNppEe5q5S$pMA$5 zb2jHX%!^hiIWmQDP*+lQHGO%k-kRjaZ)<1w(WR9YjyDrL%SxqEbID{dHdKRcVJ8)@fY3Hh;lSf(5`APW2*Z&eE-tP!r$G-(?&}Utgb$ygU^r_rSu@ zk()S>U`O_yq+nQ(8uC*12$`fd`HeoiY#K4c-KhJ!2Tmm>q?nH`DX)2B}> zXWa7e@@g5YM|BMi#ZOI5RhD~o5%s_8Ub!V5mi-pnBfzPJ5Uq4!aVE0_Xnfw(t4s;*r=KpPAM<+_>AY_otNSY;Zup1)x#_ z0|OJrZ|FRmI}3wwB^pWem)l|U^7803@K{|S=g`p5my*7!6vUoP4fxuGxK(vFiFb{^ zuz(C^Sy<4SNX=kx_xhkF%N~h{gc`YA3eO8eh??OwP6H*^-rjBuWne`kC~uu2;@xP; z%^t9pg@F9BGWiEV;l};Dag7TDj{_ri4Vp>b z9KI8T{Rz~Btntx~u@vu_*uBMspw+3bl}QiDBm6m?(pKuWrZD$IcXxvi zB_*~ST4*%-wXRq$fViwcf?)=MU=_49TvTJPSoGr1xPqnJq5f zuq!!6ndqR#7^UjkD?V7M-pt@Z3qc^!X2qfN69OcAW(*~JTMWpy!KUy~gWoH=zjLNr zd32~kehru;AvL3o+Je6Jmtz$U^~mMXTKWSN`9vovP4wjtmWWrYyXa~rvoP>hon0$qL>TW#d?+BSECMKrRwtTQL zRBdZ{OpaTiV{d=|>F@vW^qeFkH*0}Y0tEmgq8p))s?_s4g_e4~HnaJularGnYMe!; zvStLW_|3(EX)53J_g!OQf^2S`Nbtw`aknGcTAt(W!yKprFUZ8)+<5PAU)g@y>!gtKmb0GNZ z#DVGVB2&2k%=hSTW1k*!`lya%k92o;Lp?LLsquWkhckb^?4V=_etDKmdvLM9e!Y~? z^S>VPcWCxEyd8DiS#;`B)6n?6C0uZhO|-z&w_ulT>*i*TGGe%)?3p!bi(C^ns{!0W z0&sHxsk%RUGzEBI-H5&hU~BQ<0UODd3vY%c5D11zqREZKq47|LHb{3ZUMF{L{es8n z=TL?o2gVB&cSj%R^dej-CmmImiUB%819A^`WNFJWimGED^%XwaxEr>+w+Iheo5}7g z1445>J~}*spe|5utE2Aw&F-fV*8ob`2_9`nYVP_|JW^V4H>elN1 z>jKe8|GcKI_=)>7Eh@11yjQZ;cE+nh&n|vzi12`^4BDo#ny$;dD`rtH{5FX`D$lnh%g2K!fGr;Gl1!Cs%`!bP6Wb?fF6c54Eh{j{c>6%uw@{Bczl6$i##W z<3}{-H5C<1OUrdYuK^rXO(whf_?#^&DsuTpCv&il<_z=5i%-(a>WE1f6f@&v*{2w+ zAi}T9mz68d5c^sY^yeBz&kGH>zR|+x=OOwxKQ)Nny?2lI4I`<~%h1zPHf$R|0`^r< zP-t!q$>{{(hXRsLx5!eQ_sogsf`Wn+ye4W+yMg;3le(@r^R=~=90ATz#6%;H4=Cyd zYoTJZ6nWBKHR5RZH`77bkENTcFs)=e)O9D#R~as``Jl)Oh*6p&wwDT@ac8;P!$e(7 zbGg;i0tTs8eA#a7_QFifz(BenN@lhJh&RX0l8+!dj~WkQqjcx|*W@>Wka@{m+V`@h zrG<^a0Hm$P-(e}DGt+v*4Wf*kzG19l?X1#jSY@m6F&7{V+BC4Z&%aNP*2@>X_c*#= zvKxnisj2A~S>{z%^4`9E8wnS-DDC^@MN-b{;6xO~KnYf*{0~APLPAdg72mKm?Af~5J9u}dpkPbFA^B9BQ=7rY=K z;OguQ@*+VtH#cPz6}guyd)B=C{EX3P4H)G1%Ah8&rmd~*0W29Au>$HHNP~W&Q_AwP zFVOTQFI{S#Ud<(u_&q&6&*7^8uXw7YFI|#=3k@}ViGBh=?%?16IBkj+yk}$c&u4SJ z>@I-J`}_MV6N@ZAAXn(k#?Z&INBEcdxwWDSXe|wM@P>RzNLl!S`7*d)0#dLGe0^k{qp>ss%LWn8ZIBL--JR;eS?F8Ym0Rg zc&~k7MZ3G7BG?GMN+~TYlq@VPl;4JVVDhDT^F65BVg}5t*Cn0*M@{rG+mr7q4!lZ6 SO2F?t=!T)0LB)0F=>G$*&}PyA delta 3577 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 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 @@ -13,59 +13,60 @@ - - - + + + - - + + - + - - cf_nKpLimProt - - - - - - - - - - - - - - + + - + - - cf_nKpLimProt + + + + + + + + + + + + + + + + + - - + + - - + + - - ufix16_En6 + + sfix16_En4 @@ -76,107 +77,107 @@ - - - + + + - - + + - + - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - n_limProt + + - - - - - - - - - - - - + + - - + + - - + + up - - + + - - + + u - - + + - - + + lo + + + + + + + + y - - + + - + - - + + - + sfix16_En4 @@ -188,52 +189,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + n_limProt @@ -244,107 +237,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - - - up - - - - - - - - u - - - - + + - - lo + + - - + + - - y + + - - + + - + - - + + - + sfix16_En4 @@ -356,44 +293,59 @@ - - - + + + - - + + - - + + - - if { } + + cf_nKpLimProt - - + + - - + + - - + + - - Action Port + + 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,27 +129,140 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9039", - "className":"Simulink.Goto", + "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", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Rising edge init" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9041", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"dV_openRate", + "label":"dV_openRate", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "Vq_prev", - "local", - "Tag" + "dV_openRate", + "on", + "inf", + "[]", + "[]", + "fixdt(1,28,16)", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -157,7 +270,100 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Rate_Limiter", + "label":"Rate_Limiter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "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":"" } }, @@ -220,6 +426,37 @@ "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", @@ -294,57 +531,26 @@ "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", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9036", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9039", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Open", + "Vq_prev", + "local", "Tag" ], "tabs":[ @@ -358,7 +564,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -410,136 +616,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Rate_Limiter", - "label":"Rate_Limiter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9032", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9038", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Constant23", - "label":"Constant23", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "Vq_Open", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -547,7 +644,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "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,108 @@ - - - + + + - - + + - + - - [Vq_prev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean @@ -113,43 +192,58 @@ - - - + + + - - + + - - + + - - -1 + + dV_openRate - - + + + + + + + + + + + + + + + + + dV_openRate - + - - + + - + sfix28_En16 @@ -161,108 +255,203 @@ - - - + + + - - + + - - + + - - [Vq_prev] + + u + + + + + + + + initVal + + + + + + + + init + + + + + + + + inc + + + + + + + + dec + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - sfix16_En4 + + Rate_Limiter - - - - - - - - - - - - - - - + + + + - - + + - - + + sfix28_En16 + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + -1 + - - + + - - + + - - + + - - sfix16_En4 + + sfix28_En16 @@ -273,29 +462,44 @@ - - - + + + - - + + - - + + - + [Vq_Open] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -306,43 +510,43 @@ - - + + - + - + - - [Vq_Open] + + [Vq_prev] - + - + - - + + - + sfix16_En4 @@ -354,29 +558,29 @@ - - + + - + - + - + - + - + @@ -391,23 +595,23 @@ - + - - + + - - + + - - sfix28_En16 + + sfix16_En4 @@ -418,155 +622,93 @@ - - - - - - + + + - - - - - - - - - u - - - - - - - - initVal - - - - - - - - init - - - - - - - - inc - - - - - - - - dec - - - - - - - - y - - - - - - - - - - - - - - - - - + + + + + - - + + - - + + [Vq_prev] - - + + - - - - + + + + + + + + + + + + + + + - + - - Rate_Limiter - - - - - - - + + - - + + - - sfix28_En16 + + - + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + sfix28_En16 @@ -577,44 +719,29 @@ - - - + + + - - + + - - + + - - 0 + + [Vq_Open] - - - - - - - - - - - - - - - - - sfix28_En16 + + @@ -627,7 +754,7 @@ - + @@ -635,11 +762,11 @@ - + - + default: { } @@ -657,11 +784,11 @@ - + - + Action Port @@ -673,58 +800,43 @@ - - - + + + - - + + - - + + - - dV_openRate + + 0 - - - - - - - - - - - - - - - - - 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,145 +48,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2360", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "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:9040:2343", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "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:2395", "className":"Saturation Dynamic", @@ -322,6 +183,65 @@ "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", @@ -390,11 +310,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2357", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2360", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -410,14 +330,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -429,10 +355,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -452,16 +385,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2343", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -481,7 +414,7 @@ ], "values":[ "rectangular", - "+-", + "++", "off", "Inherit: Inherit via internal rule", "[]", @@ -516,11 +449,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2359", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"dec", - "label":"dec", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -543,7 +476,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -583,11 +516,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2359", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2357", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"u", - "label":"u", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", "inspector":{ "params":[ @@ -610,7 +543,74 @@ "OutputFunctionCall" ], "values":[ - "1", + "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:9040:2358", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"dec", + "label":"dec", + "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":[ + "5", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg index 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,6 +349,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + @@ -481,11 +425,11 @@ - + - + 2 @@ -503,11 +447,11 @@ - + - + initVal @@ -518,11 +462,11 @@ - + - + sfix28_En16 @@ -534,58 +478,115 @@ - - + + - + - + - - 4 + + 1 - + - - + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - inc + + + + + + + + + + + + + + + + + - + - - + + - + sfix28_En16 @@ -597,59 +598,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + 1 - - + + + + + + + + + + + + + + + + + u - + - + - + sfix28_En16 @@ -661,11 +661,11 @@ - - + + - + @@ -675,44 +675,44 @@ - - 5 + + 4 - + - - + + - + - - dec + + inc - + - + - + sfix28_En16 @@ -724,11 +724,11 @@ - - + + - + @@ -738,44 +738,44 @@ - - 1 + + 5 - + - - + + - + - - u + + 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,53 +631,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "i_apha", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -685,16 +657,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -702,7 +674,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_cos", "Tag" ], "tabs":[ @@ -721,19 +693,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", + "i_beta", + "local", "Tag" ], "tabs":[ @@ -747,7 +721,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -840,25 +814,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "i_apha", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -866,16 +866,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -884,7 +884,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "r_sin", "local", "Tag" ], @@ -904,21 +904,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", - "local", + "i_apha", "Tag" ], "tabs":[ @@ -932,7 +930,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -994,11 +992,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9057", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1006,7 +1004,7 @@ "IconDisplay" ], "values":[ - "i_apha", + "i_beta", "Tag" ], "tabs":[ @@ -1025,11 +1023,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9063", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_apha", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1082,11 +1113,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9057", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1094,7 +1125,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "r_sin", "Tag" ], "tabs":[ @@ -1113,50 +1144,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9063", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_apha", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -1168,15 +1167,16 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "-+", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -1189,7 +1189,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -1198,7 +1198,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg index 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,67 +613,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [i_apha] - - + + - + - - + + - + sfix16_En4 @@ -677,43 +661,43 @@ - - + + - + - + - - [r_sin] + + [r_cos] - + - + - - + + - + sfix16_En14 @@ -725,44 +709,29 @@ - - - + + + - - + + - - + + - - [r_cos] + + [i_beta] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -783,11 +752,11 @@ - + - + [r_sin] @@ -805,11 +774,11 @@ - + - + sfix16_En14 @@ -831,19 +800,19 @@ - + - + - + - + @@ -861,11 +830,11 @@ - + - + sfix16_En4 @@ -877,43 +846,51 @@ - - - + + + - - + + - - + + - - [i_apha] + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -925,28 +902,28 @@ - - + + - + - + - - [i_beta] + + [r_sin] - + @@ -958,29 +935,44 @@ - - - + + + - - + + - - + + - - [r_sin] + + [i_apha] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1001,19 +993,19 @@ - + - + - + - + @@ -1031,11 +1023,11 @@ - + - + sfix16_En4 @@ -1047,43 +1039,43 @@ - - + + - + - + - - [i_apha] + + [i_beta] - + - + - - + + - + sfix16_En4 @@ -1095,51 +1087,84 @@ - - - + + + - - + + - - + + - - + + [i_apha] + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + - + - + - - + + - + sfix16_En4 @@ -1151,44 +1176,44 @@ - - + + - + - + - - [i_beta] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1199,84 +1224,59 @@ - - - + + + - - + + - - + + - - [i_apha] - - - - - - - + + - - - - - - - - - - - - - - - - - - - + - + - + - + - - + + - + - + - + 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 @@ -129,11 +129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_nKi", - "label":"cf_nKi", + "name":"cf_nKp", + "label":"cf_nKp", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -147,12 +147,12 @@ "FramePeriod" ], "values":[ - "cf_nKi", - "off", + "cf_nKp", + "on", "inf", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(0,16,12)", "off", "inf" ], @@ -178,11 +178,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9103", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_nKb", - "label":"cf_nKb", + "name":"cf_nKi", + "label":"cf_nKi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -196,8 +196,8 @@ "FramePeriod" ], "values":[ - "cf_nKb", - "on", + "cf_nKi", + "off", "inf", "[]", "[]", @@ -227,83 +227,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_nKp", - "label":"cf_nKp", + "name":"cf_iqKiLimProt", + "label":"cf_iqKiLimProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -317,12 +245,12 @@ "FramePeriod" ], "values":[ - "cf_nKp", + "cf_iqKiLimProt", "on", "inf", "[]", "[]", - "fixdt(0,16,8)", + "fixdt(0,16,16)", "off", "inf" ], @@ -441,11 +369,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9096", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9097", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -454,7 +382,7 @@ "IconDisplay" ], "values":[ - "n_max", + "n_min", "local", "Tag" ], @@ -474,22 +402,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9100", + "className":"Simulink.SignalConversion", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Signal Conversion2", + "label":"Signal Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" ], "values":[ - "iq_limProt", - "local", - "Tag" + "Signal copy", + "Inherit: auto", + "off" ], "tabs":[ "Parameter Attributes" @@ -502,16 +430,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SignalConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9093", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9096", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -520,7 +448,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "n_max", "local", "Tag" ], @@ -540,25 +468,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9103", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"cf_nKb", + "label":"cf_nKb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "Vq_max", - "Tag" + "cf_nKb", + "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" @@ -566,24 +512,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -597,24 +545,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -628,16 +578,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9084", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -645,7 +595,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_min", "Tag" ], "tabs":[ @@ -664,50 +614,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Port", - "IconDisplay", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "7", - "Port number", + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: auto", + "Inherit: Inherit via internal rule", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", + "Simplest", "on", - "off", - "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -717,7 +659,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -726,66 +668,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9080", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_min", - "label":"n_min", + "name":"Goto31", + "label":"Goto31", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "iq_limProt", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -793,66 +701,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9079", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"From37", + "label":"From37", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "r_inpTgtSca", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -860,16 +732,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9094", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -878,7 +750,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "n_mot", "local", "Tag" ], @@ -898,21 +770,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9097", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_min", - "local", + "n_mot", "Tag" ], "tabs":[ @@ -926,55 +796,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9078", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "4", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "fixdt(1,16,10)", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -984,7 +844,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -993,16 +853,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9084", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "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:9093", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1011,7 +902,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", "local", "Tag" ], @@ -1031,11 +922,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", + "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", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1058,7 +980,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "7", "Port number", "[]", "[]", @@ -1098,11 +1020,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9076", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9079", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1125,7 +1047,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "5", "Port number", "[]", "[]", @@ -1165,42 +1087,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9078", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "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", - "|+-", - "off", - "Inherit: Inherit via internal rule", + "4", + "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", @@ -1210,7 +1140,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -1219,48 +1149,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"cf_iqKiLimProt", - "label":"cf_iqKiLimProt", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "cf_iqKiLimProt", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" + "Vq_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1268,26 +1180,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9094", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9085", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", - "local", + "n_max", "Tag" ], "tabs":[ @@ -1301,45 +1211,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "3", + "Port number", "[]", "[]", - "fixdt(1,16,10)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1349,7 +1269,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1358,30 +1278,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9085", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9076", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "n_max", - "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" @@ -1389,16 +1345,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9086", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1406,7 +1362,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "n_min", "Tag" ], "tabs":[ @@ -1425,11 +1381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9075", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9080", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"n_min", + "label":"n_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1452,7 +1408,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "6", "Port number", "[]", "[]", @@ -1492,56 +1448,100 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9099", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" ], "values":[ - "reset", - "Only when execution is resumed" + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9086", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9075", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "n_min", - "Tag" + "1", + "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" @@ -1549,7 +1549,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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 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 literal 5233 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 LhbVt+`S$++a_n?6 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 @@ -88,11 +88,11 @@ - - + + - + @@ -102,30 +102,30 @@ - - cf_nKi + + cf_nKp - + - + - + - - ufix16_En16 + + ufix16_En12 @@ -136,11 +136,11 @@ - - + + - + @@ -150,29 +150,29 @@ - - cf_nKb + + cf_nKi - + - + - + - + ufix16_En16 @@ -184,284 +184,218 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + cf_iqKiLimProt - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + cf_iqKiLimProt - - - - - - - + + + + + + - - + + - - + + ufix16_En16 + + + + + + + + + + + + + + + + + + - - + + - - + + err - - + + - - + + P - - + + - - + + I - - + + - - + + Kb - - + + - - + + ext_limProt - - + + - - + + satMax - - + + - - + + satMin - - + + - - + + out - - + + - - + + PI(z) - - - - - - - - - - + + - - - + + + - - + + - - sfix16_En4 + + PI_backCalc_fixdt_n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + sfix16_En4 - - - - - - - - - - - - up - - - - - - - - u - - - - - - - - lo - + - - + + - - y - - - - - - - + + - - - - - - - - - - - - - sfix16_En4 + + + + + + + + + + + + + + + + + + @@ -472,44 +406,29 @@ - - - + + + - - + + - - + + - - cf_nKp + + [n_min] - - - - - - - - - - - - - - - - - ufix16_En8 + + @@ -520,221 +439,172 @@ - - - + + + - - + + - + - - + + - - err + + - - + + - - P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - I + + - - + + - - Kb + + - - + + - - ext_limProt + + - - + + - - satMax + + - - + + - - satMin + + - - + + - - out + + - - + + - - PI(z) - - - - - - - - - - - - - - + + - - + + - - PI_backCalc_fixdt_n - - - - - - - + + - - + + - - sfix16_En4 + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - + + - - - - - - - [n_max] - - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [iq_limProt] - - - - - - - + + sfix16_En4 @@ -745,28 +615,28 @@ - - + + - + - + - - [Vq_min] + + [n_max] - + @@ -778,44 +648,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + cf_nKb - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -826,44 +696,29 @@ - - - + + + - - + + - - + + - + [r_inpTgtSca] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -874,44 +729,29 @@ - - - + + + - - + + - - + + - - [n_mot] + + [Vq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -922,43 +762,43 @@ - - + + - + - + - - [iq_limProt] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -970,58 +810,59 @@ - - - + + + - - + + - - + + - - 7 - - - - - - - + + - - - - - - + + + + + + + - - + + - - iq_limProt + + + + + + + + + - + - - + + - + sfix16_En4 @@ -1033,59 +874,29 @@ - - - + + + - - + + - - + + - - 6 + + [iq_limProt] - - - - - - - - - - - - - - - - - n_min - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1096,58 +907,43 @@ - - - + + + - - + + - - + + - - 5 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - n_max + + - + - - + + - + sfix16_En4 @@ -1159,28 +955,28 @@ - - + + - + - + - - [Vq_max] + + [n_mot] - + @@ -1192,29 +988,44 @@ - - - + + + - - + + - - + + - - [n_min] + + [n_mot] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1225,58 +1036,99 @@ - - - + + + - - + + - - + + - - 4 + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En10 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limProt] - - - - - - - - - - - n_mot + + + - + - - + + - + sfix16_En4 @@ -1288,28 +1140,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_min] - + @@ -1321,58 +1173,106 @@ - - + + + + + + + + + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + - + - + - - 3 + + 7 - + - - + + - - + + - - Vq_min + + iq_limProt - + - - + + - + sfix16_En4 @@ -1384,58 +1284,58 @@ - - + + - + - + - - 2 + + 5 - + - - + + - - + + - - Vq_max + + n_max - + - - + + - + sfix16_En4 @@ -1447,59 +1347,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + 4 - - + + + + + + + + + + + + + + + + + n_mot - + - - + + - + sfix16_En4 @@ -1511,59 +1410,44 @@ - - - + + + - - + + - - + + - - cf_iqKiLimProt + + [Vq_max] - - - - - - - - - - - - - - - - - cf_iqKiLimProt + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -1574,29 +1458,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [n_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1607,52 +1506,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 3 - - + + + + + + + + + + + + + + + + + Vq_min - - + + - - + + - - sfix16_En10 + + sfix16_En4 @@ -1663,43 +1569,58 @@ - - - + + + - - + + - - + + - - [n_max] + + 2 - - + + + + + + + + + + + + + + + + + Vq_max - + - - + + - + sfix16_En4 @@ -1711,43 +1632,43 @@ - - + + - + - + - - [Vq_min] + + [n_min] - + - + - - + + - + sfix16_En4 @@ -1759,58 +1680,58 @@ - - + + - + - + - - 1 + + 6 - + - - + + - - + + - - r_inpTgtSca + + n_min - + - - + + - + sfix16_En4 @@ -1822,44 +1743,108 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - case: { } + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -1870,43 +1855,58 @@ - - - + + + - - + + - - + + - - [n_min] + + 1 - - + + + + + + + + + + + + + + + + + r_inpTgtSca - + - + - + 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", @@ -130,52 +80,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2279", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2528", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "round", - "|++", - "off", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", + "0", + "Inherited", + "-1", + "", + "", "off", - "1", - "All dimensions", - "-1" + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 3, + 4 ] }, "viewer":{ @@ -184,45 +125,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2697", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2279", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", "SampleTime" ], "values":[ + "round", + "|++", + "off", + "Inherit: Same as first input", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", - "Real World Value (RWV)", - "Floor", + "Simplest", "off", + "1", + "All dimensions", "-1" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 2, + 10 ] }, "viewer":{ @@ -231,7 +184,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Sum", "masktype":"" } }, @@ -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 @@ -228,60 +228,59 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + 1 - - - - - + + + + - - - + + + + + + + + + + + u - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -292,59 +291,60 @@ - - - + + + - - + + - + - - + + - - 1 + + + + + + + + + + - - - - + - - - - - - - - - - - u + + + + + + + - - + + - + - - sfix32_En20 + + sfix16_En4 @@ -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", @@ -130,107 +50,167 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2282", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2293", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ + "round", + "-+|", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as second input", + "Inherit: Inherit via internal rule", "off", - "Floor", - "off" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Sum", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2273", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "**", - "Element-wise(.*)", + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", "off", - "[]", - "[]", - "fixdt(1,16,5)", "off", - "Simplest", "on", - "1", - "All dimensions", - "-1" + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 9 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2272", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -256,7 +236,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -283,11 +263,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2285", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -306,16 +286,16 @@ "SampleTime" ], "values":[ - "round", - "-+|", + "rectangular", + "++", "off", "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -342,11 +322,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2254", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2253", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -369,7 +349,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "6", "Port number", "[]", "[]", @@ -409,51 +389,137 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2253", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2292", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "6", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via internal rule", "off", - "", - "on", + "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", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", "off", + "Floor", "off" ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2273", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide4", + "label":"Divide4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", + "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", @@ -462,7 +528,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -471,16 +537,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2396", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2254", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -503,7 +569,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "7", "Port number", "[]", "[]", @@ -543,11 +609,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2291", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2290", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -563,14 +629,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -582,10 +654,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -605,113 +684,75 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2275", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2284", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", "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" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", + "rectangular", + "+++", "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", "off", + "Simplest", "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2252", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2291", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ @@ -734,7 +775,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -774,40 +815,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2272", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2252", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "3", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -817,7 +868,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -826,7 +877,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, @@ -898,101 +949,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2285", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9098:2396", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9098", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", + "5", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "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" + "off" ], "tabs":[ "Main", @@ -1002,7 +1002,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -1011,7 +1011,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_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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 I%3DPI2foUPWdHyG literal 6957 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 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -125,11 +77,11 @@ - + - + Ini=0 @@ -140,11 +92,11 @@ - + - + sfix32_En20 @@ -156,107 +108,154 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - + + + + - + + + + - - + + - - up + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + u - - + + - - lo + + y + + + + - - - + + + + - - y + + - - - + + + + + + + + + + + + + + + + + Integrator - + + + + + + + - - + + - + sfix16_En4 @@ -268,52 +267,58 @@ - - - + + + + + + + + + - + - - + + - - + + - - + + - - + + - + - - + + - - + + - - sfix16_En5 + + sfix32_En20 @@ -324,52 +329,68 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -380,60 +401,115 @@ - - - + + + - - + + - - + + - - + + 6 + + + + + + + + + + + + + + - - + + - - + + satMax + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -444,58 +520,107 @@ - - - + + + - - + + - + - - + + - - 7 + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - + + + + + + + + up - - + + - - satMin + + u + + + + + + + + lo + + + + + + + + y + + + + + + + - + - - + + - + sfix16_En4 @@ -507,59 +632,52 @@ - - - + + + - - + + - - + + - - 6 + + - - - - - - + + + + + + + - - - - - - - - - - - satMax + + + - + - - + + - - sfix16_En4 + + sfix16_En5 @@ -570,59 +688,59 @@ - - + + - + - + - - 5 + + 7 - + - - + + - - + + - - ext_limProt + + satMin - - + + - - + + - - sfix16_En10 + + sfix16_En4 @@ -633,59 +751,44 @@ - - + + - + - + - - 4 + + 1 - + - - - - - - - - - - Kb - - - - - - - + + - - + + - - ufix16_En16 + + out @@ -696,91 +799,84 @@ - - - + + + - - - - - - - - + + - - + + - - u + + - - + + - - y + + - - - - - - - - + + + - - + + + + + + + + + + - - - - - - - - + + + - - + + - - + + - - Integrator + + + + + + + + + - - - - - - - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -791,64 +887,58 @@ - - - - - - - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - I + + Kb - + - - + + - + ufix16_En16 @@ -860,52 +950,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 3 - - + + + + + + + + + + + + + + + + + I - - + + - - + + - - sfix32_En20 + + ufix16_En16 @@ -926,11 +1023,11 @@ - + - + 2 @@ -948,11 +1045,11 @@ - + - + P @@ -960,15 +1057,15 @@ - + - + - - ufix16_En8 + + ufix16_En12 @@ -979,156 +1076,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 5 - - - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - - - - - - - + + ext_limProt - + - + - - sfix32_En20 + + 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,16 +1009,16 @@ - + - + - + - + @@ -1103,10 +1103,10 @@ - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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 @@ -49,11 +49,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9137", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_iqKb", - "label":"cf_iqKb", + "name":"cf_iqKp", + "label":"cf_iqKp", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -67,12 +67,12 @@ "FramePeriod" ], "values":[ - "cf_iqKb", + "cf_iqKp", "on", "inf", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(0,16,12)", "off", "inf" ], @@ -98,42 +98,81 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9136", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"cf_iqKi", + "label":"cf_iqKi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "FramePeriod" ], "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", + "cf_iqKi", + "on", + "inf", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(0,16,16)", "off", - "Simplest", + "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", + "icon":"WebViewIcon3", + "name":"cf_iqKb", + "label":"cf_iqKb", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKb", "on", - "1", - "All dimensions", - "-1" + "inf", + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "inf" ], "tabs":[ "Main", @@ -142,8 +181,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 3, + 7 ] }, "viewer":{ @@ -152,7 +191,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Constant", "masktype":"" } }, @@ -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", + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(0,16,8)", + "Inherit: Inherit via internal rule", "off", - "inf" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -283,8 +332,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 10 ] }, "viewer":{ @@ -293,33 +342,87 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", + "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":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" + "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":[ - "[]", - "[]", - "Inherit: Same as second input", + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "on", "off", - "Floor", - "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":[ ], @@ -332,154 +435,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9130", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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:9129", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "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", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9141", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Vq_Trq", - "label":"Vq_Trq", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "DoSatur" ], "values":[ - "1", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", + "Inherit: Same as second input", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", + "Floor", "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { @@ -516,11 +512,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9127", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -529,7 +525,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "iq_max", "local", "Tag" ], @@ -582,11 +578,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -594,7 +590,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vq_min", "Tag" ], "tabs":[ @@ -613,11 +609,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9122", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -625,7 +621,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -644,21 +640,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9119", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_limProt", - "local", + "iq_max", "Tag" ], "tabs":[ @@ -672,24 +666,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -703,16 +699,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -720,7 +716,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vq_max", "Tag" ], "tabs":[ @@ -739,11 +735,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9119", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9122", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -751,7 +747,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "n_limProt", "Tag" ], "tabs":[ @@ -770,11 +766,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -782,7 +778,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "iq", "Tag" ], "tabs":[ @@ -832,11 +828,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", + "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_max", - "label":"iq_max", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -859,7 +886,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -899,11 +926,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9130", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "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:9114", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -926,7 +986,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -966,19 +1026,54 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "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", + "icon":"WebViewIcon3", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq", + "iq_min", + "local", "Tag" ], "tabs":[ @@ -992,16 +1087,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9141", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"Vq_Trq", + "label":"Vq_Trq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1017,14 +1112,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "1", "Port number", "[]", "[]", @@ -1036,10 +1137,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1059,142 +1167,16 @@ "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", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"n_limProt", + "label":"n_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1217,7 +1199,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "7", "Port number", "[]", "[]", @@ -1257,32 +1239,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"cf_iqKi", - "label":"cf_iqKi", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "cf_iqKi", - "on", - "inf", + "3", + "Port number", "[]", "[]", - "fixdt(0,16,16)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1291,8 +1291,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1301,16 +1301,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"iq", + "label":"iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1333,7 +1333,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -1373,11 +1373,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1400,7 +1400,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -1440,11 +1440,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1467,7 +1467,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "1", "Port number", "[]", "[]", 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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 - - + + - + @@ -75,30 +75,30 @@ - - cf_iqKb + + cf_iqKp - + - + - + - - ufix16_En16 + + ufix16_En12 @@ -109,68 +109,92 @@ - - - + + + - - + + - + - - + + cf_iqKi - - - - - - - + + + + + + + + + + + + + - - + + - - + + ufix16_En16 + + + + + + + + + + + + + + + + + + - + - - + + cf_iqKb - - + + - - + + - + - - sfix16_En4 + + ufix16_En16 @@ -421,44 +445,68 @@ - - - + + + - - + + - + - - cf_iqKp + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En8 + + sfix16_En4 @@ -469,141 +517,155 @@ - - - + + + - - + + - + - - + + - - + + err + + + + + + + + P - + - - + + I - + - - + + Kb - + - - + + ext_limProt - - - - - - - - - - + + - - up + + satMax - - + + - - u + + satMin - - + + - - lo + + out - - + + - - y + + PI(z) - - + + + + + + + + + + + + + + + + + PI_backCalc_fixdt_Iq - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - + + - - [iq] + + - - - - - + + + + + + + + + + + + + + + + + + @@ -614,77 +676,108 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + - + - - [iq_min] + + - - - - - - + + + + + + + - - - - - - - - - - - - + + - - + + - - 1 + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - - - + + + - - + + - - Vq_Trq + + sfix16_En4 @@ -705,11 +798,11 @@ - + - + [Vq_min] @@ -728,28 +821,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [iq_max] - + @@ -771,11 +864,11 @@ - + - + [Vq_max] @@ -794,43 +887,43 @@ - - + + - + - + - - [Vq_max] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -842,43 +935,43 @@ - - + + - + - + - - [n_limProt] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -890,29 +983,44 @@ - - - + + + - - + + - - + + - - [n_limProt] + + [iq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -923,44 +1031,29 @@ - - - + + + - - + + - - + + - + [r_inpTgtSca] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -971,43 +1064,43 @@ - - + + - + - + - - [iq_min] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -1019,43 +1112,43 @@ - - + + - + - + - - [iq_max] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -1067,43 +1160,43 @@ - - + + - + - + - - [Vq_min] + + [iq] - + - + - - + + - + sfix16_En4 @@ -1125,11 +1218,11 @@ - + - + case: { } @@ -1147,11 +1240,11 @@ - + - + Action Port @@ -1163,58 +1256,43 @@ - - - + + + - - + + - - + + - - 5 + + [iq_min] - - - - - - - - - - - - - - - - - iq_max + + - + - - + + - + sfix16_En4 @@ -1226,58 +1304,58 @@ - - + + - + - + - - 4 + + 6 - + - - + + - - + + - - iq + + iq_min - + - - + + - + sfix16_En4 @@ -1289,44 +1367,29 @@ - - - + + + - - + + - - + + - + [iq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1337,58 +1400,58 @@ - - + + - + - + - - 6 + + 5 - + - - + + - - + + - - iq_min + + iq_max - + - - + + - + sfix16_En4 @@ -1400,155 +1463,62 @@ - - - + + + - - + + - - - - - - err - - - - - - - - P - - - - - - - - I - - - - - - - - Kb - - - - - - - - ext_limProt - - - - - - - - satMax - - - - - - - - satMin - - - - - - - - out - - - - + + - - PI(z) + + [n_limProt] - - + + - - - - - - - - - - - PI_backCalc_fixdt_Iq - - + + + + + + + + + + + + - - - - + - - + + - - sfix16_En4 + + [iq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -1559,29 +1529,44 @@ - - - + + + - - + + - - + + - - [iq_max] + + 1 - - + + + + + + + + + + + + + + + + + Vq_Trq @@ -1592,58 +1577,58 @@ - - + + - + - + - - 3 + + 7 - + - - + + - - + + - - Vq_min + + n_limProt - + - - + + - + sfix16_En4 @@ -1655,44 +1640,59 @@ - - - + + + - - + + - - + + - - cf_iqKi + + 3 - - + + + + + + + + + + + + + + + + + Vq_min - - + + - + - - ufix16_En16 + + sfix16_En4 @@ -1703,11 +1703,11 @@ - - + + - + @@ -1717,44 +1717,44 @@ - - 2 + + 4 - + - - + + - + - - Vq_max + + iq - + - + - + sfix16_En4 @@ -1766,11 +1766,11 @@ - - + + - + @@ -1780,44 +1780,44 @@ - - 1 + + 2 - + - - + + - + - - r_inpTgtSca + + Vq_max - + - + - + sfix16_En4 @@ -1829,11 +1829,11 @@ - - + + - + @@ -1843,44 +1843,44 @@ - - 7 + + 1 - + - - + + - + - - n_limProt + + r_inpTgtSca - + - + - + 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,72 +1,42 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2290", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2527", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"out", - "label":"out", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "InitialCondition", + "InputProcessing", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", "0", + "Inherited", + "-1", "", + "", + "off", [ ], - "Dialog", - "Auto", - "off" + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 3, + 4 ] }, "viewer":{ @@ -75,48 +45,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2527", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2285", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "rectangular", + "++", "off", - [ - ], - "Auto" + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 10 ] }, "viewer":{ @@ -125,16 +104,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2284", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -153,8 +132,8 @@ "SampleTime" ], "values":[ - "round", - "-+|", + "rectangular", + "+++", "off", "Inherit: Inherit via internal rule", "[]", @@ -162,7 +141,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -286,11 +265,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2273", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -313,10 +292,10 @@ "off", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,5)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -343,18 +322,17 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2284", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2292", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -366,75 +344,15 @@ "SampleTime" ], "values":[ - "rectangular", - "+++", + "**", + "Element-wise(.*)", "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:9132:2285", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", "off", - "Simplest", - "on", "1", "All dimensions", "-1" @@ -447,7 +365,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -456,16 +374,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2254", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2253", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -488,7 +406,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "6", "Port number", "[]", "[]", @@ -528,78 +446,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2396", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2282", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "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" + "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" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2291", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2396", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -622,7 +512,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -662,11 +552,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2252", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2290", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -682,14 +572,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", "[]", "[]", @@ -701,10 +597,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -724,16 +627,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2253", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2291", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -756,7 +659,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "4", "Port number", "[]", "[]", @@ -796,11 +699,68 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2251", + "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:2254", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -823,7 +783,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "7", "Port number", "[]", "[]", @@ -863,50 +823,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2282", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2293", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ + "round", + "-+|", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as second input", + "Inherit: Inherit via internal rule", "off", - "Floor", - "off" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Sum", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2250", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2251", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"err", - "label":"err", + "name":"P", + "label":"P", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ @@ -929,7 +909,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -969,40 +949,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2273", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2250", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"err", + "label":"err", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "1", + "Port number", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1012,7 +1002,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1021,45 +1011,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2272", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9132:2252", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9132", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "3", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1069,7 +1069,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1078,7 +1078,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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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 F{9k21d<_5q 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,60 +108,156 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + - + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -222,7 +270,7 @@ - + @@ -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,84 +481,59 @@ - - - + + + - - + + - - + + - - + + 6 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - - - - - - - - + + satMax - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -465,130 +544,107 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + - - - + + + + + + + + up - - + + - - sfix16_En4 + + u - - - - - - - - - - - - - - - - - - - - + + - - 7 + + lo - - - - - - + + + + + + + y - - - - - - - - - - - satMin + + + - + - - + + - + sfix16_En4 @@ -610,11 +666,11 @@ - + - + 5 @@ -632,11 +688,11 @@ - + - + ext_limProt @@ -647,11 +703,11 @@ - + - + sfix32_En20 @@ -663,59 +719,44 @@ - - + + - + - + - - 4 + + 1 - + - - - - - - - - - - Kb - - - - - - - + + - - + + - - ufix16_En16 + + out @@ -726,58 +767,58 @@ - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - I + + Kb - + - - + + - + ufix16_En16 @@ -789,59 +830,52 @@ - - - + + + - - + + - - + + - - 6 + + - - - - - - + + + + + + + - - - - - - - - - - - satMax + + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -852,59 +886,59 @@ - - + + - + - + - - 2 + + 7 - + - - + + - - + + - - P + + satMin - - + + - - + + - - ufix16_En8 + + sfix16_En4 @@ -915,107 +949,59 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - - - - up - - + - - u + + - + - - lo + + - + - - y + + - - + + - - + + - + - + sfix16_En4 @@ -1027,11 +1013,11 @@ - - + + - + @@ -1041,45 +1027,45 @@ - - 1 + + 2 - + - - + + - + - - err + + P - - + + - + - - sfix16_En4 + + ufix16_En12 @@ -1090,52 +1076,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + 1 - - + + + + + + + + + + + + + + + + + err - + - + - - sfix16_En5 + + sfix16_En4 @@ -1146,52 +1139,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + 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 @@ -139,11 +139,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9168", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9169", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_idKp", - "label":"cf_idKp", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -157,12 +157,12 @@ "FramePeriod" ], "values":[ - "cf_idKp", + "0", "on", "inf", "[]", "[]", - "fixdt(0,16,8)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -188,11 +188,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9166", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9168", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_idKb", - "label":"cf_idKb", + "name":"cf_idKp", + "label":"cf_idKp", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -206,12 +206,12 @@ "FramePeriod" ], "values":[ - "cf_idKb", + "cf_idKp", "on", "inf", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(0,16,12)", "off", "inf" ], @@ -236,45 +236,6 @@ "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", @@ -369,11 +330,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -382,7 +343,7 @@ "IconDisplay" ], "values":[ - "id_max", + "id_min", "local", "Tag" ], @@ -402,11 +363,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9161", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -415,7 +376,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "id", "local", "Tag" ], @@ -435,60 +396,11 @@ } }, { - "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -497,7 +409,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "id_max", "local", "Tag" ], @@ -517,54 +429,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "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:9161", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id", - "local", "Tag" ], "tabs":[ @@ -578,26 +455,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9158", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9155", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", - "local", + "id_max", "Tag" ], "tabs":[ @@ -611,7 +486,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -647,11 +522,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9153", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -659,7 +534,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "id_Tgt", "Tag" ], "tabs":[ @@ -678,19 +553,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_Tgt", + "Vd_min", + "local", "Tag" ], "tabs":[ @@ -704,65 +581,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9167", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"cf_idKi", - "label":"cf_idKi", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "DoSatur" ], "values":[ - "cf_idKi", - "on", - "inf", "[]", "[]", - "fixdt(0,16,16)", + "Inherit: Same as second input", "off", - "inf" + "Floor", + "off" ], "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":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -785,7 +652,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "4", "Port number", "[]", "[]", @@ -856,42 +723,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9155", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "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:9148", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -914,7 +750,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -954,11 +790,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -981,7 +817,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -1021,11 +857,139 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", + "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", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1048,7 +1012,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "6", "Port number", "[]", "[]", @@ -1087,37 +1051,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "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 literal 5520 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 ad-eXM9l*4R`r!HX>LMov_e#^M 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg index 283a12e..afe6956 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg @@ -125,44 +125,44 @@ - - - + + + - - + + - + - - cf_idKp + + 0 - - + + - - + + - + - - ufix16_En8 + + sfix32_En20 @@ -173,11 +173,11 @@ - - + + - + @@ -187,142 +187,30 @@ - - cf_idKb + + cf_idKp - + - + - - - - - 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 @@ - + - + - + - + - + - + @@ -492,28 +380,28 @@ - - + + - + - + - - [id_max] + + [id_min] - + @@ -525,28 +413,28 @@ - - + + - + - + - - [Vd_min] + + [id] - + @@ -558,44 +446,29 @@ - - - + + + - - + + - - + + - - 0 + + [id_max] - - - - - - - - - - - - - - - - - sfix32_En20 + + @@ -606,62 +479,44 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [id_min] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [id_min] - - - - - - - + + sfix16_En4 @@ -672,62 +527,44 @@ - - - + + + - - + + - - + + - - [id] + + [id_max] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [Vd_max] - - - - - - - + + sfix16_En4 @@ -748,11 +585,11 @@ - + - + [Vd_min] @@ -770,11 +607,11 @@ - + - + sfix16_En4 @@ -786,43 +623,43 @@ - - + + - + - - + + - - [Vd_max] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -834,92 +671,141 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [Vd_min] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - + + - - cf_idKi + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -930,58 +816,58 @@ - - + + - + - + - - 6 + + 4 - + - - + + - - + + - - id_min + + Vd_min - + - - + + - + sfix16_En4 @@ -995,7 +881,7 @@ - + @@ -1003,11 +889,11 @@ - + - + if { } @@ -1025,11 +911,11 @@ - + - + Action Port @@ -1041,43 +927,58 @@ - - - + + + - - + + - - + + - - [id_max] + + 3 - - + + + + + + + + + + + + + + + + + Vd_max - + - - + + - + sfix16_En4 @@ -1099,11 +1000,11 @@ - + - + 5 @@ -1121,11 +1022,11 @@ - + - + id_max @@ -1136,11 +1037,11 @@ - + - + sfix16_En4 @@ -1152,58 +1053,43 @@ - - - + + + - - + + - - + + - - 4 + + [Vd_max] - - - - - - - - - - - - - - - - - Vd_min + + - + - - + + - + sfix16_En4 @@ -1215,59 +1101,62 @@ - - - + + + - - + + - - + + - - 3 + + [id_Tgt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - Vd_max + + [Vd_max] - - - - - - - - - - - sfix16_En4 + + + @@ -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,32 +72,32 @@ - - - + + + - + - - sfix32_En20 + + Ini=0 - - - + + + - + - - Ini=0 + + sfix32_En20 @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_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,196 +1,81 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2293", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2290", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"out", + "label":"out", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "round", - "-+|", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2282", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ + "Port number", "[]", "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", + "Inherit: auto", "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "on", - "", "off", - "", + "[]", "off", + "held", "off", + "0", "", + [ + ], + "Dialog", "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Outport", "masktype":"" } }, @@ -254,60 +139,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2254", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2527", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "InitialCondition", + "InputProcessing", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", + "0", + "Inherited", "-1", - "auto", - "off", "", - "on", - "off", + "", "off", - "off" + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 3, + 4 ] }, "viewer":{ @@ -316,22 +184,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2272", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2293", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -343,15 +212,16 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "round", + "-+|", "off", + "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -364,7 +234,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -373,22 +243,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2273", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2284", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -400,12 +271,13 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "+++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Inherit via internal rule", "off", "Simplest", "on", @@ -421,7 +293,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -430,48 +302,152 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2527", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2275", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "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":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163: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":[ - "0", - "Inherited", - "-1", - "", - "", + "**", + "Element-wise(.*)", "off", - [ - ], - "Auto" + "[]", + "[]", + "fixdt(1,16,5)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 9 ] }, "viewer":{ @@ -480,16 +456,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2396", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2254", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -512,7 +488,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "7", "Port number", "[]", "[]", @@ -552,42 +528,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2284", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2291", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Kb", + "label":"Kb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "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", + "4", + "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", @@ -597,7 +581,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -606,16 +590,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2290", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2253", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"out", - "label":"out", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -631,20 +615,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "6", "Port number", "[]", "[]", @@ -656,17 +634,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -686,16 +657,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2291", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2396", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Kb", - "label":"Kb", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -718,7 +689,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -758,11 +729,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2253", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2252", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -785,7 +756,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "3", "Port number", "[]", "[]", @@ -892,50 +863,79 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2252", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2282", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "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" + "RndMeth", + "DoSatur" ], "values":[ - "3", - "Port number", "[]", "[]", - "Inherit: auto", + "Inherit: Same as second input", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2292", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", "off", - "", - "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -945,7 +945,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -954,16 +954,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9163:2272", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9163", "inspector":{ "params":[ @@ -989,7 +989,7 @@ "Inherit: Inherit via internal rule", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" 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 zcmdT}WmJ?=m?orKQW`-*P(Zpvq(cztl7=A#h7ReFP`Z%;k#310q#Fc;p-Z|$y7sdB zXV2OFxqp^(hB;@>neX2F-sgRvn25Kka(LL3*hol7cnb0|8sNS6;f09~{+H^MWq~&= zCwW~LBqaRKhZk}pJ3bW>66Jw{jFhHF#@@WIW`f(@{m}+)hm${h;46BMpzh2R`Dfp> zj2&C-t@V9HbX{Qu=`L5b?pCvB8}8S&@P@3#v}=1c{mh>;?;x2oFgM$Q($bdoP?UB1 zNQ%Hf`nvv2Ow>WHjya$ErJYA@2KZbZpO5`A{?ZxnAl!Uq*Sp*dv-K0lw_KkFQ+%0O zL?e6}ryv>pmL8c%`qLvBOti;@3?%aZZ$7ZTF+^HkP~vRvtVI~@oSklO+tPaPR$_6C zt}-HHnKU#skdTr#_|98atC-j@vov%){$EaMY+E@qGb8A{@<>Wbim@f@>(}-SAs6O) zO=;YXq5)n3ijLJvsuyJzsm~b8L)h&)qP08!)Qz4O( zlDfLOn($H)`>|)(qsbs3NXl(Kq?##-~Q_MYYvPxA`lgCr=ctty$|9yx3hfhM$Rx)0S!}+1fro z*%&EkYMMi2D`A!&Zel-%Y51OZEN!5N1=Vbg>o&S>RrqG8vcRExrkBTS*1V_%-04Ge zJ|{y4E<=2O*=q@jJ7ED$RX#%L=eyq|guUqLS=0hM+Hk8=@7))D8TVltg*vsiiR{!! zA3l6&x>$+Yovj-Y$tQ2`5ykFp7jp4%41^>OXG@HX!sK*otckpuY14{`9(30t?l^z?Kk7nhSb*^bYjal4!ewc)i8M3vKNC-Oli z4^Oi1Gth9zK38u_Uu4N4U!I3!8i~1}%jr?hIrsdM4GSuii#aq=CsH~&k((=r!OY|t zbB8P+juI0SbChfljN+ydV(+ z^UM#_kN3CdvDbOJy1M2T7SY#&?Qn4Yp*1TQXlP&J;sO-&rOOfT^!1grw8-}M_GDya zawcpQR8_y{<_3b>3k(Xffj}5VMAECOUX|A@PVGV4J30VJD9$UprI}-hkwh;Syql(H zqio)$Cp5NZXC#q96A~)+GTmQ_toN8!5)u(f$;zTb;hF92(u0;fwzX+Le*EB09I&ju ztaT|iM)|n;o8hx8Z1#*0K0jP#F#yI=d~%<;Y4NE1h8qIU?&1p4I}mi}gg=xu)Lpl@ zzVIdrDfIK@r%w*zLB+cw!ot11y-PA4A zO{%XK)K=Tx-L-pY+^8rQl@x9d`L^@hzjXJK00#yJgAFblPQsZrwY8(;;~o8p?7n1i zEiK}9{IeDvqksO$C@J9pD1koXaog6+&CLzP&4Ft&aQR-jmM4xBAnP`H9K~hZ^HZ^? zWv$LNxU`7wslll}?ztv53n$E@ZOg!~R?Y7^ELw zrRr3fM?iWzO!D*dNyy3Jr9*SI5b~4tAx3s~NGG!ElP6DfILNw2w2h30i{2Mo``p9R zMh~TE1T$1CAZGLX2j>CQ!mi=DxlchErW)OfA=g0!;)1KkS@H2fZ6-N&b;-te$H`5% zXR{?bm4O!*9qc5Z%V*B6EGOq+G$06tA2LH|F58=DFs-C^Qr6mMy z2iEUBUK=o+Rm~J$qpTA7dUfTs;I;Dtday9me7>Lrh4M#7M>DaosL6Z@AgX$fs+W3Q#9LwzpY zglQa`j=JOidcI=5y**!K5f{%I8yjOVn+tLL{F5{3Yk$9DtBTY$P*JA5ltA|U`|)!C z7U1KvNtjMR*DYEv5k0QprAFXbW;jqF0{tw=e5;|-zr?*I;=Zq0qH?6^<8xCV%g}Nn zYr|HaCH&@o=`wi_`s(`XV&^r%QB0U`rKy=&7+U9+tA>`=`c(%7Ev>4eBDO5dSz3be z*Y-rQ+^JtI%JILpARq6)(WnyCV%R)Z(#p7rsw`9so?+SZK0HVY3JOS_-Q8a^G6pxY z{ee_-F(CK=2#!VsN=Qb=&j!gvN$fIRPEDhn;k;EnI|vhUG3h6X(c>7LYD~n?DwE0A zXmBtaA0OY^+4*}iB0=}jdv0c?9~@cL*_j)F2ha*36_v<0QnZCtb;(dyHs17a#W<#> zzqXj3iq6@)2Oc;Iqz^GYd)83I{Kn*M@x*KY9tH-d!n&Y&Rb|bDo!G_mp%iYj-Vw5> zki0ymTo?@K51-Qs?K!WVQpU3^OacPAQvBUF!+`Wpl#&kT?r#5eb>iOioSuFwDt%T8 zPgem~-ii6%W8ZG}r^@;|9#>mi+YKTRt?6z^K!=f$L6llGOJ>a}ZXVIYsiY`c#-J=O zzjTT)E~u$V0Q}B+mV&uz)RgR@*`Dt5v0jL!2Vp_v_m56s?w7wurJ^7=_b7XF6%9Uy zaON=1Gs<*zx%$RNuQ?cUrYZ}6`j9Rp6!0}qLaqjrmkMeRBptj3f@6telz_?C9`B+QgCfPLlii(PAXPb}(r6bnwAB;hw zT(7oY?HLxwC&Li>;A~GHw5`28nz0>?d<||e#sAoz#%XB-JfSEh)fPN70^y<%^t-7qK6ljCCKnSEBOxKF@1I;;JgD8EEf|lOwp;IvAb!A8 zLV}En3LXOk1CSo0zkde|Su(zS8FO|9E$2(26oMiE+6J`+4U2|`mXMqbZ|rh)b0Y%grp)UyD~r~SpK4-af?CWg0aDfw3MdB1 zNkG9YJeGqwwY7=E!>WyNI8dEWxaqU}_?Nw(7hw1cZ!}#!KTX!tZN0)K{9J=7vqT;us2iq0duMd)=^G%3nQHz(QqViu-yWj@&)r?RvD*#Va5Xdwp+qdv#i3)SL!@r&VtB0%!B$iyX4&`9A!zgWMRm zrpjnr!^n7KE{EQ4*K&f*SijXz3<;2|-E@_Oa*qxi`hx3s^8(d;5iv3Ge2gJQG}t@| zg>|~eatL|1uP8Uv0o9a0otpv|7zAKQF3l9Mi0=|CLZ-rgFCB-MM><2}&3y}fiQCZ=`QMpjzvJQkp?L{a?`!} z4p^wH>}5H%(xhN(<0C)+zgSL%M59#eMwXwe>#O7?O**?9eXq}mh>2hO`%3_0vD_Yl zBO@ng22Mj6t(+-L3ij>gbw$cuCiOY`#&Z6_MFCX+$OENTPsQC`;PUcPQ(OD5t8gm6 zJ!NKQCNd9B!y!;6RIy@b6kNYAtm0S0pKIsU=gV^&{5@qW~U2RaxMmu1-W59Xd9q0i5YU*jPm0Qe<=2*Pj^NM63E_ zzr4J?Nv#x)v%ADeR>@ND7e=5_ zbOXH;R>=kkRI|m0GTj&YIQ@=r%1bUUd;xmQ0q!56p{W}gsmjPa;%quZp%QQaVmgK; z+h=TN;~%*(CodE7Q4o-p>hIpY*49q$aiJnGS|46^dTVT~1|kNqURnOC^y}9)*49fg zBKtW-MUj9VkWgPI>+9)F0h=4Qw{pxx|0|5nPtZ=(TV5U$j3IFmD<2s+wZJ88!t5;GT-P1#O3z(_C=qX->co* zRq;? zU^h!nIXwslV7a;N8?CEKN_4>?As@IXQeIhLgMjE}nZSQ3T3~_V)K%KDdiwN`f`p_K z%%1W{H%(?(0KPnsAHc-GWONp17n)+vQ@-aENoVhuZ)o=y_ zfPQfBBh@TXEZj${W90B3Kf+nEJOY8=Dbd=oKzoq|lx z7bplcdr3Pn{@C(?KL_pM)5*xj_H!nBaY9En}VbfCf(GHVbvlC)9ovdu95<`}F-82^s#4 z(;@xpMvxw!B~QA(-bJhXJl~3+;%#=YHvk!kH80^5C6fFC}bL{_R^rr6i6ci-urKOjr@b-o{3% z98v9m?`NDS7as6&BAS(?Jw2~h_5VIUZVMm36U+b#r&rLQ-$ve zzNVzGo;XEd@!4q+7mOsnfZhbe=?aB5CK)Bgg-5*FO0Yt@xg&#nm+1b+*+dv5PyW7qrn64eb)8qW= zj;3-J&J;Zvklm6-?@YQ^V6rCyR*7h8W8M*ybA@GtgsjRkEy7lMy;t`kU>|JH=j|0bwTuj zfHr7^OL7$ja2U7vO!3$1iLF4@cBd+XZm-V)e7k+m=Qm~+e*gXj94F8@dnqyO!F3)a zabn(Q9zMVFm6DCl#K4mt#2WZUwcYe9=>A-URQl$cbL@?X51%bZvI2jTkg^UNMVA9s20N=oH4;oHhL4kpZ z$$Sc;h#vO0gFu3sn;KN|=Cs`ZP4R@+8Y(t7tyyCrhe3T@N(x0|VS*OAT*}}qt!>B2x^=6IpF+LHOD0XS3?d(>8hGp#P>Y}Al0$}>i-unp^L#NUd4FjM0@Z!?^`fLyA-BD8f0FVd) z$*W{-y~!HM(b@TAoF{zR4*i!Mf9&=X^NP?=bccpDGFtx|XPXm3WXNEx4xRta(GOME z^Lh6Zz(0+F|KN+aF4Cq=fO z3MfRyz>iBy+dg-uX9R!&KUqXKEG84e_&Cs(mzO&lQ!%iCJCTtIZjEAK{_+7iRoLyh zp`qa&>wtwD6#6wTZt1`@T)|vN@-ZLK=~l5|NNy8l+{B4grBBlnz}9rA0u2B}Jr#C8Z=+TABsv zSekpdxtaTL_vJnwGt15_!@lqHJiq_1-WYv7O>$BuQXCu{a&0YjL-5{x{URX(zmXQ68a5xzi-Gxt@Hy zhT31o&>8N`laM(*`k6J%N@mFB%*6MLlbMiBx3bmRm5`|sND=aA)U4>pIcw4jhAgkk zg9l`A#m0wo)c#r{!S548O~1PO+e^@DK_MnavfU+j*(&92iFWd^vOpi!8Ovqq@u^00 zehs$7;pDw{BbthoheMS=8BUU?jK>v;_y6aEgmN;D>7eBl=#R_OjhSXEQ_~*WCko<; zcRmL4aL}6g`AHKJ61rK}PPi_beEh2IRvD?!flI9#MxahYNJGU*r==XJ{}*9ay0YS^ zm!p`FlQWlG&UfdIxc}C)r$`D_#0d|_;o;%*tNnfgA|i^Dz~|4u5~%BvSk-k5Zydf) zO|=zcko8@s^Y!(Wl##*Lhd?x7Fd>cnw|jeD?wNYgo{K}bma^W_Sjqav4kS~drBhI? zEQlEY?Ybz+xzL<{|6CO>4vea*tK~v36FiTUuH9H0JU_!ijvf8oLu&?_1=3K_WYBD?R@H#MR4`ZJkF&4Pkt&1iI9R zCnhi(T+vrjrGCj(Rrk!y%uFh5TH)qJLltJor%#_IBM^&|enbInMbw7{2j8WoX+C?#iNRnp6#|A|us++;rJUVmj~W;~?iVL5uyLl%c$RFqFaAu~Ff#7Ca>QK~Rwg*$*GIXO8#6Zy#S zFkP35uHVKu(r$CIW^{DaqxWuY?z*)$S7(YQZlwvb@nr5QVPbBsrXS;xOiPPune)JB z4?dvQ*4F+v(~$Q5J)JHut$bEuW+n^xdhpZtQ7X=;NROP9L|Ioi9;-OSvomV+1Xth4 z2$gen?!=zv=(5kxfo(dZ&k->rP*L$Xl~mVIwdKM+JZ#(@gDUL(R*N_?t+XX9Z$1@F zQat5XQBlF6qob>Up+!D@`qX$P5Xr#JM)F(~%Ehu=MoJ{r2?Cy;lH{PeDyiHAg)6$~U-`{WV=xAtYxR7$h+%Ti(;UN|f5Rk7p zuGQV{i3cxII)>La)QcU$5Qf-;KlcDf81)TU!ClEij0jq-23pyQF7Q1Mc%~R zd_v^q#UY!{?Y&Zgnend+-L-||+J)rSW<0qPJR2W}3=a>#-0R`HK}MGU?b~~R61TeL zRFze!jQ-=ZvmoTuu*r^gkE=BE$;nBq-Ehb84N_9B$_8e&xi@6DITYC(2Q|D;?h%sR zrjT24;(z@3u>yA5`*UI8yNrxSUS9V+-CX2@0t59+#+)UYM68?Rt;&f5VfXodWfIWJ z)Z0#jGr2s9VBeX%ypUB>3o2)W@BcF`qa^*bMy#}RY!VX_qj2=cj_&qt{2%0+p%hUO zO+naqIXRSKdGd~lFy&H+P=o*Wk;_~O+A64j6F=0*i1y*bhgSE|_A7HED1@BcA6M!1 zjg4I_)@f_HF7owj&*fh!;+t$w4Gr7Y$4YKsWL8_%#S3wF_xHUo?u5<4&v&Af4qTv! z`1p9vZTB$T)$G!nMEG~_-Ua*!&~5SHtAvDv0GL=o!Cz9(G_E)a=dekk=lD%lPr%6E z7PV@}_zX`^>pD5{l|Yb8)o>qwe?VbnOo^wbflSQIJpd_%g>RmZ6jFnew862oe*H6^ zQKAvjEKc5y4ceM?l^)2HLv_U6?%Mli^y~8Cta55IUAGYTKQ9az3#?&ie7rM72ug>) zcQEnMaI0W8{n*`}kc$ZS5Pib0KHObG2Y77Zw)2eEDKC^y%UIv@}F| zdiTGHYB`U;IAAx|*Im54yodSQ1}r)!lG16GZSq6FKZWoY;gcD9-m zny8WgtSgcATEEMtu4fo+eKVp}SxpVUwY638oS+%ZT%kz=m}#jms5O)OK!suGGKbm5 z0Knun_db}^`+S9UtA%!SbkNb$*CYFFb*TN3*wsqO7*z_aKls~3;mwYd&;d0+{AnU%Sy*&@4NeAY#{9Ct^y8iiWQ>_zji15ITKLZL^0Hz^ z_|fQBBZdSGRW-E-#hZKl964-qZK?U1;@Isci$3orCwitf#&=H!veXi_w@b7!Yik@5 z60`{#sI8fXroG;n#6-43@pk`NL6MciY9|av>8ff*FVJ5mG*oL+;Ac=sdntInB6u|&VKMJ-AHC``V6(ZCW7pNthATw z)tZu9eazL4ZHkA5MJ6=R;XVrmfO(Vtr?-rLkwQX3nh%(MV|;9@C#E6ua#;fgtf4=^ zc%OoJe`6ycbWE`M@}C4$2jt7u?3uLK*fq|r? z!Sj>-n1lpY?~WIkM_OK;m^i7#b-lDUcWpq0p!yXC6_}q~T#hXl?q@ zksrtnn#Q7Y6B9B0j`>wp?-sj~yk~sT28M>Jj*h%Qj~#(gmXwkLGNl280MNM_QTxas zZ)f%|Ol!_SU3rV%V{4%ev^DD8ow5#vxTAmbF(n6ISjaM@UvNoDrTBswUSz*Y2e+z{ zV89-7oHs=z0*6`$-zpmEQKNhiX;tntR&1QlMA2y1MX|8BXekjAKiZkV+|%E`T-LC) zu-nDH+V??1?YkN<4%RhZd7nSq8!Bz5q^2ff%q~{kYN<6DYYf2F;|DgNgYwON0qmzL$xyq;i%IxRFK9)Z4u-!Z@o5aaPzI_=6oDIs zQhD@F9fAxex7_Lh4YZW5u>lWqw?JXZP`U0|?sOeaqiYQ82+jwZRMz&=*vA-(q6ZU%?7O*mG#K8&C zvtrwVc9|VD5ApESq{mrhJ>VeK1O^61$HdHo%LB5plg3Vu+w$5_K2GD+c*bqECJfbED058C5Z<^?8k-2PVxkJwUA|fjwqAK!drIVITm@<-14E2Wm_~gXE%uGj1iv+-x=6ZYq zBNgR@Om3_mq*PitYvC>60|!x9TpSB{BWYE7tEDdsHGge@mzL~lXlN`R^$-#f8Je5- z0$2g#4swJDL12`KjI=c97_xDvI>xk>;YmuDFMq#0g2Qq4_VzmeWrDT>xXz&SOYCgW zU`^jlv2lqkfDN?Ff|HZ8wWiO~+4&31v=&q&&8O=^Adxv%e>gvXb$))%!-C?$&BOMZ z>FfWDq2&WP9~V9)a=>i>_*5gGQ%)|Rz3X^lFhtr$uk3IG4Z!-ftZao(>7*wYizRGz ztEH@am9Z1A@EMyAgtgSK0od#7BlB9cgiAo+xyczoDrhEvm*(N&(Kj`X0k`|$0c)0?=F_Kid3kx6N}+5@N=mkNc0k;3 z{$@^Y7WGq6!F}@JkPc{|339xotmg8<_wQiVePU&2Xa1>LckGs^MtsH%*5tQ;T0)il z8dwoM>bACAfb2|=5U6rnTbnZsmS0p91;KXx7g|J|VREL6g=Z^uBpU7dULy5SV+W&nZpsj+dL zr5xH^Xg#))50~*e3@9A`jc68mvx8UHLG$1B;LBykcKhpXQ2~M13`yT)m4uoH#uEYh zy*3mIWTbhJxCjUclHa}!GrK!MN1LOGD>paXHXeFG7Id{msmCV(5n={)AILM&z(pTz z&0KqWUc?P>yg*Vxdjt6Jo`eMGz5dNMWq=A#2TJPsc;}1g_#WEY$vPxtn=*=0%}wOX zn2mIGLFL=4puq=fTScQ++CM<-&{0tdE05#c*&!XCR#K~}NzSIo%cG)G?>O0y&EE#0 zRMWguz^Rmviz*vbh3&)AeJyYJMO@y>b6R@j?0plc%TW zJ<2o&XoRB_fGW`Vk(rstAWee#P|S*%nfLfTGNNW~o&m!++=yWijc7hWB9S22(%!zU zsjLhiOcMa80LKVC{u6(H8SqENyGiM0M8Ri=ffwmWN<}jOH;a0o9&`tlQFkspU6&VZ z%FLFH7{l?=l)HeC(BhPPONWiv%K{EaNlJf)Otnob9%yfWuJmVse9O4QhJ@U=39;eq zoXm~#DH_2Xeg9=6mOFycdh&!%SomiCkQQ)&*U3^|KCu0Dg^6&fbxU?}v0!%SWdM%! zi^<3l%u?NIws+H$0>hJUZOXb2P-fvs;5I-IY#1+(j*YdwJU;;|_ePP+#DBSN0J_+M zZf5Cq&0Ssk8yXpf&E{Sn)wZxwQC+uRc(#&E#CNx77#U-RoLM|^M_r`c8+VC7eEIT) zAMICX7#(9{f(xp^j@%b6HG$om*?&OHA*N*GxpU_=G26?ZHBF!_yPpOcZ0a0m#* zz~OL}asdo`;r3#JIbJc%qXLm0qD?5qF3w%Awd$2jV9> zsC3mRq}6gZv)$d-x0E0=o4mDQ+s0JuGMm6GgSV40cTSX|(*f?NOJY!g+qlkFm08ke z{db-ksL#({v2^Qa>hXa`7u;LeJMA9iIw~F>JGpKvw6Dip?(p!m{}+ydSxW%&X8nG- z7}&7rgoHz1@pig<{2XAQzypur$;sFb+uZ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + out @@ -77,107 +61,67 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - + + - - up + + - - + + - - u + + - - + + - - lo + + - - + + - - y + + - - + + - + - - + + - + sfix16_En4 @@ -189,91 +133,91 @@ - - - + + + - - - - - - - - + + - + - - + + - - u + + - - + + - - y + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + - - - - - - - - - + + + - + - - Integrator + + Ini=0 - - - - - - - - + + - + - - sfix16_En4 + + sfix32_En20 @@ -284,73 +228,59 @@ - - - - - - - - - + + + - - + + - + - + - + - + - + - - - - - - - - - + - - + + - - + + - - + + - + sfix16_En4 @@ -362,114 +292,83 @@ - - - + + + - - + + - - + + - - 7 + + - - - - - - - - - - - - - + + + + + + + - + - - satMin - - - - - - - + + - + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix32_En20 @@ -481,52 +380,91 @@ - - - + + + - - + + + + + + + + - - + + - - + + u - - + + - - + + y - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrator - + + + + + + + - + - - sfix16_En5 + + sfix16_En4 @@ -537,91 +475,58 @@ - - - + + + + + + + + + - - + + - + - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - - + + - - sfix32_En20 + + sfix16_En5 @@ -632,59 +537,59 @@ - - + + - + - + - - 5 + + 7 - + - - + + - - + + - - ext_limProt + + satMin - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -695,84 +600,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 4 - - + + + + + + + + + + + + + + + + + Kb - - + + - - + + - - sfix32_En20 + + ufix16_En16 @@ -783,44 +663,59 @@ - - + + - + - + - - 1 + + 6 - + - - + + - - + + - - out + + satMax + + + + + + + + + + + + + + + sfix16_En4 @@ -831,59 +726,59 @@ - - + + - + - + - - 4 + + 5 - + - - + + - - + + - - Kb + + ext_limProt - - + + - - + + - - ufix16_En16 + + sfix32_En20 @@ -894,59 +789,59 @@ - - + + - + - + - - 6 + + 3 - + - - + + - - + + - - satMax + + I - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -967,11 +862,11 @@ - + - + 2 @@ -989,11 +884,11 @@ - + - + P @@ -1001,15 +896,15 @@ - + - + - - ufix16_En8 + + ufix16_En12 @@ -1020,59 +915,108 @@ - - - + + + - - + + - + - - + + - - 3 + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - + + + + + + + + up - - + + - - I + + u + + + + + + + + lo + + + + + + + + y + + + + + + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -1085,7 +1029,7 @@ - + @@ -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,50 +125,60 @@ } }, { - "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":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -182,24 +192,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9179", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -213,30 +225,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Vq_Vlt", + "label":"Vq_Vlt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "r_inpTgtSca", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -244,26 +305,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "n_limProt", "Tag" ], "tabs":[ @@ -277,7 +336,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -348,6 +407,37 @@ "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", @@ -382,11 +472,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_Vlt", - "label":"Vq_Vlt", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -402,20 +492,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "4", "Port number", "[]", "[]", @@ -427,17 +511,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -457,25 +534,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "iq_limProt", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -488,27 +565,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "n_limProt", - "local", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -521,16 +596,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9173", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -553,7 +628,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -593,11 +668,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -605,7 +680,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_min", "Tag" ], "tabs":[ @@ -624,61 +699,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"From", + "label":"From", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "r_inpTgtSca", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -686,16 +725,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9173", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9172", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -718,7 +757,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -791,11 +830,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9172", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -818,7 +857,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -857,45 +896,6 @@ "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 literal 5273 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 literal 5273 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 - - + + - + @@ -291,14 +291,14 @@ - - [r_inpTgtSca] + + [n_limProt] - + @@ -310,139 +310,107 @@ - - - + + + - - + + - + - + - - [n_limProt] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - + + - - + + - - [Vq_min] - - - - - - - + + up - - - - - - + + + + + + + u - - + + - - sfix16_En4 + + lo - - - - - - - - - - - - - - - - - - - - + + - - [Vq_max] + + y - - + + - + - - + + - + sfix16_En4 @@ -454,44 +422,29 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [Vq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -502,28 +455,28 @@ - - + + - + - + - - [Vq_max] + + [r_inpTgtSca] - + @@ -535,59 +488,44 @@ - - + + - + - + - - 5 + + 1 - + - - - - - - - - - - n_limProt - - - - - - - + + - - + + - - sfix16_En4 + + Vq_Vlt @@ -598,29 +536,44 @@ - - - + + + - - + + - - + + - - [iq_limProt] + + [n_limProt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -631,44 +584,59 @@ - - + + - + - + - - 1 + + 5 - + - - + + - - + + - - Vq_Vlt + + n_limProt + + + + + + + + + + + + + + + sfix16_En4 @@ -679,44 +647,44 @@ - - - + + + - - + + - - + + - - case: { } + + [Vq_max] - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -727,28 +695,28 @@ - - + + - + - + - - [n_limProt] + + [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,11 @@ - + - + sfix16_En4 @@ -997,29 +950,92 @@ - - - + + + - - + + - - + + - + [Vq_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1040,11 +1056,11 @@ - + - + 1 @@ -1062,11 +1078,11 @@ - + - + r_inpTgtSca @@ -1077,11 +1093,11 @@ - + - + sfix16_En4 @@ -1093,107 +1109,91 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [Vq_min] - + + + + + + + + + + + + + + + + + + - - + + - - up + + 3 - - - - - - - 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,13 +1009,13 @@ - + - + - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json index 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 @@ -1418,38 +1418,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Operator", + "Criteria", "InputSameDT", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", + "Threshold", "ZeroCross" ], "values":[ - "==", + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", "off", - "boolean", - "Simplest", "-1", + "0", "on" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 1, - 4 + 9 ] }, "viewer":{ @@ -1458,47 +1470,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "==", "off", - [ - ], - "Auto" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ "Main", - "State Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, + 1, 4 ] }, @@ -1508,16 +1515,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9225", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1526,7 +1533,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlTypSel", "local", "Tag" ], @@ -1546,11 +1553,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9225", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1559,7 +1566,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "r_inpTgtSca", "local", "Tag" ], @@ -1611,6 +1618,37 @@ "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", @@ -1642,6 +1680,56 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay4", + "label":"UnitDelay4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9210", "className":"Simulink.From", @@ -1674,19 +1762,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "VqFinPrev", + "local", "Tag" ], "tabs":[ @@ -1700,7 +1790,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "CTRL_COM", + "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":"" } }, @@ -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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 b-+Xm5vt{nV3DL6CHSh-Q6J4 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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 @@ -1797,68 +1797,188 @@ - - - + + + - - + + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - - - - - - - - - + + - - + + - - + + - - boolean + + int16 @@ -1869,46 +1989,38 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + @@ -1922,38 +2034,23 @@ - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - - + + - - int16 + + boolean @@ -1964,28 +2061,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [z_ctrlTypSel] - + @@ -1997,28 +2094,28 @@ - - + + - + - + - - [VqFinPrev] + + [r_inpTgtSca] - + @@ -2040,11 +2137,11 @@ - + - + [VqFin] @@ -2063,43 +2160,43 @@ - - + + - + - + - - [VqFin] + + [VqFinPrev] - + - + - - + + - + int16 @@ -2111,44 +2208,44 @@ - - + + - + - + - - [b_enaFOC] + + [VqFin] - + - - + + - - + + - - boolean + + int16 @@ -2159,43 +2256,90 @@ - - - + + + - - + + - + - - + + - - [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 - + - - + + - + int16 @@ -2207,44 +2351,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [b_enaFOC] - + - - + + - - + + - - uint8 + + boolean @@ -2255,44 +2399,29 @@ - - - + + + - - + + - - + + - - 4 + + [VqFinPrev] - - - - - - - - - - - - - - - - - VqFinPrev + + @@ -2313,11 +2442,11 @@ - + - + CTRL_COM @@ -2335,11 +2464,11 @@ - + - + uint8 @@ -2351,59 +2480,44 @@ - - - + + + - - + + - - + + - - 8 + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - r_inpTgtSca + + - + - - + + - - int16 + + uint8 @@ -2414,29 +2528,44 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + 4 - - + + + + + + + + + + + + + + + + + VqFinPrev @@ -2447,59 +2576,44 @@ - - - + + + - - + + - - + + - - 3 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - z_ctrlTypSel + + - + - - + + - - uint8 + + int16 @@ -2510,187 +2624,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 8 - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - T - - - - + - - F - - - - - - - + + r_inpTgtSca - + - - + + - + int16 @@ -2702,44 +2687,59 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 3 - - + + + + + + + + + + + + + + + + + z_ctrlTypSel - + - + - - int16 + + 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,37 +211,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9370", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 == CTRL_COM", - "", - "on", - "-1", - "on" + "r_inpTgt", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -167,26 +237,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9366", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9362", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModPrev", - "local", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -200,38 +268,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9371", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9363", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "[]", - "off", - "[]" + "z_ctrlTypSel", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -239,16 +299,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9365", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -256,7 +316,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgt", "Tag" ], "tabs":[ @@ -275,19 +335,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9367", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgt", + "local", "Tag" ], "tabs":[ @@ -301,24 +363,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9363", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9366", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "z_ctrlModPrev", + "local", "Tag" ], "tabs":[ @@ -332,16 +396,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9369", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9368", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ @@ -350,7 +414,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgtSca", "local", "Tag" ], @@ -467,102 +531,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9367", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_inpTgt", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9336", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "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":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "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,19 +762,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9369", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", + "z_ctrlTypSel", + "local", "Tag" ], "tabs":[ @@ -727,146 +790,83 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Commutation_Control_Type", - "label":"Commutation_Control_Type", + "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":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "", + "on", "off", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "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" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9362", + "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 @@ -32,44 +32,60 @@ - - - + + + - - + + - + - + - - 1 + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - r_inpTgtSca + + sfix16_En4 @@ -82,7 +98,7 @@ - + @@ -90,27 +106,27 @@ - + - + u1 - + - + if(u1 == CTRL_COM) - + - + else @@ -124,30 +140,30 @@ - + - - + + - + action - + - - + + - + action @@ -159,29 +175,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + 1 - - + + + + + + + + + + + + + + + + + r_inpTgtSca @@ -192,59 +223,91 @@ - - - + + + - - + + - + - - + + - - + + [r_inpTgt] + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 - - + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + - - + + - + - - + + - + sfix16_En4 @@ -256,43 +319,43 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_ctrlTypSel] - + - + - - + + - + uint8 @@ -304,43 +367,43 @@ - - + + - + - + - + [r_inpTgt] - + - + - - + + - + sfix16_En4 @@ -352,44 +415,62 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + [r_inpTgt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [z_ctrlModPrev] + + + + + + + @@ -400,28 +481,28 @@ - - + + - + - + - - [z_ctrlTypSel] + + [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,16 +626,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -565,98 +646,126 @@ - + - - + + - - + + + + + + + + - - + + - - [r_inpTgt] + + r_inpTgt + + + + + + + + r_inpTgtScaCOM + + + + + + + + if { } - - + + + + + + + + - - - - - - - - - - - - - - - + - - - + + + + - - 3 + + - - - - - - + + + + + + + Commutation_Control_Type - - - + + + + + + + + + - - + + - - z_ctrlModPrev + + action - - + + + + + + + + - - + + - - uint8 + + sfix16_En4 @@ -668,6 +777,12 @@ + + + + + + @@ -677,11 +792,11 @@ - + - + 2 @@ -699,11 +814,11 @@ - + - + r_inpTgt @@ -714,11 +829,11 @@ - + - + sfix16_En4 @@ -740,11 +855,11 @@ - + - + 1 @@ -762,11 +877,11 @@ - + - + z_ctrlTypSel @@ -777,11 +892,11 @@ - + - + uint8 @@ -793,44 +908,29 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -841,159 +941,59 @@ - - - + + + - - - - - - - - + + - - - - - - r_inpTgt - - - - - - - - r_inpTgtScaCOM - - - - + + - - if { } + + 3 - - - - - - - - + + - - - - - - - - - - - - - - - - Commutation_Control_Type - - - - - - - - - - - - - + + - - + + - - action + + z_ctrlModPrev - - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - [r_inpTgtSca] - - - - - - - + + uint8 @@ -1004,11 +1004,11 @@ - - + + - + @@ -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 @@ -13,44 +13,44 @@ - - - + + + - - + + - + - - 1 + + if { } - - + + - - + + - + - - r_inpTgtScaCOM + + Action Port @@ -61,44 +61,44 @@ - - - + + + - - + + - + - - if { } + + 1 - - + + - - + + - + - - Action Port + + 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 @@ -80,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9359", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9358", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -98,7 +98,7 @@ "FramePeriod" ], "values":[ - "n_max", + "i_max", "on", "inf", "[]", @@ -129,11 +129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9357", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -147,12 +147,12 @@ "FramePeriod" ], "values":[ - "i_max", + "0", "on", "inf", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -178,11 +178,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9357", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ @@ -196,7 +196,7 @@ "FramePeriod" ], "values":[ - "0", + "1000", "on", "inf", "[]", @@ -227,20 +227,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9353", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9354", + "className":"Simulink.Selector", "icon":"WebViewIcon3", - "name":"Mux", - "label":"Mux", + "name":"Selector", + "label":"Selector", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "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,21 +475,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9352", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9349", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -432,37 +501,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9346", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "1000", - "on", - "inf", + "*/", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(0,16,12)", "off", - "inf" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -471,8 +548,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 9 ] }, "viewer":{ @@ -481,25 +558,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9347", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9353", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Mux", + "label":"Mux", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "r_inpTgtScaFOC", - "Tag" + "4", + "bar" ], "tabs":[ "Parameter Attributes" @@ -512,56 +589,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9346", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9350", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(0,16,12)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "r_inpTgtScaFOC", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -569,7 +622,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Goto", "masktype":"" } }, @@ -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,43 @@ - - - + + + - - + + - - + + - - + + 1000 - - + + - + - - + + - + sfix16_En4 @@ -283,29 +220,68 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + U + + + + + + + + Idx1 + + + + + + + + 0 + + + + + + + + Y - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -316,11 +292,11 @@ - - + + - + @@ -330,14 +306,14 @@ - - [r_inpTgtScaFOC] + + [r_inpTgt] - + @@ -349,11 +325,11 @@ - - + + - + @@ -363,44 +339,44 @@ - - Vd_max + + n_max - + - - + + - + - - Vd_max + + n_max - + - + - + sfix16_En4 @@ -412,44 +388,29 @@ - - - + + + - - + + - + - + [z_ctrlModPrev] - - - - - - - - - - - - - - - - - uint8 + + @@ -460,29 +421,59 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + Vd_max - - + + + + + + + + + + + + + + + + + Vd_max + + + + + + + + + + + + + + + sfix16_En4 @@ -493,43 +484,43 @@ - - - + + + - - + + - - + + - - 1000 + + [r_inpTgt] - - + + - + - - + + - + sfix16_En4 @@ -541,44 +532,44 @@ - - + + - + - + - - [r_inpTgtScaFOC] + + [z_ctrlModPrev] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -591,7 +582,7 @@ - + @@ -599,35 +590,35 @@ - + - + - + - + - + - + - + - + @@ -646,11 +637,11 @@ - + - + ufix16_En12 @@ -662,51 +653,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + - + - + - + sfix16_En4 @@ -718,44 +701,85 @@ - - - + + + - - + + - + - - else { } + + [r_inpTgtScaFOC] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - Action Port + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -776,11 +800,11 @@ - + - + 2 @@ -798,11 +822,11 @@ - + - + z_ctrlModPrev @@ -813,11 +837,11 @@ - + - + uint8 @@ -829,44 +853,44 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + else { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -877,67 +901,58 @@ - - - + + + - - + + - - - - - - - U - - - - - - - - Idx1 - - - - - - - - 0 - - + - - Y + + 1 - - + + + + + + + + + + + + + + + + + r_inpTgt - + - - + + - + sfix16_En4 @@ -949,58 +964,43 @@ - - - + + + - - + + - - + + - - 1 + + [r_inpTgtScaFOC] - - - - - - - - - - - - - - - - - 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", + ":9301", + ":9291", + ":9290", + ":9284", ":9299", - ":9298", - ":9295", - ":9300", - ":9293", - ":9292", - ":9393", ":9389", - ":9284", ":9281", ":9280", - ":9441", + ":9279", + ":9289", ":9287", ":9285", + ":9283", ":9272", ":9278", - ":9276", - ":9275", - ":9274", - ":9456", + ":9298", ":9392", - ":9252", + ":9275", ":9251", - ":9250", + ":9269", ":9241", + ":9263", ":9262", + ":9294", ":9268", + ":9267", + ":9441", ":9265", - ":9260", - ":9304", - ":9259", - ":9286", - ":9387", - ":9388", ":9264", - ":9436", - ":9249", - ":9242", - ":9240", - ":9263", + ":9261", ":9258", - ":9198", - ":9277", - ":9266", - ":9279", - ":8658", - ":8535", - ":9385", - ":9290", - ":9282", - ":9291", + ":9257", + ":9388", + ":9456", + ":9448", + ":9242", + ":9259", + ":9252", + ":9292", ":9437", - ":9270", - ":8219", - ":9271", - ":9267", - ":9301", - ":8218", - ":8217", + ":9295", + ":9276", ":9244", + ":9300", + ":9253", + ":9270", + ":9387", + ":9198", + ":9274", ":9248", - ":8469", - ":8216", - ":8215", - ":9257", + ":8220", + ":9282", + ":8217", + ":9286", + ":9418", + ":9293", + ":9393", ":8214", - ":9288", - ":9289", - ":9261", + ":9249", + ":9385", + ":8213", + ":8215", ":8211", - ":9448", + ":8535", + ":9271", + ":9288", ":8210", - ":9297", + ":8205", + ":8216", + ":8204", + ":9240", + ":9260", + ":9250", ":8209", - ":8213", ":8208", - ":8212", - ":9253", + ":9436", + ":8203", + ":9669", + ":9266", ":9245", - ":8206", - ":9283", - ":8205", - ":9294", - ":8204", + ":9304", + ":9297", ":8202", - ":8220", - ":9269", + ":8206", + ":9305", + ":9277", + ":8658", + ":8212", + ":8469", + ":8218", ":8201", - ":8203", ":8207", - ":9418", ":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", + ":8432", + ":8431", + ":9380", + ":8450", + ":8429", ":8449", - ":9378", + ":8427", + ":8384", + ":8430", + ":8468", ":9333", + ":9431", ":9375", - ":8432", + ":8424", + ":9374", + ":9378", + ":8451", + ":8436", ":8224", - ":8431", - ":8455", - ":9380", + ":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", + ":9356", + ":9354", + ":9352", + ":9359", ":9351", - ":9350", ":9355", + ":9348", ":9349", - ":9352", - ":9356", - ":9347", ":9346", + ":9353", + ":9350", ":9345", - ":9344", ":9343", - ":9348", - ":9354", + ":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", + ":8311", ":9425", - ":9428", - ":8293", + ":8294", + ":8297", + ":8292", + ":8291", + ":8289", ":8288", + ":8379", ":8286", - ":8304", - ":8285", - ":8291", - ":8284", ":9477", - ":8301", + ":8306", + ":8285", + ":8283", ":8298", - ":8367", - ":8282", + ":8308", ":8281", - ":8369", + ":9427", + ":8280", ":8278", - ":8283", ":8277", - ":8294", - ":9426", - ":8289", + ":8305", + ":8276", + ":8301", + ":8270", ":8275", - ":8311", - ":8370", + ":8371", + ":8293", ":8272", - ":8280", - ":8308", - ":8270", - ":9427", - ":8269", - ":9429", - ":8268", + ":9426", + ":8366", ":8267", - ":8292", - ":8314", - ":8374", - ":8276", - ":8371", - ":8264", + ":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:2416", ":8272:2415", + ":8272:2515", ":8272:2414", - ":8272:2412", ":8272:2413", - ":8272:2416", + ":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", + ":8348", + ":8328", ":8327", - ":8336", + ":8337", + ":8339", ":8325", - ":8346", - ":8326", - ":8338", - ":8356", - ":8349", - ":8321", - ":8355", - ":8319", - ":8328", + ":8354", ":8324", + ":8334", + ":8332", + ":8345", + ":8359", + ":8357", + ":8321", + ":8326", + ":8322", + ":8323", ":8318", + ":8340", + ":8342", + ":8317", ":8344", + ":8341", ":8316", + ":8346", + ":8319", ":8320", - ":8350", - ":8317", - ":8323", - ":8322", + ":8347", ":8315", - ":8359", ":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", + ":8393", + ":8392", + ":8403", + ":9665", ":8394", - ":8400", ":8389", - ":8392", - ":8421", - ":8420", - ":8393", - ":8397", ":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", + ":8521", + ":8519", + ":9398", ":8514", - ":8509", - ":8508", - ":8517", + ":9404", + ":8527", + ":9405", ":9406", - ":8504", - ":9395", - ":8521", - ":8492", - ":9407", + ":8503", + ":8517", + ":9397", + ":8500", + ":8515", + ":8491", ":9408", - ":9400", - ":8519", - ":8483", - ":8486", + ":9407", + ":8493", + ":8504", ":8484", + ":8483", ":9412", + ":8510", + ":8508", + ":8482", + ":9395", + ":8480", + ":8487", + ":8479", + ":8520", ":9410", - ":8503", + ":8509", + ":8494", ":9402", + ":8486", ":9403", - ":8487", - ":9404", - ":8482", - ":9394", - ":8491", ":8474", - ":8493", - ":8480", + ":8492", + ":9394", ":9396", - ":8479", - ":8494", + ":9400", ":8478", - ":8510", - ":8500", - ":9397", - ":9398", ":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:2496", ":8486:2472", - ":8486:2466", ":8486:2463", - ":8486:2496", ":8486:2461", ":8486:2460", ":8486:2459", ":8486:2458", - ":8486:2457", + ":8486:2456", ":8486:2455", + ":8486:2454", ":8486:2453", - ":8486:2452", + ":8486:2465", ":8486:2450", - ":8486:2451", - ":8486:2449", - ":8486:2464", - ":8486:2462", - ":8486:2456", + ":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:2442", + ":8486:2441", + ":8486:2439", ":8486:2437", - ":8486:2436", - ":8486:2434", + ":8486:2440", ":8486:2433", - ":8486:2431", - ":8486:2441", - ":8486:2444", + ":8486:2434", + ":8486:2432", + ":8486:2446", ":8486:2435", - ":8486:2439", - ":8486:2442", + ":8486:2438", ":8486:2430", + ":8486:2436", ":8486:2429", - ":8486:2432", + ":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:2515", ":8486:2435:2416", + ":8486:2435:2415", ":8486:2435:2414", - ":8486:2435:2413", ":8486:2435:2412", - ":8486:2435:2415", - ":8486:2435:2515", + ":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:2487", + ":8486:2486", + ":8486:2485", + ":8486:2492", + ":8486:2484", ":8486:2483", - ":8486:2482", ":8486:2481", - ":8486:2484", - ":8486:2485", - ":8486:2480", + ":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", - ":8632", - ":8630", ":9423", - ":8642", - ":8646", - ":9424", - ":8645", - ":8628", - ":8650", ":8639", - ":8603", - ":8624", - ":8651", + ":8650", + ":8646", ":8633", + ":8640", + ":8632", + ":8630", + ":9424", ":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", + ":8591", ":8590", - ":8587", + ":8586", ":8585", + ":8592", ":8584", - ":8583", ":8582", + ":8581", ":8580", - ":8597", - ":8591", ":8589", - ":8581", + ":8572", + ":8568", + ":8566", ":8571", + ":8587", + ":8561", + ":8560", + ":9419", + ":8556", + ":8555", + ":8562", + ":8600", + ":8583", + ":8553", ":8570", ":8565", - ":8563", - ":8569", - ":9419", + ":9421", + ":8551", ":8564", - ":8573", - ":8560", + ":8549", + ":8597", ":8558", - ":8556", - ":8553", + ":8569", ":8552", - ":8549", - ":8561", - ":8559", - ":8555", - ":8566", - ":8568", - ":8562", + ":8573", + ":9420", ":8548", + ":8554", + ":8563", ":8594", - ":9421", - ":9420", - ":8586", + ":8559", ":8547", - ":8554", - ":8551", - ":8572", - ":8595", ":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", - ":8856", - ":8855", - ":8852", + ":8851", + ":8850", ":8848", - ":9143", - ":8846", - ":8845", - ":8842", - ":8841", ":8854", - ":8839", - ":9074", - ":8843", + ":8844", + ":8841", + ":9109", + ":8836", + ":9171", + ":8837", ":8834", - ":8832", - ":8849", - ":8830", - ":8825", - ":9142", + ":8839", + ":8831", + ":8826", + ":9655", + ":8824", ":8823", - ":8837", - ":8822", - ":8821", - ":8820", - ":8860", - ":8818", + ":8856", + ":8855", + ":8817", ":8816", + ":8815", ":8814", - ":8813", - ":8812", ":8811", - ":8817", - ":8810", - ":8808", - ":8826", - ":9028", - ":8802", - ":8913", - ":8800", - ":8801", - ":8797", + ":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", + ":8781", + ":8812", + ":8809", + ":8779", + ":8776", ":8772", - ":8804", - ":9195", - ":8777", - ":8862", + ":8775", + ":8770", + ":8825", ":8768", - ":8776", - ":8773", - ":9029", - ":8766", - ":8790", - ":8793", + ":8777", + ":8808", ":8743", - ":8836", - ":8779", - ":8815", + ":8819", + ":8842", ":8726", - ":8831", - ":8850", - ":8809", + ":8846", + ":8766", + ":8821", + ":8810", + ":8849", + ":8668", + ":8832", ":8798", - ":8805", - ":8781", + ":8773", + ":8765", ":8838", + ":8800", + ":8785", + ":8794", + ":8774", + ":8853", ":8664", - ":9109", - ":8775", - ":8771", - ":8663", - ":8770", - ":8795", - ":8662", - ":8792", - ":8844", - ":8861", - ":8806", - ":8788", - ":8787", - ":8865", - ":8661", - ":9171", + ":8862", + ":8818", ":8667", - ":8819", - ":8668", - ":8799", - ":9196", + ":8661", + ":8797", + ":9026", + ":8662", + ":8663", + ":8830", ":8660", - ":8765", + ":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", + ":8718", ":8713", + ":8722", ":8712", - ":8718", + ":8711", ":8707", - ":8722", - ":8686", + ":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", + ":8682", ":8678", + ":8677", + ":8680", + ":8675", ":8681", - ":8676", - ":8682", ":8674", - ":8675", - ":8677", ":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", + ":8737", + ":8730", + ":8735", ":8729", - ":8728", - ":8727", - ":8739", ":8732", - ":8737", + ":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", + ":8760", ":8757", - ":8755", - ":8754", + ":8756", + ":8758", ":8753", - ":8750", - ":8760", - ":8749", - ":8748", ":8751", - ":8746", + ":8749", + ":8759", ":8747", - ":8745", + ":9650", + ":9638", + ":8754", + ":9646", + ":8748", + ":8755", + ":9657", + ":9653", + ":8750", + ":9648", + ":9643", + ":9649", + ":9641", + ":9652", + ":9647", ":8752", + ":9654", + ":8745", + ":9639", ":8744", - ":8756", + ":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", + ":8900", + ":8896", + ":8902", ":8895", - ":8892", - ":8891", + ":8905", ":8893", - ":8906", - ":8900", + ":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", + ":9013", ":9010", - ":9008", - ":9011", + ":9007", + ":9006", ":9005", - ":9013", - ":9003", + ":9004", + ":9012", + ":9002", ":9000", - ":8998", ":8997", - ":9001", + ":9014", ":8987", ":8986", - ":8985", - ":8984", ":8983", - ":8982", - ":9009", - ":9014", + ":9011", ":8978", + ":8977", ":8975", + ":8974", ":8973", + ":8972", ":8971", - ":8970", ":8969", - ":8972", ":8968", - ":8967", + ":8982", ":8966", - ":8977", - ":9006", - ":8961", - ":8959", - ":8957", - ":8955", - ":9004", - ":8954", - ":8952", - ":9016", - ":8951", - ":8950", - ":8949", + ":8965", ":8964", + ":8963", ":8962", - ":8943", + ":8961", + ":9003", ":8976", - ":8942", - ":8940", - ":9017", - ":8937", - ":8963", - ":8936", - ":9007", - ":8999", ":8958", - ":8935", + ":8970", + ":8954", + ":8953", + ":9008", + ":8952", + ":8960", ":8948", - ":8974", + ":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", - ":8914", - ":8934", - ":8965", - ":8924", + ":8979", + ":8940", + ":8920", + ":8939", + ":8914", + ":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:2346", ":9040:2355", + ":9040:2360", + ":9040:2343", + ":9040:2359", ":9040:2357", - ":9040:2346", ":9040:2358", - ":9040:2359", ":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", + ":9052", ":9064", - ":9051", ":9058", - ":9052", + ":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", + ":9097", + ":9100", ":9096", + ":9103", + ":9092", + ":9091", + ":9090", + ":9101", ":9095", - ":9093", - ":9089", ":9088", + ":9094", ":9087", + ":9083", ":9084", + ":9093", + ":9082", ":9081", - ":9080", ":9079", - ":9091", - ":9097", ":9078", - ":9092", + ":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:2290", + ":9098:2284", ":9098:2291", - ":9098:2275", ":9098:2252", - ":9098:2272", ":9098:2251", - ":9098:2285", - ":9098:2284", + ":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", - ":9123", - ":9122", - ":9131", + ":9124", ":9121", - ":9120", ":9119", - ":9124", - ":9117", - ":9114", - ":9113", + ":9126", + ":9123", + ":9122", ":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:2285", + ":9132:2284", ":9132:2275", + ":9132:2273", ":9132:2292", - ":9132:2284", - ":9132:2285", - ":9132:2254", + ":9132:2253", + ":9132:2282", ":9132:2396", + ":9132:2290", ":9132:2291", - ":9132:2252", - ":9132:2253", + ":9132:2272", + ":9132:2254", + ":9132:2293", ":9132:2251", - ":9132:2282", ":9132:2250", - ":9132:2273", - ":9132:2272", + ":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", + ":9169", ":9168", - ":9166", - ":9164", ":9163", - ":9160", - ":9159", - ":9169", - ":9157", ":9162", ":9161", - ":9158", + ":9160", + ":9156", + ":9155", ":9154", - ":9153", ":9151", - ":9167", - ":9149", - ":9150", - ":9155", - ":9148", + ":9159", + ":9164", ":9147", + ":9150", ":9146", + ":9148", + ":9153", + ":9157", + ":9158", ":9152", + ":9149", ":9145", - ":9156", + ":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:2290", ":9163:2285", - ":9163:2254", - ":9163:2272", - ":9163:2273", ":9163:2527", - ":9163:2396", + ":9163:2293", ":9163:2284", - ":9163:2290", + ":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", + ":9186", + ":9188", + ":9183", ":9184", + ":9191", ":9182", - ":9181", - ":9179", - ":9178", - ":9183", ":9176", + ":9179", ":9187", - ":9191", - ":9177", - ":9186", - ":9174", - ":9180", ":9175", + ":9180", + ":9177", ":9173", - ":9185", + ":9181", + ":9178", ":9172", - ":9188", + ":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", + ":9454", ":9453", + ":9449", ":9210", - ":9454", + ":9452", + ":9207", ":9214", ":9455", - ":9207", + ":9215", ":9206", - ":9227", ":9201", - ":9235", - ":9215", ":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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

5{D|#vuiPzg&Mq)hIYIwJ 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 delta 103256 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℞CCa#1jHNKJK`XX@RO=##!m|pgvjl}_ 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 z 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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' */ + } 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' */ + /* 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; + /* MinMax: '/MinMax' */ + rtb_Switch2_d = rtb_Switch1_a; + if (!(rtb_Switch2_d < rtDW->z_counterRawPrev)) { + rtb_Switch2_d = rtDW->z_counterRawPrev; + } + + /* 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 { - if (tmp_3 > 65535) { - tmp_3 = 65535; - } + rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); } - rtb_Switch2_d = (uint16_T)(((int16_T)((tmp_3 * rtDW->Switch2_e) >> 1) + - (rtb_Sum2_h << 15)) >> 3); + 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' + */ + 3200, + + /* Variable: n_fieldWeakAuthLo + * Referenced by: '/n_commDeacv' */ - { 6400, 6720, 7040, 7360, 7680, 8000, 8320, 8640, 8960, 9280, 9600, 9920 }, + 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 zcma)8eNaEl#i%qKTuHDvIwEd%9+sZ;~6x^MJq;MZ#v*%%VX1`{q$^70u z=j5Dw&-vYZPhR8%rUcg`KVsiAA?9crVwwRh00KA(K>zW118k>%wmV^b3lM_XUy2{& z|I2sVFAn~ti~K)7vf7eL7@VpqQ6N?nK^ zjc==bA0yv+(LxSNu1HcjvPx>w3W>&CL5p-L&sxyX+ge1>Jy4Kw;=JKq(Ob@pgI+0a=|Nn z&yTyGq#N-`h$z89ieSW2J)?DJN-2-zq$eooIDIO@Y(Bo@6j__0I&5fgw8sjB^J>cP~)25s2Rf@jC)-wg&k1Xg@X_>BsZ_ z)Za>3D7?mkGgEy`2s5Q)O{=KREgfoFTo`U4SH->)cm{q=~xtHusdtGsdt9 z_>lSKZ{`%i^Hzdeary%x28rGXH<@4hW>yhAZy`7A9Enru@Gg>}TA|;)x3Zt*5W{~G zjV^yD8b$NDV9`E>(_U9GOOnZdr6T)PkLLVKDztQvS*#grqPqgt5r6riz^BDcqEyxr z_+w!+keo_>P(4vTx8Ey#JV}#(c*{Oyc)tI%t*IXw?)T>y2K(XAGV+1aU@jvWIAzNR z2{9`Mc-ylBlCfZ>)4tayr*PJ8A7>LyoYhPF z7rb|foQauJ|I);gK5RH8MjN@{Py9No^i~D9R@k&|#wiOWGhRBVzjw%=;-z;NT)!u| zd!5SsUBa?HFTL{#3Tu#hdpK; zTr-qqw$)lYeYH?r%<*+*K81N09&?s-#?H(8(E6pXsNmBX%fWNGtp+@6Y(-i-WFlr! zp0XV*+ief$;Zi1NB3PaHh%~H%oK)i|=uA41#3v2xPkYVr+QZAf@CwSMyHQ8rZmeqb{DnxDduK_D;Qc>29$346J>|288u3 zg!^*!o+9tT9h7$Uo-FOs9kIV{HX_4-Bcs1`Fgw*9;KakoN270%Z`F(P+5#xk+AD5_ z!)T~IS8b?n1<9^7{kYH7CD@E!fniZrj}Q8lyUpwydD*2RYvUeYJ}}-&HyYFG4AsOO z>l0&?PG#Gf8pcOzluqX^aXy7pSBJ7pkpdU^I?(+3h{>gJR@9+PQ)CJGbKLYCqYI}s z()Fwap3k#r-jW}BfCW=Te*x(`Xt`FufBpWGG#rmIOpⅈ*=a*NS060&oC9DA&a_4 zm}Be_j@87HSf_FvPpq*lA-|bYRR2wUe5Z>R_@krdF|W`wd09-Oue(GpwnBp)h6Zbj zybf7yg$8Siw79&&)p#%cgZ_80dbjVh5JK+^VM$!bBJJ`a_c|LQC)}}y=;&QR9{N)9 z7PV-jqYs3=wpL*s8xxA=*?}9ca1+fQJ4hQV={lpbxAwyh%1t&R&5bp-WqsoIKGv)1 z6MKS4zo_Q`@mKFLdDlV+&iyH~>=tK6Fn0TrZQ>Sth2%b2h*f)OpMLA){rZk<&}5Vj z2wegPsXyEnudq|=73$d2usx}+gKm3Dd5Y70!tEI!4rgbXMv`2&-0~rd)FY($y+XPE z^AMU+Y}Je%gFmOI7WhUK-zbF)@!zI zUz4qKNCmh3ev8}K@y_#aKqb>{-8SZ| zm;Sw_b4bbjd)!i90&#ZU6zM%Loevvv9>X(oUix#lsgLx!kfD`sX2nBHs5VV;Q$UF~ zzbA$9=}ZIIt5?9A!;bjlGkJI$sa7L)F^uy8MnEngAF$A)Pq>05UsG}?u^Yca&L-8= zzX=AV}=9b1FHXGy;c+Ejt z%=uM_Z34Xv^n8$OL9PbW0~!Gr!G_Ybqmlox}Sknc_K75!6@gkvpa^R!Hrn39;(&VWoco~Wm zmS3Sk+)~&?_TC;E;$GCIgkyGqs2#8UUm#jj%LSejt!1?9nsM>6Ra&dTIM;I z9Ku`0B*o;#f+u1jX(%#ZhFDICSd0;_1ib`M06x6{kp!`DF&l9cL}Dfh1b>lCkr1(X zk!&^CVgL+4MjoUbh!?G5E&O7PL~83jCv^v8@_bmh(W7T)V?05Y>l1M`S*yQ*FM8x@ z&qxzq1b%A)J4N2%v)bT!X>N>Ez6bPUWKVhkYssdJ3vw+ilSF1@{t90u`!loT$)NWV zZ>B|6084RzLV~jv#b1N8MGIb;Tm^^9ca0Qf8E^sFmNkw!vNikHnDcy{J)i{TQhrpT z<~$!iwi&N}3YHTm`Dd6Y%T~&Z?NwL862ljj(qe7ZR~$^Jm2ew>_WkGYm;cxAo|hNh zR?fIWAB@hNs9qtyJVSA82}~>EbI&%@b5i*v|DGG>!?M&=sHakcP&!IN*HEwW{S35+ zpPMH|%wH2o?TVgcgvwA586{fTafL(G7weBhns)e-`GviUc(tEFxkl7(;O9CX;WF4P ol+!ogZ*0%y^BoJh#oetVbL&;)CL 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

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

L+lJN)}pj*PTc4dfU+~Cv3lrxlaV*XOg$#c&w0( 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 F{{aumAmji5 diff --git a/docs/firmware_architecture.pptx b/docs/firmware_architecture.pptx index 7b2504597716d78c20127d5ad4dca6ded6efce40..09c645fc40a088d6f18bb5868babc2f674025d77 100644 GIT binary patch delta 25003 zcmV)_K!3mQqyw1h0vJ$B0|XQR1^@^E001EXnF?2W$pHWW&JD2`Bm#di5=N1+p;jE0C!!Ly6r?oRh8;zi`g_#HIb+2F`#tMV$4{9z*UM&n+a9Jc~ zwIU|d%pmXJ3pEau|Dh4qDj5r;em>F353<&bDkNo|<44l^JxW+oA?sOQV5WPZ>2xxI zpf4QWi~)eHtQhQ!3l z%Ry(`WF_xkG0kY|;aG=Y|6d5SLGbf+DFs`fkCJy4Q>N@YV|^WeZEjpeFp=%82E}*trO0h6D~cBdk2qDZ^--6sf3+iS#ng;(wl9jHp8Z*P|COnp9lIIRK?9i% z8_0CjK&ImcGMz&-kma?2(^`9qs=~mtR@UFa7DKo$8>HXng{c`iiLZ)t6 zG6IKk^$q$}k*qf!A7t;41d;`{dHx#feFBp)FBG#Q1X=@=`U};QR|oqFw4Jx}AOQdX z>;$uL2`>SE!Ait15Qgu9?+|jgX{)Xxo9;z~JqV)p0b)CCgJ}{nakX!6*p=EYOYsmq z&YziozRZNIH($LXJ8&qC<}^!EN%hPnl+|+{>Gf%RuId$7Q z^e+bsfAKa=BP+N!)khE7pJ>6ncvJA=2NiBXO5s}YoKD0fI8t^R_ z^CgIzsM83w6Nr6y5VIwQ{GSG~2$4mHcogWt9ibe=S;ivPDkj!W!snAScJfw7X$j&w zCWLhwfJYFcv;=V#6G9sgc)XyAILjCp#Abg~@ePwPFBAzsQ$C%f0ssJ-lh_O^f8>*Z z2vu2^X%d@IVGrOYrbKn@$Tk!@?cI0m7!qhT^#O7f+vlABIsV0Q?CI^HqRyTOS#p*l z?`DV`!g5}e>?uXR*V!OJj#QWxm~uu^bR-hp&OU#d){|NgNtnV4LLHD{a)MK|RjQu2 zuFSWj!t#dKgn@0tMTHe~#gkhIfBXXS6?OgLFm@|kGGyb$N8?pjPTg$!v=C*m5as>tQJz ziuKB4bnt6os_DAWJ@snvsjyh22vT7B1gn-J2YlA}arJu22$NFOxDdQxbMdU-o}_nNOKi{&uZ0-la zU>FD4AoS(;{yy4wnecbmVeFFZzD+>Z5r;CLby}4RcWiGhn8+DWO z%HC1jn!gZH^U_>X5j?-SSTtvBsO9uD)w!1!s@apk85Rm9?P~Nxp!=gak+$h^kV- z7+Kck`;Lyzk#v6h{eB#IcY#X7BtB`uBhd1Kc#sUkcy!YG>$2Y#EicXdc<4t-9GtWs zg0%JfyMO-Ux5;rD4L$vIoF4lpt$&*=n;dsK>EI?9`{_|K31a=*b)v?8roXCDXQ=$| zI@fX3K>)DM*bn1Y@w|G<^U3vfI0(*?!R6#5LqM`XrCzmP+%vF5%hnieWJ}dk4pLd^?7Y=oMwY=CL>t<Q)kB`br|M>n|jm@X7n|FWG(vAOM{&&p1;6C#P`OU%f?%?KAL)yX3c|+<>`GU^O zOHHlv!Yx)u;<7$pf`RVzQ4}0|Uy|E+7!18$qGF8`kIGh2ybozs7W7tyC#@g-KI+o* zK56&$Rhxh=X?M?wZ1)is=YNRzdkC|i=4r@|2P&|Q|GokdWD6ZP4hJeplk4ngkc

  • OeNKc1*G`+p-y#-6!2X(`hO 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 caCzF delta 32510 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⪻RxdNGx{C5=HNg7l&!h%unH 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

    5CWGE(5%!kGpW``RqiOP{OXB*p1}?NtbRM@RvE$ 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

    G*LUntYg%^*2_I=Hn@Ota=dd= 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 literal 30501 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 U@Yn+QyU-gl5{lx5qJ}>I0|5@sS^xk5 diff --git a/docs/pictures/paramTable.png b/docs/pictures/paramTable.png index 7af7da6bad8268fee626acadcebff7bd3498015e..b7cf6d4d080e22ad155cdae7ec0a7ff3d29f697c 100644 GIT binary patch literal 66054 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≦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 Ty!Y2pC&uCOX76O0n1PEq*?g-!fnt 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 bQtST@+j*WiHe$e800000NkvXXu0mjf(V7fU

    D6=U{F9>-zxaCP>-WDll} zIg|1ICNNwvJP2VN{&;55xP}T}0|JXYj1qs)3*dDqf`41XQIP+~iZhu(F^NY3LCM1v zWCuou0U(1@1I2}#%*fH``lV}A9anFLnuM2}!qqPSmMOxXy@z z)#0HYu%Di+iV&(1@xd{~P4LsX;4d0V99DLJtntHJTn%^e zR@Gadrcr#EJvw*5&|IfD3W6drngMTZ~tY9s#aQ|J!H{h4GjI0s%Uc} zT(znKLfBCQu4Khn3H_iWd9DK{QN{e0?P7Te@>nX@1ZO(BKVuwKM*)vZ2VTv}hWA6= zPwezD7@rjM4m^btEU#(rtqYN&&9R?(vzbGdwxHGa-}MRL7(6RSx&&zNf2H8a|M2nm z@4)lFspdmu41{wRqQ8Sg6xEmCsssQr-ZY}1xDj$CE^dzDkNiM} zJ5(+1=Kr@<{hzW4?s)uGM@Ebr;XDjPxUGJZgFgdj)cCD_2PWb%Y7LOuLVr_2acIwf zovcTIkBC=sc?);aF+330@Yl|NJ%eYI0MF=YK*VoG|9J)t$QjM9%qCz?=cOD{^(=o$V;;XF!Z&WEY-Z0YyOTvb~;r!>{BpbYzhhyYZ*G*!# zHJFwxt%X@qL*zQ=Va?clwKU}X>X!x_2Y;whc9DF-wv#aKkSPKG^cK1L6a1?FcJbk& zKl+g2P>q>gKYbR$BkJNcK(h+rIZy05S?}T#N0j7HgcIs-0oj6gxgr!Y<0!S}0U35l z)y-j=#e#NypVcjevxE=V{-ppzI{(IA&wrEj8N8^JdEt*({uc}Z`V{#YBSri#gVMWi zmt(QR%Z6^e;C8Hoa4uu{5HA&4+J-S00l22dHlk^Y9j|;F?0S8 z|FYc8s$yH;|2b0gTmq~qS`!>g0aXX@Ch5VP*`9jgMsm%k4W3iDx0;d;TKxp_AiL8w z*-oG?UEIyykUTiY?NwE?DOpvs-hUOCE~k`l;l>Phzc3NIJDqmGTqQlQ6I>O!;ae}g uzY^)U8#<3ko7?LiG26dc_@ipXkLHB)Q%sq@AcO$?r>vkMUm#~5@c#gbY7W`} 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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%0DbS~N)ug`gg@Lv-TUPW6_gnVL3xI- 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 z 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Т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

  • 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 literal 382052 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