From 5d195696a23fac4866281b5214cb13c10fc1bed1 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Fri, 29 Nov 2019 17:31:53 +0100 Subject: [PATCH 01/11] Implemented reliable Serial Rx/Tx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ► Reliable Serial Communication implemented featuring: - start frame - checksum - out-of-sync handling - timeout and disconnected line detection ► Arduino example code added ► Fixed ConsoleLog Item #5 --- 02_Arduino/hoverserial/hoverserial.ino | 174 +++++++++++++++ Inc/config.h | 79 +++++-- Inc/setup.h | 3 +- Src/bldc.c | 4 +- Src/comms.c | 36 +-- Src/main.c | 145 +++++++++--- Src/setup.c | 298 +++++++++++++------------ platformio.ini | 2 +- 8 files changed, 521 insertions(+), 220 deletions(-) create mode 100644 02_Arduino/hoverserial/hoverserial.ino diff --git a/02_Arduino/hoverserial/hoverserial.ino b/02_Arduino/hoverserial/hoverserial.ino new file mode 100644 index 0000000..ba63ad9 --- /dev/null +++ b/02_Arduino/hoverserial/hoverserial.ino @@ -0,0 +1,174 @@ +// ******************************************************************* +// Arduino Nano 3.3V example code +// for https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC +// +// Copyright (C) 2019-2020 Emanuel FERU +// +// ******************************************************************* +// INFO: +// • This sketch uses the the Serial Software interface to communicate and send commands to the hoverboard +// • The built-in (HW) Serial interface is used for debugging and visualization. In case the debugging is not needed, +// it is recommended to use the built-in Serial interface for full speed perfomace. +// • The data packaging includes a Start Frame, checksum, and re-syncronization capability for reliable communication +// +// CONFIGURATION on the hoverboard side in config.h: +// • Option 1: Serial on Left Sensor cable (long wired cable) +// #define CONTROL_SERIAL_USART2 +// #define FEEDBACK_SERIAL_USART2 +// // #define DEBUG_SERIAL_USART2 +// • Option 2: Serial on Right Sensor cable (short wired cable) - recommended, so the ADCs on the other cable are still available +// #define CONTROL_SERIAL_USART3 +// #define FEEDBACK_SERIAL_USART3 +// // #define DEBUG_SERIAL_USART3 +// ******************************************************************* + +// ########################## DEFINES ########################## +#define HOVER_SERIAL_BAUD 38400 // [-] Baud rate for HoverSerial (used to communicate with the hoverboard) +#define SERIAL_BAUD 115200 // [-] Baud rate for built-in Serial (used for the Serial Monitor) +#define START_FRAME 0xAAAA // [-] Start frme definition for reliable serial communication +#define TIME_SEND 100 // [ms] Sending time interval +#define SPEED_MAX_TEST 300 // [-] Maximum speed for testing +//#define DEBUG_RX // [-] Debug received data. Prints all bytes to serial (comment-out to disable) + +#include +SoftwareSerial HoverSerial(2,3); // RX, TX + +// Global variables +uint8_t idx = 0; // Index for new data pointer +uint16_t bufStartFrame; // Buffer Start Frame +byte *p; // Pointer declaration for the new received data +byte incomingByte; +byte incomingBytePrev; + +typedef struct{ + uint16_t start; + int16_t steer; + int16_t speed; + uint16_t checksum; +} SerialCommand; +SerialCommand Command; + +typedef struct{ + uint16_t start; + int16_t cmd1; + int16_t cmd2; + int16_t speedR; + int16_t speedL; + int16_t speedR_meas; + int16_t speedL_meas; + int16_t batVoltage; + int16_t boardTemp; + int16_t checksum; +} SerialFeedback; +SerialFeedback Feedback; +SerialFeedback NewFeedback; + +// ########################## SETUP ########################## +void setup() +{ + Serial.begin(SERIAL_BAUD); + Serial.println("Hoverboard Serial v1.0"); + + HoverSerial.begin(HOVER_SERIAL_BAUD); + pinMode(LED_BUILTIN, OUTPUT); +} + +// ########################## SEND ########################## +void Send(int16_t uSteer, int16_t uSpeed) +{ + // Create command + Command.start = (uint16_t)START_FRAME; + Command.steer = (int16_t)uSteer; + Command.speed = (int16_t)uSpeed; + Command.checksum = (uint16_t)(Command.start ^ Command.steer ^ Command.speed); + + // Write to Serial + HoverSerial.write((uint8_t *) &Command, sizeof(Command)); +} + +// ########################## RECEIVE ########################## +void Receive() +{ + // Check for new data availability in the Serial buffer + if (HoverSerial.available()) { + incomingByte = HoverSerial.read(); // Read the incoming byte + bufStartFrame = ((uint16_t)(incomingBytePrev) << 8) + incomingByte; // Construct the start marker + } + else { + return; + } + + // If DEBUG_RX is defined print all incoming bytes + #ifdef DEBUG_RX + Serial.print(incomingByte); + return; + #endif + + // Copy received data + if (bufStartFrame == START_FRAME) { // Initialize if new data is detected + p = (byte *)&NewFeedback; + *p++ = incomingBytePrev; + *p++ = incomingByte; + idx = 2; + } else if (idx >= 2 && idx < sizeof(SerialFeedback)) { // Save the new received data + *p++ = incomingByte; + idx++; + } + + // Check if we reached the end of the package + if (idx == sizeof(SerialFeedback)) { + uint16_t checksum; + checksum = NewFeedback.start ^ NewFeedback.cmd1 ^ NewFeedback.cmd2 ^ NewFeedback.speedR ^ NewFeedback.speedL + ^ NewFeedback.speedR_meas ^ NewFeedback.speedL_meas ^ NewFeedback.batVoltage ^ NewFeedback.boardTemp; + + // Check validity of the new data + if (NewFeedback.start == START_FRAME && checksum == NewFeedback.checksum) { + // Copy the new data + memcpy(&Feedback, &NewFeedback, sizeof(SerialFeedback)); + + // Print data to built-in Serial + Serial.print("1: "); Serial.print(Feedback.cmd1); + Serial.print(" 2: "); Serial.print(Feedback.cmd2); + Serial.print(" 3: "); Serial.print(Feedback.speedR); + Serial.print(" 4: "); Serial.print(Feedback.speedL); + Serial.print(" 5: "); Serial.print(Feedback.speedR_meas); + Serial.print(" 6: "); Serial.print(Feedback.speedL_meas); + Serial.print(" 7: "); Serial.print(Feedback.batVoltage); + Serial.print(" 8: "); Serial.println(Feedback.boardTemp); + } else { + Serial.println("Non-valid data skipped"); + } + idx = 0; // Reset the index (it prevents to enter in this if condition in the next cycle) + } + + // Update previous states + incomingBytePrev = incomingByte; +} + +// ########################## LOOP ########################## + +unsigned long iTimeSend = 0; +int iTestMax = SPEED_MAX_TEST; +int iTest = 0; + +void loop(void) +{ + unsigned long timeNow = millis(); + + // Check for new received data + Receive(); + + // Send commands + if (iTimeSend > timeNow) return; + iTimeSend = timeNow + TIME_SEND; + Send(0, abs(iTest)); + + // Calculate test command signal + iTest += 10; + if (iTest > iTestMax) iTest = -iTestMax; + + // Blink the LED + digitalWrite(LED_BUILTIN, (timeNow%2000)<1000); +} + +// ########################## END ########################## diff --git a/Inc/config.h b/Inc/config.h index afb6c79..a4669e3 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -76,19 +76,38 @@ //#define DEBUG_I2C_LCD // standard 16x2 or larger text-lcd via i2c-converter on right sensor board cable + // ############################### SERIAL DEBUG ############################### -#define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! -#define DEBUG_BAUD 115200 // UART baud rate //#define DEBUG_SERIAL_SERVOTERM #define DEBUG_SERIAL_ASCII // "1:345 2:1337 3:0 4:0 5:0 6:0 7:0 8:0\r\n" + // ############################### INPUT ############################### // ###### CONTROL VIA UART (serial) ###### -//#define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! -#define CONTROL_BAUD 19200 // control via usart from eg an Arduino or raspberry -// for Arduino, use void loop(void){ Serial.write((uint8_t *) &steer, sizeof(steer)); Serial.write((uint8_t *) &speed, sizeof(speed));delay(20); } +#define START_FRAME 0xAAAA // [-] Start frame definition for serial commands +#define SERIAL_TIMEOUT 160 // [-] Serial timeout duration for the received data. 160 ~= 0.8 sec. Calculation: 0.8 sec / 0.005 sec + +#define USART2_BAUD 38400 // UART2 baud rate (long wired cable) +#define USART2_WORDLENGTH UART_WORDLENGTH_8B // UART_WORDLENGTH_8B or UART_WORDLENGTH_9B +// #define CONTROL_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! For Arduino control check the hoverSerial.ino +// #define FEEDBACK_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! +// #define DEBUG_SERIAL_USART2 // left sensor board cable, disable if ADC or PPM is used! + +#define USART3_BAUD 38400 // UART3 baud rate (short wired cable) +#define USART3_WORDLENGTH UART_WORDLENGTH_8B // UART_WORDLENGTH_8B or UART_WORDLENGTH_9B +// #define CONTROL_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! For Arduino control check the hoverSerial.ino +// #define FEEDBACK_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! +#define DEBUG_SERIAL_USART3 // right sensor board cable, disable if I2C (nunchuck or lcd) is used! + +#if defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) +#define UART_DMA_CHANNEL DMA1_Channel7 +#endif + +#if defined(FEEDBACK_SERIAL_USART3) || defined(DEBUG_SERIAL_USART3) +#define UART_DMA_CHANNEL DMA1_Channel2 +#endif // ###### CONTROL VIA RC REMOTE ###### // left sensor board cable. Channel 1: steering, Channel 2: speed. @@ -103,7 +122,7 @@ * For middle resting potis: Let the potis in the middle resting position, write value 1 to ADC1_MID and value 2 to ADC2_MID * Make, flash and test it. */ -#define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2! +#define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2, FEEDBACK_SERIAL_USART2, DEBUG_SERIAL_USART2! #define ADC1_MID_POT // ADC1 middle resting poti: comment-out if NOT a middle resting poti #define ADC2_MID_POT // ADC2 middle resting poti: comment-out if NOT a middle resting poti #define ADC1_MIN 0 // min ADC1-value while poti at minimum-position (0 - 4095) @@ -119,7 +138,7 @@ * use the right one of the 2 types of nunchucks, add i2c pullups. * use original nunchuck. most clones does not work very well. */ -// #define CONTROL_NUNCHUCK // use nunchuck as input. disable DEBUG_SERIAL_USART3! +// #define CONTROL_NUNCHUCK // use nunchuck as input. disable FEEDBACK_SERIAL_USART3, DEBUG_SERIAL_USART3! // ############################### MOTOR CONTROL (overwrite) ######################### @@ -158,16 +177,16 @@ */ // Value of RATE is in fixdt(1,16,4): VAL_fixedPoint = VAL_floatingPoint * 2^4. In this case 480 = 30 * 2^4 -#define RATE 480 // 30.0f [-] lower value == slower rate [0, 32767] = [0.0 - 2047.9375]. Do NOT make rate negative (>32767) +#define RATE 480 // 30.0f [-] lower value == slower rate [0, 32767] = [0.0, 2047.9375]. Do NOT make rate negative (>32767) // Value of FILTER is in fixdt(0,16,16): VAL_fixedPoint = VAL_floatingPoint * 2^16. In this case 6553 = 0.1 * 2^16 -#define FILTER 6553 // 0.1f [-] lower value == softer filter [0, 65535] = [0.0 - 1.0]. +#define FILTER 6553 // 0.1f [-] lower value == softer filter [0, 65535] = [0.0, 1.0]. // Value of COEFFICIENT is in fixdt(1,16,14) // If VAL_floatingPoint >= 0, VAL_fixedPoint = VAL_floatingPoint * 2^14 // If VAL_floatingPoint < 0, VAL_fixedPoint = 2^16 + floor(VAL_floatingPoint * 2^14). -#define SPEED_COEFFICIENT 16384 // 1.0f [-] higher value == stronger. [0, 65535] = [-2.0 - 2.0]. In this case 16384 = 1.0 * 2^14 -#define STEER_COEFFICIENT 8192 // 0.5f [-] higher value == stronger. [0, 65535] = [-2.0 - 2.0]. In this case 8192 = 0.5 * 2^14. If you do not want any steering, set it to 0. +#define SPEED_COEFFICIENT 16384 // 1.0f [-] higher value == stronger. [0, 65535] = [-2.0, 2.0]. In this case 16384 = 1.0 * 2^14 +#define STEER_COEFFICIENT 8192 // 0.5f [-] higher value == stronger. [0, 65535] = [-2.0, 2.0]. In this case 8192 = 0.5 * 2^14. If you do not want any steering, set it to 0. #define INVERT_R_DIRECTION #define INVERT_L_DIRECTION @@ -186,22 +205,42 @@ // ############################### VALIDATE SETTINGS ############################### -#if defined CONTROL_SERIAL_USART2 && defined CONTROL_ADC - #error CONTROL_ADC and CONTROL_SERIAL_USART2 not allowed. it is on the same cable. +#if defined(CONTROL_SERIAL_USART2) && defined(CONTROL_SERIAL_USART3) + #error CONTROL_SERIAL_USART2 and CONTROL_SERIAL_USART3 not allowed, choose one. +#endif + +#if defined(FEEDBACK_SERIAL_USART2) && defined(FEEDBACK_SERIAL_USART3) + #error FEEDBACK_SERIAL_USART2 and FEEDBACK_SERIAL_USART3 not allowed, choose one. +#endif + +#if defined(DEBUG_SERIAL_USART2) && defined(FEEDBACK_SERIAL_USART2) + #error DEBUG_SERIAL_USART2 and FEEDBACK_SERIAL_USART2 not allowed, choose one. +#endif + +#if defined(DEBUG_SERIAL_USART3) && defined(FEEDBACK_SERIAL_USART3) + #error DEBUG_SERIAL_USART3 and FEEDBACK_SERIAL_USART3 not allowed, choose one. +#endif + +#if defined(DEBUG_SERIAL_USART2) && defined(DEBUG_SERIAL_USART3) + #error DEBUG_SERIAL_USART2 and DEBUG_SERIAL_USART3 not allowed, choose one. +#endif + +#if defined(CONTROL_ADC) && (defined(CONTROL_SERIAL_USART2) || defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2)) + #error CONTROL_ADC and SERIAL_USART2 not allowed. It is on the same cable. #endif -#if defined CONTROL_SERIAL_USART2 && defined CONTROL_PPM - #error CONTROL_PPM and CONTROL_SERIAL_USART2 not allowed. it is on the same cable. +#if (defined(DEBUG_SERIAL_USART2) || defined(CONTROL_SERIAL_USART2)) && defined(CONTROL_PPM) + #error CONTROL_PPM and SERIAL_USART2 not allowed. It is on the same cable. #endif -#if defined DEBUG_SERIAL_USART3 && defined CONTROL_NUNCHUCK - #error CONTROL_NUNCHUCK and DEBUG_SERIAL_USART3 not allowed. it is on the same cable. +#if (defined(DEBUG_SERIAL_USART3) || defined(CONTROL_SERIAL_USART3)) && defined(CONTROL_NUNCHUCK) + #error CONTROL_NUNCHUCK and SERIAL_USART3 not allowed. It is on the same cable. #endif -#if defined DEBUG_SERIAL_USART3 && defined DEBUG_I2C_LCD - #error DEBUG_I2C_LCD and DEBUG_SERIAL_USART3 not allowed. it is on the same cable. +#if (defined(DEBUG_SERIAL_USART3) || defined(CONTROL_SERIAL_USART3)) && defined(DEBUG_I2C_LCD) + #error DEBUG_I2C_LCD and SERIAL_USART3 not allowed. It is on the same cable. #endif -#if defined CONTROL_PPM && defined CONTROL_ADC && defined CONTROL_NUNCHUCK || defined CONTROL_PPM && defined CONTROL_ADC || defined CONTROL_ADC && defined CONTROL_NUNCHUCK || defined CONTROL_PPM && defined CONTROL_NUNCHUCK +#if defined(CONTROL_PPM) && defined(CONTROL_ADC) && defined(CONTROL_NUNCHUCK) || defined(CONTROL_PPM) && defined(CONTROL_ADC) || defined(CONTROL_ADC) && defined(CONTROL_NUNCHUCK) || defined(CONTROL_PPM) && defined(CONTROL_NUNCHUCK) #error only 1 input method allowed. use CONTROL_PPM or CONTROL_ADC or CONTROL_NUNCHUCK. #endif diff --git a/Inc/setup.h b/Inc/setup.h index a024fe6..e6c31b4 100644 --- a/Inc/setup.h +++ b/Inc/setup.h @@ -27,4 +27,5 @@ void MX_GPIO_Init(void); void MX_TIM_Init(void); void MX_ADC1_Init(void); void MX_ADC2_Init(void); -void UART_Init(void); +void UART2_Init(void); +void UART3_Init(void); diff --git a/Src/bldc.c b/Src/bldc.c index de41c0f..a375260 100644 --- a/Src/bldc.c +++ b/Src/bldc.c @@ -6,7 +6,7 @@ * ► smooth torque output * ► improved motor efficiency -> lower energy consumption * -* Copyright (C) 2019 Emanuel FERU +* Copyright (C) 2019-2020 Emanuel FERU * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,7 +46,7 @@ extern ExtY rtY_Right; /* External outputs */ static int16_t pwm_margin = 100; /* This margin allows to always have a window in the PWM signal for proper Phase currents measurement */ -uint8_t ctrlModReq = CTRL_MOD_REQ; +extern uint8_t ctrlModReq; int16_t curL_phaA = 0, curL_phaB = 0, curL_DC = 0; int16_t curR_phaB = 0, curR_phaC = 0, curR_DC = 0; uint8_t errCode_Left = 0; diff --git a/Src/comms.c b/Src/comms.c index 58b71fc..d5c146d 100644 --- a/Src/comms.c +++ b/Src/comms.c @@ -6,16 +6,8 @@ #include "config.h" #include "comms.h" -UART_HandleTypeDef huart2; - -#ifdef DEBUG_SERIAL_USART3 -#define UART_DMA_CHANNEL DMA1_Channel2 -#endif - -#ifdef DEBUG_SERIAL_USART2 -#define UART_DMA_CHANNEL DMA1_Channel7 -#endif - +extern UART_HandleTypeDef huart2; +extern UART_HandleTypeDef huart3; static volatile uint8_t uart_buf[100]; static volatile int16_t ch_buf[8]; @@ -47,19 +39,29 @@ void consoleScope(void) { #endif #if defined DEBUG_SERIAL_ASCII && (defined DEBUG_SERIAL_USART2 || defined DEBUG_SERIAL_USART3) - memset((void *)(uintptr_t)uart_buf, 0, sizeof(uart_buf)); - sprintf((char *)(uintptr_t)uart_buf, "1:%i 2:%i 3:%i 4:%i 5:%i 6:%i 7:%i 8:%i\r\n", ch_buf[0], ch_buf[1], ch_buf[2], ch_buf[3], ch_buf[4], ch_buf[5], ch_buf[6], ch_buf[7]); + // memset((void *)(uintptr_t)uart_buf, 0, sizeof(uart_buf)); + int strLength; + strLength = sprintf((char *)(uintptr_t)uart_buf, + "1:%i 2:%i 3:%i 4:%i 5:%i 6:%i 7:%i 8:%i\r\n", + ch_buf[0], ch_buf[1], ch_buf[2], ch_buf[3], ch_buf[4], ch_buf[5], ch_buf[6], ch_buf[7]); if(UART_DMA_CHANNEL->CNDTR == 0) { - UART_DMA_CHANNEL->CCR &= ~DMA_CCR_EN; - UART_DMA_CHANNEL->CNDTR = strlen((char *)(uintptr_t)uart_buf); - UART_DMA_CHANNEL->CMAR = (uint32_t)uart_buf; - UART_DMA_CHANNEL->CCR |= DMA_CCR_EN; + UART_DMA_CHANNEL->CCR &= ~DMA_CCR_EN; + UART_DMA_CHANNEL->CNDTR = strLength; + UART_DMA_CHANNEL->CMAR = (uint32_t)uart_buf; + UART_DMA_CHANNEL->CCR |= DMA_CCR_EN; } #endif } void consoleLog(char *message) { - HAL_UART_Transmit_DMA(&huart2, (uint8_t *)message, (uint16_t)strlen(message)); + #if defined DEBUG_SERIAL_ASCII && (defined DEBUG_SERIAL_USART2 || defined DEBUG_SERIAL_USART3) + if(UART_DMA_CHANNEL->CNDTR == 0) { + UART_DMA_CHANNEL->CCR &= ~DMA_CCR_EN; + UART_DMA_CHANNEL->CNDTR = strlen((char *)(uintptr_t)message); + UART_DMA_CHANNEL->CMAR = (uint32_t)message; + UART_DMA_CHANNEL->CCR |= DMA_CCR_EN; + } + #endif } diff --git a/Src/main.c b/Src/main.c index 690069d..d50a2e8 100644 --- a/Src/main.c +++ b/Src/main.c @@ -4,6 +4,7 @@ * Copyright (C) 2017-2018 Rene Hopf * Copyright (C) 2017-2018 Nico Stute * Copyright (C) 2017-2018 Niklas Fauth +* Copyright (C) 2019-2020 Emanuel FERU * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -62,17 +63,43 @@ extern volatile adc_buf_t adc_buffer; //LCD_PCF8574_HandleTypeDef lcd; extern I2C_HandleTypeDef hi2c2; extern UART_HandleTypeDef huart2; +extern UART_HandleTypeDef huart3; +static UART_HandleTypeDef huart; +#if defined(CONTROL_SERIAL_USART2) || defined(CONTROL_SERIAL_USART3) typedef struct{ - int16_t steer; - int16_t speed; - //uint32_t crc; + uint16_t start; + int16_t steer; + int16_t speed; + uint16_t checksum; } Serialcommand; - static volatile Serialcommand command; +static int16_t timeoutCnt = 0 // Timeout counter for Rx Serial command +#endif +static uint8_t timeoutFlag = 0; // Timeout Flag for Rx Serial command: 0 = OK, 1 = Problem detected (line disconnected or wrong Rx data) +#if defined(FEEDBACK_SERIAL_USART2) || defined(FEEDBACK_SERIAL_USART3) +typedef struct{ + uint16_t start; + int16_t cmd1; + int16_t cmd2; + int16_t speedR; + int16_t speedL; + int16_t speedR_meas; + int16_t speedL_meas; + int16_t batVoltage; + int16_t boardTemp; + uint16_t checksum; +} SerialFeedback; +static SerialFeedback Feedback; +#endif +static uint8_t serialSendCounter; // serial send counter + +#if defined(CONTROL_NUNCHUCK) || defined(CONTROL_PPM) || defined(CONTROL_ADC) static uint8_t button1, button2; +#endif +uint8_t ctrlModReq = CTRL_MOD_REQ; static int cmd1; // normalized input value. -1000 to 1000 static int cmd2; // normalized input value. -1000 to 1000 static int16_t steer; // local variable for steering. -1000 to 1000 @@ -105,6 +132,7 @@ void poweroff(void) { // if (abs(speed) < 20) { // wait for the speed to drop, then shut down -> this is commented out for SAFETY reasons buzzerPattern = 0; enable = 0; + consoleLog("-- Motors disabled --\r\n"); for (int i = 0; i < 8; i++) { buzzerFreq = (uint8_t)i; HAL_Delay(100); @@ -144,10 +172,6 @@ int main(void) { MX_ADC1_Init(); MX_ADC2_Init(); - #if defined(DEBUG_SERIAL_USART2) || defined(DEBUG_SERIAL_USART3) - UART_Init(); - #endif - HAL_GPIO_WritePin(OFF_PORT, OFF_PIN, 1); HAL_ADC_Start(&hadc1); @@ -209,9 +233,16 @@ int main(void) { Nunchuck_Init(); #endif - #ifdef CONTROL_SERIAL_USART2 - UART_Control_Init(); - HAL_UART_Receive_DMA(&huart2, (uint8_t *)&command, 4); + #if defined(CONTROL_SERIAL_USART2) || defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) + UART2_Init(); + huart = huart2; + #endif + #if defined(CONTROL_SERIAL_USART3) || defined(FEEDBACK_SERIAL_USART3) || defined(DEBUG_SERIAL_USART3) + UART3_Init(); + huart = huart3; + #endif + #if defined(CONTROL_SERIAL_USART2) || defined(CONTROL_SERIAL_USART3) + HAL_UART_Receive_DMA(&huart, (uint8_t *)&command, sizeof(command)); #endif #ifdef DEBUG_I2C_LCD @@ -287,11 +318,41 @@ int main(void) { timeout = 0; #endif - #ifdef CONTROL_SERIAL_USART2 - cmd1 = CLAMP((int16_t)command.steer, -1000, 1000); - cmd2 = CLAMP((int16_t)command.speed, -1000, 1000); + #if defined CONTROL_SERIAL_USART2 || defined CONTROL_SERIAL_USART3 + + // Handle received data validity, timeout and fix out-of-sync if necessary + if (command.start == START_FRAME && command.checksum == (command.start ^ command.steer ^ command.speed)) { + if (timeoutFlag) { // Check for previous timeout flag + if (timeoutCnt-- <= 0) // Timeout de-qualification + timeoutFlag = 0; // Timeout flag cleared + } else { + cmd1 = CLAMP((int16_t)command.steer, -1000, 1000); + cmd2 = CLAMP((int16_t)command.speed, -1000, 1000); + command.start = 0xFFFF; // Change the Start Frame for timeout detection in the next cycle + timeoutCnt = 0; // Reset the timeout counter + } + } else { + if (timeoutCnt++ >= SERIAL_TIMEOUT) { // Timeout qualification + timeoutFlag = 1; // Timeout detected + timeoutCnt = SERIAL_TIMEOUT; // Limit timout counter value + } + // Check the received Start Frame. If it is NOT OK, most probably we are out-of-sync. + // Try to re-sync by reseting the DMA + if (command.start != START_FRAME && command.start != 0xFFFF) { + HAL_UART_DMAStop(&huart); + HAL_UART_Receive_DMA(&huart, (uint8_t *)&command, sizeof(command)); + } + } + if (timeoutFlag) { // In case of timeout bring the system to a Safe State + ctrlModReq = 0; // OPEN_MODE request. This will bring the motor power to 0 in a controlled way + cmd1 = 0; + cmd2 = 0; + } else { + ctrlModReq = CTRL_MOD_REQ; // Follow the Mode request + } timeout = 0; + #endif @@ -302,6 +363,7 @@ int main(void) { buzzerFreq = 4; HAL_Delay(200); buzzerFreq = 0; enable = 1; // enable motors + consoleLog("-- Motors enabled --\r\n"); } // ####### LOW-PASS FILTER ####### @@ -317,11 +379,6 @@ int main(void) { // speedL = CLAMP((int)(speed * SPEED_COEFFICIENT + steer * STEER_COEFFICIENT), -1000, 1000); mixerFcn(speedFixdt, steerFixdt, &speedR, &speedL); // This function implements the equations above - #ifdef ADDITIONAL_CODE - ADDITIONAL_CODE; - #endif - - // ####### SET OUTPUTS (if the target change is less than +/- 50) ####### if ((speedL > lastSpeedL-50 && speedL < lastSpeedL+50) && (speedR > lastSpeedR-50 && speedR < lastSpeedR+50) && timeout < TIMEOUT) { #ifdef INVERT_R_DIRECTION @@ -340,16 +397,20 @@ int main(void) { lastSpeedR = speedR; - if (inactivity_timeout_counter % 25 == 0) { - // ####### CALC BOARD TEMPERATURE ####### - filtLowPass16(adc_buffer.temp, TEMP_FILT_COEF, &board_temp_adcFixdt); - board_temp_adcFilt = board_temp_adcFixdt >> 4; // convert fixed-point to integer - board_temp_deg_c = (TEMP_CAL_HIGH_DEG_C - TEMP_CAL_LOW_DEG_C) * (board_temp_adcFilt - TEMP_CAL_LOW_ADC) / (TEMP_CAL_HIGH_ADC - TEMP_CAL_LOW_ADC) + TEMP_CAL_LOW_DEG_C; + // ####### CALC BOARD TEMPERATURE ####### + filtLowPass16(adc_buffer.temp, TEMP_FILT_COEF, &board_temp_adcFixdt); + board_temp_adcFilt = board_temp_adcFixdt >> 4; // convert fixed-point to integer + board_temp_deg_c = (TEMP_CAL_HIGH_DEG_C - TEMP_CAL_LOW_DEG_C) * (board_temp_adcFilt - TEMP_CAL_LOW_ADC) / (TEMP_CAL_HIGH_ADC - TEMP_CAL_LOW_ADC) + TEMP_CAL_LOW_DEG_C; + + serialSendCounter++; // Increment the counter + if (serialSendCounter > 20) { // Send data every 100 ms = 20 * 5 ms, where 5 ms is approximately the main loop duration + serialSendCounter = 0; // Reset the counter - // ####### DEBUG SERIAL OUT ####### + // ####### DEBUG SERIAL OUT ####### + #if defined(DEBUG_SERIAL_USART2) || defined(DEBUG_SERIAL_USART3) #ifdef CONTROL_ADC - setScopeChannel(0, (int)adc_buffer.l_tx2); // 1: ADC1 - setScopeChannel(1, (int)adc_buffer.l_rx2); // 2: ADC2 + setScopeChannel(0, (int16_t)adc_buffer.l_tx2); // 1: ADC1 + setScopeChannel(1, (int16_t)adc_buffer.l_rx2); // 2: ADC2 #endif setScopeChannel(2, (int16_t)speedR); // 1: output command: [-1000, 1000] setScopeChannel(3, (int16_t)speedL); // 2: output command: [-1000, 1000] @@ -358,7 +419,29 @@ int main(void) { setScopeChannel(6, (int16_t)board_temp_adcFilt); // 7: for board temperature calibration setScopeChannel(7, (int16_t)board_temp_deg_c); // 8: for verifying board temperature calibration consoleScope(); - } + + // ####### FEEDBACK SERIAL OUT ####### + #elif defined(FEEDBACK_SERIAL_USART2) || defined(FEEDBACK_SERIAL_USART3) + if(UART_DMA_CHANNEL->CNDTR == 0) { + Feedback.start = (uint16_t)START_FRAME; + Feedback.cmd1 = (int16_t)cmd1; + Feedback.cmd2 = (int16_t)cmd2; + Feedback.speedR = (int16_t)speedR; + Feedback.speedL = (int16_t)speedL; + Feedback.speedR_meas = (int16_t)rtY_Left.n_mot; + Feedback.speedL_meas = (int16_t)rtY_Right.n_mot; + Feedback.batVoltage = (int16_t)(batVoltage * BAT_CALIB_REAL_VOLTAGE / BAT_CALIB_ADC); + Feedback.boardTemp = (int16_t)board_temp_deg_c; + Feedback.checksum = (uint16_t)(Feedback.start ^ Feedback.cmd1 ^ Feedback.cmd2 ^ Feedback.speedR ^ Feedback.speedL + ^ Feedback.speedR_meas ^ Feedback.speedL_meas ^ Feedback.batVoltage ^ Feedback.boardTemp); + + UART_DMA_CHANNEL->CCR &= ~DMA_CCR_EN; + UART_DMA_CHANNEL->CNDTR = sizeof(Feedback); + UART_DMA_CHANNEL->CMAR = (uint32_t)&Feedback; + UART_DMA_CHANNEL->CCR |= DMA_CCR_EN; + } + #endif + } HAL_GPIO_TogglePin(LED_PORT, LED_PIN); // ####### POWEROFF BY POWER-BUTTON ####### @@ -385,9 +468,9 @@ int main(void) { } else if (batVoltage < BAT_LOW_LVL2 && batVoltage >= BAT_LOW_DEAD && BAT_LOW_LVL2_ENABLE) { // low bat 2: fast beep buzzerFreq = 5; buzzerPattern = 6; - } else if (errCode_Left || errCode_Right) { // beep in case of Motor error - fast beep - buzzerFreq = 6; - buzzerPattern = 2; + } else if (errCode_Left || errCode_Right || timeoutFlag) { // beep in case of Motor error or serial timeout - fast beep + buzzerFreq = 12; + buzzerPattern = 1; } else if (BEEPS_BACKWARD && speed < -50) { // backward beep buzzerFreq = 5; buzzerPattern = 1; diff --git a/Src/setup.c b/Src/setup.c index 8c5804b..c2bee68 100644 --- a/Src/setup.c +++ b/Src/setup.c @@ -44,182 +44,185 @@ ADC_HandleTypeDef hadc1; ADC_HandleTypeDef hadc2; I2C_HandleTypeDef hi2c2; UART_HandleTypeDef huart2; +UART_HandleTypeDef huart3; DMA_HandleTypeDef hdma_usart2_rx; DMA_HandleTypeDef hdma_usart2_tx; +DMA_HandleTypeDef hdma_usart3_rx; +DMA_HandleTypeDef hdma_usart3_tx; volatile adc_buf_t adc_buffer; -#ifdef CONTROL_SERIAL_USART2 +#if defined(CONTROL_SERIAL_USART2) || defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) +void UART2_Init(void) { + /* The code below is commented out - otwerwise Serial Receive does not work */ + // #ifdef CONTROL_SERIAL_USART2 + // /* DMA1_Channel6_IRQn interrupt configuration */ + // HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 5, 6); + // HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn); + // /* DMA1_Channel7_IRQn interrupt configuration */ + // HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 5, 7); + // HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn); + // #endif -void UART_Control_Init(void) { - GPIO_InitTypeDef GPIO_InitStruct; - __HAL_RCC_USART2_CLK_ENABLE(); - /* DMA1_Channel6_IRQn interrupt configuration */ - //HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 5, 6); - //HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn); - HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 5, 6); - HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn); - /* DMA1_Channel7_IRQn interrupt configuration */ - HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 5, 7); - HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn); - - huart2.Instance = USART2; - huart2.Init.BaudRate = CONTROL_BAUD; - huart2.Init.WordLength = UART_WORDLENGTH_8B; - huart2.Init.StopBits = UART_STOPBITS_1; - huart2.Init.Parity = UART_PARITY_NONE; - huart2.Init.Mode = UART_MODE_TX_RX; - huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; - // huart2.Init.OverSampling = UART_OVERSAMPLING_16; - HAL_UART_Init(&huart2); - + // Disable serial interrupt - it is not needed + HAL_NVIC_DisableIRQ(DMA1_Channel6_IRQn); // Rx Channel + HAL_NVIC_DisableIRQ(DMA1_Channel7_IRQn); // Tx Channel __HAL_RCC_DMA1_CLK_ENABLE(); - /* USER CODE BEGIN USART2_MspInit 0 */ - __HAL_RCC_GPIOA_CLK_ENABLE(); - /* USER CODE END USART2_MspInit 0 */ - /* Peripheral clock enable */ - __HAL_RCC_USART2_CLK_ENABLE(); - - GPIO_InitStruct.Pull = GPIO_PULLUP; //GPIO_NOPULL; - GPIO_InitStruct.Pin = GPIO_PIN_2; - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - GPIO_InitStruct.Pin = GPIO_PIN_3; - GPIO_InitStruct.Mode = GPIO_MODE_INPUT; //GPIO_MODE_AF_PP; -// GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - /* Peripheral DMA init*/ - - hdma_usart2_rx.Instance = DMA1_Channel6; - hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; - hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE; - hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE; - hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - hdma_usart2_rx.Init.Mode = DMA_CIRCULAR; //DMA_NORMAL; - hdma_usart2_rx.Init.Priority = DMA_PRIORITY_LOW; - HAL_DMA_Init(&hdma_usart2_rx); - - __HAL_LINKDMA(&huart2,hdmarx,hdma_usart2_rx); - - hdma_usart2_tx.Instance = DMA1_Channel7; - hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; - hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE; - hdma_usart2_tx.Init.MemInc = DMA_MINC_ENABLE; - hdma_usart2_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - hdma_usart2_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - hdma_usart2_tx.Init.Mode = DMA_NORMAL; - hdma_usart2_tx.Init.Priority = DMA_PRIORITY_LOW; -HAL_DMA_Init(&hdma_usart2_tx); - __HAL_LINKDMA(&huart2,hdmatx,hdma_usart2_tx); -} + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_USART2_CLK_ENABLE(); -#endif + huart2.Instance = USART2; + huart2.Init.BaudRate = USART2_BAUD; + huart2.Init.WordLength = USART2_WORDLENGTH; + huart2.Init.StopBits = UART_STOPBITS_1; + huart2.Init.Parity = UART_PARITY_NONE; + huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart2.Init.OverSampling = UART_OVERSAMPLING_16; + #if defined(CONTROL_SERIAL_USART2) + huart2.Init.Mode = UART_MODE_TX_RX; + #elif defined(DEBUG_SERIAL_USART2) + huart2.Init.Mode = UART_MODE_TX; + #endif + HAL_UART_Init(&huart2); -#ifdef DEBUG_SERIAL_USART3 -void UART_Init(void) { - __HAL_RCC_USART3_CLK_ENABLE(); - __HAL_RCC_DMA1_CLK_ENABLE(); + #if defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) + USART2->CR3 |= USART_CR3_DMAT; // | USART_CR3_DMAR | USART_CR3_OVRDIS; + #endif - UART_HandleTypeDef huart3; - huart3.Instance = USART3; - huart3.Init.BaudRate = DEBUG_BAUD; - huart3.Init.WordLength = UART_WORDLENGTH_8B; - huart3.Init.StopBits = UART_STOPBITS_1; - huart3.Init.Parity = UART_PARITY_NONE; - huart3.Init.Mode = UART_MODE_TX; - huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; - huart3.Init.OverSampling = UART_OVERSAMPLING_16; - HAL_UART_Init(&huart3); + GPIO_InitTypeDef GPIO_InitStruct; + GPIO_InitStruct.Pin = GPIO_PIN_2; + GPIO_InitStruct.Pull = GPIO_PULLUP; //GPIO_NOPULL; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - USART3->CR3 |= USART_CR3_DMAT; // | USART_CR3_DMAR | USART_CR3_OVRDIS; + #ifdef CONTROL_SERIAL_USART2 + GPIO_InitStruct.Pin = GPIO_PIN_3; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; //GPIO_MODE_AF_PP; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - GPIO_InitTypeDef GPIO_InitStruct; - GPIO_InitStruct.Pin = GPIO_PIN_10; - GPIO_InitStruct.Pull = GPIO_PULLUP; - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + /* Peripheral DMA init*/ + hdma_usart2_rx.Instance = DMA1_Channel6; + hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart2_rx.Init.Mode = DMA_CIRCULAR; //DMA_NORMAL; + hdma_usart2_rx.Init.Priority = DMA_PRIORITY_LOW; + HAL_DMA_Init(&hdma_usart2_rx); + __HAL_LINKDMA(&huart2, hdmarx, hdma_usart2_rx); + #endif + + hdma_usart2_tx.Instance = DMA1_Channel7; + hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart2_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart2_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart2_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart2_tx.Init.Mode = DMA_NORMAL; + hdma_usart2_tx.Init.Priority = DMA_PRIORITY_LOW; + HAL_DMA_Init(&hdma_usart2_tx); + + #ifdef CONTROL_SERIAL_USART2 + __HAL_LINKDMA(&huart2, hdmatx, hdma_usart2_tx); + #endif + #if defined(FEEDBACK_SERIAL_USART2) || defined(DEBUG_SERIAL_USART2) + DMA1_Channel7->CPAR = (uint32_t) & (USART2->DR); + DMA1_Channel7->CNDTR = 0; + DMA1->IFCR = DMA_IFCR_CTCIF7 | DMA_IFCR_CHTIF7 | DMA_IFCR_CGIF7; + #endif - DMA1_Channel2->CCR = 0; - DMA1_Channel2->CPAR = (uint32_t) & (USART3->DR); - DMA1_Channel2->CNDTR = 0; - DMA1_Channel2->CCR = DMA_CCR_MINC | DMA_CCR_DIR; - DMA1->IFCR = DMA_IFCR_CTCIF2 | DMA_IFCR_CHTIF2 | DMA_IFCR_CGIF2; } #endif -#ifdef DEBUG_SERIAL_USART2 -void UART_Init(void) { - __HAL_RCC_USART2_CLK_ENABLE(); - __HAL_RCC_DMA1_CLK_ENABLE(); +#if defined(CONTROL_SERIAL_USART3) || defined(FEEDBACK_SERIAL_USART3) || defined(DEBUG_SERIAL_USART3) +void UART3_Init(void) { - UART_HandleTypeDef huart2; - huart2.Instance = USART2; - huart2.Init.BaudRate = DEBUG_BAUD; - huart2.Init.WordLength = UART_WORDLENGTH_8B; - huart2.Init.StopBits = UART_STOPBITS_1; - huart2.Init.Parity = UART_PARITY_NONE; - huart2.Init.Mode = UART_MODE_TX; - huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; - huart2.Init.OverSampling = UART_OVERSAMPLING_16; - HAL_UART_Init(&huart2); + /* The code below is commented out - otwerwise Serial Receive does not work */ + // #ifdef CONTROL_SERIAL_USART3 + // /* DMA1_Channel3_IRQn interrupt configuration */ + // HAL_NVIC_SetPriority(DMA1_Channel3_IRQn, 5, 3); + // HAL_NVIC_EnableIRQ(DMA1_Channel3_IRQn); + // /* DMA1_Channel2_IRQn interrupt configuration */ + // HAL_NVIC_SetPriority(DMA1_Channel2_IRQn, 5, 2); + // HAL_NVIC_EnableIRQ(DMA1_Channel2_IRQn); + // #endif - USART2->CR3 |= USART_CR3_DMAT; // | USART_CR3_DMAR | USART_CR3_OVRDIS; + // Disable serial interrupt - it is not needed + HAL_NVIC_DisableIRQ(DMA1_Channel3_IRQn); // Rx Channel + HAL_NVIC_DisableIRQ(DMA1_Channel2_IRQn); // Tx Channel - GPIO_InitTypeDef GPIO_InitStruct; - GPIO_InitStruct.Pin = GPIO_PIN_2; - GPIO_InitStruct.Pull = GPIO_PULLUP; - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - - DMA1_Channel7->CCR = 0; - DMA1_Channel7->CPAR = (uint32_t) & (USART2->DR); - DMA1_Channel7->CNDTR = 0; - DMA1_Channel7->CCR = DMA_CCR_MINC | DMA_CCR_DIR; - DMA1->IFCR = DMA_IFCR_CTCIF7 | DMA_IFCR_CHTIF7 | DMA_IFCR_CGIF7; -} -#endif - -/* -void UART_Init(void) { - __HAL_RCC_USART2_CLK_ENABLE(); __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_USART3_CLK_ENABLE(); - UART_HandleTypeDef huart2; - huart2.Instance = USART2; - huart2.Init.BaudRate = 115200; - huart2.Init.WordLength = UART_WORDLENGTH_8B; - huart2.Init.StopBits = UART_STOPBITS_1; - huart2.Init.Parity = UART_PARITY_NONE; - huart2.Init.Mode = UART_MODE_TX; - huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; - huart2.Init.OverSampling = UART_OVERSAMPLING_16; - HAL_UART_Init(&huart2); + huart3.Instance = USART3; + huart3.Init.BaudRate = USART3_BAUD; + huart3.Init.WordLength = USART3_WORDLENGTH; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + #if defined(CONTROL_SERIAL_USART3) + huart3.Init.Mode = UART_MODE_TX_RX; + #elif defined(DEBUG_SERIAL_USART3) + huart3.Init.Mode = UART_MODE_TX; + #endif + HAL_UART_Init(&huart3); - USART2->CR3 |= USART_CR3_DMAT; // | USART_CR3_DMAR | USART_CR3_OVRDIS; + #if defined(FEEDBACK_SERIAL_USART3) || defined(DEBUG_SERIAL_USART3) + USART3->CR3 |= USART_CR3_DMAT; // | USART_CR3_DMAR | USART_CR3_OVRDIS; + #endif GPIO_InitTypeDef GPIO_InitStruct; - GPIO_InitStruct.Pin = GPIO_PIN_2; - GPIO_InitStruct.Pull = GPIO_PULLUP; - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + GPIO_InitStruct.Pin = GPIO_PIN_10; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - DMA1_Channel7->CCR = 0; - DMA1_Channel7->CPAR = (uint32_t) & (USART3->DR); - DMA1_Channel7->CNDTR = 0; - DMA1_Channel7->CCR = DMA_CCR_MINC | DMA_CCR_DIR; - DMA1->IFCR = DMA_IFCR_CTCIF7 | DMA_IFCR_CHTIF7 | DMA_IFCR_CGIF7; + #ifdef CONTROL_SERIAL_USART3 + GPIO_InitStruct.Pin = GPIO_PIN_11; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* Peripheral DMA init*/ + hdma_usart3_rx.Instance = DMA1_Channel3; + hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart3_rx.Init.Mode = DMA_CIRCULAR; //DMA_NORMAL; + hdma_usart3_rx.Init.Priority = DMA_PRIORITY_LOW; + HAL_DMA_Init(&hdma_usart3_rx); + __HAL_LINKDMA(&huart3, hdmarx, hdma_usart3_rx); + #endif + + hdma_usart3_tx.Instance = DMA1_Channel2; + hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart3_tx.Init.Mode = DMA_NORMAL; + hdma_usart3_tx.Init.Priority = DMA_PRIORITY_LOW; + HAL_DMA_Init(&hdma_usart3_tx); + + #ifdef CONTROL_SERIAL_USART3 + __HAL_LINKDMA(&huart3, hdmatx, hdma_usart3_tx); + #endif + #if defined(FEEDBACK_SERIAL_USART3) || defined(DEBUG_SERIAL_USART3) + DMA1_Channel2->CPAR = (uint32_t) & (USART3->DR); + DMA1_Channel2->CNDTR = 0; + DMA1->IFCR = DMA_IFCR_CTCIF2 | DMA_IFCR_CHTIF2 | DMA_IFCR_CGIF2; + #endif } -*/ +#endif DMA_HandleTypeDef hdma_i2c2_rx; DMA_HandleTypeDef hdma_i2c2_tx; @@ -476,7 +479,6 @@ void MX_TIM_Init(void) { HAL_TIM_PWM_Init(&htim_left); sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; - // sMasterConfig.MasterOutputTrigger = TIM_TRGO_OC4REF; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; HAL_TIMEx_MasterConfigSynchronization(&htim_left, &sMasterConfig); diff --git a/platformio.ini b/platformio.ini index 6f3a728..790b6cd 100644 --- a/platformio.ini +++ b/platformio.ini @@ -14,7 +14,7 @@ upload_protocol = stlink ; Serial Port settings (make sure the COM port is correct) monitor_port = COM5 -monitor_speed = 115200 +monitor_speed = 38400 build_flags = -I${PROJECT_DIR}/inc/ From 420b95e281c9e202583e40247a5495a2d4831783 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sat, 30 Nov 2019 11:20:33 +0100 Subject: [PATCH 02/11] Update webview --- .../html/webview/support/slwebview.json | 11 +- ...motorControl_FOC_R2017b_fixdt_10007_d.json | 231 + ...CmotorControl_FOC_R2017b_fixdt_10007_d.png | Bin 0 -> 4273 bytes ...CmotorControl_FOC_R2017b_fixdt_10007_d.svg | 190 + ...motorControl_FOC_R2017b_fixdt_10035_d.json | 693 ++ ...CmotorControl_FOC_R2017b_fixdt_10035_d.png | Bin 0 -> 7520 bytes ...CmotorControl_FOC_R2017b_fixdt_10035_d.svg | 523 ++ ...LDCmotorControl_FOC_R2017b_fixdt_29_d.json | 3293 ++++---- ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.png | Bin 10852 -> 11379 bytes ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg | 5065 ++++++------ ...motorControl_FOC_R2017b_fixdt_29_icons.png | Bin 3304 -> 3304 bytes ...CmotorControl_FOC_R2017b_fixdt_8220_d.json | 1760 +---- ...DCmotorControl_FOC_R2017b_fixdt_8220_d.png | Bin 14887 -> 12669 bytes ...DCmotorControl_FOC_R2017b_fixdt_8220_d.svg | 2230 ++---- ...CmotorControl_FOC_R2017b_fixdt_8225_d.json | 12 +- ...DCmotorControl_FOC_R2017b_fixdt_8225_d.svg | 122 +- ...CmotorControl_FOC_R2017b_fixdt_8235_d.json | 64 +- ...DCmotorControl_FOC_R2017b_fixdt_8235_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_8247_d.json | 176 +- ...DCmotorControl_FOC_R2017b_fixdt_8247_d.svg | 232 +- ...CmotorControl_FOC_R2017b_fixdt_8263_d.json | 1556 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8263_d.png | Bin 8337 -> 8126 bytes ...DCmotorControl_FOC_R2017b_fixdt_8263_d.svg | 3683 ++++----- ...orControl_FOC_R2017b_fixdt_8272_2515_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_8272_d.json | 122 +- ...DCmotorControl_FOC_R2017b_fixdt_8272_d.svg | 212 +- ...CmotorControl_FOC_R2017b_fixdt_8314_d.json | 1478 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8314_d.svg | 2798 +++---- ...CmotorControl_FOC_R2017b_fixdt_8384_d.json | 664 +- ...DCmotorControl_FOC_R2017b_fixdt_8384_d.png | Bin 7891 -> 7853 bytes ...DCmotorControl_FOC_R2017b_fixdt_8384_d.svg | 1116 +-- ...CmotorControl_FOC_R2017b_fixdt_8469_d.json | 1352 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8469_d.png | Bin 6562 -> 6567 bytes ...DCmotorControl_FOC_R2017b_fixdt_8469_d.svg | 2814 +++---- ...rControl_FOC_R2017b_fixdt_8486_2423_d.json | 136 +- ...orControl_FOC_R2017b_fixdt_8486_2423_d.svg | 114 +- ...rControl_FOC_R2017b_fixdt_8486_2428_d.json | 448 +- ...orControl_FOC_R2017b_fixdt_8486_2428_d.svg | 1154 +-- ...trol_FOC_R2017b_fixdt_8486_2435_2515_d.svg | 4 +- ...rControl_FOC_R2017b_fixdt_8486_2435_d.json | 192 +- ...orControl_FOC_R2017b_fixdt_8486_2435_d.svg | 376 +- ...rControl_FOC_R2017b_fixdt_8486_2473_d.json | 438 +- ...orControl_FOC_R2017b_fixdt_8486_2473_d.png | Bin 6792 -> 6787 bytes ...orControl_FOC_R2017b_fixdt_8486_2473_d.svg | 694 +- ...trol_FOC_R2017b_fixdt_8486_2480_2515_d.svg | 28 +- ...rControl_FOC_R2017b_fixdt_8486_2480_d.json | 164 +- ...orControl_FOC_R2017b_fixdt_8486_2480_d.svg | 306 +- ...orControl_FOC_R2017b_fixdt_8486_2507_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8486_d.json | 900 +-- ...DCmotorControl_FOC_R2017b_fixdt_8486_d.png | Bin 6775 -> 6785 bytes ...DCmotorControl_FOC_R2017b_fixdt_8486_d.svg | 1564 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8519_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_8535_d.json | 1898 ++++- ...DCmotorControl_FOC_R2017b_fixdt_8535_d.png | Bin 7428 -> 10359 bytes ...DCmotorControl_FOC_R2017b_fixdt_8535_d.svg | 1812 +++-- ...CmotorControl_FOC_R2017b_fixdt_8546_d.json | 1200 +-- ...DCmotorControl_FOC_R2017b_fixdt_8546_d.png | Bin 8847 -> 8844 bytes ...DCmotorControl_FOC_R2017b_fixdt_8546_d.svg | 1850 ++--- ...CmotorControl_FOC_R2017b_fixdt_8603_d.json | 118 +- ...DCmotorControl_FOC_R2017b_fixdt_8603_d.svg | 504 +- ...CmotorControl_FOC_R2017b_fixdt_8658_d.json | 3486 ++++----- ...DCmotorControl_FOC_R2017b_fixdt_8658_d.png | Bin 10294 -> 9844 bytes ...DCmotorControl_FOC_R2017b_fixdt_8658_d.svg | 6850 ++++++++--------- ...CmotorControl_FOC_R2017b_fixdt_8668_d.json | 628 +- ...DCmotorControl_FOC_R2017b_fixdt_8668_d.png | Bin 5829 -> 5832 bytes ...DCmotorControl_FOC_R2017b_fixdt_8668_d.svg | 1070 +-- ...CmotorControl_FOC_R2017b_fixdt_8671_d.json | 410 +- ...DCmotorControl_FOC_R2017b_fixdt_8671_d.svg | 702 +- ...CmotorControl_FOC_R2017b_fixdt_8686_d.json | 344 +- ...DCmotorControl_FOC_R2017b_fixdt_8686_d.svg | 410 +- ...CmotorControl_FOC_R2017b_fixdt_8726_d.json | 374 +- ...DCmotorControl_FOC_R2017b_fixdt_8726_d.png | Bin 5236 -> 5215 bytes ...DCmotorControl_FOC_R2017b_fixdt_8726_d.svg | 438 +- ...CmotorControl_FOC_R2017b_fixdt_8738_d.json | 276 +- ...DCmotorControl_FOC_R2017b_fixdt_8738_d.svg | 388 +- ...CmotorControl_FOC_R2017b_fixdt_8743_d.json | 1204 +-- ...DCmotorControl_FOC_R2017b_fixdt_8743_d.png | Bin 9589 -> 9571 bytes ...DCmotorControl_FOC_R2017b_fixdt_8743_d.svg | 3034 ++++---- ...CmotorControl_FOC_R2017b_fixdt_8866_d.json | 470 +- ...DCmotorControl_FOC_R2017b_fixdt_8866_d.png | Bin 4627 -> 4654 bytes ...DCmotorControl_FOC_R2017b_fixdt_8866_d.svg | 598 +- ...CmotorControl_FOC_R2017b_fixdt_8886_d.json | 252 +- ...DCmotorControl_FOC_R2017b_fixdt_8886_d.svg | 404 +- ...CmotorControl_FOC_R2017b_fixdt_8913_d.json | 2674 +++---- ...DCmotorControl_FOC_R2017b_fixdt_8913_d.png | Bin 14224 -> 14224 bytes ...DCmotorControl_FOC_R2017b_fixdt_8913_d.svg | 4552 +++++------ ...CmotorControl_FOC_R2017b_fixdt_8924_d.json | 290 +- ...DCmotorControl_FOC_R2017b_fixdt_8924_d.svg | 360 +- ...DCmotorControl_FOC_R2017b_fixdt_8930_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_8987_d.json | 140 +- ...DCmotorControl_FOC_R2017b_fixdt_8987_d.svg | 332 +- ...DCmotorControl_FOC_R2017b_fixdt_8993_d.svg | 12 +- ...CmotorControl_FOC_R2017b_fixdt_9029_d.json | 1110 +-- ...DCmotorControl_FOC_R2017b_fixdt_9029_d.png | Bin 5632 -> 6033 bytes ...DCmotorControl_FOC_R2017b_fixdt_9029_d.svg | 988 +-- ...CmotorControl_FOC_R2017b_fixdt_9045_d.json | 378 +- ...DCmotorControl_FOC_R2017b_fixdt_9045_d.svg | 528 +- ...CmotorControl_FOC_R2017b_fixdt_9074_d.json | 676 +- ...DCmotorControl_FOC_R2017b_fixdt_9074_d.svg | 846 +- ...CmotorControl_FOC_R2017b_fixdt_9109_d.json | 508 +- ...DCmotorControl_FOC_R2017b_fixdt_9109_d.svg | 1186 +-- ...DCmotorControl_FOC_R2017b_fixdt_9133_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_9143_d.json | 674 +- ...DCmotorControl_FOC_R2017b_fixdt_9143_d.svg | 978 +-- ...DCmotorControl_FOC_R2017b_fixdt_9164_d.svg | 12 +- ...CmotorControl_FOC_R2017b_fixdt_9171_d.json | 486 +- ...DCmotorControl_FOC_R2017b_fixdt_9171_d.svg | 822 +- ...DCmotorControl_FOC_R2017b_fixdt_9188_d.svg | 8 +- ...CmotorControl_FOC_R2017b_fixdt_9198_d.json | 3123 ++++++-- ...DCmotorControl_FOC_R2017b_fixdt_9198_d.png | Bin 9680 -> 8641 bytes ...DCmotorControl_FOC_R2017b_fixdt_9198_d.svg | 3647 ++++++--- ...DCmotorControl_FOC_R2017b_fixdt_9292_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9293_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9333_d.png | Bin 4587 -> 0 bytes ...DCmotorControl_FOC_R2017b_fixdt_9333_d.svg | 1238 --- ...DCmotorControl_FOC_R2017b_fixdt_9337_d.png | Bin 4252 -> 0 bytes ...rControl_FOC_R2017b_fixdt_9721_2779_d.json | 212 +- ...orControl_FOC_R2017b_fixdt_9721_2779_d.svg | 248 +- ...rControl_FOC_R2017b_fixdt_9721_2791_d.json | 380 +- ...orControl_FOC_R2017b_fixdt_9721_2791_d.svg | 846 +- ...rControl_FOC_R2017b_fixdt_9721_2816_d.json | 24 +- ...orControl_FOC_R2017b_fixdt_9721_2816_d.svg | 94 +- ...CmotorControl_FOC_R2017b_fixdt_9721_d.json | 856 +- ...DCmotorControl_FOC_R2017b_fixdt_9721_d.svg | 1484 ++-- ...rControl_FOC_R2017b_fixdt_9728_2779_d.json | 100 +- ...orControl_FOC_R2017b_fixdt_9728_2779_d.svg | 160 +- ...rControl_FOC_R2017b_fixdt_9728_2791_d.json | 256 +- ...orControl_FOC_R2017b_fixdt_9728_2791_d.svg | 722 +- ...rControl_FOC_R2017b_fixdt_9728_2816_d.json | 110 +- ...orControl_FOC_R2017b_fixdt_9728_2816_d.svg | 294 +- ...CmotorControl_FOC_R2017b_fixdt_9728_d.json | 838 +- ...DCmotorControl_FOC_R2017b_fixdt_9728_d.svg | 1626 ++-- ...rControl_FOC_R2017b_fixdt_9729_2779_d.json | 160 +- ...orControl_FOC_R2017b_fixdt_9729_2779_d.svg | 154 +- ...rControl_FOC_R2017b_fixdt_9729_2791_d.json | 142 +- ...orControl_FOC_R2017b_fixdt_9729_2791_d.svg | 166 +- ...rControl_FOC_R2017b_fixdt_9729_2816_d.json | 116 +- ...orControl_FOC_R2017b_fixdt_9729_2816_d.svg | 270 +- ...CmotorControl_FOC_R2017b_fixdt_9729_d.json | 950 +-- ...DCmotorControl_FOC_R2017b_fixdt_9729_d.svg | 1334 ++-- ...CmotorControl_FOC_R2017b_fixdt_9741_d.json | 2255 ++++++ ...DCmotorControl_FOC_R2017b_fixdt_9741_d.png | Bin 0 -> 5093 bytes ...DCmotorControl_FOC_R2017b_fixdt_9741_d.svg | 2987 +++++++ ...CmotorControl_FOC_R2017b_fixdt_9743_d.json | 2976 +++++++ ...DCmotorControl_FOC_R2017b_fixdt_9743_d.png | Bin 0 -> 6883 bytes ...DCmotorControl_FOC_R2017b_fixdt_9743_d.svg | 2697 +++++++ ...CmotorControl_FOC_R2017b_fixdt_9842_d.json | 231 + ...DCmotorControl_FOC_R2017b_fixdt_9842_d.png | Bin 0 -> 3565 bytes ...DCmotorControl_FOC_R2017b_fixdt_9842_d.svg | 175 + ...CmotorControl_FOC_R2017b_fixdt_9904_d.json | 906 +++ ...DCmotorControl_FOC_R2017b_fixdt_9904_d.png | Bin 0 -> 5718 bytes ...DCmotorControl_FOC_R2017b_fixdt_9904_d.svg | 828 ++ ...motorControl_FOC_R2017b_fixdt_9937_d.json} | 972 +-- ...DCmotorControl_FOC_R2017b_fixdt_9937_d.png | Bin 0 -> 5906 bytes ...DCmotorControl_FOC_R2017b_fixdt_9937_d.svg | 1083 +++ ...Control_FOC_R2017b_fixdt_9948_2342_d.json} | 52 +- ...rControl_FOC_R2017b_fixdt_9948_2342_d.png} | Bin ...rControl_FOC_R2017b_fixdt_9948_2342_d.svg} | 34 +- ...Control_FOC_R2017b_fixdt_9948_2395_d.json} | 68 +- ...rControl_FOC_R2017b_fixdt_9948_2395_d.png} | Bin ...rControl_FOC_R2017b_fixdt_9948_2395_d.svg} | 58 +- ...motorControl_FOC_R2017b_fixdt_9948_d.json} | 348 +- ...CmotorControl_FOC_R2017b_fixdt_9948_d.png} | Bin ...CmotorControl_FOC_R2017b_fixdt_9948_d.svg} | 568 +- ...motorControl_FOC_R2017b_fixdt_9950_d.json} | 20 +- ...CmotorControl_FOC_R2017b_fixdt_9950_d.png} | Bin ...CmotorControl_FOC_R2017b_fixdt_9950_d.svg} | 38 +- ...CmotorControl_FOC_R2017b_fixdt_9953_d.json | 2719 +++++++ ...DCmotorControl_FOC_R2017b_fixdt_9953_d.png | Bin 0 -> 7175 bytes ...DCmotorControl_FOC_R2017b_fixdt_9953_d.svg | 2169 ++++++ ...motorControl_FOC_R2017b_fixdt_9957_d.json} | 552 +- ...CmotorControl_FOC_R2017b_fixdt_9957_d.png} | Bin ...CmotorControl_FOC_R2017b_fixdt_9957_d.svg} | 678 +- ...motorControl_FOC_R2017b_fixdt_9988_d.json} | 20 +- ...DCmotorControl_FOC_R2017b_fixdt_9988_d.png | Bin 0 -> 4380 bytes ...CmotorControl_FOC_R2017b_fixdt_9988_d.svg} | 30 +- ...BLDCmotorControl_FOC_R2017b_fixdt_h_1.json | 2731 ++++--- .../BLDCmotorControl_FOC_R2017b_fixdt_m.json | 2165 ++++-- 178 files changed, 74173 insertions(+), 55990 deletions(-) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.png delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json => BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json} (65%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.json => BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.png => BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg} (95%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.json => BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.png => BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg} (94%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json => BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json} (89%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_d.png => BLDCmotorControl_FOC_R2017b_fixdt_9948_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg} (92%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9042_d.json => BLDCmotorControl_FOC_R2017b_fixdt_9950_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9042_d.png => BLDCmotorControl_FOC_R2017b_fixdt_9950_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg} (97%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json => BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json} (84%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9341_d.png => BLDCmotorControl_FOC_R2017b_fixdt_9957_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg} (92%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9337_d.json => BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json} (87%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.png rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg} (91%) diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json index cab615f..7b2bac6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json @@ -8,7 +8,7 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt", "name":"BLDCmotorControl_FOC_R2017b_fixdt", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt", - "label":"BLDCmotorControl_FOC_R2017b_fixdt", + "label":"BLDCmotorControl_FOC_R2017b_fixdt*", "parent":0, "descendants":[ 2, @@ -79,7 +79,14 @@ 67, 68, 69, - 70 + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77 ], "hierarchyUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_m.json" diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json new file mode 100644 index 0000000..3613553 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json @@ -0,0 +1,231 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10012", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_inpTgtScaDft", + "label":"r_inpTgtScaDft", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "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:10009", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10008", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtScaRaw", + "label":"r_inpTgtScaRaw", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "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:10008#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0341efbd6f32a720d011d7b18e14eb1357382f GIT binary patch literal 4273 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaDft + + + + + + + + + + + + + + + + + + + + + + + + + + else { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaRaw + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.json new file mode 100644 index 0000000..8fc5151 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.json @@ -0,0 +1,693 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035:576", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Modulo implementation: rem = num - div*(num/div)

Note: Division and multiplier has the setting 'Floor'

", + "label":"

Modulo implementation: rem = num - div*(num/div)

Note: Division and multiplier has the setting 'Floor'

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

Modulo implementation: rem = num - div*(num/div)

\n

Note: Division and multiplier has the setting 'Floor'

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035:572", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,0)", + "off", + "Floor", + "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:10035:574", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|+-", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035:573", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide3", + "label":"Divide3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Floor", + "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:10035:570", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"num", + "label":"num", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "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:10035:571", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"div", + "label":"div", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "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:10035:575", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"rem", + "label":"rem", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "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:10035:572#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "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:10035:571#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "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:10035:573#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "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:10035:574#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "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:10035:570#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7882786e394b6d60819ff377ddda635657529c GIT binary patch literal 7520 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 + + + + + + + + + + + + + + + + + + + + + + + + + Modulo implementation: + rem = num - div*(num/div) + + + + + + + + Note + : Division and multiplier has the setting 'Floor' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + num + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + div + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + rem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json index 5241f3b..0fe80f6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json @@ -307,11 +307,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9304", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9301", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"DC_phaC", + "label":"DC_phaC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -340,7 +340,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "3", "Port number", "[]", "[]", @@ -485,11 +485,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9669", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9441", + "className":"Simulink.Terminator", + "icon":"WebViewIcon3", + "name":"Terminator", + "label":"Terminator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + ], + "values":[ + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Terminator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295", "className":"Simulink.Saturate", "icon":"WebViewIcon3", - "name":"Saturation2", - "label":"Saturation2", + "name":"Saturation1", + "label":"Saturation1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -505,8 +532,8 @@ "ZeroCross" ], "values":[ - "1000", - "-1000", + "2000", + "-2000", "on", "[]", "[]", @@ -590,6 +617,99 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Implemented_control_methods", + "label":"Implemented_control_methods", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" + ], + "values":[ + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "off", + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291", "className":"Simulink.If", @@ -634,73 +754,36 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9302", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"z_errCode", - "label":"z_errCode", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", + "1", + "u1 == CTRL_FOC", + "", "off", - "inherit", - "-1", - "Inherit", "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 4 ] }, "viewer":{ @@ -709,16 +792,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -727,7 +810,40 @@ "IconDisplay" ], "values":[ - "b_hallC", + "b_hallB", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9279", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", "local", "Tag" ], @@ -813,74 +929,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9303", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9286", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "DC_phaC", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -888,16 +957,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9283", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9272", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -906,7 +975,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "r_devSignal2", "local", "Tag" ], @@ -926,11 +995,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9272", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -939,7 +1008,7 @@ "IconDisplay" ], "values":[ - "r_devSignal2", + "z_ctrlModReq", "local", "Tag" ], @@ -959,11 +1028,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9278", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -972,7 +1041,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "i_phaBC", "local", "Tag" ], @@ -992,27 +1061,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9302", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"z_errCode", + "label":"z_errCode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "i_phaBC", - "local", - "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" @@ -1020,7 +1136,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, @@ -1058,11 +1174,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9456", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9934", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1071,7 +1187,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "z_dir", "local", "Tag" ], @@ -1091,11 +1207,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1104,7 +1220,7 @@ "IconDisplay" ], "values":[ - "r_devSignal1", + "i_phaAB", "local", "Tag" ], @@ -1124,27 +1240,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9299", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"DC_phaA", + "label":"DC_phaA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "b_hallA", - "local", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1152,7 +1315,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, @@ -1190,11 +1353,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9392", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1202,7 +1365,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_hallA", "Tag" ], "tabs":[ @@ -1221,11 +1384,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1233,7 +1396,7 @@ "IconDisplay" ], "values":[ - "b_hallA", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1252,38 +1415,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Model_Info", - "label":"Model_Info", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - ], - "values":[ - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1291,7 +1427,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "n_mot", "Tag" ], "tabs":[ @@ -1310,11 +1446,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1322,7 +1458,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1341,11 +1477,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1353,7 +1489,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1372,11 +1508,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"From33", + "label":"From33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1384,7 +1520,7 @@ "IconDisplay" ], "values":[ - "r_devSignal1", + "DC_phaC", "Tag" ], "tabs":[ @@ -1403,11 +1539,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1415,7 +1551,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "DC_phaB", "Tag" ], "tabs":[ @@ -1434,25 +1570,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9303", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "DC_phaB", - "Tag" + "5", + "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" @@ -1460,16 +1645,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1477,7 +1662,7 @@ "IconDisplay" ], "values":[ - "DC_phaA", + "z_pos", "Tag" ], "tabs":[ @@ -1496,11 +1681,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1508,7 +1693,7 @@ "IconDisplay" ], "values":[ - "b_hallC", + "VqFinPrev", "Tag" ], "tabs":[ @@ -1527,21 +1712,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_hallB", - "local", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1555,16 +1738,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1572,7 +1755,7 @@ "IconDisplay" ], "values":[ - "z_errCode", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1591,11 +1774,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1603,7 +1786,7 @@ "IconDisplay" ], "values":[ - "b_hallB", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1622,47 +1805,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295", - "className":"Simulink.Saturate", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9456", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Saturation1", - "label":"Saturation1", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "UpperLimit", - "LowerLimit", - "LinearizeAsGain", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2000", - "-2000", - "on", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Floor", - "-1", - "on" + "VqFinPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 8 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1670,16 +1833,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Saturate", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9257", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1687,7 +1850,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgt", "Tag" ], "tabs":[ @@ -1706,21 +1869,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9280", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_posRaw", - "local", + "n_motAbs", "Tag" ], "tabs":[ @@ -1734,30 +1895,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9304", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "Tag" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1765,16 +1975,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9388", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1782,7 +1992,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1801,11 +2011,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1813,7 +2023,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "i_phaAB", "Tag" ], "tabs":[ @@ -1832,11 +2042,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9437", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1845,7 +2055,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_hallA", "local", "Tag" ], @@ -1865,11 +2075,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1877,7 +2087,7 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "b_motEna", "Tag" ], "tabs":[ @@ -1896,104 +2106,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Implemented_control_methods", - "label":"Implemented_control_methods", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "off", - "off", - "off", - "-1", - "Auto", - "Auto", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "on", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" + "n_mot", + "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:9244", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2001,7 +2151,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "b_motEna", "Tag" ], "tabs":[ @@ -2020,19 +2170,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9282", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", + "z_errCode", + "local", "Tag" ], "tabs":[ @@ -2046,79 +2198,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9299", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"DC_phaA", - "label":"DC_phaA", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "DC_phaA", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2126,7 +2229,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From14", + "label":"From14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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":"" } }, @@ -2228,64 +2362,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" - ], - "values":[ - "1", - "u1 == CTRL_FOC", - "", - "off", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"If", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9441", - "className":"Simulink.Terminator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Terminator", - "label":"Terminator", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ + "GotoTag", + "IconDisplay" ], "values":[ + "z_errCode", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2293,16 +2388,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Terminator", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2311,7 +2406,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_hallC", "local", "Tag" ], @@ -2331,11 +2426,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F04_Field_Oriented_Control", - "label":"F04_Field_Oriented_Control", + "name":"F02_Diagnostics", + "label":"F02_Diagnostics", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2428,11 +2523,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9930", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2440,7 +2535,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "a_elecAngle", "Tag" ], "tabs":[ @@ -2458,6 +2553,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_devSignal1", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448", "className":"Simulink.From", @@ -2490,21 +2618,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "n_mot", - "local", "Tag" ], "tabs":[ @@ -2518,16 +2644,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_motStdStill", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F02_Diagnostics", - "label":"F02_Diagnostics", + "icon":"WebViewIcon4", + "name":"Model_Info", + "label":"Model_Info", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2579,7 +2736,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -2620,712 +2777,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motStdStill", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9285", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "DC_phaB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motEna", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"DC_phaB", - "label":"DC_phaB", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8218", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion8", - "label":"Data Type Conversion8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9282", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_errCode", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motStdStill", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion5", - "label":"Data Type Conversion5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion4", - "label":"Data Type Conversion4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion7", - "label":"Data Type Conversion7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9286", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "DC_phaC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9301", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"DC_phaC", - "label":"DC_phaC", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8213", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"i_DCLink", - "label":"i_DCLink", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "9", - "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:8210", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F01_Estimations", - "label":"F01_Estimations", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F01_Estimations", + "label":"F01_Estimations", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3418,19 +2874,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9385", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9437", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -3444,16 +2902,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3461,7 +2919,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "b_hallB", "Tag" ], "tabs":[ @@ -3480,128 +2938,153 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"i_phaAB", - "label":"i_phaAB", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F03_Control_Mode_Manager", + "label":"F03_Control_Mode_Manager", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "on", + "", + "", "off", "", + "void_void", + "off", + "off", "on", + "", "off", + "", "off", - "off" + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From29", + "label":"From29", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hallC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"b_hallB", - "label":"b_hallB", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "r_devSignal2", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3609,65 +3092,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"b_hallA ", - "label":"b_hallA ", + "name":"Data Type Conversion7", + "label":"Data Type Conversion7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "4", - "Port number", - "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "[]", + "int16", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -3676,26 +3139,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9279", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", - "local", + "r_devSignal1", "Tag" ], "tabs":[ @@ -3709,16 +3170,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3726,7 +3187,7 @@ "IconDisplay" ], "values":[ - "r_devSignal2", + "i_phaBC", "Tag" ], "tabs":[ @@ -3745,128 +3206,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "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:8208", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9285", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"i_phaBC", - "label":"i_phaBC", + "name":"Goto24", + "label":"Goto24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "8", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "DC_phaB", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3874,16 +3234,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F03_Control_Mode_Manager", - "label":"F03_Control_Mode_Manager", + "name":"F04_Field_Oriented_Control", + "label":"F04_Field_Oriented_Control", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3935,7 +3295,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -3976,11 +3336,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3988,13 +3348,93 @@ "IconDisplay" ], "values":[ - "DC_phaC", + "z_posRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9278", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_motAbs", + "local", "Tag" ], "tabs":[ "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion5", + "label":"Data Type Conversion5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "int16", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4002,16 +3442,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8212", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion2", - "label":"Data Type Conversion2", + "name":"Data Type Conversion4", + "label":"Data Type Conversion4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4054,11 +3494,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"i_DCLink", + "label":"i_DCLink", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4081,7 +3521,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "9", "Port number", "[]", "[]", @@ -4121,11 +3561,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_hallC", - "label":"b_hallC", + "name":"i_phaAB", + "label":"i_phaAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4148,7 +3588,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "7", "Port number", "[]", "[]", @@ -4188,11 +3628,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"DC_phaB", + "label":"DC_phaB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4208,14 +3648,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", "[]", "[]", @@ -4227,10 +3673,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -4250,45 +3703,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8216", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Data Type Conversion6", - "label":"Data Type Conversion6", + "name":"b_hallC", + "label":"b_hallC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "6", + "Port number", "[]", "[]", - "int16", + "Inherit: auto", "off", - "Real World Value (RWV)", - "Floor", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 2, + 11 ] }, "viewer":{ @@ -4297,26 +3770,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9389", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "z_dir", "Tag" ], "tabs":[ @@ -4330,16 +3801,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9283", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4348,7 +3819,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "z_pos", "local", "Tag" ], @@ -4368,19 +3839,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9280", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "z_posRaw", + "local", "Tag" ], "tabs":[ @@ -4394,30 +3867,133 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9387", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"i_phaBC", + "label":"i_phaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "r_inpTgtSca", - "Tag" + "8", + "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" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_hallA ", + "label":"b_hallA ", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "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" @@ -4425,16 +4001,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8211", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion10", - "label":"Data Type Conversion10", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4477,77 +4053,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlModReq", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", - "Auto", - "", - "" + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -4555,50 +4114,66 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Inport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469#out:2", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", - "Auto", - "", - "" + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -4606,50 +4181,66 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Inport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_hallB", + "label":"b_hallB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", - "Auto", - "", - "" + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -4657,50 +4248,66 @@ }, "obj_viewer":[ ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", - "Auto", - "", - "" + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -4708,50 +4315,52 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Inport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9669", + "className":"Simulink.Saturate", + "icon":"WebViewIcon3", + "name":"Saturation2", + "label":"Saturation2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "UpperLimit", + "LowerLimit", + "LinearizeAsGain", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "", - "off", - "off", - "off", + "1000", + "-1000", + "on", + "[]", + "[]", + "fixdt(1,16,4)", "off", - "Simulink", - "Auto", - "", - "" + "Floor", + "-1", + "on" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, 3, - 5, - 7 + 8 ] }, "viewer":{ @@ -4759,11 +4368,13 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Saturate", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4814,7 +4425,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4865,7 +4476,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4916,7 +4527,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9294#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4967,7 +4578,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5018,7 +4629,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5069,7 +4680,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5120,7 +4731,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8211#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5171,7 +4782,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9294#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5222,7 +4833,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:5", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5273,7 +4884,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5324,7 +4935,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9257#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5375,7 +4986,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5426,7 +5037,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5477,7 +5088,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5528,7 +5139,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5579,7 +5190,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5630,7 +5241,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8218#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5681,7 +5292,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5732,7 +5343,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5783,7 +5394,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5834,7 +5445,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8216#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5885,7 +5496,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5936,7 +5547,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5987,7 +5598,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6038,7 +5649,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6089,7 +5700,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6140,7 +5751,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6191,7 +5802,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6242,7 +5853,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6293,7 +5904,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6344,7 +5955,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:6", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6395,7 +6006,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6446,7 +6057,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6497,7 +6108,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6548,7 +6159,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6599,7 +6210,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6650,7 +6261,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6701,7 +6312,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:8", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6752,7 +6363,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6803,7 +6414,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8212#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6854,7 +6465,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6905,7 +6516,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6956,7 +6567,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8213#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7007,7 +6618,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7058,7 +6669,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7109,7 +6720,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7160,7 +6771,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7262,7 +6873,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7313,7 +6924,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7364,7 +6975,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7415,7 +7026,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7466,7 +7077,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:7", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7517,7 +7128,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7568,7 +7179,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9385#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7619,7 +7230,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9387#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7670,7 +7281,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9388#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7721,7 +7332,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9669#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7772,7 +7383,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9392#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7823,7 +7434,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7874,7 +7485,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7925,7 +7536,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7976,7 +7587,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8027,7 +7638,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9930#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8078,7 +7689,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8129,7 +7740,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8180,7 +7791,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8231,7 +7842,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9669#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8282,7 +7893,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8333,7 +7944,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8384,7 +7995,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.png index 67e08c906c0ac5211ad724ebb062bb3a551bd2a9..1ce60afd74ab0dd4c06d62b1d3e1d878a99d9676 100644 GIT binary patch literal 11379 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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 d16ce9c..4f59275 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 @@ -1,10 +1,10 @@ - + - + @@ -54,7 +54,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -126,7 +126,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -150,7 +150,7 @@ - + @@ -158,7 +158,7 @@ - + @@ -166,7 +166,7 @@ - + @@ -174,7 +174,7 @@ - + @@ -182,7 +182,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -198,7 +198,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -214,7 +214,7 @@ - + @@ -222,7 +222,7 @@ - + @@ -230,7 +230,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -262,7 +262,7 @@ - + @@ -270,7 +270,7 @@ - + @@ -278,7 +278,7 @@ - + @@ -293,7 +293,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -317,7 +317,7 @@ - + @@ -325,7 +325,7 @@ - + @@ -340,7 +340,7 @@ - + @@ -348,7 +348,7 @@ - + @@ -356,7 +356,7 @@ - + @@ -364,7 +364,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -387,7 +387,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -403,7 +403,7 @@ - + @@ -411,7 +411,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -445,7 +445,7 @@ - + @@ -459,10 +459,10 @@ - + - + @@ -472,29 +472,29 @@ - + 8 - + - + - + - + r_devSignal2 @@ -507,10 +507,10 @@ - + - + @@ -520,29 +520,29 @@ - + 7 - + - + - + - + r_devSignal1 @@ -554,11 +554,11 @@ - - + + - + @@ -568,30 +568,30 @@ - - 6 + + 3 - + - - + + - + - - a_elecAngle + + DC_phaC @@ -635,7 +635,7 @@ - + @@ -651,10 +651,10 @@ - + - + @@ -664,29 +664,29 @@ - + b_diagEna - + - + - + - + boolean @@ -698,45 +698,94 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + @@ -751,22 +800,22 @@ - + - + - - + + - + sfix16_En4 @@ -788,35 +837,35 @@ - + - + - + - + - + - + - + - + @@ -842,11 +891,11 @@ - - + + - + sfix16_En4 @@ -856,53 +905,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Implemented_control_methods + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + u1 - + - + if(u1 ~= 0) - + - + - - + + - + action @@ -914,44 +1010,52 @@ - - - + + + - - + + - - + + - - 4 + + u1 + + + + + + + + if(u1 == CTRL_FOC) - - + + - - - + + + - - + + - - z_errCode + + action @@ -962,28 +1066,28 @@ - - + + - + - + - - [b_hallC] + + [b_hallB] - + @@ -995,28 +1099,28 @@ - - + + - + - + - - [b_motEna] + + [z_ctrlTypSel] - + @@ -1028,28 +1132,28 @@ - - + + - + - + - - [DC_phaA] + + [b_motEna] - + @@ -1061,44 +1165,29 @@ - - - + + + - - + + - - + + - - 5 + + [DC_phaA] - - - - - - - - - - - - - - - - - n_mot + + @@ -1109,28 +1198,28 @@ - - + + - + - + - - [z_pos] + + [DC_phaC] - + @@ -1143,27 +1232,27 @@ - + - + - + - + [r_devSignal2] - + @@ -1175,28 +1264,28 @@ - - + + - + - + - - [n_motAbs] + + [z_ctrlModReq] - + @@ -1218,11 +1307,11 @@ - + - + [i_phaBC] @@ -1241,29 +1330,44 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + 4 - - + + + + + + + + + + + + + + + + + z_errCode @@ -1274,28 +1378,28 @@ - - + + - + - + - - [VqFinPrev] + + [a_elecAngle] - + @@ -1307,28 +1411,28 @@ - - + + - + - + - - [r_devSignal1] + + [z_dir] - + @@ -1340,28 +1444,28 @@ - - + + - + - + - - [b_hallA] + + [i_phaAB] - + @@ -1373,29 +1477,44 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + 1 - - + + + + + + + + + + + + + + + + + DC_phaA @@ -1406,44 +1525,29 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [r_inpTgt] - - - - - - - - - - - - - - - - - uint8 + + @@ -1455,42 +1559,42 @@ - + - + - + - + [b_hallA] - + - + - - + + - + uint8 @@ -1502,98 +1606,44 @@ - - - + + + + + + - - - - - - MODEL INFO - - - - - - - - Version: 1.1199 - - - - - - - - Author: Emanuel Feru - - - - - - - - Last modified by: eferu - - - - - - - - Last update: 03-nov-2019 12:27:59 - - - - + + - - Copyright © 2019 Emanuel FERU + + [z_ctrlTypSel] - - + + - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + uint8 @@ -1604,44 +1654,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [n_mot] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1652,44 +1702,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [a_elecAngle] - + - - + + - - + + - - uint8 + + sfix16_En6 @@ -1700,44 +1750,44 @@ - - + + - + - + - - [n_mot] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -1748,44 +1798,44 @@ - - + + - + - + - - [r_devSignal1] + + [DC_phaC] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -1796,44 +1846,44 @@ - - + + - + - + - - [a_elecAngle] + + [DC_phaB] - + - - + + - - + + - - ufix16_En6 + + int16 @@ -1844,44 +1894,44 @@ - - - + + + - - + + - - + + - - [DC_phaB] + + 5 - - + + - - - + + + - - + + - - int16 + + n_mot @@ -1892,44 +1942,44 @@ - - + + - + - + - - [DC_phaA] + + [z_pos] - + - - + + - - + + - - int16 + + int8 @@ -1940,44 +1990,44 @@ - - + + - + - + - - [b_hallC] + + [VqFinPrev] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1988,29 +2038,44 @@ - - - + + + - - + + - - + + - - [b_hallB] + + [a_elecAngle] - - + + + + + + + + + + + + + + + + + sfix16_En6 @@ -2021,44 +2086,44 @@ - - + + - + - + - - [z_errCode] + + [b_motStdStill] - + - - + + - - + + - - uint8 + + boolean @@ -2069,43 +2134,43 @@ - - + + - + - + - - [b_hallB] + + [z_ctrlTypSel] - + - + - - + + - + uint8 @@ -2117,75 +2182,76 @@ - - - + + + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + [VqFinPrev] - + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + - - + + - + - - + + - + sfix16_En4 @@ -2197,44 +2263,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [n_motAbs] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2245,29 +2311,44 @@ - - - + + + - - + + - - + + - - [z_posRaw] + + 6 - - + + + + + + + + + + + + + + + + + a_elecAngle @@ -2278,44 +2359,44 @@ - - + + - + - + - - [a_elecAngle] + + [z_ctrlModReq] - + - - + + - - + + - - ufix16_En6 + + uint8 @@ -2326,43 +2407,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [i_phaAB] - + - + - - + + - + sfix16_En4 @@ -2374,11 +2455,44 @@ - - + + + + + + + + + + + + + + + + [b_hallA] + + + + + + + + + + + + + + + + + + + - + @@ -2388,30 +2502,30 @@ - - [n_motAbs] + + [b_motEna] - + - - + + - + - - sfix16_En4 + + boolean @@ -2422,11 +2536,11 @@ - - + + - + @@ -2436,14 +2550,14 @@ - - [b_motStdStill] + + [n_mot] - + @@ -2455,11 +2569,11 @@ - - + + - + @@ -2469,30 +2583,30 @@ - - [i_phaBC] + + [b_motEna] - + - - + + - + - - sfix16_En4 + + boolean @@ -2503,43 +2617,29 @@ - - - + + + - - + + - - - - - - - - + - - Implemented_control_methods - - - - - - - + + [z_errCode] - - + + @@ -2550,11 +2650,11 @@ - - + + - + @@ -2564,30 +2664,30 @@ - - [i_phaAB] + + [DC_phaA] - + - - + + - + - - sfix16_En4 + + int16 @@ -2598,11 +2698,11 @@ - - + + - + @@ -2612,30 +2712,30 @@ - - [b_motEna] + + [n_motAbs] - + - - + + - + - - boolean + + sfix16_En4 @@ -2646,177 +2746,137 @@ - - - + + + - - + + + + + + + + - + - - 1 - - - - - - - - - - - - - - + + b_enaAdvCtrl - + - - DC_phaA + + z_ctrlTypSel + + + + + + + + z_pos - - - - - - - - - - - - - - - - - - - - - - - - - + - - b_enaFOC + + V_phaABC_FOC - + - - z_pos + + Vq - + - - z_ctrlTypSel + + r_inpTgtSca - + - - r_phaA + + a_elecAngle - + - - r_phaB + + z_dir - + - - r_phaC + + n_motAbs - + - - Vq + + DC_phaA - + - - r_inpTgtSca + + DC_phaB - + - - DC_phaA + + DC_phaC - + - - DC_phaB + + VqFinPrev - - - - - - - DC_phaC - - - - - - - - VqFinPrev - - - - - + + + + - - + + @@ -2828,15 +2888,15 @@ - + - - + + - + F05_Control_Type_Management @@ -2849,16 +2909,16 @@ - - + + - - + + - - int16 + + sfix16_En4 @@ -2870,15 +2930,15 @@ - + - - + + - + int16 @@ -2891,15 +2951,15 @@ - + - - + + - + int16 @@ -2912,15 +2972,15 @@ - + - - + + - + int16 @@ -2932,107 +2992,50 @@ - + - - + + - - + + - - - - - - u1 - - - - + + - - if(u1 == CTRL_FOC) + + [z_errCode] - - + + - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + uint8 @@ -3043,28 +3046,28 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_hallC] - + @@ -3076,9 +3079,9 @@ - - - + + + @@ -3086,137 +3089,57 @@ - - + + - - - - - - b_enaFOC - - - - - - - - z_ctrlMod - - - - - - - - b_motEna - - - - - - - - r_inpTgtSca - - - - - - - - n_mot - - - - - - - - n_motAbs - - - - - - - - a_elecAngle - - - - - - - - i_phaAB - - - - - - - - i_phaBC - - - - - - - - r_phaA - - - - + + - - r_phaB + + z_posRaw - - + + - - r_phaC + + b_motStdStill - - + + - - Vq + + VqFinPrev - - + + - - r_devSignal1 + + z_errCode - - + + - - r_devSignal2 + + b_errFlag - - + + - + if { } @@ -3229,8 +3152,8 @@ - - + + @@ -3242,16 +3165,16 @@ - - + + - - + + - - F04_Field_Oriented_Control + + F02_Diagnostics @@ -3263,16 +3186,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -3284,16 +3207,16 @@ - - + + - - + + - - int16 + + boolean @@ -3305,100 +3228,151 @@ - + - - + + - - int16 + + uint8 - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [a_elecAngle] + + + + + + + - - - - - - - - + + - - + + - - int16 + + sfix16_En6 - + + + + + + + + + + + + + + + - - - - + + + - - + + [r_devSignal1] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [VqFinPrev] + + + + + + + - - - - - - - - + + - - + + - - action + + sfix16_En4 @@ -3409,50 +3383,44 @@ - - - - - - - - + + - + - + - - [z_pos] + + [n_mot] - + - - + + - - + + - - int8 + + sfix16_En4 @@ -3463,44 +3431,44 @@ - - + + - + - + - - [VqFinPrev] + + [b_motStdStill] - + - - + + - - + + - - int16 + + boolean @@ -3511,29 +3479,98 @@ - - - - - - + + + - - + + - - [n_mot] + + MODEL INFO + + + + + + + + Version: 1.1212 + + + + + + + + Author: Emanuel Feru + + + + + + + + Last modified by: eferu + + + + + + + + Last update: 11-nov-2019 22:46:15 + + + + + + + + Copyright © 2019 Emanuel FERU - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3544,143 +3581,204 @@ - - - + + + - + - - + + - - + + - - z_posRaw + + b_hallA - - + + - - b_motStdStill + + b_hallB - - + + - - VqFinPrev + + b_hallC - - + + - - z_errCode + + z_posRaw - - + + - - b_errFlag + + z_pos - - + + - - if { } + + z_dir + + + + + + + + n_mot + + + + + + + + n_motAbs + + + + + + + + a_elecAngle + + + + + + + + b_motStdStill + + + + + + + + b_enaAdvCtrl - + - - + + - + - - + + - - + + - - F02_Diagnostics + + F01_Estimations - + - - + + - - + + - - action + + boolean - + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + - + - - + + - + uint8 @@ -3688,74 +3786,104 @@ - + - - + + - - + + - - boolean + + int8 - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + int8 + + - + - - + + + + + + + + + + + - - [b_motStdStill] + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En6 - + + + + + + + - - + + - + boolean @@ -3767,28 +3895,34 @@ - - + + + + + + + + - + - + - - [DC_phaB] + + [b_motStdStill] - + @@ -3800,44 +3934,44 @@ - - + + - + - + - - [b_motEna] + + [b_hallB] - + - - + + - - + + - - boolean + + uint8 @@ -3848,108 +3982,168 @@ - - - + + + - - + + + + + + + + - - + + - - 2 + + b_errFlag - - - - - - + + + + + + + b_motStdStill - - - - - - + + + + + + + b_motEna - - + + - - DC_phaB + + z_ctrlTypSel - - - - - - - - - - - - - - - - - - - - + + - - + + z_ctrlModReq - - + + - - + + r_inpTgt + + + + + + + + VqFinPrev + + + + + + + + z_ctrlMod + + + + + + + + r_inpTgtSca - + + + + + + + + + + - + + + + + + + + + + + + + + + + + F03_Control_Mode_Manager + - - - + + + + + + + + + + + + + + + + + uint8 - - + + + + + + + + - - + + - - int16 + + sfix16_En4 @@ -3960,29 +4154,50 @@ - - - - - - - + + + + + + + + + + + + + - - + + - - [z_errCode] + + [b_hallC] - - + + + + + + + + + + + + + + + + + uint8 @@ -3993,44 +4208,44 @@ - - + + - + - + - - [b_motStdStill] + + [r_devSignal2] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -4041,29 +4256,29 @@ - - + + - + - + - + - + - + @@ -4078,22 +4293,22 @@ - + - + - - + + - + int16 @@ -4105,60 +4320,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [r_devSignal1] - - - - - - - - - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -4169,60 +4368,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [i_phaBC] - - - - - - - - - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -4233,28 +4416,28 @@ - - + + - + - + - - [DC_phaC] + + [DC_phaB] - + @@ -4266,467 +4449,186 @@ - - - + + + - - + + + + + + + + - - + + - - 3 - - - - - - - - - - - - - - + + b_enaAdvCtrl - - + + - - DC_phaC + + z_ctrlMod - - - - - - - - - - - - - - - - - - - - + + - - + + r_inpTgtSca - - + + - - - - - - - - - - - - - - - - - + + b_motEna - - - - - - + + + + + + + n_mot - - + + - - int16 + + n_motAbs - - - - - - - - - - - - - - - - - - - - + + - - 9 + + a_elecAngle - - - - - - + + + + + + + i_phaAB - - - - - - + + + + + + + i_phaBC - - + + - - i_DCLink + + V_phaABC_FOC - - - - - - + + + + + + + Vq - - + + - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z_ctrlTypSel - - - - - - - - z_ctrlModReq - - - - - - - - r_inpTgt + + r_devSignal1 - - - - - - b_hallA - - - - - - - - b_hallB - - - - - - - - b_hallC - - - - - - - - r_inpTgtSca - - - - - - - - z_posRaw - - - - - - - - z_pos - - - - - - - - n_mot - - - - - - - - n_motAbs - - - - - - - - a_elecAngle - - - - + + - - b_motStdStill + + r_devSignal2 - - + + - - b_enaFOC + + if { } - + - - + + - - - - - - - - - - - - - - - F01_Estimations - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - + - - + + - - + + - - boolean + + F04_Field_Oriented_Control - + - + - - + + - + sfix16_En4 @@ -4734,41 +4636,20 @@ - - - - - - - - - - - - - - - uint8 - - - - - - - + - + - - + + - + sfix16_En4 @@ -4776,164 +4657,62 @@ - + - - + + - - + + - - int8 + + action - + - - + + - - + + - - ufix16_En6 + + sfix16_En4 - + - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - + - - + + - + sfix16_En4 @@ -4945,184 +4724,49 @@ - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - i_phaAB - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - b_hallB - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - + + + + + + + + + - - + + - - + + - - 4 + + [z_posRaw] - - - - - - - - - - - - - - - - - b_hallA + + - + - - + + - + uint8 @@ -5134,28 +4778,28 @@ - - + + - + - + - - [z_ctrlTypSel] + + [n_motAbs] - + @@ -5167,44 +4811,60 @@ - - - + + + - - + + - + - - + + - - [r_devSignal2] + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -5215,58 +4875,59 @@ - - - + + + - - + + - + - - + + - - 3 + + + + + + + + + + - - - - + - - - - - - - - - - - r_inpTgt + + + + + + + - + - - + + - + int16 @@ -5278,58 +4939,58 @@ - - + + - + - + - - 8 + + 9 - + - - + + - - + + - - i_phaBC + + i_DCLink - + - - + + - + int16 @@ -5341,115 +5002,59 @@ - - - + + + - - - - - - - - + + - - - - - - b_errFlag - - - - - - - - b_motStdStill - - - - - - - - b_motEna - - - - - - - - z_ctrlModReq - - - - + + - - z_ctrlMod + + 7 - - - - - - - - + + - - - - - - - - + + - - + + - - F03_Control_Mode_Manager + + i_phaAB - - - - - - - + - - + + - - uint8 + + int16 @@ -5460,50 +5065,44 @@ - - - - - - - - - + + + - - + + - - + + - - [DC_phaC] + + 2 - - + + - - - + + + - - + + - - int16 + + DC_phaB @@ -5514,60 +5113,107 @@ - - - + + + - - + + - + - - + + - - + + 6 + + + + + + + + + + + + + + + + + + + + + + b_hallC + + + + + + + - - + + - - + + uint8 - - + + + + + + + + + + + + + + + + + + + [z_dir] + - - + + - - + + - - + + - - int16 + + int8 @@ -5578,59 +5224,62 @@ - - - + + + - - + + - - + + - - 2 + + [z_pos] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - z_ctrlModReq + + [z_posRaw] - - - - - - - - - - - uint8 + + + @@ -5641,59 +5290,59 @@ - - + + - + - + - - 6 + + 8 - + - - + + - - + + - - b_hallC + + i_phaBC - + - - + + - - uint8 + + int16 @@ -5704,59 +5353,59 @@ - - + + - + - + - - 1 + + 4 - + - - + + - - + + - - b_motEna + + b_hallA - - + + - - + + - - boolean + + uint8 @@ -5767,29 +5416,29 @@ - - + + - + - + - + - + - + @@ -5804,22 +5453,22 @@ - + - + - - + + - + int16 @@ -5831,62 +5480,59 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 3 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [i_phaAB] + + r_inpTgt - - - + + + + + + + + + + + int16 @@ -5897,43 +5543,58 @@ - - - + + + - - + + - - + + - - [z_posRaw] + + 2 - - + + + + + + + + + + + + + + + + + z_ctrlModReq - + - - + + - + uint8 @@ -5945,44 +5606,59 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 5 - - + + + + + + + + + + + + + + + + + b_hallB - - + + - - + + - - sfix16_En4 + + uint8 @@ -5993,60 +5669,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - + + + + - - - + + + + + + + + + + + b_motEna - - + + - - + + - - int16 + + boolean @@ -6057,44 +5732,76 @@ - - - + + + - - + + - + - - + + - - [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -6106,11 +5813,11 @@ - + - + @@ -6120,11 +5827,11 @@ - + - + @@ -6134,11 +5841,11 @@ - + - + @@ -6148,11 +5855,11 @@ - + - + @@ -6162,11 +5869,11 @@ - + - + @@ -6190,11 +5897,11 @@ - + - + @@ -6204,11 +5911,11 @@ - + - + @@ -6232,11 +5939,11 @@ - + - + @@ -6246,11 +5953,11 @@ - + - + @@ -6260,25 +5967,11 @@ - - - - - - - - - - - - - - - + - + @@ -6288,11 +5981,11 @@ - + - + @@ -6302,11 +5995,11 @@ - + - + @@ -6316,25 +6009,11 @@ - + - - - - - - - - - - - - - - - + @@ -6344,11 +6023,11 @@ - + - + @@ -6358,11 +6037,11 @@ - + - + @@ -6372,11 +6051,11 @@ - + - + @@ -6386,11 +6065,11 @@ - + - + @@ -6400,808 +6079,786 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - + - - - - - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + - + - + - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - - - - - + - + - - - - - + - + + + + - + 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 84879094dd0503a2ce94cbf220f550e861a5423f..8593e2e1bffe71827050444e33b89f09a0b1911e 100644 GIT binary patch delta 19 acmaDM`9gAn4u>4OxomC>N90D6Ej$1~(gqIz delta 19 bcmaDM`9gAn4hJ*0jA7H<_g^=fY~cX_N<|0C 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 ed52b6c..46320df 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 @@ -27,7 +27,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -94,7 +94,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -161,7 +161,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "3", "Port number", "[]", "[]", @@ -284,8 +284,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_02_Edge_Detector", - "label":"F01_02_Edge_Detector", + "name":"F01_01_Edge_Detector", + "label":"F01_01_Edge_Detector", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -664,8 +664,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_04_Direction_Detection", - "label":"F01_04_Direction_Detection", + "name":"F01_03_Direction_Detection", + "label":"F01_03_Direction_Detection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -924,8 +924,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_05_Speed_Estimation", - "label":"F01_05_Speed_Estimation", + "name":"F01_04_Speed_Estimation", + "label":"F01_04_Speed_Estimation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1021,8 +1021,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_03_Position_Calculation", - "label":"F01_03_Position_Calculation", + "name":"F01_02_Position_Calculation", + "label":"F01_02_Position_Calculation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1243,7 +1243,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -1352,11 +1352,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8467", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1385,7 +1385,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "8", "Port number", "[]", "[]", @@ -1398,9 +1398,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -1432,11 +1432,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1465,7 +1465,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "7", "Port number", "[]", "[]", @@ -1512,11 +1512,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8467", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_posRaw", - "label":"z_posRaw", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1545,7 +1545,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "6", "Port number", "[]", "[]", @@ -1592,11 +1592,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9383", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1625,7 +1625,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "5", "Port number", "[]", "[]", @@ -1671,6 +1671,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_counterRaw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462", "className":"Simulink.If", @@ -1715,74 +1748,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8468", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "8", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "b_motStdStill", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1790,16 +1776,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1808,7 +1794,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "b_enaAdvCtrl", "local", "Tag" ], @@ -1828,11 +1814,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1841,7 +1827,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "a_elecAngle", "local", "Tag" ], @@ -1861,21 +1847,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8457", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", - "local", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -1889,26 +1873,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9377", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", - "local", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -1922,26 +1904,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9379", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "z_dirPrev", "Tag" ], "tabs":[ @@ -1955,26 +1935,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", - "local", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1988,16 +1966,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From21", + "label":"From21", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counter", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_posRaw", + "label":"z_posRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2026,7 +2035,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "1", "Port number", "[]", "[]", @@ -2073,11 +2082,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2085,7 +2094,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "z_counterRaw", "Tag" ], "tabs":[ @@ -2104,33 +2113,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F01_05_Electrical_Angle_Estimation", + "label":"F01_05_Electrical_Angle_Estimation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "z_counterRaw", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, @@ -2166,44 +2241,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9432", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_motStdStill", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9932", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2211,7 +2253,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "z_dir", "Tag" ], "tabs":[ @@ -2230,19 +2272,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9381", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", + "z_dirPrev", + "local", "Tag" ], "tabs":[ @@ -2256,16 +2300,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2273,7 +2317,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "n_motAbs", "Tag" ], "tabs":[ @@ -2292,19 +2336,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "a_elecAngle", + "z_posRaw", + "local", "Tag" ], "tabs":[ @@ -2318,24 +2364,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8457", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_enaFOC", + "z_counter", + "local", "Tag" ], "tabs":[ @@ -2349,26 +2397,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_dirPrev", - "local", + "b_motStdStill", "Tag" ], "tabs":[ @@ -2382,16 +2428,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2399,7 +2445,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_posRaw", "Tag" ], "tabs":[ @@ -2412,1153 +2458,143 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F01_06_Electrical_Angle_Estimation", - "label":"F01_06_Electrical_Angle_Estimation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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: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:8455", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_pos", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counter", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8424", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F01_01_Input_Scaling", - "label":"F01_01_Input_Scaling", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8430", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_dirPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9378", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", - "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":[ - "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:8449", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "a_elecAngle", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9375", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", - "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":[ - "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: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:8450", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9382", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9384", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8440#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8439#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8442#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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:8225#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "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":[ - ] + "finder":{ + "blocktype":"From", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "n_motAbs", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Goto", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8443#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "GotoTag", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "z_pos", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"From", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8444#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9933", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", "StorageClass", - "Description", - "documentLink" + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "", + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", + "0", "off", - "Simulink", - "Auto", + "reset", + "off", + "0", "", - "" + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -3566,11 +2602,13 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Outport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8221#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3621,7 +2659,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8222#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8440#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3672,7 +2710,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8223#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8439#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3723,7 +2761,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8441#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8442#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3774,7 +2812,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8438#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8225#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3825,7 +2863,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8433#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3876,7 +2914,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8443#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3927,7 +2965,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8425#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8444#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3978,7 +3016,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8221#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4029,7 +3067,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8445#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8222#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4080,7 +3118,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8426#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8223#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4131,7 +3169,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8428#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8441#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4182,7 +3220,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8438#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4233,7 +3271,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8433#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4284,7 +3322,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4335,7 +3373,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8425#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4386,7 +3424,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4437,7 +3475,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8445#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4488,7 +3526,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8426#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4539,7 +3577,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8428#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4590,7 +3628,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4641,7 +3679,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4692,7 +3730,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8424#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4743,7 +3781,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8430#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4794,7 +3832,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4845,7 +3883,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8384#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4896,7 +3934,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4947,7 +3985,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4998,7 +4036,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8224#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8437#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5049,7 +4087,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:6", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5100,7 +4138,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5151,7 +4189,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9374#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8427#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5202,7 +4240,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9375#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8384#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5253,7 +4291,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9378#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5304,7 +4342,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9380#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5355,7 +4393,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9381#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5406,7 +4444,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9382#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5457,7 +4495,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9333#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5508,7 +4546,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9431#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:5", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5559,7 +4597,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263#out:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9932#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_8220_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.png index 2996dff9de59701e542afa88b1a93b1d3301d4f3..d8e6a914c42ac6373241e26d3810e9a3fe53b20c 100644 GIT binary patch literal 12669 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 B-@X6< literal 14887 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 KDHokK5BeX%VNaa^ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg index 9108123..075455b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.svg @@ -1,10 +1,10 @@ - + - + @@ -14,10 +14,10 @@ - + - + @@ -27,44 +27,44 @@ - - 4 + + 1 - + - + - + - + b_hallA - + - + - + uint8 @@ -77,10 +77,10 @@ - + - + @@ -90,44 +90,44 @@ - - 5 + + 2 - + - + - + - + b_hallB - + - + - + uint8 @@ -140,10 +140,10 @@ - + - + @@ -153,44 +153,44 @@ - - 6 + + 3 - + - + - + - + b_hallC - + - + - + uint8 @@ -203,10 +203,10 @@ - + - + @@ -216,29 +216,29 @@ - + 4 - + - + - + - + n_mot @@ -252,7 +252,7 @@ - + @@ -325,11 +325,11 @@ - + - F01_02_Edge_Detector + F01_01_Edge_Detector @@ -346,7 +346,7 @@ - + @@ -400,7 +400,7 @@ - + @@ -448,7 +448,7 @@ - + @@ -496,7 +496,7 @@ - + @@ -544,7 +544,7 @@ - + @@ -592,7 +592,7 @@ - + @@ -640,7 +640,7 @@ - + @@ -754,7 +754,7 @@ - + @@ -771,7 +771,7 @@ - + @@ -844,11 +844,11 @@ - + - F01_04_Direction_Detection + F01_03_Direction_Detection @@ -865,7 +865,7 @@ - + @@ -886,7 +886,7 @@ - + @@ -907,7 +907,7 @@ - + @@ -961,7 +961,7 @@ - + @@ -1010,10 +1010,10 @@ - + - + @@ -1023,14 +1023,14 @@ - + [b_hallA] - + @@ -1043,10 +1043,10 @@ - + - + @@ -1056,14 +1056,14 @@ - + [b_hallB] - + @@ -1076,10 +1076,10 @@ - + - + @@ -1089,14 +1089,14 @@ - + [b_hallC] - + @@ -1110,7 +1110,7 @@ - + @@ -1125,83 +1125,75 @@ - - - - - z_ctrlTypSel - - - - + - + b_edge - - + + - + z_dir - - + + - + z_dirPrev - + - + n_mot - + - + n_motAbs - + - + z_counter - + - + z_counterRaw - + - + b_motStdStill - + - - b_enaFOC + + b_enaAdvCtrl @@ -1230,12 +1222,12 @@ - - + + - - F01_05_Speed_Estimation + + F01_04_Speed_Estimation @@ -1247,16 +1239,16 @@ - - + + - - + + - - sfix16_En4 + + int16 @@ -1268,16 +1260,16 @@ - - + + - - + + - - sfix16_En4 + + int16 @@ -1289,16 +1281,16 @@ - - + + - - + + - - int16 + + sfix16_En4 @@ -1310,16 +1302,16 @@ - - + + - - + + - - boolean + + sfix16_En4 @@ -1331,16 +1323,16 @@ - - + + - - + + - - int16 + + boolean @@ -1356,11 +1348,11 @@ - - + + - + boolean @@ -1380,7 +1372,7 @@ - + @@ -1394,43 +1386,43 @@ - + - + b_hallA - + - + b_hallB - + - + b_hallC - + - + z_posRaw - + - + z_pos @@ -1460,12 +1452,12 @@ - - + + - - F01_03_Position_Calculation + + F01_02_Position_Calculation @@ -1481,11 +1473,11 @@ - - + + - + int8 @@ -1502,11 +1494,11 @@ - - + + - + uint8 @@ -1525,42 +1517,42 @@ - + - + - + - + [b_edge] - + - + - - + + - + boolean @@ -1582,11 +1574,11 @@ - + - + [n_mot] @@ -1606,42 +1598,42 @@ - + - + - + - + [n_mot] - + - + - - + + - + sfix16_En4 @@ -1654,42 +1646,42 @@ - + - + - + - - 3 + + 2 - + - + - - + + - + z_pos @@ -1702,42 +1694,42 @@ - + - + - + - + [z_pos] - + - + - - + + - + int8 @@ -1750,42 +1742,42 @@ - + - + - + - + [z_dir] - + - + - - + + - + int8 @@ -1797,44 +1789,44 @@ - - + + - + - + - - 6 + + 8 - + - - + + - - + + - - a_elecAngle + + b_enaAdvCtrl @@ -1845,44 +1837,44 @@ - - + + - + - + - - 5 + + 7 - + - - + + - - + + - - n_motAbs + + b_motStdStill @@ -1893,44 +1885,44 @@ - - + + - + - + - - 2 + + 6 - + - - + + - - + + - - z_posRaw + + a_elecAngle @@ -1941,44 +1933,77 @@ - - + + - + - + - - 1 + + 5 - + - - + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + + + + - - + + - - r_inpTgtSca + + [z_counterRaw] + + + + + + + @@ -1999,19 +2024,19 @@ - + - + u1 - + - + if(u1 ~= 0) @@ -2029,11 +2054,11 @@ - - + + - + action @@ -2045,44 +2070,29 @@ - - - + + + - - + + - - + + - - 8 + + [b_motStdStill] - - - - - - - - - - - - - - - - - b_enaFOC + + @@ -2093,11 +2103,11 @@ - - + + - + @@ -2107,14 +2117,14 @@ - - [z_posRaw] + + [b_enaAdvCtrl] - + @@ -2126,11 +2136,11 @@ - - + + - + @@ -2140,14 +2150,14 @@ - - [z_counterRaw] + + [a_elecAngle] - + @@ -2159,29 +2169,44 @@ - - - + + + - - + + - + - - [z_counter] + + [b_enaAdvCtrl] - - + + + + + + + + + + + + + + + + + boolean @@ -2192,768 +2217,44 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - - - - - - - - - - - - - - - - - - b_motStdStill - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRaw] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dir] - - - - - - - - - - - - - - - - - - - - - - int8 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posRaw] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_dirPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z_pos - - - - - - - - z_dir - - - - - - - - z_counter - - - - - - - - z_counterRaw - - - - - - - - b_enaFOC - - - - - - - - a_elecAngle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - F01_06_Electrical_Angle_Estimation + + - - - - - - - - + + - - + + - - ufix16_En6 + + boolean @@ -2964,50 +2265,44 @@ - - - - - - - - + + - + - + - - [z_ctrlTypSel] + + [z_dirPrev] - + - - + + - - + + - - uint8 + + int8 @@ -3018,29 +2313,44 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + [a_elecAngle] - - + + + + + + + + + + + + + + + + + sfix16_En6 @@ -3051,44 +2361,44 @@ - - + + - + - + - - [z_pos] + + [z_counter] - + - - + + - - + + - - int8 + + int16 @@ -3099,44 +2409,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + 1 - - + + - - - + + + - - + + - - int16 + + z_posRaw @@ -3147,44 +2457,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [z_counterRaw] - + - + - - + + - - uint8 + + int16 @@ -3195,107 +2505,123 @@ - - - + + + - + - - + + - - + + - - z_ctrlTypSel + + z_pos - - + + - - z_ctrlModReq + + z_dir - - + + + + + + z_counter + + + + - - r_inpTgt + + z_counterRaw - - + + + + + + b_enaAdvCtrl + + + + - - r_inpTgtSca + + a_elecAngle - + - - + + - + - - + + - - + + - - F01_01_Input_Scaling + + F01_05_Electrical_Angle_Estimation - + - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -3306,49 +2632,49 @@ - + - + - + - + - + - - [z_dirPrev] + + [z_dir] - + - + - - + + - + int8 @@ -3360,59 +2686,125 @@ - - - + + + - - + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + - - + + - - 2 + + [n_motAbs] - - - - - - - - - - - - - - - - - z_ctrlModReq + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3423,28 +2815,28 @@ - - + + - + - + - - [a_elecAngle] + + [z_posRaw] - + @@ -3456,59 +2848,77 @@ - - - + + + - - + + - - + + - - 3 + + [z_counter] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - r_inpTgt + + [b_motStdStill] + + + + + + + - - + + - - + + - - sfix16_En4 + + boolean @@ -3519,58 +2929,43 @@ - - - + + + - - + + - - + + - - 1 + + [z_posRaw] - - - - - - - - - - - - - - - - - z_ctrlTypSel + + - + - - + + - + uint8 @@ -3582,28 +2977,28 @@ - - + + - + - + - - [b_enaFOC] + + [n_motAbs] - + @@ -3615,77 +3010,44 @@ - - + + - + - + - - [r_inpTgtSca] + + [z_pos] - + - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - [r_inpTgtSca] - - - - - - - + + int8 @@ -3696,44 +3058,44 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + 3 - - + + - - - + + + - - + + - - sfix16_En4 + + z_dir @@ -3857,11 +3219,11 @@ - + - + @@ -3871,11 +3233,11 @@ - + - + @@ -3885,11 +3247,11 @@ - + - + @@ -3955,11 +3317,11 @@ - + - + @@ -3983,11 +3345,11 @@ - + - + @@ -3997,11 +3359,11 @@ - + - + @@ -4011,11 +3373,11 @@ - + - + @@ -4067,11 +3429,11 @@ - + - + @@ -4162,28 +3524,14 @@ - - - - - - - - - - - - - - - + - + @@ -4193,11 +3541,11 @@ - + - + @@ -4235,25 +3583,11 @@ - - - - - - - - - - - - - - - + - + @@ -4277,137 +3611,53 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + @@ -4416,5 +3666,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 340428f..f519bf5 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: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":[ @@ -331,11 +331,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8232", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "inspector":{ "params":[ 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 e23d374..8c476d4 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,38 +303,38 @@ - + - - - + + + - + - - Ini=0 + + uint8 - - - + + + - + - - uint8 + + Ini=0 @@ -345,11 +345,11 @@ - - + + - + @@ -359,7 +359,7 @@ - + @@ -367,7 +367,7 @@ - + @@ -375,7 +375,7 @@ - + @@ -383,7 +383,7 @@ - + @@ -398,37 +398,37 @@ - + - + - + - + Ini=0 - + - + - + uint8 @@ -499,32 +499,32 @@ - - - + + + - + - - Ini=0 + + uint8 - - - + + + - + - - uint8 + + Ini=0 @@ -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 ffa983e..d325fbf 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,39 +515,87 @@ "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8235", "inspector":{ "params":[ + "NumberOfDimensions", "IndexMode", "IndexOptionArray", + "IndexParamArray", + "OutputSizeArray", + "InputPortWidth", + "SampleTime", "IndexOptions", + "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", "IndexParamArray", - "Indices", + "OutputSizeArray", "InputPortWidth", + "SampleTime", + "IndexOptions", "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", + "IndexParamArray", "OutputSizeArray", - "OutputSizes", - "SampleTime" + "InputPortWidth", + "SampleTime", + "IndexOptions", + "Indices", + "OutputSizes" ], "values":[ + "1", "Zero-based", [ "Index vector (port)" ], - "Index vector (port)", [ "[1 3]" ], - "[1 3]", + [ + "1" + ], "length(vec_hallToPos)", + "-1", + "Index vector (port)", "1", + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], [ "1" ], + "length(vec_hallToPos)", + "-1", + "Index vector (port)", "1", - "-1" + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], + [ + "1" + ], + "length(vec_hallToPos)", + "-1", + "Index vector (port)", + "[1 3]", + "1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 24 + ] }, "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 f1b535e..b683674 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg @@ -768,5 +768,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json index 5c010bb..a26d20f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json @@ -594,11 +594,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8262", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"z_dirPrev", + "label":"z_dirPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8260", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "inspector":{ "params":[ @@ -613,7 +693,7 @@ ], "values":[ "0", - "Elements as channels (sample based)", + "Inherited", "-1", "", "", @@ -644,11 +724,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8260", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "inspector":{ "params":[ @@ -663,7 +743,7 @@ ], "values":[ "0", - "Inherited", + "Elements as channels (sample based)", "-1", "", "", @@ -724,86 +804,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8262", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg index 0c00def..1261d78 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 @@ -220,32 +220,32 @@ - - - - - - - - - - - - + - + boolean + + + + + + + + + + + @@ -780,45 +780,93 @@ - - - + + + - + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_dirPrev + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + @@ -833,22 +881,37 @@ - + + + + + + + + + + + + Ini=0 + + + + - + - - + + - + int8 @@ -860,45 +923,45 @@ - - - + + + - + - + - + - + - + - + - + - + - + @@ -913,42 +976,27 @@ - + - + - - + + - + int8 - - - - - - - - - - - Ini=0 - - - - @@ -957,7 +1005,7 @@ - + @@ -965,11 +1013,11 @@ - + - + if { } @@ -987,11 +1035,11 @@ - + - + Action Port @@ -1001,54 +1049,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_dirPrev - - - - - - - - @@ -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 db2548f..3173dc2 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 @@ -1,59 +1,10 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8380", - "className":"Simulink.Annotation", - "icon":"WebViewIcon2", - "name":"

Authorize FOC only it is selected.

", - "label":"

Authorize FOC only it is selected.

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

Authorize FOC only it is selected.

", - "off", - "rich", - "auto", - "auto", - -1, - "auto", - "black", - "white", - "left", - "off", - "" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8381", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Authorize FOC only if not in high transient detected.

", - "label":"

Authorize FOC only if not in high transient detected.

", + "name":"

Authorize advanced control only if not in high transient detected.

", + "label":"

Authorize advanced control only if not in high transient detected.

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

Authorize FOC only if not in high transient detected.

", + "\n\n

Authorize advanced control only if not in high transient detected.

", "off", "rich", "auto", @@ -101,8 +52,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8382", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Authorize FOC only if speed is above a threshold.

", - "label":"

Authorize FOC only if speed is above a threshold.

", + "name":"

Authorize advance control only if speed is above a threshold.

", + "label":"

Authorize advance control only if speed is above a threshold.

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

Authorize FOC only if speed is above a threshold.

", + "\n\n

Authorize advance control only if speed is above a threshold.

", "off", "rich", "auto", @@ -150,8 +101,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8383", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

FOC Enable Flag Determination

", - "label":"

FOC Enable Flag Determination

", + "name":"

Advanced Control Enable Flag Determination

", + "label":"

Advanced Control Enable Flag Determination

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

FOC Enable Flag Determination

", + "\n\n

Advanced Control Enable Flag Determination

", "off", "rich", "auto", @@ -419,7 +370,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -661,7 +612,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -734,11 +685,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"z_counterRaw", + "label":"z_counterRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -767,7 +718,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "4", "Port number", "[]", "[]", @@ -780,9 +731,9 @@ "auto", "off", "off", - "[]", + "0", "off", - "held", + "reset", "off", "0", "", @@ -814,11 +765,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -847,7 +798,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -894,11 +845,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counterRaw", - "label":"z_counterRaw", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -927,7 +878,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -940,9 +891,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -974,63 +925,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"z_maxCntRst2", + "label":"z_maxCntRst2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "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":[ - "3", - "Port number", + "z_maxCntRst", + "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", @@ -1039,8 +959,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -1049,7 +969,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, @@ -1152,63 +1072,38 @@ } }, { - "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", @@ -1217,8 +1112,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 5, + 9 ] }, "viewer":{ @@ -1227,143 +1122,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "Threshold", + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "u2 ~= 0", "off", - [ - ], - "Auto" + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "z_maxCntRst", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator9", - "label":"Relational Operator9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "<", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 1, - 4 + 9 ] }, "viewer":{ @@ -1372,7 +1179,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", "masktype":"" } }, @@ -1422,38 +1229,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"b_motStdStill", + "label":"b_motStdStill", "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":[ - "==", + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -1462,40 +1304,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8304", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlTypSel", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, @@ -1531,44 +1340,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_dirPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1577,7 +1353,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "b_motStdStill", "local", "Tag" ], @@ -1597,11 +1373,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1610,7 +1386,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "dz_trnsDet", "local", "Tag" ], @@ -1630,51 +1406,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Mux3", + "label":"Mux3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "dz_trnsDet", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -1687,24 +1432,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "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_enaAdvCtrl", + "local", "Tag" ], "tabs":[ @@ -1718,30 +1465,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "z_counterRaw", - "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" @@ -1749,24 +1515,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_edge", + "z_counter", + "local", "Tag" ], "tabs":[ @@ -1780,25 +1548,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8288", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "z_ctrlTypSel", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -1811,16 +1579,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Mux", "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":[ @@ -1828,7 +1596,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "dz_trnsDet", "Tag" ], "tabs":[ @@ -1847,44 +1615,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "n_motAbsPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1892,7 +1627,7 @@ "IconDisplay" ], "values":[ - "n_motAbsPrev", + "b_edge", "Tag" ], "tabs":[ @@ -1911,11 +1646,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1923,62 +1658,13 @@ "IconDisplay" ], "values":[ - "z_dir", + "b_enaAdvCtrl", "Tag" ], "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"z_maxCntRst2", - "label":"z_maxCntRst2", - "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 - ] + "Parameter Attributes" + ], + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1986,7 +1672,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, @@ -2034,11 +1720,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":[ @@ -2046,7 +1732,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "n_motRaw", "Tag" ], "tabs":[ @@ -2065,11 +1751,11 @@ } }, { - "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":[ @@ -2077,7 +1763,7 @@ "IconDisplay" ], "values":[ - "b_edge", + "z_dirPrev", "Tag" ], "tabs":[ @@ -2096,50 +1782,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Relational Operator9", + "label":"Relational Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Criteria", + "Operator", "InputSameDT", - "OutMin", - "OutMax", "OutDataTypeStr", - "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", "SampleTime", - "Threshold", "ZeroCross" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", + "<", "off", + "boolean", + "Simplest", "-1", - "0", "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, 1, - 9 + 4 ] }, "viewer":{ @@ -2148,26 +1822,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motRaw", - "local", + "z_dir", "Tag" ], "tabs":[ @@ -2181,24 +1853,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRaw", + "z_dirPrev", + "local", "Tag" ], "tabs":[ @@ -2212,24 +1886,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", + "n_motAbsPrev", + "local", "Tag" ], "tabs":[ @@ -2243,26 +1919,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "dz_trnsDet", - "local", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -2276,25 +1950,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8283", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "bar" + "n_motAbsPrev", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2307,16 +1981,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2343,40 +2017,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "z_cntInit" - ], - "values":[ - "z_maxCntRst" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2384,7 +2029,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "n_motRaw", "Tag" ], "tabs":[ @@ -2403,19 +2048,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", + "n_mot", + "local", "Tag" ], "tabs":[ @@ -2429,16 +2076,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2446,7 +2093,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "n_motAbs", "Tag" ], "tabs":[ @@ -2562,38 +2209,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_commDeacv", - "label":"n_commDeacv", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "n_commDeacvHi", - "n_commAcvLo", - "1", - "0", - "Elements as channels (sample based)", + "6", + "Port number", "[]", "[]", - "boolean", + "Inherit: auto", "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -2602,8 +2274,8 @@ ], "tabs_idx":[ 0, - 5, - 9 + 2, + 11 ] }, "viewer":{ @@ -2612,7 +2284,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Outport", "masktype":"" } }, @@ -2666,21 +2338,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_enaFOC", - "local", + "z_counter", "Tag" ], "tabs":[ @@ -2694,16 +2364,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2711,7 +2381,7 @@ "IconDisplay" ], "values":[ - "n_motRaw", + "b_motStdStill", "Tag" ], "tabs":[ @@ -2777,21 +2447,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", - "local", + "z_counterRawPrev", "Tag" ], "tabs":[ @@ -2805,65 +2473,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8267", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "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":[ - "4", - "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":{ @@ -2872,7 +2523,69 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counterRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counter", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -2908,11 +2621,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8264", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8267", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel", - "label":"z_ctrlTypSel", + "name":"z_dirPrev", + "label":"z_dirPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2935,7 +2648,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -2975,20 +2688,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "z_cntInit" + ], + "values":[ + "z_maxCntRst" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux3", - "label":"Mux3", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "n_motAbs", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -3001,16 +2745,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -3018,7 +2762,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "b_edge", "Tag" ], "tabs":[ @@ -3037,43 +2781,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8269", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "CTRL_FOC", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "n_motRaw", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3081,26 +2809,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", - "local", + "z_counterRaw", "Tag" ], "tabs":[ @@ -3114,16 +2840,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "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,7 +2861,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", @@ -3164,11 +2890,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 +2906,8 @@ "SampleTime" ], "values":[ - "AND", - "3", + "NOT", + "2", "rectangular", "off", "boolean", @@ -4228,57 +3954,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8264#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8277#out:1", "className":"Simulink.Line", @@ -4942,108 +4617,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8269#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8288#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8286#out:1", "className":"Simulink.Line", @@ -5147,58 +4720,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8367#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "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:8372#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8310#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5249,7 +4771,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8309#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5300,7 +4822,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8310#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5351,7 +4873,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5402,7 +4924,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8271#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5453,7 +4975,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5504,7 +5026,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8271#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5555,7 +5077,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5606,7 +5128,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9429#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5657,7 +5179,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5708,7 +5230,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9429#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5759,7 +5281,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8372#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5810,7 +5332,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8309#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_8263_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.png index 4a3699fff750d3b41d4d13977f2cb809e3d9bd58..1e31fce1904a51fda1948470f768b7dd65254bac 100644 GIT binary patch literal 8126 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 literal 8337 zcmd^l`9G9j{5B~{mXeTcQIYKXE=!bs9kPcIW8cSGl4Q>Z$rchCV-jO9)~v;tEMv(s zp}}D6`}&-o=P!7E{Jy@gms#Aex#zymIq&OwU)Oae-pD|ko|c`Kf`Wqn@gq$W@Y?h5 zagiE4BP=WP!OJC|M^F4IC>T2aJt#BoGu))0;GuY|sb&_EOP;cZ<_4cEZ0zOYxKfno zLX?6WyW{-& z5AvcE9vU;hy5ceDy?5ziRr=!xuYU1RUR94duX&N4>B=psNB?UMbdgnFU`inHt4Uh2 zJBnm7*%C3L7@#$4_tBL3;rMELoh_?~&ByBMYtaD;`XwfXmO`6<(+$6LCnhGQ8kCaA zWN>bp-d#N539he?uHae$`^YsC7X(*@KTsaTjX#OB7HF-s)w98LMR9Wc9W2p3o?(n?CHf5v47`{icdhMR zV~G3VQhhu9@k)?ly-l(^N~hfH``pI*VsXm1uU~z%r!|}Gw2`Bds;ViY%O!BQ2VUI% z;HQNcd(!!Hl#W$wM8A5{#;AQ%-dfbzk)EL;A(cSjedqF3eC9%bTkQJ@@OdYxa ztMXyyFM$`*)wC;Z_)IGXCcG$l-U|*9B`6(+mnq7InFAV#XCh`x@97kF#H+-y(Z>bF z+BfPqgkj+XmES8thlhtBlFQ8mmt+w`qz+QRxiZ2m{fv)g1XPlRmGz?CAtM_-0>#g~ z6t}o^xca34Otpg;o28{?>%x|_@@|6t@k{QLMeWAj-yRe;m>~M5)49>!g{?92uC)Ey z;m&eEaBy`^&8Jf+491?-`%sCi)JVVxj{mj1bDQbX?}-UtIgS-V3wK=mi_vAiNxcn)VL_Fq=DzM?*vE6@Yk6i&QwLGJEHnkBfdUr^=x}OQf*fDPH=c# zAyH14x{GydyVm**@k`AF-C}^lFVcQrBqK&SGgD?j%@>-CS4XAe<{YjtllE zqR|dX^>K)_essc?)SDG5#KOm#ryhEws(wd%Y9#*5{=^%aTpMT~JQc0UdsW1)@lE%f zTIrDQ($DLScA|z#8=6DDchlpir>Ct$dJ*M#_c~ACL~70;o_j3%j-^5yBtTt~21+PCz_U*lgSlkc!3l&eO~CCP@6QKS29jFGLfEeHA(yK4l- zR&DNxj>$<5K0ZD=Mn+_4q?3~qbHc;lzcW>x9~uvfrtR+T1`;d)C``&L4lKPfvC~19 z?G=uFIZ2oTyEDnt;};C`@9yjdO}Eg~mY7_MX`_hlo@<-ikW#ioK=4t^JFox+&bLKk zDk_zyoV;ll4}O_b&t_fhlwA3ZO3)EU-nfF*IXr6PiAvU_*q^Ml{ab0@P4r8{x?DPc zZvP|_oS~4%kmofwQQPLwy0+&XGO2^I$_P;!9NeO^?1TKC?B$;B>AA>~5bG@QSTJKY zO`FS@%5VLT+H}Yqy4cX{o`+N;OVGRW(Yx<$T9f#-rQs-@pH8 zCiw5DI~V*$s%X9nb}jw!;?k@~?71^BvDU>!0dRfHR5I4Z$<3{dl(R`j6I^_JQp?Nl zaWK%>+S;y+SJV8-6sZBIm&xgL5WAA36|YrXgF=bR%Ek@2Ipgw`-SeD?)&ryfaIm}$ zwv0f#d3$SvCH~uUm71DbfF&V(L6I;+DlLGdz#;JPxtj!v5r!UcY3i64e)W1HS;cU; zZqwYbyY$O82i+u=w?$Vjo)^o(<{T<@kb9ja>TD`Alks#tHoR>|vP-PE?d@OHT4}fP z4AONDQix=h2Cg&DY2`dV8lNCE8C<9(u02fF#NrF-ru z_7@MLedPLHP|>{q@WDibymj!V({YR(^tO}tAKMDCOnRXwv#q35RSi*A=F8kWu)J^; zLn-!7Qo!KINY}4lSJpQI9jYuBS6AnU%T2+$50a#|(zCwW9A3~qW^u1IXlOYlR9TKz z+JC2}tPj~JvVzoFA(VEQhqqQ9|Z5NPU#vN8V=!94j1`Q8D7si zjf|OJw($U-D-lhAHT758VtnK{5H0bZGSbrc?P(j4(bo}=t)DqMo=Ye}X~k;YX)+T` z>m?5R+gMuiD2JuRi5^?uWvN~vZOk0*($oYa&hC`lNKIj3l@BcD{u^45vY2td295Ry z%ekY;!opGpfeYI*yHtnbFQD@b@)Tmb=WeklIie>lq#sD>>FYn0$q~=i11KvR__xBf zwK6}660jz_lilAEuKf>6&S~+z*ZbqACV1gMiH<>Cfj;)!7}Q8m&HAR0P;@udkK1)q zKHH0#`GeSpe@Ue0het=~ZRyn-P2RTseYu11e3SB5qszqd(tNAE5Nvcfsqe;gpYz9J z4Ma?0Qc~gQGXCzw%*<1$OwOU=jL&<$yBcC_9m_jkp1!n($4p+jeEBjcG|;3ht*m&n z^=3ChdWe2zg4fTzX#E0ViuS8d9B_lWpPPOzkxf@`Q(5Aq%w;%)-mLdu09g8y?V4{K z1rf;_#{`S|M4fk*++iI1$o;ovWun`{ds0nBTI@l==)^E%kpOK%LPCdQ)n~;w09rmi zSKPc>ru8=F4QS7wqX2UQ+682XT(MwRW~5zg9JDr#9j|sBM|rURaDJzEH)e=*o0)bd z2ot*bgI}DDu4B&Eq?{Stx?G+?1?2vWPu;!q_s=3H07hk{iSEyttH6MK6!L89d|o(K z^=L3EYc{1iAD%@r{tR8JH8^bEEfCKh6>ad8W4WL9NK8hiOA@D498~uv?>;jvN@=^) z4(TM5^Y8KsdC8!LfDBMpRtB?@Yrwy?we@M}d1hwj`a!tp$M=xI4rN?PY&x7&LC~p6gI;04bEB{ zknqq>!_K+mP#Am8sIEYs%dS>w?@z~}!9k{R=x#E~F&_Ke<~EoKs0=)`!VXz#g#f)i z+Mtw=gF#YW{s*9afNC%o;I07IEC8fl<~PW#yXpN@pN4^hq7Lz3cW3A74ffgpg1Jl7 zlO3!TPo2{Yk}Bmvy&P>mi{wsHk5aY2dDHYr&BfKVYT_S;0ro3ci~)LHPmo>0!*hYs z(AK8GyJvu6qN8q4uD4aa`0mFim^ik-9}M|%>CpDhjL6{r)q~nl>?JrJt-ssrYf;DAo__Ccy)}^@i z;2M70$q$x7T2+=dJ6r07(c@4%JkksSA+4?1n?tRhh!gsCU~(LGTPGDj_HM(JUp$~F z9w-}8OXgD6xl?d^W8v&Y<-1ZB@~6GaXACh69|>g{dPvuiW@U1) z!Or^)brBx)FQJ`atRJ+b2uh0q7%A$A`K?gEX9{@+w#^xc=Jn#E2uDmxquOS4Oy&X~M$(}DIDTMXaE?~40IP4p{1DmN=K z5~vBNXrK876{ojrc_d%ZH87Bb3??*mw^0YCVy-7cWpu^ZpyfAE#<`O0Nq`hpj@LB; zA2`b7l%Ub9=!vG8EoX@vvm0_;DKuHVsIApkIV1rgmaG(%B~Mn2M%*7254tK#A>qAG zNdB}(U+d}~31(=QN*d?W`p#@h1z~JG51Yr6-O$1;3B${QD3TX3S`#y6;Obg>h{e0j ziLfLb?;xW}N=voL_{c4+Ea=Ffh<9oa+i18QB(ld^qEx}y$H$)}bF20P>WO3EEP}uh z@@?)D=I~zD7Q2??vm};#)u9K3!Ykpk*Z%kj#m&haz1NyPvR~A7r7XiQv3d2iR0T$6 zQ!zIASmT-#HDD zv~j$xt^hNy%pNY_3Bg6=eYcmSgVd5QM$cLQ>_eM|D3A!HkVO5v*SJ#R{OT*Hog*Xj zS697Wwtf6;gM?#9kJUj;=)`S5))>KMvAgVJO#OGCj7_YbJ@PI3_PNYIgCwu(Mzn){j z?Z4#Y`1VUYW3MYqIxz83xFdP1iR$Bkbf z1!z?Y3^|P^%3=VGL0PWtuG<&Bql!yu9U}Z%X`i^7vE8ND2vNL=!C>%C|JLg^(@c87 zvGb5`*xu@tkHVdg{e-c5RQJ%j2&>|D&(Gk`1W`<-Q^GDC5rHwJxAgiCP{+de*vkM| zfaAp3lYlw`y#sXQx$YFI-l(CfD)G&O#s;z1L!^Jk>+gcr{?hlB1$8!t1D@Y|`~Aq6 z4oC3{2>io-h6cooOTxa~>>_o{($}~LJYT&!_zL ztN(262lTX=AkYC%Y;4Y}h)hdCVD!R8Y`~ifXaC>uqKx%aqbBAG9*IL?bf<+O`o=13~SfY>}`QTpWoEi%{u7d5pSw zc#{x|7NQS%8^VpK{{u!lX$j?_?(`W^D%mh|`#+d~~^E zZX>glTv=g+w4gC&j-9|Zp%;tZ=G8|MytQYx)T5LTAo&D6s9(?d}wnRyK4G* z?K7uwhafZUtM-{pt9R@g`T&Qcj6 z3#47A7g|zWTuq6~6_g{WEO0xpCN4PsOTOzI&Q>Jraf!*2Pojg^Bi^)DX9?iu)g-b% zq0ts6$J1eJ%E_FHBf|laqJXdp@H$o}Vv4g2j@9FAY?e{K=UlR}F3bZ>W;KZt%y9IINUjvAmr7zu#Y0IlC5At*@)=2WN*$Lkat@vtY&`qeKkFBfAl zIe-rMQk49x*GAn@CI|?SS1AgVKbLo85C{18xG6c&9BkKgQyAV6(M#lINf?-(HYhi9 zbaQ)SDfHRkwPd!QFzymTFp07R;iiZ2Y%B;SM6d$meVeImZEtJ6osp_{v%~Bd3CjUS(0{cqYf75z8%$v#g;2xRNCmcwj|F&d!ehlJ6@9) z$P^%l<)coOAn=Tq6S6l@l8IV;faCx-195WLj9PgUtyygR&&*KM(125bP5C|}CX%IV z+fr6q8V3>}o+}^0^r#m;09O6VMPRicOyKz8qRF-x z8flAMZw`VHa&(k)ZfI&MLU%2KKZ7*o6|8G|VKvho_48nB0e{9o9m7UP9k@QTxL9^* zIk$E=>5qFV#uld*9h?odwSWUlm(mvlY;{zrA ze3isF$q;SU>p$WzMh>VYNe|%LhIpktvUE z7qKLegTi_-=cT|TPbP0I;NTiEz$Its#DbV%yLOq!1Hc}nY7R0v_W&;-_ju|iG#sHa z6P{@G=~d^t|A%Thj`<}#9MCerOtv0%lbvCS32>)i!q;I<`U$zQ?N1vp7z^`&sFP)T zxUg7~ccV^8k=MkZ9hj_5!F>(}_~l^W0O9RS>?h*)dzUOKZJt7*iKnNL;VRrfztJxM zu>uAS*c){Yin78t3^!=#cO-x1JLgzs`PB;He(ejS6J^{7dIE=PWH=VWlhFAc-~;@x zfB!48W?-swVar&Er3!p>=($LiwSV>?@ae(9=!Q-1j|S)6r9>;yZfK#mRn4HBX1fN_ zH^pToDh|E^4#O3v%J4}~Acgoh&^3?L~)6pv(`ls1aicQKvv|=EU4IuJ0Y|pE|K-KVW z`Ym7sq@-$AKM4r`BjT66#NV5o9^S#`N#rZ>nh^3LCSOZ5%;{F*Kg_leQi=rn`uacx z9~>{JGEU|_MBKbNU!l~Zb#3iu!w*ofzx%?D_kH#5UMn>$=$hO3MIaaov9z!4`EUOH zM{Gd&xgT(>PDCr69d9kQ5W=_gf!$)`;P`v8N3dXR1YGg2z{<^l?**=_FKtBPa0^bpzQ$8GWU_jz>gviw#9{mEPbqeC4*RktK~(#hr7%AJlFD8^PFgv* z7~N3iN`xf8c4K2>bMW;|0~V-K#aoOG7@iO%t{q35OEmy}f4*{p9r7Rd0?+Gvu=z}h zi!mZ1BBW{B9NytQY>eUSa-0&D#f5_2X^DWK>Ng{81du?HH`>3MAdf&B@(KzpvdpYJ zkXbJBx0qTb$jb*6=u?xDMiu5-Rtr%fC?` zD-&qLrZ@cj{1&m#y}S(Qe_=JeWZv}>y~1h&?~kxMl%uMKBCI=@u!0#9oV&|x^a{LH zyl>CVjb_Q(BmVP{Te%wm<20lvjNwE{AEW-vWe079G?sHaBh;eyoTy?a)wr$@{o=>V zuew$7kGpJLS@by7Y5{qQ!V}^2A7%Pu!8!_gkOYsLAgu!R8dzSK&Tsf7>=E!jbktNh z<-N(zYdlP;ffeXStp@BiA#gyQZ;Q&pUP^V{CGEiS!&d9bD$4ku3Gy5a>AggNC6H+X z*JP-AQUikmodJdFA^f*@cR`2e{z7FRyf!^0Md|%)p@O-}OYLs@_;BNku*Xh+Hw*}H zplxL%=2;RR+HTQ)IO77DQB&C7mn0#6!+dA3uE6>LzWh241qMM?ha1-ev-4nbvcO<2H|D zw>xt@Bspio4W$Rd`1N%$t>UYoX9D$JfTKc>3>>vy0PQPPr{qJVjJ*6~YwMdp+nEVI zEHrX(aEJyhk8U~fvFItD0RYP_8bQ(pOg_$cs!}!X*<)>8aH=v0Q0eWBJZwR|ZkK)ifFgV?j4%<+EHw%4a)*+J`UE>fE@}5!k*au^%0i`Mr zt^Kn&Pz=ag3M)QdVJQS$|6L9SD(pnDzJbBuz(5_Qbiqq5!KUQj>>~ezm*zUI!PI<|SWOk5ECq=9{r&v`Pf z;*mWr)gajddjdV^<{jbr`T60KpFk)<;MbRv@(S2JsL$qQTa3}KmKPU478g^+wYTBn z7NF?Bje!pfWc31UoO?kL*>cu=LoFQHQ2N$V(sZH9<@6ebY4wvO+D{VCzL;Og>1^#& zPZmLDIHiE?jOF)FVC-kpQH7_GVCMY%-XTGoUBZnBI+_b!2Rk*Phon;c_E+O_tXqv=yI=i^MHWQ4+ zy71*00HeSaNM&4r8?B+Qt;2xpKx4bEEJ7Mj50`UbUZq1nR#t=-a0LtNGwncm`qgs) zRRMtPgq{Fm(WE<+etIm#)ZknyUEb3j1n~V$bBHO|PO(s1mrJ-1>U?&!0a7 zZUsEbL>v2IL{F#0MA6+z*Ee`d7Wm?^vdgR@z$it6Ca4P(BLb0RDb&@@s9FK}dM*Au zkV9(5%#C(yUnmp7zGthOl;6o=VB}_cfzNEmrAXkDuElGvCdAHZE`uw-DG~sif^$I_ zAeHs0E=8ztgGhpW26U=^7?e-}bRWn;BKI(atMQs3F*cFyxyqP%G|%u2&#vDvinK3n zX^Fz0{+?~~Axx^R{ReggwYmcUrPbz+6Cv1+B5|)*iUcnyrRAY z-rVL}pF(5zH< Hc=>+-#^7Me 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 4afe1f5..d38b73d 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 @@ -1,56 +1,37 @@ - + - + - - - - - - - - - - - - - - Authorize FOC only it is selected. - - - - - - - + + - - + + - - Authorize FOC only if not in + + Authorize advanced control only - - + + - - high transient detected. + + if not in high transient detected. @@ -60,24 +41,24 @@ - + - + - - Authorize FOC only if speed is + + Authorize advance control only if - + - - above a threshold. + + speed is above a threshold. @@ -88,15 +69,15 @@ - + - - + + - - FOC Enable Flag Determination + + Advanced Control Enable Flag Determination @@ -107,7 +88,7 @@ - + @@ -115,19 +96,19 @@ - + - + - + - + @@ -164,11 +145,11 @@ - + - + 1 @@ -186,11 +167,11 @@ - - + + - + int16 @@ -212,11 +193,11 @@ - + - + [z_counterRaw] @@ -245,11 +226,11 @@ - + - + [b_edge] @@ -267,11 +248,11 @@ - - + + - + boolean @@ -293,11 +274,11 @@ - + - + [z_counterRaw] @@ -315,11 +296,11 @@ - - + + - + int16 @@ -341,11 +322,11 @@ - + - + [z_counterRawPrev] @@ -365,57 +346,57 @@ - + - + - + - - 2 + + 1 - + - + - - + + - + b_edge - + - - + + - + boolean @@ -428,27 +409,27 @@ - + - + - + - + [b_edge] - + @@ -470,11 +451,11 @@ - + - + 1 @@ -492,11 +473,11 @@ - - + + - + n_mot @@ -518,11 +499,11 @@ - + - + [n_mot] @@ -540,11 +521,11 @@ - - + + - + sfix16_En4 @@ -566,11 +547,11 @@ - + - + [n_mot] @@ -588,11 +569,11 @@ - - + + - + sfix16_En4 @@ -605,57 +586,57 @@ - + - + - + - - 3 + + 2 - + - + - - + + - + z_dir - + - - + + - + int8 @@ -668,27 +649,27 @@ - + - + - + - + [z_dir] - + @@ -700,44 +681,44 @@ - - + + - + - + - - 6 + + 4 - + - - + + - - + + - - b_enaFOC + + z_counterRaw @@ -748,44 +729,44 @@ - - + + - + - + - - 5 + + 3 - + - - + + - - + + - - b_motStdStill + + z_counter @@ -796,44 +777,44 @@ - - + + - + - + - - 4 + + 2 - + - - + + - - + + - - z_counterRaw + + n_motAbs @@ -844,44 +825,44 @@ - - - + + + - - + + - - + + - - 3 + + z_maxCntRst - - + + - - - + + + - - + + - - z_counter + + int16 @@ -902,11 +883,11 @@ - + - + z_maxCntRst @@ -924,11 +905,11 @@ - - + + - + int16 @@ -941,57 +922,57 @@ - + - + - + - + n_stdStillDet - + - + - - + + - + n_stdStillDet - + - - + + - + sfix16_En4 @@ -1003,94 +984,62 @@ - - - + + + - - + + - + - - + + - - 2 - - - - - - - - - - - - - - + + - - + + - - n_motAbs + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -1104,38 +1053,38 @@ - - + + - - - + + + - - + + - - Ini=0 + + n_commDeacv - - + + - - + + - - sfix16_En4 + + boolean @@ -1146,219 +1095,188 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - int16 + + - - - - - - + + + + + + + - - + + - - Ini=z_maxCntRst + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - - - - - - - - - + + - - + + - - + + - - boolean + + sfix16_En4 @@ -1369,38 +1287,30 @@ - - - + + + - + - + - + - - - - - - - - - - + + - - + + @@ -1414,22 +1324,22 @@ - + - + - - + + - + boolean @@ -1441,29 +1351,44 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + 5 - - + + + + + + + + + + + + + + + + + b_motStdStill @@ -1484,11 +1409,11 @@ - + - + @@ -1506,11 +1431,11 @@ - - + + - + int16 @@ -1522,28 +1447,28 @@ - - + + - + - - + + - - [z_dirPrev] + + [b_motStdStill] - + @@ -1555,28 +1480,28 @@ - - + + - + - + - - [n_motAbs] + + [dz_trnsDet] - + @@ -1588,29 +1513,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + - - + + + + + + + + + + + + + + + + + boolean @@ -1621,44 +1561,29 @@ - - - - - - + + + + + + - - + + - - [n_motAbs] + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1669,44 +1594,91 @@ - - - + + + - - + + - + - - + + - - [dz_trnsDet] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - boolean + + int16 + + + + + + + + + + + + + + + Ini=z_maxCntRst @@ -1717,44 +1689,29 @@ - - - + + + - - + + - - + + - - [n_motRaw] + + [z_counter] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1765,44 +1722,44 @@ - - - + + + - - + + - - + + - - [z_counterRaw] + + - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -1813,43 +1770,43 @@ - - + + - + - - + + - - [b_edge] + + [dz_trnsDet] - + - + - - + + - + boolean @@ -1861,44 +1818,44 @@ - - + + - + - - + + - - [z_ctrlTypSel] + + [b_edge] - + - - + + - - + + - - uint8 + + boolean @@ -1909,44 +1866,44 @@ - - + + - + - - + + - - [z_dirPrev] + + [b_enaAdvCtrl] - + - - + + - - + + - - int8 + + boolean @@ -1957,29 +1914,52 @@ - - - + + + - - + + - - + + - - [n_motAbsPrev] + + u1 + + + + + + + + if(u1 ~= 0) - - + + + + + + + + + + + + + + + + + action @@ -1990,43 +1970,43 @@ - - + + - + - + - - [n_motAbsPrev] + + [n_motRaw] - + - + - - + + - + sfix16_En4 @@ -2038,43 +2018,43 @@ - - + + - + - + - - [z_dir] + + [z_dirPrev] - + - + - - + + - + int8 @@ -2086,44 +2066,60 @@ - - - + + + - - + + - + - - + + - - z_maxCntRst + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int16 + + boolean @@ -2134,52 +2130,110 @@ - - - + + + - - + + - - + + - - u1 + + [z_dir] + + + + + + + + + + + + + + - - + + - - if(u1 ~= 0) + + int8 - - - + + + + + + + + + + + + + + + + + + + + + + [z_dirPrev] - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - action + + [n_motAbsPrev] + + + + + + + @@ -2200,12 +2254,12 @@ - + - - [b_enaFOC] + + [b_enaAdvCtrl] @@ -2222,11 +2276,11 @@ - - + + - + boolean @@ -2238,44 +2292,44 @@ - - + + - + - + - - [b_edge] + + [n_motAbsPrev] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -2286,796 +2340,125 @@ - - - + + + - - + + - - + + - - + + [n_motAbs] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [n_motRaw] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motRaw] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counterRaw] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_motStdStill] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [dz_trnsDet] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - inc - - - - - - - - max - - - - - - - - rst - - - - - - - - cnt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Counter - - - - - - - - - - - - - - - Ini=z_maxCntRst - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [b_enaFOC] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_counter] + + [n_mot] - - - - - - - - - - - - - - - - - int16 + + @@ -3086,44 +2469,44 @@ - - + + - + - - + + - - [z_counterRawPrev] + + [n_motAbs] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -3136,7 +2519,7 @@ - + @@ -3150,67 +2533,67 @@ - + - + z_dir - + - + z_dirPrev - + - + z_counterRawPrev - + - + n_motAbsPrev - + - + z_counter - + - + dz_trnsDet - + - + n_motRaw - + - + if { } @@ -3240,11 +2623,11 @@ - - + + - + Raw_Motor_Speed_Estimation @@ -3257,79 +2640,277 @@ + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + - - + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + b_enaAdvCtrl + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_counter] + + + + + + + + + + + + + + + + + + - + int16 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [b_motStdStill] - - - - - - - - - - - - - - - - - boolean + + + - - - - - - - - + + - - + + - - action + + boolean @@ -3340,68 +2921,46 @@ - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -3415,38 +2974,23 @@ - - - - - - - - - - - - - - - - - n_commDeacv + + - - + + - - + + - - boolean + + sfix16_En4 @@ -3457,44 +3001,44 @@ - - - + + + - - + + - - + + - - 0 + + [z_counterRawPrev] - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -3505,29 +3049,91 @@ - - - + + + - - + + - + - - + + + + + + + + + + + + + + + + + + - - [b_enaFOC] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix16_En4 @@ -3538,44 +3144,44 @@ - - + + - + - - + + - - [n_motRaw] + + [z_counterRaw] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -3586,76 +3192,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_counter] - - - - - - - - - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -3666,29 +3240,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [n_motAbs] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3700,57 +3289,57 @@ - + - + - + - - 4 + + 3 - + - + - - + + - + z_dirPrev - + - - + + - + int8 @@ -3762,107 +3351,250 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + inc + + + + + + + + max + + + + + + + + rst + + + + + + + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - sfix16_En4 + + Counter - - - - - - - - - - - - - - + + + - - + + - - 1 - - - - - - - + + Ini=z_maxCntRst - - - + + + - - + + - - z_ctrlTypSel + + int16 - - - - + - - + + - - uint8 + + + + + + + + + + + + + + + + + + + + + + @@ -3873,44 +3605,29 @@ - - - + + + - - + + - - + + - - + + [n_motAbs] - - - - - - - - - - - - - - - - - boolean + + @@ -3921,44 +3638,44 @@ - - + + - + - - + + - - [z_counter] + + [b_edge] - + - - + + - - + + - - int16 + + boolean @@ -3969,44 +3686,29 @@ - - - + + + - - + + - - + + - - CTRL_FOC + + [n_motRaw] - - - - - - - - - - - - - - - - - uint8 + + @@ -4017,29 +3719,44 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + [z_counterRaw] - - + + + + + + + + + + + + + + + + + int16 @@ -4050,30 +3767,30 @@ - - - + + + - - + + - - + + - - + + - + - - + + @@ -4082,62 +3799,62 @@ - - - - - - - - - - - - + - - + + - + boolean + + + + + + + + + + + - - - + + + - - + + - - + + - - + + - + - - + + @@ -4147,23 +3864,23 @@ - + - - + + - + boolean - - + + @@ -4263,11 +3980,11 @@ - + - + @@ -4291,11 +4008,11 @@ - + - + @@ -4347,11 +4064,11 @@ - + - + @@ -4476,20 +4193,6 @@ - - - - - - - - - - - - - - @@ -4692,42 +4395,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -4748,56 +4423,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -4807,11 +4440,11 @@ - + - + @@ -4911,11 +4544,11 @@ - + - + @@ -4925,11 +4558,11 @@ - + - + @@ -4939,11 +4572,11 @@ - + - + @@ -4964,7 +4597,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 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 f2bc189..4c103af 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 b2c7dae..d19e756 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 @@ -167,59 +167,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2415", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "inspector":{ - "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" - ], - "values":[ - "Inherit: Inherit via internal rule", - "min", - "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:8272:2414", "className":"Simulink.Inport", @@ -288,11 +235,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":[ @@ -315,7 +262,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -355,11 +302,64 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2413", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2415", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax", + "label":"MinMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "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:8272:2412", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"max", - "label":"max", + "name":"inc", + "label":"inc", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ @@ -382,7 +382,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg index d2fcc3d..277ed10 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 @@ -128,32 +128,32 @@ - - - + + + - + - - int16 + + Ini=z_cntInit - - - + + + - + - - Ini=z_cntInit + + int16 @@ -268,60 +268,59 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + 3 - - - - - + + + + - - - + + + + + + + + + + + rst - - + + - - + + - - int16 + + boolean @@ -332,59 +331,59 @@ - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - rst + + max - - + + - - + + - - boolean + + int16 @@ -395,58 +394,59 @@ - - - + + + - - + + - + - - + + - - 1 + + + + + + + + + + - - - - + - - - - - - - - - - - inc + + + + + + + - - + + - + - + int16 @@ -458,11 +458,11 @@ - - + + - + @@ -472,44 +472,44 @@ - - 2 + + 1 - + - - + + - + - - max + + 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 e74daf9..bbf134b 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:8358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"dz_trnsDet", + "label":"dz_trnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -278,7 +278,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -291,7 +291,7 @@ "auto", "off", "off", - "z_maxCntRst", + "[]", "off", "held", "off", @@ -325,72 +325,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"n_motRaw", - "label":"n_motRaw", + "name":"g_Ha", + "label":"g_Ha", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "3", - "Port number", + "4", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, + 8, 11 ] }, @@ -400,53 +379,98 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"dz_cntTrnsDet", - "label":"dz_cntTrnsDet", + "name":"UnitDelay5", + "label":"UnitDelay5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", + "InitialCondition", "InputProcessing", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", "SampleTime", - "ZeroCross" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "dz_cntTrnsDetHi", - "dz_cntTrnsDetLo", - "1", "0", - "Elements as channels (sample based)", - "[]", - "[]", - "boolean", + "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:8352", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay3", + "label":"UnitDelay3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", "-1", - "on" + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 5, - 9 + 3, + 4 ] }, "viewer":{ @@ -455,16 +479,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8351", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -567,40 +591,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"n_motRaw", + "label":"n_motRaw", "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", + "3", + "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", @@ -609,8 +656,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -619,65 +666,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Sum7", + "label":"Sum7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "dz_trnsDet", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "n_motAbsPrev", - "local", - "Tag" + "rectangular", + "+-", + "on", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -685,32 +725,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "z_dir", - "local", - "Tag" + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 9 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -718,30 +782,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "z_dir", - "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" @@ -749,16 +839,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8345", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum7", - "label":"Sum7", + "name":"Sum13", + "label":"Sum13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -778,7 +868,7 @@ ], "values":[ "rectangular", - "+-", + "++++", "on", "Inherit: Inherit via internal rule", "[]", @@ -813,19 +903,66 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Relational Operator4", + "label":"Relational Operator4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "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:8342", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_dir", + "cf_speedCoef", + "local", "Tag" ], "tabs":[ @@ -839,16 +976,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "dz_trnsDet", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8351", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -894,19 +1064,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", + "z_counterRawPrev", + "local", "Tag" ], "tabs":[ @@ -920,24 +1092,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_counter", + "n_motAbsPrev", + "local", "Tag" ], "tabs":[ @@ -951,48 +1125,78 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UnitDelay5", - "label":"UnitDelay5", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "0", - "Inherited", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "", - "", + "Inherit", + "-1", + "auto", + "off", + "off", + "z_maxCntRst", + "off", + "held", "off", + "0", + "", [ ], - "Auto" + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 11 ] }, "viewer":{ @@ -1001,16 +1205,71 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", + "className":"Simulink.Relay", + "icon":"WebViewIcon3", + "name":"dz_cntTrnsDet", + "label":"dz_cntTrnsDet", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "SampleTime", + "ZeroCross" + ], + "values":[ + "dz_cntTrnsDetHi", + "dz_cntTrnsDetLo", + "1", + "0", + "Elements as channels (sample based)", + "[]", + "[]", + "boolean", + "off", + "-1", + "on" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 5, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Relay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1018,7 +1277,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "n_motAbsPrev", "Tag" ], "tabs":[ @@ -1037,53 +1296,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"g_Ha", - "label":"g_Ha", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" ], "values":[ - "4", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "z_dir", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1091,56 +1322,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide14", - "label":"Divide14", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "cf_speedCoef", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1148,16 +1353,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1184,39 +1389,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "z_counter", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1224,7 +1415,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, @@ -1260,11 +1451,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide11", - "label":"Divide11", + "name":"Divide14", + "label":"Divide14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1282,12 +1473,12 @@ "SampleTime" ], "values":[ - "**", + "*/", "Element-wise(.*)", "off", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", "Simplest", "off", @@ -1317,21 +1508,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRawPrev", - "local", + "z_dir", "Tag" ], "tabs":[ @@ -1345,7 +1534,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "dz_trnsDet", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -1456,74 +1676,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"dz_trnsDet", - "label":"dz_trnsDet", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "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" @@ -1531,48 +1702,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Constant4", + "label":"Constant4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Value", + "VectorParams1D", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ "0", - "Inherited", - "-1", - "", - "", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - [ - ], - "Auto" + "inf" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 3, - 4 + 7 ] }, "viewer":{ @@ -1581,7 +1751,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Constant", "masktype":"" } }, @@ -1617,44 +1787,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "z_counterRawPrev", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1662,55 +1813,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"Abs2", + "label":"Abs2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", "SampleTime", - "Threshold", "ZeroCross" ], "values":[ - "u2 ~= 0", - "on", "[]", "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", "-1", - "0", "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 6 ] }, "viewer":{ @@ -1719,65 +1860,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8318", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"n_motAbsPrev", - "label":"n_motAbsPrev", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "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":[ - "4", - "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":{ @@ -1786,47 +1910,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8334", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "dz_trnsDet", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1835,73 +1928,14 @@ "IconDisplay" ], "values":[ - "z_counter", + "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:8345", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum13", - "label":"Sum13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++++", - "on", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1909,48 +1943,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "z_dirPrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1958,24 +1974,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbsPrev", + "z_dirPrev", + "local", "Tag" ], "tabs":[ @@ -1989,7 +2007,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -2061,25 +2079,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "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_dirPrev", - "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" @@ -2087,16 +2131,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8318", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", + "name":"n_motAbsPrev", + "label":"n_motAbsPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -2119,7 +2163,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -2159,19 +2203,21 @@ } }, { - "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":[ @@ -2185,16 +2231,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"z_dirPrev", + "label":"z_dirPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -2217,7 +2263,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -2257,106 +2303,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_dirPrev", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:8320", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Abs2", - "label":"Abs2", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "Inherit: auto", "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ @@ -2365,7 +2365,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "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 f3a5ec0..da2f4f6 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 @@ - - 1 + + 2 - + - - + + - + - - z_counter + + dz_trnsDet @@ -268,44 +268,44 @@ - - - + + + - - + + - + - - 3 + + 4 - - + + - - - + + + - + - - n_motRaw + + uint16 @@ -316,62 +316,46 @@ - - - + + + - - + + - - - - - - - - - + - - + + - + - - + + - + - - + + - - - - - - - - - + - - + + @@ -385,38 +369,38 @@ - - + + - - - + + + - - + + - - dz_cntTrnsDet + + int16 - - - + + + - - + + - - boolean + + Ini=0 @@ -427,45 +411,45 @@ - - - + + + - + - + - + - + - + - + - + - + - + @@ -480,42 +464,137 @@ - + + + + + + + + + + + + Ini=0 + + + + - + - - + + - + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + - - + + - + Ini=0 + + + + + + + + + + + boolean + + + + @@ -524,7 +603,7 @@ - + @@ -532,155 +611,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -698,11 +777,11 @@ - + - + threshold=0 Criteria : u2 ~= 0 @@ -714,11 +793,11 @@ - + - + sfix16_En4 @@ -730,165 +809,277 @@ - - - + + + - + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + n_motRaw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -906,11 +1097,11 @@ - + - + sfix16_En4 @@ -921,11 +1112,11 @@ - + - + threshold=0 Criteria : u2 ~= 0 @@ -938,207 +1129,204 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [n_motAbsPrev] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [z_dir] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [z_dir] + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - int8 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + + + + + + + + + + + + + + + + threshold=0 + Criteria : u2 ~= 0 - - + + - - + + - - int16 + + sfix16_En4 @@ -1149,44 +1337,100 @@ - - - + + + - - + + - - + + - - [z_dir] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - int8 + + int16 @@ -1197,46 +1441,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -1250,37 +1478,22 @@ - - - - - - - - - - - - - - - - - Ini=0 + + - + - - + + - + boolean @@ -1292,44 +1505,29 @@ - - - + + + - - + + - - + + - - [z_counter] + + [cf_speedCoef] - - - - - - - - - - - - - - - - - int16 + + @@ -1340,44 +1538,29 @@ - - - + + + - - + + - - + + - - [z_counter] + + [dz_trnsDet] - - - - - - - - - - - - - - - - - int16 + + @@ -1388,45 +1571,45 @@ - - - + + + - + - + - + - + - + - + - + - + - + @@ -1441,86 +1624,38 @@ - + - - - - - - - - - - - Ini=0 - - - - - + - - + + - + int16 - - - - - - - - - - - - - - - - - - - - - [z_counterRawPrev] - - - - - - - - - - - - - - + + - - + + - - int16 + + Ini=0 @@ -1531,44 +1666,29 @@ - - - + + + - - + + - - - - - - 4 - - - - - - - - - - - - - - - - - - + + - - uint16 + + [z_counterRawPrev] + + + + + + + @@ -1579,69 +1699,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + [n_motAbsPrev] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1652,44 +1732,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + 1 - - + + - - - + + + - - + + - - int16 + + z_counter @@ -1700,30 +1780,62 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1737,22 +1849,37 @@ - - + + + + + + + + + + + + + + + + + dz_cntTrnsDet - + - - + + - + boolean @@ -1764,44 +1891,44 @@ - - + + - + - + - - [cf_speedCoef] + + [n_motAbsPrev] - + - - + + - - + + - - uint16 + + sfix16_En4 @@ -1812,52 +1939,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [z_dir] - - + + - - + + - - + + - - sfix16_En4 + + int8 @@ -1868,29 +1987,44 @@ - - - + + + - - + + - - + + - - [z_counterRawPrev] + + [cf_speedCoef] - - + + + + + + + + + + + + + + + + + uint16 @@ -1901,59 +2035,44 @@ - - - + + + - - + + - - - - - - cf_speedCoef - - - - - - - + + + + + + [z_counter] - - - - - - - - - - - cf_speedCoef + + + - - + + - - + + - - uint16 + + int16 @@ -1964,69 +2083,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + [z_counter] - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -2037,44 +2131,44 @@ - - - + + + - - + + - - + + - - 2 + + [cf_speedCoef] - - + + - - - + + + - - + + - - dz_trnsDet + + uint16 @@ -2085,91 +2179,69 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - - + + - - int16 + + sfix16_En4 @@ -2180,44 +2252,44 @@ - - - + + + - - + + - - + + - - if { } + + [z_dir] - - + + - - - + + + - - + + - - Action Port + + int8 @@ -2228,91 +2300,107 @@ - - - + + + - - + + - + - - + + - - + + [dz_trnsDet] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + boolean - - + + + + + + + + + + + + + + + + + + + cf_speedCoef + - - + + - - - + + + - - + + - - Ini=0 + + cf_speedCoef - - + + - - + + - - int16 + + uint16 @@ -2323,204 +2411,117 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + - - - - - - - + + + + + + - - - - - - - T + + + + + + - - + + - - F + + sfix16_En4 - - - - - + + + + + + + + + + + + - - - - - + + - - threshold=0 - Criteria : u2 ~= 0 + + [z_counter] + + + + + + + - - + + - - + + - - sfix16_En4 + + int16 @@ -2531,58 +2532,43 @@ - - - + + + - - + + - - + + - - 4 + + 0 - - - - - - - - - - - - - - - - - n_motAbsPrev + + - + - - + + - + sfix16_En4 @@ -2594,44 +2580,44 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + if { } - - + + - - - + + + - - + + - - boolean + + Action Port @@ -2642,29 +2628,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + [z_counterRawPrev] - - + + + + + + + + + + + + + + + + + int16 @@ -2675,99 +2676,75 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - + - - + + - + int16 @@ -2779,92 +2756,91 @@ - - - + + + - - + + - + - - + + - - 0 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - + + - - - - - - - [n_motAbsPrev] - - - + + + + + + + + + + + + + + + + + Ini=0 - - + + - - + + - - sfix16_En4 + + int16 @@ -2875,59 +2851,29 @@ - - - + + + - - + + - - - - - - 3 - - - - - - - - - - - - - - - - - - + + - - z_counterRawPrev + + [z_dir] - - - - - - - - - - - int16 + + + @@ -2948,11 +2894,11 @@ - + - + [z_dirPrev] @@ -2970,11 +2916,11 @@ - + - + int8 @@ -2986,59 +2932,92 @@ - - + + + + + + + + + + + + + + + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + - + - + - - 2 + + 3 - + - - + + - - + + - - z_dirPrev + + z_counterRawPrev - - + + - - + + - - int8 + + int16 @@ -3049,44 +3028,52 @@ - - - + + + - - + + - - + + - - [cf_speedCoef] + + + + + + + + + + - - + + - - + + - - + + - - uint16 + + sfix16_En4 @@ -3097,59 +3084,59 @@ - - + + - + - + - - 1 + + 4 - + - - + + - - + + - - z_dir + + n_motAbsPrev - - + + - - + + - - int8 + + sfix16_En4 @@ -3160,28 +3147,28 @@ - - + + - + - + - - [z_dirPrev] + + [z_counter] - + @@ -3193,109 +3180,122 @@ - - - + + + - - + + - - + + - - [cf_speedCoef] + + 2 - - + + - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + z_dirPrev - - - - - - - + + + + + + - - + + - - + + int8 - - + + + + + + + + + + + + + + + + + + + 1 + - - + + + + + + + + + + + + + + + + + z_dir - - + + - + - - int16 + + int8 @@ -3308,7 +3308,7 @@ - + @@ -3773,10 +3773,10 @@ - + - + @@ -4020,5 +4020,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.json index 1bf7a05..da6db52 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 @@ -950,86 +950,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8420", "className":"Simulink.Constant", @@ -1054,7 +974,7 @@ "inf", "[]", "[]", - "fixdt(0,16,6)", + "fixdt(1,16,6)", "off", "inf" ], @@ -1080,40 +1000,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Criteria", + "IconShape", + "Inputs", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "u2 ~= 0", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "fixdt(1,16,12)", "off", + "Simplest", "off", - "-1", - "0", - "on" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -1122,8 +1044,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 10 ] }, "viewer":{ @@ -1132,57 +1054,51 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9664", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"MinMax1", + "label":"MinMax1", "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", + "max", + "off", + "2", + "off", "[]", "[]", - "fixdt(1,16,12)", - "off", - "Simplest", + "Floor", + "-1", "off", - "1", - "All dimensions", - "-1" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 1 ] }, "viewer":{ @@ -1191,7 +1107,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"MinMax", "masktype":"" } }, @@ -1249,11 +1165,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1262,7 +1178,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "z_posLowRes", "local", "Tag" ], @@ -1282,21 +1198,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_posHighRes", - "local", + "z_counterRaw", "Tag" ], "tabs":[ @@ -1310,7 +1224,87 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", "masktype":"" } }, @@ -1377,47 +1371,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9664", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "Inherit: Inherit via internal rule", - "max", - "off", - "2", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" + "b_enaAdvCtrl", + "local", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1425,7 +1399,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Goto", "masktype":"" } }, @@ -1460,6 +1434,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", "className":"Simulink.From", @@ -1473,7 +1478,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -1492,51 +1497,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "z_posHighRes", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1544,16 +1523,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8392", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1571,12 +1550,12 @@ "SampleTime" ], "values":[ - "*/", + "**", "Element-wise(.*)", "off", "[]", "[]", - "fixdt(1,16,14)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -1606,44 +1585,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_posLowRes", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1651,7 +1597,7 @@ "IconDisplay" ], "values":[ - "z_posHighRes", + "z_counter", "Tag" ], "tabs":[ @@ -1670,50 +1616,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", @@ -1723,7 +1659,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -1732,24 +1668,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_enaFOC", + "z_posHighRes", + "local", "Tag" ], "tabs":[ @@ -1763,16 +1701,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8392", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1790,12 +1728,12 @@ "SampleTime" ], "values":[ - "**", + "*/", "Element-wise(.*)", "off", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,14)", "off", "Simplest", "off", @@ -1825,25 +1763,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8403", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "z_counter", - "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" @@ -1851,37 +1815,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9665", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8389", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "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", + "5", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1890,8 +1872,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1900,30 +1882,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8404", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9665", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_counterRaw", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1931,7 +1931,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, 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 04951f6d0a676abecc590d2762a93ae156cd510f..106c8971da0900e594cd6f030e52eee2986a0c96 100644 GIT binary patch literal 7853 zcmdscARs6qjnXYOv?3r%cZVP%B_iPi0}PD}B_$;#-Q6+LIlxdu z^DeIUd^!KZ`7krr1v7iEz1RJ_Ye(v6DH9XW6JTIq5UZ-Zd<8zc?_PK~;JpM=ngKrW zT~v(SF)&El?_QWmd?XAQ7|fQcFXi=p(vS*#5V#R#$Hw617-aT@%heRs>hyDPe@yE4YZt1{uV-yul6n_HMs3MIx5O;`C zq;z96WOGegl=~Fg|5UixR$qUapepVYB*|Xcpc;*eSc&;$l~_B9*JYs8X?6C()y#`f z!i&MM62Fp8xY%uxj6MO*Ndn8;3BGCWbKrJ$tCwyGu{OwKfa$mZ@l@Bg@yPK zF||>#{}%%WcNvjk>~yRVW{jzLj`%o(o%NqWji7>tZjX2V13iOcTk!?ve_3#cLGRdC z|0OB;dOg=(Osbh?G3I~J$HqFQYao;&bJHM3me)sP`&M<`YCjdS?i3k<_rx+;k!jUy zY;;tCojm1OqG3TxQLzJSe*~$HRe`O@_5fZ~#1&XtSor=Udi~UE?%CA%#DuPqQO$J2 z6TY^#wsx!Xj>Xuy(U@)4sf)|H@daWzn;@B_@bC-y)3cShfyLQ&S<0eka*`D@f~Ew#oBTuRZ(stp)JcqHkH~mINIg z=Nnxgl|y2TEPTUDOl!VpWRyC;6@`|YBp@zYKHif$oqoHEXof8>TU`aol1d%OjoO!* zH*`v)=M#=0PwDgE@Tiy=qU-Xu2+~U5BiqH`+rZFP)~&5Asf*1V)wx2rnvoF=Sk_N? z?@Z-8Rdw~Y6_mz>M43gS8Y|iB>x+}IK#rqra3+VvKPldez7cY)E#QlE^z?tNg&%JR zEtKXrhMH|}FW->L=1TGrhRl~gxiK{9{e9@h7LT|8=ZIwPw`1Er+TPhtI1A2e>+ZJo zm<*3BuB#lvZ*6P4jK1utzsbOFY;5Gg#E)nLx3zx@gXi&M&2uI_d~7UiEX=5=DBEj) zC(*L0qAB^N)9Nx^2&7v(=#T=VE|mWl9aXtfSLf#5J}#@EBmI7iDb=lC|`|4K#WCM1zw;QIw(Cyg8$iODmI` zV6MiwYXwC{g!A6fal$l~b5frCu_nrgaoD7u^EYj5Y^<)SspOHfO$LNNIXCQdd!neS zy1M*r7l}pCxeYHb?{uB}M(&&v+k-{_ed+p!hMw;3*K55=0EiYoOZSIz$1`_%Tv!f%Ts!)F=4-&Q0kDQR_W4eb7Z zhcX+3>221+u4}ziW&$)eHa0vqTU&$qNACleR{K*#R7-5Lbnu`9o!#Ad5)u*#qCz33 zuy?{K-90_3=OllZgp5kfRL=uEJw2_ht;u4Q%4ZxPC58ZKwMT=J0NQMlk_-k0g~i3z zh^9dCbggTCNn?tJ_?w%c&k+&ts)<9!wsLE0eJ1AyI?j(az^?&JN5{tS!xeZCCoL@) zb#-;Bx1>?o7~j&%DqUyy3nBV$a;!R+MI z2zu>K%NrO>Xx@@VBWZ(TFLX7g!>B&hv3>LiNU;lC;CWM{jG@3^6 zm7ZQ3*uN9MN$228Q!nIf(rA{1arx-ZNyYmyPO#MpQGTq~tb~rUYV~mV6~cYPjyPhe zmnzCZG^1`uU{T8BOK-0ln4$y$Z5deH;NYNy=WbqJUb)*^ud#ED{_*K4)~xaD&Ivg| z_;GUc4-3EdhL4{re`Pd2ej{jwgDK&+Mea{^UrC9T@iU-H<+ww{Wbs2rlA~GsvMg=_ zuo2(ClUGz!{46b6JA)j^f#RF7>!;*`5c@FOe4KSo#ubSsyAlaYxLPu+X|LZ zKCfin`ud*dmH`Izcb*N3tb_jk^6cLcDhZ7!xW2F(&8~WSgRb|~U*DjJ>$*dVtSn59 zRSu|t+^7yk&g7T&w21Z;VKTg5@5l0?m-z4O9`bIz8_Lk6ufzd_@NOcNOR+fo8Ip>9 zYHhi>^CYbZ4!30Dr;fG|?CI~f9!Pz5R0So>X>OLa`L;H2xF38A&CX_93`CnZp<u$pcg!b)8)~gl899_c_lkm2s|J+R5a+a1mqA97V0j+5G`%9jmpPyX^1<0^i zUMH`F9Ck_q zx(wO^;_kIl0cNS-43Yv0%J5LT#9MgrDn(M#OST7K4m$HSp|1qq0N=3E6{n}C_rlba zVPRpx+Qw!pvU?|F4~HP~J*VkU?axo5;nmKS<@35&em$D6tpm6h)u z9IS^jqZz-IULV$+d9KmjNOiX%v61aE-1oDfD zq8Aq}z(8;9?zVrZwi1Q9iZdoACs$Z?5a=6d*7v3k*aB(zzU|fenhZMddB8TOygdH& z)C+L;=FZMo5iSszxUR6iHDRLes{4B*c8L!gm_A3y>(ci0<&-o)0~8-pM~{q-hRz`; z`TlVx;6n$LY;8G#R&g=MfeUkjNCC9gnh6BRAdV5c!o$+aSvp^mlc_OgXJ>_= z1Hg)L+_%ndmuqkiI)Y+I-CiBlIE?U$h$H}Z+G|8xEThDCrpmOpx*3?5I3y)aWtG6% z=>-6YC4z6R64L{jn3%x8eTPD!qci7&lKcPM>WI*;N{YpN($Z#oNJRq!UMXg^%1Yu0 zyNI?oot>Te{&SR~P+|b89b|IU=g&C1UJW;uaQM9MM*77NOTdA=n(vf@XhDodtq*EB zF^9^;#Kb8wo(K-lC%T65)XYg21p!y04t!Ey@?+Jw+a1f>WpLuOIjYs^^0%siG)^_p z*FxRleLqkp{J8}MIq(l^Lqc+Xetv51>&Vyj@!e1{=Zuld)r}4JlkEvrmZK#?H=rCWdKj88 z1mSqtSRr0sPoV>T(pCaFzBwbCjv_qj^JWRvRvc>5S_STd9I5Z`9m3XagErh+hsmaq z|J=&Un=;aY(keW>a|ow<3+jP^(o|Gb4zpFN`wo(R$J{_bfsPNtWaAc`-g$UX0)+If zu`!YWD{R~xBwb`wmQg>pyB{1eqWcpb`qJL`9oO!3*7d>yab2CxE3C%G*qNUE^WYA-#gQIqP~x-Q4!(v^!Bnb$GsI!IaZXHQ{7F3+xi5{X<{ay~^o8Pu zD|mQ&uN<8VrD&Knc*O#n4W!_1;3_LAYUT!j4^UK81d9Q>%EQZ>T~MG5RUkY*J_a6= zGd&mA1fj32j0=WDyYLaSq*n}>wz`wBJ2S7$5|}t;;UD|VeiDqzmpLToQ3*1(D`4eGbVSu`6 z#H%5_qCyztgZ-vU0WeDdemJ4`Hlz%I z>Qv+3t9DtaSFpLeyK0KKFzj^~vw2!ZcJ%N`_wdj2U|z!_1D5+T6i0@tG*(R@ekejM zq#490ztw%6)l^qkr%#;uF!X>H zR3*1v#J_)zx(C#BY;v-5Oj|bHgGbb4{9k({g{oK&AOs*mhQ*L4Q*m|dfE(Vu;|gjH z)>7wPTU#4|yKCAxZ4zX26M!b*F6&NCPA1|DQk-Akd49cha~dkDt;W=qLU^hNUyTlT zF7DdD)-VV^b-!(;%$gW|EFiL95dI4+@^Xkq*)d(DQjXalpC^T8_QEOajy(gXr>D6I z?Jv1X1xYeMC@?mr6ZjDg>|Jkf?{QwDVX0XUNY&+YNbV>FV2lCh0&Bxaf(vXV@WX*= zP;BedWDSl$INRhzkr9X}*+8Owqy`ro{ef*B&qaf#E1c$RenX~fZ=u2WWWwnDFHKV> zu64comUZ7v|Ay7p3g^I@h zXRKG2mSv>EySux&z&eD6VwGAnMlCoM)YQ;Kw8`u0>W-eJL>@&M7;p#*k^-r>x98*F z;J9cmGpqZX6DRXLhbXD~SeQE671$RgC8gt&h7TV;)Ou`@8yg$P#Kxjp z?vc*x$j#2porH~SF9#9LCMXzpc<3fz*_1XO^=!^m!^qGO=q~{QLGIZ@&g#`md0Ua| zWmScE2zyP zrmsduM!4*VowACG?_s#4gFY}($JtL)J8QtkTsX)?K{%5Q`Eo=m% znQD8QvOk9e&z?Pt`TF&hiOGlBz-*EeDB=nyWIu47N$RC218DsPKu5Z~{rzFw`6T?Ks#JuBA zIVZfEFBftp^&-Pv`>=CMN@7*mLG!3;Qs^A8la$R3Aim`B{A4P&3yFoX{P3@#lxv<}HseQb&0{GypxTYG2v@}FuO>FfV;TB!GJ9@%>3 z-iN*FrDJN^hqyTvYnuYDO4~1+){+J^0FaVNRb?8VMhoVkvp3fp@$vDwa=<@~xQiDH*r$*f%dn4${V5&vg50D2YOH8{y6Ek2y>fAVP z&$?todYq}A2noqqS|ZYd3%XWP4h^wZ(DqhL*wh=6sm^Zqjh8cmZ+yWj+M)%U@B++8 zQ?`R5Kp8|h84MIDKaSeY&W@EiZpGtyLjE)8fNh{+dk=P4tAxRUh_Enq?utHEMgREZ z(bM5F#o7 zF3JA*K-GYbkVs^}@rbg+LVc26f!2fQj_&?`cIs&0BtpAZKwGn| zc?7yJ<8PBv_}#=R^M+2p$#bIA)zpr|T!HLfh!+9Zp^!D4t2qXu%6bQlteGy;Vo3(4?(VldOu!}dI7(@GBs5P z(5|ZTm}N@_0YXv|Ix?c$=q^f21nLpsp}~cd<6)n*bIHV4E&Try?V>{W0Oc)?U}qI; zv8{YlZE_d&s=QY!=8$*A_r-6NPZ|Z6mXMTG4A3VyoVU>JY8~qAc7AAc*WUPT);P>4 za8oXC6~NX{rYxsev||o5Jtje{7@eLLUu(ME^KO0%h>8boCYGY{=X@Qi_f>(}(oBu0 zi3leQ3~gJ3q9)O@+ry;e_p}CbL+O$c+1wWar|qw966k_iloWM;nUu`Cb}^|&>&6st z6Z{Y`U!FtUi29@V)(Q(UMqz{zZFjd{tm+D$%?-Nkf9T7TEU}rH84v^5nfhg5f`t)R zKw|WPm|i;-=0>Y>m?W>iu-cun{;004tqsq#sP_QEcU;*t<1lHY%@Sb+d6>YisD86HyomG8aWJpQ`X>U8a{Z!Y)gdSWSk5SlGK313^ zjJ`R2XhXel7s1QUT2o%PNd88~aNG>e3A@k!34@(gf%ba{-WxeAwojP&U&wI4vBuk5 zeG0T;O*R{Wf;OZ5l6R?!o`FFxSt{K*f`kc#!yOSS^xi^W<&aF@Q1H!>L@X<{`yOXbi61+e%G%d2;#l1aIV`APThK*d`Su zTrlRHRQmV#_Hd#V{fq1AwbDcXDjfK{evLtS|G8xATBr`*WbwyILnMM!8e93R-JF-# z-+E7>r`UOUvzHF@KO1j5V}Dt7EC=n`XhlH?ZCuD0Nsuip!4z5s6U+?F;xD91uhTXu zclW3M=D@!}=($m5%bt40`D{)x*w$H$&vVVCiwz;w1gWX4(o9Oqts7z5LF5AFqgZ4_ zALb~j71*&PBxVgb9$*`UCsT9td@O&0^h7Tb>doI*?@zyby6M*YfAlfu|9WJ5%hF8O X80*?fYXhD?W2h=>y)0FD9s2(O3>`t0 literal 7891 zcmdsc^;gtgv^OZ73P^(}N~geppmc|%bO}Dx&?Sw6NJ%Rl(jetX3@{)f-5oLvLyzQu zNY{IKf4l4c2bZ;A7A)pF=j^lhr%tra3l(w_MiLwx9C9^PMLqD^d-F|10De{(SLcEk zVs}*&FB}|-&YN%C&%6{&I5?~kYKn3Oe%U)He`kYZ6n6jE+0t&CA>sHQlQVPAou7EB znRo#yA2>!uwI=T9-c@R~DB5f|Zc}us5ZFvscbQO9&r|(8{^zR`Hf8N-j9Mt-{rD}d zcZ+Y^@t$;(TJHZC`q)#O+Z4*Y-njxxp!)_}I#0giXE%H@=q`=9XgD}$C>V2~dC*z+ z5gtJJ-gx*CoBW@|w?z30w;sNyAdb2t`G4sTgJ6&A%ZqCdo>b97Xy$|%$-LvwJWTmD z@$NmTvI|S%x?Esua#Slyk5i1M(*5E!sO@jaGgfvcoh$oZI5b^8km{Z4Cs?!)Ybaje z*XTh5QoBOj!n=Bdo(p$)6hs-Nf>LX)53e(4bsSclOVc8!CFpaAZ0qS6_C7R9jr60X zS=ULoYG*?oqqINIZ7`EBs)~thlIkYeb~)gL8t2cjJgQXegFU_*uPn^81RkKmE7CYC z^1?EJ>M=v#Gav1vs;gd`4CA}F8Cs$w1Rb2A$AJp}8gD!EX(FZ&9EOd^hivkEsrPgV znB%)PFhTL1GuQ9o(qWS7dmS!OY>qHv z+@r^jyPi*@P(!1mI`b>-);h-+`jkG!?Ul8)wIz26y9?BkJH3)_NpN2AzcH2jubyO_ zEQV9k-@lJJoUy`)x1Ewp`ELKT78;$O*HlvK;z#vJ^;IfW#^&Tao1BZ0V#F^@nuG~o zxv3ByyUwdhFt3BR*>6o(J>ukqBI)Cl2iH&F(tdkvdFS&O3HL=De0+SrXRNFtCrgbp z<_O<7LRLSvU6>A+;(z}==H}*}vsH;_es!=u6m+r_c@iX@oRadpHSo>6@0i1<++5b~ zo}OssLi0xVcSS{yvR`28@@lK9$ZKW>&JMTi&(&$C+QSKdxA=?n#Itm49eOVP!dF&S z7NRGEd$;Wx)LP0_|NFPMksw_l{+#7)Wi;`XsX=E$GF4bR8+d~)vcUx`?U0L)BB`vI+ft(Jce z4ltL2u8_2W;wiZw`*CiGX=yzpAx9!OO<{bnr}tppoE(2xnDN-8*l+hRQ#OBo-9)e& zPAR>3iplF)^HjULMVqeAJN>&^GW!LmQMGydhWFoI_5{A85L9YFKma`xQ*5AfL&bc9 z3v%!LQdCs*o5xCb*MgF8SN5&%wmlR$yG@u}B~-@R@_4aEx@L*L8(qa}jb*DT@@h0+ zfh*=$iB{I0-!tMNcuEcJgfKnX_V3zAI6CA!o+xTy&2-c^roj41hH^U3il<}NT+%?VrKzc-uP<`!_FocM zX=8XpRaIPkJcaM}Y&*23RoT&zTk6ejwlC6JsF(15kgS`VAZU(ClUjoC_MaMpt)0}` z&+?f*^j%$GWNP1FEeGvH0*|(rKp`=uGM5`#r$GZ2VC9&RJo})a?8-_$Q&ZEr6=hwT zN<-e5g2dF+ZUxHcMJ{v{k>xctrLCZgpjg5f8 zgrA6rl)6~s9LkJX3ngY`WbCov-NLQ5Y|Y#|b%H|G)YKl(ki3E!3uO(hVlZCEs5c@{ zp2#aJ6M*6P{{6`j7M(C;H!=KuLJYRWz|8#G+uPd`i8JdAAt51IZ$-(QxA@(S?FyUO zdi?Y$LmN78&w`SiJn8f2d&k#bxJYmq7#L`1Xda1ff)7=mW1_$8sd=!ff1eNaVk$*& zb9bZ?SC=N@THi{$=P)ELs5axe$%DObM$lHDoPuH;jm~q&&maYL^!Gn)fg>1F3zBy| zn^e`+f355b2?_lyOpxv$D^%eY5SX^~I@x%98nwpyCa2;xY&o=w;^7Hf0`^;Fx9<}m;d5q|LUC`Q^0|11Fm)FtFt;ZQ+`y}Jr zZ|7%ce+nmDrAiGesX1Rbbj7kr`RbUM_)o}mR{4tD`nwQ_g*i>}R6Px}w#KQMi7nu& zv_Q}*>DpC=XFv5K$Qn}C(js?-n<0`TI$mA4*82>fBwXI z`t+&zkJ5q3AtKdn>$afNCsR{X;QVwe>@UIg?Psbjh*>fx?(td(&}BhfY`ncitIG(- zDZfwJRTZfe>R#36zdMq}skVHKwpnTl++9L-L~`@;7Q*4;yMI@G5gWU^mO4F_dU{mQ z>B@{_-vOo2P?;~e#o%!vZC23Jz_rgt>r?Vx|Ne}bNpC9+K49yqF@Kd;@N1n;#Iy3K_|M`YDUiLLq`)Kkh79h^CgUlcvM zvPDS(dW%wg2&$Emk`g|%Ra{z1$mUuWZ3$J}&W)VS7~eYl?l@7Bbxw?N;O5z&6EKfr zswJ?7WMQTQB+)_g? zx2(Wq9bBDb531aPH3EZ*t;CGNz#a%{C_iWN(U9m`TEofVnTNDnj>_Q0RhY7ZnrR zpb*QLqx}1KK(N++g!N|Tdsdcm-YhKD&seT(l;(9ih^pU(65KE#_ShDVgdun8;BYAW zGk`qyWKn4B%yZ#k(_Dwmjisbmx{dF@Wp#VWBTlg2pZH=Iw1nta=jx&Vj*mIbe|=PD z=hV(EYHrR1$Q%$DsHUwwLj{Ey|JmLyDk^%vy87D5$%&qs`6H9$xAD#oWu0gAnORx> z+pr!SiI58k04FW`-Avmkgb}i&tcy_r@GVcX^)N~sa3YD8Ww!Ru!r&0ck=l z`4=dczTV!^_#_8WMsafvs%ZE9@trxvO~Bg`Aul8unlg70k?# zbt4<(vBqj-1mTcj=cif1Y_KP&8~%NaWXSLD>uaitJgj_FJ1rL!A|p6GH6|^LOK=;% zyu8JGt?UR(cXr zGBV2R*}z}|?k0-tNFTE69~h{o=w^@_y4q^94r1oveK2i0jRGRKEcEzD-jJ4tRz9>% zl8-~&$i-A29q{k;Fq7@&~lM%S+ z-O-741cd+E&aPW52n@UQ`R@@MFfN;$1;=NfUXlt!A3vv|I6!(~{xnO!mP9+RhZ-5B zNNZu#C74S9J-JI%1``368FK&vg5#qmK9#HVcKt3XFB{$Vh2TO+tSD1Dvz7 zGa!K{7K#X+&;~|EbYMWV%h+=zJi_|>)lurruCf%&5-1rc<8sUz0-ehwt@Ub&aH}<&;0@eCinbW zbxcXPxi{};kq_rZ24W*7N~dm1(1d;EIr+nW=#-INNwD^ga1ztgJ=wFlwWOb?XN5+Q zPffXRBr_V6>Z3TQ-hCwdv!#E%@D110Ovc|ukILJ-44d}3nBbV=E0#Ov*V;fD=6M|_ zV;t}m3cg44X=UzB=Bw-L;|mL{Gn9J9#$^l2KStmFe9}buh~9v5ubf{ZI5;t?oHHZ`@A5FhQ~BH?`7zef-zGP0lMZG{<@NOTP? zX_uDx#NtTScuL4X2d)##BYv&tqashfRBApilaiXM_2Vk~@IZ=bZf+7YQ>C9L$P>XkcKYQ6Os^p z&vD+hUXMaY=L>;d$@i<(X06KGPR)`E+cA%J>3P}NP^i6x&@!K>q`QZ*!+pB3&m0{` z=PN%fZJQio1~u#Pp;J6!LMtmyUzjQC8`r(RUSFNq9)1zzf4RlG^v!gVn_IU=vafG5 zkesq&Bq6RGDVT;dZ60Rv2EIHci0|3j#yfH1qA8r_y0%%O3rY6 zK?(rQw)k=|Lj=&qK@K*EbE&CmQqIs-wljv7>9vH##I^IFT`hzpNPxCJS)kJfbT)kZ zX!Eo&|1F>Qq^q8u-mkLh1I&nsq-1|*r{a94LvU~~phIZKPr24-HSYzD_$X;(|C`fg zw5&-3OGCN1l|{X@veK55!#zL7Vu1QzJ=tG*YnmT}Lhl>~ct|h=`TyApkOFDH zyX*RlbtJ6BpnrHc*9eoTgBrc3s7s@)qH<$(cXoD&#alGj_WkHtShO0kk}@(@TT|J5 zfCc#1){oEYzc5RBt3ubJP=A?7BHSf&(lt3;f{XyS zUO=iot-ta+A4tV z;WesG%*`F{?8Kv#x!41rR$HqtDZRK zbEwl=2-vBZ0{6qsmmm|M{_uQ6sWJ+3$RU{0*V*i|g#-TkKWl4Qq)O>TAFxE_6%{MI zR;T?fAy$JYCnt3WTLQ7KB$q$T>&VjDc4Id;om}{1wzr+t)zuxGoMNC|nOLd`pp2T8 zD(C0TxkI8H`OiZVPv=7dR(tP)Q9K2vc;x=|iHavi0%vr?+bOm|^QD=YhA87>ATwNl z6a(Pb|m;8b4DDUUJU$0jA{G(31pID(OG`HT>IiX#4ip}nuEMDv!2M<%z&@glN;GE9( zKmEIgKXRpOY}{+{1{E=6$Ij31GHtgI9Zk$fJMi7uOm{wLK!7cPMk&9hMjKw}?CeYi z%#emgY(w0{#-yE8c4b2YZIsnkO=aarg-D7a|2&Ax-1~vGqC)t^cfLy*hwlS96J*h|iAp-p*c`4U8zg-n zlo!NMccK;RGR~S2h~IUN)WCQHfVuS!C#C>s=wBeK!tpWKu7}P5^}+nq6R&ilyxzU_ zU|8y{B%Yn5+mBNYF)^`=RZf}w>T1_9>AWGkLU7C=2|)doPAeaH2GA3Dc6$q`?c-*b zTY3ft;NZuHtAUNcnfvra+?T6;DIfv7X<(q`=`I#{$6TlrrR0G3zcGwHRuf31)K0XGrv)FR_R71E6xcnh zlV5aoc|G0TerFq{^?BOa5*{k33@+RzVxT;z35;L7=~;>UT3){ND}wYOlW1qLJ$!qv zKDO;*O^}9`)<%?ZV`Jlipde+<&7!@%R+wY4-W0_pO|!McT4hKAG0hiDKVITYeEGBOeogafbIh|G*r zX3skvw6_bQ%o~A!Aqi1e?@#v5R+lwQ&&*^5ZUoc9R+bCs{X=Br3TrGmA|nnYCLj^4 z0d)$(2BJHb+&i`4qLPy8fDOOIYao1g7;oRc4R)NIn_FE)^IyFw2)XiWYf}&qK$14z~X^dxb;x^&Z30i8V4?qQM3S&q~N$bNsuCFfV zBq{*9T!dWLX-$AkZyjuH9cp#X2<#egksyx%k){MQ#o76Jd0E*gM|HXy7mba(d!iV0 zy7T$M$-LXm~J_PCoNZVFcR!lLKfcAjD7NRdJFK-91 zIMhMv1QX`v)yRU7NS{*BW#O$70H?;o!{Y#jt}J)O-e{FrDw&Vcpz_4mgx zmE4b3l%)?y|E#ON2JI zx3IKi1*|HvdtOoVqaVa*)YInT^kgmPy9kkZ`CN1J81f(gPJ@8oK}{8u5O@?Ps-N-w zvmX6P1#(W>+;hi^b#RpofivYk5(u zW0z?vt%CFRjCTqI+y(T!)TuFV3M=56GeJ9uI@OkHTQZ)4xdO5RNUg705D;sEHUkll zZM`WlR37Y^Rff>{k$fG8g$d!R*Hnqfw*_3_VgzK;QDY9T!8~M32b)%OmXwx?Kp-VU zJdC#NH!!=M-|uHpoTPNm|pgFk}L?JTR$A&+oP)^h_k%T2H>;QnAvjwxCZ2!GHE zsGX3*3M)tUq^`k7YyGEuB>;ku{TrG>0Kku1206ZoGuao;tySU$cv+Ww6^`hi{3%=EWUN=^m|h3&6T zrLjAEOC3NF?Y!s;K0n&OI2bt?u)6Y;V~^_kr7CNe1mfw|;|0WO8@!+(Y<=C%(r*c0 zmL*FJ0)f;ZUAp2@-ty_g@>gKQ+ado7@9z(aj0|qrad;f4${I!i-tU12(Cw<~snN+t z;wcib=yjTQb5PpmeXXg%Hsq;!K20=pjTn8P#P`5k^)9rW`56%fVdpM(cLzU3Ex7V4 z$#C|&mS^sguN;VI@S73su7qv(r>i55d=JqH(j+PgUy;6VI+}fip4?JW+B|ojFZ*%b z9rw*?s_Jr{H=72Q+P^1cT($X5#{cfHgF&$K-&L}ts57rheRp>qa&1u(Sou4fkuFQ| zp;e0IZZ+A|{-uu1sSf84e?1*sKdio{zfTBf+HJdEZLWKJ@t_>Jx+W(?l##Ld@-gju z2O3ke{BL(SI3{PFpRf&nBS|%uxGDPTC-(n)_n`mlPWMV?FCHd+AJMA>ZmDt9lwK%S I%Ug&2KNo3tc>n+a diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg index f9755a1..bcdc24e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg @@ -296,7 +296,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -380,7 +380,7 @@ - ufix16_En6 + sfix16_En6 @@ -585,7 +585,7 @@ - + @@ -705,7 +705,7 @@ - + @@ -1142,54 +1142,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - a_elecAngle - - - - - - - - @@ -1202,11 +1154,11 @@ - + - + a_elecAngle @@ -1221,15 +1173,15 @@ - + - + - - ufix16_En6 + + sfix16_En6 @@ -1240,187 +1192,67 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - T + + - - + + - - F + + - - + + - + - - + + - + sfix16_En12 @@ -1432,67 +1264,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - + - - + + - + sfix16_En12 @@ -1514,19 +1338,19 @@ - + - + - + - + @@ -1552,11 +1376,11 @@ - + - + int16 @@ -1568,28 +1392,28 @@ - - + + - + - + - - [b_enaFOC] + + [z_posLowRes] - + @@ -1601,29 +1425,92 @@ - - - + + + - - + + - - + + - - [z_posHighRes] + + [z_counterRaw] - - + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + a_elecAngle @@ -1644,11 +1531,11 @@ - + - + [z_dir] @@ -1666,11 +1553,11 @@ - + - + int8 @@ -1692,11 +1579,11 @@ - + - + [a_elecAngle] @@ -1711,15 +1598,15 @@ - + - + - - ufix16_En6 + + sfix16_En6 @@ -1730,60 +1617,77 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [b_enaAdvCtrl] - + + + + + + + + + + + + + + + + + + + + + + + + + [z_posLowRes] + - - + + - - + + - - + + - - sfix16_En12 + + int8 @@ -1794,44 +1698,44 @@ - - + + - + - + - - [z_posLowRes] + + [b_enaAdvCtrl] - + - - + + - - + + - - int8 + + boolean @@ -1852,12 +1756,12 @@ - + - - [b_enaFOC] + + [b_enaAdvCtrl] @@ -1874,11 +1778,11 @@ - + - + boolean @@ -1890,52 +1794,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [z_posHighRes] - - + + - - + + - - + + - - ufix16_En6 + + sfix16_En12 @@ -1946,68 +1842,51 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - + + - - + + - + - - + + - + sfix16_En14 @@ -2019,77 +1898,44 @@ - - - + + + - - + + - - + + - - [z_posLowRes] + + [z_counter] - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posHighRes] - - - - - - - + + - - + + - - + + - - sfix16_En12 + + int16 @@ -2100,59 +1946,52 @@ - - - + + + - - + + - - + + - - 5 + + - - - - - - + + + + + + + - - - - - - - - - - - b_enaFOC + + + - - + + - - + + - - boolean + + sfix16_En6 @@ -2163,44 +2002,29 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + [z_posHighRes] - - - - - - - - - - - - - - - - - boolean + + @@ -2211,51 +2035,68 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En14 @@ -2267,44 +2108,188 @@ - - - + + + - - + + - - + + - - [z_counter] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - + + - - + + - - int16 + + sfix16_En12 @@ -2315,44 +2300,59 @@ - - - + + + - - + + - - + + - - 0 + + 5 - - + + + + + + + + + + + + + + + + + b_enaAdvCtrl - - + + - + - - sfix16_En12 + + boolean @@ -2363,44 +2363,44 @@ - - - + + + - - + + - + - - [z_counterRaw] + + 0 - - + + - - + + - + - - int16 + + sfix16_En12 @@ -2911,5 +2911,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json index eb2c4a2..c394ab0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json @@ -603,72 +603,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"g_Hb1", + "label":"g_Hb1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "2", - "Port number", + "4", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", + "Inherit: Same as input", "off", - "reset", + "Simplest", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, + 8, 11 ] }, @@ -678,7 +657,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Gain", "masktype":"" } }, @@ -742,102 +721,100 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8524", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"t_errDequal", - "label":"t_errDequal", + "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":[ - "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":[ - "t_errDequal", + "FromPortIcon", + "ReadWrite", + "", + "All", "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", "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: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", "", "off", - [ - ], - "Auto" + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "State Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Either edge detection" } }, { @@ -898,52 +875,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Sum", - "label":"Sum", + "name":"Relational Operator7", + "label":"Relational Operator7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "IconShape", - "Inputs", + "Operator", "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", "OutDataTypeStr", - "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "rectangular", - "+++", - "off", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", + ">", "off", + "boolean", "Simplest", - "off", - "1", - "All dimensions", - "-1" + "-1", + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 1, + 4 ] }, "viewer":{ @@ -952,7 +915,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -1002,32 +965,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8525", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"t_errQual", - "label":"t_errQual", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "t_errQual", - "on", - "inf", + "u2 ~= 0", + "off", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -1036,8 +1007,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 1, + 9 ] }, "viewer":{ @@ -1046,16 +1017,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1067,7 +1038,7 @@ "ZeroCross" ], "values":[ - "==", + "~=", "off", "boolean", "Simplest", @@ -1096,27 +1067,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "z_errCodePrev", - "local", - "Tag" + "2", + "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" @@ -1124,32 +1142,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9395", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8517", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "VqFinPrev", - "local", - "Tag" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1157,32 +1192,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"Sum", + "label":"Sum", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_motStdStill", - "local", - "Tag" + "rectangular", + "+++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1190,16 +1251,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1208,7 +1269,7 @@ "IconDisplay" ], "values":[ - "z_errCodeRaw", + "z_errCodePrev", "local", "Tag" ], @@ -1228,56 +1289,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "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:8503", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1286,7 +1302,7 @@ "IconDisplay" ], "values":[ - "z_errCode", + "b_errFlag", "local", "Tag" ], @@ -1306,19 +1322,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_errCodeRaw", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -1332,32 +1350,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8525", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"t_errQual", + "label":"t_errQual", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "b_errFlag", - "local", - "Tag" + "t_errQual", + "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" @@ -1365,16 +1399,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1401,11 +1435,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1413,7 +1447,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "z_errCodeRaw", "Tag" ], "tabs":[ @@ -1432,11 +1466,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1444,7 +1478,7 @@ "IconDisplay" ], "values":[ - "z_errCodePrev", + "VqFinPrev", "Tag" ], "tabs":[ @@ -1463,116 +1497,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Debounce_Filter", - "label":"Debounce_Filter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "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", - "" + "b_motStdStill", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "VqFinPrev", + "z_errCodeRaw", + "local", "Tag" ], "tabs":[ @@ -1586,48 +1556,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9395", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "VqFinPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1635,46 +1589,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "7", - "on", - "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint8", "off", - "inf" + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, 7 ] }, @@ -1684,46 +1636,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "0", - "on", - "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint8", "off", - "inf" + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, 7 ] }, @@ -1733,57 +1683,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"g_Hb1", - "label":"g_Hb1", + "name":"CTRL_COMM4", + "label":"CTRL_COMM4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "LockScale", + "FramePeriod" ], "values":[ - "4", - "Element-wise(K.*u)", + "1", + "on", + "inf", "[]", "[]", - "Inherit: Same as input", - "off", - "Simplest", + "Inherit: Inherit via back propagation", "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "inf" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 3, + 7 ] }, "viewer":{ @@ -1792,16 +1732,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", - "className":"Either edge detection", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "className":"Simulink.SubSystem", "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", + "name":"Debounce_Filter", + "label":"Debounce_Filter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1860,7 +1800,7 @@ "off", "off", "", - "Auto", + "Use subsystem name", "", "Auto", "Inherit from model", @@ -1868,7 +1808,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Auto", + "Reusable function", "-1", "", "off", @@ -1890,15 +1830,15 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Either edge detection" + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM4", - "label":"CTRL_COMM4", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1912,7 +1852,7 @@ "FramePeriod" ], "values":[ - "1", + "7", "on", "inf", "[]", @@ -1943,30 +1883,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", - "className":"Simulink.SFunction", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Bitwise Operator1", - "label":"Bitwise Operator1", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "logicop", - "UseBitMask", - "NumInputPorts", - "BitMask", - "BitMaskRealWorld" + "GotoTag", + "IconDisplay" ], "values":[ - "AND", + "z_errCodePrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"r_errInpTgtThres", + "label":"r_errInpTgtThres", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "r_errInpTgtThres", "on", - "1", - "bin2dec('100')", - "Stored Integer" + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 7 ] }, "viewer":{ @@ -1975,43 +1958,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"S-Function", - "masktype":"Bitwise Operator" + "blocktype":"Constant", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8524", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Relational Operator7", - "label":"Relational Operator7", + "name":"t_errDequal", + "label":"t_errDequal", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - ">", + "t_errDequal", + "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":{ @@ -2020,16 +2007,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", + "name":"Abs4", + "label":"Abs4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2037,28 +2024,28 @@ "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ "[]", "[]", - "uint8", + "Inherit: Same as input", "off", - "Real World Value (RWV)", "Floor", "off", - "-1" + "-1", + "on" ], "tabs":[ - "Parameter Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 6 ] }, "viewer":{ @@ -2067,30 +2054,36 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", + "className":"Simulink.SFunction", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Bitwise Operator1", + "label":"Bitwise Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "logicop", + "UseBitMask", + "NumInputPorts", + "BitMask", + "BitMaskRealWorld" ], "values":[ - "z_errCodePrev", - "Tag" + "AND", + "on", + "1", + "bin2dec('100')", + "Stored Integer" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2098,55 +2091,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" + "blocktype":"S-Function", + "masktype":"Bitwise Operator" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Data Type Conversion3", + "label":"Data Type Conversion3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Criteria", - "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "SampleTime" ], "values":[ - "u2 ~= 0", - "off", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "uint8", "off", + "Real World Value (RWV)", + "Floor", "off", - "-1", - "0", - "on" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 7 ] }, "viewer":{ @@ -2155,25 +2138,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "b_motStdStill", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -2186,45 +2169,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Abs4", - "label":"Abs4", + "name":"CTRL_COMM", + "label":"CTRL_COMM", "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":{ @@ -2233,25 +2218,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "z_posRaw", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2264,16 +2249,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9394", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9396", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2296,7 +2281,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -2335,6 +2320,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", "className":"Simulink.From", @@ -2367,19 +2401,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", + "z_errCode", + "local", "Tag" ], "tabs":[ @@ -2393,16 +2429,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9396", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9394", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2425,7 +2461,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -2465,43 +2501,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"r_errInpTgtThres", - "label":"r_errInpTgtThres", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "r_errInpTgtThres", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_errFlag", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2509,45 +2527,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "[]", - "[]", - "uint8", - "off", - "Real World Value (RWV)", - "Floor", + "==", "off", - "-1" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes", + "Main", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 7 + 1, + 4 ] }, "viewer":{ @@ -2556,46 +2572,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "uint8", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "z_errCodePrev", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2603,7 +2603,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"From", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png index e0edd0d1f9364222d968499ed2ff03713e84b008..57551c1f23d4c33cc9e4ddd86e289f9eb6f22e91 100644 GIT binary patch delta 5990 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 delta 5977 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%0A-uk#hLsN1)D8Z)l3>u5@*k5HM-GzPFfc<>-l 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 P47~JpP}=2M4iWzYeVv>9 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 47a5e39..5768944 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.svg @@ -424,44 +424,44 @@ - - - + + + - - + + - + - - 2 + + 4 - - + + - - - + + + - + - - b_errFlag + + uint8 @@ -520,139 +520,148 @@ - - - + + + - - + + - + - - t_errDequal - - - - - - - - - - - - - - + + - + - - uint16 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - - - + + + - - + + - - Ini=0 + + boolean - - - - + - - + + - - uint8 + + + + + + + + + + + + + + + + + + + + + + @@ -665,7 +674,7 @@ - + @@ -673,147 +682,147 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + ~= 0 @@ -831,11 +840,11 @@ - + - + boolean @@ -847,84 +856,60 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - - - + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + boolean @@ -937,7 +922,7 @@ - + @@ -945,27 +930,27 @@ - + - + - + - + - + - + @@ -991,11 +976,11 @@ - + - + boolean @@ -1007,44 +992,188 @@ - - - + + + - - + + - - + + - - t_errQual + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - + + - - + + - - uint16 + + uint8 @@ -1055,38 +1184,30 @@ - - - + + + - + - + - + - - - - - - - - - - + + - - + + @@ -1100,22 +1221,22 @@ - + - + - - + + - + boolean @@ -1127,62 +1248,44 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] + + 2 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [VqFinPrev] - - - - - - - + + b_errFlag @@ -1193,62 +1296,91 @@ - - - + + + - - + + - + - - + + - - [b_motStdStill] + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - [z_errCodeRaw] + + uint8 - - - + + + + + + + + + + + Ini=0 @@ -1259,60 +1391,84 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -1323,28 +1479,28 @@ - - + + - + - + - - [z_errCode] + + [z_errCodePrev] - + @@ -1356,44 +1512,29 @@ - - - + + + - - + + - - + + - - [z_errCodeRaw] + + [b_errFlag] - - - - - - - - - - - - - - - - - uint8 + + @@ -1404,28 +1545,28 @@ - - + + - + - - + + - - [b_errFlag] + + [b_motStdStill] - + @@ -1437,44 +1578,44 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + t_errQual - - + + - - + + - - + + - - boolean + + uint16 @@ -1485,44 +1626,44 @@ - - + + - + - - + + - - [z_posRaw] + + [b_errFlag] - + - - + + - - + + - - uint8 + + boolean @@ -1533,43 +1674,43 @@ - - + + - + - + - - [z_errCodePrev] + + [z_errCodeRaw] - + - + - - + + - + uint8 @@ -1581,323 +1722,44 @@ - - - + + + - - + + - - - - - - - u - - - - - - - - tAcv - - - - - - - - tDeacv - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [VqFinPrev] - - - - - - - - - - - - - - - - - Debounce_Filter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - boolean + + sfix16_En4 @@ -1908,44 +1770,44 @@ - - + + - + - + - - [VqFinPrev] + + [b_motStdStill] - + - - + + - - + + - - int16 + + boolean @@ -1956,44 +1818,62 @@ - - - + + + - - + + - - + + - - 0 + + [z_errCodeRaw] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [VqFinPrev] + + + + + + + @@ -2004,43 +1884,59 @@ - - - + + + - - + + - + - - + + - - 7 + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + uint8 @@ -2052,43 +1948,59 @@ - - - + + + - - + + - + - - + + - - 0 + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + uint8 @@ -2100,44 +2012,44 @@ - - - + + + - - + + - - + + - - 4 + + 1 - - + + - - + + - - + + - - uint8 + + boolean @@ -2148,196 +2060,323 @@ - - - + + + - - + + - - + + - - + + u - - + + - - + + tAcv - - + + - - + + tDeacv - - + + - - + + y - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + + + + + + - - - - - - + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + - + + + + - - + + - - 1 + + Debounce_Filter - - - + + + + + + + + + + + boolean - - - - + - - + + - - boolean + + + + + + + + + + + + + + + + + + + + + + @@ -2348,59 +2387,43 @@ - - - + + + - - + + - - - - - - Bitwise - - - - - - - - AND - - - - + + - - 0x4 + + 7 - - + + - + - - + + - + uint8 @@ -2412,60 +2435,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_errCodePrev] - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -2476,60 +2483,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + r_errInpTgtThres - - - - - + + + + - - - + + + + + + + + + + + r_errInpTgtThres - - + + - - + + - - uint8 + + sfix16_En4 @@ -2540,44 +2546,44 @@ - - - + + + - - + + - - + + - - [z_errCodePrev] + + t_errDequal - - + + - - + + - - + + - - uint8 + + uint16 @@ -2588,187 +2594,203 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + Bitwise - - + + - - + + AND - - + + - - + + 0x4 + + + + + + + + + + + + + + - - + + - - + + uint8 + + + + + + + + + + + + + + + + + + - - + + - - T + + - - + + - - F + + + + + + + + + + - - + + - + - - + + - + uint8 @@ -2780,44 +2802,44 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + if { } - - + + - - - + + + - - + + - - boolean + + Action Port @@ -2828,76 +2850,92 @@ - - - + + + - - + + - + - - + + - - + + 0 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + uint8 - - + + + + + + + + + + + + + + + + + + + [z_posRaw] + - - + + - + - - + + - - int16 + + uint8 @@ -2908,44 +2946,59 @@ - - - + + + - - + + - - + + - - if { } + + 2 + + + + + + + - - - + + + + + + + + + + + b_motStdStill - - - + + + - - + + - - Action Port + + boolean @@ -2956,59 +3009,44 @@ - - - + + + - - + + - - + + - - 3 + + 0 - - - - - - - - - - - - - - - - - VqFinPrev + + - + - - + + - - int16 + + uint8 @@ -3029,11 +3067,11 @@ - + - + [z_errCodeRaw] @@ -3051,11 +3089,11 @@ - + - + uint8 @@ -3067,44 +3105,29 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + [z_errCode] - - - - - - - - - - - - - - - - - boolean + + @@ -3115,59 +3138,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - b_motStdStill + + VqFinPrev - - + + - - + + - - boolean + + sfix16_En4 @@ -3178,59 +3201,44 @@ - - - + + + - - + + - - + + - - r_errInpTgtThres + + [b_errFlag] - - - - - - - - - - - - - - - - - r_errInpTgtThres + + - - + + - - + + - - int16 + + boolean @@ -3241,30 +3249,38 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + @@ -3278,23 +3294,23 @@ - - + + - - + + - - + + - - uint8 + + boolean @@ -3305,59 +3321,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_errCodePrev] - - - - - - - - - - + + - + - + - + uint8 @@ -3401,32 +3401,32 @@ - - - - - - - - - - - - + - + boolean + + + + + + + + + + + @@ -4005,5 +4005,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json index 8cf0d47..557cf0f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json @@ -49,11 +49,42 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2426", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"yDefault", - "label":"yDefault", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"yPrev", + "label":"yPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "inspector":{ "params":[ @@ -69,17 +100,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "1", @@ -94,17 +119,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -124,47 +142,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2426", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"yPrev", - "label":"yPrev", + "name":"yDefault", + "label":"yDefault", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "inspector":{ "params":[ @@ -180,11 +167,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "1", @@ -199,10 +192,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -222,7 +222,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg index 04d4c7d..46b9197 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg @@ -32,44 +32,44 @@ - - - + + + - - + + - + - - 1 + + else { } - - + + - - + + - + - - yDefault + + Action Port @@ -80,44 +80,59 @@ - - - + + + - - + + - + - - else { } + + 1 - - + + - - + + - + - - Action Port + + yPrev + + + + + + + + + + + + + + + boolean @@ -128,59 +143,44 @@ - - + + - + - + - + 1 - + - - - - - - - - - - yPrev - - - - - - - + + - + - - boolean + + yDefault @@ -205,5 +205,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.json index 5c565a9..6a11fef 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,61 @@ [ + { + "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:2447", "className":"Simulink.Outport", @@ -80,11 +137,56 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", + "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:2444", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -93,7 +195,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "b_cntRst", "local", "Tag" ], @@ -113,11 +215,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -126,7 +228,7 @@ "IconDisplay" ], "values":[ - "yDeacv", + "yPrev", "local", "Tag" ], @@ -146,11 +248,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2444", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -159,7 +261,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "yDeacv", "local", "Tag" ], @@ -241,19 +343,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2437", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "tDeacv", + "local", "Tag" ], "tabs":[ @@ -267,47 +371,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "z_cntInit" ], "values":[ - "yDeacv", - "Tag" + "0" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":[ @@ -321,12 +423,12 @@ "FramePeriod" ], "values":[ - "0", + "1", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint16", "off", "inf" ], @@ -352,20 +454,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "yDeacv", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -378,55 +480,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2431", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2433", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"yPrev", - "label":"yPrev", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "3", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -435,8 +519,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -445,45 +529,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "z_cntInit" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "0" + "held", + "Only when execution is resumed" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2437", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -491,7 +577,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "tDeacv", "Tag" ], "tabs":[ @@ -510,60 +596,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "uint16", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2431", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_cntRst", - "label":"b_cntRst", + "name":"yPrev", + "label":"yPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -586,7 +623,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -626,21 +663,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "tDeacv", - "local", + "yPrev", "Tag" ], "tabs":[ @@ -654,16 +689,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2429", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2430", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"tDeacv", - "label":"tDeacv", + "name":"b_cntRst", + "label":"b_cntRst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -686,7 +721,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -726,40 +761,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2446", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2429", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"tDeacv", + "label":"tDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "u2 ~= 0", - "off", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", "off", "off", - "-1", - "0", - "on" + "off" ], "tabs":[ "Main", @@ -768,53 +813,8 @@ ], "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", - "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 + 2, + 11 ] }, "viewer":{ @@ -823,7 +823,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "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 874edcf..11f56e9 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.svg @@ -10,6 +10,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + @@ -23,11 +215,11 @@ - + - + 1 @@ -45,11 +237,11 @@ - + - + yDeacv @@ -61,29 +253,60 @@ - - - + + + - - + + - + - - + + - - [yPrev] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + boolean @@ -94,28 +317,28 @@ - - + + - + - + - - [yDeacv] + + [b_cntRst] - + @@ -127,28 +350,28 @@ - - + + - + - + - - [b_cntRst] + + [yPrev] - + @@ -160,44 +383,29 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + [yDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -208,44 +416,44 @@ - - + + - + - + - - [tDeacv] + + [b_cntRst] - + - - + + - - + + - - uint16 + + boolean @@ -256,43 +464,43 @@ - - + + - + - + - + [tDeacv] - + - + - - + + - + uint16 @@ -304,203 +512,29 @@ - - - - - - - - - - - - - - - - [yDeacv] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - elseif { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - + + + - - + + - - + + - - 3 + + [tDeacv] - - - - - - - - - - - - - - - - - yPrev - - - - - - - - - - - - - - - boolean + + @@ -521,155 +555,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -687,11 +721,11 @@ - + - + Counter @@ -702,11 +736,11 @@ - + - + uint16 @@ -714,29 +748,29 @@ - + - + - + - + - + - + @@ -750,43 +784,91 @@ - - + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + uint16 + + + + + + + + + + + + - + - + - - [yPrev] + + [yDeacv] - + - + - - + + - + boolean @@ -798,44 +880,44 @@ - - + + - + - + - - 1 + + 0 - + - - + + - - + + - - uint16 + + boolean @@ -846,59 +928,44 @@ - - - + + + - - + + - - + + - - 2 + + elseif { } - - + + - - - - - - - - - - b_cntRst - - - - - - - + + - - + + - - boolean + + Action Port @@ -909,29 +976,44 @@ - - - + + + - - + + - - + + - + [tDeacv] - - + + + + + + + + + + + + + + + + + uint16 @@ -942,59 +1024,59 @@ - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - tDeacv + + yPrev - - + + - - + + - - uint16 + + boolean @@ -1005,187 +1087,106 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [yPrev] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + 2 - - - - - - - + + + + + + - - - - - - - T + + + + + + - - + + - - F - - - - - - - + + b_cntRst - + - - + + - + boolean @@ -1197,60 +1198,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - + + + + - - - + + + + + + + + + + + tDeacv - - + + - + - - boolean + + uint16 @@ -1443,5 +1443,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg index 6bcd55e..06faa6a 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 @@ - + @@ -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 bc49ee9..d4abc8b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json @@ -1,4 +1,92 @@ [ + { + "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", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", + "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:8486:2435:2418", "className":"Simulink.Outport", @@ -79,35 +167,6 @@ "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:2415", "className":"Simulink.MinMax", @@ -162,11 +221,11 @@ } }, { - "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":[ @@ -189,7 +248,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -229,11 +288,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2414", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2413", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", + "name":"max", + "label":"max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "inspector":{ "params":[ @@ -256,7 +315,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -362,65 +421,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2416", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "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:8486:2435:2515#out:1", "className":"Simulink.Line", 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 e104655..994e7c2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg @@ -10,60 +10,12 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - cnt - - - - - - - - + @@ -71,51 +23,51 @@ - + - + u - + - + rst - + - + y - + - + 1 - + - + z - + - + @@ -128,61 +80,61 @@ - - - + + + - - + + - - Ini=z_cntInit + + uint16 - - - + + + - - + + - - uint16 + + Ini=z_cntInit - + - + - + - + - + - + @@ -196,59 +148,67 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - - + + - - + + - + uint16 @@ -260,58 +220,107 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - max + + cnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + uint16 @@ -333,11 +342,11 @@ - + - + 3 @@ -355,11 +364,11 @@ - + - + rst @@ -370,11 +379,11 @@ - + - + boolean @@ -386,58 +395,58 @@ - - + + - + - + - - 1 + + 2 - + - - + + - - + + - - inc + + max - + - - + + - + uint16 @@ -449,67 +458,58 @@ - - - + + + - - + + - - + + - - + + 1 - - - - - - - + + + + + + - - - - - - - + + + + + + - + - - - - - - - - - + + inc - + - + - + 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 bbbf0f8..5cdbc2b 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,39 +1,62 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2492", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"yAcv", + "label":"yAcv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "u2 ~= 0", - "off", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", - "-1", + "[]", + "off", + "held", + "off", "0", - "on" + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -42,8 +65,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -52,43 +75,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2490", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "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":{ @@ -97,7 +132,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", "masktype":"" } }, @@ -135,11 +170,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2488", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -148,7 +183,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "yPrev", "local", "Tag" ], @@ -168,74 +203,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2492", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"yAcv", - "label":"yAcv", + "name":"Goto", + "label":"Goto", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "tAcv", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -243,7 +231,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, @@ -310,50 +298,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "z_cntInit" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "tAcv", - "local", + "yAcv", "Tag" ], "tabs":[ @@ -367,16 +324,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2481", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -384,7 +341,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "yPrev", "Tag" ], "tabs":[ @@ -403,60 +360,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2479", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "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":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "z_cntInit" ], "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "uint16", - "off", - "inf" + "0" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 3, - 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -464,7 +401,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "tAcv", "Tag" ], "tabs":[ @@ -483,11 +420,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":[ @@ -506,7 +443,7 @@ "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint16", "off", "inf" ], @@ -531,37 +468,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2476", "className":"Simulink.Inport", @@ -630,11 +536,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2488", + "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", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -643,7 +580,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "yAcv", "local", "Tag" ], @@ -662,6 +599,51 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2490", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator2", + "label":"Relational Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2475", "className":"Simulink.Inport", @@ -730,25 +712,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2481", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "yPrev", - "Tag" + "1", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -756,7 +756,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png index 57009d5109eb44a68b6e0bcef84964bf6e39402d..5717ff094ee40cbab1e1dc1217594573d3200b6a 100644 GIT binary patch literal 6787 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 K!OPTDQoE8Ho`H1euzuvJU+2I)4xnz;lV= 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 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 3cf3ab4..3e22fef 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,46 +13,70 @@ - - - + + + - - + + - + - - + + 1 - - - - - - - + + + + + + + + + + + + + - - + + - - + + yAcv + + + + + + + + + + + + + + + + + + - + @@ -60,7 +84,7 @@ - + @@ -68,7 +92,7 @@ - + @@ -76,7 +100,7 @@ - + @@ -84,7 +108,7 @@ - + @@ -92,7 +116,7 @@ - + @@ -100,7 +124,7 @@ - + @@ -108,7 +132,7 @@ - + @@ -116,7 +140,7 @@ - + @@ -124,7 +148,7 @@ - + @@ -132,7 +156,7 @@ - + @@ -140,7 +164,7 @@ - + @@ -148,7 +172,7 @@ - + @@ -156,22 +180,46 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + - + T - + - + F @@ -189,11 +237,11 @@ - + - + boolean @@ -205,60 +253,62 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [b_cntRst] - + + + + - - + + + + + + + + + - - - - - - + + - - - - + - - + + - - boolean + + [yPrev] + + + + + + + @@ -269,28 +319,28 @@ - - + + - + - + - - [b_cntRst] + + [tAcv] - + @@ -302,29 +352,44 @@ - - - + + + - - + + - - + + - - [yAcv] + + [b_cntRst] - - + + + + + + + + + + + + + + + + + boolean @@ -335,44 +400,44 @@ - - - + + + - - + + - - + + - - 1 + + [tAcv] - - + + - - - + + + - - + + - - yAcv + + uint16 @@ -383,43 +448,43 @@ - - + + - + - + - - [b_cntRst] + + [yAcv] - + - + - - + + - + boolean @@ -431,44 +496,44 @@ - - + + - + - + - - [tAcv] + + [yPrev] - + - - + + - - + + - - uint16 + + boolean @@ -489,155 +554,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -655,11 +720,11 @@ - + - + Counter @@ -670,11 +735,11 @@ - + - + uint16 @@ -682,29 +747,29 @@ - + - + - + - + - + - + @@ -716,39 +781,6 @@ - - - - - - - - - - - - - - - - - - [tAcv] - - - - - - - - - - - - - - - @@ -761,11 +793,11 @@ - + - + [tAcv] @@ -783,11 +815,11 @@ - + - + uint16 @@ -809,11 +841,11 @@ - + - + 1 @@ -831,11 +863,11 @@ - + - + uint16 @@ -847,91 +879,58 @@ - - - + + + - - + + - - + + - - [yAcv] + + 3 - - + + - - - - - - - - - - - boolean + + + - - - - - - - - - - - - - - - - - - - - + + - - 1 - - - - - - - + + b_errPrev - + - - + + - + boolean @@ -953,11 +952,11 @@ - + - + if { } @@ -975,11 +974,11 @@ - + - + Action Port @@ -991,92 +990,93 @@ - - - + + + - - + + - - + + - - 3 + + [yAcv] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - b_errPrev - - - - - - - + + - - + + - - boolean + + - - - - - - - - - - - - + + - - - - - - - [yPrev] - - - + + + + + + + + + + + + + + + + + boolean @@ -1150,43 +1150,43 @@ - - - + + + - - + + - + - - [yPrev] + + 1 - - + + - + - + - + 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 6579510..7a75d17 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 @@ - + @@ -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_2480_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json index 94c8001..7b835de 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json @@ -1,4 +1,33 @@ [ + { + "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:2418", "className":"Simulink.Outport", @@ -79,35 +108,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"rst_Delay", - "label":"rst_Delay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "z_cntInit" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2416", "className":"Simulink.Sum", @@ -167,59 +167,6 @@ "masktype":"" } }, - { - "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:2414", "className":"Simulink.Inport", @@ -421,6 +368,59 @@ "masktype":"" } }, + { + "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:2515#out:1", "className":"Simulink.Line", 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 a05ddf1..3c7cd87 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 @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - cnt - - - - - - - @@ -71,51 +23,51 @@ - + - + u - + - + rst - + - + y - + - + 1 - + - + z - + - + @@ -133,11 +85,11 @@ - + - + Ini=z_cntInit @@ -148,11 +100,11 @@ - + - + uint16 @@ -160,29 +112,29 @@ - + - + - + - + - + - + @@ -194,6 +146,54 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + cnt + + + + + + + + @@ -266,70 +266,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - @@ -342,11 +278,11 @@ - + - + 3 @@ -364,11 +300,11 @@ - + - + rst @@ -379,11 +315,11 @@ - + - + boolean @@ -405,11 +341,11 @@ - + - + 2 @@ -427,11 +363,11 @@ - + - + max @@ -442,11 +378,11 @@ - + - + uint16 @@ -468,11 +404,11 @@ - + - + 1 @@ -490,11 +426,11 @@ - + - + inc @@ -505,11 +441,75 @@ - + - + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint16 @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg index ad07da2..954a9ac 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 d44b457..71de1d3 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,101 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "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:2509", "className":"Simulink.UnitDelay", @@ -244,28 +147,24 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "2", - "u1 ~= 0", - "u2 ~=0", - "on", - "-1", - "on" + "[]", + "off", + "[]", + "3" ], "tabs":[ "Parameter Attributes", @@ -273,7 +172,7 @@ ], "tabs_idx":[ 0, - 4 + 1 ] }, "viewer":{ @@ -282,7 +181,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Merge", "masktype":"" } }, @@ -320,11 +219,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2465", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -333,7 +232,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "yPrev", "local", "Tag" ], @@ -353,74 +252,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2496", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2463", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"Goto2", + "label":"Goto2", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "u", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -428,16 +280,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2461", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -446,7 +298,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "b_cntRst", "local", "Tag" ], @@ -466,60 +318,171 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "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":[ - "y", - "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":[ - "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", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Either edge detection" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2461", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2496", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "b_cntRst", - "local", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -527,16 +490,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2460", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -544,7 +507,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "y", "Tag" ], "tabs":[ @@ -563,11 +526,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2459", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -575,7 +538,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "u", "Tag" ], "tabs":[ @@ -594,11 +557,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2458", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -606,7 +569,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "u", "Tag" ], "tabs":[ @@ -625,33 +588,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" + "GotoTag", + "IconDisplay" ], "values":[ - "3", - "[]", - "off", - "[]" + "tDeacv", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -659,16 +614,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -676,7 +631,7 @@ "IconDisplay" ], "values":[ - "u", + "tAcv", "Tag" ], "tabs":[ @@ -695,11 +650,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -707,7 +662,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "u", "Tag" ], "tabs":[ @@ -726,11 +681,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -738,7 +693,7 @@ "IconDisplay" ], "values":[ - "u", + "b_cntRst", "Tag" ], "tabs":[ @@ -757,11 +712,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2458", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -769,7 +724,7 @@ "IconDisplay" ], "values":[ - "u", + "yPrev", "Tag" ], "tabs":[ @@ -788,19 +743,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "yPrev", + "y", + "local", "Tag" ], "tabs":[ @@ -814,38 +771,104 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Dequalification", + "label":"Dequalification", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "b_cntRst", - "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":"" } }, @@ -881,11 +904,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2463", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2465", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -894,7 +917,7 @@ "IconDisplay" ], "values":[ - "u", + "tAcv", "local", "Tag" ], @@ -914,11 +937,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2460", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -926,7 +949,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "yPrev", "Tag" ], "tabs":[ @@ -945,108 +968,109 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Default", - "label":"Default", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "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:2422", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"tDeacv", + "label":"tDeacv", + "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":[ - "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" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2459", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1054,7 +1078,7 @@ "IconDisplay" ], "values":[ - "tDeacv", + "b_cntRst", "Tag" ], "tabs":[ @@ -1073,11 +1097,11 @@ } }, { - "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":[ @@ -1237,60 +1261,36 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2422", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"tDeacv", - "label":"tDeacv", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", + "2", + "u1 ~= 0", + "u2 ~=0", "on", - "off", - "off", - "off" + "-1", + "on" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 4 ] }, "viewer":{ @@ -1299,7 +1299,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "yPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, @@ -1371,42 +1402,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "y", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486: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:2470", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1463,7 +1463,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", @@ -1492,11 +1492,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2468", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1508,7 +1508,7 @@ "SampleTime" ], "values":[ - "AND", + "NOT", "2", "rectangular", "off", @@ -1537,11 +1537,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2469", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1553,7 +1553,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png index 0b6fe0b89a6cb28e6207e661be06f0d416083a1a..001f01d26007a353fbb69fad31b892112b30b7f6 100644 GIT binary patch literal 6785 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 e!KULu(Yn-=c@nHj$OQi>L5%e+^vZQy7Y ztTGq8-1O8i_klntzFj}@GWaNNK_Dy-G*uLh0zPfcxVu>%wh`~{?BSH{rM+11`7M5_ z*ZCD&Z~nr`WvzsAWFJjvS^-`F^&tc-W)!lsH* zM@L7$^cyofGc)SsM6#u|)xgyB-UNGJ?QSUbrplej_4OC^_4OL~Cr48+l@TUOe@Du} zc6Qp&1j7yrIr3|2sJFJZ3RWq|$P}u^y4}RPSG*%(OiW2?lB^WBIiLUh6gj*eZGq^? z;4`HnxiRl6Ra0FZ@iKJ7va500LqbYQ3VMOnB;;)&er#nNW5)?;FN6M5fcQ&D6e1Ah zor_h^pFX8!xpiv+cbclrlZJH=mXfmAWgM{+R>;@y-12+E4$sTOY|pgbJ$4mkA)};x z(mqZ~O8T{`3iIO!nbY&`f>fs`ZIT^fq#T@$ty#iLAZ0tq=n52)G0PGBLI zr>j{xIcWcmGwaQXx{_%fF0;)*kTC2;iC$jM&m8HY-@my76ITO0S&4I3Q8=0RT6Z`7 zS_f%QG4hvqq_nYz2jQJr?#uUXJF&#;>?y>SO&-?R)$)J=*<;q+ z&?EDqP!^p9TbkNSvrJW<^t9>lv#q9XXHkX_e#XR44kGaioRBCK#IA<8;Hg08S8bRJ z`¨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 ae)==ToAs8K0Qe;dqN%E@QmJJ3`hNgInYDTV diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg index 84568e1..9ce9602 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.svg @@ -10,158 +10,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -175,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -224,32 +72,32 @@ - - - + + + - - + + - - Ini=0 + + boolean - - - + + + - - + + - - boolean + + Ini=0 @@ -276,43 +124,43 @@ - + - + tAcv - + - + b_cntRst - + - + b_errPrev - + - + yAcv - + - + if { } @@ -342,11 +190,11 @@ - + - + Qualification @@ -359,16 +207,16 @@ - - + + - - + + - - action + + boolean @@ -380,16 +228,16 @@ - - + + - - + + - - boolean + + action @@ -400,112 +248,66 @@ - + - - + + - - + + - - - - - - - - u1 - - - - - - - - u2 - - - - - - - - if(u1 ~= 0) - + - - + + - - elseif(u2 ~=0) + + - - + + - - else + + - - - - + - - - - - - - - - - - action - + - - - - - - - - - - - action + + + - - + + - - + + - - action + + boolean @@ -526,11 +328,11 @@ - + - + [tDeacv] @@ -549,28 +351,28 @@ - - + + - + - + - - [tAcv] + + [yPrev] - + @@ -582,44 +384,29 @@ - - - + + + - - + + - - + + - - 1 + + [u] - - - - - - - - - - - - - - - - - y + + @@ -630,28 +417,28 @@ - - + + - + - + - - [yPrev] + + [b_cntRst] - + @@ -663,29 +450,148 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - [y] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -696,29 +602,44 @@ - - - + + + - - + + - - + + - - [b_cntRst] + + 1 - - + + + + + + + + + + + + + + + + + y @@ -729,43 +650,43 @@ - - + + - + - + - - [yPrev] + + [y] - + - + - - + + - + boolean @@ -777,43 +698,43 @@ - - + + - + - + - - [b_cntRst] + + [u] - + - + - - + + - + boolean @@ -825,43 +746,43 @@ - - + + - + - + - - [yPrev] + + [u] - + - + - - + + - + boolean @@ -873,60 +794,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [tDeacv] - - - - - - - - - - + + - - + + - - + + - - boolean + + uint16 @@ -937,44 +842,44 @@ - - + + - + - + - - [u] + + [tAcv] - + - - + + - - + + - - boolean + + uint16 @@ -985,43 +890,43 @@ - - + + - + - + - - [yPrev] + + [u] - + - + - - + + - + boolean @@ -1033,43 +938,43 @@ - - + + - + - + - - [u] + + [b_cntRst] - + - + - - + + - + boolean @@ -1081,43 +986,43 @@ - - + + - + - + - - [u] + + [yPrev] - + - + - - + + - + boolean @@ -1129,44 +1034,29 @@ - - - + + + - - + + - - + + - - [yPrev] + + [y] - - - - - - - - - - - - - - - - - boolean + + @@ -1177,43 +1067,135 @@ - - - + + + - - + + + + + + + + - - + + - - [b_cntRst] + + tDeacv + + + + + + + + b_cntRst + + + + + + + + yPrev + + + + + + + + yDeacv + + + + + + + + elseif { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dequalification - + + + + + + + + + + + + + + + + action + + + + + + + + + + + + - - + + - + boolean @@ -1226,6 +1208,12 @@ + + + + + + @@ -1235,11 +1223,11 @@ - + - + [yPrev] @@ -1257,11 +1245,11 @@ - + - + boolean @@ -1273,28 +1261,28 @@ - - + + - + - + - - [u] + + [tAcv] - + @@ -1306,44 +1294,44 @@ - - + + - + - + - - [tAcv] + + [yPrev] - + - - + + - - + + - - uint16 + + boolean @@ -1354,120 +1342,107 @@ - - - + + + - - - - - - - - + + - - - - - - yPrev - - - - - - - - yDefault - - - - + + - - else { } + + [yPrev] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Default + + boolean - + + + + + + + + + + + + + + + - - - - + + + - - + + 3 + + + + + + + + + + + + + + - - + + - - action + + tDeacv - - - - - - - - + + - - + + - - boolean + + uint16 @@ -1478,50 +1453,44 @@ - - - - - - - - + + - + - + - - [tDeacv] + + [b_cntRst] - + - - + + - - + + - - uint16 + + boolean @@ -1532,8 +1501,8 @@ - - + + @@ -1542,50 +1511,34 @@ - + - - - - - - tDeacv - - - + - - b_cntRst - - - - - - - + yPrev - + - - yDeacv + + yDefault - + - - elseif { } + + else { } @@ -1597,7 +1550,7 @@ - + @@ -1610,16 +1563,16 @@ - - + + - - + + - - Dequalification + + Default @@ -1631,16 +1584,16 @@ - - + + - - + + - - action + + boolean @@ -1652,16 +1605,16 @@ - - + + - - + + - - boolean + + action @@ -1688,11 +1641,11 @@ - + - + 2 @@ -1710,11 +1663,11 @@ - + - + tAcv @@ -1725,11 +1678,11 @@ - + - + uint16 @@ -1741,59 +1694,106 @@ - - - + + + - - + + - - + + - - 3 + + u1 + + + + + + + + u2 + + + + + + + + if(u1 ~= 0) + + + + + + + + elseif(u2 ~=0) + + + + + + + + else - - + + - - - + + + + + + + + + + + action + + + + + + + - + - - tDeacv + + action - - + + - + - - uint16 + + action @@ -1804,58 +1804,43 @@ - - - + + + - - + + - + - - 1 + + [yPrev] - - - - - - - - - - - - - - - - - u + + - + - - + + - + boolean @@ -1867,43 +1852,58 @@ - - - + + + - - + + - - + + - - [y] + + 1 - - + + + + + + + + + + + + + + + + + u - + - + - + boolean @@ -1915,30 +1915,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -1948,23 +1948,23 @@ - + - + - + boolean - - + + @@ -1979,30 +1979,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2012,23 +2012,23 @@ - + - + - + boolean - - + + @@ -2043,30 +2043,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2076,23 +2076,23 @@ - + - + - + boolean - - + + @@ -2107,30 +2107,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2140,23 +2140,23 @@ - + - + - + boolean - - + + @@ -2597,5 +2597,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8519_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8519_d.svg index d9cbdac..96ccca2 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 @@ -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 cb6f6e5..928093d 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 @@ -161,11 +161,11 @@ } }, { - "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":[ @@ -174,7 +174,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_errFlag", "local", "Tag" ], @@ -194,11 +194,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9423", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -207,7 +207,7 @@ "IconDisplay" ], "values":[ - "b_toTrqMod", + "b_motStdStill", "local", "Tag" ], @@ -227,11 +227,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -240,7 +240,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "z_ctrlModPrev", "local", "Tag" ], @@ -260,11 +260,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10023", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -273,7 +273,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "r_inpTgt", "local", "Tag" ], @@ -293,19 +293,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10019", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", + "VqFinPrev", + "local", "Tag" ], "tabs":[ @@ -319,7 +321,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -357,11 +359,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10020", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -369,7 +371,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "VqFinPrev", "Tag" ], "tabs":[ @@ -388,11 +390,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -400,7 +402,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "b_toTrqMod", "Tag" ], "tabs":[ @@ -419,19 +421,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", + "b_toActive", + "local", "Tag" ], "tabs":[ @@ -445,26 +449,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -478,16 +480,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9996", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -495,7 +497,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "r_inpTgt", "Tag" ], "tabs":[ @@ -514,11 +516,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9995", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -526,7 +528,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -545,11 +547,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -557,7 +559,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -576,19 +578,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", + "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -602,113 +606,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon6", - "name":"F03_02_Control_Mode_Manager", - "label":"F03_02_Control_Mode_Manager", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "Stateflow.Translate.translate", - "ExplicitOnly", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "b_toOpen", + "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:8635", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -716,7 +654,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toActive", "Tag" ], "tabs":[ @@ -768,54 +706,180 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F03_01_Mode_Transition_Calculation", - "label":"F03_01_Mode_Transition_Calculation", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9994", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", + "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:10017", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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: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: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:8546", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F03_01_Mode_Transition_Calculation", + "label":"F03_01_Mode_Transition_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", "on", "", "", @@ -865,11 +929,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8537", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10018", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -892,7 +956,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "7", "Port number", "[]", "[]", @@ -932,11 +996,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10022", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -959,7 +1023,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "6", "Port number", "[]", "[]", @@ -999,27 +1063,155 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon6", + "name":"F03_02_Control_Mode_Manager", + "label":"F03_02_Control_Mode_Manager", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "b_toOpen", - "local", - "Tag" + "FromPortIcon", + "ReadWrite", + "Stateflow.Translate.translate", + "ExplicitOnly", + "on", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10028", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From24", + "label":"From24", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:9997", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1032,11 +1224,207 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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: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:10021", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:8640", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1045,80 +1433,898 @@ "IconDisplay" ], "values":[ - "b_errFlag", - "local", - "Tag" + "b_toOpen", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_toSpdMod", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F03_03_Input_Target_Synthesis", + "label":"F03_03_Input_Target_Synthesis", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "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:8628", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_errFlag", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10024", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8536", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_errFlag", + "label":"b_errFlag", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:8537", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_motEna", + "label":"b_motEna", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10029", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "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", + "icon":"WebViewIcon3", + "name":"b_motStdStill", + "label":"b_motStdStill", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:8634#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8537#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8625#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8630#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8539#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8636#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "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:8654#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8536", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "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":{ @@ -1126,66 +2332,50 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "4", - "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":{ @@ -1193,46 +2383,62 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "z_ctrlModReq", - "local", - "Tag" + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8634#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1283,7 +2489,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8537#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1334,7 +2540,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1385,7 +2591,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1436,7 +2642,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1487,7 +2693,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1538,7 +2744,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8654#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8536#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1589,7 +2795,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1640,7 +2846,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1691,7 +2897,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1742,7 +2948,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9995#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1793,7 +2999,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9994#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1844,7 +3050,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9996#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1895,7 +3101,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1946,7 +3152,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10017#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1997,7 +3203,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10018#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2048,7 +3254,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8536#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10020#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2099,7 +3305,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8628#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10022#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2150,7 +3356,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10021#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2201,7 +3407,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10028#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_8535_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.png index fedb5f5f43aa2ca3826e6620ab05b2f4d051fd99..01b7a80c591eabac923775ce25cdd913513f3e15 100644 GIT binary patch literal 10359 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg index 3321102..2038369 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.svg @@ -1,10 +1,10 @@ - + - + @@ -46,7 +46,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -110,10 +110,10 @@ - + - + @@ -123,7 +123,7 @@ - + @@ -131,7 +131,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -162,22 +162,22 @@ - + - + - + - + uint8 @@ -189,11 +189,11 @@ - - + + - + @@ -203,14 +203,14 @@ - - [b_motStdStill] + + [b_errFlag] - + @@ -222,11 +222,11 @@ - - + + - + @@ -236,14 +236,14 @@ - - [b_toTrqMod] + + [b_motStdStill] - + @@ -255,11 +255,11 @@ - - + + - + @@ -269,14 +269,14 @@ - - [b_toActive] + + [z_ctrlModPrev] - + @@ -288,11 +288,11 @@ - - + + - + @@ -302,14 +302,14 @@ - - [z_ctrlModPrev] + + [r_inpTgt] - + @@ -321,44 +321,29 @@ - - - + + + - - + + - + - - [b_motEna] + + [VqFinPrev] - - - - - - - - - - - - - - - - - boolean + + @@ -370,27 +355,27 @@ - + - + - + - + [z_ctrlMod] - + @@ -402,44 +387,44 @@ - - + + - + - + - - [z_ctrlModPrev] + + [VqFinPrev] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -450,43 +435,43 @@ - - + + - + - + - - [b_toSpdMod] + + [b_toTrqMod] - + - + - - + + - + boolean @@ -498,44 +483,77 @@ - - + + + + + + + + + + + + + + + + [b_toActive] + + + + + + + + + + + + + + + + + + + - + - + - - [b_errFlag] + + [z_ctrlModPrev] - + - - + + - - + + - - boolean + + uint8 @@ -546,29 +564,44 @@ - - - + + + - - + + - - + + - - [b_toSpdMod] + + [r_inpTgt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -579,44 +612,44 @@ - - + + - + - + - - [b_motStdStill] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -627,43 +660,43 @@ - - + + - + - + - - [b_toOpen] + + [b_toSpdMod] - + - + - - + + - + boolean @@ -675,43 +708,76 @@ - - + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + - + - + - - [b_toActive] + + [b_toOpen] - + - + - - + + - + boolean @@ -723,43 +789,43 @@ - - + + - + - + - - [b_toTrqMod] + + [b_toActive] - + - + - - + + - + boolean @@ -771,181 +837,124 @@ - - - + + + - - - - - - - - + + - - + + - - b_toOpen + + [b_motEna] - - - - - - - b_toActive + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - b_toSpdMod - - - - - - - - b_toTrqMod - - - - - - - - z_ctrlMod + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - F03_02_Control_Mode_Manager + + + - - - - - - - + - - + + - + uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - [z_ctrlModReq] + + [z_ctrlMod] - + - + - - + + - + uint8 @@ -957,28 +966,28 @@ - - + + - + - + - - [b_motEna] + + [b_toTrqMod] - + @@ -988,93 +997,141 @@ + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + - + - + - + - + - + b_motEna - + - + b_motStdStill - + - + b_errFlag - + - + z_ctrlModReq - + - + z_ctrlModPrev - + - + b_toOpen - + - + b_toActive - + - + b_toSpdMod - + - + b_toTrqMod @@ -1082,7 +1139,7 @@ - + @@ -1095,7 +1152,7 @@ - + @@ -1104,11 +1161,11 @@ - - + + - + F03_01_Mode_Transition_Calculation @@ -1116,20 +1173,20 @@ - + - + - - + + - + boolean @@ -1137,20 +1194,20 @@ - + - + - - + + - + boolean @@ -1158,20 +1215,20 @@ - + - + - - + + - + boolean @@ -1179,20 +1236,20 @@ - + - + - - + + - + boolean @@ -1204,65 +1261,65 @@ - + - + - + - + - + - - 3 + + 7 - + - - + + - - + + - - b_motEna + + VqFinPrev - - + + - - + + - - boolean + + sfix16_En4 @@ -1273,59 +1330,59 @@ - - + + - + - + - - 2 + + 6 - + - - + + - - + + - - b_motStdStill + + r_inpTgt - - + + - - + + - - boolean + + sfix16_En4 @@ -1336,29 +1393,684 @@ - - - + + + + + + + + + + + + + + + + + + + + + + b_toOpen + + + + + + + + b_toActive + + + + + + + + b_toSpdMod + + + + + + + + b_toTrqMod + + + + + + + + z_ctrlMod + + + + + + + + + + + + + + + + + + + + + F03_02_Control_Mode_Manager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModReq + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toOpen] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toSpdMod] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + z_ctrlModReq + + + + + + + + z_ctrlMod + + + + + + + + r_inpTgt + + + + + + + + VqFinPrev + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F03_03_Input_Target_Synthesis + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + - - + + - - + + - - [b_toOpen] + + [b_errFlag] - - + + + + + + + + + + + + + + + + + boolean @@ -1369,28 +2081,28 @@ - - + + - + - + - - [b_errFlag] + + [z_ctrlTypSel] - + @@ -1412,11 +2124,11 @@ - + - + 1 @@ -1434,11 +2146,11 @@ - - + + - + b_errFlag @@ -1449,11 +2161,11 @@ - - + + - + boolean @@ -1465,59 +2177,59 @@ - - + + - + - + - - 4 + + 3 - + - - + + - - + + - - z_ctrlModReq + + b_motEna - - + + - - + + - - uint8 + + boolean @@ -1528,29 +2240,107 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 2 - - + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + b_motStdStill + + + + + + + + + + + + + + + boolean @@ -1590,11 +2380,11 @@ - + - + @@ -1604,11 +2394,11 @@ - + - + @@ -1618,11 +2408,11 @@ - + - + @@ -1632,11 +2422,11 @@ - + - + @@ -1646,11 +2436,11 @@ - + - + @@ -1661,31 +2451,31 @@ - + - + - + - + - + - + @@ -1694,11 +2484,11 @@ - + - + @@ -1859,7 +2649,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 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 80b580a..c896a3c 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:8599", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_toSpdMod", - "label":"b_toSpdMod", + "name":"b_toTrqMod", + "label":"b_toTrqMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -131,7 +131,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -178,32 +178,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"constant7", - "label":"constant7", + "name":"b_toSpdMod", + "label":"b_toSpdMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "TRQ_MODE", - "on", - "inf", + "3", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -212,8 +243,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -222,37 +253,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8593", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"constant6", - "label":"constant6", + "name":"b_toActive", + "label":"b_toActive", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "SPD_MODE", - "on", - "inf", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -261,8 +323,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -271,16 +333,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant2", - "label":"constant2", + "name":"constant8", + "label":"constant8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -325,11 +387,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8590", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"constant2", + "label":"constant2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -343,7 +405,7 @@ "FramePeriod" ], "values":[ - "SPD_MODE", + "OPEN_MODE", "on", "inf", "[]", @@ -374,11 +436,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"constant7", + "label":"constant7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -423,73 +485,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"b_toOpen", - "label":"b_toOpen", + "name":"Relational Operator6", + "label":"Relational Operator6", "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":{ @@ -498,16 +525,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -548,11 +575,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Relational Operator10", + "label":"Relational Operator10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -564,7 +591,7 @@ "ZeroCross" ], "values":[ - "~=", + "==", "off", "boolean", "Simplest", @@ -593,11 +620,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8582", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator11", - "label":"Relational Operator11", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -609,7 +636,7 @@ "ZeroCross" ], "values":[ - "~=", + "==", "off", "boolean", "Simplest", @@ -638,11 +665,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8582", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Relational Operator11", + "label":"Relational Operator11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -654,7 +681,7 @@ "ZeroCross" ], "values":[ - "==", + "~=", "off", "boolean", "Simplest", @@ -683,63 +710,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8600", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_toTrqMod", - "label":"b_toTrqMod", + "name":"constant5", + "label":"constant5", "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":[ - "4", - "Port number", + "VLT_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", @@ -748,8 +744,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -758,82 +754,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_toOpen", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8585", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator10", - "label":"Relational Operator10", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -874,38 +804,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8585", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8590", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "==", + "SPD_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":{ @@ -914,16 +848,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -932,7 +866,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_errFlag", "local", "Tag" ], @@ -952,39 +886,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "b_toOpen", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -992,24 +914,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toOpen", + "b_toSpdMod", + "local", "Tag" ], "tabs":[ @@ -1023,24 +947,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", + "b_toTrqMod", + "local", "Tag" ], "tabs":[ @@ -1054,24 +980,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", + "z_ctrlModPrev", + "local", "Tag" ], "tabs":[ @@ -1085,24 +1013,75 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8593", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"constant6", + "label":"constant6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "SPD_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8569", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", + "b_toActive", + "local", "Tag" ], "tabs":[ @@ -1116,16 +1095,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1152,38 +1131,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Relational Operator5", - "label":"Relational Operator5", + "name":"b_toOpen", + "label":"b_toOpen", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "==", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -1192,16 +1206,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8563", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1228,21 +1242,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", - "local", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -1256,48 +1268,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"constant5", - "label":"constant5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" ], "values":[ - "VLT_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_motStdStill", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1305,16 +1299,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1322,7 +1316,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1341,11 +1335,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1353,7 +1347,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toTrqMod", "Tag" ], "tabs":[ @@ -1372,21 +1366,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "b_toOpen", "Tag" ], "tabs":[ @@ -1400,16 +1392,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1417,7 +1409,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1436,63 +1428,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_toActive", - "label":"b_toActive", + "name":"constant", + "label":"constant", "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", + "TRQ_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", @@ -1501,8 +1462,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -1511,16 +1472,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1528,7 +1489,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_errFlag", "Tag" ], "tabs":[ @@ -1547,21 +1508,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8554", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModPrev", - "local", + "b_motEna", "Tag" ], "tabs":[ @@ -1575,16 +1534,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1592,7 +1551,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_toActive", "Tag" ], "tabs":[ @@ -1611,11 +1570,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModPrev", - "label":"z_ctrlModPrev", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1638,7 +1597,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -1678,27 +1637,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "b_motEna", - "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" @@ -1706,16 +1677,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8551", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"z_ctrlModPrev", + "label":"z_ctrlModPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1738,7 +1709,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "5", "Port number", "[]", "[]", @@ -1778,21 +1749,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", - "local", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -1806,48 +1775,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8595", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"constant8", - "label":"constant8", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "OPEN_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "z_ctrlModReq", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1855,7 +1808,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, @@ -1927,61 +1880,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "b_motEna", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1989,16 +1908,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "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":[ @@ -2021,7 +1940,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -2061,21 +1980,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", - "local", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -2089,24 +2006,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8558", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -2120,30 +2039,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Relational Operator5", + "label":"Relational Operator5", "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" @@ -2151,16 +2084,83 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8547", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_motEna", + "label":"b_motEna", + "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":[ + "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:8579", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator9", + "label":"Logical Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2172,7 +2172,7 @@ "SampleTime" ], "values":[ - "AND", + "NOT", "2", "rectangular", "off", @@ -2201,11 +2201,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator6", + "label":"Logical Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2217,7 +2217,7 @@ "SampleTime" ], "values":[ - "AND", + "OR", "3", "rectangular", "off", @@ -2246,11 +2246,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8577", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator6", - "label":"Logical Operator6", + "name":"Logical Operator4", + "label":"Logical Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2263,7 +2263,7 @@ ], "values":[ "OR", - "3", + "4", "rectangular", "off", "boolean", @@ -2336,11 +2336,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator9", - "label":"Logical Operator9", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2352,8 +2352,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "AND", + "3", "rectangular", "off", "boolean", @@ -2381,11 +2381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2397,8 +2397,8 @@ "SampleTime" ], "values":[ - "OR", - "4", + "AND", + "2", "rectangular", "off", "boolean", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.png index 2d054a6580a49a1690da75a9e6cb323655d436bd..84a1bef03779d67312513173bf7a17cab28ecffa 100644 GIT binary patch delta 7581 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 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 8b78524..b64d5dc 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 @@ - - 3 + + 4 - + - - + + - + - - b_toSpdMod + + b_toTrqMod @@ -131,44 +131,44 @@ - - - + + + - - + + - + - - TRQ_MODE + + 3 - - + + - - - + + + - + - - uint8 + + b_toSpdMod @@ -179,44 +179,44 @@ - - - + + + - - + + - + - - SPD_MODE + + 2 - - + + - - - + + + - + - - uint8 + + b_toActive @@ -227,11 +227,11 @@ - - + + - + @@ -241,29 +241,29 @@ - + OPEN_MODE - + - + - + - + uint8 @@ -275,11 +275,11 @@ - - + + - + @@ -289,29 +289,29 @@ - - SPD_MODE + + OPEN_MODE - + - + - + - + uint8 @@ -323,11 +323,11 @@ - - + + - + @@ -337,29 +337,29 @@ - + TRQ_MODE - + - + - + - + uint8 @@ -369,59 +369,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - b_toOpen - - - - - - - - - + @@ -429,27 +381,27 @@ - + - + - + - + - + - + @@ -475,11 +427,11 @@ - + - + boolean @@ -491,30 +443,38 @@ - - - + + + - + - + - + - - + + - - + + + + + + + + + + @@ -528,22 +488,22 @@ - + - + - - + + - + boolean @@ -555,30 +515,38 @@ - - - + + + - + - + - + - - + + - - + + + + + + + + + + @@ -592,22 +560,22 @@ - + - + - - + + - + boolean @@ -621,7 +589,7 @@ - + @@ -629,27 +597,27 @@ - + - + - + - + - + - + @@ -675,11 +643,11 @@ - + - + boolean @@ -691,44 +659,60 @@ - - - + + + - - + + - + - - + + - - 4 + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - b_toTrqMod + + boolean @@ -739,62 +723,44 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + VLT_MODE - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_motStdStill] - - - - - - - + + uint8 @@ -805,37 +771,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -850,22 +816,22 @@ - + - + - - + + - + boolean @@ -877,68 +843,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + SPD_MODE - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -949,28 +891,28 @@ - - + + - + - + - - [b_toActive] + + [b_errFlag] - + @@ -982,68 +924,62 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + [b_toOpen] - + + + + - - + + + + + + + + + - - - - - - + + - - - - + - - + + - - boolean + + [b_toSpdMod] + + + + + + + @@ -1054,44 +990,29 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + [b_toTrqMod] - - - - - - - - - - - - - - - - - boolean + + @@ -1102,44 +1023,29 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + [z_ctrlModPrev] - - - - - - - - - - - - - - - - - boolean + + @@ -1150,43 +1056,43 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + SPD_MODE - - + + - + - - + + - + uint8 @@ -1198,44 +1104,29 @@ - - - + + + - - + + - - + + - - [b_toSpdMod] + + [b_toActive] - - - - - - - - - - - - - - - - - boolean + + @@ -1246,43 +1137,43 @@ - - + + - + - + - + [z_ctrlModReq] - + - + - - + + - + uint8 @@ -1294,68 +1185,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + 1 - - - - - - - - - - + + - - - + + + - - + + - - boolean + + b_toOpen @@ -1366,43 +1233,43 @@ - - + + - + - + - + [b_toOpen] - + - + - - + + - + boolean @@ -1414,29 +1281,44 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + [b_toSpdMod] - - + + + + + + + + + + + + + + + + + boolean @@ -1447,44 +1329,44 @@ - - - + + + - - + + - - + + - - VLT_MODE + + [b_motStdStill] - - + + - - + + - - + + - - uint8 + + boolean @@ -1495,44 +1377,44 @@ - - + + - + - + - - [b_motEna] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -1543,44 +1425,44 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_toTrqMod] - + - - + + - - + + - - uint8 + + boolean @@ -1591,29 +1473,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [b_toOpen] - - + + + + + + + + + + + + + + + + + boolean @@ -1624,44 +1521,44 @@ - - + + - + - + - - [b_toActive] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -1672,44 +1569,44 @@ - - - + + + - - + + - - + + - - 2 + + TRQ_MODE - - + + - - - + + + - - + + - - b_toActive + + uint8 @@ -1720,44 +1617,44 @@ - - + + - + - + - - [z_ctrlModPrev] + + [b_errFlag] - + - - + + - - + + - - uint8 + + boolean @@ -1768,29 +1665,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModPrev] + + [b_motEna] - - + + + + + + + + + + + + + + + + + boolean @@ -1801,43 +1713,43 @@ - - + + - + - + - - [b_errFlag] + + [b_toActive] - + - + - - + + - + boolean @@ -1849,58 +1761,58 @@ - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - z_ctrlModPrev + + z_ctrlModReq - + - - + + - + uint8 @@ -1912,29 +1824,60 @@ - - - + + + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - [b_motEna] - - - - - - - + + boolean @@ -1945,59 +1888,59 @@ - - + + - + - + - - 3 + + 5 - + - - + + - - + + - - b_errFlag + + z_ctrlModPrev - - + + - - + + - - boolean + + uint8 @@ -2008,29 +1951,44 @@ - - - + + + - - + + - - + + - - [b_toTrqMod] + + [z_ctrlModPrev] - - + + + + + + + + + + + + + + + + + uint8 @@ -2041,44 +1999,29 @@ - - - + + + - - + + - - + + - - OPEN_MODE + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - uint8 + + @@ -2099,11 +2042,11 @@ - + - + 2 @@ -2121,11 +2064,11 @@ - + - + b_motStdStill @@ -2136,11 +2079,11 @@ - + - + boolean @@ -2152,59 +2095,92 @@ - - + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + - + - + - - 4 + + 3 - + - - + + - - + + - - z_ctrlModReq + + b_errFlag - - + + - - + + - - uint8 + + boolean @@ -2215,59 +2191,77 @@ - - - + + + - - + + - - + + - - 1 + + [z_ctrlModReq] - - + + - - - + + + - - + + - - b_motEna + + uint8 - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [b_motStdStill] + + + + + + + @@ -2278,76 +2272,67 @@ - - - + + + - - + + - + - - + + + + + + + + + + + + + + + + + + - - [b_toSpdMod] + + - - - - + - - - - - - - - - - - - - - - - - - - - - [b_toTrqMod] - - - + + - + - - + + - + boolean @@ -2359,44 +2344,59 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 1 - - + + + + + + + + + + + + + + + + + b_motEna - - + + - + - - uint8 + + boolean @@ -2407,30 +2407,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2439,62 +2439,62 @@ - - - - - - - - - - - - + - - + + - + boolean + + + + + + + + + + + - - - + + + - - + + - + - - + + - + - - + + @@ -2503,61 +2503,61 @@ - - - - - - - - - - - - + - - + + - + boolean + + + + + + + + + + + - - - + + + - - + + - + - - + + - + @@ -2568,23 +2568,23 @@ - + - + - + boolean - - + + @@ -2631,62 +2631,62 @@ - - - - - - - - - - - - + - + boolean + + + + + + + + + + + - - - + + + - - + + - + - - + + - - + + @@ -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 8830795..4da3b7e 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 @@ -1,10 +1,10 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:3", "className":"Stateflow.State", "icon":"WebViewIcon7", - "name":"OPEN", - "label":"OPEN", + "name":"ACTIVE", + "label":"ACTIVE", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -19,7 +19,7 @@ "values":[ false, "Auto", - "OPEN\n\nentry:\nz_ctrlMod = OPEN_MODE;", + "ACTIVE", false, false, "", @@ -45,11 +45,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:28", "className":"Stateflow.State", "icon":"WebViewIcon7", - "name":"ACTIVE", - "label":"ACTIVE", + "name":"VOLTAGE_MODE", + "label":"VOLTAGE_MODE", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -64,7 +64,7 @@ "values":[ false, "Auto", - "ACTIVE", + "VOLTAGE_MODE\n\nentry:\nz_ctrlMod = VLT_MODE;", false, false, "", @@ -90,11 +90,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:28", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:6", "className":"Stateflow.State", "icon":"WebViewIcon7", - "name":"VOLTAGE_MODE", - "label":"VOLTAGE_MODE", + "name":"SPEED_MODE", + "label":"SPEED_MODE", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -109,7 +109,7 @@ "values":[ false, "Auto", - "VOLTAGE_MODE\n\nentry:\nz_ctrlMod = VLT_MODE;", + "SPEED_MODE\n\nentry:\nz_ctrlMod = SPD_MODE;", false, false, "", @@ -135,11 +135,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:4", "className":"Stateflow.State", "icon":"WebViewIcon7", - "name":"SPEED_MODE", - "label":"SPEED_MODE", + "name":"TORQUE_MODE", + "label":"TORQUE_MODE", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -154,7 +154,7 @@ "values":[ false, "Auto", - "SPEED_MODE\n\nentry:\nz_ctrlMod = SPD_MODE;", + "TORQUE_MODE\n\nentry:\nz_ctrlMod = TRQ_MODE;", false, false, "", @@ -180,41 +180,29 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:4", - "className":"Stateflow.State", - "icon":"WebViewIcon7", - "name":"TORQUE_MODE", - "label":"TORQUE_MODE", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", + "className":"Stateflow.Transition", + "icon":"WebViewIcon8", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ - "HasOutputData", - "InlineOption", + "ExecutionOrder", "LabelString", - "DataLogging", - "TestPoint", "Description", "Document" ], "values":[ - false, - "Auto", - "TORQUE_MODE\n\nentry:\nz_ctrlMod = TRQ_MODE;", - false, - false, + 2, + "", "", "" ], "tabs":[ - "General", - "Logging", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -225,7 +213,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:33", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -239,7 +227,7 @@ "Document" ], "values":[ - 2, + 1, "", "", "" @@ -258,11 +246,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:33", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:32", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"", + "label":"[b_toSpdMod]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -273,7 +261,7 @@ ], "values":[ 1, - "", + "[b_toSpdMod]", "", "" ], @@ -390,29 +378,41 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:32", - "className":"Stateflow.Transition", - "icon":"WebViewIcon8", - "name":"", - "label":"[b_toSpdMod]", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:1", + "className":"Stateflow.State", + "icon":"WebViewIcon7", + "name":"OPEN", + "label":"OPEN", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ - "ExecutionOrder", + "HasOutputData", + "InlineOption", "LabelString", + "DataLogging", + "TestPoint", "Description", "Document" ], "values":[ - 1, - "[b_toSpdMod]", + false, + "Auto", + "OPEN\n\nentry:\nz_ctrlMod = OPEN_MODE;", + false, + false, "", "" ], "tabs":[ - "Parameter Attributes" + "General", + "Logging", + "Documentation" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 5 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -423,11 +423,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:13", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:2", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toActive]", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -438,7 +438,7 @@ ], "values":[ 1, - "[b_toActive]", + "", "", "" ], @@ -456,11 +456,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:13", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"", + "label":"[b_toActive]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -471,7 +471,7 @@ ], "values":[ 1, - "", + "[b_toActive]", "", "" ], diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg index 9fd2776..57302c1 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 @@ -10,114 +10,22 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OPEN - - - - - - - - - - - - - - - - entry: - - - - - - - - - - - - - - - - z_ctrlMod = OPEN_MODE; - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -126,79 +34,79 @@ - + - + - + - + ACTIVE - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -207,57 +115,57 @@ - + - + - + - + VOLTAGE_MODE - + - + - + - + entry: - + - + - + - + z_ctrlMod = VLT_MODE; - + @@ -272,25 +180,25 @@ - + - + - + - + - + @@ -299,57 +207,57 @@ - + - + - + - + SPEED_MODE - + - + - + - + entry: - + - + - + - + z_ctrlMod = SPD_MODE; - + @@ -364,25 +272,25 @@ - + - + - + - + - + @@ -391,57 +299,57 @@ - + - + - + - + TORQUE_MODE - + - + - + - + entry: - + - + - + - + z_ctrlMod = TRQ_MODE; - + @@ -458,7 +366,7 @@ - + @@ -476,11 +384,11 @@ - + - + 2 @@ -495,7 +403,7 @@ - + @@ -514,11 +422,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_toSpdMod] + + + + + + + + + + + + + + 1 + + + + + + + + + - + @@ -536,11 +500,11 @@ - + - + 2 @@ -555,7 +519,7 @@ - + @@ -578,7 +542,7 @@ - + @@ -593,19 +557,19 @@ - + - + - + - + [b_toTrqMod] @@ -615,11 +579,11 @@ - + - + 1 @@ -630,71 +594,107 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toSpdMod] - - - - - - - - - - - - - - 1 - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OPEN + + + + + + + + + + + + + + + + entry: + + + + + + + + + + + + + + + + z_ctrlMod = OPEN_MODE; + + - + - - + + @@ -703,13 +703,30 @@ - + - + + + + + + + + + + + + + + + + + + @@ -743,23 +760,6 @@ - - - - - - - - - - - - - - - - - @@ -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 cd2633e..ff5b74f 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 @@ -48,172 +48,12 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9194", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_phaC ", - "label":"r_phaC ", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9193", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_phaB", - "label":"r_phaB", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "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:9192", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_phaA", - "label":"r_phaA", + "name":"V_phaABC_FOC", + "label":"V_phaABC_FOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -302,73 +142,7 @@ "IconDisplay" ], "values":[ - "r_phaA", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8829", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_phaB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8840", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_phaC", + "V_phaABC_FOC", "local", "Tag" ], @@ -400,7 +174,7 @@ "IconDisplay" ], "values":[ - "r_phaA", + "V_phaABC_FOC", "Tag" ], "tabs":[ @@ -419,11 +193,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8828", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8769", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -431,7 +205,7 @@ "IconDisplay" ], "values":[ - "r_phaB", + "i_phaAB", "Tag" ], "tabs":[ @@ -450,11 +224,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8767", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8778", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -462,7 +236,7 @@ "IconDisplay" ], "values":[ - "r_phaC", + "i_phaBC", "Tag" ], "tabs":[ @@ -481,73 +255,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8769", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "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:8778", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaBC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Inv_Park_Transform", - "label":"Inv_Park_Transform", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Inv_Park_Transform", + "label":"Inv_Park_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1051,7 +763,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -1131,7 +843,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -1178,119 +890,11 @@ } }, { - "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:9108", - "className":"Simulink.SwitchCase", - "icon":"WebViewIcon3", - "name":"Switch Case", - "label":"Switch Case", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "CaseConditions", - "ShowDefaultCase", - "SampleTime", - "ZeroCross" - ], - "values":[ - "{VLT_MODE, SPD_MODE, TRQ_MODE}", - "on", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SwitchCase", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9072", - "className":"Simulink.Scope", - "icon":"WebViewIcon3", - "name":"Scope8", - "label":"Scope8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":[ - ], - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Scope", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Park_Transform", - "label":"Park_Transform", + "name":"Voltage_Mode", + "label":"Voltage_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1342,7 +946,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -1383,91 +987,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9197", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_devSignal2", - "label":"r_devSignal2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "6", - "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:9029", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Open_Mode", - "label":"Open_Mode", + "name":"Vd_Calculation", + "label":"Vd_Calculation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1560,107 +1084,161 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", + "className":"Simulink.SwitchCase", "icon":"WebViewIcon3", - "name":"Mux7", - "label":"Mux7", + "name":"Switch Case", + "label":"Switch Case", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "CaseConditions", + "ShowDefaultCase", + "SampleTime", + "ZeroCross" ], "values":[ - "3", - "bar" + "{VLT_MODE, SPD_MODE, TRQ_MODE}", + "on", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "tabs_idx":[ + 0, + 2 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"SwitchCase", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8912", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "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", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" + "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":[ - "4", - "[]", + "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, - 3 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Mux8", + "label":"Mux8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "Inputs", + "DisplayOption" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "3", + "bar" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1668,27 +1246,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Mux7", + "label":"Mux7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "Vq_min", - "local", - "Tag" + "3", + "bar" ], "tabs":[ "Parameter Attributes" @@ -1701,16 +1277,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto35", - "label":"Goto35", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1719,7 +1295,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vq_min", "local", "Tag" ], @@ -1739,11 +1315,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Goto34", + "label":"Goto34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1752,7 +1328,7 @@ "IconDisplay" ], "values":[ - "iq_limPrott", + "n_limProt", "local", "Tag" ], @@ -1772,22 +1348,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9072", + "className":"Simulink.Scope", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"Scope8", + "label":"Scope8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":[ + ], + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Scope", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux1", + "label":"Mux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "r_inpTgtSca", - "local", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -1800,16 +1393,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1818,7 +1411,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "id_min", "local", "Tag" ], @@ -1838,11 +1431,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", + "name":"Goto28", + "label":"Goto28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1851,7 +1444,7 @@ "IconDisplay" ], "values":[ - "id", + "iq_min", "local", "Tag" ], @@ -1871,11 +1464,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1884,7 +1477,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "iq_max", "local", "Tag" ], @@ -1904,11 +1497,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto24", + "label":"Goto24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1917,7 +1510,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "id", "local", "Tag" ], @@ -1937,11 +1530,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1950,7 +1543,7 @@ "IconDisplay" ], "values":[ - "id_max", + "a_elecAngle", "local", "Tag" ], @@ -1970,11 +1563,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1983,7 +1576,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "Vq_Open", "local", "Tag" ], @@ -2003,21 +1596,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8836", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"From71", + "label":"From71", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_prev", - "local", + "id", "Tag" ], "tabs":[ @@ -2031,26 +1622,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Vlt", - "local", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -2064,26 +1653,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From69", + "label":"From69", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Spd", - "local", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -2097,26 +1684,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"From67", + "label":"From67", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Trq", - "local", + "n_limProt", "Tag" ], "tabs":[ @@ -2130,26 +1715,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9717", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto32", - "label":"Goto32", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", - "local", + "Vq", "Tag" ], "tabs":[ @@ -2163,26 +1746,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto30", - "label":"Goto30", + "name":"From57", + "label":"From57", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq", - "local", + "id_max", "Tag" ], "tabs":[ @@ -2196,26 +1777,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From56", + "label":"From56", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", - "local", + "Vd_min", "Tag" ], "tabs":[ @@ -2229,16 +1808,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From68", - "label":"From68", + "name":"From54", + "label":"From54", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2246,7 +1825,7 @@ "IconDisplay" ], "values":[ - "iq_limPrott", + "Vd_min", "Tag" ], "tabs":[ @@ -2265,19 +1844,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From64", - "label":"From64", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_limProt", + "n_motAbs", + "local", "Tag" ], "tabs":[ @@ -2291,24 +1872,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From63", - "label":"From63", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -2322,26 +1905,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", + "name":"From52", + "label":"From52", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq_max", - "local", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -2355,16 +1936,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From62", - "label":"From62", + "name":"From68", + "label":"From68", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2391,30 +1972,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9073", - "className":"Simulink.Scope", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Scope9", - "label":"Scope9", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":[ - ], + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_Vlt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Scope", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From58", - "label":"From58", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2422,7 +2015,7 @@ "IconDisplay" ], "values":[ - "id_min", + "iq", "Tag" ], "tabs":[ @@ -2441,11 +2034,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From54", - "label":"From54", + "name":"From59", + "label":"From59", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2453,7 +2046,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "iq_max", "Tag" ], "tabs":[ @@ -2472,11 +2065,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From53", - "label":"From53", + "name":"From50", + "label":"From50", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2484,7 +2077,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "Vq", "Tag" ], "tabs":[ @@ -2503,21 +2096,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto40", - "label":"Goto40", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_TgtAbs", - "local", + "Vq_min", "Tag" ], "tabs":[ @@ -2531,16 +2122,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8805", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From43", + "label":"From43", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2548,7 +2139,7 @@ "IconDisplay" ], "values":[ - "Vq_prev", + "Vd", "Tag" ], "tabs":[ @@ -2567,11 +2158,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2598,21 +2189,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd", - "local", + "n_mot", "Tag" ], "tabs":[ @@ -2626,16 +2215,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From55", - "label":"From55", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2643,7 +2232,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -2662,108 +2251,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From41", + "label":"From41", "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", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "Vq_max", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"From33", + "label":"From33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2771,7 +2294,7 @@ "IconDisplay" ], "values":[ - "Vq_Vlt", + "id_Tgt", "Tag" ], "tabs":[ @@ -2790,19 +2313,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From56", - "label":"From56", + "name":"Goto35", + "label":"Goto35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd_min", + "r_sin", + "local", "Tag" ], "tabs":[ @@ -2816,16 +2341,59 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From69", - "label":"From69", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2833,7 +2401,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "iq", "Tag" ], "tabs":[ @@ -2852,20 +2420,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "n_mot", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -2878,16 +2448,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2895,7 +2465,7 @@ "IconDisplay" ], "values":[ - "Vq_Spd", + "r_cos", "Tag" ], "tabs":[ @@ -2914,37 +2484,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "r_cos", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2952,16 +2510,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From59", - "label":"From59", + "name":"From58", + "label":"From58", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2969,7 +2527,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "id_min", "Tag" ], "tabs":[ @@ -2988,19 +2546,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"Goto30", + "label":"Goto30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_Tgt", + "Vq", + "local", "Tag" ], "tabs":[ @@ -3014,16 +2574,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3031,7 +2591,7 @@ "IconDisplay" ], "values":[ - "id", + "r_sin", "Tag" ], "tabs":[ @@ -3050,11 +2610,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3062,7 +2622,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_max", "Tag" ], "tabs":[ @@ -3081,108 +2641,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Speed_Mode", - "label":"Speed_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3191,7 +2654,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vq_Spd", "local", "Tag" ], @@ -3211,11 +2674,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3223,7 +2686,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -3242,19 +2705,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "b_enaAdvCtrl", + "local", "Tag" ], "tabs":[ @@ -3268,16 +2733,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From53", + "label":"From53", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3285,7 +2750,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd_max", "Tag" ], "tabs":[ @@ -3304,11 +2769,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From49", + "label":"From49", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3316,7 +2781,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vq_Open", "Tag" ], "tabs":[ @@ -3335,11 +2800,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From43", - "label":"From43", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3347,7 +2812,7 @@ "IconDisplay" ], "values":[ - "Vd", + "b_motEna", "Tag" ], "tabs":[ @@ -3366,19 +2831,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", + "Vq_Trq", + "local", "Tag" ], "tabs":[ @@ -3392,16 +2859,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3409,7 +2876,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "Vd", "Tag" ], "tabs":[ @@ -3428,42 +2895,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "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":[ - "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:9718", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From61", + "label":"From61", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3471,7 +3004,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "iq", "Tag" ], "tabs":[ @@ -3490,11 +3023,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3502,7 +3035,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "a_elecAngle", "Tag" ], "tabs":[ @@ -3521,11 +3054,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From57", - "label":"From57", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3533,7 +3066,7 @@ "IconDisplay" ], "values":[ - "id_max", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -3552,21 +3085,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From55", + "label":"From55", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "Vd_max", "Tag" ], "tabs":[ @@ -3580,24 +3111,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "Vd_max", + "local", "Tag" ], "tabs":[ @@ -3611,16 +3144,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3628,7 +3161,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "Vq_max", "Tag" ], "tabs":[ @@ -3647,11 +3180,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From40", + "label":"From40", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3659,7 +3192,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "Vq", "Tag" ], "tabs":[ @@ -3678,11 +3211,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From42", + "label":"From42", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3690,7 +3223,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", "Tag" ], "tabs":[ @@ -3709,21 +3242,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"From62", + "label":"From62", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq", - "local", + "iq_limPrott", "Tag" ], "tabs":[ @@ -3737,16 +3268,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3754,7 +3285,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "Vq_max", "Tag" ], "tabs":[ @@ -3773,19 +3304,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "Vd", + "local", "Tag" ], "tabs":[ @@ -3799,16 +3332,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3816,7 +3349,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_sin", "Tag" ], "tabs":[ @@ -3835,19 +3368,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From60", - "label":"From60", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_min", + "iq_limPrott", + "local", "Tag" ], "tabs":[ @@ -3861,30 +3396,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "r_inpTgtSca", - "Tag" + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3892,16 +3439,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10030", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3909,7 +3456,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -3928,11 +3475,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3941,7 +3488,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "iq", "local", "Tag" ], @@ -3961,114 +3508,118 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux8", - "label":"Mux8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Park_Transform", + "label":"Park_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "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 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "iq", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vd_min", + "local", "Tag" ], "tabs":[ @@ -4082,32 +3633,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8843", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9197", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"r_devSignal2", + "label":"r_devSignal2", "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":[ - "n_motAbs", - "local", - "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" @@ -4115,32 +3713,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8912", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"Goto34", - "label":"Goto34", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "n_limProt", - "local", - "Tag" + "[]", + "off", + "[]", + "4" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4148,16 +3752,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Vd_Calculation", - "label":"Vd_Calculation", + "name":"Current_Filtering", + "label":"Current_Filtering", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4250,20 +3854,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9073", + "className":"Simulink.Scope", "icon":"WebViewIcon3", - "name":"From42", - "label":"From42", + "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:8667", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "Vq_min", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -4276,26 +3899,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Open", - "local", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -4309,146 +3930,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Current_Filtering", - "label":"Current_Filtering", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto36", - "label":"Goto36", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_cos", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From50", - "label":"From50", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4456,7 +3947,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vd", "Tag" ], "tabs":[ @@ -4475,11 +3966,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4487,7 +3978,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "Vq_Spd", "Tag" ], "tabs":[ @@ -4506,21 +3997,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_min", - "local", + "Vq_min", "Tag" ], "tabs":[ @@ -4534,16 +4023,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", + "name":"Motor_Limitations", + "label":"Motor_Limitations", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4595,7 +4084,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -4636,11 +4125,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4648,7 +4137,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "id", "Tag" ], "tabs":[ @@ -4666,6 +4155,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto36", + "label":"Goto36", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_cos", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", "className":"Simulink.Inport", @@ -4734,25 +4256,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From49", - "label":"From49", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Vq_Open", - "Tag" + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4760,16 +4318,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From67", - "label":"From67", + "name":"From60", + "label":"From60", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4777,7 +4335,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "iq_min", "Tag" ], "tabs":[ @@ -4796,11 +4354,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4823,7 +4381,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -4863,61 +4421,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "r_inpTgtSca", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4925,16 +4449,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From61", - "label":"From61", + "name":"From48", + "label":"From48", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4942,7 +4466,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_Trq", "Tag" ], "tabs":[ @@ -4961,19 +4485,118 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Clarke_Transform", + "label":"Clarke_Transform", + "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:8851", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From41", - "label":"From41", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "z_ctrlMod", + "local", "Tag" ], "tabs":[ @@ -4987,16 +4610,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5004,7 +4627,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "id", "Tag" ], "tabs":[ @@ -5023,11 +4646,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5090,11 +4713,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5102,7 +4725,7 @@ "IconDisplay" ], "values":[ - "Vd", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -5121,11 +4744,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":[ @@ -5133,7 +4756,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "id_Tgt", "Tag" ], "tabs":[ @@ -5152,116 +4775,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Motor_Limitations", - "label":"Motor_Limitations", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", "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", - "" + "iq", + "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:8803", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From48", - "label":"From48", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Trq", + "Vq_Vlt", + "local", "Tag" ], "tabs":[ @@ -5275,16 +4834,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5307,7 +4866,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "7", "Port number", "[]", "[]", @@ -5347,11 +4906,75 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From63", + "label":"From63", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_mot", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto40", + "label":"Goto40", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_TgtAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clarke_Transform", - "label":"Clarke_Transform", + "name":"Torque_Mode", + "label":"Torque_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5403,7 +5026,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -5444,19 +5067,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq", + "id_max", + "local", "Tag" ], "tabs":[ @@ -5470,66 +5095,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "7", - "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" @@ -5537,16 +5126,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From52", - "label":"From52", + "name":"From64", + "label":"From64", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5554,7 +5143,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "n_limProt", "Tag" ], "tabs":[ @@ -5573,19 +5162,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From71", - "label":"From71", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "id_Tgt", + "local", "Tag" ], "tabs":[ @@ -5599,55 +5190,26 @@ "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", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9717", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto32", + "label":"Goto32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq", + "b_motEna", + "local", "Tag" ], "tabs":[ @@ -5661,16 +5223,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5678,7 +5240,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "n_motAbs", "Tag" ], "tabs":[ @@ -5697,130 +5259,69 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vd", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Field_Weakening", - "label":"Field_Weakening", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "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", + "2", + "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" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Inport", "masktype":"" } }, @@ -5828,8 +5329,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5892,11 +5393,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From40", - "label":"From40", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5904,7 +5405,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vq_min", "Tag" ], "tabs":[ @@ -5923,211 +5424,135 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8827#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:8828#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:8767#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Field_Weakening", + "label":"Field_Weakening", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", "", + "off", "" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "Inputs", + "DisplayOption" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "2", + "bar" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Mux", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8827#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6178,7 +5603,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8665#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6229,7 +5654,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8666#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6280,7 +5705,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8665#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6331,7 +5756,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8666#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6382,7 +5807,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8268,57 +7693,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8805#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:9029#out:1", "className":"Simulink.Line", @@ -9595,7 +8969,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9142#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9646,7 +9020,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9697,7 +9071,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9748,7 +9122,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9799,7 +9173,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9850,7 +9224,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9901,7 +9275,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9952,7 +9326,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10003,7 +9377,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:5", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10054,7 +9428,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:6", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10105,7 +9479,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:7", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10156,7 +9530,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:8", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10207,7 +9581,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10258,7 +9632,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10309,7 +9683,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10360,7 +9734,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10411,7 +9785,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10462,7 +9836,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:9", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10513,7 +9887,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10564,7 +9938,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:10", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10615,7 +9989,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:10", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10666,7 +10040,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10717,7 +10091,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10768,7 +10142,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10819,7 +10193,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10870,7 +10244,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10921,7 +10295,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10972,7 +10346,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11023,7 +10397,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11074,7 +10448,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11125,7 +10499,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11176,7 +10550,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11227,7 +10601,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11278,7 +10652,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11329,7 +10703,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11380,7 +10754,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11431,7 +10805,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11482,7 +10856,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11533,7 +10907,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11584,7 +10958,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11635,7 +11009,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11686,7 +11060,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11737,7 +11111,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11788,7 +11162,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11839,7 +11213,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10030#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 c76d2fc8b3e20c5d50435c0a1cfeea4c10679ec7..ffc2ce88974d95c08cbf6cf54e788d50e4779ade 100644 GIT binary patch literal 9844 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 - + - + @@ -19,7 +19,7 @@ - + @@ -30,102 +30,6 @@ - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - r_phaC - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - r_phaB - - - - - - - - @@ -138,11 +42,11 @@ - + - + 1 @@ -157,15 +61,15 @@ - + - - + + - - r_phaA + + V_phaABC_FOC @@ -177,93 +81,27 @@ - - - - - - - - - - - - - - - [r_phaA] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_phaB] - - - - - - - - - - - - - - - - - - - + - + - + - - [r_phaC] + + [V_phaABC_FOC] - + @@ -285,12 +123,12 @@ - + - - [r_phaA] + + [V_phaABC_FOC] @@ -304,111 +142,15 @@ - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_phaB] - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_phaC] - - - - - - - - - - - - - - + - - + + - - int16 + + sfix16_En4 @@ -429,11 +171,11 @@ - + - + [i_phaAB] @@ -451,11 +193,11 @@ - - + + - + sfix16_En4 @@ -477,11 +219,11 @@ - + - + [i_phaBC] @@ -499,11 +241,11 @@ - - + + - + sfix16_En4 @@ -516,8 +258,8 @@ - - + + @@ -525,57 +267,57 @@ - + - + - + Vq - + - + Vd - + - + r_sin - + - + r_cos - + - + V_alpha - + - + V_beta @@ -588,7 +330,7 @@ - + @@ -601,15 +343,15 @@ - + - - + + - + Inv_Park_Transform @@ -622,15 +364,15 @@ - + - - + + - + sfix16_En4 @@ -643,15 +385,15 @@ - + - - + + - + sfix16_En4 @@ -670,8 +412,8 @@ - - + + @@ -679,50 +421,34 @@ - + - + - + V_alpha - + - + V_beta - - + + - - V_phaA - - - - - - - - V_phaB - - - - - - - - V_phaC + + V_phaABC_FOC @@ -734,7 +460,7 @@ - + @@ -747,15 +473,15 @@ - + - - + + - + Inv_Clarke_Transform @@ -768,58 +494,16 @@ - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - + + - - + + - - int16 + + sfix16_En4 @@ -832,7 +516,7 @@ - + @@ -846,11 +530,11 @@ - + - + 8 @@ -868,11 +552,11 @@ - - + + - + i_phaAB @@ -883,11 +567,11 @@ - - + + - + sfix16_En4 @@ -909,11 +593,11 @@ - + - + [i_phaAB] @@ -942,11 +626,11 @@ - + - + 9 @@ -964,11 +648,11 @@ - - + + - + i_phaBC @@ -979,11 +663,11 @@ - - + + - + sfix16_En4 @@ -1005,11 +689,11 @@ - + - + [i_phaBC] @@ -1029,42 +713,42 @@ - + - + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -1077,28 +761,28 @@ - - + + - + - + - + - + - + @@ -1113,7 +797,7 @@ - + @@ -1126,42 +810,42 @@ - + - + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -1174,42 +858,42 @@ - + - + - + - - 5 + + 3 - + - + - - + + - + r_devSignal1 @@ -1222,42 +906,42 @@ - + - + - + - - 4 + + 2 - + - + - - + + - + Vq @@ -1269,91 +953,152 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + r_inpTgtSca - - + + - - + + Vq_max - - + + - - + + Vq_min - - + + - - + + iq_limProt + + + + + + + + n_limProt + + + + + + + + Vq_Vlt + + + + + + + + case: { } - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + Voltage_Mode - - + + + + + + + + - - + + - - sfix16_En4 + + action - - - + + + + + + + + + - - + + - - Ini=0 + + sfix16_En4 @@ -1364,121 +1109,166 @@ - - - + + + + + + + + + - - + + + + + + + + - - + + - - u1 + + id_Tgt - - + + - - case [ 1 ]: + + id - - + + - - case [ 2 ]: + + Vd_max - - + + - - case [ 3 ]: + + Vd_min - - + + - - default: + + id_max - - - - - - + + + + + + + id_min - - - - - - + + + + + + + Vd - - + + - - action + + if { } - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - action + + Vd_Calculation - - + + + + + + + + - - + + - + action - - + + + + + + + + - - + + - - action + + sfix16_En4 @@ -1489,45 +1279,127 @@ - - - + + + + + + + + + - - + + - + - - + + - - + + u1 - - + + - - + + case [ 1 ]: + + + + + + + + case [ 2 ]: + + + + + + + + case [ 3 ]: + + + + + + + + default: - + + + + - + + + + + + + + + + + action + - - - + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action @@ -1538,122 +1410,130 @@ - - - + + + - + - - + + - - + + - - i_apha + + r_inpTgtSca - - + + - - i_beta + + Vq_max - - + + - - r_sin + + Vq_min - - + + - - r_cos + + n_mot - - + + - - iq_Raw + + iq_limProt - - + + - - id_Raw + + Vq_Spd + + + + + + + + case: { } - + - - + + - + - - + + - - + + - - Park_Transform + + Speed_Mode - + - + - - + + - + sfix16_En4 @@ -1661,21 +1541,21 @@ - + - - + + - - + + - - sfix16_En4 + + action @@ -1686,50 +1566,50 @@ - + - + - - + + - - + + - - + + - - 6 + + - - + + - - - + + + - - + + - - r_devSignal2 + + sfix16_En4 @@ -1740,120 +1620,77 @@ - - - + + + - - - - - - - - + + - - - - - - Vq_prev - - - - - - - - Vq_Open - - - - + + - - default: { } + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - Open_Mode + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - action + + [Vq_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + + @@ -1864,50 +1701,29 @@ - - - - - - - - - + + + - - + + - - + + - - + + [n_limProt] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1918,30 +1734,30 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -1955,23 +1771,8 @@ - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1982,52 +1783,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + - - + + - - + + - - + + - - action + + sfix16_En4 @@ -2038,28 +1831,28 @@ - - + + - + - + - - [Vq_min] + + [id_min] - + @@ -2071,28 +1864,28 @@ - - + + - + - - + + - - [r_sin] + + [iq_min] - + @@ -2104,28 +1897,28 @@ - - + + - + - + - - [iq_limPrott] + + [iq_max] - + @@ -2137,28 +1930,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [id] - + @@ -2170,28 +1963,28 @@ - - + + - + - - + + - - [id_Tgt] + + [a_elecAngle] - + @@ -2203,28 +1996,28 @@ - - + + - + - - + + - - [id] + + [Vq_Open] - + @@ -2236,62 +2029,92 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + [id] - - + + - - + + + + + + + + + + + sfix16_En4 + + + + + + - - - + + + - - + + - - + + - - [n_mot] + + [r_inpTgtSca] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2302,29 +2125,44 @@ - - - + + + - - + + - - + + - - [id_max] + + [z_ctrlMod] - - + + + + + + + + + + + + + + + + + uint8 @@ -2335,29 +2173,44 @@ - - - + + + - - + + - - + + - - [Vd_min] + + [n_limProt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2368,29 +2221,44 @@ - - - + + + - - + + - - + + - - [Vq_prev] + + [Vq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2401,29 +2269,44 @@ - - - + + + - - + + - - + + - - [Vq_Vlt] + + [id_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2434,29 +2317,44 @@ - - - + + + - - + + - - + + - - [Vq_Spd] + + [Vd_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2467,29 +2365,44 @@ - - - + + + - - + + - - + + - - [Vq_Trq] + + [Vd_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2500,28 +2413,28 @@ - - + + - + - - + + - - [b_motEna] + + [n_motAbs] - + @@ -2533,28 +2446,28 @@ - - + + - + - + - - [Vq] + + [Vq_max] - + @@ -2566,29 +2479,44 @@ - - - - - - + + + + + + - - + + - - [z_ctrlMod] + + [id_TgtAbs] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2609,11 +2537,11 @@ - + - + [iq_limPrott] @@ -2631,11 +2559,11 @@ - - + + - + sfix16_En4 @@ -2647,43 +2575,43 @@ - - + + - + - + - - [n_limProt] + + [Vq_Vlt] - + - + - - + + - + sfix16_En4 @@ -2695,43 +2623,43 @@ - - + + - + - + - - [n_mot] + + [iq] - + - + - - + + - + sfix16_En4 @@ -2743,29 +2671,44 @@ - - - + + + - - + + - - + + - + [iq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2776,43 +2719,43 @@ - - + + - + - + - - [iq_limPrott] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -2824,45 +2767,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [Vq_min] - - - - - + + + + - - - + + + + + + + + + + + sfix16_En4 @@ -2873,43 +2815,43 @@ - - + + - + - + - - [id_min] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -2921,43 +2863,43 @@ - - + + - + - + - - [Vd_min] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -2969,43 +2911,43 @@ - - + + - + - + - - [Vd_max] + + [n_mot] - + - + - - + + - + sfix16_En4 @@ -3017,29 +2959,44 @@ - - - + + + - - + + - - + + - - [id_TgtAbs] + + [b_enaAdvCtrl] - - + + + + + + + + + + + + + + + + + boolean @@ -3050,43 +3007,43 @@ - - + + - + - + - - [Vq_prev] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -3098,43 +3055,43 @@ - - + + - + - - + + - - [r_inpTgtSca] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -3146,28 +3103,28 @@ - - + + - + - - + + - - [Vd] + + [r_sin] - + @@ -3179,44 +3136,52 @@ - - - + + + - - + + - - + + - - [Vd_max] + + u1 + + + + + + + + if(u1 ~= 0) - - - + + + - - + + - - + + - - sfix16_En4 + + action @@ -3227,152 +3192,77 @@ - - - + + + - - - - - - - - + + - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - iq_limProt - - - - - - - - n_limProt - - - - - - - - Vq_Vlt - - - - + + - - case: { } + + [iq] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Voltage_Mode + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - action + + [n_mot] - - - - - - - - - - - - - - - - - sfix16_En4 + + + @@ -3383,50 +3273,44 @@ - - - - - - - - + + - + - + - - [Vq_Vlt] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -3437,44 +3321,44 @@ - - + + - + - - + + - - [Vd_min] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -3485,44 +3369,44 @@ - - + + - + - - + + - - [z_ctrlMod] + + [id_min] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3533,44 +3417,29 @@ - - - + + + - - + + - - + + - - + + [Vq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3581,44 +3450,44 @@ - - + + - + - - + + - - [Vq_Spd] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -3629,52 +3498,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [Vq_max] - - + + - - + + - - + + - - action + + sfix16_En4 @@ -3685,44 +3546,77 @@ - - + + + + + + + + + + + + + + + + [Vq_Spd] + + + + + + + + + + + + + + + + + + + - + - + - - [iq_max] + + [z_ctrlMod] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -3733,43 +3627,76 @@ - - + + + + + + + + + + + + + + + + [b_enaAdvCtrl] + + + + + + + + + + + + + + + + + + + - + - + - - [id_Tgt] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -3781,43 +3708,43 @@ - - + + - + - + - - [id] + + [Vq_Open] - + - + - - + + - + sfix16_En4 @@ -3829,44 +3756,44 @@ - - + + - + - - + + - - [iq] + + [b_motEna] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -3877,130 +3804,179 @@ - - - + + + - - - - - - - - + + - - + + - - r_inpTgtSca + + [Vq_Trq] - - - - - - - Vq_max + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - Vq_min + + [Vd] + + + + + + + + + + + + + + - - + + - - n_mot + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - iq_limProt + + r_inpTgtSca - - + + - - Vq_Spd + + Vq_Open - - + + - - case: { } + + default: { } - + - - + + - + - - + + - - + + - - Speed_Mode + + Open_Mode - + - + - - + + - + action @@ -4008,20 +3984,20 @@ - + - + - - + + - + sfix16_En4 @@ -4033,35 +4009,50 @@ - + - + - - + + - - + + - - + + - - [iq_min] + + [iq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4072,44 +4063,44 @@ - - + + - + - - + + - - [Vq_min] + + [a_elecAngle] - + - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -4120,43 +4111,43 @@ - - + + - + - - + + - - [n_motAbs] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -4168,44 +4159,44 @@ - - + + - + - + - - [r_sin] + + [Vd_max] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -4216,44 +4207,29 @@ - - - + + + - - + + - - + + - - [r_sin] + + [Vd_max] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -4264,43 +4240,43 @@ - - + + - + - + - - [Vd] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -4312,44 +4288,44 @@ - - + + - + - + - - [z_ctrlMod] + + [Vq] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4360,43 +4336,43 @@ - - + + - + - + - - [n_mot] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -4408,43 +4384,43 @@ - - - + + + - - + + - - + + - - + + [iq_limPrott] - - + + - + - - + + - + sfix16_En4 @@ -4456,44 +4432,44 @@ - - + + - + - - + + - - [b_motEna] + + [Vq_max] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -4504,44 +4480,29 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [Vd] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4552,44 +4513,44 @@ - - + + - + - + - - [id_max] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -4600,28 +4561,28 @@ - - + + - + - + - - [Vq_max] + + [iq_limPrott] - + @@ -4633,44 +4594,52 @@ - - - + + + - - + + - - + + - - [Vq_max] + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - + + - - + + - - sfix16_En4 + + action @@ -4681,44 +4650,44 @@ - - + + - + - + - - [b_enaFOC] + + [r_inpTgtSca] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -4729,44 +4698,29 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [iq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4777,43 +4731,143 @@ - - - + + + - - + + + + + + + + - - + + - - [r_inpTgtSca] + + i_apha + + + + + + + + i_beta + + + + + + + + r_sin + + + + + + + + r_cos + + + + + + + + iq_Raw + + + + + + + + id_Raw - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Park_Transform - + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -4825,28 +4879,34 @@ - - + + + + + + + + - + - + - - [iq] + + [Vd_min] - + @@ -4858,44 +4918,44 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + 4 - - + + - - - + + + - - + + - - boolean + + r_devSignal2 @@ -4906,43 +4966,59 @@ - - - + + + - - + + - + - - + + - - [id] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -4954,43 +5030,156 @@ - - - + + + - - + + + + + + + + - - + + - - [r_inpTgtSca] + + iq_raw - - - + + + + + + + id_raw + + + + + + + + iq + + + + + + + + id + + + + + + + + if { } + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Current_Filtering - + + + + + + + - - + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + - + sfix16_En4 @@ -5002,44 +5191,51 @@ - - - + + + + + + + + + - - + + - + - - + + - - [iq_min] + + + + + + + + + + - - - - + - - - - - - - - - - - sfix16_En4 + + + + + + + @@ -5050,44 +5246,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -5098,44 +5294,44 @@ - - + + - + - + - - [Vq_max] + + [b_enaAdvCtrl] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -5146,29 +5342,44 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + [Vd] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -5179,43 +5390,43 @@ - - - + + + - - + + - - + + - - + + [Vq_Spd] - - + + - + - - + + - + sfix16_En4 @@ -5227,408 +5438,43 @@ - - - + + + - - + + - - + + - - [Vd_max] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - id_Tgt - - - - - - - - id - - - - - - - - Vd_max - - - - - - - - Vd_min - - - - - - - - id_max - - - - - - - - id_min - - - - - - - - Vd - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vd_Calculation - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -5640,529 +5486,383 @@ - - - - - - - - - - - - - - - - [Vq_Open] - - - - - - - - - - - - - - - - - - - - + + + - + - - + + - - + + - - iq_raw + + z_ctrlMod - - + + - - id_raw + + Vd - - + + - - iq + + id_TgtAbs - - + + - - id + + iq - - + + - - if { } - - - - - - - - - - - - - - - - - - - - - - - - - - + + n_mot - - + + - - Current_Filtering - - - - - - - - - - - - - + + Vd_max - - + + - - sfix16_En4 - - - - - - - - - - - - - + + Vd_min - - + + - - sfix16_En4 + + Vq_max - - - - - - - - + + + - - + + Vq_min - - + + - - action + + id_max - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - [r_cos] - - - - - - - + + id_min - - - - - - - - - - - - - - - - - - - - + + - - [Vq] - - - - - - - - - - - - - - + + iq_max - - + + - - sfix16_En4 + + iq_min + + + + + + + + iq_limProt - - - - - - - - - - - - - - - - - - - - + + - - [a_elecAngle] + + n_limProt - - + + + + + + + + - - - + + + + + + + + + - - + + - - ufix16_En6 + + Motor_Limitations - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - [id_min] + + sfix16_En4 - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - r_inpTgtSca + + sfix16_En4 + + + + - - - + + + + - - Vq_max + + - - + + - - Vq_min + + sfix16_En4 + + + + - - - + + + + - - iq + + - - + + - - iq_max + + sfix16_En4 + + + + - - - + + + + - - iq_min + + - - + + - - n_limProt + + sfix16_En4 + + + + - - - + + + + - - Vq_Trq + + - - + + - - case: { } + + sfix16_En4 - + - + - - + + + + + + + + + + sfix16_En4 - + - + - - + + - - + + - - Torque_Mode + + sfix16_En4 - + - - + + - - + + - - action + + sfix16_En4 - + - + - - + + - + sfix16_En4 @@ -6174,49 +5874,49 @@ - + - + - + - + - + - - [Vq_min] + + [id] - + - + - - + + - + sfix16_En4 @@ -6226,6 +5926,39 @@ + + + + + + + + + + + + + + + + + + [r_cos] + + + + + + + + + + + + + + + @@ -6238,11 +5971,11 @@ - + - + 6 @@ -6260,11 +5993,11 @@ - - + + - + n_motAbs @@ -6275,11 +6008,11 @@ - - + + - + sfix16_En4 @@ -6291,43 +6024,58 @@ - - - + + + - - + + - - + + - - [Vq_Open] + + 5 - - + + + + + + + + + + + + + + + + + n_mot - + - - + + - + sfix16_En4 @@ -6339,43 +6087,43 @@ - - + + - + - + - - [n_limProt] + + [iq_min] - + - + - - + + - + sfix16_En4 @@ -6387,59 +6135,59 @@ - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - n_mot + + b_motEna - - + + - - + + - - sfix16_En4 + + boolean @@ -6450,58 +6198,76 @@ - - - + + + - - + + - - + + - - 4 + + [r_inpTgtSca] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - r_inpTgtSca + + [Vq_Trq] + + + + + + + - + - - + + - + sfix16_En4 @@ -6513,43 +6279,127 @@ - - - + + + - - + + + + + + + + - - + + - - [iq] + + i_phaAB + + + + + + + + i_phaBC + + + + + + + + i_alpha + + + + + + + + i_beta - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clarke_Transform - + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -6561,44 +6411,35 @@ - - - + + + + + + + + + - - + + - - + + - - [Vq_max] + + [z_ctrlMod] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -6609,44 +6450,44 @@ - - + + - + - + - - [r_cos] + + [id] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -6657,7 +6498,7 @@ - + @@ -6667,11 +6508,11 @@ - + - + 3 @@ -6686,30 +6527,30 @@ - + - - + + - - b_motEna + + r_inpTgtSca - + - - + + - - boolean + + sfix16_En4 @@ -6720,43 +6561,43 @@ - - + + - + - + - - [Vd] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -6768,432 +6609,188 @@ - - + + - + - + - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z_ctrlMod - - - - - - - - Vd - - - - - - - - id_TgtAbs - - - - - - - - iq - - - - - - - - n_mot - - - - - - - - Vd_max - - - - - - - - Vd_min - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - id_max - - - - - - - - id_min - - - - - - - - iq_max - - - - - - - - iq_min - - - - - - - - iq_limProt - - - - - - - - n_limProt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Motor_Limitations - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + [id_Tgt] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [iq] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vq_Vlt] - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + 7 - - - - - - - - - + + + + + + + + + + - - + + - - sfix16_En4 + + a_elecAngle - - - - - - - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -7204,49 +6801,43 @@ - - - - - - - - + + - + - + - - [Vq_Trq] + + [n_mot] - + - + - - + + - + sfix16_En4 @@ -7258,169 +6849,179 @@ - - - + + + - - + + - - + + - - 2 + + [id_TgtAbs] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca - - + + - - z_ctrlMod + + Vq_max - - - - - - + + + + + + + Vq_min - - + + - - uint8 + + iq + + + + + + + + iq_max - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - i_phaAB + + iq_min - - + + - - i_phaBC + + n_limProt - - + + - - i_alpha + + Vq_Trq - - + + - - i_beta + + case: { } - + - - + + - + - - + + - - + + - - Clarke_Transform + + Torque_Mode - + - + - - + + - + sfix16_En4 @@ -7428,21 +7029,21 @@ - + - - + + - - + + - - sfix16_En4 + + action @@ -7453,50 +7054,35 @@ - + - + - - + + - - + + - - + + - - [iq] + + [id_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -7507,59 +7093,44 @@ - - - + + + - - + + - - + + - - 7 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - a_elecAngle + + - - + + - - + + - - ufix16_En6 + + sfix16_En4 @@ -7570,43 +7141,43 @@ - - + + - + - + - - [id_TgtAbs] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -7618,44 +7189,62 @@ - - - + + + - - + + - - + + - - [id] + + [id_Tgt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [b_motEna] + + + + + + + @@ -7666,44 +7255,44 @@ - - - + + + - - + + - - + + - - if { } + + [n_motAbs] - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -7714,44 +7303,59 @@ - - - + + + - - + + - - + + - - [Vq] + + 2 - - + + + + + + + + + + + + + + + + + z_ctrlMod - - + + - - + + - - sfix16_En4 + + uint8 @@ -7761,45 +7365,60 @@ - - - - + + + + - - + + - - + + - - [r_cos] + + 1 - - + + + + + + + + + + + + + + + + + b_enaAdvCtrl - - + + - - + + - - sfix16_En14 + + boolean @@ -7810,43 +7429,43 @@ - - + + - + - + - - [Vd] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -7860,73 +7479,73 @@ - + - + - + - + - + a_elecAngle - + - + r_inpTgtSca - + - + n_motAbs - + - + r_sin - + - + r_cos - + - + id_Tgt - + - + id_TgtAbs @@ -7934,7 +7553,7 @@ - + @@ -7947,7 +7566,7 @@ - + @@ -7956,11 +7575,11 @@ - - + + - + Field_Weakening @@ -7968,7 +7587,7 @@ - + @@ -7977,11 +7596,11 @@ - - + + - + sfix16_En14 @@ -7989,7 +7608,7 @@ - + @@ -7998,11 +7617,11 @@ - - + + - + sfix16_En14 @@ -8010,7 +7629,7 @@ - + @@ -8019,11 +7638,11 @@ - - + + - + sfix16_En4 @@ -8031,7 +7650,7 @@ - + @@ -8040,11 +7659,11 @@ - - + + - + sfix16_En4 @@ -8056,112 +7675,49 @@ - + - + - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - b_enaFOC - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - + + - - + + - - + + - - [Vq] + + - - + + - + - - + + - + sfix16_En4 @@ -8185,42 +7741,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -8230,11 +7758,11 @@ - + - + @@ -8272,39 +7800,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -8342,11 +7842,11 @@ - + - + @@ -8356,11 +7856,11 @@ - + - + @@ -8398,11 +7898,11 @@ - + - + @@ -8412,11 +7912,11 @@ - + - + @@ -8426,11 +7926,11 @@ - + - + @@ -8440,11 +7940,11 @@ - + - + @@ -8454,11 +7954,11 @@ - + - + @@ -8468,11 +7968,11 @@ - + - + @@ -8482,11 +7982,11 @@ - + - + @@ -8524,11 +8024,11 @@ - + - + @@ -8538,11 +8038,11 @@ - + - + @@ -8552,11 +8052,11 @@ - + - + @@ -8566,11 +8066,11 @@ - + - + @@ -8580,11 +8080,11 @@ - + - + @@ -8594,11 +8094,11 @@ - + - + @@ -8608,11 +8108,11 @@ - + - + @@ -8622,11 +8122,11 @@ - + - + @@ -8772,11 +8272,11 @@ - + - + @@ -8828,11 +8328,11 @@ - + - + @@ -8870,11 +8370,11 @@ - + - + @@ -8895,20 +8395,6 @@ - - - - - - - - - - - - - - @@ -9178,11 +8664,11 @@ - + - + @@ -9192,11 +8678,11 @@ - + - + @@ -9206,11 +8692,11 @@ - + - + @@ -9220,11 +8706,11 @@ - + - + @@ -9234,11 +8720,11 @@ - + - + @@ -9248,45 +8734,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -9814,11 +9266,11 @@ - + - + @@ -9828,11 +9280,11 @@ - + - + @@ -9884,11 +9336,11 @@ - + - + @@ -9909,7 +9361,21 @@ + + + + + + + + + + + + + + - + 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 7724a65..b312612 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 @@ -80,81 +80,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8723", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8724", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_selPhaABCurrMeas", - "label":"b_selPhaABCurrMeas", + "name":"i_alpha", + "label":"i_alpha", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "b_selPhaABCurrMeas", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "boolean", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", "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: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", - "[]" + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3 + 2, + 11 ] }, "viewer":{ @@ -163,7 +155,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"Outport", "masktype":"" } }, @@ -176,16 +168,16 @@ "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "Inputs", "InitialOutput", "AllowUnequalInputPortWidths", - "InputPortOffsets" + "InputPortOffsets", + "Inputs" ], "values":[ - "2", "[]", "off", - "[]" + "[]", + "2" ], "tabs":[ "Parameter Attributes", @@ -193,7 +185,7 @@ ], "tabs_idx":[ 0, - 3 + 1 ] }, "viewer":{ @@ -249,6 +241,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8719", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_beta", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8718", "className":"Simulink.Goto", @@ -283,73 +308,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8724", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"i_alpha", - "label":"i_alpha", + "name":"Merge1", + "label":"Merge1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "1", - "Port number", "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", "off", "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "2" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -358,16 +342,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8719", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -376,7 +360,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "i_alphaBC", "local", "Tag" ], @@ -396,11 +380,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8715", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -409,7 +393,7 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "i_betaAB", "local", "Tag" ], @@ -429,11 +413,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8713", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8715", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -442,7 +426,7 @@ "IconDisplay" ], "values":[ - "i_alphaAB", + "i_phaBC", "local", "Tag" ], @@ -462,11 +446,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8714", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8713", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -475,7 +459,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_alphaAB", "local", "Tag" ], @@ -495,11 +479,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8711", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8710", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -526,19 +510,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8710", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8712", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaBC", + "i_alpha", + "local", "Tag" ], "tabs":[ @@ -552,16 +538,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -569,7 +555,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "i_phaAB", "Tag" ], "tabs":[ @@ -588,42 +574,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", "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:8706", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -631,7 +586,7 @@ "IconDisplay" ], "values":[ - "i_alpha", + "i_beta", "Tag" ], "tabs":[ @@ -743,21 +698,19 @@ } }, { - "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":[ @@ -771,26 +724,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8717", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8711", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_betaAB", - "local", + "i_phaBC", "Tag" ], "tabs":[ @@ -804,16 +755,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clarke_PhasesAB", - "label":"Clarke_PhasesAB", + "name":"Clarke_PhasesBC", + "label":"Clarke_PhasesBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -906,33 +857,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Clarke_PhasesAB", + "label":"Clarke_PhasesAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "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":[ - "i_phaAB", - "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":"" } }, @@ -1004,11 +1021,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_alpha", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8714", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -1017,7 +1065,7 @@ "IconDisplay" ], "values":[ - "i_alphaBC", + "i_phaAB", "local", "Tag" ], @@ -1036,6 +1084,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "i_alphaAB", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8669", "className":"Simulink.Inport", @@ -1104,130 +1183,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clarke_PhasesBC", - "label":"Clarke_PhasesBC", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8723", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"b_selPhaABCurrMeas", + "label":"b_selPhaABCurrMeas", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", + "b_selPhaABCurrMeas", "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", - "", + "inf", + "[]", + "[]", + "boolean", "off", - "" + "inf" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 3, + 7 ] }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_alphaAB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, 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 e74f0309eba87a238df679e3870d4533d3f99a26..f141fe4741034dfc87ad8e4331d9f92b7b88421b 100644 GIT binary patch literal 5832 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 literal 5829 zcmd^@=Qmt!xW)&0bwiX1Q4?MyB%+t-eIn9FMjgFHixx(YAbJqQXc0o9M(;rwqqmST zL{Bgoq8r_L-t+1F59h<4z4qE`&EEUD@9VmL_Y?i#o*onZWqJq%!UWgXegw`v{~ff{ z;I|A}o&!#F9{R>!5D2vEzk?!G49X3Gz+S+$HJ70ltdeQ3Gcs}PXtl}^R8_IYC zAB(=CcsH6M>{cMB3+wd3bec*Xo`gmkFJLS1G7p>4#EWVYU2!cKIbbm@8WMxvQ=1LUi&goAvbu&qFDD zd;59vv81YM!sDWQ3u}aGkLH=p!$7~Y!hJMHz_~5|6+mor77>{q^an<`)~5CncGoY1r5(a{k|pmHCo#u_hEKKGff+6-Cv=Xa2hbm%m6w?yOMd`YQ}oen-);cSRcN)l4Xhvi*)U&iEQsC7M+ z67s2-UgseTBehj!pw~zHYQnr{<3Om4jEwq2cH3%W9%a8yB0!YfJo?FVP_L#9za3yML~>JBVlR=HL& zM!WA~(gYy4w&p3Cq9P&ULc~;+fcYb(By7QVCuP4)^#h)ZZF9`cGZxzZ{y|$CAh$#QB=4@emy%oyN;DhO!~@vdRLRw1z3=yRKg~P z)z#IXK79%;E?)jO^Ytbxsc&AOT>B~nA{NS4R>t|4BsLX;FgA`}UbgS4GV^>$7#RuO z-ri2OFyNkEpRPCf+TyE}?da^>_nG;UGxlilj(p*U4;31wmpdIDlNRnc6;!Yq97}EM zjlMiQ+Zf)^NwG_&I^JK1sFXZ8U$%!ZlpzHL1wWOQVH0?7Th^L@!fNI{xc6LEM&^Rf z!}p>w{*CsPNXtqj3+)Au-PO@7@;Z^&@pq=#;7D+^yKXmR4v(ja>I|E%cNfeY{P5ue zC3#~GXX@UXN;c7XcuQH?#i*~Su<(I}gk!)9Uo5x-{YkFNbAmH}P4gpi}xlz9Itk=RQR79DX+A#H379~!6GO}fav(!A0z;|5VTHa4DB zq!O<&;WBJV7Rt-drwVSHJ87NUh#Fp@Dv!7FotJJIFAyxJOsR97{9AGjeOJeT1%a@t zG})RMVF4{(*lAVcJ_jxO?!+fPs+(VYy|7!)Dk=1?aBSo|%?V`HPJVvZJoOEQs%M1nv<*hfBYvK10 zA&jA37ILo<#}YSGj4v_MA^-er^b(bj(9_bQq6~uoLlTEEd|S9>5qxL|VbIF4spKp* zD&Z1^ClBCYvHuhoV|FMWeP#!XA_SMJCpAG4hy`z@LEO!B225ebbo^$c*-hJOLJQ8V zo;%}i_s^VO+c&+oo^{PLZa{IiQe1w@d~xydR`_yrv2(qmB4Ng!iNEK%+Y2-vlWmF_ z4*Bp^3^XK_n^2lCX~qg|=IDJwJ%M28jAx6MfwV6j7E;-Jp3S}QOeikC&dAK%xj`0W zr{`eo?@bX&(ia+7=&!A+Z zumuGdBZjxO)U)(7*37a4B2o|DGS(er(H>+spnagjE+y?V0g|7%cx4gLf@&oTwb{^& zhhiosz7Qm*$WCI&36Xrjm2iT}wwjapB@hNjIizr*ft-CJsEiN(dmwW^G0#&36y zKAxZ6U)?@ehuedUzirTVwPb4l{L3?PFhu=oQfUA0Z!^s=+EP<@x3->-){od-LJUsu0NJx^GWaoO!cv$I6Z?hV{90fNhco>BkMfR*S&H-|1fnF7I-4 zacMV9J(jwe1_lTJ^Un=(et9|6+}wP!(M!Z_rs*F9;v($@P`=HS+>>9Qq1zxRG=x|+ z1Xyl~5rKF49c%*cyHMvgbM)jG%@_QDtF=1TI668S znVn6Dj;4F1nP;b3h4VVvbsC@GKuHy{nB$Y~3NLsl3<#4%o*!=8WvK=oMWgC-fF7twqHp2zaeDlE0~yk^5t{l%-)W;dKb4kh z2L-9P{cH%!J=-l>-f@we#tdDY+RXQNu(#jF1XP$er&WvJ6^Di6NrOZxxDe~|{zo4Q zAc}-mbpcB`X$jx0MV-6%?=Ruh&LqWQv4o3GEfzw2iB#&NpRu|@2FGZ{%dyy(E^@K9 zQqknO5PtWshr)m#-WOj7)&?GIwNJ&xn-}RQL!Ubw<*mfjJadN34RQJ$3_7g3K-?~* zU9;DznlLgo<-Bi5!H~Y$Ys(t2zjjR_{zF9tGjL#3b;1PGTy{yZ^Q>HYf9lTtuYOxs zeb*+#svU+k@jjp*fFlCMEFEkuf%-ZOky3hvsHv%ePq@vtMEfa&RrdXrb>J|RrD1By z-QC^ou`Gxbp5d6$`~1=g*wu<(|&ba+k< zA0rb}UUM^dc6Rosk`gUDyMKA0db7Rb6B7{*xk0d%p=>R{4D31@!YN_pB(U&)dlOH+ zR73IzXeK764I|G6 zFy}p>HLY`@fShb4hI9=F?^o*$N#6PR$U`Z+$G-XtQv8h_S88f%;+l7`3HR3vT!4pw zLC@A9#f`?mpGAEqYCn5M608U~KO?s-O;*}`nO@g1UAto?-se!N**H0OwlANhCK?MfrU(dT^&qTw(;=;_n!?9x8)lOooK1U{g2J=KDo3`B6W_Bv;T)=04U(e zBa@S_CB7a|2DkBpQbjTIclY$@_i8*ua5Vd__n9`aPhR*}KX0+6vQkn)MoiOiIB#EnKk&Mdu`$ZFIrp1t z6EidMBz#5w*ROnhi8K=v6X4T9YxEvJTK)6q+u7;y^S?h8LGgj~fzYka&rTJeHFH%n z$lIy2>llA0qsnwC!-bK;UV_FZ@Opv^NCVvbyuiI2<>;_53YWRByiMi#Wo3in9m;&n zC&6lceSNp2q$mNsCE`Y>r!$|v1fIT2CNFI+bSi44+ZyYlP`QUK1OlO@-=#B>xyL#F z+4b=lSt+Ti(tmMFpgbkBF?+k+7meSkqTzk_X^K=m=Zh3|C^AmbZ;R5y&s%v#sv>S)p zI^782za(LyZEBi%I0e*{na;hlv$Nb|7u9L?<377in0WuE^70|$QbPnnnf%jB5y#3% z?RA~#>gwvBdPXEV0hoT@(xU9{H07ZX2d;%!=>j)9XaHQvo~wl%bn}aT5hHx%HG%5ot>5Ss&kS5{cl9?MNnQxS63Y&R!KZ-CI+J!5~2q5<>OOJ=pyZ*M@L31 z`AB0}JZNGUIc`w7&CLZZ<(&a(#ksBslgi}Yf<_fiMr)ulfc>KAwODeV(`Dyp&j!zN zV@CtGH(DNVs^DV{2{9be+AN3Y-fh2*7*S@7xEmu2 z>4gxiH_dra!Ad6m5Nk&m!T&-IgERaI4G5#j+( zA`l2g{Mi&_bN+OX=x3-L~a;plML9Bk8H+efP z{GjmL4(14-a3199Jw7|$0IZ^sW(R_~x3~9Y=L~)-lKFKx>9uY?kZk+6nAq;6n3xzn zH!`|)nYS`-J(k~89QHOnJ#)Ihzh6>bo~C3Xrm9M6M-k|J%a6yXgo7^;7nm@;E>|xR z+>*3h@bu}^%pjczH|OtjbBVx~U!Go%OiH@g0t^!*9T*j)aB-*m^=;UVVDjyj-7y2m zcGOfwEfb1{@S1+m%6RxD>Z_TjTB79D_mi(@L0Zku&K6xBJnj>#5P-#6q0vphY{ccz znH0uUU~(WeIeFFY?e4Z)S6aHc4XqJhG@9uPr+^U{2zt3U0OUv4(({_SI!rjTk9ib` z&df>Qjad~iHtp{2z8hQxj3{z1tH(d*d2^j6%7puj^_igL^~@ILK(~L*zsmr47mcwl zcT-eWjEOybY0gI1MT-!4H8fc7!-xp$qz|g19oSnCo)Wd!zwY1B3&cxqA zS1J+{Z;y8&Z`M7zS5$5JSej~^J$~}RMK3=ciI-Wb9EiJf&c2B@g2|Pi_J|(;n zqGMxY(<}nXLr6MyyZ|pFM-E@4Pm&vygV{J&0uMDa4;~y===Al zQ;s)K<-zydvsd6=7Qzrr@L+=@U4G#c%fsr=mBqb)10vJXU~!3wHo?JshK7a@5FE0y zvid@-4IT@WP#%R)5M?%i6uy|0IfACjFg16vsFUpY40zumLHGXs;bP{QN|4nCNr#7r zvgRhfkAG;CTeM=NwG7kjc2s!{p3)`RDY~Bl(aAb+pj#~fR<8sJh5(x6Y+zNO^kTCehlI;B7cBU+&9LsPn^=Y!Oa_Lxx(`ux+T5LmzWg8XYPV zTPUspzbKGcEDYWS z)M>R!4e-#im(uOq25#8J^;$32zEB`25F3sNHZ297?%HSg&55U|4x;yRt@Y^ zoJLYg>SX}=FAxV9xYp*{LX3@kctBr*vJNiK5D3OVJntTR0BZ*Vtv+@)a1$tKA)lE1=?- z!rwCV3Oor}vUOkAc+%u zL1)(j>twiev-D2@l##LY&vDSSYo9^s-Zx}t-^$LFjJue0DJ?B6z+{Rlv)v=_u<}|T zYjLc$|1d$J%i_m2_0!L{f5Aa=V&s=8V1*FiB!Erx%F7cdjP;N&S?Ip#MgPCt-uyq? cx%1}`iiR{sNRruiurCdP>)g{W*R*{3Ka_|F)Bpeg 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 4d02ec2..cc2b3fb 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 @@ -61,123 +61,44 @@ - - - + + + - - + + - + - - b_selPhaABCurrMeas + + 1 - - + + - - + + - - - - - b_selPhaABCurrMeas - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - sfix16_En4 + + i_alpha @@ -190,7 +111,7 @@ - + @@ -198,19 +119,19 @@ - + - + - + - + @@ -236,11 +157,11 @@ - + - + sfix16_En4 @@ -254,7 +175,7 @@ - + @@ -262,27 +183,27 @@ - + - + u1 - + - + if(u1 ~= 0) - + - + else @@ -296,30 +217,30 @@ - + - - + + - + action - + - - + + - + action @@ -329,6 +250,39 @@ + + + + + + + + + + + + + + + + + + [i_beta] + + + + + + + + + + + + + + + @@ -341,11 +295,11 @@ - + - + [i_betaBC] @@ -364,44 +318,60 @@ - - - + + + - - + + - + - - + + - - 1 + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - i_alpha + + sfix16_En4 @@ -412,28 +382,28 @@ - - + + - + - + - - [i_beta] + + [i_alphaBC] - + @@ -445,28 +415,28 @@ - - + + - + - + - - [i_phaBC] + + [i_betaAB] - + @@ -478,28 +448,28 @@ - - + + - + - + - - [i_alphaAB] + + [i_phaBC] - + @@ -511,28 +481,28 @@ - - + + - + - + - - [i_phaAB] + + [i_alphaAB] - + @@ -544,43 +514,43 @@ - - + + - + - + - + [i_phaBC] - + - + - - + + - + sfix16_En4 @@ -592,92 +562,29 @@ - - - - - - + + + - - - - - - - - - [i_phaBC] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - + + - - + + - - [i_beta] + + [i_alpha] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -698,11 +605,11 @@ - + - + [i_phaAB] @@ -720,11 +627,11 @@ - + - + sfix16_En4 @@ -736,43 +643,43 @@ - - + + - + - + - - [i_alpha] + + [i_beta] - + - + - - + + - + sfix16_En4 @@ -794,11 +701,11 @@ - + - + [i_betaBC] @@ -816,11 +723,11 @@ - + - + sfix16_En4 @@ -842,11 +749,11 @@ - + - + [i_betaAB] @@ -864,11 +771,11 @@ - + - + sfix16_En4 @@ -890,11 +797,11 @@ - + - + [i_alphaBC] @@ -912,11 +819,11 @@ - + - + sfix16_En4 @@ -928,29 +835,44 @@ - - - + + + - - + + - - + + - - [i_alpha] + + [i_phaAB] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -961,29 +883,44 @@ - - - + + + - - + + - - + + - - [i_betaAB] + + [i_phaBC] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -994,9 +931,9 @@ - - - + + + @@ -1004,50 +941,50 @@ - + - + - - i_phaA + + i_phaB - + - - i_phaB + + i_phaC - + - - i_alphaAB + + i_alphaBC - + - - i_betaAB + + i_betaBC - + - - if { } + + else { } @@ -1059,7 +996,7 @@ - + @@ -1072,16 +1009,16 @@ - - + + - - + + - - Clarke_PhasesAB + + Clarke_PhasesBC @@ -1093,15 +1030,15 @@ - + - - + + - + sfix16_En4 @@ -1114,16 +1051,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1135,16 +1072,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1155,49 +1092,162 @@ - + - - + + - - + + + + + + + + - - + + - - [i_phaAB] + + i_phaA + + + + + + + + i_phaB + + + + + + + + i_alphaAB + + + + + + + + i_betaAB + + + + + + + + if { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clarke_PhasesAB - + + + + + + + + + + + + + + + + action + + + + + + + + + + + + - - + + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1210,6 +1260,12 @@ + + + + + + @@ -1219,11 +1275,11 @@ - + - + 2 @@ -1241,11 +1297,11 @@ - + - + i_phaBC @@ -1256,11 +1312,11 @@ - + - + sfix16_En4 @@ -1272,29 +1328,44 @@ - - - + + + - - + + - - + + - - [i_alphaBC] + + [i_alpha] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1305,58 +1376,76 @@ - - - + + + - - + + - - + + - - 1 + + [i_phaAB] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - i_phaAB + + [i_alphaAB] + + + + + + + - + - - + + - + sfix16_En4 @@ -1368,156 +1457,58 @@ - - - + + + - - - - - - - - + + - - - - - - i_phaB - - - - - - - - i_phaC - - - - - - - - i_alphaBC - - - - - - - - i_betaBC - - - - + + - - else { } + + 1 - - - - - - - - + + - - - - - - - - - - - - - - - - Clarke_PhasesBC - - - - - - - - - - - - - + + - + - - action + + i_phaAB - - - - - - - + - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - + - + sfix16_En4 @@ -1529,50 +1520,59 @@ - - - - - - - - - + + + - - + + - - + + - - [i_alphaAB] + + b_selPhaABCurrMeas - - + + + + + + + + + + + + + + + + + b_selPhaABCurrMeas - - + + - + - - sfix16_En4 + + boolean @@ -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 12ebfbc..31b5e43 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 @@ -128,6 +128,152 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", + "className":"Simulink.SignalConversion", + "icon":"WebViewIcon3", + "name":"Signal Conversion2", + "label":"Signal Conversion2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" + ], + "values":[ + "Signal copy", + "Inherit: auto", + "off" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SignalConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"i_betaAB", + "label":"i_betaAB", + "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" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_phaA", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", "className":"Simulink.Sum", @@ -188,53 +334,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8678", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1/sqrt(3)", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "i_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" @@ -242,7 +362,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Goto", "masktype":"" } }, @@ -278,21 +398,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_phaA", - "local", + "i_phaB", "Tag" ], "tabs":[ @@ -306,16 +424,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8678", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -333,7 +451,7 @@ "SampleTime" ], "values":[ - "2/sqrt(3)", + "1/sqrt(3)", "Element-wise(K.*u)", "[]", "[]", @@ -468,123 +586,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_phaB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8672", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"i_phaA", - "label":"i_phaA", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "1", - "Port number", + "2/sqrt(3)", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Same as input", "off", + "Zero", "off", - "off" + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, + 8, 11 ] }, @@ -594,16 +640,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8684", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8672", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"i_betaAB", - "label":"i_betaAB", + "name":"i_phaA", + "label":"i_phaA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -619,20 +665,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", "[]", "[]", @@ -644,17 +684,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -674,40 +707,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", - "className":"Simulink.SignalConversion", - "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" - ], - "values":[ - "Signal copy", - "Inherit: auto", - "off" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SignalConversion", + "blocktype":"Inport", "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 5d73a5d..04e1cb8 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 @@ -110,6 +110,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + i_betaAB + + + + + + + + + + + + + + + + + + + + + + + + + + [i_phaA] + + + + + + + + + + + + + + + @@ -122,35 +379,35 @@ - + - + - + - + - + - + - + - + @@ -168,11 +425,11 @@ - + - + sfix16_En4 @@ -184,44 +441,29 @@ - - - + + + - - + + - - + + - - 1/sqrt(3) + + [i_phaB] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -242,11 +484,11 @@ - + - + [i_phaA] @@ -264,11 +506,11 @@ - + - + sfix16_En4 @@ -280,29 +522,44 @@ - - - + + + - - + + - - + + - - [i_phaA] + + [i_phaB] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -313,43 +570,43 @@ - - + + - + - + - - 2/sqrt(3) + + 1/sqrt(3) - + - + - - + + - + sfix16_En4 @@ -371,11 +628,11 @@ - + - + if { } @@ -393,11 +650,11 @@ - + - + Action Port @@ -419,11 +676,11 @@ - + - + 2 @@ -441,11 +698,11 @@ - + - + i_phaB @@ -456,11 +713,11 @@ - + - + sfix16_En4 @@ -472,76 +729,43 @@ - - - - - - - - - - - - - - - - [i_phaB] - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - [i_phaB] + + 2/sqrt(3) - - + + - + - - + + - + sfix16_En4 @@ -563,11 +787,11 @@ - + - + 1 @@ -585,11 +809,11 @@ - + - + i_phaA @@ -599,236 +823,12 @@ - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - i_betaAB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + sfix16_En4 @@ -972,5 +972,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json index 2e97661..e4fc5cc 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json @@ -49,11 +49,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8700", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8699", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"i_betaBC", - "label":"i_betaBC", + "name":"i_alphaBC", + "label":"i_alphaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -82,7 +82,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -129,42 +129,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8700", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"i_betaBC", + "label":"i_betaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "rectangular", - "+-", - "off", - "Inherit: Inherit via internal rule", + "2", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -174,7 +195,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -183,16 +204,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_phaB", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -212,7 +266,7 @@ ], "values":[ "rectangular", - "--", + "+-", "off", "Inherit: Inherit via internal rule", "[]", @@ -337,19 +391,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8696", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaB", + "i_phaC", + "local", "Tag" ], "tabs":[ @@ -363,16 +419,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -380,7 +436,7 @@ "IconDisplay" ], "values":[ - "i_phaC", + "i_phaB", "Tag" ], "tabs":[ @@ -399,11 +455,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8690", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -411,7 +467,7 @@ "IconDisplay" ], "values":[ - "i_phaB", + "i_phaC", "Tag" ], "tabs":[ @@ -430,25 +486,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8689", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "held", - "Only when execution is resumed" + "rectangular", + "--", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -456,26 +540,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8696", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8690", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "i_phaC", - "local", + "i_phaB", "Tag" ], "tabs":[ @@ -489,66 +571,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8688", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8689", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"i_phaC", - "label":"i_phaC", + "name":"Action Port", + "label":"Action Port", "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" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "held", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -556,16 +602,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8699", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8688", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"i_alphaBC", - "label":"i_alphaBC", + "name":"i_phaC", + "label":"i_phaC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -581,20 +627,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -606,17 +646,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -636,7 +669,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, @@ -707,39 +740,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "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 a46a9c2..8c4f534 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg @@ -64,11 +64,11 @@ - - + + - + @@ -78,30 +78,30 @@ - - 2 + + 1 - + - - + + - + - - i_betaBC + + i_alphaBC @@ -112,60 +112,77 @@ - - - + + + - - + + - + - - + + 2 - - - - - - - + + + + + + + + + + + + + - - + + - - + + i_betaBC - - - - - + + + + + + + + + + + + - - - - + - + - - sfix16_En4 + + [i_phaB] + + + + + + + @@ -176,51 +193,59 @@ - - + + - + - + - + - + - + + + + + + + + + - + - + - - + + - + sfix16_En4 @@ -242,11 +267,11 @@ - + - + 1/sqrt(3) @@ -264,11 +289,11 @@ - + - + sfix16_En4 @@ -290,11 +315,11 @@ - + - + [i_phaC] @@ -312,11 +337,11 @@ - + - + sfix16_En4 @@ -326,6 +351,39 @@ + + + + + + + + + + + + + + + + + + [i_phaC] + + + + + + + + + + + + + + + @@ -338,11 +396,11 @@ - + - + [i_phaB] @@ -360,11 +418,11 @@ - + - + sfix16_En4 @@ -386,11 +444,11 @@ - + - + [i_phaC] @@ -408,11 +466,67 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -434,11 +548,11 @@ - + - + [i_phaB] @@ -456,11 +570,11 @@ - + - + sfix16_En4 @@ -482,11 +596,11 @@ - + - + else { } @@ -504,11 +618,11 @@ - + - + Action Port @@ -518,39 +632,6 @@ - - - - - - - - - - - - - - - - - - [i_phaC] - - - - - - - - - - - - - - - @@ -563,11 +644,11 @@ - + - + 2 @@ -585,11 +666,11 @@ - + - + i_phaC @@ -600,11 +681,11 @@ - + - + sfix16_En4 @@ -614,54 +695,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - i_alphaBC - - - - - - - - @@ -674,11 +707,11 @@ - + - + 1 @@ -696,11 +729,11 @@ - + - + i_phaB @@ -711,11 +744,11 @@ - + - + sfix16_En4 @@ -725,39 +758,6 @@ - - - - - - - - - - - - - - - - - - [i_phaB] - - - - - - - - - - - - - - - @@ -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 47a853f..e655c47 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 @@ -49,74 +49,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"id", - "label":"id", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "Inputs", + "DisplayOption" ], "values":[ "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "bar" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -124,7 +75,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Mux", "masktype":"" } }, @@ -221,39 +172,6 @@ "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:8735", "className":"Simulink.Goto", @@ -321,42 +239,11 @@ } }, { - "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:8741", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -385,7 +272,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -432,11 +319,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -444,7 +331,7 @@ "IconDisplay" ], "values":[ - "id", + "id_raw", "Tag" ], "tabs":[ @@ -463,20 +350,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "bar" + "id", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -489,7 +376,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"From", "masktype":"" } }, @@ -558,19 +445,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8736", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "id_raw", + "local", "Tag" ], "tabs":[ @@ -584,7 +473,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9714", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "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":"" } }, @@ -655,39 +575,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8729", - "className":"Simulink.Demux", - "icon":"WebViewIcon3", - "name":"Demux1", - "label":"Demux1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "Outputs", - "DisplayOption", - "BusSelectionMode" - ], - "values":[ - "2", - "bar", - "off" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Demux", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8727", "className":"Simulink.Inport", @@ -756,20 +643,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9714", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "iq_raw", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -782,7 +669,120 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8729", + "className":"Simulink.Demux", + "icon":"WebViewIcon3", + "name":"Demux1", + "label":"Demux1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "Outputs", + "DisplayOption", + "BusSelectionMode" + ], + "values":[ + "2", + "bar", + "off" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Demux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8741", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"iq", + "label":"iq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", "masktype":"" } }, 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 a19b77f92cb8ec821588ccb2f8194c19afdc00d6..19748edcbd34b2dd3e0e2a3b568cc44e151cb5cb 100644 GIT binary patch literal 5215 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 M)HT(q({g(HKa5p+pa1{> literal 5236 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

This will reduce the control command to 0 with a predefined rate.

", - "label":"

This will reduce the control command to 0 with a predefined rate.

", + "name":"

Just copy the target which will be reduced to 0 in the Input_Target_Sythesis function.

", + "label":"

Just copy the target which will be reduced to 0 in the Input_Target_Sythesis function.

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

This will reduce the control command to 0 with a predefined rate.

", + "\n\n

Just copy the target which will be reduced to 0 in the Input_Target_Sythesis function.

", "off", "rich", "auto", @@ -129,369 +129,60 @@ } }, { - "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", - "Auto", - "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:9041", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9030", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"dV_openRate", - "label":"dV_openRate", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "dV_openRate", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "fixdt(1,28,16)", + "Inherit: auto", "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9037", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain3", - "label":"Gain3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" - ], - "values":[ + "inherit", "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", + "Inherit", + "-1", + "auto", "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Gain", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9036", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_Open", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Rising edge init" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9034", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 + 2, + 11 ] }, "viewer":{ @@ -500,58 +191,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9035", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_prev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9039", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9031", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "Vq_prev", - "local", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -564,234 +222,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9033", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "fixdt(1,28,16)", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9032", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Constant23", - "label":"Constant23", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9031", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9030", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"Vq_prev", - "label":"Vq_prev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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: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":"ActionPort", "masktype":"" } }, @@ -845,464 +276,5 @@ ], "finder":[ ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9032#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9042#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9037#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9041#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9034#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9036#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9040#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9035#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "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:9033#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" - ], - "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" - ], - "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" - ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] } ] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.png index 2e87bb374395ca7faef509d6275a9728f05b93cc..6b9146d792ba091322d9d6b13610bc23a9d43e07 100644 GIT binary patch literal 6033 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 I(Qu6U53Dt7p#T5? literal 5632 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 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 ef53976..cb96fbf 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 @@ -1,10 +1,10 @@ - + - + @@ -14,16 +14,24 @@ - - + + - - + + - - This will reduce the control command to 0 with a predefined rate. + + Just copy the target which will be reduced to 0 in + + + + + + + + the Input_Target_Sythesis function. @@ -33,42 +41,42 @@ - + - + - + - + 1 - + - + - - + + - + Vq_Open @@ -80,313 +88,58 @@ - - - + + + - - + + - - - - - - - u - - - - - - - - initVal - - - - - - - - init - - - - - - - - inc - - - - - - - - dec - - - - - - - - y - - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - + + - - - - - Rate_Limiter - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dV_openRate - - - - - - - - - - - - - - - - - - - - - - dV_openRate - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - + - - [Vq_Open] - - - - - - - + + r_inpTgtSca - + - - + + - + sfix16_En4 @@ -398,509 +151,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + default: { } - - - - - - - - - - + + - - - + + + - - + + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_prev] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_prev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - default: { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - Vq_prev - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_Open] - - - - - - - + + Action Port @@ -912,157 +200,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -1071,5 +213,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json index ecaf992..23222e6 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 @@ -476,6 +476,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum6", + "label":"Sum6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "-+", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", "className":"Simulink.Sum", @@ -602,19 +661,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9062", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", + "r_cos", + "local", "Tag" ], "tabs":[ @@ -628,16 +689,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -645,7 +706,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "r_sin", "Tag" ], "tabs":[ @@ -725,68 +786,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9057", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "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:9055", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_cos", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9054", "className":"Simulink.From", @@ -850,44 +849,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9062", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_cos", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9051", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9053", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -940,44 +906,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_beta", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1030,11 +963,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9052", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9051", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1087,53 +1020,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "rectangular", - "-+", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "r_cos", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1141,16 +1046,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9053", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9050", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1202,6 +1107,101 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "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:9057", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "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:9065", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_beta", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9048#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg index 19e5a70..35a5e4b 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 @@ -410,6 +410,70 @@

cghr)^b$ZsX>B`g_cZTmAl{#+xwoKKaH`%*jG07Aqy>9 zHco2cb4=Zv)FeBOqt>-JkWwt(>z6963Ht z{R@fI{pTMlV>>@TMjjrXXyuT}Oq0?$Vqaw6iVIX)TH5W;z;)C%#2p zLnD^dPkP4=4G1hN)rsX|OEA1H~Zxet)A0N9x+8>uU2OGWqh$Hol6wv!+Sry<|#|CetR;eNKtYM!T zAf|d$4w3N!M;oIO_-SEOfJW$0!0{8d9)H_Hpl79K}rG3LK7o=nmdFwu3_4onx z5uzgoMGw%?dXGP&KWb!ihPF&yGLPIiI%Rnx_p^%zq}w1D4!EqTz=nuHz2n%*Y@7-z zi71dBMJ=XUcCzt%l^va&UN|}Nm%VNw1Z6OYZ=k8=(fpU7kO2DLeR}$|+Js+*nd}Dw zF)}_LYAHk~dHqsNO#wI)i)`KCD?vLZ4Nc9JWbJ1iVMMft=%qX6HV|5Kb-0(kn(oO3 zHcql6-EqNQLn47tJTe6EW4_)MOZ>xPchf;@lXIHSSXw>a45X3|jzAC@8ynwe8W~E{ zRNLOlnEn0zUdQT+`@JY;D~kV(pb#v@|C>nvUpyY()l-p|#2dgKfNeyG+6#adMa$s- E0mP-IHUIzs 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 3adbd1d..566362e 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 @@ -76,44 +76,44 @@ - - - + + + - - + + - + - - 2 + + - - + + - - - + + + - + - - id + + sfix16_En4 @@ -126,7 +126,7 @@ - + @@ -401,39 +401,6 @@ - - - - - - - - - - - - - - - - - - [id_raw] - - - - - - - - - - - - - - - @@ -446,11 +413,11 @@ - + - + [iq_raw] @@ -479,11 +446,11 @@ - + - + [iq] @@ -502,44 +469,44 @@ - - - + + + - - + + - - + + - - [iq_raw] + + 2 - - + + - - - + + + - - + + - - sfix16_En4 + + id @@ -550,44 +517,44 @@ - - - + + + - - + + - - + + - - 1 + + [id_raw] - - + + - - - + + + - - + + - - iq + + sfix16_En4 @@ -608,11 +575,11 @@ - + - + [id] @@ -630,11 +597,11 @@ - + - + sfix16_En4 @@ -646,43 +613,43 @@ - - - + + + - - + + - - + + - - + + [iq] - - + + - + - - + + - + sfix16_En4 @@ -694,44 +661,29 @@ - - - + + + - - + + - - + + - - [iq] + + [id] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -742,28 +694,28 @@ - - + + - + - + - - [id] + + [id_raw] - + @@ -775,44 +727,44 @@ - - - + + + - - + + - - + + - - [id_raw] + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -833,11 +785,11 @@ - + - + 2 @@ -855,11 +807,11 @@ - + - + id_raw @@ -870,11 +822,11 @@ - + - + sfix16_En4 @@ -886,58 +838,106 @@ - - - + + + - - + + - - + + - - + + 1 - - + + + + + + + + + + + + + + + + + iq_raw - + - - + + - + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + [iq_raw] + + + + + + + + + + + - + - + - + sfix16_En4 @@ -949,58 +949,58 @@ - - - + + + - - + + - + - - 1 + + - - + + - - - + + + - + - - iq_raw + + sfix16_En4 - + - + - + sfix16_En4 @@ -1012,44 +1012,44 @@ - - - + + + - - + + - + - - if { } + + 1 - - + + - - + + - + - - Action Port + + iq @@ -1214,5 +1214,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json index 2c71ba1..045c870 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,41 +1,62 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2405", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2407", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum5", - "label":"Sum5", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "rectangular", - "+-", - "on", - "Inherit: Same as first input", + "1", + "Port number", "[]", "[]", - "Inherit: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -45,7 +66,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -54,7 +75,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", "masktype":"" } }, @@ -109,11 +130,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2405", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum5", + "label":"Sum5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -133,12 +154,12 @@ ], "values":[ "rectangular", - "++", + "+-", "on", - "Inherit: Inherit via internal rule", + "Inherit: Same as first input", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -167,6 +188,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2403", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", "className":"Simulink.Constant", @@ -217,11 +295,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2407", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2400", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"coef", + "label":"coef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -237,20 +315,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -262,17 +334,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -292,22 +357,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "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", @@ -319,12 +385,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", @@ -340,7 +407,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -349,16 +416,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2400", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2399", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"coef", - "label":"coef", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ @@ -381,7 +448,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -477,73 +544,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2399", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"u", - "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "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:8738:2399#out:1", "className":"Simulink.Line", 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 3ad0390..940bad5 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 @@ -13,60 +13,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - - + + + - - + + - - ufix16_En16 + + y @@ -79,7 +63,7 @@ - + @@ -87,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -141,11 +125,11 @@ - + - + sfix16_En4 @@ -157,67 +141,115 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + - + - - + + ufix16_En16 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix16_En4 @@ -239,11 +271,11 @@ - + - + 1 @@ -261,11 +293,11 @@ - + - + ufix16_En16 @@ -277,44 +309,59 @@ - - + + - + - + - - 1 + + 2 - + - - + + - - + + - - y + + coef + + + + + + + + + + + + + + + ufix16_En16 @@ -325,51 +372,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -381,59 +444,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - coef + + u - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -446,7 +509,7 @@ - + @@ -454,19 +517,19 @@ - + - + - + - + @@ -483,75 +546,12 @@ - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - - + - + sfix16_En4 @@ -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 893359d..c485305 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json @@ -195,86 +195,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8760", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"id_TgtAbs", - "label":"id_TgtAbs", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "4", - "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:8759", "className":"Simulink.Outport", @@ -356,132 +276,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8757", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_sin", - "label":"r_sin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "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:8756", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8753", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"toNegative", - "label":"toNegative", + "name":"r_fieldWeak_XA", + "label":"r_fieldWeak_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "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)", - "[]", - "[]", - "fixdt(1,16,4)", + "Explicit values", + "Dialog", + "r_fieldWeak_XA", + "Index and fraction", + "Evenly spaced points", + "Clip", "off", - "Zero", + "None", "off", + "Inherit: Same as input", "[]", "[]", - "Inherit: Same as input", + "uint8", + "fixdt(0,8,7)", + "off", + "Simplest", + "on", + "", + "10", + "11", + "10", + "Inherit: auto", "-1" ], "tabs":[ "Main", - "Signal Attributes", - "Parameter Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 9, + 16 ] }, "viewer":{ @@ -490,7 +350,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"PreLookup", "masktype":"" } }, @@ -576,11 +436,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752", "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"r_cos_M1", - "label":"r_cos_M1", + "name":"id_fieldWeak_M1", + "label":"id_fieldWeak_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -614,19 +474,19 @@ "off", "Explicit values", "Dialog", - "r_cos_M1", - "Flat", + "id_fieldWeak_M1", + "Linear", "Error", - "on", + "off", "0", "on", "Inherit: Same as output", "[]", "[]", - "fixdt(1,16,14)", + "fixdt(1,16,4)", "[]", "[]", - "Speed", + "Precision", "off", "Simplest", "off", @@ -657,122 +517,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8753", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9650", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"r_fieldWeak_XA", - "label":"r_fieldWeak_XA", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", - "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" - ], - "values":[ - "Explicit values", - "Dialog", - "r_fieldWeak_XA", - "Index and fraction", - "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: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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "id_TgtAbs", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -780,7 +545,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, @@ -825,7 +590,7 @@ "Evenly spaced points", "Clip", "off", - "Error", + "None", "off", "Inherit: Same as input", "[]", @@ -864,51 +629,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8747", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9649", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "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" + "id_Tgt", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -916,80 +657,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9638", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"id_fieldWeak_M1", - "label":"id_fieldWeak_M1", + "name":"Goto12", + "label":"Goto12", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "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" + "n_motAbs", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Types", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 10, - 20 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -997,16 +690,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9639", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9646", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1015,7 +708,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "r_cos", "local", "Tag" ], @@ -1035,27 +728,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9650", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_TgtAbs", - "local", - "Tag" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1063,16 +772,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8760", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_cos", - "label":"r_cos", + "name":"id_TgtAbs", + "label":"id_TgtAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1101,7 +810,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -1148,21 +857,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9646", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9653", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", - "local", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -1176,7 +883,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -1230,11 +937,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9648", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1242,7 +949,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -1261,19 +968,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9653", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9652", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtSca", + "local", "Tag" ], "tabs":[ @@ -1287,24 +996,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9647", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9639", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_Tgt", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -1318,16 +1029,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9647", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1335,7 +1046,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "id_Tgt", "Tag" ], "tabs":[ @@ -1354,21 +1065,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9652", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9641", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "n_motAbs", "Tag" ], "tabs":[ @@ -1382,16 +1091,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9648", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1399,7 +1108,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1418,32 +1127,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8750", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9657", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"a_elecPeriod3", - "label":"a_elecPeriod3", + "name":"n_fieldWeakAuth", + "label":"n_fieldWeakAuth", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "SampleTime", + "ZeroCross" ], "values":[ + "n_fieldWeakAuthHi", + "n_fieldWeakAuthLo", + "1", "0", - "on", - "inf", + "Elements as channels (sample based)", "[]", "[]", - "uint8", + "boolean", "off", - "inf" + "-1", + "on" ], "tabs":[ "Main", @@ -1452,8 +1167,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 5, + 9 ] }, "viewer":{ @@ -1462,24 +1177,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9641", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9644", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", + "r_sin", + "local", "Tag" ], "tabs":[ @@ -1493,30 +1210,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"r_cos", + "label":"r_cos", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "a_elecAngle", - "Tag" + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1524,32 +1290,243 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9638", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8747", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "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: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: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: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":[ - "n_motAbs", - "local", - "Tag" + "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":[ - "Parameter Attributes" + "Main", + "Data Types", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 10, + 20 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1557,16 +1534,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Interpolation_n-D", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9651", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1589,7 +1566,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -1629,11 +1606,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745", + "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:9651", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1656,7 +1664,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -1696,54 +1704,19 @@ } }, { - "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:9644", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_sin", - "local", "Tag" ], "tabs":[ @@ -1757,43 +1730,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9657", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8750", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_fieldWeakAuth", - "label":"n_fieldWeakAuth", + "name":"a_elecPeriod3", + "label":"a_elecPeriod3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "SampleTime", - "ZeroCross" + "FramePeriod" ], "values":[ - "n_fieldWeakAuthHi", - "n_fieldWeakAuthLo", - "1", "0", - "Elements as channels (sample based)", + "on", + "inf", "[]", "[]", - "boolean", + "uint8", "off", - "-1", - "on" + "inf" ], "tabs":[ "Main", @@ -1802,8 +1769,8 @@ ], "tabs_idx":[ 0, - 5, - 9 + 3, + 7 ] }, "viewer":{ @@ -1812,16 +1779,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8757", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"r_sin", + "label":"r_sin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -1837,11 +1804,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "1", @@ -1856,10 +1829,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1879,45 +1859,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9654", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "Inherit: auto", "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ @@ -1926,7 +1926,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Inport", "masktype":"" } }, 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 2118a1bf89c14f9df32d77186a2ff9e5c297f97f..6df332fba636126a109448d6457b2c0d52c7810e 100644 GIT binary patch literal 9571 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 - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - id_TgtAbs - - - - - - - - @@ -155,11 +107,11 @@ - + - + 3 @@ -177,11 +129,11 @@ - + - + id_Tgt @@ -193,366 +145,276 @@ - - - + + + - - + + - + - - + + - - 1 - - - - - - - - - - - - - - + + - - + + - - r_sin + + - - - - - - - - - - - - - - - - - - - + - - -1 - - - - - - - - - - - - - - + + - + - - sfix16_En4 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + r_fieldWeak_XA + + + + + + + - - + + - - + + ufix8_En7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - + - - + + uint8 + + + + + + + + + + + + + + + + + + - - + + - - + + @@ -560,7 +422,7 @@ - + @@ -568,7 +430,7 @@ - + @@ -576,7 +438,7 @@ - + @@ -584,435 +446,491 @@ - + - + - - 1-D T(k,f) + + - + - - k1 + + - + - - f1 - - - - - - - - - - - - - - + + - + - - r_sin_M1 - - - - - - - + + - + - - sfix16_En14 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + 1-D T(k,f) - + - - + + k1 - + - - + + f1 + + + + + + + + + + + + + + - + - - + + r_sin_M1 - - - - - - - + + + + + + - - + + - - + + sfix16_En14 + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 1-D T(k,f) - + - + k1 - + - + f1 - + - - + + - - + + - - r_cos_M1 + + id_fieldWeak_M1 - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -1023,101 +941,62 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + [id_TgtAbs] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + @@ -1125,23 +1004,23 @@ - - + + - - + + - + @@ -1149,7 +1028,7 @@ - + @@ -1157,7 +1036,7 @@ - + @@ -1165,7 +1044,7 @@ - + @@ -1173,7 +1052,7 @@ - + @@ -1181,25 +1060,9 @@ - + - - - - - - - - - - - - - - - - @@ -1212,53 +1075,137 @@ - + - - + + - - + + - - r_fieldWeak_XA + + a_elecAngle_XA - - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + - + - - ufix8_En6 + + [id_Tgt] - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - uint8 + + [r_cos] + + + + + + + @@ -1279,11 +1226,11 @@ - + - + 0 @@ -1301,11 +1248,11 @@ - + - + sfix16_En4 @@ -1317,139 +1264,92 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 4 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + id_TgtAbs - - + + + + + + + + + - - - + + - - - + + + + + + + + [r_inpTgtSca] - - - - - - - - - - - a_elecAngle_XA + + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1460,187 +1360,268 @@ - - - + + + - - + + - - + + - - + + b_fieldWeakEna - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + b_fieldWeakEna - - - - - - - + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + [id_TgtAbs] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [r_inpTgtSca] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [a_elecAngle] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [id_Tgt] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - T + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - F + + [n_motAbs] - - + + - + - - + + - + sfix16_En4 @@ -1652,212 +1633,155 @@ - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [a_elecAngle] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En6 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1-D T(k,f) + + - - + + - - k1 + + - - + + - - f1 + + + + + + + + + + - - + + - - + + - - + + - - id_fieldWeak_M1 + + n_fieldWeakAuth - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - [a_elecAngle] - - - - - - - + + boolean @@ -1868,28 +1792,28 @@ - - + + - + - + - - [id_TgtAbs] + + [r_sin] - + @@ -1911,11 +1835,11 @@ - + - + 2 @@ -1933,11 +1857,11 @@ - + - + r_cos @@ -1949,140 +1873,188 @@ - - - + + + - - + + - - + + - - [r_cos] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - b_fieldWeakEna + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - b_fieldWeakEna + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - [r_cos] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -2093,43 +2065,75 @@ - - - + + + - - + + - + - - + + - - [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -2141,43 +2145,43 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + -1 - - + + - + - - + + - + sfix16_En4 @@ -2189,221 +2193,363 @@ - - - + + + - - + + - - + + - - [r_sin] + + - - - - - - + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En14 + + - - - - - - - - - - - - - - - - - - - - + + - - [r_inpTgtSca] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [id_TgtAbs] - - - - - - - + + - - - - - - + + + + + + + 1-D T(k,f) - - + + - - sfix16_En4 + + k1 - - - - - - - - - - - - - - - - - - - - + + - - 0 + + f1 - - + + - - - - - - - - - - - uint8 + + + - - - - - - - - - - - - - - - - - - - - + + - - [n_motAbs] - - - - - - - + + r_cos_M1 - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -2414,77 +2560,59 @@ - - - + + + - - + + - - + + - - [a_elecAngle] + + 3 - - + + - - - + + + - - + + - - ufix16_En6 + + n_motAbs - - - - - - - - - - - - - - - + + + + - - + + - - [n_motAbs] - - - - - - - + + sfix16_En4 @@ -2495,59 +2623,44 @@ - - - + + + - - + + - - + + - - 2 + + [r_cos] - - - - - - - - - - - - - - - - - r_inpTgtSca + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -2558,58 +2671,58 @@ - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - n_motAbs + + r_inpTgtSca - + - - + + - + sfix16_En4 @@ -2621,29 +2734,44 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [r_sin] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -2654,29 +2782,44 @@ - - - + + + - - + + - - + + - - [r_sin] + + 0 - - + + + + + + + + + + + + + + + + + uint8 @@ -2687,107 +2830,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 1 - - - - - - - - - - + + - - - - - - - - - - n_fieldWeakAuth - - - - - - - + + - - + + - - boolean + + r_sin @@ -2808,11 +2888,11 @@ - + - + 1 @@ -2830,11 +2910,11 @@ - + - + a_elecAngle @@ -2842,95 +2922,15 @@ - - - - - - - - - ufix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - sfix16_En4 + + sfix16_En6 @@ -3401,5 +3401,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json index 7f5c3f6..675b363 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 @@ -164,86 +164,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8882", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"V_phaB", - "label":"V_phaB", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8867", "className":"Simulink.Inport", @@ -315,8 +235,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8881", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"V_phaA", - "label":"V_phaA", + "name":"V_phaABC_FOC", + "label":"V_phaABC_FOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -392,63 +312,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8883", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"V_phaC", - "label":"V_phaC", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "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":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "rectangular", + "-+", "off", + "Inherit: Inherit via internal rule", "[]", + "[]", + "Inherit: Same as first input", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -458,7 +357,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -467,7 +366,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Sum", "masktype":"" } }, @@ -503,11 +402,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"MinMax2", + "label":"MinMax2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -525,7 +424,7 @@ ], "values":[ "Inherit: Inherit via internal rule", - "min", + "max", "on", "1", "off", @@ -700,7 +599,7 @@ "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,0)", + "Inherit: Same as input", "off", "Floor", "off", @@ -733,11 +632,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8879", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -757,7 +656,7 @@ ], "values":[ "rectangular", - "-+", + "--", "off", "Inherit: Inherit via internal rule", "[]", @@ -792,11 +691,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8879", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8869", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Add", + "label":"Add", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -816,14 +715,14 @@ ], "values":[ "rectangular", - "--", + "++", "off", "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as first input", + "Inherit: Inherit via internal rule", "off", - "Simplest", + "Floor", "on", "1", "All dimensions", @@ -850,92 +749,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", - "className":"Simulink.MinMax", - "icon":"WebViewIcon3", - "name":"MinMax2", - "label":"MinMax2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", - "Inputs", - "LockScale", - "OutMax", - "OutMin", - "RndMeth", - "SampleTime", - "SaturateOnIntegerOverflow", - "ZeroCross" - ], - "values":[ - "Inherit: Inherit via internal rule", - "max", - "on", - "1", - "off", - "[]", - "[]", - "Floor", - "-1", - "off", - "on" - ], - "tabs":[ - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"MinMax", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8871", - "className":"Simulink.Demux", - "icon":"WebViewIcon3", - "name":"Demux", - "label":"Demux", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "inspector":{ - "params":[ - "Outputs", - "DisplayOption", - "BusSelectionMode" - ], - "values":[ - "3", - "bar", - "off" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Demux", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8872", "className":"Simulink.Gain", @@ -1055,52 +868,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8869", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Add", - "label":"Add", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "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", + "on", + "1", + "off", "[]", "[]", - "Inherit: Inherit via internal rule", - "off", "Floor", - "on", - "1", - "All dimensions", - "-1" + "-1", + "off", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 1 ] }, "viewer":{ @@ -1109,7 +916,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"MinMax", "masktype":"" } }, @@ -1572,108 +1379,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8871#out:3", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "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:8871#out:2", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "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:8873#out:1", "className":"Simulink.Line", @@ -1725,57 +1430,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8871#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "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:8877#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 cdac7cd88dd2aed12f5a22101e03776ce29572c7..dad02851c01ed73283ca28a6becfd3b502a23f46 100644 GIT binary patch literal 4654 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 a`g-uN>uHTJBk%(Vq^+*^=)0Ot*#7|wu5>v7 delta 4085 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 - + - + @@ -19,7 +19,7 @@ - + @@ -38,7 +38,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -124,7 +124,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -152,54 +152,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - V_phaB - - - - - - - - @@ -212,11 +164,11 @@ - + - + 1 @@ -234,11 +186,11 @@ - - + + - + V_alpha @@ -249,11 +201,11 @@ - - + + - + sfix16_En4 @@ -266,43 +218,43 @@ - + - + - + - + 1 - + - - + + - - + + - - V_phaA + + V_phaABC_FOC @@ -313,44 +265,60 @@ - - - + + + - - + + - - + + + + + + + + + + + + + + + + + + - - 3 + + - - + + - - - + + + - - + + - - V_phaC + + sfix16_En4 @@ -371,11 +339,11 @@ - + - + @@ -393,11 +361,11 @@ - - + + - + sfix16_En4 @@ -409,30 +377,30 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -446,22 +414,22 @@ - - + + - + - - + + - + sfix16_En4 @@ -483,11 +451,11 @@ - + - + 1/2 @@ -505,11 +473,11 @@ - - + + - + sfix16_En4 @@ -531,11 +499,11 @@ - + - + 0.5 @@ -553,11 +521,11 @@ - - + + - + sfix16_En4 @@ -579,11 +547,11 @@ - + - + 2/sqrt(3) @@ -598,78 +566,14 @@ - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + sfix16_En4 @@ -691,19 +595,19 @@ - + - + - + - + @@ -721,11 +625,11 @@ - - + + - + sfix16_En4 @@ -737,138 +641,68 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - int16 + + - - + + - - + + - - int16 + + sfix16_En4 @@ -889,11 +723,11 @@ - + - + sqrt(3)/2 @@ -911,11 +745,11 @@ - - + + - + sfix16_En4 @@ -937,27 +771,27 @@ - + - + - + - + - + - + @@ -975,11 +809,11 @@ - - + + - + sfix16_En4 @@ -991,67 +825,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1147,11 +973,11 @@ - - + + - + alpha @@ -1215,11 +1041,11 @@ - - + + - + beta @@ -1269,34 +1095,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1311,20 +1109,6 @@ - - - - - - - - - - - - - - @@ -1396,11 +1180,11 @@ - + - + @@ -1409,5 +1193,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json index 0d581f8..1465af5 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 @@ -595,44 +595,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vd", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8903", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -641,7 +608,7 @@ "IconDisplay" ], "values":[ - "Vq", + "r_cos", "local", "Tag" ], @@ -694,19 +661,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":[ @@ -720,7 +689,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -756,11 +725,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -768,7 +737,7 @@ "IconDisplay" ], "values":[ - "Vq", + "r_cos", "Tag" ], "tabs":[ @@ -787,11 +756,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -799,7 +768,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "Vq", "Tag" ], "tabs":[ @@ -818,11 +787,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -830,7 +799,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "r_sin", "Tag" ], "tabs":[ @@ -849,19 +818,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", + "Vd", + "local", "Tag" ], "tabs":[ @@ -875,26 +846,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_cos", - "local", "Tag" ], "tabs":[ @@ -908,30 +877,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8894", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Vq", - "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" @@ -939,16 +934,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8891", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1058,11 +1053,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1070,7 +1065,7 @@ "IconDisplay" ], "values":[ - "Vd", + "Vq", "Tag" ], "tabs":[ @@ -1089,11 +1084,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8891", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1146,51 +1141,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8894", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "Vd", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1198,7 +1167,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg index 1125780..6c70128 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg @@ -548,11 +548,11 @@ - - + + - + @@ -562,14 +562,14 @@ - - [Vd] + + [r_cos] - + @@ -581,11 +581,11 @@ - - + + - + @@ -595,14 +595,14 @@ - - [Vq] + + [r_sin] - + @@ -614,11 +614,11 @@ - - + + - + @@ -628,14 +628,14 @@ - - [r_sin] + + [Vq] - + @@ -647,11 +647,11 @@ - - + + - + @@ -661,30 +661,30 @@ - - [Vd] + + [r_sin] - + - - + + - + - - sfix16_En4 + + sfix16_En14 @@ -695,11 +695,11 @@ - - + + - + @@ -709,29 +709,29 @@ - - [r_sin] + + [r_cos] - + - + - + - + sfix16_En14 @@ -743,11 +743,11 @@ - - + + - + @@ -757,29 +757,29 @@ - + [Vq] - + - + - + - + sfix16_En4 @@ -791,11 +791,11 @@ - - + + - + @@ -805,29 +805,29 @@ - - [r_cos] + + [r_sin] - + - + - + - + sfix16_En14 @@ -839,44 +839,29 @@ - - - + + + - - + + - + - - [r_cos] + + [Vd] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -887,43 +872,43 @@ - - + + - + - + - - [r_sin] + + [r_cos] - + - + - - + + - + sfix16_En14 @@ -935,76 +920,51 @@ - - - + + + - - + + - - + + - - [r_cos] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [Vq] + + - - + + - + - - + + - + sfix16_En4 @@ -1016,51 +976,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -1082,19 +1042,19 @@ - + - + - + - + @@ -1112,11 +1072,11 @@ - + - + sfix16_En4 @@ -1128,43 +1088,43 @@ - - + + - + - + - - [Vd] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -1176,51 +1136,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -1232,51 +1192,91 @@ - - - + + + - - + + - - + + - - + + [Vd] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - - + + [Vd] - - + + - + - + - + sfix16_En4 @@ -1540,5 +1540,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json index 6baee2f..363d6ba 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 @@ -325,11 +325,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 +358,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "8", "Port number", "[]", "[]", @@ -371,7 +371,7 @@ "auto", "off", "off", - "V_max", + "V_min", "off", "reset", "off", @@ -405,11 +405,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -438,7 +438,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -451,7 +451,7 @@ "auto", "off", "off", - "V_max", + "V_min", "off", "reset", "off", @@ -485,73 +485,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"iq_maxSca_XA", + "label":"iq_maxSca_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", + "SampleTime" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "Explicit values", + "Dialog", + "iq_maxSca_XA", + "Index only", + "Evenly spaced points", + "Clip", "off", - "V_min", + "Error", "off", - "reset", + "Inherit: Same as input", + "[]", + "[]", + "uint8", + "fixdt(0,8,6)", "off", - "0", + "Simplest", + "on", "", - [ - ], - "Dialog", - "Auto", - "off" + "10", + "11", + "10", + "Inherit: auto", + "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 9, + 16 ] }, "viewer":{ @@ -560,7 +559,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"PreLookup", "masktype":"" } }, @@ -614,72 +613,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"iq_maxSca_XA", - "label":"iq_maxSca_XA", + "name":"a_elecPeriod2", + "label":"a_elecPeriod2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" + "FramePeriod" ], "values":[ - "Explicit values", - "Dialog", - "iq_maxSca_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "Error", - "off", - "Inherit: Same as input", + "0", + "on", + "inf", "[]", "[]", "uint8", - "fixdt(0,8,6)", "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:9000", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" + "inf", + "[]", + "[]", + "uint8", + "off", + "inf" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 9, - 16 + 3, + 7 ] }, "viewer":{ @@ -688,16 +706,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"iq_maxSca_M1", - "label":"iq_maxSca_M1", + "name":"Vq_max_M1", + "label":"Vq_max_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -731,7 +749,7 @@ "off", "Explicit values", "Dialog", - "iq_maxSca_M1", + "Vq_max_M1", "Flat", "Error", "on", @@ -740,7 +758,7 @@ "Inherit: Same as output", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(1,16,4)", "[]", "[]", "Speed", @@ -774,268 +792,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9000", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "uint8", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", - "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:8997", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"Vd_max1", - "label":"Vd_max1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "Vd_max", - "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Speed_Limit_Protection", - "label":"Speed_Limit_Protection", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Speed_Limit_Protection", + "label":"Speed_Limit_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1077,147 +838,53 @@ "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:8986", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "i_max", + "All", + "off", "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", + "", + "", "off", - "inf" + "", + "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", - "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":"" } }, @@ -1312,105 +979,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod2", - "label":"a_elecPeriod2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "uint8", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1449,11 +1022,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"Vq_max_M1", - "label":"Vq_max_M1", + "name":"iq_maxSca_M1", + "label":"iq_maxSca_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1487,7 +1060,7 @@ "off", "Explicit values", "Dialog", - "Vq_max_M1", + "iq_maxSca_M1", "Flat", "Error", "on", @@ -1496,7 +1069,7 @@ "Inherit: Same as output", "[]", "[]", - "fixdt(1,16,4)", + "fixdt(0,16,16)", "[]", "[]", "Speed", @@ -1530,11 +1103,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1543,7 +1116,7 @@ "IconDisplay" ], "values":[ - "iq", + "id_TgtAbs", "local", "Tag" ], @@ -1563,11 +1136,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1576,7 +1149,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "z_ctrlMod", "local", "Tag" ], @@ -1596,11 +1169,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1609,7 +1182,7 @@ "IconDisplay" ], "values":[ - "id_max", + "iq_min", "local", "Tag" ], @@ -1629,11 +1202,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1642,7 +1215,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "n_mot", "local", "Tag" ], @@ -1662,11 +1235,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1675,7 +1248,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "n_max", "local", "Tag" ], @@ -1728,11 +1301,77 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1741,7 +1380,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vd_max", "local", "Tag" ], @@ -1761,11 +1400,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1774,7 +1413,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "iq_limProt", "local", "Tag" ], @@ -1794,53 +1433,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8966", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Gain6", - "label":"Gain6", + "name":"Goto13", + "label":"Goto13", "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" + "n_limProt", + "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" @@ -1848,56 +1461,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Gain5", - "label":"Gain5", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "-1", - "Element-wise(K.*u)", + "3", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "V_max", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -1907,16 +1541,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8959", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"Gain5", + "label":"Gain5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1971,11 +1605,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2004,7 +1638,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "9", + "6", "Port number", "[]", "[]", @@ -2050,37 +1684,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8957", "className":"Simulink.Gain", @@ -2141,11 +1744,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"i_max", + "label":"i_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "i_max", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8955", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2153,7 +1805,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "iq_min", "Tag" ], "tabs":[ @@ -2172,11 +1824,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8954", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2184,7 +1836,7 @@ "IconDisplay" ], "values":[ - "id_max", + "iq_max", "Tag" ], "tabs":[ @@ -2203,19 +1855,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", + "iq_max", + "local", "Tag" ], "tabs":[ @@ -2229,16 +1883,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2246,7 +1900,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -2265,21 +1919,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8966", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_limProt", - "local", + "id_max", "Tag" ], "tabs":[ @@ -2293,30 +1945,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"Vq_min", + "label":"Vq_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":[ - "n_limProt", - "Tag" + "4", + "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" @@ -2324,16 +2025,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2341,7 +2042,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "Vd_min", "Tag" ], "tabs":[ @@ -2391,25 +2092,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8986", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "n_min", - "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" @@ -2417,16 +2132,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2434,7 +2149,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "n_limProt", "Tag" ], "tabs":[ @@ -2453,19 +2168,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8955", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_min", + "id_min", + "local", "Tag" ], "tabs":[ @@ -2479,16 +2196,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2496,7 +2213,7 @@ "IconDisplay" ], "values":[ - "iq", + "n_min", "Tag" ], "tabs":[ @@ -2515,11 +2232,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2527,7 +2244,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "n_mot", "Tag" ], "tabs":[ @@ -2546,25 +2263,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "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":[ - "Vq_max", - "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" @@ -2572,26 +2317,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_min", - "local", + "iq_limProt", "Tag" ], "tabs":[ @@ -2605,16 +2348,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2622,7 +2365,7 @@ "IconDisplay" ], "values":[ - "Vd", + "iq", "Tag" ], "tabs":[ @@ -2641,11 +2384,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "icon":"WebViewIcon3", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2654,7 +2397,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vq_max", "local", "Tag" ], @@ -2674,74 +2417,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "Vd", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2749,55 +2443,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9732", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"Vq_max_XA", + "label":"Vq_max_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", "SampleTime" ], "values":[ - "*/", - "Element-wise(.*)", + "Explicit values", + "Dialog", + "Vq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", + "off", + "Error", "off", + "Inherit: Same as input", "[]", "[]", - "fixdt(0,16,16)", + "uint8", + "fixdt(0,8,6)", "off", "Simplest", "on", - "1", - "All dimensions", + "", + "10", + "11", + "10", + "Inherit: auto", "-1" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 2, - 9 + 9, + 16 ] }, "viewer":{ @@ -2806,56 +2522,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"PreLookup", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9733", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "Vd_min", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2863,16 +2555,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2881,7 +2573,7 @@ "IconDisplay" ], "values":[ - "n_min", + "iq", "local", "Tag" ], @@ -2901,11 +2593,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Gain1", - "label":"Gain1", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2923,31 +2615,64 @@ "SampleTime" ], "values":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "-1", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Same as input", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Gain", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2955,37 +2680,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9012", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"CTRL_COMM3", - "label":"CTRL_COMM3", + "name":"iq_max", + "label":"iq_max", "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":[ - "TRQ_MODE", - "on", - "inf", + "7", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_max", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -2994,8 +2750,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -3004,7 +2760,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, @@ -3106,25 +2862,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8954", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Vd_max", + "label":"Vd_max", "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":[ - "iq_max", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "V_max", + "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" @@ -3132,16 +2937,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3149,7 +2954,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -3168,25 +2973,92 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"CTRL_COMM3", + "label":"CTRL_COMM3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "Vd_min", - "Tag" + "TRQ_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Vd_max1", + "label":"Vd_max1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "Vd_max", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3194,16 +3066,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8918", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3219,11 +3091,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "5", @@ -3238,10 +3116,17 @@ "-1", "auto", "off", - "", - "on", "off", + "V_max", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -3261,45 +3146,104 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "FramePeriod" ], "values":[ + "VLT_MODE", + "on", + "inf", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "Zero", + "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:9732", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide4", + "label":"Divide4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "*/", + "Element-wise(.*)", "off", - "-1", - "on" + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 9 ] }, "viewer":{ @@ -3308,32 +3252,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "iq_min", - "local", - "Tag" + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3341,7 +3295,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, @@ -3394,6 +3348,68 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8945", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From19", + "label":"From19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", "className":"Simulink.Inport", @@ -3462,27 +3478,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8936", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "Vd", - "local", - "Tag" + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3490,16 +3551,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3528,7 +3589,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "9", "Port number", "[]", "[]", @@ -3575,50 +3636,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8916", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8921", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"id_TgtAbs", - "label":"id_TgtAbs", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "3", - "Port number", + "SPD_MODE", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -3627,8 +3670,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -3637,32 +3680,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "n_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" @@ -3670,26 +3725,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_max", - "local", + "id_min", "Tag" ], "tabs":[ @@ -3703,16 +3756,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "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":[ @@ -3720,7 +3773,7 @@ "IconDisplay" ], "values":[ - "n_max", + "iq_min", "Tag" ], "tabs":[ @@ -3739,78 +3792,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"Vd", - "label":"Vd", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "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:8936", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3818,7 +3804,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "Vd_max", "Tag" ], "tabs":[ @@ -3837,11 +3823,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"Vd", + "label":"Vd", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3857,20 +3843,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "6", + "2", "Port number", "[]", "[]", @@ -3882,17 +3862,10 @@ "-1", "auto", "off", + "", + "on", "off", - "V_min", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -3912,37 +3885,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8916", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"id_TgtAbs", + "label":"id_TgtAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "VLT_MODE", - "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", @@ -3951,8 +3942,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -3961,68 +3952,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9733", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "3", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", + "fixdt(1,16,4)", "off", - "reset", + "Simplest", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -4032,7 +4000,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -4041,26 +4009,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq_limProt", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -4074,7 +4040,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -4146,42 +4112,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8921", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"Gain1", + "label":"Gain1", "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":[ - "SPD_MODE", - "on", - "inf", + "-1", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: Inherit via back propagation", + "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":{ @@ -4190,41 +4166,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8918", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", - "u1 ~= 0", - "", + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 4 + 2, + 11 ] }, "viewer":{ @@ -4233,16 +4233,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8980", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8981", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4283,11 +4283,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8981", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8980", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png index 2e5bbe39c87c7fb2a9df8be0d2488327906cabe9..4a867d2099f781636eca47a257b5ede6023cdab9 100644 GIT binary patch delta 13611 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 - - + + - + @@ -306,30 +306,30 @@ - - 7 + + 8 - + - - + + - + - - iq_max + + iq_min @@ -340,11 +340,11 @@ - - + + - + @@ -354,126 +354,30 @@ - - 5 - - - - - - - - - - - - - - - - - - - - - - id_max - - - - - - - - - - - - - - - - - - - - - - - - - - 4 + + 2 - + - + - - - - - - Vq_min - - - - - - - - - - - - - - - - - - - - - - - - - - n_max - - - - - - - - - - - - - - - - - - + + - - sfix16_En4 + + Vd_min @@ -486,7 +390,7 @@ - + @@ -494,83 +398,83 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -596,11 +500,11 @@ - + - + iq_maxSca_XA @@ -611,11 +515,11 @@ - + - + uint8 @@ -627,363 +531,507 @@ - - - + + + - - + + - - + + - - + + n_max - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + 0 - - - - - - - + + + + + + + + + + + + + - - + + - - + + uint8 + + + + + + + + + + + + + + + + + + - - + + - - + + 0 - - - + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + - + 1-D T(k,f) - + - + k1 - + - + f1 - + - - + + - - + + - - iq_maxSca_M1 + + Vq_max_M1 - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -994,142 +1042,184 @@ - - - + + + - - + + + + + + + + - - + + - - 0 + + n_mot - - - - - - + + + + + + + n_max - - - - - - + + + + + + + n_min - - + + - - uint8 + + n_limProt + + + + + + + + if { } - - - - - - - - - - - - - - - + - - - + + + + - - + + + + + + - - - + + + + - - + + - - + + - - + + Speed_Limit_Protection + + + + - - - + + + + - - + + - - + + - - + + action + + + + - - - + + + + - - + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -1143,38 +1233,23 @@ - - - - - - - - - - - - - - - - - Vq_max_XA + + - - + + - - + + - - uint8 + + boolean @@ -1185,44 +1260,68 @@ - - - + + + - - + + - + - - + + - - Vd_max + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -1233,44 +1332,52 @@ - - - + + + - - + + - - + + - - 2 + + u1 + + + + + + + + if(u1 ~= 0) - - + + - - - + + + - - + + - - Vd_min + + action @@ -1281,478 +1388,363 @@ - - - + + + - - - - - - - - + + - - + + - - n_mot + + - - + + - - n_max + + - - + + - - n_min + + - - + + - - n_limProt + + - - + + - - if { } + + - - - - - - - - + + + - - + + - - - - - - - - + + + - - + + - - + + - - Speed_Limit_Protection + + - - - - - - - - + + + - - + + - - + + - - sfix16_En4 + + - - - - - - - - + + + - - + + - - + + - - action + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - i_max - - - - - - - - - - - - - - + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 - - - - - + + + + - - - + + + + + + + + + + + iq_maxSca_M1 - - + + - - + + - - boolean + + ufix16_En16 @@ -1763,44 +1755,29 @@ - - - + + + - - + + - - + + - - 0 + + [id_TgtAbs] - - - - - - - - - - - - - - - - - uint8 + + @@ -1811,52 +1788,62 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [z_ctrlMod] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - action + + [iq_min] + + + + + + + @@ -1867,363 +1854,260 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [n_mot] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [n_max] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vq_min] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [n_min] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vd] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - 1-D T(k,f) + + [Vd_max] - - - - - - - k1 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - f1 + + [iq_limProt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - Vq_max_M1 + + [n_limProt] - - - - - - - - - - - sfix16_En4 + + + @@ -2234,29 +2118,44 @@ - - - + + + - - + + - - + + - - [iq] + + 3 - - + + + + + + + + + + + + + + + + + Vq_max @@ -2267,62 +2166,44 @@ - - - + + + - - + + - - + + - - [iq_max] + + -1 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [id_max] - - - - - - - + + sfix16_En4 @@ -2333,29 +2214,44 @@ - - - + + + - - + + - - + + - - [Vd_min] + + 6 - - + + + + + + + + + + + + + + + + + id_min @@ -2366,29 +2262,44 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] + + -1 - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2399,29 +2310,44 @@ - - - + + + - - + + - - + + - - [Vq_min] + + i_max - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2432,29 +2358,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [iq_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2465,29 +2406,44 @@ - - - + + + - - + + - - + + - - [Vd_max] + + [iq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2498,44 +2454,29 @@ - - - + + + - - + + - - + + - - -1 + + [iq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2546,43 +2487,43 @@ - - - + + + - - + + - - + + - - -1 + + [id_TgtAbs] - - + + - + - - + + - + sfix16_En4 @@ -2594,43 +2535,43 @@ - - - + + + - - + + - - + + - - -1 + + [id_max] - - + + - + - - + + - + sfix16_En4 @@ -2642,44 +2583,44 @@ - - + + - + - + - - 9 + + 4 - + - - + + - - + + - - iq_limProt + + Vq_min @@ -2690,43 +2631,43 @@ - - + + - + - + - - [id_min] + + [Vd_min] - + - + - - + + - + sfix16_En4 @@ -2738,44 +2679,44 @@ - - - + + + - - + + - - + + - - -1 + + [z_ctrlMod] - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2786,44 +2727,68 @@ - - - + + + - - + + - + - - + + - - [id_TgtAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -2834,43 +2799,43 @@ - - + + - + - + - - [id_max] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -2882,44 +2847,29 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [id_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2930,43 +2880,43 @@ - - + + - + - + - - [Vd_max] + + [n_min] - + - + - - + + - + sfix16_En4 @@ -2978,29 +2928,44 @@ - - - + + + - - + + - - + + - - [n_limProt] + + [n_mot] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3010,44 +2975,44 @@ - - - - + + + + - - + + - - + + - - [n_limProt] + + -1 - - + + - + - - + + - + sfix16_En4 @@ -3059,44 +3024,44 @@ - - + + - + - + - - [z_ctrlMod] + + [iq_limProt] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3107,44 +3072,44 @@ - - + + - + - + - - [z_ctrlMod] + + [iq] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3155,44 +3120,29 @@ - - - + + + - - + + - - + + - - [n_min] + + [Vq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3203,43 +3153,43 @@ - - + + - + - + - - [n_mot] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -3251,44 +3201,139 @@ - - - + + + - - + + - + - - + + - - [iq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Vq_max_XA - - + + - - + + - - sfix16_En4 + + uint8 @@ -3299,44 +3344,29 @@ - - - + + + - - + + - - + + - - [iq] + + [Vd_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3347,44 +3377,29 @@ - - - + + + - - + + - - + + - - [iq_min] + + [iq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3395,43 +3410,43 @@ - - - + + + - - + + - - + + - - [Vq_max] + + -1 - - + + - + - - + + - + sfix16_En4 @@ -3443,28 +3458,28 @@ - - + + - + - + - - [id_min] + + [id_max] - + @@ -3476,44 +3491,44 @@ - - - + + + - - + + - - + + - - [Vd] + + 7 - - + + - - - + + + - - + + - - sfix16_En4 + + iq_max @@ -3524,29 +3539,136 @@ - - - + + + - - + + + + + + + + - - + + - - [id_TgtAbs] + + iq + + + + + + + + iq_max + + + + + + + + iq_min + + + + + + + + iq_limProt + + + + + + + + if { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Current_Limit_Protection + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3558,6 +3680,12 @@ + + + + + + @@ -3567,11 +3695,11 @@ - + - + 1 @@ -3589,11 +3717,11 @@ - + - + Vd_max @@ -3605,69 +3733,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + [z_ctrlMod] - - + + - - + + - - + + - - ufix16_En16 + + uint8 @@ -3678,52 +3781,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + TRQ_MODE - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -3734,29 +3829,44 @@ - - - + + + - - + + - - + + - - [n_min] + + Vd_max - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3767,44 +3877,44 @@ - - - + + + - - + + - - + + - - -1 + + 5 - - + + - - - + + + - - + + - - sfix16_En4 + + id_max @@ -3815,43 +3925,43 @@ - - + + - + - + - - TRQ_MODE + + VLT_MODE - + - + - - + + - + uint8 @@ -3863,136 +3973,125 @@ - - - + + + - - - - - - - - + + - - - - - - iq - - - - + + - - iq_max + + - - + + - - iq_min + + - - + + - - iq_limProt + + - - + + - - if { } + + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - Current_Limit_Protection + + ufix16_En16 - + + + + + + + + + + + + + + + - - - - + + + - - + + u1 - - + + - - action + + if(u1 ~= 0) + + + + + + + - - - - - - - - + + - - + + - - sfix16_En4 + + action @@ -4003,50 +4102,44 @@ - - - - - - - - - + + + - - + + - - + + - - [iq_max] + + VLT_MODE - - + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4057,43 +4150,43 @@ - - + + - + - + - - [iq_limProt] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -4105,43 +4198,43 @@ - - + + - + - + - - [Vd_min] + + [n_max] - + - + - - + + - + sfix16_En4 @@ -4153,58 +4246,58 @@ - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - n_mot + + iq - + - - + + - + sfix16_En4 @@ -4216,75 +4309,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [iq_max] - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -4296,139 +4357,75 @@ - - - + + + - - + + - + - - + + - - [iq_min] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - VLT_MODE - - - - - - - - - - - - - - + + - - + + - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - 4 - - - - - - - + + - - - - - - - - - - - iq + + + + + + + + + + + - + - - + + - + sfix16_En4 @@ -4440,29 +4437,44 @@ - - - + + + - - + + - - + + - - [Vd] + + 9 - - + + + + + + + + + + + + + + + + + iq_limProt @@ -4473,44 +4485,44 @@ - - - + + + - - + + - - + + - - 8 + + SPD_MODE - - + + - - - + + + - - + + - - iq_min + + uint8 @@ -4521,59 +4533,68 @@ - - - + + + - - + + - + - - + + - - 3 + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - id_TgtAbs + + + + + + + - - + + - - + + - - sfix16_En4 + + boolean @@ -4584,62 +4605,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [id_min] - - + + - - - - - - - - - - - - - - - + + + + - + - - [n_max] - - - - - - - + + sfix16_En4 @@ -4650,11 +4653,11 @@ - - + + - + @@ -4664,29 +4667,29 @@ - - [n_max] + + [iq_min] - + - + - + - + sfix16_En4 @@ -4698,58 +4701,43 @@ - - - + + + - - + + - + - - 2 + + [Vd_max] - - - - - - - - - - - - - - - - - Vd + + - + - - + + - + sfix16_En4 @@ -4761,43 +4749,58 @@ - - - + + + - - + + - - + + - - [iq_max] + + 2 - - + + + + + + + + + + + + + + + + + Vd - + - + - + sfix16_En4 @@ -4809,11 +4812,11 @@ - - + + - + @@ -4823,30 +4826,45 @@ - - 6 + + 3 - + - - + + - + - - id_min + + id_TgtAbs + + + + + + + + + + + + + + + sfix16_En4 @@ -4857,44 +4875,52 @@ - - - + + + - - + + - - + + - - VLT_MODE + + + + + + + + + + - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4905,77 +4931,44 @@ - - - + + + - - + + - - + + - - 3 + + [Vq_max] - - + + - - - - - - - - - - - Vq_max + + + - - - - - - - - - - - - - - - - - - - + - - [iq_limProt] - - - - - - - + + sfix16_En4 @@ -5049,44 +5042,44 @@ - - - + + + - - + + - + - - SPD_MODE + + -1 - - + + - - + + - + - - uint8 + + sfix16_En4 @@ -5097,52 +5090,59 @@ - - - + + + - - + + - - - - - u1 - - - - + - - if(u1 ~= 0) + + 5 - - + + + + + + + + + + + + + + + + + n_mot - - + + - + - - action + + sfix16_En4 @@ -5153,11 +5153,11 @@ - - + + - + @@ -5167,7 +5167,7 @@ - + @@ -5175,7 +5175,7 @@ - + @@ -5185,43 +5185,43 @@ - - - - - - - - - - - - + - - + + - + boolean + + + + + + + + + + + - - + + - + @@ -5231,7 +5231,7 @@ - + @@ -5239,7 +5239,7 @@ - + @@ -5250,22 +5250,22 @@ - + - + - + boolean - + @@ -5529,13 +5529,13 @@ - + - + @@ -6245,5 +6245,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 d1b7f58..75809bc 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,84 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8933", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"iq_limProt", + "label":"iq_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8932", "className":"Simulink.Constant", @@ -107,6 +187,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8929", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide4", + "label":"Divide4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "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:8928", "className":"Simulink.ActionPort", @@ -139,11 +276,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8926", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8927", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "inspector":{ "params":[ @@ -166,7 +303,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -312,148 +449,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8929", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "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:8933", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":[ @@ -476,7 +476,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg index 0278bea..7ae14f7 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg @@ -10,6 +10,54 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + iq_limProt + + + + + + + @@ -23,11 +71,11 @@ - + - + cf_iqKpLimProt @@ -45,11 +93,11 @@ - + - + cf_iqKpLimProt @@ -60,11 +108,11 @@ - + - + ufix16_En8 @@ -86,27 +134,27 @@ - + - + - + - + - + - + @@ -124,11 +172,67 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -142,7 +246,7 @@ - + @@ -150,11 +254,11 @@ - + - + if { } @@ -172,11 +276,11 @@ - + - + Action Port @@ -188,58 +292,58 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - iq_max + + iq_min - + - - + + - + sfix16_En4 @@ -253,7 +357,7 @@ - + @@ -261,35 +365,35 @@ - + - + - + - + - + - + - + - + @@ -301,35 +405,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -347,11 +451,11 @@ - + - + sfix16_En4 @@ -373,11 +477,11 @@ - + - + 1 @@ -395,11 +499,11 @@ - + - + iq @@ -410,11 +514,11 @@ - + - + sfix16_En4 @@ -426,115 +530,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - iq_limProt - - - - - - - - - - - - + + - + @@ -544,44 +544,44 @@ - - 3 + + 2 - + - - + + - + - - iq_min + + iq_max - + - + - + sfix16_En4 @@ -711,5 +711,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg index d9522f0..2a5dd2f 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 @@ -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 089e87f..4d542c6 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 @@ -187,6 +187,45 @@ "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:8992", "className":"Simulink.Product", @@ -244,37 +283,6 @@ "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:8990", "className":"Simulink.Inport", @@ -342,45 +350,6 @@ "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:8989", "className":"Simulink.Inport", @@ -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.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg index 9221e8c..32ccd3e 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 @@ -188,51 +188,107 @@ - - - + + + - - + + - + - + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - + - - + + - + sfix16_En4 @@ -244,44 +300,52 @@ - - - + + + - - + + - - + + - - if { } + + + + + + + + + + - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -302,11 +366,11 @@ - + - + 3 @@ -324,11 +388,11 @@ - + - + n_min @@ -339,11 +403,11 @@ - + - + sfix16_En4 @@ -355,107 +419,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 2 - + + + + - - - - - - - - up - - - - - - - - u - - - - - - - - lo + + + - - + + - - y - - - - - - - + + n_max - + - - + + - + sfix16_En4 @@ -467,58 +482,58 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - n_max + + n_mot - + - - + + - + sfix16_En4 @@ -530,59 +545,44 @@ - - - + + + - - + + - - + + - - 1 + + if { } - - + + - - - - - - - - - - n_mot - - - - - - - + + - + - - sfix16_En4 + + 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 06277e4..46638bd 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 @@ -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_9029_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json index 4ab90af..840ba95 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 @@ -3,8 +3,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9044", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -422,35 +486,35 @@ - + - + - + - + - + - + - + - + @@ -468,11 +532,11 @@ - + - + sfix16_En4 @@ -494,11 +558,11 @@ - + - + [r_sin] @@ -527,11 +591,11 @@ - + - + [i_apha] @@ -550,44 +614,29 @@ - - - + + + - - + + - - + + - - [r_sin] + + [r_cos] - - - - - - - - - - - - - - - - - sfix16_En14 + + @@ -598,44 +647,44 @@ - - + + - + - + - - [i_beta] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -656,11 +705,11 @@ - + - + [r_cos] @@ -678,11 +727,11 @@ - + - + sfix16_En14 @@ -704,11 +753,11 @@ - + - + [i_apha] @@ -726,11 +775,11 @@ - + - + sfix16_En4 @@ -742,44 +791,44 @@ - - + + - + - + - - [i_beta] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -790,44 +839,44 @@ - - + + - + - + - - [r_cos] + + [i_apha] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -838,44 +887,52 @@ - - - + + + - - + + - - + + - - [r_sin] + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -886,43 +943,51 @@ - - - + + + - - + + - - + + - - [i_apha] + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -932,39 +997,6 @@ - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - @@ -977,19 +1009,19 @@ - + - + - + - + @@ -1007,11 +1039,11 @@ - + - + sfix16_En4 @@ -1023,29 +1055,44 @@ - - - + + + - - + + - - + + - - [i_beta] + + [r_cos] - - + + + + + + + + + + + + + + + + + sfix16_En14 @@ -1066,19 +1113,19 @@ - + - + - + - + @@ -1096,11 +1143,11 @@ - + - + sfix16_En4 @@ -1112,51 +1159,43 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [i_beta] - - + + - + - - + + - + sfix16_En4 @@ -1168,59 +1207,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + [i_beta] - - + + - + - - + + - + sfix16_En4 @@ -1232,52 +1255,29 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [i_beta] - - - - - - - - - - - - - - - - - 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 94bcc5c..08cc838 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 @@ -98,11 +98,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":[ @@ -116,12 +116,12 @@ "FramePeriod" ], "values":[ - "cf_nKi", - "off", + "cf_nKp", + "on", "inf", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(0,16,12)", "off", "inf" ], @@ -147,42 +147,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9106", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Vq_Spd", + "label":"Vq_Spd", "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", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -192,7 +213,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -201,7 +222,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_iqKiLimProt", + "label":"cf_iqKiLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKiLimProt", + "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":"" } }, @@ -464,11 +534,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_nKi", + "label":"cf_nKi", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_nKi", + "off", + "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:9088", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -476,7 +595,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -526,43 +645,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"cf_iqKiLimProt", - "label":"cf_iqKiLimProt", + "name":"From45", + "label":"From45", "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_min", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -570,89 +671,22 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "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", - "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:9083", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", @@ -699,74 +733,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9106", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9084", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Vq_Spd", - "label":"Vq_Spd", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "iq_limProt", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -774,55 +759,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"iq_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":[ - "5", - "Port number", + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via internal rule", "off", - "", + "Simplest", "on", - "off", - "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -832,7 +809,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -841,27 +818,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "iq_limProt", - "local", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -874,16 +849,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9084", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -891,7 +866,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_max", "Tag" ], "tabs":[ @@ -910,11 +885,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9078", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -937,7 +912,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -977,25 +952,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "reset", - "Only when execution is resumed" + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1003,7 +1014,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, @@ -1075,63 +1086,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "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:9105", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"cf_nKp", - "label":"cf_nKp", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "cf_nKp", - "on", - "inf", + "5", + "Port number", "[]", "[]", - "fixdt(0,16,12)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1140,8 +1138,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1150,38 +1148,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, @@ -1252,6 +1219,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto31", + "label":"Goto31", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_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:9087#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg index 31e0191..ba77d46 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 @@ -59,11 +59,11 @@ - - + + - + @@ -73,30 +73,30 @@ - - cf_nKi + + cf_nKp - + - + - + - - ufix16_En16 + + ufix16_En12 @@ -107,60 +107,107 @@ - - - + + + - - + + - + - - + + 1 + + + + + + + + + + + + + + - + - - + + Vq_Spd + + + + + + + + + + + + + + + + + + - - + + - - + + cf_iqKiLimProt - - + + + + + + + + + + + + + + + + + cf_iqKiLimProt - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -181,36 +228,20 @@ - + - + - - - - - - - - - - - - - - - - - + @@ -218,7 +249,7 @@ - + @@ -226,7 +257,7 @@ - + @@ -234,7 +265,7 @@ - + @@ -242,7 +273,7 @@ - + @@ -250,7 +281,7 @@ - + @@ -258,7 +289,7 @@ - + @@ -266,7 +297,7 @@ - + @@ -274,7 +305,7 @@ - + @@ -282,15 +313,15 @@ - + - + - - + + @@ -298,7 +329,7 @@ - + @@ -306,6 +337,22 @@ + + + + + + + + + + + + + + + + @@ -331,11 +378,11 @@ - + - + sfix16_En4 @@ -357,67 +404,67 @@ - + - + err - + - + P - + - + I - + - + satMax - + - + satMin - + - + ext_limProt - + - + out - + - + PI(z) @@ -435,11 +482,11 @@ - + - + PI_clamp_fixdt_n @@ -450,11 +497,11 @@ - + - + sfix16_En4 @@ -462,29 +509,29 @@ - + - + - + - + - + - + @@ -508,11 +555,11 @@ - + - + [n_mot] @@ -541,11 +588,11 @@ - + - + [Vq_min] @@ -574,11 +621,11 @@ - + - + [r_inpTgtSca] @@ -607,11 +654,11 @@ - + - + [Vq_max] @@ -630,43 +677,91 @@ - - + + + + + + + + + + + + + + + + cf_nKi + + + + + + + + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + - + - + - - [Vq_max] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -688,11 +783,11 @@ - + - + [n_mot] @@ -710,11 +805,11 @@ - + - + sfix16_En4 @@ -726,121 +821,43 @@ - - - + + + - - + + - - + + - - cf_iqKiLimProt + + [Vq_min] - - - - - - - - - - - - - - - - - cf_iqKiLimProt - - - - - - - - - - - - - - - ufix16_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - - - - - - n_mot + + - + - + - + sfix16_En4 @@ -908,44 +925,44 @@ - - - + + + - - + + - + - - 1 + + [iq_limProt] - - + + - - - + + + - + - - Vq_Spd + + sfix16_En4 @@ -956,58 +973,59 @@ - - - + + + - - + + - + - - 5 - - - - - - - - - - - - - - + + - + - - iq_limProt + + + + + + + + + + + + + + + + + - + - - + + - + sfix16_En4 @@ -1019,29 +1037,44 @@ - - - + + + - - + + - - + + - - [iq_limProt] + + case: { } - - + + + + + + + + + + + + + + + + + Action Port @@ -1052,43 +1085,43 @@ - - + + - + - + - - [iq_limProt] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -1100,58 +1133,58 @@ - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - Vq_min + + n_mot - + - - + + - + sfix16_En4 @@ -1163,44 +1196,59 @@ - - - + + + - - + + - - + + - - case: { } + + 3 - - + + - - + + - - + + - - Action Port + + Vq_min + + + + + + + + + + + + + + + sfix16_En4 @@ -1221,11 +1269,11 @@ - + - + 2 @@ -1243,11 +1291,11 @@ - + - + Vq_max @@ -1257,60 +1305,12 @@ - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - + - + sfix16_En4 @@ -1322,91 +1322,58 @@ - - - + + + - - + + - + - - cf_nKp + + 5 - - + + - - - + + + - - - - - ufix16_En12 - - - - - - - - - - - - - - - - - - - - - - + - - [Vq_min] - - - - - - - + + iq_limProt - + - - + + - + sfix16_En4 @@ -1428,11 +1395,11 @@ - + - + 1 @@ -1450,11 +1417,11 @@ - + - + r_inpTgtSca @@ -1465,11 +1432,11 @@ - + - + sfix16_En4 @@ -1479,6 +1446,39 @@ + + + + + + + + + + + + + + + + + + [iq_limProt] + + + + + + + + + + + + + + + @@ -1719,5 +1719,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 00bf9b2..69a5f0c 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 @@ -80,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9140", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"cf_iqKp", + "label":"cf_iqKp", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -98,12 +98,12 @@ "FramePeriod" ], "values":[ - "0", + "cf_iqKp", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(0,16,12)", "off", "inf" ], @@ -188,43 +188,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9134", + "className":"Simulink.SignalConversion", "icon":"WebViewIcon3", - "name":"cf_iqKi", - "label":"cf_iqKi", + "name":"Signal Conversion2", + "label":"Signal Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", + "ConversionOutput", "OutDataTypeStr", - "LockScale", - "FramePeriod" + "OverrideOpt" ], "values":[ - "cf_iqKi", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" + "Signal copy", + "Inherit: auto", + "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -232,7 +216,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"SignalConversion", "masktype":"" } }, @@ -402,11 +386,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9130", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -415,7 +399,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "iq", "local", "Tag" ], @@ -468,42 +452,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9130", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -512,7 +465,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_min", "local", "Tag" ], @@ -532,11 +485,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -544,7 +497,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -594,21 +547,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "iq_min", - "local", "Tag" ], "tabs":[ @@ -622,16 +573,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9740", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -639,7 +590,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "iq", "Tag" ], "tabs":[ @@ -724,6 +675,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9117", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", "className":"Simulink.Inport", @@ -792,20 +774,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9117", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9127", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "iq_max", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -818,26 +802,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9125", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "Vq_max", - "local", "Tag" ], "tabs":[ @@ -851,7 +833,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -923,56 +905,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "Vq_max", - "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" @@ -980,16 +967,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1012,7 +999,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -1111,11 +1098,78 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9127", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_max", + "label":"Vq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:9125", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1124,7 +1178,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "Vq_max", "local", "Tag" ], @@ -1144,11 +1198,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1156,7 +1210,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_min", "Tag" ], "tabs":[ @@ -1175,61 +1229,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "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" @@ -1237,7 +1257,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, @@ -1309,11 +1329,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_iqKp", - "label":"cf_iqKp", + "name":"cf_iqKi", + "label":"cf_iqKi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1327,12 +1347,12 @@ "FramePeriod" ], "values":[ - "cf_iqKp", + "cf_iqKi", "on", "inf", "[]", "[]", - "fixdt(0,16,12)", + "fixdt(0,16,16)", "off", "inf" ], @@ -1358,50 +1378,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9140", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "3", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -1410,8 +1412,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -1420,27 +1422,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9134", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9740", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "n_limProt", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1453,7 +1453,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"From", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg index b9d5852..eff8771 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg @@ -61,44 +61,44 @@ - - - + + + - - + + - + - - 0 + + cf_iqKp - - + + - - + + - + - - sfix32_En20 + + ufix16_En12 @@ -181,44 +181,172 @@ - - - + + + - - + + - + - + - - cf_iqKi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -231,7 +359,7 @@ - + @@ -239,35 +367,35 @@ - + - + - + - + - + - + - + - + @@ -279,35 +407,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -325,11 +453,11 @@ - + - + sfix16_En4 @@ -351,67 +479,67 @@ - + - + err - + - + P - + - + I - + - + satMax - + - + satMin - + - + ext_limProt - + - + out - + - + PI(z) @@ -429,41 +557,56 @@ - + - + PI_clamp_fixdt_iq + + + + + + + + + + + sfix16_En4 + + + + - + - + - + - + - + - + @@ -471,21 +614,6 @@ - - - - - - - - - - - sfix16_En4 - - - - @@ -502,11 +630,11 @@ - + - + [n_limProt] @@ -525,28 +653,28 @@ - - + + - + - + - - [Vq_min] + + [iq] - + @@ -568,11 +696,11 @@ - + - + [r_inpTgtSca] @@ -589,6 +717,39 @@ + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + @@ -601,11 +762,11 @@ - + - + [r_inpTgtSca] @@ -623,11 +784,11 @@ - + - + sfix16_En4 @@ -639,29 +800,44 @@ - - - + + + - - + + - - + + - - [iq] + + [iq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -682,11 +858,11 @@ - + - + [iq_min] @@ -704,11 +880,11 @@ - + - + sfix16_En4 @@ -720,43 +896,43 @@ - - + + - + - + - - [iq_max] + + [iq] - + - + - - + + - + sfix16_En4 @@ -768,76 +944,58 @@ - - - + + + - - + + - - + + - - [iq_min] + + 7 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [n_limProt] - - - - - - - + + n_limProt - + - - + + - + sfix16_En4 @@ -849,59 +1007,44 @@ - - - + + + - - + + - - + + - - 7 + + case: { } - - + + - - - - - - - - - - n_limProt - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -922,11 +1065,11 @@ - + - + 6 @@ -944,11 +1087,11 @@ - + - + iq_min @@ -959,11 +1102,11 @@ - + - + sfix16_En4 @@ -975,44 +1118,29 @@ - - - + + + - - + + - - + + - - case: { } + + [iq_max] - - - - - - - - - - - - - - - - - Action Port + + @@ -1023,29 +1151,44 @@ - - - + + + - - + + - - + + - + [Vq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1066,11 +1209,11 @@ - + - + 4 @@ -1088,11 +1231,11 @@ - + - + iq @@ -1103,11 +1246,11 @@ - + - + sfix16_En4 @@ -1119,43 +1262,58 @@ - - - + + + - - + + - - + + - - [Vq_min] + + 5 - - + + + + + + + + + + + + + + + + + iq_max - + - - + + - + sfix16_En4 @@ -1167,106 +1325,58 @@ - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - + + - + - + - - 5 + + 3 - + - - + + - - + + - - iq_max + + Vq_min - + - - + + - + sfix16_En4 @@ -1288,27 +1398,27 @@ - + - + - + - + - + - + @@ -1326,11 +1436,11 @@ - + - + sfix16_En4 @@ -1342,28 +1452,91 @@ - - + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + Vq_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - + - + - - [iq_max] + + [Vq_max] - + @@ -1375,43 +1548,43 @@ - - + + - + - + - - [iq] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -1423,59 +1596,29 @@ - - - + + + - - + + - - + + - - 2 + + [iq_min] - - - - - - - - - - - - - - - - - Vq_max - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1496,11 +1639,11 @@ - + - + 1 @@ -1518,11 +1661,11 @@ - + - + r_inpTgtSca @@ -1533,11 +1676,11 @@ - + - + sfix16_En4 @@ -1549,44 +1692,44 @@ - - + + - + - + - - cf_iqKp + + cf_iqKi - + - + - - + + - - ufix16_En12 + + ufix16_En16 @@ -1597,59 +1740,44 @@ - - - + + + - - + + - - + + - - 3 + + 0 - - - - - - - - - - - - - - - - - Vq_min + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -1660,171 +1788,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [n_limProt] - - - - - - - - - - + + - + - + - + sfix16_En4 @@ -2144,5 +2144,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 6e12bd0..e6098c2 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 @@ -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_9143_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json index 04c2685..0e23d08 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 @@ -108,42 +108,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", + "name":"cf_idKi1", + "label":"cf_idKi1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "DoSatur" + "FramePeriod" ], "values":[ + "cf_idKi", + "on", + "inf", "[]", "[]", - "Inherit: Same as second input", + "fixdt(0,16,16)", "off", - "Floor", - "off" + "inf" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Constant", + "masktype":"" } }, { @@ -240,11 +250,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":[ @@ -253,7 +263,7 @@ "IconDisplay" ], "values":[ - "id_max", + "id_min", "local", "Tag" ], @@ -273,11 +283,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9161", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -286,7 +296,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "id", "local", "Tag" ], @@ -306,19 +316,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9722", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", + "id_max", + "local", "Tag" ], "tabs":[ @@ -332,24 +344,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9155", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_max", + "Vd_min", + "local", "Tag" ], "tabs":[ @@ -363,104 +377,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9170", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"Vd", - "label":"Vd", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9158", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "Vd_max", + "local", "Tag" ], "tabs":[ @@ -474,75 +410,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "DoSatur" ], "values":[ - "6", - "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" } }, { @@ -577,21 +485,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9161", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9155", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id", - "local", + "id_max", "Tag" ], "tabs":[ @@ -605,25 +511,27 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9150", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "id_Tgt", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -636,16 +544,109 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", + "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:9722", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "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:9150", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "reset", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -668,7 +669,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -708,11 +709,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "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:9146", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -735,7 +767,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -775,54 +807,19 @@ } }, { - "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:9159", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "Vd_min", - "local", "Tag" ], "tabs":[ @@ -836,7 +833,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -908,27 +905,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9725", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"cf_idKp1", + "label":"cf_idKp1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "id_min", - "local", - "Tag" + "cf_idKp", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,12)", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -936,16 +949,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9144", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"id_Tgt", + "label":"id_Tgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -968,7 +981,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -1008,11 +1021,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9144", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_Tgt", - "label":"id_Tgt", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1035,7 +1048,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "5", "Port number", "[]", "[]", @@ -1075,63 +1088,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "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:9725", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9170", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"cf_idKp1", - "label":"cf_idKp1", + "name":"Vd", + "label":"Vd", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "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":[ - "cf_idKp", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "fixdt(0,16,12)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -1140,8 +1153,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1150,68 +1163,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id_Tgt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"cf_idKi1", - "label":"cf_idKi1", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "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_idKi", - "on", - "inf", + "4", + "Port number", "[]", "[]", - "fixdt(0,16,16)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1220,8 +1220,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1230,7 +1230,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg index 757a489..fad91cc 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,108 +125,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - + + - - y + + cf_idKi - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -247,67 +183,67 @@ - + - + err - + - + P - + - + I - + - + satMax - + - + satMin - + - + ext_limProt - + - + out - + - + PI(z) @@ -325,41 +261,56 @@ - + - + PI_clamp_fixdt_id + + + + + + + + + + + sfix16_En4 + + + + - + - + - + - + - + - + @@ -367,49 +318,34 @@ - - - - - - - - - - - sfix16_En4 - - - - - - + + - + - + - - [id_max] + + [id_min] - + @@ -421,28 +357,28 @@ - - + + - + - + - - [id_Tgt] + + [id] - + @@ -454,44 +390,62 @@ - - - + + + - - + + - - + + - - [Vd_max] + + [id_max] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vd_min] + + + + + + + @@ -502,92 +456,141 @@ - - - + + + - - + + - - + + - - [id_max] + + [Vd_max] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + - + - - 1 + + y - - + + - - - + + + - + - - Vd + + sfix16_En4 @@ -598,43 +601,43 @@ - - + + - + - + - - [id] + + [id_min] - + - + - + - + sfix16_En4 @@ -646,59 +649,77 @@ - - - + + + - - + + - + - - 6 + + [id_max] - - + + - - - + + + - + - - id_min + + sfix16_En4 - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [id_Tgt] + + + + + + + @@ -709,43 +730,43 @@ - - + + - + - - + + - - [id_min] + + [id] - + - + - - + + - + sfix16_En4 @@ -757,29 +778,44 @@ - - - + + + - - + + - - + + - - [id] + + [Vd_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -800,11 +836,11 @@ - + - + if { } @@ -822,11 +858,11 @@ - + - + Action Port @@ -838,58 +874,58 @@ - - + + - + - + - - 5 + + 6 - + - - + + - - + + - - id_max + + id_min - + - - + + - + sfix16_En4 @@ -901,58 +937,43 @@ - - - + + + - - + + - - + + - - 4 + + [id_Tgt] - - - - - - - - - - - - - - - - - Vd_min + + - + - - + + - + sfix16_En4 @@ -964,29 +985,59 @@ - - - + + + - - + + - - + + - - [Vd_max] + + 3 - - + + + + + + + + + + + + + + + + + Vd_max + + + + + + + + + + + + + + + sfix16_En4 @@ -997,29 +1048,44 @@ - - - + + + - - + + - - + + - + [Vd_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1040,11 +1106,11 @@ - + - + 2 @@ -1062,11 +1128,11 @@ - + - + id @@ -1077,11 +1143,11 @@ - + - + sfix16_En4 @@ -1093,92 +1159,44 @@ - - - - - - - - - - - - - - - - [id_min] - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - 3 + + cf_idKp - - - - - - - - - - - - - - - - - Vd_max + + - - + + - - + + - - sfix16_En4 + + ufix16_En12 @@ -1199,11 +1217,11 @@ - + - + 1 @@ -1221,11 +1239,11 @@ - + - + id_Tgt @@ -1236,11 +1254,11 @@ - + - + sfix16_En4 @@ -1252,43 +1270,58 @@ - - - + + + - - + + - - + + - - [Vd_min] + + 5 - - + + + + + + + + + + + + + + + + + id_max - + - - + + - + sfix16_En4 @@ -1300,44 +1333,44 @@ - - - + + + - - + + - - + + - - cf_idKp + + 1 - - + + - - - + + + - - + + - - ufix16_En12 + + Vd @@ -1348,92 +1381,59 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + 4 - - + + - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - - - - - - - - - - - - + - - cf_idKi - - - - - - - + + Vd_min - - + + - + - - ufix16_En16 + + sfix16_En4 @@ -1696,5 +1696,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg index d78612b..fee7b1d 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 @@ - + - + - + @@ -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_9171_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json index e10f6af..e9186e2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json @@ -1,73 +1,26 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189", + "className":"Simulink.SignalConversion", "icon":"WebViewIcon3", - "name":"Vq_Vlt", - "label":"Vq_Vlt", + "name":"Signal Conversion2", + "label":"Signal Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", + "ConversionOutput", "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "OverrideOpt" ], "values":[ - "1", - "Port number", - "[]", - "[]", + "Signal copy", "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -75,16 +28,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"SignalConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9185", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -93,7 +46,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "iq_limProt", "local", "Tag" ], @@ -113,22 +66,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "ConversionOutput", - "OutDataTypeStr", - "OverrideOpt" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "r_inpTgtSca", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -141,16 +94,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9185", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -158,7 +144,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "iq_limProt", "Tag" ], "tabs":[ @@ -177,53 +163,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9190", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "rectangular", - "+++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "reset", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -231,16 +189,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9179", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -248,7 +206,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "Vq_max", "Tag" ], "tabs":[ @@ -267,11 +225,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -279,7 +237,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "n_limProt", "Tag" ], "tabs":[ @@ -365,11 +323,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -378,7 +336,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_max", "local", "Tag" ], @@ -398,11 +356,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -410,7 +368,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", "Tag" ], "tabs":[ @@ -429,58 +387,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"iq_limProt", + "label":"iq_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "reset", - "Only when execution is resumed" + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -488,32 +449,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9190", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "n_limProt", - "local", - "Tag" + "rectangular", + "+++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -521,16 +508,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9175", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -553,7 +540,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -593,11 +580,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"Vq_Vlt", + "label":"Vq_Vlt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -613,14 +600,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", "[]", "[]", @@ -632,10 +625,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -655,26 +655,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtSca", - "local", "Tag" ], "tabs":[ @@ -688,7 +686,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -798,37 +796,6 @@ "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:9172", "className":"Simulink.Inport", @@ -896,6 +863,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_limProt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg index 829e49c..3815425 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg @@ -10,87 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - Vq_Vlt - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - @@ -104,131 +23,131 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -254,11 +173,11 @@ - + - + sfix16_En4 @@ -270,44 +189,62 @@ - - - + + + - - + + - - + + - - [n_limProt] + + [iq_limProt] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [r_inpTgtSca] + + + + + + + @@ -318,84 +255,125 @@ - - - + + + - - + + - - + + - - + + [Vq_min] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [iq_limProt] - - - - - - - + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + case: { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -406,43 +384,43 @@ - - + + - + - + - - [Vq_min] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -454,43 +432,43 @@ - - + + - + - + - - [iq_limProt] + + [n_limProt] - + - + - - + + - + sfix16_En4 @@ -512,11 +490,11 @@ - + - + 5 @@ -534,11 +512,11 @@ - + - + n_limProt @@ -549,11 +527,11 @@ - + - + sfix16_En4 @@ -565,28 +543,28 @@ - - + + - + - + - - [iq_limProt] + + [Vq_max] - + @@ -598,43 +576,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -646,77 +624,59 @@ - - - + + + - - + + - - + + - - [Vq_max] + + 4 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - case: { } - - - - - - - + + iq_limProt - - - + + + - - - + + + - - Action Port + + sfix16_En4 @@ -727,29 +687,84 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - [n_limProt] + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -760,58 +775,58 @@ - - + + - + - + - - 4 + + 3 - + - - + + - - + + - - iq_limProt + + Vq_min - + - - + + - + sfix16_En4 @@ -823,59 +838,44 @@ - - + + - + - + - - 3 + + 1 - + - - - - - - - - - - Vq_min - - - - - - - + + - + - - sfix16_En4 + + Vq_Vlt @@ -886,29 +886,44 @@ - - - + + + - - + + - + - + [r_inpTgtSca] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -929,35 +944,35 @@ - + - + - + - + - + - + - + - + @@ -969,35 +984,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -1015,11 +1030,11 @@ - + - + sfix16_En4 @@ -1041,11 +1056,11 @@ - + - + 2 @@ -1063,11 +1078,11 @@ - + - + Vq_max @@ -1078,59 +1093,11 @@ - + - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [Vq_max] - - - - - - - - - - - - - - - - - - - - - + sfix16_En4 @@ -1152,11 +1119,11 @@ - + - + 1 @@ -1174,11 +1141,11 @@ - + - + r_inpTgtSca @@ -1189,11 +1156,11 @@ - + - + sfix16_En4 @@ -1203,6 +1170,39 @@ + + + + + + + + + + + + + + + + + + [n_limProt] + + + + + + + + + + + + + + + @@ -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 860cb68..faed7a8 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 @@ -1009,9 +1009,6 @@ - - - @@ -1021,6 +1018,9 @@ + + + @@ -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 94e4b9d..f49c483 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 @@ -27,7 +27,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -532,144 +532,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9232", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9208", + "className":"Simulink.Demux", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"Demux", + "label":"Demux", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Outputs", + "DisplayOption", + "BusSelectionMode" ], "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:9216", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From39", - "label":"From39", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_phaA", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9217", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From40", - "label":"From40", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_phaB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9218", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From41", - "label":"From41", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_phaC", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9211", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_pos", - "Tag" + "bar", + "off" ], "tabs":[ "Parameter Attributes" @@ -682,45 +560,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Demux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9234", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9202", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"V_phaABC_FOC", + "label":"V_phaABC_FOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "u2 ~= 0", - "off", + "4", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", "off", "off", - "-1", - "0", - "on" + "off" ], "tabs":[ "Main", @@ -729,8 +617,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -739,52 +627,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9236", - "className":"Simulink.LookupNDDirect", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9228", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_commutMap_M1", - "label":"z_commutMap_M1", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "NumberOfTableDimensions", - "InputsSelectThisObjectFromTable", - "TableIsInput", - "Table", - "DiagnosticForOutOfRangeInput", - "TableMin", - "TableMax", - "TableDataTypeStr", - "LockScale", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "Column", - "off", - "z_commutMap_M1", - "None", - "[]", - "[]", - "int16", - "off", - "-1" + "V_phaABC_FOC", + "local", + "Tag" ], "tabs":[ - "Main", - "Table Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 5, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -792,27 +660,27 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"LookupNDDirect", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9208", - "className":"Simulink.Demux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9231", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Demux", - "label":"Demux", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Outputs", - "DisplayOption", - "BusSelectionMode" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "3", - "bar", - "off" + "Vq", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -825,16 +693,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Demux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9202", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9205", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_phaA", - "label":"r_phaA", + "name":"Vq", + "label":"Vq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -857,7 +725,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -897,21 +765,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9228", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9213", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_phaA", - "local", + "Vq", "Tag" ], "tabs":[ @@ -925,16 +791,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9203", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9199", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_phaB", - "label":"r_phaB", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -957,7 +823,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -997,11 +863,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9229", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9223", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1010,7 +876,7 @@ "IconDisplay" ], "values":[ - "r_phaB", + "b_enaAdvCtrl", "local", "Tag" ], @@ -1030,11 +896,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9204", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9455", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_phaC", - "label":"r_phaC", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1050,14 +916,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "4", "Port number", "[]", "[]", @@ -1069,10 +941,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -1092,65 +971,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9230", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_phaC", - "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:9231", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9840", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "Vq", - "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" @@ -1158,65 +1016,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9205", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Vq", - "label":"Vq", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ZeroCross" ], "values":[ - "7", - "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":{ @@ -1225,30 +1061,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9213", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "Vq", - "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" @@ -1256,21 +1111,20 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9209", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Inputs", - "Multiplication", + "Criteria", "InputSameDT", "OutMin", "OutMax", @@ -1278,23 +1132,24 @@ "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "**", - "Element-wise(.*)", + "u2 ~= 0", "off", "[]", "[]", - "Inherit: Same as first input", + "Inherit: Inherit via back propagation", "off", - "Simplest", + "Zero", "off", - "1", - "All dimensions", - "-1" + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -1303,7 +1158,7 @@ ], "tabs_idx":[ 0, - 2, + 1, 9 ] }, @@ -1313,65 +1168,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9199", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9914", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"b_enaFOC", - "label":"b_enaFOC", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "1", - "Port number", - "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", "off", - "off", - "off" + "[]", + "3" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -1380,111 +1207,41 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9223", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_enaFOC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9455", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9833", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "name":"If", + "label":"If", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", + "2", + "u1 ~= 0", + "u2 ~= 0", + "on", "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 4 ] }, "viewer":{ @@ -1493,49 +1250,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9925", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "n_motAbs", + "local", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1543,56 +1283,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "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" + "z_ctrlTypSel", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1600,7 +1316,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Goto", "masktype":"" } }, @@ -1638,64 +1354,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9926", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "VqFinPrev", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -1709,7 +1382,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -1747,11 +1420,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9927", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1759,7 +1432,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1778,11 +1451,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9214", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1790,7 +1463,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "VqFinPrev", "Tag" ], "tabs":[ @@ -1809,7 +1482,7 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9917", "className":"Simulink.From", "icon":"WebViewIcon3", "name":"From4", @@ -1821,7 +1494,7 @@ "IconDisplay" ], "values":[ - "VqFin", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -1840,11 +1513,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9210", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9929", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1852,7 +1525,7 @@ "IconDisplay" ], "values":[ - "b_enaFOC", + "n_motAbs", "Tag" ], "tabs":[ @@ -1871,60 +1544,294 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9908", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"From15", + "label":"From15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "V_phaABC_FOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9831", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9832", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9920", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F05_02_FOC_Method", + "label":"F05_02_FOC_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9924", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:8216", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion6", + "label":"Data Type Conversion6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "8", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "int16", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -1933,79 +1840,1743 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9227", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9838", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM3", + "label":"CTRL_COMM3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "CTRL_SIN", + "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:9834", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "CTRL_FOC", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "CTRL_FOC", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "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:9915", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_pos", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9916", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "VqFin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9923", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "9", + "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:9922", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_dir", + "label":"z_dir", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "8", + "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:9921", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "7", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9835", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator1", + "label":"Relational Operator1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F05_00_COM_Method", + "label":"F05_00_COM_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9214", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From25", + "label":"From25", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9839", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From13", + "label":"From13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9928", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From14", + "label":"From14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_dir", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9201", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "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:9741", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F05_01_SIN_Method", + "label":"F05_01_SIN_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9836", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator1", + "label":"Logical Operator1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9919", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator2", + "label":"Logical Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9208#out:3", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9208#out:2", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9208#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9200#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9212#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9220#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9219#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9202#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9205#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9199#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9214#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9207#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9233#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "z_ctrlTypSel", - "local", - "Tag" + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "CTRL_FOC", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "", "off", - "inf" + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, 3, + 5, 7 ] }, @@ -2014,66 +3585,50 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9201", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlTypSel", - "label":"z_ctrlTypSel", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9201#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "3", - "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":{ @@ -2081,46 +3636,62 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "VqFin", - "local", - "Tag" + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9208#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2171,7 +3742,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9208#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2222,7 +3793,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9208#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9213#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2273,7 +3844,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9200#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2324,7 +3895,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9212#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8216#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2375,7 +3946,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9220#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9834#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2426,7 +3997,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9219#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9832#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2477,7 +4048,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9211#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9835#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2528,7 +4099,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9234#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9831#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2579,7 +4150,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9202#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9839#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2630,7 +4201,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9203#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9838#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2681,7 +4252,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9204#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9908#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2732,7 +4303,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9205#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9833#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2783,7 +4354,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9216#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2834,7 +4405,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9217#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9914#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2885,7 +4456,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9218#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9915#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2936,7 +4507,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9236#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9916#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2987,7 +4558,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9209#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9917#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3038,7 +4609,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9199#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9836#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3089,7 +4660,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9232#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9833#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3140,7 +4711,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9210#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3191,7 +4762,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9214#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3242,7 +4813,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9833#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3293,7 +4864,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9840#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3344,7 +4915,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9919#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3395,7 +4966,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9201#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9920#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3446,7 +5017,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9235#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9921#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3497,7 +5068,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9922#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3548,7 +5119,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9923#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3599,7 +5170,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9927#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3650,7 +5221,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9213#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9928#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3701,7 +5272,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9929#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_9198_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.png index 7a55d5c367fc47d1836ef1c70eb091c374a5a9f9..8997535a95e63220a7b3c0e44822e84d875f1237 100644 GIT binary patch literal 8641 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 R7u=J9&{ES;tyHm&_#a+zJTU+O literal 9680 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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 413cbd6..e866248 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 @@ -1,10 +1,10 @@ - + - + @@ -14,10 +14,10 @@ - + - + @@ -27,44 +27,44 @@ - - 2 + + 3 - + - + - + - + z_pos - + - + - + int8 @@ -77,10 +77,10 @@ - + - + @@ -90,29 +90,29 @@ - + 3 - + - + - + - + DC_phaC @@ -125,27 +125,27 @@ - + - + - + - + [z_pos] - + @@ -158,10 +158,10 @@ - + - + @@ -171,29 +171,29 @@ - + 2 - + - + - + - + DC_phaB @@ -206,10 +206,10 @@ - + - + @@ -219,29 +219,29 @@ - + 1 - + - + - + - + DC_phaA @@ -254,10 +254,10 @@ - + - + @@ -267,14 +267,14 @@ - + [DC_phaA] - + @@ -287,10 +287,10 @@ - + - + @@ -300,14 +300,14 @@ - + [DC_phaB] - + @@ -320,10 +320,10 @@ - + - + @@ -333,14 +333,14 @@ - + [DC_phaC] - + @@ -353,10 +353,10 @@ - + - + @@ -366,29 +366,29 @@ - + [DC_phaA] - + - + - + - + int16 @@ -401,10 +401,10 @@ - + - + @@ -414,29 +414,29 @@ - + [DC_phaB] - + - + - + - + int16 @@ -449,10 +449,10 @@ - + - + @@ -462,29 +462,29 @@ - + [DC_phaC] - + - + - + - + int16 @@ -496,43 +496,73 @@ - - - + + + - - + + - + - + - - + + - + - + + + + + int16 + + + + + + + + + + + + + + + int16 + + + + + + + + + + + - + int16 @@ -544,44 +574,59 @@ - - - + + + - - + + - - + + - - [r_phaA] + + 4 - - + + + + + + + + + + + + + + + + + V_phaABC_FOC - - + + - - + + - - int16 + + sfix16_En4 @@ -592,44 +637,62 @@ - - - + + + - - + + - - + + - - [r_phaB] + + [V_phaABC_FOC] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - int16 + + [Vq] + + + + + + + @@ -640,44 +703,59 @@ - - - + + + - - + + - - + + - - [r_phaC] + + 5 - - + + + + + + + + + + + + + + + + + Vq - - + + - - + + - - int16 + + sfix16_En4 @@ -688,44 +766,44 @@ - - - + + + - - + + - - + + - - [z_pos] + + [Vq] - - + + - - + + - - + + - - int8 + + sfix16_En4 @@ -736,188 +814,92 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 1 - - - - - - - + + + + + + - - - - - - - + + + + + + - + - - + + b_enaAdvCtrl - - - - - - - + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + - - F + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - int16 + + @@ -928,203 +910,958 @@ - - - + + + - - + + - - + + - - + + 4 - - - + + + + + + + + + + + + + + + + + + + + + VqFinPrev + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + u1 - - + + - - + + u2 - - + + - - + + if(u1 ~= 0) - - + + - - + + elseif(u2 ~= 0) - - + + - - + + else + + + + + + + + + + + + + + - - + + - - + + action + + + + + + + - - + + - - + + action + + + + + + + - - + + - - + + action + + + + + + + + + + + + + + + + + + - - + + - - + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [a_elecAngle] + + + + + + + + + + + + + + - - + + - - + + sfix16_En6 + + + + + + + + + + + + + + + + + + - - + + - - 2-D T[k] + + [VqFinPrev] - - + + - - - + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - z_commutMap_M1 + + [r_inpTgtSca] + + + + + + + - - + + - - + + - - int16 + + sfix16_En4 @@ -1135,74 +1872,92 @@ - - - + + + - - + + - - + + - - + + [n_motAbs] - - + + - - + + - - + + - - int16 + + sfix16_En4 - - - - + + + + + + + + + + + + + + + - - + + - - int16 + + [V_phaABC_FOC] + + + + + + + - - + + - - + + - - int16 + + sfix16_En4 @@ -1213,59 +1968,92 @@ - - - + + + - - + + - - + + - - 4 + + [b_enaAdvCtrl] - - + + - - - + + + - - + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + - - r_phaA + + [z_ctrlTypSel] + + + + + + + - + - - + + - - int16 + + uint8 @@ -1276,29 +2064,44 @@ - - - + + + - - + + - - + + - - [r_phaA] + + [b_enaAdvCtrl] - - + + + + + + + + + + + + + + + + + boolean @@ -1309,59 +2112,120 @@ - - - + + + - - + + + + + + + + - - + + - - 5 + + V_phaABC_FOC_in + + + + + + + + V_phaABC_FOC + + + + + + + + if { } - - + + + + + + + + - - + + + + + + + + - - + + - - r_phaB + + F05_02_FOC_Method - - + + + + + + + + - - + + - - int16 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action @@ -1372,28 +2236,34 @@ - - + + + + + + + + - + - - + + - - [r_phaB] + + [z_dir] - + @@ -1405,58 +2275,59 @@ - - - + + + - - + + - + - - + + - - 6 + + + + + + + + + + - - - - + - - - - - - - - - - - r_phaC + + + + + + + - + - - + + - + int16 @@ -1468,29 +2339,44 @@ - - - + + + - - + + - - + + - - [r_phaC] + + CTRL_SIN - - + + + + + + + + + + + + + + + + + uint8 @@ -1501,29 +2387,44 @@ - - - + + + - - + + - - + + - - [Vq] + + CTRL_FOC - - + + + + + + + + + + + + + + + + + uint8 @@ -1534,59 +2435,92 @@ - - - + + + - - + + - - + + - - 7 + + CTRL_FOC - - + + - - - + + + - - + + - - Vq + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + - - + + - - + + - - int16 + + sfix16_En4 @@ -1597,44 +2531,44 @@ - - - + + + - - + + - - + + - - [Vq] + + [z_pos] - - + + - - + + - - + + - - int16 + + int8 @@ -1645,52 +2579,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [VqFin] - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -1701,59 +2627,59 @@ - - + + - + - + - - 1 + + 9 - + - - + + - - + + - - b_enaFOC + + n_motAbs - - + + - - + + - - boolean + + sfix16_En4 @@ -1764,29 +2690,59 @@ - - - + + + - - + + - - + + - - [b_enaFOC] + + 8 - - + + + + + + + + + + + + + + + + + z_dir + + + + + + + + + + + + + + + int8 @@ -1797,44 +2753,59 @@ - - + + - + - + - - 4 + + 7 - + - - + + - - + + - - VqFinPrev + + a_elecAngle + + + + + + + + + + + + + + + sfix16_En6 @@ -1845,91 +2816,59 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 6 - - - - - - - - - - + + - - - + + + - - + + - - int16 + + r_inpTgtSca - - - + + + - - + + - - Ini=0 + + sfix16_En4 @@ -1940,221 +2879,68 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - T + + - - + + - - F + + - - - - + - - - - - - - - - - - int16 - + - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] + + + - - - + + + + + + + + + + + boolean @@ -2165,68 +2951,128 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + VqFin - - + + - - + + z_pos - - + + - - + + V_phaABC_COM + + + + + + + + else { } - + + + + + + + + + + - + + + + + + + + + + + + + + + + + F05_00_COM_Method + - - - + + + + + + + + + + + + + + + + + sfix16_En4 - - + + + + + + + + - - + + - - boolean + + action @@ -2237,44 +3083,50 @@ - - + + + + + + + + - + - - + + - - [VqFinPrev] + + [z_ctrlTypSel] - + - + - - + + - - int16 + + uint8 @@ -2285,29 +3137,44 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -2318,44 +3185,44 @@ - - + + - + - + - - [r_inpTgtSca] + + [z_dir] - + - - + + - - + + - - int16 + + int8 @@ -2366,43 +3233,58 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + 2 - - + + + + + + + + + + + + + + + + + z_ctrlTypSel - + - - + + - + uint8 @@ -2414,44 +3296,144 @@ - - - + + + - - + + + + + + + + - - + + - - [VqFin] + + r_inpTgtSca + + + + + + + + a_elecAngle + + + + + + + + z_dir + + + + + + + + n_motAbs + + + + + + + + V_phaABC_SIN + + + + + + + + elseif { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F05_01_SIN_Method - - + + + + + + + + - - + + - - int16 + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2462,754 +3444,857 @@ - - - + + + + + + + + + - - + + - - + + - - [b_enaFOC] + + [VqFin] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + boolean + + + + + + + + + + + - - - + + + - - + + - + - - + + - - 8 + + + + + + + + + + - - - - + - - - + + + - - + + - - r_inpTgtSca + + boolean - - - - - - - - - - - int16 + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - + + - - - - - - - - [z_ctrlTypSel] - - + + + + + + + + + - - - - - - + + - + - - - + + + - - + + - - - - - - - - CTRL_FOC - - + + + + + + + + + - - - - - - + + - - - - - - - - - - - uint8 - - + + + + + + + + + + + + - + - - - + + + - - + + - - - - - - - - 3 - - + + + + + + + + + - - - - - - + + - - - - - - - - - - - z_ctrlTypSel - - + + + + + + + + + - - - - - - - - - - - - uint8 - - + + - + - - - + + + - - + + - - - - - - - - [VqFin] - - + + + + + + + + + - - - - - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + - + + + + + - + - + + + + + - + - + - - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3218,5 +4303,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg index 6dbd90b..a3a1e4c 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 d06e523..e2dd0c1 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.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.png deleted file mode 100644 index b1102427ee9fcd137961c9785c1e05b5d179f7cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4587 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 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 deleted file mode 100644 index 4f3c586..0000000 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg +++ /dev/null @@ -1,1238 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - Input Scaling [-1000,1000] → [min,max] - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - - - - - - - - - - - - - - - - - - - u1 - - - - - - - - if(u1 == CTRL_FOC) - - - - - - - - else - - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlTypSel] - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - r_inpTgt - - - - - - - - z_ctrlModReq - - - - - - - - r_inpTgtScaFOC - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FOC_Control_Type - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_ctrlModReq] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - r_inpTgt - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - z_ctrlModReq - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - r_inpTgt - - - - - - - - r_inpTgtScaCOM - - - - - - - - else { } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Commutation_Control_Type - - - - - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - z_ctrlTypSel - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.png deleted file mode 100644 index 77624a4af08b1851d160a0dbae121fde914913e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4252 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 z

*bCimL-863+hCh?^zk?!5QcLiWr)^mo35zViF7`-rkH>G>D5&_W={ z3=G&SG!M1-w3;LqOjo2yVr+$&HcZ?lvbId8$|WCqvi* y&H^A8@EcYC2wtNl-I3+|Z`;cLpS$w*3%H@--5rEn@8y3Fkn&T6e7USy$bSHU&ZLC^ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json index 3e2652f..257fbf7 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json @@ -1,110 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2788", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "round", - "|++", - "off", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2787", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", - "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:9721:2790", "className":"Simulink.Outport", @@ -185,6 +79,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2788", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2789", "className":"Simulink.UnitDelay", @@ -235,6 +188,53 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2787", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "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:9721:2786", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg index 01a3e2e..792b184 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg @@ -10,6 +10,54 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + @@ -23,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -69,11 +117,11 @@ - + - + sfix32_En20 @@ -85,30 +133,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -122,71 +186,38 @@ - - - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - + + + - - + + - - 1 - - - - - - - + + Ini=0 - - - + + + - - + + - - y + + sfix32_En20 @@ -197,46 +228,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -250,38 +265,23 @@ - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - + - - 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_9721_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json index 0b3bcda..66131a3 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json @@ -80,63 +80,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2377", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2848", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "Threshold", + "ZeroCross" ], "values":[ - "2", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", - "[]", - "off", - "held", "off", + "-1", "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", @@ -145,8 +122,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -155,78 +132,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2709", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2707", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", + "name":"UpperRelop", + "label":"UpperRelop", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "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", + "Nearest", "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -235,7 +177,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -285,40 +227,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2848", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2701", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"lo", + "label":"lo", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "u2 ~= 0", - "off", + "3", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", + "", + "on", "off", - "-1", - "0", - "on" + "off", + "off" ], "tabs":[ "Main", @@ -327,8 +279,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -337,45 +289,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2849", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2709", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"hitMax", + "label":"hitMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "u2 ~= 0", - "off", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", - "-1", + "[]", + "off", + "held", + "off", "0", - "on" + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -384,8 +359,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -394,16 +369,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2701", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2700", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"lo", - "label":"lo", + "name":"u", + "label":"u", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "inspector":{ "params":[ @@ -426,7 +401,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -466,38 +441,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2707", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2377", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UpperRelop", - "label":"UpperRelop", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "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", - "Nearest", + "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":{ @@ -506,16 +516,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2700", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2699", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"u", - "label":"u", + "name":"up", + "label":"up", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "inspector":{ "params":[ @@ -538,7 +548,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -578,50 +588,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2699", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2849", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"up", - "label":"up", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "Threshold", + "ZeroCross" ], "values":[ - "1", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", - "", - "on", + "Zero", "off", "off", - "off" + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -630,8 +630,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -640,7 +640,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Switch", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg index be589d2..8f2eb03 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg @@ -59,181 +59,6 @@ - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - hitMax - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LowerRelop1 - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -246,155 +71,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -412,11 +237,11 @@ - + - + sfix16_En4 @@ -428,188 +253,154 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + UpperRelop + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + - - F - - - - - - - + + LowerRelop1 - - + + - - + + - - sfix16_En4 + + boolean @@ -630,11 +421,11 @@ - + - + 3 @@ -652,11 +443,11 @@ - + - + lo @@ -667,11 +458,11 @@ - + - + sfix16_En4 @@ -683,75 +474,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - - - - - - + + - - - - - - - - - - UpperRelop - - - - - - - + + - - + + - - boolean + + hitMax @@ -772,11 +532,11 @@ - + - + 2 @@ -794,11 +554,11 @@ - + - + u @@ -809,11 +569,11 @@ - + - + sfix16_En4 @@ -823,6 +583,54 @@ + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + @@ -835,11 +643,11 @@ - + - + 1 @@ -857,11 +665,11 @@ - + - + up @@ -872,11 +680,203 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json index d2c0ffc..a5b28a9 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json @@ -214,11 +214,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2839", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2837", "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"SignDeltaU3", - "label":"SignDeltaU3", + "name":"SignDeltaU2", + "label":"SignDeltaU2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", "inspector":{ "params":[ @@ -290,11 +290,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2837", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2839", "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"SignDeltaU2", - "label":"SignDeltaU2", + "name":"SignDeltaU3", + "label":"SignDeltaU3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", "inspector":{ "params":[ @@ -321,11 +321,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2840", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"DataTypeConv3", - "label":"DataTypeConv3", + "name":"DataTypeConv4", + "label":"DataTypeConv4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", "inspector":{ "params":[ @@ -368,11 +368,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2840", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2836", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"DataTypeConv4", - "label":"DataTypeConv4", + "name":"DataTypeConv3", + "label":"DataTypeConv3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", "inspector":{ "params":[ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg index bfb01c0..eb5a647 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg @@ -187,11 +187,11 @@ - - - + + + - + @@ -201,7 +201,7 @@ - + @@ -209,7 +209,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -225,7 +225,7 @@ - + @@ -240,23 +240,23 @@ - + - + - + - - int16 + + int32 @@ -269,7 +269,7 @@ - + @@ -339,11 +339,11 @@ - - - + + + - + @@ -353,7 +353,7 @@ - + @@ -361,7 +361,7 @@ - + @@ -369,7 +369,7 @@ - + @@ -377,7 +377,7 @@ - + @@ -392,23 +392,23 @@ - + - + - + - - int32 + + int16 @@ -419,11 +419,11 @@ - - + + - + @@ -433,7 +433,7 @@ - + @@ -441,7 +441,7 @@ - + @@ -456,22 +456,22 @@ - + - + - + - + int8 @@ -483,11 +483,11 @@ - - + + - + @@ -497,7 +497,7 @@ - + @@ -505,7 +505,7 @@ - + @@ -520,22 +520,22 @@ - + - + - + - + int8 @@ -612,7 +612,7 @@ - + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json index 68ee10c..db365dd 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json @@ -129,11 +129,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2783", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2817", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay1", + "label":"UnitDelay1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "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:9721:2781", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ @@ -158,7 +208,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via internal rule", "off", "Simplest", "on", @@ -188,11 +238,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2783", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ @@ -217,7 +267,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", "on", @@ -247,123 +297,86 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2845", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitSat", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", + "icon":"WebViewIcon9", + "name":"Saturation_hit", + "label":"Saturation_hit", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", "MinAlgLoopOccurrences", - "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", + "SystemSampleTime", + "RTWSystemCode", "RTWFcnNameOpts", - "RTWFileName", + "RTWFcnName", "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", + "IsSubsystemVirtual", "Variant", - "VariantControl" + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", "", "", - "off", "", - "void_void", - "off", - "off", - "on", + "ReadWrite", "", + "All", "off", - "", "off", "off", - "", + "-1", + "Auto", "Auto", "", "Auto", + "", + "void_void", + "off", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "Auto", - "-1", + "on", + "off", + "", "", "off", - "" + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "-Other" ], "tabs_idx":[ - 0, - 6 ] }, "viewer":{ @@ -376,6 +389,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2794", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2814", "className":"Simulink.Switch", @@ -434,19 +480,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2833", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2845", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hitMin", + "b_hitSat", + "local", "Tag" ], "tabs":[ @@ -460,24 +508,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2832", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2795", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hitMax", + "b_hitMin", + "local", "Tag" ], "tabs":[ @@ -491,113 +541,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2776", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2846", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2778", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "b_hitSat", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -605,91 +572,95 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Saturation_hit", - "label":"Saturation_hit", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", "", + "All", + "off", + "on", "", "", - "ReadWrite", + "off", "", - "All", + "void_void", "off", "off", + "on", + "", + "off", + "", + "off", "off", - "-1", - "Auto", - "Auto", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "on", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -770,11 +741,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2833", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2770", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"P", + "label":"P", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ @@ -797,7 +799,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -837,44 +839,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2795", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMin", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2733", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ @@ -897,7 +866,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "5", "Port number", "[]", "[]", @@ -937,108 +906,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "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:9721:2846", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2832", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ @@ -1046,7 +918,7 @@ "IconDisplay" ], "values":[ - "b_hitSat", + "b_hitMax", "Tag" ], "tabs":[ @@ -1199,43 +1071,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2817", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2776", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "**", + "Element-wise(.*)", "off", - [ - ], - "Auto" + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 9 ] }, "viewer":{ @@ -1244,40 +1123,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2794", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMax", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, @@ -1348,6 +1194,160 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Clamping_circuit", + "label":"Clamping_circuit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "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:9721:2778", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide5", + "label":"Divide5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,5)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2844", "className":"Simulink.Logic", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.svg index 27a580b..3690017 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.svg @@ -109,68 +109,91 @@ - - - + + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Ini=0 - - + + - - + + - - sfix16_En4 + + boolean @@ -191,35 +214,35 @@ - + - + - + - + - + - + - + - + @@ -237,11 +260,11 @@ - + - + sfix32_En20 @@ -253,123 +276,67 @@ - - - + + + - - + + - - + + - - [b_hitSat] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - u + + - - + + - - y + + - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - Integrator + + + - - - - - - - + - - + + - + sfix16_En4 @@ -381,171 +348,388 @@ - - - - - - - - - + + + - - + + - - + + - - + + up - - + + - - + + u - - + + - - + + lo - - + + - - + + hitMax - - + + - - + + y - - + + - - + + hitMin - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_hitMax] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -563,11 +747,11 @@ - + - + sfix32_En20 @@ -579,92 +763,29 @@ - - - - - - - - - - - - - - - - [b_hitMin] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - + + + - - + + - - + + - - [b_hitMax] + + [b_hitSat] - - - - - - - - - - - - - - - - - boolean + + @@ -675,52 +796,29 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [b_hitMin] - - - - - - - - - - - - - - - - - sfix32_En20 + + @@ -731,52 +829,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [b_hitSat] - - + + - - + + - - + + - - sfix16_En5 + + boolean @@ -787,186 +877,91 @@ - - - + + + - - + + + + + + + + - - - - - - up - - - - + + - + u - - - - - - lo - - - - - - - - hitMax - - - - - - - - y - - - - - - - - hitMin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - boolean + + y - - - - + - - - + + + + - - sfix16_En4 + + - - - + + + + + + + + + - - + + - - boolean + + Integrator - + - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + sfix16_En4 @@ -978,6 +973,12 @@ + + + + + + @@ -987,11 +988,11 @@ - + - + 6 @@ -1009,11 +1010,11 @@ - + - + ext_limProt @@ -1024,11 +1025,11 @@ - + - + sfix32_En20 @@ -1040,92 +1041,44 @@ - - - + + + - - + + - - + + - - 5 + + [b_hitMin] - - - - - - - - - - - - - - - - - satMin + + - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - [b_hitMin] - - - - - - - + + boolean @@ -1146,11 +1099,11 @@ - + - + 2 @@ -1168,11 +1121,11 @@ - + - + P @@ -1183,11 +1136,11 @@ - + - + ufix16_En12 @@ -1199,107 +1152,59 @@ - - - + + + - - - - - - - - + + - - - - - - preIntegrator - - - - - - - - preSat - - - - - - - - hitSat - - - - + + - - Clamp + + 5 - - - - - - - - + + - - - - - - - - + + - - + + - - Clamping_circuit + + satMin - - - - - - - - + + - - + + - - boolean + + sfix16_En4 @@ -1310,49 +1215,43 @@ - - - - - - - - - + + + - - + + - - + + - - [b_hitSat] + + [b_hitMax] - - + + - - + + - - + + - + boolean @@ -1374,11 +1273,11 @@ - + - + 1 @@ -1396,11 +1295,11 @@ - + - + err @@ -1411,11 +1310,11 @@ - + - + sfix16_En4 @@ -1437,11 +1336,11 @@ - + - + 4 @@ -1459,11 +1358,11 @@ - + - + satMax @@ -1474,11 +1373,11 @@ - + - + sfix16_En4 @@ -1490,91 +1389,115 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + - - + + - - + + sfix32_En20 - - + + + + + + + + + + + + + + + + + + + 3 + - - + + - - - + + + - - + + - - Ini=0 + + I - - + + - - + + - - boolean + + ufix16_En16 @@ -1585,29 +1508,107 @@ - - - + + + - - + + + + + + + + - - + + - - [b_hitMax] + + preIntegrator + + + + + + + + preSat + + + + + + + + hitSat + + + + + + + + Clamp - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clamping_circuit + + + + + + + + + + + + + + + + + + + + + boolean @@ -1618,59 +1619,58 @@ - - - + + + + + + + + + - - + + - + - - 3 - - - - - - - - - - - - - - + + - + - - I + + + + + + + + + - - + + - + - - ufix16_En16 + + sfix16_En5 @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json index 7836211..a2791be 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json @@ -79,6 +79,56 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2789", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2788", "className":"Simulink.Sum", @@ -138,56 +188,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2789", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2787", "className":"Simulink.DataTypeConversion", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg index c4f33f1..bc728d8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg @@ -61,162 +61,162 @@ - - - + + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - + + - - + + - + sfix32_En20 + + + + + + + + + + + Ini=0 + + + + - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - + - + sfix32_En20 @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json index f55a90e..dd12575 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json @@ -1,10 +1,10 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2710", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", + "name":"hitMin", + "label":"hitMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", "inspector":{ "params":[ @@ -33,7 +33,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -80,85 +80,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2707", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"UpperRelop", - "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "<", - "off", - "boolean", - "Nearest", - "-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:9728:2791:2849", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2377", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "u2 ~= 0", - "off", + "2", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", - "-1", + "[]", + "off", + "held", + "off", "0", - "on" + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -167,8 +145,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -177,16 +155,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2709", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"hitMax", + "label":"hitMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", "inspector":{ "params":[ @@ -215,7 +193,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -262,11 +240,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2704", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2707", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"LowerRelop1", - "label":"LowerRelop1", + "name":"UpperRelop", + "label":"UpperRelop", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", "inspector":{ "params":[ @@ -278,7 +256,7 @@ "ZeroCross" ], "values":[ - ">", + "<", "off", "boolean", "Nearest", @@ -431,73 +409,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2710", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2704", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"hitMin", - "label":"hitMin", + "name":"LowerRelop1", + "label":"LowerRelop1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", "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":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", + ">", "off", - "inherit", - "-1", - "Inherit", + "boolean", + "Nearest", "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -506,7 +449,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -644,6 +587,63 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2849", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch3", + "label":"Switch3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "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:9728:2791:2849#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg index 2c659f5..8e472c8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg @@ -13,11 +13,11 @@ - - + + - + @@ -27,30 +27,30 @@ - - 1 + + 3 - + - - + + - + - - hitMax + + hitMin @@ -61,267 +61,44 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + 2 - - - - - - - - - - + + - - - - - - - - - - UpperRelop - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - + + - - + + - - sfix16_En4 + + y @@ -332,44 +109,44 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - y + + hitMax @@ -380,30 +157,30 @@ - - + + - + - + - + - + - - + + @@ -417,37 +194,37 @@ - + - - + + - - + + - - LowerRelop1 + + UpperRelop - + - - + + - + boolean @@ -461,7 +238,7 @@ - + @@ -469,155 +246,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -635,11 +412,11 @@ - + - + sfix16_En4 @@ -661,11 +438,11 @@ - + - + 2 @@ -683,11 +460,11 @@ - + - + u @@ -698,11 +475,11 @@ - + - + sfix16_En4 @@ -714,44 +491,75 @@ - - - + + + - - + + - + - - + + - - 3 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - hitMin + + LowerRelop1 + + + + + + + + + + + + + + + boolean @@ -772,11 +580,11 @@ - + - + 3 @@ -794,11 +602,11 @@ - + - + lo @@ -809,11 +617,11 @@ - + - + sfix16_En4 @@ -835,11 +643,11 @@ - + - + 1 @@ -857,11 +665,11 @@ - + - + up @@ -872,11 +680,203 @@ - + - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json index b40806a..5457d42 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json @@ -213,37 +213,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2839", - "className":"Simulink.Signum", - "icon":"WebViewIcon3", - "name":"SignDeltaU3", - "label":"SignDeltaU3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", - "inspector":{ - "params":[ - "ZeroCross", - "SampleTime" - ], - "values":[ - "on", - "-1" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Signum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2837", "className":"Simulink.Signum", @@ -321,41 +290,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2840", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2839", + "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"DataTypeConv4", - "label":"DataTypeConv4", + "name":"SignDeltaU3", + "label":"SignDeltaU3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", + "ZeroCross", "SampleTime" ], "values":[ - "[]", - "[]", - "int8", "on", - "Real World Value (RWV)", - "Zero", - "off", "-1" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -363,7 +316,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Signum", "masktype":"" } }, @@ -481,6 +434,53 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2840", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"DataTypeConv4", + "label":"DataTypeConv4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "int8", + "on", + "Real World Value (RWV)", + "Zero", + "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:9728:2838", "className":"Simulink.Logic", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg index 37df42c..def0564 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg @@ -187,11 +187,11 @@ - - - + + + - + @@ -201,7 +201,7 @@ - + @@ -209,7 +209,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -225,87 +225,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -331,11 +251,11 @@ - + - + int32 @@ -349,7 +269,7 @@ - + @@ -357,27 +277,27 @@ - + - + - + - + - + - + @@ -403,11 +323,11 @@ - + - + boolean @@ -419,30 +339,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -456,23 +392,23 @@ - - + + - - + + - - + + - - int8 + + int16 @@ -493,19 +429,19 @@ - + - + - + - + @@ -531,11 +467,11 @@ - + - + int8 @@ -557,11 +493,11 @@ - + - + 3 @@ -579,11 +515,11 @@ - + - + hitSat @@ -594,11 +530,11 @@ - + - + boolean @@ -608,11 +544,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + - + @@ -642,32 +642,32 @@ - - - - - - - - - - - - + - + boolean + + + + + + + + + + + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json index 308e7cf..5dcc2de 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json @@ -79,6 +79,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2815", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "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:9728:2817", "className":"Simulink.UnitDelay", @@ -130,42 +179,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2783", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2814", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ - "IconShape", - "Inputs", + "Criteria", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "rectangular", - "++", + "u2 ~= 0", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -174,8 +221,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 1, + 9 ] }, "viewer":{ @@ -184,65 +231,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2794", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMax", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2795", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2781", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_hitMin", - "local", - "Tag" + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -250,7 +290,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, @@ -347,63 +387,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2778", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", "className":"Simulink.SubSystem", @@ -502,125 +485,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2776", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2814", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "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:9728:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Clamping_circuit", + "label":"Clamping_circuit", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ @@ -713,11 +582,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2773", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ @@ -740,7 +609,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -780,120 +649,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2781", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2771", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2845", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"I", - "label":"I", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "b_hitSat", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -901,7 +677,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, @@ -999,32 +775,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2815", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2771", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", + "name":"I", + "label":"I", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "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", @@ -1033,8 +827,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -1043,49 +837,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2845", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitSat", - "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:9728:2770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2732", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", + "name":"satMax", + "label":"satMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ @@ -1108,7 +869,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -1148,11 +909,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2769", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2770", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"err", - "label":"err", + "name":"P", + "label":"P", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ @@ -1175,7 +936,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -1215,11 +976,68 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2773", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2778", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide5", + "label":"Divide5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,5)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2733", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"satMin", + "label":"satMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ @@ -1242,7 +1060,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "5", "Port number", "[]", "[]", @@ -1282,11 +1100,160 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2732", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2776", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2783", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "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:9728:2794", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2769", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", + "name":"err", + "label":"err", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ @@ -1309,7 +1276,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -1348,6 +1315,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2795", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2844", "className":"Simulink.Logic", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.svg index e73b3b1..ca96aba 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.svg @@ -59,11 +59,59 @@ + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + - + @@ -71,35 +119,35 @@ - + - + - + - + - + - + - + - + @@ -120,32 +168,32 @@ - - - + + + - - + + - - Ini=0 + + boolean - - - + + + - - + + - - boolean + + Ini=0 @@ -156,68 +204,188 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -228,62 +396,68 @@ - - - + + + - - + + - - + + - - [b_hitMax] + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_hitMin] - - - - - - - + + sfix32_En20 @@ -304,11 +478,11 @@ - + - + [b_hitSat] @@ -326,11 +500,11 @@ - + - + boolean @@ -352,11 +526,11 @@ - + - + [b_hitMin] @@ -374,11 +548,11 @@ - + - + boolean @@ -400,11 +574,11 @@ - + - + [b_hitMax] @@ -415,424 +589,114 @@ - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Integrator - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + u - - + + - - + + y + + + + - - - + + + + - - + + + + + + - - - + + + + - - T + + - - + + - - F - - - - - - - + + Integrator - - + + + + + + + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -844,6 +708,12 @@ + + + + + + @@ -859,35 +729,35 @@ - + - + preIntegrator - + - + preSat - + - + hitSat - + - + Clamp @@ -917,11 +787,11 @@ - + - + Clamping_circuit @@ -938,11 +808,11 @@ - + - + boolean @@ -954,200 +824,98 @@ - + - + - + - + - - 5 + + 6 - + - - - - - - - - - - satMin - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 + + - - - - - - - - - - - - - - - - - - - - + + - - 3 - - - - - - - + + ext_limProt - - - + + + - - + + - - I + + sfix16_En10 - - - - + + + + + + + + + + + + + + + - - + + - - ufix16_En16 + + [b_hitSat] + + + + + + + @@ -1168,91 +936,91 @@ - + - + up - + - + u - + - + lo - + - + hitMax - + - + y - + - + hitMin - + - + - + - + - + - + - + - + - + - + @@ -1266,75 +1034,75 @@ - - + + - - + + - - boolean + + sfix16_En4 - + - - + + - + boolean - - + + - - + + - - sfix16_En4 + + boolean - + - + - + - + - + - + @@ -1348,44 +1116,59 @@ - - - + + + - - + + - - + + - - 0 + + 3 - - + + + + + + + + + + + + + + + + + I - - + + - - + + - - sfix32_En20 + + ufix16_En16 @@ -1396,29 +1179,178 @@ - - - + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + satMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + P + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + - - + + - - + + - - [b_hitSat] + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En5 @@ -1429,59 +1361,59 @@ - - + + - + - + - - 2 + + 5 - + - - + + - - + + - - P + + satMin - - + + - - + + - - ufix16_En12 + + sfix16_En4 @@ -1492,59 +1424,52 @@ - - - + + + - - + + - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - - - - - - err + + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -1555,59 +1480,101 @@ - - - + + + - - + + - - + + - - 6 + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - ext_limProt + + sfix16_En4 - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En10 + + [b_hitMax] + + + + + + + @@ -1618,58 +1585,58 @@ - - + + - + - + - - 4 + + 1 - + - - + + - - + + - - satMax + + err - + - - + + - + sfix16_En4 @@ -1679,6 +1646,39 @@ + + + + + + + + + + + + + + + + + + [b_hitMin] + + + + + + + + + + + + + + + @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json index e606397..a67d7ae 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json @@ -1,4 +1,84 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2790", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "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:9729:2789", "className":"Simulink.UnitDelay", @@ -96,86 +176,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2790", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", - "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:9729:2788", "className":"Simulink.Sum", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg index 039573e..209ea86 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg @@ -10,6 +10,54 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + @@ -23,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -72,32 +120,32 @@ - - - + + + - - + + - - Ini=0 + + sfix32_En20 - - - + + + - - + + - - sfix32_En20 + + Ini=0 @@ -118,19 +166,19 @@ - + - + - + - + @@ -156,11 +204,11 @@ - + - + sfix16_En4 @@ -170,54 +218,6 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json index b2fca38..843a71b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json @@ -80,11 +80,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2710", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", + "name":"hitMin", + "label":"hitMin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", "inspector":{ "params":[ @@ -113,7 +113,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -319,73 +319,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2710", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2707", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"hitMin", - "label":"hitMin", + "name":"UpperRelop", + "label":"UpperRelop", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", "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":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", + "<", "off", - "inherit", - "-1", - "Inherit", + "boolean", + "Nearest", "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1, + 4 ] }, "viewer":{ @@ -394,7 +359,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -466,38 +431,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2707", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2709", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UpperRelop", - "label":"UpperRelop", + "name":"hitMax", + "label":"hitMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "<", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Nearest", + "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":{ @@ -506,7 +506,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg index df49d3f..f5454b3 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg @@ -61,11 +61,11 @@ - - + + - + @@ -75,30 +75,30 @@ - - 1 + + 3 - + - - + + - + - - hitMax + + hitMin @@ -572,44 +572,75 @@ - - - + + + - - + + - + - + - - 3 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - hitMin + + UpperRelop + + + + + + + + + + + + + + + boolean @@ -630,11 +661,11 @@ - + - + 2 @@ -652,11 +683,11 @@ - + - + u @@ -667,11 +698,11 @@ - + - + sfix16_En4 @@ -683,75 +714,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - - - - - - + + - - - - - - - - - - UpperRelop - - - - - - - + + - + - - boolean + + hitMax @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json index 90276b1..f5f27bc 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json @@ -214,11 +214,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2839", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2837", "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"SignDeltaU3", - "label":"SignDeltaU3", + "name":"SignDeltaU2", + "label":"SignDeltaU2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", "inspector":{ "params":[ @@ -244,53 +244,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2840", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"DataTypeConv4", - "label":"DataTypeConv4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int8", - "on", - "Real World Value (RWV)", - "Zero", - "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:9729:2841", "className":"Simulink.RelationalOperator", @@ -383,6 +336,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2839", + "className":"Simulink.Signum", + "icon":"WebViewIcon3", + "name":"SignDeltaU3", + "label":"SignDeltaU3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "inspector":{ + "params":[ + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Signum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2843", "className":"Simulink.Inport", @@ -451,25 +435,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2837", - "className":"Simulink.Signum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2840", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"SignDeltaU2", - "label":"SignDeltaU2", + "name":"DataTypeConv4", + "label":"DataTypeConv4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", "inspector":{ "params":[ - "ZeroCross", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", "SampleTime" ], "values":[ + "[]", + "[]", + "int8", "on", + "Real World Value (RWV)", + "Zero", + "off", "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -477,7 +477,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Signum", + "blocktype":"DataTypeConversion", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg index b59abef..bec5abb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg @@ -187,11 +187,11 @@ - - - + + + - + @@ -201,7 +201,7 @@ - + @@ -209,7 +209,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -225,7 +225,7 @@ - + @@ -240,23 +240,23 @@ - + - + - + - - int16 + + int32 @@ -267,30 +267,38 @@ - - - + + + - - + + - + - - + + - + - - + + + + + + + + + + @@ -304,23 +312,23 @@ - - + + - - + + - - + + - - int8 + + boolean @@ -331,38 +339,30 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + - + - - + + @@ -376,23 +376,23 @@ - - + + - - + + - + - - boolean + + int8 @@ -403,30 +403,46 @@ - - - + + + - - + + - + - - + + + + + + + + + + - + - - + + + + + + + + + + @@ -440,23 +456,23 @@ - - + + - - + + - - + + - - int8 + + int16 @@ -477,11 +493,11 @@ - + - + 3 @@ -499,11 +515,11 @@ - + - + hitSat @@ -514,11 +530,11 @@ - + - + boolean @@ -530,46 +546,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -583,23 +583,23 @@ - - + + - - + + - + - - int32 + + int8 @@ -612,7 +612,7 @@ - + @@ -642,32 +642,32 @@ - - - - - - - - - - - - + - + boolean + + + + + + + + + + + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json index 453c236..730990e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json @@ -1,84 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2785", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"out", - "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "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:9729:2817", "className":"Simulink.UnitDelay", @@ -187,42 +107,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2783", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2815", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "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", + "0", + "on", + "inf", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "inf" ], "tabs":[ "Main", @@ -231,8 +141,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 3, + 7 ] }, "viewer":{ @@ -241,100 +151,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Saturation_hit", - "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "inspector":{ - "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" - ], - "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "off", - "off", - "off", - "-1", - "Auto", - "Auto", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "on", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", + "blocktype":"Constant", "masktype":"" } }, @@ -436,25 +253,84 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2795", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2783", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_hitMin", - "local", - "Tag" + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2845", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitSat", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" ], "tabs_idx":0 }, @@ -469,19 +345,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2846", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2794", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hitSat", + "b_hitMax", + "local", "Tag" ], "tabs":[ @@ -495,16 +373,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2832", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2833", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ @@ -512,7 +390,7 @@ "IconDisplay" ], "values":[ - "b_hitMax", + "b_hitMin", "Tag" ], "tabs":[ @@ -531,17 +409,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2778", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2781", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -553,12 +432,13 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Inherit via internal rule", "off", "Simplest", "on", @@ -574,7 +454,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -583,26 +463,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2794", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2832", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "b_hitMax", - "local", "Tag" ], "tabs":[ @@ -616,30 +494,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2833", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2776", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_hitMin", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "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" @@ -647,32 +551,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2845", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2773", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"ext_limProt", + "label":"ext_limProt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_hitSat", - "local", - "Tag" + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -680,7 +618,74 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2733", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMin", + "label":"satMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", "masktype":"" } }, @@ -724,10 +729,183 @@ "-1", "auto", "off", - "", - "on", + "", + "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:9729:2791", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Saturation_hit", + "label":"Saturation_hit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "inspector":{ + "params":[ + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" + ], + "values":[ + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "off", + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2785", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "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":[ @@ -747,7 +925,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, @@ -819,70 +997,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2781", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2776", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2778", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide5", + "label":"Divide5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ @@ -905,10 +1024,10 @@ "off", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,5)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -1002,110 +1121,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2815", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "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:9729:2773", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2795", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "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" + "b_hitMin", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1113,16 +1149,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2769", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", + "name":"err", + "label":"err", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ @@ -1145,7 +1181,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -1282,61 +1318,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2769", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2846", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"err", - "label":"err", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "b_hitSat", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1344,7 +1344,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg index e76bc7e..b78bce3 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg @@ -10,54 +10,6 @@ - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - @@ -71,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -120,32 +72,32 @@ - - - + + + - - + + - - Ini=0 + + boolean - - - + + + - - + + - - boolean + + Ini=0 @@ -158,7 +110,7 @@ - + @@ -166,155 +118,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -332,11 +284,11 @@ - + - + sfix32_En20 @@ -348,68 +300,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 0 - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -420,280 +348,168 @@ - - - + + + - - + + + + + + + + - - - - - - up - - - - + + - + u - - + + - - lo + + y + + + + - - - + + + + - - hitMax + + + + + + - - - + + + + - - y + + - - + + - - hitMin + + Integrator + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - boolean - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + + + + - - + + - - u + + - - + + - - y - - - - - - - - - - - - - + + - - - - - - - - + + + - - + + - - + + - - Integrator + + + + + + + + + - - - - - - - + - - + + - + sfix16_En4 @@ -705,34 +521,28 @@ - - - - - - - - + + - + - + - - [b_hitMin] + + [b_hitSat] - + @@ -744,44 +554,29 @@ - - + + - - + + - + - - [b_hitSat] + + [b_hitMax] - - - - - - - - - - - - - - - - - boolean + + @@ -792,43 +587,43 @@ - - + + - + - + - - [b_hitMax] + + [b_hitMin] - + - + - - + + - + boolean @@ -840,52 +635,68 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En5 + + sfix32_En20 @@ -896,29 +707,44 @@ - - - + + + - - + + - - + + - + [b_hitMax] - - + + + + + + + + + + + + + + + + + boolean @@ -929,44 +755,52 @@ - - - + + + - - + + - - + + + + + + + + + + - - [b_hitMin] + + - - + + - - + + - - + + - - boolean + + sfix32_En20 @@ -977,29 +811,59 @@ - - - + + + - - + + - - + + - - [b_hitSat] + + 6 - - + + + + + + + + + + + + + + + + + ext_limProt + + + + + + + + + + + + + + + sfix32_En20 @@ -1010,58 +874,58 @@ - - + + - + - + - - 4 + + 5 - + - - + + - - + + - - satMax + + satMin - + - - + + - + sfix16_En4 @@ -1073,59 +937,59 @@ - - + + - + - + - - 3 + + 4 - + - - + + - - + + - - I + + satMax - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -1136,68 +1000,186 @@ - - - + + + - - + + - - + + - - + + up - - + + - - + + u - - + + - - + + lo - - + + - - + + hitMax + + + + + + + + y + + + + + + + + hitMin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + + + + + boolean + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + boolean + + + + + + + + - - sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + @@ -1208,52 +1190,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 1 - - + + - - - + + + - - + + - - sfix32_En20 + + out @@ -1264,59 +1238,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - P + + I - + - - + + - - ufix16_En12 + + ufix16_En16 @@ -1327,44 +1301,52 @@ - - - + + + - - + + - - + + - - 0 + + + + + + + + + + - - + + - - + + - - + + - - sfix32_En20 + + sfix16_En5 @@ -1375,59 +1357,59 @@ - - + + - + - + - - 6 + + 2 - + - - + + - - + + - - ext_limProt + + P - - + + - - + + - - sfix32_En20 + + ufix16_En12 @@ -1438,58 +1420,91 @@ - - + + + + + + + + + + + + + + + + [b_hitMin] + + + + + + + + + + + + + + + + + + + - + - + - - 5 + + 1 - + - - + + - - + + - - satMin + + err - + - - + + - + sfix16_En4 @@ -1517,35 +1532,35 @@ - + - + preIntegrator - + - + preSat - + - + hitSat - + - + Clamp @@ -1575,11 +1590,11 @@ - + - + Clamping_circuit @@ -1596,11 +1611,11 @@ - + - + boolean @@ -1612,65 +1627,50 @@ - + - - + + - - + + - - + + - - 1 + + [b_hitSat] - - - - - - - - - - - - - - - - - err + + - - + + - + - - sfix16_En4 + + boolean @@ -1683,7 +1683,7 @@ - + @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json new file mode 100644 index 0000000..f9b2ec0 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json @@ -0,0 +1,2255 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9786", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Sinusoidal With 3rd Harmonic

", + "label":"

Sinusoidal With 3rd Harmonic

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

Sinusoidal With 3rd Harmonic

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9783", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"V_phaABC_SIN", + "label":"V_phaABC_SIN", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9780", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"r_sin3PhaA_M1", + "label":"r_sin3PhaA_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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_sin3PhaA_M1", + "Flat", + "None", + "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:9781", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"r_sin3PhaB_M1", + "label":"r_sin3PhaB_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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_sin3PhaB_M1", + "Flat", + "None", + "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:9782", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"r_sin3PhaC_M1", + "label":"r_sin3PhaC_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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_sin3PhaC_M1", + "Flat", + "None", + "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:9779", + "className":"Simulink.PreLookup", + "icon":"WebViewIcon3", + "name":"a_elecAngle_XA", + "label":"a_elecAngle_XA", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "UseLastBreakpoint", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "FractionDataTypeStr", + "LockScale", + "RndMeth", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "OutputBusDataTypeStr", + "SampleTime" + ], + "values":[ + "Explicit values", + "Dialog", + "a_elecAngle_XA", + "Index only", + "Evenly spaced points", + "Clip", + "off", + "None", + "off", + "Inherit: Same as input", + "[]", + "[]", + "uint8", + "Inherit: Inherit via internal rule", + "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:9742", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9743", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Phase_Advance_Calculation", + "label":"Phase_Advance_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9828", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_elecPeriod1", + "label":"a_elecPeriod1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", + "on", + "inf", + "[]", + "[]", + "uint8", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9802", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9801", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "a_elecAngle", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9818", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9800", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9810", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "V_phaABC_SIN", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9799", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9819", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux2", + "label":"Mux2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9804", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9803", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9805", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_dir", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9798", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9816", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9797", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_dir", + "label":"z_dir", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9820", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "V_phaABC_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:9795", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9806", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9796", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9779#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9828#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9743#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9795#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9798#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9797#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9796#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9803#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9804#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9805#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9806#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9810#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9818#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9780#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9781#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9782#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9819#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "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:9816#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.png new file mode 100644 index 0000000000000000000000000000000000000000..0d852e03a0c5b7c955d163ddb5e1979d1d19a381 GIT binary patch literal 5093 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 MU0<#8p6&Dh1E<+!ZU6uP literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg new file mode 100644 index 0000000..55be1ad --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg @@ -0,0 +1,2987 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Sinusoidal With 3rd Harmonic + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + V_phaABC_SIN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + r_sin3PhaA_M1 + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + r_sin3PhaB_M1 + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + r_sin3PhaC_M1 + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a_elecAngle_XA + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + elseif { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + a_elecAngle + + + + + + + + z_dir + + + + + + + + n_motAbs + + + + + + + + a_elecAngleAdv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Phase_Advance_Calculation + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [V_phaABC_SIN] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En14 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_dir + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [V_phaABC_SIN] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + a_elecAngle + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json new file mode 100644 index 0000000..ae44f6a --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json @@ -0,0 +1,2976 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9777", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Phase Advance map as a function of the Input target.

", + "label":"

Phase Advance map as a function of the Input target.

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

Phase Advance map as a function of the Input target.

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9778", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Phase Advance / Field Weakening

", + "label":"

Phase Advance / Field Weakening

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

Phase Advance / Field Weakening

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9745", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_dir", + "label":"z_dir", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9757", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9776", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"a_elecAngleAdv", + "label":"a_elecAngleAdv", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9749", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_elecAngleAdv", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9768", + "className":"Simulink.Scope", + "icon":"WebViewIcon3", + "name":"Scope", + "label":"Scope", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":[ + ], + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Scope", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9765", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux", + "label":"Mux", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9752", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9753", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_elecAngleAdv", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9754", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "a_phaAdv_M1", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9770", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch_PhaAdv", + "label":"Switch_PhaAdv", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9773", + "className":"Simulink.Interpolation_nD", + "icon":"WebViewIcon3", + "name":"a_phaAdv_M1", + "label":"a_phaAdv_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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", + "a_phaAdv_M1", + "Linear", + "None", + "off", + "0", + "off", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,8)", + "[]", + "[]", + "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:9775", + "className":"Simulink.PreLookup", + "icon":"WebViewIcon3", + "name":"r_phaAdv_XA", + "label":"r_phaAdv_XA", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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", + "r_phaAdv_XA", + "Index and fraction", + "Evenly spaced points", + "Clip", + "off", + "None", + "off", + "Inherit: Same as input", + "[]", + "[]", + "uint8", + "fixdt(0,8,7)", + "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:9751", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9744", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9761", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9762", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "a_elecAngleAdv", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9772", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_elecPeriod2", + "label":"a_elecPeriod2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "a_elecPeriod", + "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:9769", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9755", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9766", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Product2", + "label":"Product2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "2", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9756", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_dir", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9759", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "a_phaAdv_M1", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9760", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9792", + "className":"Simulink.Relay", + "icon":"WebViewIcon3", + "name":"n_fieldWeakAuth", + "label":"n_fieldWeakAuth", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "SampleTime", + "ZeroCross" + ], + "values":[ + "n_fieldWeakAuthHi", + "n_fieldWeakAuthLo", + "1", + "0", + "Elements as channels (sample based)", + "[]", + "[]", + "boolean", + "off", + "-1", + "on" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 5, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Relay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Modulo_fixdt", + "label":"Modulo_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "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:9758", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9791", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"b_fieldWeakEna", + "label":"b_fieldWeakEna", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "b_fieldWeakEna", + "on", + "inf", + "[]", + "[]", + "boolean", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9787", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9794", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9746", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9747", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9793", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs5", + "label":"Abs5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9788", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator1", + "label":"Logical Operator1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9773#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9756#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9745#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9765#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9749#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9754#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9775#out:2", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9775#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9744#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9746#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9747#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9791#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9792#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9787#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9788#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9794#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9793#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9769#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9772#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:10035#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9766#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9755#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9752#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9751#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9770#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "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:9753#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.png new file mode 100644 index 0000000000000000000000000000000000000000..00ab1a4ade56983fd088d9efc696ac8d49365112 GIT binary patch literal 6883 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 G`~Lwj3q1z_ literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg new file mode 100644 index 0000000..6f4a363 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg @@ -0,0 +1,2697 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Phase Advance map as a function of the Input target. + + + + + + + + + + + + + + + + + + + Phase Advance / Field Weakening + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_dir + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + a_elecAngleAdv + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngleAdv] + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngleAdv] + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_phaAdv_M1] + + + + + + + + + + + + + + + + + + + + + + sfix16_En8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1-D T(k,f) + + + + + + + + k1 + + + + + + + + f1 + + + + + + + + + + + + + + + + + + + + + + a_phaAdv_M1 + + + + + + + + + + + + + + + sfix16_En8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_phaAdv_XA + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + ufix8_En7 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngleAdv] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a_elecPeriod + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [a_phaAdv_M1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + n_fieldWeakAuth + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + num + + + + + + + + div + + + + + + + + rem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + b_fieldWeakEna + + + + + + + + + + + + + + + + + + + + + + b_fieldWeakEna + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + a_elecAngle + + + + + + + + + + + + + + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.json new file mode 100644 index 0000000..14bc7bb --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.json @@ -0,0 +1,231 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9902", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"V_phaABC_FOC", + "label":"V_phaABC_FOC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "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:9847", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "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:9843", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"V_phaABC_FOC_in", + "label":"V_phaABC_FOC_in", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "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:9843#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.png new file mode 100644 index 0000000000000000000000000000000000000000..fca5f903c8faea53436730b62f22ded94e40064f GIT binary patch literal 3565 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 v>YOTct4k@*$VBvqp49)}H1J;|kibwv+#@VPLl* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + V_phaABC_FOC + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + V_phaABC_FOC_in + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json new file mode 100644 index 0000000..df48629 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json @@ -0,0 +1,906 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9907", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"V_phaABC_COM", + "label":"V_phaABC_COM", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9906", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9236", + "className":"Simulink.LookupNDDirect", + "icon":"WebViewIcon3", + "name":"z_commutMap_M1", + "label":"z_commutMap_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "NumberOfTableDimensions", + "InputsSelectThisObjectFromTable", + "TableIsInput", + "Table", + "DiagnosticForOutOfRangeInput", + "TableMin", + "TableMax", + "TableDataTypeStr", + "LockScale", + "SampleTime" + ], + "values":[ + "2", + "Column", + "off", + "z_commutMap_M1", + "None", + "[]", + "[]", + "int8", + "off", + "-1" + ], + "tabs":[ + "Main", + "Table Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 5, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"LookupNDDirect", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9912", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "VqFin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9211", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_pos", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9913", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "V_phaABC_COM", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9209", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9911", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_pos", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9910", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_pos", + "label":"z_pos", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9823", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "V_phaABC_COM", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9909", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"VqFin", + "label":"VqFin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9209#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9211#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9236#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9453#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9909#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9910#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "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:9913#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf73e6e3acf7138ff6ad49f18b521fa0e85b7ef GIT binary patch literal 5718 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 UJ3Unm42mIW1yy8;oMGU90m$o)CIA2c literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg new file mode 100644 index 0000000..d2405a0 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg @@ -0,0 +1,828 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + V_phaABC_COM + + + + + + + + + + + + + + + + + + + + + + + + + + else { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2-D T[k] + + + + + + + + + + + + + + + + + + + + + + z_commutMap_M1 + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFin] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [V_phaABC_COM] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_pos + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + [V_phaABC_COM] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + VqFin + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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_9937_d.json similarity index 65% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json index eb9ab2d..e0fab87 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_9937_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9373", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9952", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

Input Scaling [-1000,1000] → [min,max]

", - "label":"

Input Scaling [-1000,1000] → [min,max]

", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"

In case of OPEN_MODE request the input target command will be reduced to 0 with a predefined rate.

", + "label":"

In case of OPEN_MODE request the input target command will be reduced to 0 with a predefined rate.

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

Input Scaling [-1000,1000] → [min,max]

", + "\n\n

In case of OPEN_MODE request the input target command will be reduced to 0 with a predefined rate.

", "off", "rich", "auto", @@ -49,12 +49,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9372", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9951", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"r_inpTgtScaOpen", + "label":"r_inpTgtScaOpen", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "Port", @@ -95,9 +95,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -129,36 +129,139 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9370", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950", + "className":"Rising edge init", + "icon":"WebViewIcon4", + "name":"rising_edge_init", + "label":"rising_edge_init", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "1", - "u1 == CTRL_FOC", + "FromPortIcon", + "ReadWrite", "", + "All", "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", - "on" + "", + "off", + "" ], "tabs":[ - "Parameter Attributes", + "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:9949", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"dV_openRate", + "label":"dV_openRate", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "dV_openRate", + "on", + "inf", + "[]", + "[]", + "fixdt(1,28,16)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 4 + 3, + 7 ] }, "viewer":{ @@ -167,17 +270,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9368", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10006", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "GotoTag", @@ -185,7 +288,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_inpTgtScaOpen", "local", "Tag" ], @@ -205,25 +308,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9365", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9945", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"Gain3", + "label":"Gain3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Gain", + "Multiplication", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "z_ctrlModReq", - "Tag" + "-1", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -231,24 +362,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9943", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "GotoTag", "IconDisplay" ], "values":[ - "r_inpTgt", + "VqFinPrev", "Tag" ], "tabs":[ @@ -267,33 +398,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9371", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9947", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "Inputs", - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "[]", - "off", - "[]" + "VqFinPrev", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -301,32 +426,46 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9369", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9942", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "z_ctrlTypSel", - "local", - "Tag" + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -334,24 +473,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9362", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9944", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "GotoTag", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_inpTgtScaOpen", "Tag" ], "tabs":[ @@ -370,25 +509,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9941", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"Data Type Conversion", + "label":"Data Type Conversion", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "r_inpTgt", - "Tag" + "[]", + "[]", + "fixdt(1,28,16)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -396,30 +551,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9363", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9940", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"Constant23", + "label":"Constant23", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_ctrlTypSel", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -427,224 +600,118 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"FOC_Control_Type", - "label":"FOC_Control_Type", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "icon":"WebViewIcon9", + "name":"Rate_Limiter", + "label":"Rate_Limiter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", "MinAlgLoopOccurrences", - "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", + "SystemSampleTime", + "RTWSystemCode", "RTWFcnNameOpts", - "RTWFileName", + "RTWFcnName", "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", + "IsSubsystemVirtual", "Variant", - "VariantControl" + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", "", - "off", "", - "void_void", - "off", - "off", - "off", "", - "off", + "ReadWrite", "", + "All", + "on", "off", "off", - "", + "-1", "Auto", + "Use subsystem name", "", "Auto", + "", + "void_void", + "off", "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:9366", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlModReq", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9335", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", "off", "", - "on", + "", "off", "off", - "off" + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9367", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9939", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "r_inpTgt", - "local", - "Tag" + "reset", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -657,181 +724,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9336", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "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:9337", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Commutation_Control_Type", - "label":"Commutation_Control_Type", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" - ], - "tabs":[ - "Main", - "-Other" - ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9334", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9938", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel", - "label":"z_ctrlTypSel", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"VqFinPrev", + "label":"VqFinPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "Port", @@ -893,165 +796,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9364#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "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:9362#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "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:9334#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "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:9363#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9938#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1097,12 +847,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9361#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9940#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1148,12 +898,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9335#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1199,12 +949,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9371#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9945#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1250,12 +1000,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9365#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9949#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1301,12 +1051,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9336#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9944#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1352,12 +1102,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9341#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1403,12 +1153,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9370#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9943#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1454,12 +1204,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9941#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1505,12 +1255,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9370#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9942#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.png new file mode 100644 index 0000000000000000000000000000000000000000..b2bd9f276946f7982c9663361d8f6963c69ae50d GIT binary patch literal 5906 zcmd^DgpgQD~J>62KiAcAR;iNTUr<+q=$qwB8W(rW3)7k5F{l8DRG2I zIYGMPd-?v1@4K#zan5#~bKd8DZ-r^tAQ0v*Ej1Mb-w*3}=ZDW$I>?FS1p2$ zDk?DfL(Oe61f%02A`RCJA-cg}sT@V}fBI1G&KGUMpFea7JuAEKKYUAtG?IoxH8@y_l$3NHDVyg1CJG|*SlQp-e}3mEe1M9Y z`qA-ATU%TD`Y1=IWRZdGGxO(gn3@Q4#+Y-gIT)6>iB4>ONZr@N%kU z&CJXkaTM3o)s6gOt@7XjCAf1^R#yD%thqEhO$0i%D>)PGE6*9OdILs9Nc?%oRwPAeYV9QLyNYNU#5%a_`(`ty3B7<4jLZnmx<FM@OxMe*wH?cavg3A&vl+d#n(n-X09g0S4Pv_@rr|0MQ zAFJNr79?v3V3}$)L%55VlnOFKT_o*J49iKHno_*u;%?f-#zOiEs%e_s?Wr`y(!2Wl zwUIwjC3!JDTW1=a9fK2w;^N}U*zvrA0um{=pUOc&imzj09$Q!>ct}&#&&1jE#DjX| z;c$T+lJZHK^K5g6q~HI@*tZms3f+9H=(_-)KM-ycWN1G>)8>BtI)qIM@>bi=%~F|M zg&X36F9~13R;1ASxRo=6%$oByn3b05=jeP85Yi+uD;^v2-)6FSz)1r^k1}Lv6Rd)S8zC7<+KZoi>v4GQ2N)F zw5ONXxAE~;<5;6%XN7xN1sA_?2b=yuineGXkLJ)l0uiFyJdJX^CtjscKYsLmMg~A! z)yo4nUz|A=EiG^QL+d=>jKPSoFk;Q*lv~XJsXE1spl_?It06kYXaE;(x)46C-hlzM z$bja92lu7f)y>V#|J0gSTnA_sHY|NN!+EfGlgnI7Uo}Y+vbI*=+UG56>9}ebcX#U% zXWT6bUFp&Qk9AZ|?NiL%?ryhnzQ90j7RIzfoVn$gKw&pINruaQx-d-Lgn`%nmjKCAYD{1xoDWU=eJEy961 zPi{C=Pf^+8V%N?#r=*0!AIAw9nVO1fJKw92_TLp^h$fjRH=~SGM|%?{I>ZK*#BSfF zo~*El99}_pE`)&6*x2xXcanJh`nAWx=PO_;EnQrwoF_`tckLe?bPukM@-JoJot`>H z?;`oB+@un-D*}u`9m;i%JWNFTgPKkI$v(B1%BUsVEzO+wU$aa1Wp{LjPLw_A$CeP& za1hJNy>&lh6bzwea~n6zP4tAJ*5B*j^TlaTfp6}Y&YCazv|0H5w0<1+a<9bG7j-PY z*~xXQ!&G4CgA5cq{yHy@XZPUXellOz;)~tAy$(xwJ9w?^SdEuFg~O<#dKO`9Y@H(` zbnG-_qobqTS`1Ci&5!lRFR z4u|-Cgx*oVAmdL}`5wH6s z6|B`=Y@sd7Phihjp0kbMA(*6D@I%fP5usi9-T-}g7F255$dIH-0vOAr4At)%^~D;- z$(hAe)7q-|cdjj1M^0G$#n6kkhou$G&t&eT69}ofW5v2Q0RilDXB$2*_WvTNsHk#^ zi^=3re<3-i!+>NT3NTWULRnc^EA0naW8>qC{Eb|GHqe7P^4ULC?G#^ zNl6|s4l{MGfGXci{M+;2Iwn*sI^0QF_;}g|2^k==Bur`)DkO;`*)d)Fc)L%t#m}Lm z6BDF})TH$E=%OM4CMKo=oi2W@utEF#hK9@l8%SCFhgnU3IPPHfCBP_HjXDY?iIn94 zglJW3LQfM(AFY_mI5Ozd`bLYl}+wb4Mxsx=Nllgk9W1nITJJygo z$6>f9d<>yF#rHGniKyMVB5(iF3QUW=k9Ip*l-~YSpOl&^NeFx|$=zW|Cz?j7m`$sm zPtVWKzj+jZ>CC>K%PwJVP#%l6~8H+^h?jonwQEEK&08%R0@z2&(%4LS21p)eH zsA3k~(Kz+RunoFzs!mQ$st5#&;`yNs5Sf~q8q47lJg3I9XKdD0Fwn2ovvv1Qw|ZTK;)yjqxkwECs{&0v1}{#*du+0qI=-F{#%z>R zliDuM{xzW1Sq;lfYAx-uC?CdVV|D+lv|_Xn9F( z>G>JRf42BBVvQ=)x#`+_d#?ieyzD_jPf}W1WL=#k9|JklwQINcmPeUjiGBcoAIr?mF&8zaC#4%B$c#fuQDVNKOb%)-j5>fo?a(00eXMS6YPyuxR64)jxuhEx73 zSn9^c2Fr@*Y{Ls)Q*ejK9f$0|h)MI8)ZX6SJ5!WRjL>T3zbLt^!2Rj(a{_Ok>o6jN zPq%s+{P%82x=eZK3a(wdcFlLWZYaM74%R)ghFo1+3msT$A~ZJE$$^S2{29j{)NoXb z=lXgC5{U#H#C`7`BN~myNKz*B+#?KS0K*`evEEvPHZU-l-H|F}=FFx}JeSI9Rtq#;cyij-6p8C9L=O!~_pR zw1~f46u>SxYm=aW(yb7zvg4qG2njb!$XAz_)1aC;Ky4IinPEyw%EKA^q_=NhjgIOE941jX%-tF(tM#k%R%+-Js++ZpyE+v(p zlLG(A-*2G)fMKGfZ9wuL-< zI1=~rAg`#16gY_c_wQrkBfMP6{8lo3Ds6gbZ0+oFf&7u8i43t45>I*#S`TnH2QVK$ zwh!EClb@+iSaw7tkjVrd?-rykL~C(|Je%7XONUJcG^_CtDPtsnNXijzykopQBOxIn zBrN=3T(N$V#z%44vvK)5P4Yv5t@D$AHiU_?H$PO0oSzO440JYntyFrg=+xBLce+UG zA~xjywV=^twAE7o6ig;0H2wUJ^xcU=o^c(2{rdIhjC>J8occ;lJZ31y&EmkI1dF{i z+Rr;xcIr!^)jvh*Q4zss1Pkea!%cnnZfG1)dL*a;qo7WKz;JV>cHw8?ik9k+1SOvh z_Mn62x!ZqaIZ;%-^1$a#t?z&T8w8lLwzgI}=u~<(VCT`LQrdq4Vn>2j0i6f77Sd3B z)6q>zQZk~Yr3EplknvCexTs45Z7UWHq{&!>`Q5{!?|h5v>+2(gy*EQMw}gcq6f)v~ zOXyrsHZr>YK}Rq^k;~xLHSmw9MQdzwGQ;YgKM=g%%geJnL38flanc9vK__l-CM-@n zWPeErKDBuV&e+=KfVP27!!rh9EG#O(>`SwEheF9J-RD~U%A^3Z^a*Bv7_T;}F#iu& zHAC!w>guGVWMq$xjidGmlliT!oE8CFR{+;s4%_ov!@Ik?EO*4gs5*+X0$iP*%w4Dh zu@W_F3jh1pWp{u7^BOX*uI|#pN2>v=ju<1g1p@0<&z7H`Pbn*@#6+X$RpB^<&+#C?&NxBN8aEoAZaa_Ja%Pt*)Z}tJMw5TW?w{v=vohCmw_lCq;w#a~o zG<$>R62N}vk`fnawsDp96;Dr35Y&L>ge4YkFQr*n z`})GFMT*t0|3S)@nl+;)>`D=zNCD?4X5Sg7(FZc2Cxo1=2Fd|};LMelb{H8Ivt_+0 zKAK_`S5GQf7F+%#fEMS~=D3_sR+{-PHoON~cfL`qb}$h#S|t;mzzG z?Qw>8T7guUTUts5B8=uZGkADl%?k?)LBV?a`@<#)Uuc6ip+K)w-oEW{6wd=y0p9}R z!zge3sHIHi%PlT;7-ctdb#?W@>j#LYddu~CuArK?j#jes8yaAOIv?6C&bQMHo(*uF zZ<3wv7As{w@hjHJY{GKb-fBA@uh{HnbI-wGo{!$XvGE;`kJD8=`kghSvOJo4ZxWTg z1|F|t9aX%%WOfyF>STYtxpgh4tIy=xDVgq4eX&cjJ9K zrcQAf&17)`D*M&@=r6WnR+GSs>rbd!Dlgvv)n8g#0-XmafO=pISlmgL4!#}v3+3gH3+k?WbyNZ<@LRqHOXA7zP?}!vdP@FOA3=p>XD$`_EH!_B z)@?&pI2~(`uY5EWj`h~t@C8k(*$Fr}OP4TUY&G6tsdqmUMF_8I)%t8?G5u|1Bm_tb z$Pyrmfkq5X)xk5Pg>N(B@&8)buIHGZVKA7Ex$}Lgmi-^jl$$i)9&)aRJS^PaaVr&; z?0AP!nbn^E=|F@$)~FKGparIr0MDs)h2e3J!!>?YB9Ohq5|%s1&lDniY{ueZ;E;<5JlO}%Ef0`B2BM zzBrlVWv8(LaX}inI+8K~l)TdGSKz)fne8h)xzEh`+Vv5LTidqth|-B?e#zENF5L$Y zGWO$J@5%UXa_eNuO04f}`Lc5b?$XctF2=pQmAx?t`VPRJ=(b>s5+PFFe8gViEF94N@q;qN|#P{1K<24lTuJ128bry zLC2IBSj-qT9tjE>Hu{Z{ALs^cGlD3_rK_;V z^oKxLK+0a~pkS6S@uk@tbPxJu(7dZ><8$zzxU_T>Fxo`|ZPLPuseWe*6FPI&` z0IUS~U3+&N+qWM-UOS3Y + + + + + + + + + + + + + + + + + + + + + + + + + In case of OPEN_MODE request the input target + + + + + + + + command will be reduced to 0 with a predefined rate. + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaOpen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dV_openRate + + + + + + + + + + + + + + + + + + + + + + dV_openRate + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaOpen] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaOpen] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + initVal + + + + + + + + init + + + + + + + + inc + + + + + + + + dec + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rate_Limiter + + + + + + + + + + + + + + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + VqFinPrev + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.json index f74ff9c..41db5b6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2337", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2337", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch1", "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "Criteria", @@ -57,12 +57,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2335", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2335", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"initVal", "label":"initVal", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "Port", @@ -124,12 +124,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2339", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2339", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "Port", @@ -204,12 +204,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2334", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2334", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "Port", @@ -271,12 +271,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2340", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2340", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"init", "label":"init", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "Port", @@ -338,12 +338,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2341", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2341", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch2", "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "Criteria", @@ -395,12 +395,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2512", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2512", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", "name":"UnitDelay", "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "InitialCondition", @@ -445,12 +445,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2335#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2335#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "SignalNameFromLabel", @@ -496,12 +496,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2334#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2334#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "SignalNameFromLabel", @@ -547,12 +547,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2341#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2341#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "SignalNameFromLabel", @@ -598,12 +598,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2340#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2340#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "SignalNameFromLabel", @@ -649,12 +649,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2337#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2337#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "SignalNameFromLabel", @@ -700,12 +700,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342:2512#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342:2512#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.png 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_9948_2342_d.svg similarity index 95% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg index fd72a09..681c4dc 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_9948_2342_d.svg @@ -9,13 +9,13 @@
- + - + - + @@ -205,7 +205,7 @@ - + @@ -268,7 +268,7 @@ - + @@ -316,7 +316,7 @@ - + @@ -379,7 +379,7 @@ - + @@ -442,9 +442,9 @@ - + - + @@ -634,7 +634,7 @@ - + @@ -727,7 +727,7 @@ - + @@ -761,7 +761,7 @@ - + @@ -775,7 +775,7 @@ - + @@ -789,7 +789,7 @@ - + @@ -823,7 +823,7 @@ - + @@ -837,7 +837,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.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.json index 6cb05b4..f4e0b68 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:10", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:10", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:9", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"UpperRelop", "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Operator", @@ -125,12 +125,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:8", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch2", "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Criteria", @@ -182,12 +182,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:7", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch", "label":"Switch", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Criteria", @@ -239,12 +239,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:6", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"LowerRelop1", "label":"LowerRelop1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Operator", @@ -284,12 +284,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:5", "className":"Simulink.SFunction", "icon":"WebViewIcon3", "name":"Data Type Propagation", "label":"Data Type Propagation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "PropDataTypeMode", @@ -347,12 +347,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:4", "className":"Simulink.DataTypeDuplicate", "icon":"WebViewIcon3", "name":"Data Type Duplicate", "label":"Data Type Duplicate", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "NumInputPorts" @@ -376,12 +376,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:3", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"lo", "label":"lo", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Port", @@ -443,12 +443,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:2", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Port", @@ -510,12 +510,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:1", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"up", "label":"up", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "Port", @@ -577,12 +577,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:1#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:1#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "SignalNameFromLabel", @@ -628,12 +628,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:2#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:2#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "SignalNameFromLabel", @@ -679,12 +679,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:3#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:3#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "SignalNameFromLabel", @@ -730,12 +730,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:7#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:7#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "SignalNameFromLabel", @@ -781,12 +781,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:8#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:8#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "SignalNameFromLabel", @@ -832,12 +832,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:6#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:6#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "SignalNameFromLabel", @@ -883,12 +883,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395:9#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395:9#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.png 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_9948_2395_d.svg similarity index 94% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg index fc1ded5..9f359ea 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_9948_2395_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,9 +61,9 @@ - + - + @@ -140,9 +140,9 @@ - + - + @@ -332,9 +332,9 @@ - + - + @@ -524,9 +524,9 @@ - + - + @@ -603,9 +603,9 @@ - + - + @@ -652,9 +652,9 @@ - + - + @@ -709,7 +709,7 @@ - + @@ -772,7 +772,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -896,7 +896,7 @@ - + @@ -930,7 +930,7 @@ - + @@ -1009,22 +1009,22 @@ - + - + - + - + - + @@ -1058,7 +1058,7 @@ - + @@ -1112,7 +1112,7 @@ - + @@ -1146,7 +1146,7 @@ - + @@ -1160,7 +1160,7 @@ - + @@ -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_9948_d.json similarity index 89% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json index 3e1e3b8..51c2604 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_9948_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2353", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2353", "className":"Simulink.Annotation", "icon":"WebViewIcon2", "name":"

Rate Limiter

Note: The sample time must be included in the Increment and Decrement values.

", "label":"

Rate Limiter

Note: The sample time must be included in the Increment and Decrement values.

", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "Text", @@ -49,12 +49,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2343", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2346", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "IconShape", @@ -73,7 +73,7 @@ ], "values":[ "rectangular", - "++", + "+-", "off", "Inherit: Inherit via internal rule", "[]", @@ -108,12 +108,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2360", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2358", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"dec", + "label":"dec", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "Port", @@ -128,20 +167,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "5", "Port number", "[]", "[]", @@ -153,17 +186,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -183,85 +209,84 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2357", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"inc", + "label":"inc", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "DoSatur" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "4", + "Port number", "[]", "[]", - "Inherit: Same as second input", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", "off", - "Floor", "off" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Delay_Init1", - "label":"Delay_Init1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2356", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"dec", - "label":"dec", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"init", + "label":"init", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "Port", @@ -283,7 +308,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -323,12 +348,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2356", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2355", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"init", - "label":"init", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"initVal", + "label":"initVal", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "Port", @@ -350,7 +375,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -390,12 +415,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2355", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2360", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"initVal", - "label":"initVal", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "Port", @@ -410,14 +435,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", "[]", "[]", @@ -429,10 +460,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -452,17 +490,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2343", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "IconShape", @@ -481,7 +519,7 @@ ], "values":[ "rectangular", - "+-", + "++", "off", "Inherit: Inherit via internal rule", "[]", @@ -516,79 +554,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2359", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"u", - "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Delay_Init1", + "label":"Delay_Init1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "initVal" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "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":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2357", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2359", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"inc", - "label":"inc", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "Port", @@ -610,7 +610,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -650,12 +650,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2356#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2356#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -701,12 +701,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -752,12 +752,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2359#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2359#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -803,12 +803,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2357#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2357#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -854,12 +854,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2343#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2343#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -905,12 +905,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2346#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2346#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -956,12 +956,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2358#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2358#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1007,12 +1007,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2355#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2355#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1058,12 +1058,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.png 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_9948_d.svg similarity index 92% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg index 05a1593..f12d66e 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_9948_d.svg @@ -9,11 +9,11 @@
- + - + @@ -48,67 +48,59 @@ - - + + - + - + - + - + - + - + - - - - - - - - - + - + - + - - + + - + sfix28_En16 @@ -120,57 +112,9 @@ - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - - - - + - + @@ -178,35 +122,35 @@ - + - + - + - + - + - + - + - + @@ -218,35 +162,35 @@ - + - + up - + - + u - + - + lo - + - + y @@ -264,11 +208,11 @@ - + - + sfix28_En16 @@ -280,124 +224,59 @@ - - - + + + - - + + - - - - - - u - - - - - - - - initVal - - - - - - - - init - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - + + - - + + 5 - - + + - - - + + + - - + + - - sfix28_En16 + + dec - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + sfix28_En16 @@ -408,58 +287,58 @@ - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - dec + + inc - + - - + + - + sfix28_En16 @@ -471,7 +350,7 @@ - + @@ -481,11 +360,11 @@ - + - + 3 @@ -503,11 +382,11 @@ - + - + init @@ -518,11 +397,11 @@ - + - + boolean @@ -534,7 +413,7 @@ - + @@ -544,11 +423,11 @@ - + - + 2 @@ -566,11 +445,11 @@ - + - + initVal @@ -581,11 +460,11 @@ - + - + sfix28_En16 @@ -597,59 +476,115 @@ - - + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - + - + - - + + - + sfix28_En16 @@ -661,59 +596,124 @@ - - - + + + - - + + - - + + - - 1 + + u + + + + + + + + initVal + + + + + + + + init + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + - - + + - - - + + + - - + + - - u + + sfix28_En16 - - - - + - - + + - - sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + @@ -724,11 +724,11 @@ - - + + - + @@ -738,44 +738,44 @@ - - 4 + + 1 - + - - + + - + - - inc + + u - + - + - + sfix28_En16 @@ -785,7 +785,7 @@ - + @@ -799,7 +799,7 @@ - + @@ -833,7 +833,7 @@ - + @@ -847,7 +847,7 @@ - + @@ -861,7 +861,7 @@ - + @@ -895,7 +895,7 @@ - + @@ -909,7 +909,7 @@ - + @@ -923,7 +923,7 @@ - + @@ -937,7 +937,7 @@ - + @@ -953,5 +953,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.json index 2f7add5..dde0dea 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042:2364", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950:2364", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9042", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9950", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042:2363", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950:2363", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", "name":"UnitDelay", "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9042", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9950", "inspector":{ "params":[ "InitialCondition", @@ -130,12 +130,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042:2362", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950:2362", "className":"Simulink.Constant", "icon":"WebViewIcon3", "name":"Constant", "label":"Constant", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9042", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9950", "inspector":{ "params":[ "Value", @@ -179,12 +179,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042:2363#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950:2363#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9042", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9950", "inspector":{ "params":[ "SignalNameFromLabel", @@ -230,12 +230,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042:2362#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950:2362#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9042", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9950", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.png 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_9950_d.svg similarity index 97% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg index e680bd9..bde5187 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_9950_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,7 +61,7 @@ - + @@ -120,32 +120,32 @@ - - - + + + - + - - Ini=1 + + boolean - - - + + + - + - - boolean + + Ini=1 @@ -156,7 +156,7 @@ - + @@ -202,7 +202,7 @@ - + @@ -216,7 +216,7 @@ - + @@ -232,5 +232,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json new file mode 100644 index 0000000..b2c7168 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json @@ -0,0 +1,2719 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9993", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Input Scaling [-1000,1000] → [min,max]

", + "label":"

Input Scaling [-1000,1000] → [min,max]

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

Input Scaling [-1000,1000] → [min,max]

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10003", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Final check if OPEN_MODE is requested

", + "label":"

Final check if OPEN_MODE is requested

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

Final check if OPEN_MODE is requested

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9992", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Open_Mode", + "label":"Open_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "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:10013", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge1", + "label":"Merge1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" + ], + "values":[ + "[]", + "off", + "[]", + "2" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9987", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" + ], + "values":[ + "[]", + "off", + "[]", + "2" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9986", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 == CTRL_FOC", + "", + "on", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9983", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10004", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto12", + "label":"Goto12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFinPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9982", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlModReq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10014", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10002", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 == OPEN_MODE", + "", + "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:9981", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10015", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9980", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From22", + "label":"From22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9979", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From19", + "label":"From19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9977", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10000", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9978", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9957", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"FOC_Control_Type", + "label":"FOC_Control_Type", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "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:9984", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaRaw", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Default_Mode", + "label":"Default_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "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:9999", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlMod", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10016", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"VqFinPrev", + "label":"VqFinPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Default_Control_Type", + "label":"Default_Control_Type", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "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:9956", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgt", + "label":"r_inpTgt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:10005", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9955", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:9985", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9998", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlMod", + "label":"z_ctrlMod", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:9954", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9957#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9980#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9978#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9986#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9954#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9979#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9988#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9977#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9956#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9987#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9986#out:2", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9981#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9955#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9998#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10000#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10002#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10005#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:9937#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10007#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10013#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10015#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10002#out:2", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "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:10016#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png new file mode 100644 index 0000000000000000000000000000000000000000..0e07c156f51344ae643843738ff99b5a2f92b753 GIT binary patch literal 7175 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 literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg new file mode 100644 index 0000000..f4165bf --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg @@ -0,0 +1,2169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Input Scaling [-1000,1000] → [min,max] + + + + + + + + + + + + + + + + + + + Final check if OPEN_MODE is requested + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VqFinPrev + + + + + + + + r_inpTgtScaOpen + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open_Mode + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 == CTRL_FOC) + + + + + + + + else + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 == OPEN_MODE) + + + + + + + + else + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaRaw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + z_ctrlModReq + + + + + + + + r_inpTgtScaFOC + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FOC_Control_Type + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaRaw] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaRaw + + + + + + + + r_inpTgtScaDft + + + + + + + + else { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default_Mode + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + VqFinPrev + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + r_inpTgtScaDft + + + + + + + + else { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default_Control_Type + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModReq + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + z_ctrlMod + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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_9957_d.json similarity index 84% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json index ded4197..cf7320e 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_9957_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9360", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9976", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"r_inpTgtScaFOC", "label":"r_inpTgtScaFOC", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9359", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9972", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"constant", + "label":"constant", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Value", @@ -98,12 +98,12 @@ "FramePeriod" ], "values":[ - "n_max", + "1000", "on", "inf", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -129,12 +129,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9358", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9971", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"Vd_max", + "label":"Vd_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Value", @@ -147,7 +147,7 @@ "FramePeriod" ], "values":[ - "i_max", + "Vd_max", "on", "inf", "[]", @@ -178,47 +178,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9354", - "className":"Simulink.Selector", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9974", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Selector", - "label":"Selector", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"i_max", + "label":"i_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "IndexMode", - "IndexOptionArray", - "IndexOptions", - "IndexParamArray", - "Indices", - "InputPortWidth", - "NumberOfDimensions", - "OutputSizeArray", - "OutputSizes", - "SampleTime" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "Zero-based", - [ - "Index vector (port)" - ], - "Index vector (port)", - [ - "[1 3]" - ], - "[1 3]", - "4", - "1", - [ - "1" - ], - "1", - "-1" + "i_max", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -226,27 +222,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Selector", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9352", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9969", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"Mux", + "label":"Mux", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "r_inpTgt", - "local", - "Tag" + "4", + "bar" ], "tabs":[ "Parameter Attributes" @@ -259,17 +253,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9350", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9966", "className":"Simulink.Goto", "icon":"WebViewIcon3", "name":"Goto", "label":"Goto", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "GotoTag", @@ -297,56 +291,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9349", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "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:9348", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9975", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"n_max", + "label":"n_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "r_inpTgt", - "Tag" + "n_max", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -354,17 +335,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9962", "className":"Simulink.Product", "icon":"WebViewIcon3", "name":"Divide4", "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Inputs", @@ -416,12 +397,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9357", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9963", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaFOC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9973", "className":"Simulink.Constant", "icon":"WebViewIcon3", "name":"constant1", "label":"constant1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Value", @@ -465,12 +477,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9345", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9961", "className":"Simulink.Product", "icon":"WebViewIcon3", "name":"Divide1", "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Inputs", @@ -522,43 +534,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9960", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "1000", - "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" @@ -566,48 +560,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9355", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9964", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"From22", + "label":"From22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "Vd_max", - "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "inf" + "r_inpTgt", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -615,25 +591,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9344", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9965", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "z_ctrlModReq", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -646,17 +622,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9343", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9959", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"z_ctrlModReq", "label":"z_ctrlModReq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Port", @@ -718,12 +694,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9351", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9967", "className":"Simulink.Goto", "icon":"WebViewIcon3", "name":"Goto1", "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "GotoTag", @@ -751,19 +727,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9347", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9968", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtScaFOC", + "r_inpTgt", + "local", "Tag" ], "tabs":[ @@ -777,17 +755,118 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9970", + "className":"Simulink.Selector", + "icon":"WebViewIcon3", + "name":"Selector", + "label":"Selector", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "inspector":{ + "params":[ + "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", + "IndexParamArray", + "OutputSizeArray", + "InputPortWidth", + "SampleTime", + "IndexOptions", + "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", + "IndexParamArray", + "OutputSizeArray", + "InputPortWidth", + "SampleTime", + "IndexOptions", + "NumberOfDimensions", + "IndexMode", + "IndexOptionArray", + "IndexParamArray", + "OutputSizeArray", + "InputPortWidth", + "SampleTime", + "IndexOptions", + "Indices", + "OutputSizes" + ], + "values":[ + "1", + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], + [ + "1" + ], + "4", + "-1", + "Index vector (port)", + "1", + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], + [ + "1" + ], + "4", + "-1", + "Index vector (port)", + "1", + "Zero-based", + [ + "Index vector (port)" + ], + [ + "[1 3]" + ], + [ + "1" + ], + "4", + "-1", + "Index vector (port)", + "[1 3]", + "1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 24 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Selector", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9342", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9958", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"r_inpTgt", "label":"r_inpTgt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "Port", @@ -849,43 +928,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9353", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux", - "label":"Mux", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "4", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9342#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9958#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -931,12 +979,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9347#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9963#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -982,12 +1030,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9343#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9959#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1033,12 +1081,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9356#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9972#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1084,12 +1132,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9354#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9970#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1135,12 +1183,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9357#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9973#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1186,12 +1234,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9358#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9974#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1237,12 +1285,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9355#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9971#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1288,12 +1336,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9353#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9969#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1339,12 +1387,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9359#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9975#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1390,12 +1438,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9349#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9965#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1441,12 +1489,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9346#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9962#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1492,12 +1540,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9345#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9961#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1543,12 +1591,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9348#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9964#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.png 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_9957_d.svg similarity index 92% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg index e150031..fbed455 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_9957_d.svg @@ -9,11 +9,11 @@
- + - + @@ -61,58 +61,106 @@ - - + + + + + + + + + + + + + + + + 1000 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - + - + - - n_max + + Vd_max - + - - + + - - + + - - n_max + + Vd_max - + - - + + - + sfix16_En4 @@ -124,7 +172,7 @@ - + @@ -134,11 +182,11 @@ - + - + i_max @@ -156,11 +204,11 @@ - + - + i_max @@ -171,11 +219,11 @@ - + - + sfix16_En4 @@ -187,67 +235,43 @@ - - - + + + - - + + - - - - - - - U - - - - - - - - Idx1 - - - - - - - - 0 - - + - - Y + + - - + + - + - + - + sfix16_En4 @@ -259,40 +283,7 @@ - - - - - - - - - - - - - - - - [r_inpTgt] - - - - - - - - - - - - - - - - - - + @@ -302,11 +293,11 @@ - + - + [r_inpTgtScaFOC] @@ -325,91 +316,58 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + n_max - - + + - - - + + + - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - + + - - [r_inpTgt] - - - - - - - + + n_max - + - - + + - + sfix16_En4 @@ -421,9 +379,9 @@ - + - + @@ -431,35 +389,35 @@ - + - + - + - + - + - + - + - + @@ -478,11 +436,11 @@ - + - + ufix16_En12 @@ -494,7 +452,55 @@ - + + + + + + + + + + + + + + + + [r_inpTgtScaFOC] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + @@ -504,11 +510,11 @@ - + - + 0 @@ -526,11 +532,11 @@ - + - + sfix16_En4 @@ -542,9 +548,9 @@ - + - + @@ -552,19 +558,19 @@ - + - + - + - + @@ -582,11 +588,11 @@ - + - + sfix16_En4 @@ -598,44 +604,44 @@ - - - + + + - - + + - - + + - - 1000 + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -646,58 +652,43 @@ - - - + + + - - + + - - + + - - Vd_max + + [r_inpTgt] - - - - - - - - - - - - - - - - - Vd_max + + - + - - + + - + sfix16_En4 @@ -709,44 +700,44 @@ - - - + + + - - + + - - + + - - if { } + + [z_ctrlModReq] - - + + - - - + + + - - + + - - Action Port + + uint8 @@ -757,7 +748,7 @@ - + @@ -767,11 +758,11 @@ - + - + 2 @@ -789,11 +780,11 @@ - + - + z_ctrlModReq @@ -804,11 +795,11 @@ - + - + uint8 @@ -820,7 +811,7 @@ - + @@ -830,11 +821,11 @@ - + - + [z_ctrlModReq] @@ -853,44 +844,29 @@ - - - + + + - - + + - - + + - - [r_inpTgtScaFOC] + + [r_inpTgt] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -901,58 +877,67 @@ - - - + + + - - + + - - + + - - 1 + + U - - - - - - + + + + + + + Idx1 - - - - - - + + + + + + + 0 - - + + - - r_inpTgt + + Y + + + + + + + - + - - + + - + sfix16_En4 @@ -964,43 +949,58 @@ - - - + + + - - + + - - + + - - + + 1 - - + + + + + + + + + + + + + + + + + r_inpTgt - + - + - + sfix16_En4 @@ -1010,7 +1010,7 @@ - + @@ -1024,7 +1024,7 @@ - + @@ -1038,7 +1038,7 @@ - + @@ -1052,7 +1052,7 @@ - + @@ -1066,7 +1066,7 @@ - + @@ -1080,7 +1080,7 @@ - + @@ -1094,7 +1094,7 @@ - + @@ -1108,7 +1108,7 @@ - + @@ -1122,7 +1122,7 @@ - + @@ -1136,7 +1136,7 @@ - + @@ -1150,7 +1150,7 @@ - + @@ -1164,7 +1164,7 @@ - + @@ -1178,7 +1178,7 @@ - + @@ -1192,7 +1192,7 @@ - + @@ -1208,5 +1208,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_9988_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json index 5e16b69..20ed587 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_9988_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9340", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9991", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_inpTgtScaCOM", - "label":"r_inpTgtScaCOM", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "name":"r_inpTgtScaDft", + "label":"r_inpTgtScaDft", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9988", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9339", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9990", "className":"Simulink.ActionPort", "icon":"WebViewIcon3", "name":"Action Port", "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9988", "inspector":{ "params":[ "InitializeStates", @@ -111,12 +111,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9338", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9989", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"r_inpTgt", "label":"r_inpTgt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9988", "inspector":{ "params":[ "Port", @@ -178,12 +178,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9338#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9989#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9988", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.png new file mode 100644 index 0000000000000000000000000000000000000000..913674808479803d166f903b88f3bf22dab23704 GIT binary patch literal 4380 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 literal 0 HcmV?d00001 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_9988_d.svg similarity index 91% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg index 53e333b..ea077a6 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_9988_d.svg @@ -1,19 +1,19 @@ - + - + - + - + @@ -42,15 +42,15 @@ - + - + - - r_inpTgtScaCOM + + r_inpTgtScaDft @@ -61,7 +61,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -109,7 +109,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -157,7 +157,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -186,5 +186,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json index d1506a7..56c128c 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 @@ -20,12 +20,12 @@ "parent":1, "children":[ 3, - 15, - 26, - 29, - 68, - 69, - 70 + 12, + 23, + 35, + 70, + 76, + 77 ], "name":"BLDC_controller", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller", @@ -40,99 +40,95 @@ ":9307", ":9306", ":9305", - ":9304", + ":9301", ":9298", ":9297", - ":9669", + ":9441", + ":9295", ":9294", + ":9292", ":9291", - ":9302", - ":9284", + ":9290", + ":9281", + ":9279", ":9289", ":9287", - ":9303", - ":9283", + ":9286", ":9272", - ":9278", + ":9277", ":9276", + ":9302", ":9275", - ":9456", - ":9271", - ":9270", + ":9934", + ":9274", + ":9299", ":9269", - ":9392", ":9252", - ":9293", ":9250", - ":9251", - ":9241", - ":9263", + ":9268", ":9267", + ":9251", + ":9266", ":9265", - ":9264", - ":9261", - ":9281", - ":9258", - ":9259", - ":9295", - ":9257", - ":9280", + ":9303", + ":9260", + ":10027", ":9253", - ":9388", + ":9436", + ":10025", + ":9456", + ":10026", ":9249", - ":9437", - ":9245", - ":9292", + ":9304", + ":9248", ":9244", + ":9270", + ":9720", + ":9288", ":9242", - ":9299", + ":9282", + ":9264", + ":9931", ":9198", - ":9290", - ":9441", - ":9277", - ":8658", - ":9260", - ":9448", - ":9288", + ":9258", + ":9284", ":8469", + ":9930", + ":9271", + ":9448", + ":9241", ":9418", + ":9293", + ":8220", + ":9437", + ":9259", + ":8535", + ":9261", + ":9262", + ":8217", + ":9263", + ":9245", ":9285", - ":9720", - ":9300", - ":8218", - ":9282", - ":9436", + ":8658", + ":9240", + ":9278", ":8215", ":8214", - ":8217", - ":9286", - ":9301", - ":8213", ":8209", - ":8210", - ":8220", - ":9385", - ":9268", ":8207", - ":8205", + ":9300", + ":8206", + ":9935", + ":9283", + ":9280", + ":8208", ":8204", - ":9279", - ":9262", + ":8210", ":8203", - ":8208", - ":8535", - ":9266", - ":8212", ":8202", - ":8206", + ":8205", ":8201", - ":8216", - ":9389", - ":9274", - ":9240", - ":9387", - ":8211", - ":9248", + ":9669", ":9268#out:1", ":8469#out:2", ":8215#out:1", @@ -145,22 +141,16 @@ ":8220#out:5", ":9242#out:1", ":9297#out:1", - ":8211#out:1", ":9258#out:1", ":9291#out:1", ":9249#out:1", - ":9257#out:1", ":9265#out:1", ":9250#out:1", ":9248#out:1", ":9240#out:1", ":8210#out:1", - ":8218#out:1", - ":8658#out:2", ":9244#out:1", ":8207#out:1", - ":8216#out:1", - ":8658#out:1", ":9245#out:1", ":9241#out:1", ":9267#out:1", @@ -169,47 +159,48 @@ ":8202#out:1", ":9198#out:1", ":8220#out:4", - ":8658#out:3", - ":8658#out:6", + ":8658#out:4", ":8220#out:6", ":9259#out:1", - ":8658#out:5", + ":8658#out:3", ":8217#out:1", ":9198#out:3", ":9295#out:1", ":8205#out:1", - ":8212#out:1", ":8220#out:8", ":8469#out:1", - ":8213#out:1", ":8201#out:1", ":8206#out:1", ":9253#out:1", ":9264#out:1", - ":8220#out:2", + ":8220#out:1", ":8535#out:1", ":9252#out:1", ":8204#out:1", - ":8220#out:3", + ":8220#out:2", ":9298#out:1", ":9261#out:1", - ":9385#out:1", - ":9387#out:1", - ":9388#out:1", - ":8220#out:1", - ":9392#out:1", ":9418#out:1", ":9436#out:1", ":8220#out:7", ":8209#out:1", - ":8658#out:4", ":9198#out:4", ":9448#out:1", ":8203#out:1", ":9669#out:1", ":9263#out:1", ":9262#out:1", - ":9720#out:1" + ":9720#out:1", + ":8658#out:2", + ":8658#out:1", + ":9930#out:1", + ":9931#out:1", + ":8220#out:3", + ":9935#out:1", + ":10025#out:1", + ":10026#out:1", + ":10027#out:1", + ":8535#out:2" ], "sameAsElement":true }, @@ -220,11 +211,10 @@ "parent":2, "children":[ 4, + 5, + 6, 7, - 8, - 9, - 10, - 14 + 11 ], "name":"F01_Estimations", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations", @@ -262,46 +252,34 @@ ":8464", ":8426", ":8428", + ":8468", + ":9433", ":8467", ":8466", - ":8463", - ":9383", + ":8458", ":8462", - ":8468", + ":9432", + ":8450", + ":8449", + ":8437", + ":8432", + ":8430", + ":8427", + ":8435", + ":8463", + ":8436", + ":8384", + ":8434", + ":9932", + ":8461", + ":8429", ":8460", - ":8458", ":8457", - ":9377", - ":9379", - ":8451", - ":9433", ":9431", - ":8436", - ":8434", - ":9432", ":8446", - ":9381", - ":9380", - ":8427", - ":8432", - ":8461", - ":8437", - ":8384", - ":9374", - ":8455", + ":8451", ":8431", - ":8435", - ":8424", - ":9333", - ":8430", - ":9378", - ":8449", - ":9375", - ":8224", - ":8450", - ":9382", - ":9384", - ":8429", + ":9933", ":8462#out:1", ":8440#out:1", ":8439#out:1", @@ -332,161 +310,29 @@ ":8436#out:1", ":8437#out:1", ":8263#out:6", - ":8424#out:1", ":8432#out:1", ":8427#out:1", ":8384#out:1", ":8263#out:2", ":8429#out:1", - ":8224#out:1", ":8235#out:1", ":8446#out:1", - ":9374#out:1", - ":9375#out:1", - ":9378#out:1", - ":9380#out:1", - ":9381#out:1", - ":9382#out:1", - ":9333#out:1", ":9431#out:1", - ":8263#out:5" + ":8263#out:5", + ":9932#out:1" ], "sameAsElement":true }, { "hid":4, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9333", - "parent":3, - "children":[ - 5, - 6 - ], - "name":"F01_01_Input_Scaling", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Input_Scaling", - "label":"F01_01_Input_Scaling", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9333_d.json", - "elements":[ - ":9373", - ":9372", - ":9370", - ":9368", - ":9365", - ":9364", - ":9371", - ":9369", - ":9362", - ":9361", - ":9363", - ":9341", - ":9366", - ":9335", - ":9367", - ":9336", - ":9337", - ":9334", - ":9364#out:1", - ":9362#out:1", - ":9334#out:1", - ":9363#out:1", - ":9361#out:1", - ":9335#out:1", - ":9371#out:1", - ":9365#out:1", - ":9336#out:1", - ":9341#out:1", - ":9370#out:1", - ":9337#out:1", - ":9370#out:2" - ], - "sameAsElement":true - }, - { - "hid":5, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", - "parent":4, - "children":[ - ], - "name":"Commutation_Control_Type", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Input_Scaling/Commutation_Control_Type", - "label":"Commutation_Control_Type", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9337_d.svg", - "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", - ":9338", - ":9338#out:1" - ], - "sameAsElement":true - }, - { - "hid":6, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9341", - "parent":4, - "children":[ - ], - "name":"FOC_Control_Type", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Input_Scaling/FOC_Control_Type", - "label":"FOC_Control_Type", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9341_d.json", - "elements":[ - ":9360", - ":9359", - ":9358", - ":9354", - ":9352", - ":9350", - ":9349", - ":9348", - ":9346", - ":9357", - ":9345", - ":9356", - ":9355", - ":9344", - ":9343", - ":9351", - ":9347", - ":9342", - ":9353", - ":9342#out:1", - ":9347#out:1", - ":9343#out:1", - ":9356#out:1", - ":9354#out:1", - ":9357#out:1", - ":9358#out:1", - ":9355#out:1", - ":9353#out:1", - ":9359#out:1", - ":9349#out:1", - ":9346#out:1", - ":9345#out:1", - ":9348#out:1" - ], - "sameAsElement":true - }, - { - "hid":7, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "parent":3, "children":[ ], - "name":"F01_02_Edge_Detector", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_02_Edge_Detector", - "label":"F01_02_Edge_Detector", + "name":"F01_01_Edge_Detector", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Edge_Detector", + "label":"F01_01_Edge_Detector", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8225_d.png", @@ -496,8 +342,8 @@ ":8227", ":8228", ":8234", - ":8232", ":8231", + ":8232", ":8233", ":9634", ":8226#out:1", @@ -511,15 +357,15 @@ "sameAsElement":true }, { - "hid":8, + "hid":5, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8235", "parent":3, "children":[ ], - "name":"F01_03_Position_Calculation", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_03_Position_Calculation", - "label":"F01_03_Position_Calculation", + "name":"F01_02_Position_Calculation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_02_Position_Calculation", + "label":"F01_02_Position_Calculation", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.png", @@ -548,15 +394,15 @@ "sameAsElement":true }, { - "hid":9, + "hid":6, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "parent":3, "children":[ ], - "name":"F01_04_Direction_Detection", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Direction_Detection", - "label":"F01_04_Direction_Detection", + "name":"F01_03_Direction_Detection", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_03_Direction_Detection", + "label":"F01_03_Direction_Detection", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.png", @@ -573,10 +419,10 @@ ":8258", ":8251", ":8252", - ":8259", + ":8262", ":8260", + ":8259", ":8249", - ":8262", ":8259#out:1", ":8255#out:1", ":8253#out:1", @@ -593,23 +439,22 @@ "sameAsElement":true }, { - "hid":10, + "hid":7, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "parent":3, "children":[ - 11, - 13 + 8, + 10 ], - "name":"F01_05_Speed_Estimation", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation", - "label":"F01_05_Speed_Estimation", + "name":"F01_04_Speed_Estimation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation", + "label":"F01_04_Speed_Estimation", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.json", "elements":[ - ":8380", ":8381", ":8382", ":8383", @@ -626,64 +471,59 @@ ":8290", ":8266", ":8296", - ":8379", - ":9430", ":8378", ":8377", + ":8376", + ":8374", ":8373", ":9429", - ":8376", - ":8371", - ":8370", - ":9428", + ":8372", + ":8369", ":8366", - ":8367", - ":8304", + ":9430", ":8311", - ":8301", - ":8299", + ":9427", + ":8305", + ":8313", + ":8300", + ":8370", ":8297", - ":9425", + ":8312", ":8294", - ":8293", - ":8291", ":8289", - ":8288", + ":8284", + ":8308", + ":9477", ":8285", - ":8303", - ":8283", + ":9428", ":8282", - ":8374", - ":8308", + ":8301", + ":8303", ":8281", - ":8278", - ":8369", - ":8298", - ":8277", - ":9426", - ":8305", - ":8312", + ":8283", + ":9425", + ":8293", + ":8306", ":8286", - ":8272", - ":8284", - ":8275", - ":8280", ":8314", - ":8372", + ":8379", ":8270", - ":8300", - ":9477", + ":8275", + ":9426", ":8268", - ":8306", - ":8267", - ":8292", - ":8264", - ":8313", + ":8280", + ":8371", + ":8291", ":8276", - ":8269", - ":9427", - ":8309", + ":8292", + ":8267", + ":8272", + ":8299", + ":8278", + ":8298", + ":8277", ":8310", + ":8309", ":8293#out:1", ":8312#out:1", ":8290#out:1", @@ -704,7 +544,6 @@ ":8308#out:1", ":8280#out:1", ":8281#out:1", - ":8264#out:1", ":8277#out:1", ":8373#out:1", ":8270#out:1", @@ -718,13 +557,8 @@ ":8371#out:1", ":8283#out:1", ":8292#out:1", - ":8269#out:1", - ":8288#out:1", ":8286#out:1", ":8314#out:2", - ":8367#out:1", - ":8372#out:1", - ":8309#out:1", ":8310#out:1", ":8294#out:1", ":8374#out:1", @@ -735,20 +569,22 @@ ":9425#out:1", ":9429#out:1", ":9428#out:1", - ":9477#out:1" + ":9477#out:1", + ":8372#out:1", + ":8309#out:1" ], "sameAsElement":true }, { - "hid":11, + "hid":8, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "parent":10, + "parent":7, "children":[ - 12 + 9 ], "name":"Counter", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation/Counter", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter", "label":"Counter", "icon":"WebViewIcon4", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.svg", @@ -758,10 +594,10 @@ ":8272:2418", ":8272:2515", ":8272:2416", - ":8272:2415", ":8272:2414", - ":8272:2412", ":8272:2413", + ":8272:2415", + ":8272:2412", ":8272:2515#out:1", ":8272:2415#out:1", ":8272:2413#out:1", @@ -772,14 +608,14 @@ "sameAsElement":true }, { - "hid":12, + "hid":9, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515", - "parent":11, + "parent":8, "children":[ ], "name":"rst_Delay", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation/Counter/rst_Delay", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter/rst_Delay", "label":"rst_Delay", "icon":"WebViewIcon4", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg", @@ -801,14 +637,14 @@ "sameAsElement":true }, { - "hid":13, + "hid":10, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "parent":10, + "parent":7, "children":[ ], "name":"Raw_Motor_Speed_Estimation", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation/Raw_Motor_Speed_Estimation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Raw_Motor_Speed_Estimation", "label":"Raw_Motor_Speed_Estimation", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.svg", @@ -820,51 +656,51 @@ ":8363", ":8364", ":8365", - ":8358", - ":8360", - ":8356", - ":8351", + ":8359", + ":8357", + ":8354", + ":8352", + ":8350", ":8348", + ":8360", + ":8346", ":8347", + ":8349", + ":8345", + ":8344", + ":8342", ":8341", + ":8351", + ":8340", ":8339", - ":8336", + ":8358", + ":8356", + ":8333", ":8332", - ":8346", - ":8330", - ":8350", + ":8331", ":8328", ":8327", - ":8354", - ":8326", - ":8357", - ":8324", - ":8335", - ":8344", ":8325", - ":8322", - ":8340", + ":8324", + ":8330", + ":8334", ":8355", ":8323", - ":8359", - ":8353", + ":8335", + ":8321", ":8319", - ":8352", - ":8349", + ":8326", + ":8320", + ":8353", + ":8336", + ":8329", + ":8338", + ":8317", + ":8322", ":8318", - ":8334", ":8337", - ":8345", - ":8321", - ":8333", - ":8317", - ":8329", ":8316", - ":8331", ":8315", - ":8338", - ":8342", - ":8320", ":8343", ":8315#out:1", ":8316#out:1", @@ -905,15 +741,15 @@ "sameAsElement":true }, { - "hid":14, + "hid":11, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "parent":3, "children":[ ], - "name":"F01_06_Electrical_Angle_Estimation", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_06_Electrical_Angle_Estimation", - "label":"F01_06_Electrical_Angle_Estimation", + "name":"F01_05_Electrical_Angle_Estimation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Electrical_Angle_Estimation", + "label":"F01_05_Electrical_Angle_Estimation", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.png", @@ -940,28 +776,28 @@ ":8413", ":8416", ":8391", - ":8421", ":8420", - ":8418", ":8417", + ":9664", ":9660", - ":8412", - ":8411", + ":8410", + ":8404", + ":8421", ":8405", ":8400", - ":9664", + ":8412", ":8398", + ":8397", ":8396", - ":8393", - ":8392", - ":8410", ":8395", - ":8389", - ":8397", ":8394", ":8403", + ":8393", + ":8411", + ":8392", + ":8418", + ":8389", ":9665", - ":8404", ":8385#out:1", ":8386#out:1", ":8399#out:1", @@ -996,13 +832,13 @@ "sameAsElement":true }, { - "hid":15, + "hid":12, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "parent":2, "children":[ - 16, - 25 + 13, + 22 ], "name":"F02_Diagnostics", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics", @@ -1024,49 +860,49 @@ ":8526", ":8499", ":8497", - ":8527", + ":8521", ":8520", - ":8524", - ":8517", + ":8519", ":9398", - ":8514", + ":9404", ":8510", - ":8525", - ":8508", + ":8515", + ":8509", + ":8527", + ":8517", + ":8514", ":9406", - ":9395", + ":8504", ":9397", - ":8500", - ":8509", - ":8503", + ":8525", + ":8493", ":8491", - ":8504", - ":8492", - ":8487", - ":9407", - ":8486", ":9402", - ":8480", - ":8479", - ":8478", - ":8521", - ":8519", + ":9400", + ":8500", + ":9395", + ":8483", + ":8482", ":9412", + ":8486", + ":8479", + ":9407", + ":9405", + ":8524", + ":9403", ":9410", - ":9404", ":8484", - ":9408", - ":8515", - ":9400", - ":9403", ":8474", - ":9394", - ":8494", - ":8493", + ":8478", + ":8487", ":9396", - ":9405", - ":8483", - ":8482", + ":8480", + ":8494", + ":8503", + ":9394", + ":8492", + ":8508", + ":9408", ":9401", ":8497#out:1", ":8470#out:1", @@ -1110,15 +946,15 @@ "sameAsElement":true }, { - "hid":16, + "hid":13, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "parent":15, + "parent":12, "children":[ - 17, + 14, + 15, 18, - 21, - 24 + 21 ], "name":"Debounce_Filter", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter", @@ -1128,40 +964,40 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json", "elements":[ - ":8486:2507", ":8486:2509", ":8486:2473", - ":8486:2467", + ":8486:2472", ":8486:2466", - ":8486:2465", - ":8486:2496", ":8486:2464", - ":8486:2462", + ":8486:2463", ":8486:2461", - ":8486:2460", - ":8486:2459", - ":8486:2458", - ":8486:2472", - ":8486:2456", - ":8486:2455", + ":8486:2507", + ":8486:2496", + ":8486:2457", ":8486:2454", ":8486:2453", - ":8486:2451", + ":8486:2452", + ":8486:2449", + ":8486:2456", ":8486:2450", + ":8486:2458", + ":8486:2462", + ":8486:2428", ":8486:2448", - ":8486:2463", - ":8486:2449", + ":8486:2465", + ":8486:2460", + ":8486:2451", + ":8486:2422", + ":8486:2459", ":8486:2423", - ":8486:2452", - ":8486:2428", ":8486:2421", - ":8486:2422", + ":8486:2467", + ":8486:2455", ":8486:2420", - ":8486:2457", - ":8486:2469", - ":8486:2468", - ":8486:2470", ":8486:2471", + ":8486:2470", + ":8486:2468", + ":8486:2469", ":8486:2507#out:1", ":8486:2422#out:1", ":8486:2421#out:1", @@ -1195,10 +1031,10 @@ "sameAsElement":true }, { - "hid":17, + "hid":14, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", - "parent":16, + "parent":13, "children":[ ], "name":"Default", @@ -1210,20 +1046,20 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json", "elements":[ ":8486:2427", - ":8486:2426", ":8486:2425", ":8486:2424", + ":8486:2426", ":8486:2424#out:1" ], "sameAsElement":true }, { - "hid":18, + "hid":15, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "parent":16, + "parent":13, "children":[ - 19 + 16 ], "name":"Dequalification", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification", @@ -1233,25 +1069,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:2446", ":8486:2447", + ":8486:2445", + ":8486:2444", ":8486:2443", ":8486:2442", - ":8486:2444", ":8486:2440", ":8486:2439", - ":8486:2437", + ":8486:2441", + ":8486:2435", + ":8486:2434", ":8486:2438", ":8486:2433", ":8486:2432", + ":8486:2437", ":8486:2431", - ":8486:2435", ":8486:2436", - ":8486:2434", ":8486:2430", - ":8486:2441", ":8486:2429", - ":8486:2446", - ":8486:2445", ":8486:2438#out:1", ":8486:2429#out:1", ":8486:2430#out:1", @@ -1269,12 +1105,12 @@ "sameAsElement":true }, { - "hid":19, + "hid":16, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "parent":18, + "parent":15, "children":[ - 20 + 17 ], "name":"Counter", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter", @@ -1284,13 +1120,13 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json", "elements":[ - ":8486:2435:2418", ":8486:2435:2515", + ":8486:2435:2416", + ":8486:2435:2418", ":8486:2435:2415", - ":8486:2435:2413", ":8486:2435:2414", + ":8486:2435:2413", ":8486:2435:2412", - ":8486:2435:2416", ":8486:2435:2515#out:1", ":8486:2435:2415#out:1", ":8486:2435:2413#out:1", @@ -1301,10 +1137,10 @@ "sameAsElement":true }, { - "hid":20, + "hid":17, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2515", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2515", - "parent":19, + "parent":16, "children":[ ], "name":"rst_Delay", @@ -1330,12 +1166,12 @@ "sameAsElement":true }, { - "hid":21, + "hid":18, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "parent":16, + "parent":13, "children":[ - 22 + 19 ], "name":"Qualification", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification", @@ -1345,24 +1181,24 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json", "elements":[ + ":8486:2492", ":8486:2491", - ":8486:2490", ":8486:2489", - ":8486:2487", - ":8486:2492", + ":8486:2488", + ":8486:2486", ":8486:2485", ":8486:2484", + ":8486:2483", + ":8486:2481", ":8486:2480", - ":8486:2486", ":8486:2482", ":8486:2479", - ":8486:2483", - ":8486:2478", - ":8486:2477", ":8486:2476", - ":8486:2488", + ":8486:2477", + ":8486:2487", + ":8486:2490", ":8486:2475", - ":8486:2481", + ":8486:2478", ":8486:2474", ":8486:2480#out:1", ":8486:2491#out:1", @@ -1381,12 +1217,12 @@ "sameAsElement":true }, { - "hid":22, + "hid":19, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "parent":21, + "parent":18, "children":[ - 23 + 20 ], "name":"Counter", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter", @@ -1396,13 +1232,13 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json", "elements":[ - ":8486:2480:2418", ":8486:2480:2515", + ":8486:2480:2418", ":8486:2480:2416", - ":8486:2480:2415", ":8486:2480:2414", ":8486:2480:2413", ":8486:2480:2412", + ":8486:2480:2415", ":8486:2480:2515#out:1", ":8486:2480:2415#out:1", ":8486:2480:2413#out:1", @@ -1413,10 +1249,10 @@ "sameAsElement":true }, { - "hid":23, + "hid":20, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", - "parent":22, + "parent":19, "children":[ ], "name":"rst_Delay", @@ -1442,10 +1278,10 @@ "sameAsElement":true }, { - "hid":24, + "hid":21, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", - "parent":16, + "parent":13, "children":[ ], "name":"either_edge", @@ -1467,10 +1303,10 @@ "sameAsElement":true }, { - "hid":25, + "hid":22, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", - "parent":15, + "parent":12, "children":[ ], "name":"either_edge", @@ -1492,13 +1328,14 @@ "sameAsElement":true }, { - "hid":26, + "hid":23, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "parent":2, "children":[ - 27, - 28 + 24, + 25, + 26 ], "name":"F03_Control_Mode_Manager", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager", @@ -1511,31 +1348,46 @@ ":8655", ":8634", ":8654", + ":8650", ":9423", - ":8647", - ":8643", ":8642", - ":8633", + ":10023", + ":10019", ":8639", + ":10020", + ":8636", + ":8643", ":8632", + ":9996", + ":9995", ":8630", - ":8628", - ":8646", - ":9424", + ":8645", ":8625", ":8624", - ":8636", - ":8603", - ":8635", ":8651", + ":9994", + ":10017", + ":8647", + ":8635", ":8546", - ":8537", - ":9422", + ":10018", + ":10022", + ":8603", + ":10028", + ":9997", + ":8539", + ":9424", + ":8633", + ":10021", ":8640", - ":8650", + ":8646", + ":9953", + ":8628", + ":10024", ":8536", - ":8539", - ":8645", + ":8537", + ":10029", + ":9422", ":8634#out:1", ":8537#out:1", ":8625#out:1", @@ -1555,15 +1407,25 @@ ":8536#out:1", ":8628#out:1", ":9422#out:1", - ":9424#out:1" + ":9424#out:1", + ":9995#out:1", + ":9994#out:1", + ":9996#out:1", + ":9953#out:1", + ":10017#out:1", + ":10018#out:1", + ":10020#out:1", + ":10022#out:1", + ":10021#out:1", + ":10028#out:1" ], "sameAsElement":true }, { - "hid":27, + "hid":24, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "parent":26, + "parent":23, "children":[ ], "name":"F03_01_Mode_Transition_Calculation", @@ -1576,58 +1438,58 @@ "elements":[ ":8601", ":8602", + ":8600", ":8599", - ":8594", - ":8593", + ":8598", + ":8595", ":8591", - ":8590", - ":8589", - ":8597", + ":8594", ":8587", - ":8583", - ":8582", - ":8580", - ":8600", - ":8571", - ":9421", + ":8584", ":8581", + ":8580", + ":8582", + ":8592", ":8585", + ":8590", + ":8572", + ":8571", + ":8570", + ":8566", + ":8565", + ":8593", ":8569", - ":8584", + ":8564", + ":8597", ":8563", + ":8562", ":9419", ":8560", - ":8562", - ":8559", - ":8586", + ":8558", ":8561", - ":8572", - ":8592", + ":8556", + ":8589", + ":8552", ":8554", - ":8564", - ":8568", ":8553", - ":8598", - ":8555", - ":8565", - ":8552", + ":8549", + ":8583", ":8551", + ":8555", + ":8568", + ":9420", ":8573", ":8548", - ":8566", - ":8595", - ":9420", - ":8549", + ":8559", + ":9421", + ":8586", ":8547", - ":8570", - ":8558", - ":8556", - ":8574", - ":8575", - ":8577", - ":8578", ":8579", + ":8577", ":8576", + ":8578", + ":8575", + ":8574", ":8587#out:1", ":8593#out:1", ":8594#out:1", @@ -1671,10 +1533,10 @@ "sameAsElement":true }, { - "hid":28, + "hid":25, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", - "parent":26, + "parent":23, "children":[ ], "name":"F03_02_Control_Mode_Manager", @@ -1685,41 +1547,386 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json", "elements":[ - ":8603:1", ":8603:3", ":8603:28", ":8603:6", ":8603:4", ":8603:30", ":8603:33", + ":8603:32", ":8603:12", ":8603:9", ":8603:31", - ":8603:32", - ":8603:13", + ":8603:1", ":8603:2", + ":8603:13", ":8603:14" ], "sameAsElement":false }, + { + "hid":26, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "parent":23, + "children":[ + 27, + 28, + 29, + 30 + ], + "name":"F03_03_Input_Target_Synthesis", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis", + "label":"F03_03_Input_Target_Synthesis", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json", + "elements":[ + ":9993", + ":10003", + ":9992", + ":9937", + ":10013", + ":9987", + ":9986", + ":9983", + ":10004", + ":9982", + ":10014", + ":10002", + ":9981", + ":10015", + ":9980", + ":9979", + ":9977", + ":10000", + ":9978", + ":9957", + ":9984", + ":10007", + ":9999", + ":10016", + ":9988", + ":9956", + ":10005", + ":9955", + ":9985", + ":9998", + ":9954", + ":9957#out:1", + ":9980#out:1", + ":9978#out:1", + ":9986#out:1", + ":9954#out:1", + ":9979#out:1", + ":9988#out:1", + ":9977#out:1", + ":9956#out:1", + ":9987#out:1", + ":9986#out:2", + ":9981#out:1", + ":9955#out:1", + ":9998#out:1", + ":10000#out:1", + ":10002#out:1", + ":10005#out:1", + ":9937#out:1", + ":10007#out:1", + ":10013#out:1", + ":10015#out:1", + ":10002#out:2", + ":10016#out:1" + ], + "sameAsElement":true + }, + { + "hid":27, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", + "parent":26, + "children":[ + ], + "name":"Default_Control_Type", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Control_Type", + "label":"Default_Control_Type", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.json", + "elements":[ + ":9991", + ":9990", + ":9989", + ":9989#out:1" + ], + "sameAsElement":true + }, + { + "hid":28, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "parent":26, + "children":[ + ], + "name":"Default_Mode", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Mode", + "label":"Default_Mode", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.json", + "elements":[ + ":10012", + ":10009", + ":10008", + ":10008#out:1" + ], + "sameAsElement":true + }, { "hid":29, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "parent":26, + "children":[ + ], + "name":"FOC_Control_Type", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/FOC_Control_Type", + "label":"FOC_Control_Type", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json", + "elements":[ + ":9976", + ":9972", + ":9971", + ":9974", + ":9969", + ":9966", + ":9975", + ":9962", + ":9963", + ":9973", + ":9961", + ":9960", + ":9964", + ":9965", + ":9959", + ":9967", + ":9968", + ":9970", + ":9958", + ":9958#out:1", + ":9963#out:1", + ":9959#out:1", + ":9972#out:1", + ":9970#out:1", + ":9973#out:1", + ":9974#out:1", + ":9971#out:1", + ":9969#out:1", + ":9975#out:1", + ":9965#out:1", + ":9962#out:1", + ":9961#out:1", + ":9964#out:1" + ], + "sameAsElement":true + }, + { + "hid":30, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "parent":26, + "children":[ + 31, + 34 + ], + "name":"Open_Mode", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode", + "label":"Open_Mode", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json", + "elements":[ + ":9952", + ":9951", + ":9950", + ":9949", + ":10006", + ":9945", + ":9943", + ":9947", + ":9942", + ":9944", + ":9941", + ":9940", + ":9948", + ":9939", + ":9938", + ":9938#out:1", + ":9940#out:1", + ":9950#out:1", + ":9945#out:1", + ":9949#out:1", + ":9944#out:1", + ":9948#out:1", + ":9943#out:1", + ":9941#out:1", + ":9942#out:1" + ], + "sameAsElement":true + }, + { + "hid":31, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "parent":30, + "children":[ + 32, + 33 + ], + "name":"Rate_Limiter", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter", + "label":"Rate_Limiter", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json", + "elements":[ + ":9948:2353", + ":9948:2346", + ":9948:2395", + ":9948:2358", + ":9948:2357", + ":9948:2356", + ":9948:2355", + ":9948:2360", + ":9948:2343", + ":9948:2342", + ":9948:2359", + ":9948:2356#out:1", + ":9948:2342#out:1", + ":9948:2359#out:1", + ":9948:2357#out:1", + ":9948:2343#out:1", + ":9948:2346#out:1", + ":9948:2358#out:1", + ":9948:2355#out:1", + ":9948:2395#out:1" + ], + "sameAsElement":true + }, + { + "hid":32, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", + "parent":31, + "children":[ + ], + "name":"Delay_Init1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Delay_Init1", + "label":"Delay_Init1", + "icon":"WebViewIcon4", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.json", + "elements":[ + ":9948:2342:2337", + ":9948:2342:2335", + ":9948:2342:2339", + ":9948:2342:2334", + ":9948:2342:2340", + ":9948:2342:2341", + ":9948:2342:2512", + ":9948:2342:2335#out:1", + ":9948:2342:2334#out:1", + ":9948:2342:2341#out:1", + ":9948:2342:2340#out:1", + ":9948:2342:2337#out:1", + ":9948:2342:2512#out:1" + ], + "sameAsElement":true + }, + { + "hid":33, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", + "parent":31, + "children":[ + ], + "name":"Saturation Dynamic", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Saturation Dynamic", + "label":"Saturation Dynamic", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.json", + "elements":[ + ":9948:2395:10", + ":9948:2395:9", + ":9948:2395:8", + ":9948:2395:7", + ":9948:2395:6", + ":9948:2395:5", + ":9948:2395:4", + ":9948:2395:3", + ":9948:2395:2", + ":9948:2395:1", + ":9948:2395:1#out:1", + ":9948:2395:2#out:1", + ":9948:2395:3#out:1", + ":9948:2395:7#out:1", + ":9948:2395:8#out:1", + ":9948:2395:6#out:1", + ":9948:2395:9#out:1" + ], + "sameAsElement":true + }, + { + "hid":34, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9950", + "parent":30, + "children":[ + ], + "name":"rising_edge_init", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/rising_edge_init", + "label":"rising_edge_init", + "icon":"WebViewIcon4", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.json", + "elements":[ + ":9950:2364", + ":9950:2363", + ":9950:2362", + ":9950:2363#out:1", + ":9950:2362#out:1" + ], + "sameAsElement":true + }, + { + "hid":35, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "parent":2, "children":[ - 30, - 33, - 35, 36, - 37, - 38, + 39, + 41, + 42, 43, - 48, + 44, 49, - 54, - 60, - 66 + 50, + 51, + 56, + 62, + 68 ], "name":"F04_Field_Oriented_Control", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control", @@ -1730,15 +1937,9 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json", "elements":[ ":9719", - ":9194", - ":9193", ":9192", ":8859", - ":8829", - ":8840", ":8827", - ":8828", - ":8767", ":8769", ":8778", ":8886", @@ -1752,135 +1953,129 @@ ":9025", ":9196", ":9195", - ":9142", + ":9171", + ":9143", ":9108", - ":9072", - ":9045", - ":9197", - ":9029", + ":9074", + ":9028", ":9027", - ":8912", - ":9713", ":8862", - ":8857", - ":8853", - ":8848", - ":8847", + ":8856", + ":9072", + ":9023", + ":8850", + ":8849", + ":8846", ":8845", ":8842", - ":8864", - ":8839", - ":8838", - ":8836", - ":8834", - ":8832", - ":8831", - ":9717", - ":8852", - ":8851", - ":8824", - ":8820", - ":8819", - ":8846", - ":8818", - ":9073", - ":8813", - ":8809", - ":8808", - ":8860", - ":8805", + ":8830", + ":8826", ":9655", - ":8841", - ":8810", - ":9171", - ":8801", - ":8811", ":8825", - ":9023", - ":8802", - ":9715", + ":8823", + ":8815", + ":8812", + ":8811", + ":8809", + ":8843", + ":8861", + ":8807", + ":8824", + ":8801", + ":8800", ":8814", - ":8788", - ":8787", - ":8786", - ":9074", - ":8849", + ":8806", ":8799", - ":8785", - ":8783", - ":8781", ":8798", - ":8779", + ":8792", ":8791", - ":9026", - ":9718", - ":8789", - ":8812", - ":8861", - ":8793", - ":8771", - ":8770", - ":8774", - ":8844", ":8790", - ":8766", - ":8765", - ":8816", - ":8792", + ":8796", + ":8788", + ":8857", + ":9715", + ":8786", + ":8864", + ":8784", + ":8782", + ":8813", + ":8852", + ":8781", ":8780", + ":8832", + ":8779", ":8863", - ":9028", + ":8808", + ":8804", + ":9718", + ":8831", + ":8776", + ":9029", + ":8817", + ":8775", + ":8774", + ":8810", ":8837", - ":8800", - ":8772", - ":8843", - ":8856", - ":9143", + ":8773", + ":8795", ":8797", - ":8830", + ":8818", + ":8793", + ":8841", + ":8783", + ":8853", + ":9713", + ":10030", + ":8844", + ":9045", + ":8838", + ":9197", + ":8912", ":8726", - ":8858", - ":8806", - ":8775", - ":8850", - ":9109", + ":9073", + ":8667", + ":8771", + ":8794", + ":8802", ":8777", + ":8913", + ":8766", + ":8858", ":8663", - ":8804", - ":8823", ":8662", - ":8661", - ":8817", - ":8796", - ":8784", + ":8816", ":9716", - ":8794", - ":8773", - ":8913", + ":8848", ":8803", + ":8668", + ":8851", + ":8787", + ":8661", + ":8765", + ":8770", + ":8768", + ":8834", + ":8664", + ":8819", + ":8860", + ":9109", + ":8839", + ":8772", + ":8820", + ":8847", + ":9717", + ":8785", ":8660", - ":8668", - ":8768", - ":8664", - ":8807", - ":8826", - ":8667", - ":8815", - ":8782", - ":8776", - ":8743", ":8659", - ":8795", + ":8789", + ":8743", + ":9026", ":8827#out:1", - ":8828#out:1", - ":8767#out:1", ":8886#out:1", ":8886#out:2", ":8665#out:1", ":8666#out:1", ":8866#out:1", - ":8866#out:2", - ":8866#out:3", ":8668#out:1", ":8668#out:2", ":9024#out:1", @@ -1917,7 +2112,6 @@ ":8662#out:1", ":8790#out:1", ":8779#out:1", - ":8805#out:1", ":9029#out:1", ":9109#out:1", ":9074#out:1", @@ -1943,7 +2137,6 @@ ":8804#out:1", ":8806#out:1", ":8912#out:1", - ":9142#out:1", ":8913#out:3", ":8913#out:4", ":8776#out:1", @@ -1987,18 +2180,19 @@ ":8771#out:1", ":9715#out:1", ":9716#out:1", - ":9718#out:1" + ":9718#out:1", + ":10030#out:1" ], "sameAsElement":true }, { - "hid":30, + "hid":36, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "parent":29, + "parent":35, "children":[ - 31, - 32 + 37, + 38 ], "name":"Clarke_Transform", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform", @@ -2009,33 +2203,33 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json", "elements":[ ":8725", - ":8723", - ":8722", + ":8724", ":8721", ":8720", - ":8718", - ":8724", ":8719", + ":8718", + ":8722", + ":8716", + ":8717", ":8715", ":8713", - ":8714", - ":8711", ":8710", - ":8707", + ":8712", ":8708", - ":8706", + ":8707", ":8705", ":8704", ":8703", - ":8712", - ":8717", - ":8671", ":8709", - ":8670", - ":8716", - ":8669", + ":8711", ":8686", + ":8671", + ":8670", + ":8706", + ":8714", ":8702", + ":8669", + ":8723", ":8686#out:1", ":8705#out:1", ":8704#out:1", @@ -2061,10 +2255,10 @@ "sameAsElement":true }, { - "hid":31, + "hid":37, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "parent":30, + "parent":36, "children":[ ], "name":"Clarke_PhasesAB", @@ -2077,18 +2271,18 @@ "elements":[ ":8685", ":8683", + ":8681", + ":8684", + ":8679", ":8682", - ":8678", + ":8680", ":8675", - ":8679", - ":8677", + ":8676", + ":8678", ":8674", ":8673", - ":8680", - ":8676", + ":8677", ":8672", - ":8684", - ":8681", ":8673#out:1", ":8672#out:1", ":8675#out:1", @@ -2101,10 +2295,10 @@ "sameAsElement":true }, { - "hid":32, + "hid":38, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "parent":30, + "parent":36, "children":[ ], "name":"Clarke_PhasesBC", @@ -2116,20 +2310,20 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json", "elements":[ ":8701", + ":8699", ":8700", + ":8695", ":8698", - ":8697", ":8694", ":8693", + ":8696", ":8692", ":8691", + ":8697", ":8690", ":8689", - ":8696", ":8688", - ":8699", ":8687", - ":8695", ":8691#out:1", ":8690#out:1", ":8693#out:1", @@ -2143,12 +2337,12 @@ "sameAsElement":true }, { - "hid":33, + "hid":39, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "parent":29, + "parent":35, "children":[ - 34 + 40 ], "name":"Current_Filtering", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering", @@ -2159,22 +2353,22 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json", "elements":[ ":8740", - ":8742", + ":8739", ":8738", - ":8736", ":8735", ":8734", - ":8732", - ":8741", + ":8742", + ":8733", ":8731", - ":8739", ":8730", ":8737", - ":8733", + ":8736", + ":9714", ":8728", - ":8729", ":8727", - ":9714", + ":8732", + ":8729", + ":8741", ":8739#out:1", ":8729#out:2", ":8740#out:1", @@ -2190,10 +2384,10 @@ "sameAsElement":true }, { - "hid":34, + "hid":40, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "parent":33, + "parent":39, "children":[ ], "name":"Low_Pass_Filter", @@ -2204,15 +2398,15 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json", "elements":[ - ":8738:2405", - ":8738:2406", - ":8738:2404", - ":8738:2401", ":8738:2407", + ":8738:2406", + ":8738:2405", ":8738:2403", + ":8738:2401", ":8738:2400", - ":8738:2402", + ":8738:2404", ":8738:2399", + ":8738:2402", ":8738:2399#out:1", ":8738:2404#out:1", ":8738:2401#out:1", @@ -2225,10 +2419,10 @@ "sameAsElement":true }, { - "hid":35, + "hid":41, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "parent":29, + "parent":35, "children":[ ], "name":"Field_Weakening", @@ -2243,39 +2437,39 @@ ":8762", ":8763", ":8764", - ":8760", ":8759", - ":8757", - ":8756", - ":8755", - ":8754", ":8753", - ":8749", - ":8748", - ":8747", + ":8755", ":8752", - ":9639", ":9650", - ":8758", + ":8748", + ":9649", + ":9638", ":9646", - ":8751", - ":9645", + ":8749", + ":8760", ":9653", - ":9647", - ":9643", - ":9652", + ":8751", ":9648", - ":8750", + ":9652", + ":9639", + ":9647", ":9641", ":9640", - ":9638", - ":9651", - ":8745", - ":9649", - ":9644", ":9657", - ":8744", + ":9644", + ":8758", + ":8747", ":9654", + ":8756", + ":8754", + ":8745", + ":9645", + ":9651", + ":9643", + ":8750", + ":8757", + ":8744", ":9636", ":8748#out:1", ":8750#out:1", @@ -2305,10 +2499,10 @@ "sameAsElement":true }, { - "hid":36, + "hid":42, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "parent":29, + "parent":35, "children":[ ], "name":"Inv_Clarke_Transform", @@ -2322,22 +2516,19 @@ ":8884", ":8885", ":8868", - ":8882", ":8867", ":8881", - ":8883", + ":8880", ":8878", - ":8876", + ":8877", ":8874", ":8873", ":8875", - ":8880", ":8879", - ":8877", - ":8871", + ":8869", ":8872", ":8870", - ":8869", + ":8876", ":8880#out:1", ":8879#out:1", ":8872#out:1", @@ -2347,10 +2538,7 @@ ":8869#out:1", ":8870#out:1", ":8876#out:1", - ":8871#out:3", - ":8871#out:2", ":8873#out:1", - ":8871#out:1", ":8877#out:1", ":8878#out:1", ":8875#out:1" @@ -2358,10 +2546,10 @@ "sameAsElement":true }, { - "hid":37, + "hid":43, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "parent":29, + "parent":35, "children":[ ], "name":"Inv_Park_Transform", @@ -2381,22 +2569,22 @@ ":8890", ":8908", ":8907", - ":8904", - ":8903", + ":8906", ":8905", - ":8902", + ":8903", ":8901", - ":8900", ":8899", - ":8896", - ":8895", - ":8906", ":8897", - ":8891", + ":8895", + ":8904", + ":8896", + ":8894", + ":8892", ":8893", + ":8900", + ":8891", + ":8902", ":8898", - ":8892", - ":8894", ":8889#out:1", ":8888#out:1", ":8887#out:1", @@ -2419,13 +2607,13 @@ "sameAsElement":true }, { - "hid":38, + "hid":44, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "parent":29, + "parent":35, "children":[ - 39, - 41 + 45, + 47 ], "name":"Motor_Limitations", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations", @@ -2441,88 +2629,88 @@ ":9021", ":9022", ":9017", - ":9012", - ":9010", - ":9009", - ":9005", + ":9013", + ":9007", ":9004", - ":9003", + ":9005", + ":9001", ":9000", - ":8999", - ":8997", - ":9007", + ":8998", ":8987", - ":8986", - ":9002", ":8984", ":8983", - ":8985", - ":9001", - ":8978", - ":8998", - ":8976", - ":8973", - ":8972", - ":8971", + ":8979", + ":9003", + ":8970", ":8969", + ":8974", + ":8965", + ":8963", ":8968", - ":8967", + ":8964", + ":8962", ":8961", - ":8960", + ":8977", + ":8966", + ":9008", ":8959", - ":8958", - ":9014", - ":8953", + ":9011", ":8957", + ":9002", + ":8955", + ":8954", + ":8973", ":8952", ":8951", - ":8947", - ":8946", - ":8966", - ":8944", - ":8948", + ":9009", + ":8950", ":8949", + ":8986", + ":8944", + ":8975", ":8943", ":8942", - ":8955", - ":8938", - ":8937", - ":8935", - ":8975", + ":8960", + ":8939", + ":8938", + ":8967", ":8934", - ":8970", + ":8999", + ":8971", + ":8976", + ":8958", + ":8972", + ":9012", + ":8924", ":9006", - ":9732", - ":9733", - ":8964", - ":8956", + ":8948", ":8923", - ":8924", - ":8954", - ":8939", - ":8950", - ":8918", - ":8919", - ":8974", + ":8997", + ":9010", + ":8922", + ":9732", + ":8978", ":8920", - ":8917", - ":8962", - ":9013", - ":8916", - ":8965", - ":8963", + ":8947", ":8945", - ":8915", + ":8917", ":8936", - ":9011", - ":8922", - ":9008", - ":8977", - ":8914", + ":8919", + ":9014", ":8921", - ":8979", - ":8980", + ":8985", + ":8953", + ":8937", + ":8946", + ":8915", + ":8916", + ":9733", + ":8935", + ":8914", + ":8956", + ":8918", ":8981", + ":8980", ":8999#out:1", ":8947#out:1", ":8935#out:1", @@ -2583,12 +2771,12 @@ "sameAsElement":true }, { - "hid":39, + "hid":45, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "parent":38, + "parent":44, "children":[ - 40 + 46 ], "name":"Current_Limit_Protection", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection", @@ -2598,15 +2786,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", ":8932", ":8931", + ":8929", ":8928", - ":8926", + ":8927", ":8930", ":8925", - ":8929", - ":8933", - ":8927", + ":8926", ":8931#out:1", ":8925#out:1", ":8932#out:1", @@ -2618,10 +2806,10 @@ "sameAsElement":true }, { - "hid":40, + "hid":46, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", - "parent":39, + "parent":45, "children":[ ], "name":"Saturation Dynamic", @@ -2653,12 +2841,12 @@ "sameAsElement":true }, { - "hid":41, + "hid":47, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "parent":38, + "parent":44, "children":[ - 42 + 48 ], "name":"Speed_Limit_Protection", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection", @@ -2671,12 +2859,12 @@ ":8996", ":8995", ":8994", + ":8993", ":8992", - ":8991", ":8990", - ":8993", ":8989", ":8988", + ":8991", ":8993#out:1", ":8990#out:1", ":8994#out:1", @@ -2688,10 +2876,10 @@ "sameAsElement":true }, { - "hid":42, + "hid":48, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "parent":41, + "parent":47, "children":[ ], "name":"Saturation Dynamic1", @@ -2723,13 +2911,11 @@ "sameAsElement":true }, { - "hid":43, + "hid":49, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "parent":29, + "parent":35, "children":[ - 44, - 47 ], "name":"Open_Mode", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode", @@ -2741,166 +2927,17 @@ "elements":[ ":9044", ":9043", - ":9040", - ":9041", - ":9037", - ":9036", - ":9042", - ":9034", - ":9035", - ":9039", - ":9033", - ":9032", - ":9031", ":9030", - ":9038", - ":9030#out:1", - ":9032#out:1", - ":9042#out:1", - ":9037#out:1", - ":9041#out:1", - ":9034#out:1", - ":9036#out:1", - ":9040#out:1", - ":9035#out:1", - ":9033#out:1" - ], - "sameAsElement":true - }, - { - "hid":44, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "parent":43, - "children":[ - 45, - 46 - ], - "name":"Rate_Limiter", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/Rate_Limiter", - "label":"Rate_Limiter", - "icon":"WebViewIcon9", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_d.json", - "elements":[ - ":9040:2353", - ":9040:2343", - ":9040:2360", - ":9040:2395", - ":9040:2342", - ":9040:2358", - ":9040:2356", - ":9040:2355", - ":9040:2346", - ":9040:2359", - ":9040:2357", - ":9040:2356#out:1", - ":9040:2342#out:1", - ":9040:2359#out:1", - ":9040:2357#out:1", - ":9040:2343#out:1", - ":9040:2346#out:1", - ":9040:2358#out:1", - ":9040:2355#out:1", - ":9040:2395#out:1" - ], - "sameAsElement":true - }, - { - "hid":45, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", - "parent":44, - "children":[ - ], - "name":"Delay_Init1", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/Rate_Limiter/Delay_Init1", - "label":"Delay_Init1", - "icon":"WebViewIcon4", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2342_d.json", - "elements":[ - ":9040:2342:2337", - ":9040:2342:2335", - ":9040:2342:2339", - ":9040:2342:2334", - ":9040:2342:2340", - ":9040:2342:2341", - ":9040:2342:2512", - ":9040:2342:2335#out:1", - ":9040:2342:2334#out:1", - ":9040:2342:2341#out:1", - ":9040:2342:2340#out:1", - ":9040:2342:2337#out:1", - ":9040:2342:2512#out:1" - ], - "sameAsElement":true - }, - { - "hid":46, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", - "parent":44, - "children":[ - ], - "name":"Saturation Dynamic", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/Rate_Limiter/Saturation Dynamic", - "label":"Saturation Dynamic", - "icon":"WebViewIcon3", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9040_2395_d.json", - "elements":[ - ":9040:2395:10", - ":9040:2395:9", - ":9040:2395:8", - ":9040:2395:7", - ":9040:2395:6", - ":9040:2395:5", - ":9040:2395:4", - ":9040:2395:3", - ":9040:2395:2", - ":9040:2395:1", - ":9040:2395:1#out:1", - ":9040:2395:2#out:1", - ":9040:2395:3#out:1", - ":9040:2395:7#out:1", - ":9040:2395:8#out:1", - ":9040:2395:6#out:1", - ":9040:2395:9#out:1" - ], - "sameAsElement":true - }, - { - "hid":47, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9042", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9042", - "parent":43, - "children":[ - ], - "name":"rising_edge_init", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/rising_edge_init", - "label":"rising_edge_init", - "icon":"WebViewIcon4", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9042_d.json", - "elements":[ - ":9042:2364", - ":9042:2363", - ":9042:2362", - ":9042:2363#out:1", - ":9042:2362#out:1" + ":9031", + ":9030#out:1" ], "sameAsElement":true }, { - "hid":48, + "hid":50, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "parent":29, + "parent":35, "children":[ ], "name":"Park_Transform", @@ -2918,24 +2955,24 @@ ":9069", ":9048", ":9049", + ":9067", ":9066", ":9064", ":9063", + ":9062", ":9061", - ":9060", ":9059", ":9058", - ":9057", - ":9055", ":9054", ":9056", - ":9062", + ":9053", + ":9052", ":9051", - ":9065", + ":9055", ":9050", - ":9052", - ":9067", - ":9053", + ":9060", + ":9057", + ":9065", ":9048#out:1", ":9047#out:1", ":9046#out:1", @@ -2958,12 +2995,12 @@ "sameAsElement":true }, { - "hid":49, + "hid":51, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "parent":29, + "parent":35, "children":[ - 50 + 52 ], "name":"Speed_Mode", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode", @@ -2975,30 +3012,30 @@ "elements":[ ":9709", ":9107", - ":9104", - ":9101", + ":9105", + ":9106", + ":9102", ":9100", ":9728", ":9094", ":9093", ":9092", ":9091", - ":9089", + ":9104", + ":9088", ":9087", - ":9102", - ":9078", + ":9090", ":9083", - ":9106", - ":9081", - ":9095", ":9084", - ":9077", + ":9101", ":9082", + ":9089", + ":9078", + ":9077", ":9076", - ":9088", - ":9105", - ":9090", + ":9081", ":9075", + ":9095", ":9087#out:1", ":9075#out:1", ":9076#out:1", @@ -3020,14 +3057,14 @@ "sameAsElement":true }, { - "hid":50, + "hid":52, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "parent":49, + "parent":51, "children":[ - 51, - 52, - 53 + 53, + 54, + 55 ], "name":"PI_clamp_fixdt_n", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n", @@ -3038,28 +3075,28 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json", "elements":[ ":9728:2785", + ":9728:2815", ":9728:2817", - ":9728:2783", - ":9728:2794", - ":9728:2795", + ":9728:2814", + ":9728:2781", ":9728:2846", ":9728:2833", ":9728:2832", - ":9728:2778", ":9728:2779", - ":9728:2776", - ":9728:2814", ":9728:2816", - ":9728:2733", - ":9728:2781", - ":9728:2771", - ":9728:2791", - ":9728:2815", + ":9728:2773", ":9728:2845", + ":9728:2791", + ":9728:2771", + ":9728:2732", ":9728:2770", + ":9728:2778", + ":9728:2733", + ":9728:2776", + ":9728:2783", + ":9728:2794", ":9728:2769", - ":9728:2773", - ":9728:2732", + ":9728:2795", ":9728:2844", ":9728:2791#out:2", ":9728:2846#out:1", @@ -3087,10 +3124,10 @@ "sameAsElement":true }, { - "hid":51, + "hid":53, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", - "parent":50, + "parent":52, "children":[ ], "name":"Clamping_circuit", @@ -3104,12 +3141,12 @@ ":9728:2819", ":9728:2818", ":9728:2831", - ":9728:2839", ":9728:2837", ":9728:2841", - ":9728:2840", + ":9728:2839", ":9728:2836", ":9728:2843", + ":9728:2840", ":9728:2838", ":9728:2843#out:1", ":9728:2838#out:1", @@ -3124,10 +3161,10 @@ "sameAsElement":true }, { - "hid":52, + "hid":54, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", - "parent":50, + "parent":52, "children":[ ], "name":"Integrator", @@ -3139,8 +3176,8 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json", "elements":[ ":9728:2790", - ":9728:2788", ":9728:2789", + ":9728:2788", ":9728:2787", ":9728:2786", ":9728:2787#out:1", @@ -3151,10 +3188,10 @@ "sameAsElement":true }, { - "hid":53, + "hid":55, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", - "parent":50, + "parent":52, "children":[ ], "name":"Saturation_hit", @@ -3165,16 +3202,16 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json", "elements":[ + ":9728:2791:2710", + ":9728:2791:2377", ":9728:2791:2709", ":9728:2791:2707", - ":9728:2791:2849", - ":9728:2791:2377", - ":9728:2791:2704", ":9728:2791:2848", ":9728:2791:2700", - ":9728:2791:2710", + ":9728:2791:2704", ":9728:2791:2701", ":9728:2791:2699", + ":9728:2791:2849", ":9728:2791:2849#out:1", ":9728:2791:2701#out:1", ":9728:2791:2704#out:1", @@ -3186,13 +3223,13 @@ "sameAsElement":true }, { - "hid":54, + "hid":56, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "parent":29, + "parent":35, "children":[ - 55, - 59 + 57, + 61 ], "name":"Torque_Mode", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode", @@ -3203,36 +3240,36 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json", "elements":[ ":9141", - ":9140", + ":9139", ":9136", - ":9138", + ":9134", ":9133", ":9729", ":9131", - ":9128", + ":9130", ":9126", + ":9128", ":9121", - ":9130", - ":9120", ":9119", - ":9129", - ":9740", + ":9120", + ":9118", ":9116", - ":9115", ":9117", - ":9125", - ":9113", - ":9124", + ":9115", + ":9127", ":9123", + ":9113", ":9114", - ":9135", - ":9127", - ":9118", + ":9112", + ":9135", ":9111", + ":9125", + ":9124", + ":9129", ":9110", - ":9139", - ":9112", - ":9134", + ":9138", + ":9140", + ":9740", ":9118#out:1", ":9111#out:1", ":9110#out:1", @@ -3259,14 +3296,14 @@ "sameAsElement":true }, { - "hid":55, + "hid":57, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "parent":54, + "parent":56, "children":[ - 56, - 57, - 58 + 58, + 59, + 60 ], "name":"PI_clamp_fixdt_iq", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq", @@ -3276,29 +3313,29 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json", "elements":[ - ":9729:2785", ":9729:2817", ":9729:2814", - ":9729:2783", - ":9729:2791", + ":9729:2815", ":9729:2779", - ":9729:2795", - ":9729:2846", - ":9729:2832", - ":9729:2778", + ":9729:2783", + ":9729:2845", ":9729:2794", ":9729:2833", - ":9729:2845", - ":9729:2732", - ":9729:2771", ":9729:2781", + ":9729:2832", ":9729:2776", - ":9729:2770", - ":9729:2815", ":9729:2773", ":9729:2733", - ":9729:2816", + ":9729:2732", + ":9729:2791", + ":9729:2785", + ":9729:2771", + ":9729:2778", + ":9729:2770", + ":9729:2795", ":9729:2769", + ":9729:2816", + ":9729:2846", ":9729:2844", ":9729:2791#out:2", ":9729:2846#out:1", @@ -3326,10 +3363,10 @@ "sameAsElement":true }, { - "hid":56, + "hid":58, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", - "parent":55, + "parent":57, "children":[ ], "name":"Clamping_circuit", @@ -3343,12 +3380,12 @@ ":9729:2819", ":9729:2818", ":9729:2831", - ":9729:2839", - ":9729:2840", + ":9729:2837", ":9729:2841", ":9729:2836", + ":9729:2839", ":9729:2843", - ":9729:2837", + ":9729:2840", ":9729:2838", ":9729:2843#out:1", ":9729:2838#out:1", @@ -3363,10 +3400,10 @@ "sameAsElement":true }, { - "hid":57, + "hid":59, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", - "parent":55, + "parent":57, "children":[ ], "name":"Integrator", @@ -3377,9 +3414,9 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json", "elements":[ + ":9729:2790", ":9729:2789", ":9729:2787", - ":9729:2790", ":9729:2788", ":9729:2786", ":9729:2787#out:1", @@ -3390,10 +3427,10 @@ "sameAsElement":true }, { - "hid":58, + "hid":60, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", - "parent":55, + "parent":57, "children":[ ], "name":"Saturation_hit", @@ -3405,13 +3442,13 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json", "elements":[ ":9729:2791:2377", - ":9729:2791:2709", + ":9729:2791:2710", ":9729:2791:2849", ":9729:2791:2848", ":9729:2791:2704", - ":9729:2791:2710", - ":9729:2791:2700", ":9729:2791:2707", + ":9729:2791:2700", + ":9729:2791:2709", ":9729:2791:2699", ":9729:2791:2701", ":9729:2791:2849#out:1", @@ -3425,10 +3462,10 @@ "sameAsElement":true }, { - "hid":59, + "hid":61, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", - "parent":54, + "parent":56, "children":[ ], "name":"Saturation Dynamic", @@ -3460,13 +3497,13 @@ "sameAsElement":true }, { - "hid":60, + "hid":62, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "parent":29, + "parent":35, "children":[ - 61, - 65 + 63, + 67 ], "name":"Vd_Calculation", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation", @@ -3478,30 +3515,30 @@ "elements":[ ":9165", ":9726", - ":9164", + ":9724", ":9721", + ":9162", + ":9161", ":9160", - ":9157", - ":9722", + ":9159", + ":9158", + ":9164", + ":9156", ":9155", - ":9170", + ":9157", ":9152", - ":9149", - ":9156", - ":9161", + ":9722", ":9150", - ":9148", - ":9147", - ":9158", - ":9159", - ":9145", - ":9162", + ":9149", + ":9151", ":9146", - ":9144", ":9723", + ":9145", ":9725", - ":9151", - ":9724", + ":9144", + ":9148", + ":9170", + ":9147", ":9152#out:1", ":9151#out:1", ":9144#out:1", @@ -3524,14 +3561,14 @@ "sameAsElement":true }, { - "hid":61, + "hid":63, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "parent":60, + "parent":62, "children":[ - 62, - 63, - 64 + 64, + 65, + 66 ], "name":"PI_clamp_fixdt_id", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id", @@ -3543,27 +3580,27 @@ "elements":[ ":9721:2785", ":9721:2815", - ":9721:2783", + ":9721:2817", ":9721:2781", + ":9721:2783", + ":9721:2791", + ":9721:2794", + ":9721:2814", ":9721:2845", + ":9721:2795", + ":9721:2846", ":9721:2779", - ":9721:2814", - ":9721:2833", - ":9721:2832", - ":9721:2776", - ":9721:2778", - ":9721:2791", ":9721:2773", - ":9721:2733", - ":9721:2795", + ":9721:2833", ":9721:2770", - ":9721:2816", - ":9721:2846", + ":9721:2733", + ":9721:2832", ":9721:2769", ":9721:2732", - ":9721:2817", - ":9721:2794", + ":9721:2776", ":9721:2771", + ":9721:2816", + ":9721:2778", ":9721:2844", ":9721:2791#out:2", ":9721:2846#out:1", @@ -3591,10 +3628,10 @@ "sameAsElement":true }, { - "hid":62, + "hid":64, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", - "parent":61, + "parent":63, "children":[ ], "name":"Clamping_circuit", @@ -3608,11 +3645,11 @@ ":9721:2819", ":9721:2818", ":9721:2831", - ":9721:2839", - ":9721:2841", ":9721:2837", - ":9721:2836", + ":9721:2841", + ":9721:2839", ":9721:2840", + ":9721:2836", ":9721:2843", ":9721:2838", ":9721:2843#out:1", @@ -3628,10 +3665,10 @@ "sameAsElement":true }, { - "hid":63, + "hid":65, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", - "parent":61, + "parent":63, "children":[ ], "name":"Integrator", @@ -3642,10 +3679,10 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json", "elements":[ - ":9721:2788", - ":9721:2787", ":9721:2790", + ":9721:2788", ":9721:2789", + ":9721:2787", ":9721:2786", ":9721:2787#out:1", ":9721:2789#out:1", @@ -3655,10 +3692,10 @@ "sameAsElement":true }, { - "hid":64, + "hid":66, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", - "parent":61, + "parent":63, "children":[ ], "name":"Saturation_hit", @@ -3670,15 +3707,15 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json", "elements":[ ":9721:2791:2710", - ":9721:2791:2377", - ":9721:2791:2709", - ":9721:2791:2704", ":9721:2791:2848", - ":9721:2791:2849", - ":9721:2791:2701", ":9721:2791:2707", + ":9721:2791:2704", + ":9721:2791:2701", + ":9721:2791:2709", ":9721:2791:2700", + ":9721:2791:2377", ":9721:2791:2699", + ":9721:2791:2849", ":9721:2791:2849#out:1", ":9721:2791:2701#out:1", ":9721:2791:2704#out:1", @@ -3690,10 +3727,10 @@ "sameAsElement":true }, { - "hid":65, + "hid":67, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", - "parent":60, + "parent":62, "children":[ ], "name":"Saturation Dynamic", @@ -3725,12 +3762,12 @@ "sameAsElement":true }, { - "hid":66, + "hid":68, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "parent":29, + "parent":35, "children":[ - 67 + 69 ], "name":"Voltage_Mode", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode", @@ -3740,26 +3777,26 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json", "elements":[ - ":9191", - ":9185", ":9189", - ":9182", - ":9190", - ":9181", + ":9187", + ":9184", + ":9185", ":9180", + ":9177", + ":9179", + ":9182", ":9176", - ":9187", - ":9178", ":9183", - ":9177", - ":9186", + ":9181", ":9175", + ":9190", ":9174", - ":9184", + ":9191", + ":9178", ":9188", ":9173", - ":9179", ":9172", + ":9186", ":9172#out:1", ":9181#out:1", ":9179#out:1", @@ -3777,10 +3814,10 @@ "sameAsElement":true }, { - "hid":67, + "hid":69, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", - "parent":66, + "parent":68, "children":[ ], "name":"Saturation Dynamic1", @@ -3812,11 +3849,14 @@ "sameAsElement":true }, { - "hid":68, + "hid":70, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "parent":2, "children":[ + 71, + 72, + 75 ], "name":"F05_Control_Type_Management", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management", @@ -3837,42 +3877,57 @@ ":9219", ":9220", ":9212", - ":9232", - ":9216", - ":9217", - ":9218", - ":9211", - ":9234", - ":9236", ":9208", ":9202", ":9228", - ":9203", - ":9229", - ":9204", - ":9230", ":9231", ":9205", ":9213", - ":9209", ":9199", ":9223", ":9455", + ":9840", + ":9233", ":9449", ":9235", + ":9914", + ":9833", + ":9925", + ":9227", ":9225", - ":9233", - ":9454", + ":9926", ":9452", + ":9927", + ":9454", + ":9917", + ":9929", + ":9908", + ":9831", + ":9832", + ":9920", + ":9842", + ":9924", + ":8216", + ":9838", + ":9834", + ":9207", ":9215", - ":9214", - ":9453", - ":9210", + ":9915", + ":9916", + ":9923", + ":9922", + ":9921", ":9206", - ":9227", - ":9207", + ":9835", + ":9904", + ":9214", + ":9839", + ":9928", ":9201", + ":9741", ":9451", + ":9836", + ":9919", ":9208#out:3", ":9208#out:2", ":9208#out:1", @@ -3880,20 +3935,9 @@ ":9212#out:1", ":9220#out:1", ":9219#out:1", - ":9211#out:1", - ":9234#out:1", ":9202#out:1", - ":9203#out:1", - ":9204#out:1", ":9205#out:1", - ":9216#out:1", - ":9217#out:1", - ":9218#out:1", - ":9236#out:1", - ":9209#out:1", ":9199#out:1", - ":9232#out:1", - ":9210#out:1", ":9214#out:1", ":9207#out:1", ":9233#out:1", @@ -3901,15 +3945,274 @@ ":9201#out:1", ":9235#out:1", ":9449#out:1", - ":9453#out:1", ":9454#out:1", ":9213#out:1", - ":9215#out:1" + ":9215#out:1", + ":8216#out:1", + ":9834#out:1", + ":9832#out:1", + ":9835#out:1", + ":9831#out:1", + ":9839#out:1", + ":9838#out:1", + ":9908#out:1", + ":9833#out:3", + ":9904#out:1", + ":9914#out:1", + ":9915#out:1", + ":9916#out:1", + ":9917#out:1", + ":9836#out:1", + ":9833#out:2", + ":9741#out:1", + ":9842#out:1", + ":9833#out:1", + ":9840#out:1", + ":9919#out:1", + ":9920#out:1", + ":9921#out:1", + ":9922#out:1", + ":9923#out:1", + ":9927#out:1", + ":9928#out:1", + ":9929#out:1" ], "sameAsElement":true }, { - "hid":69, + "hid":71, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "parent":70, + "children":[ + ], + "name":"F05_00_COM_Method", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_00_COM_Method", + "label":"F05_00_COM_Method", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json", + "elements":[ + ":9907", + ":9906", + ":9236", + ":9912", + ":9453", + ":9211", + ":9913", + ":9209", + ":9911", + ":9910", + ":9823", + ":9909", + ":9209#out:1", + ":9211#out:1", + ":9236#out:1", + ":9453#out:1", + ":9909#out:1", + ":9910#out:1", + ":9913#out:1" + ], + "sameAsElement":true + }, + { + "hid":72, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "parent":70, + "children":[ + 73 + ], + "name":"F05_01_SIN_Method", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method", + "label":"F05_01_SIN_Method", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.json", + "elements":[ + ":9786", + ":9783", + ":9780", + ":9781", + ":9782", + ":9779", + ":9742", + ":9743", + ":9828", + ":9802", + ":9801", + ":9818", + ":9800", + ":9810", + ":9799", + ":9819", + ":9804", + ":9803", + ":9805", + ":9798", + ":9816", + ":9797", + ":9820", + ":9795", + ":9806", + ":9796", + ":9779#out:1", + ":9828#out:1", + ":9743#out:1", + ":9795#out:1", + ":9798#out:1", + ":9797#out:1", + ":9796#out:1", + ":9803#out:1", + ":9804#out:1", + ":9805#out:1", + ":9806#out:1", + ":9810#out:1", + ":9818#out:1", + ":9780#out:1", + ":9781#out:1", + ":9782#out:1", + ":9819#out:1", + ":9816#out:1" + ], + "sameAsElement":true + }, + { + "hid":73, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "parent":72, + "children":[ + 74 + ], + "name":"Phase_Advance_Calculation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation", + "label":"Phase_Advance_Calculation", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json", + "elements":[ + ":9777", + ":9778", + ":9745", + ":9757", + ":9776", + ":9749", + ":9768", + ":9765", + ":9752", + ":9753", + ":9754", + ":9770", + ":9773", + ":9775", + ":9751", + ":9744", + ":9761", + ":9762", + ":9772", + ":9769", + ":9755", + ":9766", + ":9756", + ":9759", + ":9760", + ":9792", + ":10035", + ":9758", + ":9791", + ":9787", + ":9794", + ":9746", + ":9747", + ":9793", + ":9788", + ":9773#out:1", + ":9756#out:1", + ":9745#out:1", + ":9765#out:1", + ":9749#out:1", + ":9754#out:1", + ":9775#out:2", + ":9775#out:1", + ":9744#out:1", + ":9746#out:1", + ":9747#out:1", + ":9791#out:1", + ":9792#out:1", + ":9787#out:1", + ":9788#out:1", + ":9794#out:1", + ":9793#out:1", + ":9769#out:1", + ":9772#out:1", + ":10035#out:1", + ":9766#out:1", + ":9755#out:1", + ":9752#out:1", + ":9751#out:1", + ":9770#out:1", + ":9753#out:1" + ], + "sameAsElement":true + }, + { + "hid":74, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "parent":73, + "children":[ + ], + "name":"Modulo_fixdt", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation/Modulo_fixdt", + "label":"Modulo_fixdt", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.json", + "elements":[ + ":10035:576", + ":10035:572", + ":10035:574", + ":10035:573", + ":10035:570", + ":10035:571", + ":10035:575", + ":10035:572#out:1", + ":10035:571#out:1", + ":10035:573#out:1", + ":10035:574#out:1", + ":10035:570#out:1" + ], + "sameAsElement":true + }, + { + "hid":75, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "parent":70, + "children":[ + ], + "name":"F05_02_FOC_Method", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_02_FOC_Method", + "label":"F05_02_FOC_Method", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.json", + "elements":[ + ":9902", + ":9847", + ":9843", + ":9843#out:1" + ], + "sameAsElement":true + }, + { + "hid":76, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", "parent":2, @@ -3927,7 +4230,7 @@ "sameAsElement":true }, { - "hid":70, + "hid":77, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", "parent":2, 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 fc9793e..ac77537 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 @@ -194,11 +194,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8225", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_01_Input_Scaling", - "label":"F01_01_Input_Scaling", + "name":"F01_01_Edge_Detector", + "label":"F01_01_Edge_Detector", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -291,12 +291,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9337", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Commutation_Control_Type", - "label":"Commutation_Control_Type", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"F01_02_Position_Calculation", + "label":"F01_02_Position_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "ShowPortLabels", @@ -347,7 +347,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -388,12 +388,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9341", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"FOC_Control_Type", - "label":"FOC_Control_Type", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9333", + "name":"F01_03_Direction_Detection", + "label":"F01_03_Direction_Detection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "ShowPortLabels", @@ -485,11 +485,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8225", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_02_Edge_Detector", - "label":"F01_02_Edge_Detector", + "name":"F01_04_Speed_Estimation", + "label":"F01_04_Speed_Estimation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -582,12 +582,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8235", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "z_cntInit" + ], + "values":[ + "z_maxCntRst" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_03_Position_Calculation", - "label":"F01_03_Position_Calculation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "name":"Raw_Motor_Speed_Estimation", + "label":"Raw_Motor_Speed_Estimation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "ShowPortLabels", @@ -638,7 +696,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -679,11 +737,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8247", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_04_Direction_Detection", - "label":"F01_04_Direction_Detection", + "name":"F01_05_Electrical_Angle_Estimation", + "label":"F01_05_Electrical_Angle_Estimation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -735,7 +793,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -776,12 +834,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_05_Speed_Estimation", - "label":"F01_05_Speed_Estimation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "name":"F02_Diagnostics", + "label":"F02_Diagnostics", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "ShowPortLabels", @@ -832,7 +890,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -873,70 +931,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "z_cntInit" - ], - "values":[ - "z_maxCntRst" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "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/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Raw_Motor_Speed_Estimation", - "label":"Raw_Motor_Speed_Estimation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "name":"Debounce_Filter", + "label":"Debounce_Filter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "ShowPortLabels", @@ -978,7 +978,7 @@ "ReadWrite", "", "All", - "off", + "on", "on", "", "", @@ -994,7 +994,7 @@ "off", "off", "", - "Auto", + "Use subsystem name", "", "Auto", "Inherit from model", @@ -1002,7 +1002,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Auto", + "Reusable function", "-1", "", "off", @@ -1028,12 +1028,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F01_06_Electrical_Angle_Estimation", - "label":"F01_06_Electrical_Angle_Estimation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "name":"Default", + "label":"Default", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "ShowPortLabels", @@ -1084,7 +1084,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -1125,12 +1125,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F02_Diagnostics", - "label":"F02_Diagnostics", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "name":"Dequalification", + "label":"Dequalification", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "ShowPortLabels", @@ -1222,12 +1222,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", "className":"Simulink.SubSystem", "icon":"WebViewIcon4", - "name":"Debounce_Filter", - "label":"Debounce_Filter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "name":"Counter", + "label":"Counter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "z_cntInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "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", @@ -1269,7 +1327,7 @@ "ReadWrite", "", "All", - "on", + "off", "on", "", "", @@ -1285,7 +1343,7 @@ "off", "off", "", - "Use subsystem name", + "Auto", "", "Auto", "Inherit from model", @@ -1293,7 +1351,7 @@ "Inherit from model", "Inherit from model", "Inherit from model", - "Reusable function", + "Auto", "-1", "", "off", @@ -1319,13 +1377,71 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Default", - "label":"Default", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "z_cntInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", + "className":"Either edge detection", + "icon":"WebViewIcon4", + "name":"either_edge", + "label":"either_edge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ "params":[ "ShowPortLabels", "Permissions", @@ -1366,7 +1482,7 @@ "ReadWrite", "", "All", - "off", + "on", "on", "", "", @@ -1412,16 +1528,16 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"" + "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", + "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", @@ -1463,7 +1579,7 @@ "ReadWrite", "", "All", - "off", + "on", "on", "", "", @@ -1509,74 +1625,16 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", - "inspector":{ - "params":[ - "z_cntInit" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "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/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" + "masktype":"Either edge detection" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Qualification", - "label":"Qualification", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "name":"F03_Control_Mode_Manager", + "label":"F03_Control_Mode_Manager", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "ShowPortLabels", @@ -1627,7 +1685,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -1668,70 +1726,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "z_cntInit" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "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/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "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", + "icon":"WebViewIcon1", + "name":"F03_01_Mode_Transition_Calculation", + "label":"F03_01_Mode_Transition_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "ShowPortLabels", @@ -1773,7 +1773,7 @@ "ReadWrite", "", "All", - "on", + "off", "on", "", "", @@ -1782,7 +1782,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -1819,37 +1819,96 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Either edge detection" + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", + "className":"Stateflow.Chart", + "icon":"WebViewIcon6", + "name":"F03_02_Control_Mode_Manager", + "label":"F03_02_Control_Mode_Manager", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", + "ActionLanguage", + "StateMachineType", + "ChartUpdate", + "AllowGlobalAccessToExportedFunctions", + "ExecuteAtInitialization", + "InitializeOutput", + "EnableNonTerminalStates", + "supportVariableSizing", + "SaturateOnIntegerOverflow", + "HasOutputData", + "EmlDefaultFimath", + "TreatAsFi", + "Description", + "Document" + ], + "values":[ + "MATLAB", + "Classic", + "INHERITED", + false, + false, + false, + false, + true, + true, + false, + "Same as MATLAB Default", + "Fixed-point", + "", + "" + ], + "tabs":[ + "General", + "Fixed-point properties", + "Documentation" + ], + "tabs_idx":[ + 0, + 10, + 12 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F03_03_Input_Target_Synthesis", + "label":"F03_03_Input_Target_Synthesis", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", "RTWFcnName", "RTWFcnNameOpts", "RTWFileName", @@ -1870,7 +1929,104 @@ "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Default_Control_Type", + "label":"Default_Control_Type", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "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", "", "", @@ -1916,16 +2072,16 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Either edge detection" + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10007", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F03_Control_Mode_Manager", - "label":"F03_Control_Mode_Manager", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "name":"Default_Mode", + "label":"Default_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "ShowPortLabels", @@ -1963,47 +2119,402 @@ "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", - "", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"FOC_Control_Type", + "label":"FOC_Control_Type", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Open_Mode", + "label":"Open_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Rate_Limiter", + "label":"Rate_Limiter", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "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", + "Auto", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2342", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Delay_Init1", + "label":"Delay_Init1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "inspector":{ + "params":[ + "initVal" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", "off", - "" + "Floor", + "off" ], "tabs":[ - "Main", - "-Other" ], "tabs_idx":[ - 0, - 6 ] }, "viewer":{ @@ -2013,16 +2524,16 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"" + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F03_01_Mode_Transition_Calculation", - "label":"F03_01_Mode_Transition_Calculation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950", + "className":"Rising edge init", + "icon":"WebViewIcon4", + "name":"rising_edge_init", + "label":"rising_edge_init", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ "ShowPortLabels", @@ -2064,7 +2575,7 @@ "ReadWrite", "", "All", - "off", + "on", "on", "", "", @@ -2073,7 +2584,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -2110,68 +2621,9 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"" + "masktype":"Rising edge init" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", - "className":"Stateflow.Chart", - "icon":"WebViewIcon6", - "name":"F03_02_Control_Mode_Manager", - "label":"F03_02_Control_Mode_Manager", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "ActionLanguage", - "StateMachineType", - "ChartUpdate", - "AllowGlobalAccessToExportedFunctions", - "ExecuteAtInitialization", - "InitializeOutput", - "EnableNonTerminalStates", - "supportVariableSizing", - "SaturateOnIntegerOverflow", - "HasOutputData", - "EmlDefaultFimath", - "TreatAsFi", - "Description", - "Document" - ], - "values":[ - "MATLAB", - "Classic", - "INHERITED", - false, - false, - false, - false, - true, - true, - false, - "Same as MATLAB Default", - "Fixed-point", - "", - "" - ], - "tabs":[ - "General", - "Fixed-point properties", - "Documentation" - ], - "tabs_idx":[ - 0, - 10, - 12 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "className":"Simulink.SubSystem", @@ -3117,15 +3569,151 @@ "-1", "", "off", - "" + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Current_Limit_Protection", + "label":"Current_Limit_Protection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" ], "tabs":[ - "Main", - "-Other" ], "tabs_idx":[ - 0, - 6 ] }, "viewer":{ @@ -3135,15 +3723,15 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"" + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Current_Limit_Protection", - "label":"Current_Limit_Protection", + "name":"Speed_Limit_Protection", + "label":"Speed_Limit_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3236,12 +3824,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", "inspector":{ "params":[ "OutMin", @@ -3275,12 +3863,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Limit_Protection", - "label":"Speed_Limit_Protection", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "name":"Open_Mode", + "label":"Open_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "ShowPortLabels", @@ -3372,32 +3960,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Park_Transform", + "label":"Park_Transform", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "[]", - "[]", - "Inherit: Same as second input", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "Floor", - "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":{ @@ -3407,15 +4053,15 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Open_Mode", - "label":"Open_Mode", + "name":"Speed_Mode", + "label":"Speed_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3508,12 +4154,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", - "name":"Rate_Limiter", - "label":"Rate_Limiter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "name":"PI_clamp_fixdt_n", + "label":"PI_clamp_fixdt_n", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "ShowPortLabels", @@ -3562,7 +4208,7 @@ "off", "off", "-1", - "Auto", + "Reusable function", "Use subsystem name", "", "Auto", @@ -3601,61 +4247,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2342", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Delay_Init1", - "label":"Delay_Init1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9040:2395", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9040", + "icon":"WebViewIcon1", + "name":"Clamping_circuit", + "label":"Clamping_circuit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "[]", - "[]", - "Inherit: Same as second input", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "Floor", - "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":{ @@ -3665,16 +4340,16 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "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", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ "ShowPortLabels", @@ -3716,7 +4391,7 @@ "ReadWrite", "", "All", - "on", + "off", "on", "", "", @@ -3725,7 +4400,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -3762,94 +4437,90 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Rising edge init" + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Park_Transform", - "label":"Park_Transform", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "icon":"WebViewIcon9", + "name":"Saturation_hit", + "label":"Saturation_hit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", "inspector":{ "params":[ "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", "MinAlgLoopOccurrences", - "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", + "SystemSampleTime", + "RTWSystemCode", "RTWFcnNameOpts", - "RTWFileName", + "RTWFcnName", "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", + "IsSubsystemVirtual", "Variant", - "VariantControl" + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", "", "", - "off", "", - "void_void", - "off", - "off", - "on", + "ReadWrite", "", + "All", "off", - "", "off", "off", - "", + "-1", + "Auto", "Auto", "", "Auto", + "", + "void_void", + "off", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "Auto", - "-1", + "on", + "off", + "", "", "off", - "" + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "-Other" ], "tabs_idx":[ - 0, - 6 ] }, "viewer":{ @@ -3863,11 +4534,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Mode", - "label":"Speed_Mode", + "name":"Torque_Mode", + "label":"Torque_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3960,12 +4631,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_n", - "label":"PI_clamp_fixdt_n", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "name":"PI_clamp_fixdt_iq", + "label":"PI_clamp_fixdt_iq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "ShowPortLabels", @@ -4053,12 +4724,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Clamping_circuit", "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ "ShowPortLabels", @@ -4150,12 +4821,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Integrator", "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ "ShowPortLabels", @@ -4247,12 +4918,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", "name":"Saturation_hit", "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", "inspector":{ "params":[ "ShowPortLabels", @@ -4340,11 +5011,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", + "name":"Vd_Calculation", + "label":"Vd_Calculation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4437,12 +5147,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_iq", - "label":"PI_clamp_fixdt_iq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "name":"PI_clamp_fixdt_id", + "label":"PI_clamp_fixdt_id", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "ShowPortLabels", @@ -4530,12 +5240,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Clamping_circuit", "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ "ShowPortLabels", @@ -4627,12 +5337,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Integrator", "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ "ShowPortLabels", @@ -4724,12 +5434,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", "name":"Saturation_hit", "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", "inspector":{ "params":[ "ShowPortLabels", @@ -4817,12 +5527,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", "className":"Saturation Dynamic", "icon":"WebViewIcon3", "name":"Saturation Dynamic", "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "OutMin", @@ -4856,11 +5566,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Vd_Calculation", - "label":"Vd_Calculation", + "name":"Voltage_Mode", + "label":"Voltage_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4953,86 +5663,129 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_id", - "label":"PI_clamp_fixdt_id", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "icon":"WebViewIcon1", + "name":"F05_Control_Type_Management", + "label":"F05_Control_Type_Management", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", + "ShowPortLabels", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", "", + "All", + "off", + "on", "", "", - "ReadWrite", + "off", "", - "All", + "void_void", + "off", + "off", "on", + "", + "off", + "", "off", "off", - "-1", - "Reusable function", - "Use subsystem name", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "off", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -5046,12 +5799,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"F05_00_COM_Method", + "label":"F05_00_COM_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "ShowPortLabels", @@ -5102,7 +5855,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -5143,12 +5896,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"F05_01_SIN_Method", + "label":"F05_01_SIN_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "ShowPortLabels", @@ -5199,7 +5952,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -5240,86 +5993,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Saturation_hit", - "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "icon":"WebViewIcon1", + "name":"Phase_Advance_Calculation", + "label":"Phase_Advance_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", "", + "All", + "off", + "on", "", "", - "ReadWrite", + "off", "", - "All", + "void_void", "off", "off", + "on", + "", + "off", + "", + "off", "off", - "-1", - "Auto", - "Auto", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "on", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -5333,51 +6090,12 @@ } }, { - "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/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "icon":"WebViewIcon9", + "name":"Modulo_fixdt", + "label":"Modulo_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "inspector":{ "params":[ "ShowPortLabels", @@ -5428,7 +6146,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -5469,51 +6187,12 @@ } }, { - "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/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F05_Control_Type_Management", - "label":"F05_Control_Type_Management", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "name":"F05_02_FOC_Method", + "label":"F05_02_FOC_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "ShowPortLabels", @@ -5564,7 +6243,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", From 6c8b7f001d37811adf5a95e3a2157cfe12fa17da Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sat, 30 Nov 2019 11:30:12 +0100 Subject: [PATCH 03/11] Added Sinusoidal Control Type Sinusoidal Control Type is now available is this branch. To select it go in config.h and change CTRL_TYP_SEL to 1. By default FOC control type is selcted. Note: SPEED and TORQUE modes are not available for Sinusoidal control type. --- .../01_Controller/BLDC_controller_Lib.slx | Bin 53886 -> 53530 bytes 01_Matlab/02_Figures/control_methods.png | Bin 138917 -> 193260 bytes .../03_CreateParamTable/tableParamType.xlsx | Bin 12999 -> 13132 bytes .../BLDCmotorControl_FOC_R2017b_fixdt.slx | Bin 187182 -> 194318 bytes 01_Matlab/init_model.m | 126 +- Inc/BLDC_controller.h | 403 ++-- Inc/config.h | 4 +- Inc/rtwtypes.h | 4 +- README.md | 21 +- Src/BLDC_controller.c | 1919 +++++++++-------- Src/BLDC_controller_data.c | 210 +- Src/main.c | 7 +- build/firmware.bin | Bin 19128 -> 20692 bytes build/firmware.elf | Bin 382992 -> 395000 bytes docs/pictures/paramTable.png | Bin 57479 -> 62474 bytes 15 files changed, 1477 insertions(+), 1217 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 545ac3ca74df0b1c5e7b2a301dcc561d3ffcbff3..4e276220833c095114c6712b5093eeecd3a2d886 100644 GIT binary patch delta 38434 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
f%cf6t2`6jV9eYj^LMzFyRWKX)4sdH_%za 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�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%0D%l1?J#Eg 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 F006_8$@KsL diff --git a/01_Matlab/02_Figures/control_methods.png b/01_Matlab/02_Figures/control_methods.png index 303777edbe31a4f75f8635e4a9657a99a6aa180f..ee612d80d40c45c7a8117677fb342b854c3d8a99 100644 GIT binary patch literal 193260 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 Uryka!Jiw%J`s}Iv6X&n}A27j)7ytkO literal 138917 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 XbvUO^CVJ^w;EqGQq~X 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

hq33OtXW3(;7?98Cg9tvqQ88MHg)T|o|b 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%0DH5C* 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 z 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%0Dpz_(jBwGRmq~g)!y%5Y}Hv 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

_&!?I@W*HJ6iO5A%<#JO;^F! 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 I{JOsX2YV-6zW@LL From 1841257078af6c354f801020dd7ab637345365e9 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sat, 30 Nov 2019 11:32:24 +0100 Subject: [PATCH 04/11] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 36971d5..70f0dd4 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,11 @@ In this firmware 3 control types are available: Demo videos: + [â–ºVideo: Commutation vs Advanced control (constant speed)](https://drive.google.com/open?id=1vC_kEkp2LE2lAaMCJcmK4z2m3jrPUoBD) + [â–ºVideo: Commutation vs Advanced control (variable speed)](https://drive.google.com/open?id=1rrQ4k5VLhhAWXQzDSCar_SmEdsbM-hq2) + [â–ºVideo: Reliable Serial Communication demo](https://drive.google.com/open?id=1mUM-p7SE6gmyTH7zhDHy5DUyczXvmy5d) ![Hoverboard wheel](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/hoverboard_wheel.JPG) From 9fdb6d75f5a5ec0cd0f3c31bd5fd77b2135b4b54 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sun, 1 Dec 2019 17:38:36 +0100 Subject: [PATCH 05/11] Fixed checksum Fixed a bug when requesting negative speed in the checksum calculation due to data type. --- Src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/main.c b/Src/main.c index 8c3b85a..368b7d5 100644 --- a/Src/main.c +++ b/Src/main.c @@ -322,7 +322,7 @@ int main(void) { #if defined CONTROL_SERIAL_USART2 || defined CONTROL_SERIAL_USART3 // Handle received data validity, timeout and fix out-of-sync if necessary - if (command.start == START_FRAME && command.checksum == (command.start ^ command.steer ^ command.speed)) { + if (command.start == START_FRAME && command.checksum == (uint16_t)(command.start ^ command.steer ^ command.speed)) { if (timeoutFlag) { // Check for previous timeout flag if (timeoutCnt-- <= 0) // Timeout de-qualification timeoutFlag = 0; // Timeout flag cleared From 249d93932e3e23e8f08adef1d7fd471a383fe8d0 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sun, 1 Dec 2019 17:46:48 +0100 Subject: [PATCH 06/11] Fixed checksum Fixed a bug when requesting negative speed in the checksum calculation due to data type. --- 02_Arduino/hoverserial/hoverserial.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/02_Arduino/hoverserial/hoverserial.ino b/02_Arduino/hoverserial/hoverserial.ino index ba63ad9..d6908c3 100644 --- a/02_Arduino/hoverserial/hoverserial.ino +++ b/02_Arduino/hoverserial/hoverserial.ino @@ -91,8 +91,8 @@ void Receive() { // Check for new data availability in the Serial buffer if (HoverSerial.available()) { - incomingByte = HoverSerial.read(); // Read the incoming byte - bufStartFrame = ((uint16_t)(incomingBytePrev) << 8) + incomingByte; // Construct the start marker + incomingByte = HoverSerial.read(); // Read the incoming byte + bufStartFrame = ((uint16_t)(incomingBytePrev) << 8) + incomingByte; // Construct the start frame } else { return; @@ -118,8 +118,8 @@ void Receive() // Check if we reached the end of the package if (idx == sizeof(SerialFeedback)) { uint16_t checksum; - checksum = NewFeedback.start ^ NewFeedback.cmd1 ^ NewFeedback.cmd2 ^ NewFeedback.speedR ^ NewFeedback.speedL - ^ NewFeedback.speedR_meas ^ NewFeedback.speedL_meas ^ NewFeedback.batVoltage ^ NewFeedback.boardTemp; + checksum = (uint16_t)(NewFeedback.start ^ NewFeedback.cmd1 ^ NewFeedback.cmd2 ^ NewFeedback.speedR ^ NewFeedback.speedL + ^ NewFeedback.speedR_meas ^ NewFeedback.speedL_meas ^ NewFeedback.batVoltage ^ NewFeedback.boardTemp); // Check validity of the new data if (NewFeedback.start == START_FRAME && checksum == NewFeedback.checksum) { From 6e4405c19cbe3da2c742a3700b45e39ae6e9455e Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Sun, 1 Dec 2019 18:19:59 +0100 Subject: [PATCH 07/11] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 70f0dd4..519c8e2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # hoverboard-firmware-hack-FOC ## with Field Oriented Control (FOC) [![Build Status](https://travis-ci.com/EmanuelFeru/hoverboard-firmware-hack-FOC.svg?branch=master)](https://travis-ci.com/EmanuelFeru/hoverboard-firmware-hack-FOC) +[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=feru_emanuel%40yahoo.com¤cy_code=EUR&source=url) +***If you like this project, you can give me a cup of coffee. Thanks!*** This repository implements Field Oriented Control (FOC) for stock hoverboards. Compared to the commutation method, this new FOC control method offers superior performance featuring: - reduced noise and vibrations From 22d52795dc8cd625c0b8f5357bd8db2951afafde Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Wed, 4 Dec 2019 20:51:06 +0100 Subject: [PATCH 08/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 519c8e2..0f7924c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # hoverboard-firmware-hack-FOC ## with Field Oriented Control (FOC) [![Build Status](https://travis-ci.com/EmanuelFeru/hoverboard-firmware-hack-FOC.svg?branch=master)](https://travis-ci.com/EmanuelFeru/hoverboard-firmware-hack-FOC) -[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=feru_emanuel%40yahoo.com¤cy_code=EUR&source=url) +[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=feru_emanuel%40yahoo.com¤cy_code=EUR&source=url) ***If you like this project, you can give me a cup of coffee. Thanks!*** This repository implements Field Oriented Control (FOC) for stock hoverboards. Compared to the commutation method, this new FOC control method offers superior performance featuring: From 8ae3770708debefecab11e3961722187c324ffeb Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Thu, 12 Dec 2019 23:34:07 +0100 Subject: [PATCH 09/11] Updated webview --- .../html/webview/support/slwebview.json | 18 +- ...CmotorControl_FOC_R2017b_fixdt_10007_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_10035_d.svg | 4 +- ...motorControl_FOC_R2017b_fixdt_10066_d.json | 3243 ++++++++ ...CmotorControl_FOC_R2017b_fixdt_10066_d.png | Bin 0 -> 8759 bytes ...CmotorControl_FOC_R2017b_fixdt_10066_d.svg | 2800 +++++++ ...motorControl_FOC_R2017b_fixdt_10164_d.json | 889 ++ ...CmotorControl_FOC_R2017b_fixdt_10164_d.png | Bin 0 -> 7596 bytes ...CmotorControl_FOC_R2017b_fixdt_10164_d.svg | 875 ++ ...motorControl_FOC_R2017b_fixdt_10364_d.json | 7284 +++++++++++++++++ ...CmotorControl_FOC_R2017b_fixdt_10364_d.png | Bin 0 -> 10673 bytes ...CmotorControl_FOC_R2017b_fixdt_10364_d.svg | 5814 +++++++++++++ ...ontrol_FOC_R2017b_fixdt_10454_2779_d.json} | 222 +- ...Control_FOC_R2017b_fixdt_10454_2779_d.png} | Bin ...Control_FOC_R2017b_fixdt_10454_2779_d.svg} | 204 +- ...ontrol_FOC_R2017b_fixdt_10454_2791_d.json} | 232 +- ...Control_FOC_R2017b_fixdt_10454_2791_d.png} | Bin ...Control_FOC_R2017b_fixdt_10454_2791_d.svg} | 754 +- ...ontrol_FOC_R2017b_fixdt_10454_2816_d.json} | 170 +- ...Control_FOC_R2017b_fixdt_10454_2816_d.png} | Bin ...Control_FOC_R2017b_fixdt_10454_2816_d.svg} | 318 +- ...otorControl_FOC_R2017b_fixdt_10454_d.json} | 1146 +-- ...CmotorControl_FOC_R2017b_fixdt_10454_d.png | Bin 0 -> 7584 bytes ...motorControl_FOC_R2017b_fixdt_10454_d.svg} | 1542 ++-- ...ontrol_FOC_R2017b_fixdt_10455_2779_d.json} | 132 +- ...Control_FOC_R2017b_fixdt_10455_2779_d.png} | Bin ...rControl_FOC_R2017b_fixdt_10455_2779_d.svg | 435 + ...ontrol_FOC_R2017b_fixdt_10455_2791_d.json} | 338 +- ...Control_FOC_R2017b_fixdt_10455_2791_d.png} | Bin ...Control_FOC_R2017b_fixdt_10455_2791_d.svg} | 502 +- ...ontrol_FOC_R2017b_fixdt_10455_2816_d.json} | 260 +- ...Control_FOC_R2017b_fixdt_10455_2816_d.png} | Bin ...Control_FOC_R2017b_fixdt_10455_2816_d.svg} | 368 +- ...otorControl_FOC_R2017b_fixdt_10455_d.json} | 1134 +-- ...CmotorControl_FOC_R2017b_fixdt_10455_d.png | Bin 0 -> 7584 bytes ...motorControl_FOC_R2017b_fixdt_10455_d.svg} | 1572 ++-- ...otorControl_FOC_R2017b_fixdt_10507_d.json} | 68 +- ...motorControl_FOC_R2017b_fixdt_10507_d.png} | Bin ...CmotorControl_FOC_R2017b_fixdt_10507_d.svg | 1180 +++ ...otorControl_FOC_R2017b_fixdt_10508_d.json} | 68 +- ...motorControl_FOC_R2017b_fixdt_10508_d.png} | Bin ...CmotorControl_FOC_R2017b_fixdt_10508_d.svg | 1180 +++ ...motorControl_FOC_R2017b_fixdt_10566_d.json | 2468 ++++++ ...CmotorControl_FOC_R2017b_fixdt_10566_d.png | Bin 0 -> 6757 bytes ...CmotorControl_FOC_R2017b_fixdt_10566_d.svg | 2106 +++++ ...otorControl_FOC_R2017b_fixdt_10584_d.json} | 326 +- ...CmotorControl_FOC_R2017b_fixdt_10584_d.png | Bin 0 -> 4008 bytes ...motorControl_FOC_R2017b_fixdt_10584_d.svg} | 508 +- ...otorControl_FOC_R2017b_fixdt_10594_d.json} | 68 +- ...motorControl_FOC_R2017b_fixdt_10594_d.png} | Bin ...motorControl_FOC_R2017b_fixdt_10594_d.svg} | 44 +- ...otorControl_FOC_R2017b_fixdt_10602_d.json} | 945 ++- ...CmotorControl_FOC_R2017b_fixdt_10602_d.png | Bin 0 -> 5417 bytes ...CmotorControl_FOC_R2017b_fixdt_10602_d.svg | 1095 +++ ...Control_FOC_R2017b_fixdt_10745_2877_d.json | 509 ++ ...rControl_FOC_R2017b_fixdt_10745_2877_d.png | Bin 0 -> 4682 bytes ...rControl_FOC_R2017b_fixdt_10745_2877_d.svg | 435 + ...Control_FOC_R2017b_fixdt_10745_2895_d.json | 936 +++ ...rControl_FOC_R2017b_fixdt_10745_2895_d.png | Bin 0 -> 4633 bytes ...rControl_FOC_R2017b_fixdt_10745_2895_d.svg | 1180 +++ ...motorControl_FOC_R2017b_fixdt_10745_d.json | 1447 ++++ ...CmotorControl_FOC_R2017b_fixdt_10745_d.png | Bin 0 -> 6035 bytes ...CmotorControl_FOC_R2017b_fixdt_10745_d.svg | 1144 +++ ...Control_FOC_R2017b_fixdt_10746_2877_d.json | 509 ++ ...rControl_FOC_R2017b_fixdt_10746_2877_d.png | Bin 0 -> 4682 bytes ...Control_FOC_R2017b_fixdt_10746_2877_d.svg} | 70 +- ...Control_FOC_R2017b_fixdt_10746_2895_d.json | 936 +++ ...rControl_FOC_R2017b_fixdt_10746_2895_d.png | Bin 0 -> 4633 bytes ...Control_FOC_R2017b_fixdt_10746_2895_d.svg} | 40 +- ...motorControl_FOC_R2017b_fixdt_10746_d.json | 1447 ++++ ...CmotorControl_FOC_R2017b_fixdt_10746_d.png | Bin 0 -> 6035 bytes ...CmotorControl_FOC_R2017b_fixdt_10746_d.svg | 1144 +++ ...Control_FOC_R2017b_fixdt_10808_2877_d.json | 509 ++ ...rControl_FOC_R2017b_fixdt_10808_2877_d.png | Bin 0 -> 4682 bytes ...rControl_FOC_R2017b_fixdt_10808_2877_d.svg | 435 + ...Control_FOC_R2017b_fixdt_10808_2895_d.json | 936 +++ ...rControl_FOC_R2017b_fixdt_10808_2895_d.png | Bin 0 -> 4633 bytes ...rControl_FOC_R2017b_fixdt_10808_2895_d.svg | 1180 +++ ...motorControl_FOC_R2017b_fixdt_10808_d.json | 1447 ++++ ...CmotorControl_FOC_R2017b_fixdt_10808_d.png | Bin 0 -> 6035 bytes ...CmotorControl_FOC_R2017b_fixdt_10808_d.svg | 1144 +++ ...ontrol_FOC_R2017b_fixdt_10828_2779_d.json} | 100 +- ...Control_FOC_R2017b_fixdt_10828_2779_d.png} | Bin ...Control_FOC_R2017b_fixdt_10828_2779_d.svg} | 46 +- ...ontrol_FOC_R2017b_fixdt_10828_2791_d.json} | 284 +- ...Control_FOC_R2017b_fixdt_10828_2791_d.png} | Bin ...Control_FOC_R2017b_fixdt_10828_2791_d.svg} | 912 +-- ...ontrol_FOC_R2017b_fixdt_10828_2816_d.json} | 184 +- ...Control_FOC_R2017b_fixdt_10828_2816_d.png} | Bin ...Control_FOC_R2017b_fixdt_10828_2816_d.svg} | 162 +- ...otorControl_FOC_R2017b_fixdt_10828_d.json} | 862 +- ...motorControl_FOC_R2017b_fixdt_10828_d.png} | Bin ...motorControl_FOC_R2017b_fixdt_10828_d.svg} | 1458 ++-- ...motorControl_FOC_R2017b_fixdt_10829_d.json | 936 +++ ...CmotorControl_FOC_R2017b_fixdt_10829_d.png | Bin 0 -> 4633 bytes ...motorControl_FOC_R2017b_fixdt_10829_d.svg} | 44 +- ...LDCmotorControl_FOC_R2017b_fixdt_29_d.json | 4925 +++++++---- ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.png | Bin 11379 -> 12762 bytes ...BLDCmotorControl_FOC_R2017b_fixdt_29_d.svg | 6614 +++++++++------ ...motorControl_FOC_R2017b_fixdt_29_icons.png | Bin 3304 -> 3304 bytes ...CmotorControl_FOC_R2017b_fixdt_8220_d.json | 606 +- ...DCmotorControl_FOC_R2017b_fixdt_8220_d.png | Bin 12669 -> 12669 bytes ...DCmotorControl_FOC_R2017b_fixdt_8220_d.svg | 854 +- ...CmotorControl_FOC_R2017b_fixdt_8225_d.json | 12 +- ...DCmotorControl_FOC_R2017b_fixdt_8225_d.svg | 86 +- ...CmotorControl_FOC_R2017b_fixdt_8235_d.json | 64 +- ...DCmotorControl_FOC_R2017b_fixdt_8235_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_8247_d.json | 16 +- ...DCmotorControl_FOC_R2017b_fixdt_8247_d.svg | 112 +- ...CmotorControl_FOC_R2017b_fixdt_8263_d.json | 1260 +-- ...DCmotorControl_FOC_R2017b_fixdt_8263_d.png | Bin 8126 -> 8107 bytes ...DCmotorControl_FOC_R2017b_fixdt_8263_d.svg | 2684 +++--- ...orControl_FOC_R2017b_fixdt_8272_2515_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8272_d.json | 170 +- ...DCmotorControl_FOC_R2017b_fixdt_8272_d.svg | 420 +- ...CmotorControl_FOC_R2017b_fixdt_8314_d.json | 1510 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8314_d.png | Bin 8556 -> 8556 bytes ...DCmotorControl_FOC_R2017b_fixdt_8314_d.svg | 2852 +++---- ...CmotorControl_FOC_R2017b_fixdt_8384_d.json | 564 +- ...DCmotorControl_FOC_R2017b_fixdt_8384_d.png | Bin 7853 -> 7856 bytes ...DCmotorControl_FOC_R2017b_fixdt_8384_d.svg | 900 +- ...CmotorControl_FOC_R2017b_fixdt_8469_d.json | 1658 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8469_d.png | Bin 6567 -> 6364 bytes ...DCmotorControl_FOC_R2017b_fixdt_8469_d.svg | 3034 +++---- ...rControl_FOC_R2017b_fixdt_8486_2423_d.json | 136 +- ...orControl_FOC_R2017b_fixdt_8486_2423_d.svg | 114 +- ...rControl_FOC_R2017b_fixdt_8486_2428_d.json | 428 +- ...orControl_FOC_R2017b_fixdt_8486_2428_d.png | Bin 6887 -> 6890 bytes ...orControl_FOC_R2017b_fixdt_8486_2428_d.svg | 910 +- ...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 | 324 +- ...rControl_FOC_R2017b_fixdt_8486_2473_d.json | 608 +- ...orControl_FOC_R2017b_fixdt_8486_2473_d.png | Bin 6787 -> 6786 bytes ...orControl_FOC_R2017b_fixdt_8486_2473_d.svg | 1094 +-- ...trol_FOC_R2017b_fixdt_8486_2480_2515_d.svg | 4 +- ...rControl_FOC_R2017b_fixdt_8486_2480_d.json | 164 +- ...orControl_FOC_R2017b_fixdt_8486_2480_d.svg | 430 +- ...orControl_FOC_R2017b_fixdt_8486_2507_d.svg | 28 +- ...CmotorControl_FOC_R2017b_fixdt_8486_d.json | 846 +- ...DCmotorControl_FOC_R2017b_fixdt_8486_d.png | Bin 6785 -> 6788 bytes ...DCmotorControl_FOC_R2017b_fixdt_8486_d.svg | 1632 ++-- ...DCmotorControl_FOC_R2017b_fixdt_8519_d.svg | 4 +- ...CmotorControl_FOC_R2017b_fixdt_8535_d.json | 1013 +-- ...DCmotorControl_FOC_R2017b_fixdt_8535_d.png | Bin 10359 -> 10645 bytes ...DCmotorControl_FOC_R2017b_fixdt_8535_d.svg | 1760 ++-- ...CmotorControl_FOC_R2017b_fixdt_8546_d.json | 1012 +-- ...DCmotorControl_FOC_R2017b_fixdt_8546_d.png | Bin 8844 -> 8847 bytes ...DCmotorControl_FOC_R2017b_fixdt_8546_d.svg | 1666 ++-- ...CmotorControl_FOC_R2017b_fixdt_8603_d.json | 20 +- ...DCmotorControl_FOC_R2017b_fixdt_8603_d.svg | 158 +- ...CmotorControl_FOC_R2017b_fixdt_8658_d.json | 3343 ++++---- ...DCmotorControl_FOC_R2017b_fixdt_8658_d.png | Bin 9844 -> 9638 bytes ...DCmotorControl_FOC_R2017b_fixdt_8658_d.svg | 6891 ++++++++-------- ...CmotorControl_FOC_R2017b_fixdt_8668_d.json | 728 +- ...DCmotorControl_FOC_R2017b_fixdt_8668_d.png | Bin 5832 -> 5840 bytes ...DCmotorControl_FOC_R2017b_fixdt_8668_d.svg | 1010 +-- ...CmotorControl_FOC_R2017b_fixdt_8671_d.json | 308 +- ...DCmotorControl_FOC_R2017b_fixdt_8671_d.svg | 438 +- ...CmotorControl_FOC_R2017b_fixdt_8686_d.json | 318 +- ...DCmotorControl_FOC_R2017b_fixdt_8686_d.svg | 428 +- ...CmotorControl_FOC_R2017b_fixdt_8726_d.json | 490 +- ...DCmotorControl_FOC_R2017b_fixdt_8726_d.png | Bin 5215 -> 5234 bytes ...DCmotorControl_FOC_R2017b_fixdt_8726_d.svg | 688 +- ...CmotorControl_FOC_R2017b_fixdt_8738_d.json | 194 +- ...DCmotorControl_FOC_R2017b_fixdt_8738_d.svg | 254 +- ...CmotorControl_FOC_R2017b_fixdt_8743_d.json | 2363 +----- ...DCmotorControl_FOC_R2017b_fixdt_8743_d.png | Bin 9571 -> 4383 bytes ...DCmotorControl_FOC_R2017b_fixdt_8743_d.svg | 3129 ++----- ...CmotorControl_FOC_R2017b_fixdt_8866_d.json | 250 +- ...DCmotorControl_FOC_R2017b_fixdt_8866_d.svg | 400 +- ...CmotorControl_FOC_R2017b_fixdt_8886_d.json | 254 +- ...DCmotorControl_FOC_R2017b_fixdt_8886_d.svg | 486 +- ...CmotorControl_FOC_R2017b_fixdt_8913_d.json | 2945 +++---- ...DCmotorControl_FOC_R2017b_fixdt_8913_d.png | Bin 14224 -> 13754 bytes ...DCmotorControl_FOC_R2017b_fixdt_8913_d.svg | 4552 +++++----- ...DCmotorControl_FOC_R2017b_fixdt_8924_d.png | Bin 3748 -> 0 bytes ...DCmotorControl_FOC_R2017b_fixdt_8987_d.png | Bin 3902 -> 0 bytes ...DCmotorControl_FOC_R2017b_fixdt_8987_d.svg | 715 -- ...CmotorControl_FOC_R2017b_fixdt_9029_d.json | 62 +- ...DCmotorControl_FOC_R2017b_fixdt_9029_d.svg | 128 +- ...CmotorControl_FOC_R2017b_fixdt_9045_d.json | 390 +- ...DCmotorControl_FOC_R2017b_fixdt_9045_d.svg | 530 +- ...CmotorControl_FOC_R2017b_fixdt_9074_d.json | 911 +-- ...DCmotorControl_FOC_R2017b_fixdt_9074_d.png | Bin 6303 -> 6692 bytes ...DCmotorControl_FOC_R2017b_fixdt_9074_d.svg | 1236 +-- ...CmotorControl_FOC_R2017b_fixdt_9109_d.json | 1270 +-- ...DCmotorControl_FOC_R2017b_fixdt_9109_d.png | Bin 5134 -> 6999 bytes ...DCmotorControl_FOC_R2017b_fixdt_9109_d.svg | 1856 +++-- ...CmotorControl_FOC_R2017b_fixdt_9143_d.json | 586 +- ...DCmotorControl_FOC_R2017b_fixdt_9143_d.png | Bin 5749 -> 5752 bytes ...DCmotorControl_FOC_R2017b_fixdt_9143_d.svg | 1022 +-- ...DCmotorControl_FOC_R2017b_fixdt_9164_d.svg | 14 +- ...CmotorControl_FOC_R2017b_fixdt_9171_d.json | 837 +- ...DCmotorControl_FOC_R2017b_fixdt_9171_d.png | Bin 5273 -> 5544 bytes ...DCmotorControl_FOC_R2017b_fixdt_9171_d.svg | 1272 +-- ...DCmotorControl_FOC_R2017b_fixdt_9188_d.svg | 16 +- ...CmotorControl_FOC_R2017b_fixdt_9198_d.json | 1182 +-- ...DCmotorControl_FOC_R2017b_fixdt_9198_d.png | Bin 8641 -> 8565 bytes ...DCmotorControl_FOC_R2017b_fixdt_9198_d.svg | 2486 +++--- ...DCmotorControl_FOC_R2017b_fixdt_9292_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9293_d.svg | 2 +- ...DCmotorControl_FOC_R2017b_fixdt_9728_d.png | Bin 7585 -> 0 bytes ...DCmotorControl_FOC_R2017b_fixdt_9729_d.png | Bin 7579 -> 0 bytes ...CmotorControl_FOC_R2017b_fixdt_9741_d.json | 442 +- ...DCmotorControl_FOC_R2017b_fixdt_9741_d.png | Bin 5093 -> 4975 bytes ...DCmotorControl_FOC_R2017b_fixdt_9741_d.svg | 658 +- ...CmotorControl_FOC_R2017b_fixdt_9743_d.json | 1248 +-- ...DCmotorControl_FOC_R2017b_fixdt_9743_d.png | Bin 6883 -> 5914 bytes ...DCmotorControl_FOC_R2017b_fixdt_9743_d.svg | 2036 ++--- ...DCmotorControl_FOC_R2017b_fixdt_9842_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9904_d.json | 240 +- ...DCmotorControl_FOC_R2017b_fixdt_9904_d.svg | 640 +- ...CmotorControl_FOC_R2017b_fixdt_9937_d.json | 434 +- ...DCmotorControl_FOC_R2017b_fixdt_9937_d.svg | 600 +- ...orControl_FOC_R2017b_fixdt_9948_2342_d.svg | 30 +- ...orControl_FOC_R2017b_fixdt_9948_2395_d.svg | 16 +- ...CmotorControl_FOC_R2017b_fixdt_9948_d.json | 202 +- ...DCmotorControl_FOC_R2017b_fixdt_9948_d.svg | 580 +- ...DCmotorControl_FOC_R2017b_fixdt_9950_d.svg | 2 +- ...CmotorControl_FOC_R2017b_fixdt_9953_d.json | 782 +- ...DCmotorControl_FOC_R2017b_fixdt_9953_d.png | Bin 7175 -> 6395 bytes ...DCmotorControl_FOC_R2017b_fixdt_9953_d.svg | 1360 +-- ...CmotorControl_FOC_R2017b_fixdt_9957_d.json | 676 +- ...DCmotorControl_FOC_R2017b_fixdt_9957_d.svg | 738 +- ...DCmotorControl_FOC_R2017b_fixdt_9988_d.svg | 4 +- ...BLDCmotorControl_FOC_R2017b_fixdt_h_1.json | 4513 +++++----- .../BLDCmotorControl_FOC_R2017b_fixdt_m.json | 2004 +++-- 228 files changed, 104084 insertions(+), 58787 deletions(-) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg} (93%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg} (93%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json} (86%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg} (92%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json} (87%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.png rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10454_d.svg} (93%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.png} (100%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg} (96%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json} (86%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg} (92%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json} (87%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.png rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10455_d.svg} (95%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9133_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10507_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8930_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10507_d.png} (100%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8993_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10508_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8993_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10508_d.png} (100%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10584_d.json} (86%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.png rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg} (77%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8930_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10594_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9133_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10594_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10594_d.svg} (98%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10602_d.json} (54%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.png rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg} (96%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.png rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.svg} (98%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.svg create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.png create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.svg rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg} (97%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg} (90%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json} (86%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg} (93%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json => BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json} (87%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9721_d.png => BLDCmotorControl_FOC_R2017b_fixdt_10828_d.png} (100%) rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10828_d.svg} (93%) create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.json create mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.png rename 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/{BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg => BLDCmotorControl_FOC_R2017b_fixdt_10829_d.svg} (98%) delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.png delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.png delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.png delete mode 100644 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json index 7b2bac6..36f4043 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview.json @@ -8,7 +8,7 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt", "name":"BLDCmotorControl_FOC_R2017b_fixdt", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt", - "label":"BLDCmotorControl_FOC_R2017b_fixdt*", + "label":"BLDCmotorControl_FOC_R2017b_fixdt", "parent":0, "descendants":[ 2, @@ -86,7 +86,21 @@ 74, 75, 76, - 77 + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 ], "hierarchyUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_m.json" diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg index 4a310e7..6322f48 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10007_d.svg @@ -63,7 +63,7 @@ - + @@ -186,5 +186,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg index ddea608..5052248 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg @@ -181,7 +181,7 @@ - + @@ -519,5 +519,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json new file mode 100644 index 0000000..3d3af8d --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json @@ -0,0 +1,3243 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10523", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Field Weakening / Phase Advance

", + "label":"

Field Weakening / Phase Advance

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

Field Weakening / Phase Advance

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10522", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

This blendig factor is a number between [0, 1]. It manages the Field weakening amount, ranging from 0 to a calibratable Max value.

", + "label":"

This blendig factor is a number between [0, 1]. It manages the Field weakening amount, ranging from 0 to a calibratable Max value.

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

This blendig factor is a number between [0, 1]. It manages the Field weakening amount, ranging from 0 to a calibratable Max value.

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10521", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Calculate Blending Factor

", + "label":"

Calculate Blending Factor

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

Calculate Blending Factor

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10518", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"r_fieldWeakHi", + "label":"r_fieldWeakHi", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "r_fieldWeakHi", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10517", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"n_fieldWeakAuthLo", + "label":"n_fieldWeakAuthLo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "n_fieldWeakAuthLo", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10519", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"r_fieldWeakLo", + "label":"r_fieldWeakLo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "r_fieldWeakLo", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10516", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"n_fieldWeakAuthHi", + "label":"n_fieldWeakAuthHi", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "n_fieldWeakAuthHi", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10513", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10512", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum4", + "label":"Sum4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "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:10511", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "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:10509", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "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:10506", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator1", + "label":"Relational Operator1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10504", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto27", + "label":"Goto27", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10503", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto22", + "label":"Goto22", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10502", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_fieldWeak", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10500", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_fieldWeak", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10514", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"a_phaAdvMax", + "label":"a_phaAdvMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "a_phaAdvMax", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10499", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From24", + "label":"From24", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10498", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10497", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10493", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide14", + "label":"Divide14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(0,16,15)", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10494", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(0,16,15)", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10492", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(0,16,15)", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10491", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "CTRL_FOC", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10495", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide3", + "label":"Divide3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10489", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10496", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_blendFactor", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10490", + "className":"Simulink.Abs", + "icon":"WebViewIcon3", + "name":"Abs5", + "label":"Abs5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10510", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "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:10488", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10505", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_blendFactor", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10487", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgt", + "label":"r_inpTgt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10508", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10501", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10486", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10520", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_fieldWeak ", + "label":"r_fieldWeak ", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10515", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"id_fieldWeakMax", + "label":"id_fieldWeakMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "id_fieldWeakMax", + "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:10514#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10500#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10513#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10517#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10491#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10506#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10498#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10488#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10493#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10507#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10516#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10492#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10512#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10496#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10511#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10515#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10499#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10508#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10494#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10510#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10490#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10486#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10487#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10518#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10519#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10495#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10509#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "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:10497#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.png new file mode 100644 index 0000000000000000000000000000000000000000..392943e1093f51ce8249bd9f0fd649d1985cc04d GIT binary patch literal 8759 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 + + + + + + + + + + + + + + + + + + + + + + + + + Field Weakening / Phase Advance + + + + + + + + + + + + + + + + + + + This blendig factor is a number between [0, 1]. + + + + + + + + It manages the Field weakening amount, + + + + + + + + ranging from 0 to a calibratable Max value. + + + + + + + + + + + + + + + + + + + Calculate Blending Factor + + + + + + + + + + + + + + + + + + + + + + + + r_fieldWeakHi + + + + + + + + + + + + + + + + + + + + + + r_fieldWeakHi + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + n_fieldWeakAuthLo + + + + + + + + + + + + + + + + + + + + + + n_fieldWeakAuthLo + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + r_fieldWeakLo + + + + + + + + + + + + + + + + + + + + + + r_fieldWeakLo + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + n_fieldWeakAuthHi + + + + + + + + + + + + + + + + + + + + + + n_fieldWeakAuthHi + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_fieldWeak] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_fieldWeak] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + a_phaAdvMax + + + + + + + + + + + + + + + + + + + + + + a_phaAdvMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ufix16_En15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ufix16_En15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ufix16_En15 + + + + + + + + + + + + + + + + + + + + + + + + + + CTRL_FOC + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + [r_blendFactor] + + + + + + + + + + + + + + + + + + + + + + ufix16_En15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_blendFactor] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + z_ctrlTypSel + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_fieldWeak + + + + + + + + + + + + + + + + + + + + + + + + + + id_fieldWeakMax + + + + + + + + + + + + + + + + + + + + + + id_fieldWeakMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json new file mode 100644 index 0000000..93f4284 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json @@ -0,0 +1,889 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10169", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

Task Squeduler: This creates a pulse train for alternating task squeduling in series.

", + "label":"

Task Squeduler: This creates a pulse train for alternating task squeduling in series.

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

Task Squeduler: This creates a pulse train for alternating task squeduling in series.

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10186", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"task3", + "label":"task3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10185", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay6", + "label":"UnitDelay6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10162", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay4", + "label":"UnitDelay4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "1", + "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:10167", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"task1", + "label":"task1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10183", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay2", + "label":"UnitDelay2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "1", + "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:10168", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"task2", + "label":"task2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10190", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion", + "label":"Data Type Conversion", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "boolean", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10184", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay5", + "label":"UnitDelay5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10163", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator2", + "label":"Logical Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "inspector":{ + "params":[ + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" + ], + "values":[ + "NOT", + "2", + "rectangular", + "off", + "boolean", + "-1" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 5 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Logic", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10162#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10163#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10183#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10184#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10185#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "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:10190#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.png new file mode 100644 index 0000000000000000000000000000000000000000..f2559f1fb347113bfd184f33c90219856c4a8d1f GIT binary patch literal 7596 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 literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg new file mode 100644 index 0000000..7606b2f --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg @@ -0,0 +1,875 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Task Squeduler + : This creates a pulse train for + + + + + + + + alternating task squeduling in series. + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + task3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + task1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=1 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + task2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json new file mode 100644 index 0000000..c4481e4 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json @@ -0,0 +1,7284 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10370", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vd", + "label":"Vd", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "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:9143", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Vd_Calculation", + "label":"Vd_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Speed_Mode", + "label":"Speed_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Voltage_Mode", + "label":"Voltage_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10425", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10391", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10424", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10368", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vq", + "label":"Vq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10420", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_nLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto30", + "label":"Goto30", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10388", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_ctrlMod", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10413", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto29", + "label":"Goto29", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10387", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto27", + "label":"Goto27", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10411", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If1", + "label":"If1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10410", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto18", + "label":"Goto18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10735", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto21", + "label":"Goto21", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10409", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto17", + "label":"Goto17", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10723", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto16", + "label":"Goto16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_nLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", + "className":"Simulink.SwitchCase", + "icon":"WebViewIcon3", + "name":"Switch Case", + "label":"Switch Case", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "CaseConditions", + "ShowDefaultCase", + "SampleTime", + "ZeroCross" + ], + "values":[ + "{VLT_MODE, SPD_MODE, TRQ_MODE}", + "on", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SwitchCase", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto14", + "label":"Goto14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_Vlt", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10427", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_mot", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto11", + "label":"Goto11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8830", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_Open", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10030", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From67", + "label":"From67", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_nLimProtMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10367", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From58", + "label":"From58", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From57", + "label":"From57", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8814", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From59", + "label":"From59", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From53", + "label":"From53", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10742", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From48", + "label":"From48", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_Trq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10722", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto15", + "label":"Goto15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_iqLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10419", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From38", + "label":"From38", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From68", + "label":"From68", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_limProtErr", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From37", + "label":"From37", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From36", + "label":"From36", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_mot", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto12", + "label":"Goto12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10724", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_iqLimProtMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From20", + "label":"From20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10730", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_nLimProtMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From18", + "label":"From18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From14", + "label":"From14", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_enaAdvCtrl", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10408", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8770", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From13", + "label":"From13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "id_Tgt", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Torque_Mode", + "label":"Torque_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8765", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From54", + "label":"From54", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10366", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10417", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_nLimProtMax", + "label":"Vq_nLimProtMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "20", + "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:10416", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_limProtErr", + "label":"iq_limProtErr", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "19", + "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:10720", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_iqLimProtMax", + "label":"r_iqLimProtMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "17", + "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:10423", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_min", + "label":"iq_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "16", + "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:10721", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_nLimProtMax", + "label":"r_nLimProtMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "18", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10422", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_max", + "label":"iq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "15", + "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:8816", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From60", + "label":"From60", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10407", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"id_min", + "label":"id_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "14", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From25", + "label":"From25", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From45", + "label":"From45", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10369", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vd", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10415", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_min", + "label":"Vq_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "12", + "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:10398", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10414", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_max", + "label":"Vq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "11", + "Port number", + "[]", + "[]", + "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:10405", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vd_min", + "label":"Vd_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "10", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From44", + "label":"From44", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From16", + "label":"From16", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10404", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vd_max", + "label":"Vd_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "9", + "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:8789", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From34", + "label":"From34", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From47", + "label":"From47", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_Spd", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10397", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq", + "label":"iq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "8", + "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:8779", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From23", + "label":"From23", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlMod", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10402", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"id_Tgt", + "label":"id_Tgt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8912", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" + ], + "values":[ + "[]", + "off", + "[]", + "4" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 1 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Merge", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10734", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtScaAbs", + "label":"r_inpTgtScaAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:8801", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From46", + "label":"From46", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10418", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10421", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto31", + "label":"Goto31", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_limProtErr", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From49", + "label":"From49", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "Vq_Open", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Open_Mode", + "label":"Open_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10372", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlMod", + "label":"z_ctrlMod", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:10403", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"id", + "label":"id", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "7", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10412", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8841", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto20", + "label":"Goto20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vd", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10406", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"id_max", + "label":"id_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "13", + "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:10426", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_mot", + "label":"n_mot", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10371", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:10373", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:8766#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8770#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8779#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9029#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9109#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9074#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9171#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8765#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8773#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8777#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8774#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8780#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8789#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8791#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8799#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8793#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8792#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8800#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9108#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9108#out:2", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9108#out:3", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9108#out:4", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8801#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8802#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8803#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8804#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8912#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8808#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8809#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8812#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8813#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8814#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8816#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8823#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8824#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9143#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:8771#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:9715#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10030#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10367#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10369#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10373#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10372#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10371#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10397#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10407#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10406#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10404#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10402#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10403#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10405#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10415#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10414#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10417#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10416#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10423#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10422#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10426#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10720#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10721#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10724#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10730#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10734#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "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:10742#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.png new file mode 100644 index 0000000000000000000000000000000000000000..d572ef3b5e97c77a27d041e8267e0f4a13088808 GIT binary patch literal 10673 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + Vd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id_Tgt + + + + + + + + id + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + Vd + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vd_Calculation + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + n_mot + + + + + + + + iq_limProtErr + + + + + + + + Vq_Spd + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Speed_Mode + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + r_inpTgtScaAbs + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + r_iqLimProtMax + + + + + + + + r_nLimProtMax + + + + + + + + Vq_Vlt + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Voltage_Mode + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaAdvCtrl] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + Vq + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + case [ 1 ]: + + + + + + + + case [ 2 ]: + + + + + + + + case [ 3 ]: + + + + + + + + default: + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Vlt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Trq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Open] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Trq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_iqLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limProtErr] + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_mot] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Spd] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_iqLimProtMax] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_enaAdvCtrl] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id_Tgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + iq + + + + + + + + iq_max + + + + + + + + iq_min + + + + + + + + Vq_nLimProtMax + + + + + + + + Vq_Trq + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Torque_Mode + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [id] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + + + + + + + + + + + + + Vq_nLimProtMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 19 + + + + + + + + + + + + + + + + + + + + + + iq_limProtErr + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + 17 + + + + + + + + + + + + + + + + + + + + + + r_iqLimProtMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 16 + + + + + + + + + + + + + + + + + + + + + + iq_min + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 18 + + + + + + + + + + + + + + + + + + + + + + r_nLimProtMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 15 + + + + + + + + + + + + + + + + + + + + + + iq_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 14 + + + + + + + + + + + + + + + + + + + + + + id_min + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 12 + + + + + + + + + + + + + + + + + + + + + + Vq_min + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 11 + + + + + + + + + + + + + + + + + + + + + + Vq_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + + + + + + + + + + + + + + + Vd_min + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + + + + + + + + + Vd_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_min] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Spd] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + iq + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlMod] + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + id_Tgt + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Vlt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_limProtErr] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_Open] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + Vq_Open + + + + + + + + default: { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open_Mode + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_ctrlMod + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [id] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vd] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 13 + + + + + + + + + + + + + + + + + + + + + + id_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + n_mot + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + b_enaAdvCtrl + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json index a67d7ae..2e9de79 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2790", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2790", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "inspector":{ "params":[ "Port", @@ -80,109 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2789", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2787", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", - "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:9729:2788", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2788", "className":"Simulink.Sum", "icon":"WebViewIcon3", "name":"Sum1", "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "inspector":{ "params":[ "IconShape", @@ -236,12 +139,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2786", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2786", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "inspector":{ "params":[ "Port", @@ -303,12 +206,109 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2787#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2789", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2787", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", + "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:10454:2787#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -354,12 +354,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2789#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2789#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -405,12 +405,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2788#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2788#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -456,12 +456,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2786#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2786#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg similarity index 93% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg index 792b184..667e23c 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,7 +61,7 @@ - + @@ -133,9 +133,72 @@ - + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + - + @@ -143,35 +206,35 @@ - + - + - + - + - + - + - + - + @@ -192,32 +255,32 @@ - - - + + + - - + + - - Ini=0 + + sfix32_En20 - - - + + + - - + + - - sfix32_En20 + + Ini=0 @@ -228,7 +291,7 @@ - + @@ -238,19 +301,19 @@ - + - + - + - + @@ -276,11 +339,11 @@ - + - + sfix16_En4 @@ -290,70 +353,7 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - + @@ -367,7 +367,7 @@ - + @@ -381,7 +381,7 @@ - + @@ -415,7 +415,7 @@ - + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json index dd12575..4fa88b0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2710", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMin", - "label":"hitMin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Port", @@ -33,7 +33,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2709", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "name":"hitMax", + "label":"hitMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Port", @@ -113,7 +113,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -160,12 +160,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2710", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "name":"hitMin", + "label":"hitMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Port", @@ -193,7 +193,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -240,12 +240,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2707", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2707", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"UpperRelop", "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Operator", @@ -285,12 +285,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2848", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2849", "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "name":"Switch3", + "label":"Switch3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Criteria", @@ -342,12 +342,57 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2700", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2704", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"LowerRelop1", + "label":"LowerRelop1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Nearest", + "-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:10454:2791:2700", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Port", @@ -409,38 +454,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2704", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2848", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"LowerRelop1", - "label":"LowerRelop1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "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", - "Nearest", "-1", + "0", "on" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 1, - 4 + 9 ] }, "viewer":{ @@ -449,17 +506,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2701", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2699", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"lo", - "label":"lo", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "name":"up", + "label":"up", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Port", @@ -481,7 +538,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -521,12 +578,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2699", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2701", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"up", - "label":"up", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "name":"lo", + "label":"lo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "Port", @@ -548,7 +605,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -588,69 +645,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2849", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", - "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:9728:2791:2849#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2849#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -696,12 +696,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2701#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2701#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -747,12 +747,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2704#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2704#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -798,12 +798,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2707#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2707#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -849,12 +849,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2699#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2699#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -900,12 +900,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2700#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2700#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -951,12 +951,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791:2848#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791:2848#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg similarity index 93% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg index f5454b3..0b25f6d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,7 +61,55 @@ - + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + hitMax + + + + + + + + + + + @@ -71,11 +119,11 @@ - + - + 3 @@ -93,11 +141,11 @@ - + - + hitMin @@ -109,7 +157,86 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UpperRelop + + + + + + + + + + + + + + + boolean + + + + + + + + + + + @@ -119,155 +246,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -285,11 +412,11 @@ - + - + sfix16_En4 @@ -301,457 +428,330 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + LowerRelop1 + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + 2 + + + + + + + + + + + + + + - - + + - - + + u - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - LowerRelop1 - - - - - - - + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - UpperRelop - - - - - - - + + - - + + - - boolean + + T - - - - - - - - - - - - - - - - - - - - + + - - 2 + + F - - - - - - - - - - - - - - - - - u + + - + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - + - - hitMax + + sfix16_En4 @@ -762,7 +762,7 @@ - + @@ -825,7 +825,7 @@ - + @@ -886,7 +886,7 @@ - + @@ -900,7 +900,7 @@ - + @@ -934,7 +934,7 @@ - + @@ -968,7 +968,7 @@ - + @@ -1002,7 +1002,7 @@ - + @@ -1036,7 +1036,7 @@ - + @@ -1090,7 +1090,7 @@ - + @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json similarity index 86% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json index a5b28a9..3bbedfe 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2819", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2819", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"preSat", "label":"preSat", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "Port", @@ -67,12 +67,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2818", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2818", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"preIntegrator", "label":"preIntegrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "Port", @@ -134,12 +134,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2831", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2831", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"Clamp", "label":"Clamp", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "Port", @@ -214,12 +214,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2837", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2839", "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"SignDeltaU2", - "label":"SignDeltaU2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "name":"SignDeltaU3", + "label":"SignDeltaU3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "ZeroCross", @@ -245,57 +245,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2841", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Equal1", - "label":"Equal1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "on", - "Inherit: Logical (see Configuration Parameters: Optimization)", - "Zero", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2839", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2837", "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"SignDeltaU3", - "label":"SignDeltaU3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "name":"SignDeltaU2", + "label":"SignDeltaU2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "ZeroCross", @@ -321,12 +276,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2840", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2840", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", "name":"DataTypeConv4", "label":"DataTypeConv4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "OutMin", @@ -368,12 +323,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2836", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", "name":"DataTypeConv3", "label":"DataTypeConv3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "OutMin", @@ -415,12 +370,57 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2843", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2841", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Equal1", + "label":"Equal1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "==", + "on", + "Inherit: Logical (see Configuration Parameters: Optimization)", + "Zero", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2843", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"hitSat", "label":"hitSat", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "Port", @@ -482,12 +482,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2838", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2838", "className":"Simulink.Logic", "icon":"WebViewIcon3", "name":"AND1", "label":"AND1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "Operator", @@ -527,12 +527,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2843#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2843#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -578,12 +578,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2838#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2838#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -629,12 +629,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2841#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2841#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -680,12 +680,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2840#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2840#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -731,12 +731,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2836#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2836#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -782,12 +782,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2839#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2839#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -833,12 +833,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2837#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2837#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -884,12 +884,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2819#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2819#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -935,12 +935,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2818#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2818#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg similarity index 92% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg index bec5abb..e96628f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg @@ -9,11 +9,11 @@ - + - + @@ -76,7 +76,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -187,11 +187,11 @@ - - - + + + - + @@ -201,7 +201,7 @@ - + @@ -209,7 +209,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -225,7 +225,7 @@ - + @@ -240,23 +240,23 @@ - + - + - + - - int32 + + int16 @@ -267,38 +267,46 @@ - - - + + + - - + + - + - - + + + + + + + + + + - + - - + + - + - - + + @@ -312,23 +320,23 @@ - - + + - - + + - - + + - - boolean + + int32 @@ -339,29 +347,29 @@ - - + + - + - + - + - + - + @@ -376,22 +384,22 @@ - + - + - - + + - + int8 @@ -403,46 +411,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -456,23 +448,23 @@ - - + + - - + + - - + + - - int16 + + int8 @@ -483,58 +475,67 @@ - - - + + + - - + + - + - - + + - - 3 + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - hitSat + + + + + + + - + - - + + - + boolean @@ -546,60 +547,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 3 - - - - - + + + + - - - + + + + + + + + + + + hitSat - - + + - + - - int8 + + boolean @@ -610,7 +610,7 @@ - + @@ -672,7 +672,7 @@ - + @@ -686,7 +686,7 @@ - + @@ -700,7 +700,7 @@ - + @@ -714,7 +714,7 @@ - + @@ -728,7 +728,7 @@ - + @@ -742,7 +742,7 @@ - + @@ -756,7 +756,7 @@ - + @@ -770,7 +770,7 @@ - + @@ -784,7 +784,7 @@ - + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json index 5dcc2de..8455f21 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2785", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2785", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"out", "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "Port", @@ -80,61 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2815", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "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:9728:2817", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2817", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", "name":"UnitDelay1", "label":"UnitDelay1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "InitialCondition", @@ -179,69 +130,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2814", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "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:9728:2781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2783", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "IconShape", @@ -265,7 +159,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", "on", @@ -295,105 +189,105 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2846", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_hitSat", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2833", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_hitMin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2832", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Saturation_hit", + "label":"Saturation_hit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ - "b_hitMax", - "Tag" + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "off", + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Integrator", "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "ShowPortLabels", @@ -485,147 +379,372 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "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:10454:2794", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", + "b_hitMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2795", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2846", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitSat", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2833", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2832", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2814", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", "off", - "on", - "", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - "", + "Zero", "off", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", "-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:10454:2781", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", "off", - "" + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 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:9728:2773", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2776", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "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", + "Inherit: Inherit via internal rule", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Simplest", "off", - "", - "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:10454:2778", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide5", + "label":"Divide5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", "off", + "[]", + "[]", + "fixdt(1,16,5)", "off", - "off" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -635,7 +754,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -644,17 +763,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2845", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2845", "className":"Simulink.Goto", "icon":"WebViewIcon3", "name":"Goto4", "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "GotoTag", @@ -682,86 +801,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Saturation_hit", - "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "icon":"WebViewIcon1", + "name":"Clamping_circuit", + "label":"Clamping_circuit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", "", + "All", + "off", + "on", "", "", - "ReadWrite", + "off", "", - "All", + "void_void", "off", "off", + "on", + "", + "off", + "", + "off", "off", - "-1", - "Auto", - "Auto", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "on", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -775,12 +898,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2732", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "name":"satMax", + "label":"satMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "Port", @@ -802,7 +925,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -842,12 +965,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2732", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2771", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "name":"I", + "label":"I", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "Port", @@ -869,7 +992,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -909,12 +1032,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2770", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"P", "label":"P", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "Port", @@ -976,40 +1099,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2778", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2815", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "name":"Constant", + "label":"Constant", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "FramePeriod" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "0", + "on", + "inf", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: Inherit via back propagation", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "inf" ], "tabs":[ "Main", @@ -1018,8 +1133,8 @@ ], "tabs_idx":[ 0, - 2, - 9 + 3, + 7 ] }, "viewer":{ @@ -1028,17 +1143,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2733", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"satMin", "label":"satMin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "Port", @@ -1100,99 +1215,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2776", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2769", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "name":"err", + "label":"err", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "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:9728:2783", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", + "", + "on", "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "off" ], "tabs":[ "Main", @@ -1202,7 +1268,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -1211,50 +1277,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2794", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMax", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2769", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2773", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"err", - "label":"err", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "name":"ext_limProt", + "label":"ext_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "Port", @@ -1276,7 +1309,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "6", "Port number", "[]", "[]", @@ -1316,45 +1349,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2795", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMin", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2844", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2844", "className":"Simulink.Logic", "icon":"WebViewIcon3", "name":"AND1", "label":"AND1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "Operator", @@ -1394,12 +1394,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1445,12 +1445,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2846#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2846#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1496,12 +1496,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2844#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2844#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1547,12 +1547,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2833#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2833#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1598,12 +1598,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2832#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2832#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1649,12 +1649,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2817#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2817#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1700,12 +1700,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1751,12 +1751,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2814#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2814#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1802,12 +1802,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2781#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2781#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1853,12 +1853,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2783#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2783#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1904,12 +1904,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2815#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2815#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1955,12 +1955,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2006,12 +2006,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2057,12 +2057,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2733#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2733#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2108,12 +2108,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2732#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2732#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2159,12 +2159,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2770#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2770#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2210,12 +2210,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2261,12 +2261,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2771#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2771#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2312,12 +2312,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2778#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2778#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2363,12 +2363,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2776#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2776#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2414,12 +2414,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2773#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2773#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2465,12 +2465,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2769#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2769#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.png new file mode 100644 index 0000000000000000000000000000000000000000..ba494acd42ce53d6361f242fbb0ab954d5a5a628 GIT binary patch literal 7584 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 - + - + @@ -61,57 +61,9 @@ - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - + - + @@ -119,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -173,11 +125,11 @@ - + - + boolean @@ -188,11 +140,11 @@ - + - + Ini=0 @@ -204,188 +156,258 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - - + + up - + - - + + u - + - - + + lo - + - - + + hitMax - + - - + + y - + - - + + hitMin - + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + boolean - - - - - - - T + + + + + + - - + + - - F + + boolean - - - + + + + + + + + + + + sfix16_En4 - - - - + - - + + - - sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + @@ -396,68 +418,163 @@ - - - - - - + + + - - + + + + + + + + + + + - - + + - - + + u - - + + - - + + y + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + Integrator + + + + - - + + + + + + + + + + + - - + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_hitMax] - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix32_En20 + + [b_hitMin] + + + + + + + @@ -468,7 +585,7 @@ - + @@ -478,11 +595,11 @@ - + - + [b_hitSat] @@ -500,11 +617,11 @@ - + - + boolean @@ -516,7 +633,7 @@ - + @@ -526,11 +643,11 @@ - + - + [b_hitMin] @@ -548,11 +665,11 @@ - + - + boolean @@ -564,7 +681,7 @@ - + @@ -574,11 +691,11 @@ - + - + [b_hitMax] @@ -596,11 +713,11 @@ - + - + boolean @@ -612,208 +729,260 @@ - - - + + + - - - - - - - - + + - - + + - - u + + - - + + - - y + + - - - - - - - - + + + - - + + - - - - - - - - + + + - - + + - - + + - - Integrator + + - - - - - - - - + + + - - + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - preIntegrator + + - - + + - - preSat + + - - + + - - hitSat + + - - + + - - Clamp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + - - - - + + + - - + + sfix32_En20 - + + + + + + + + + + + + + + + - - - - + + + - - + + - - + + - - Clamping_circuit + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + - - + + - - boolean + + sfix32_En20 @@ -824,65 +993,108 @@ - - - - - - - - - + + + - - + + - - + + - - 6 + + + + + + + + + + - - + + - - - + + + - - + + - - ext_limProt + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - sfix16_En10 + + sfix16_En5 @@ -893,7 +1105,7 @@ - + @@ -903,11 +1115,11 @@ - + - + [b_hitSat] @@ -926,186 +1138,107 @@ - - - + + + - - + + + + + + + + - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - hitMax - - - - - - - - y - - - - - - - - hitMin - - - - - - - - - - - - + + - - + + preIntegrator - - + + - - + + preSat - - + + - - + + hitSat - - + + - - + + Clamp - - - - - - - - - - - - - + + + + - - sfix16_En4 + + - - - + + + + + + + + + - - + + - - boolean + + Clamping_circuit - - - - - - + + + + - - boolean + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + boolean @@ -1116,59 +1249,65 @@ - - + + + + + + + + - + - + - - 3 + + 4 - + - - + + - - + + - - I + + satMax - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -1179,59 +1318,59 @@ - - + + - + - + - - 4 + + 3 - + - - + + - - + + - - satMax + + I - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1242,7 +1381,7 @@ - + @@ -1252,11 +1391,11 @@ - + - + 2 @@ -1274,11 +1413,11 @@ - + - + P @@ -1289,11 +1428,11 @@ - + - + ufix16_En12 @@ -1305,52 +1444,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 0 - - + + - - + + - - + + - - sfix16_En5 + + sfix32_En20 @@ -1361,7 +1492,7 @@ - + @@ -1371,11 +1502,11 @@ - + - + 5 @@ -1393,11 +1524,11 @@ - + - + satMin @@ -1408,11 +1539,11 @@ - + - + sfix16_En4 @@ -1424,123 +1555,58 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 1 - - - - - - - - - - - - - - - - - sfix32_En20 + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - + + err - + - - + + - + sfix16_En4 @@ -1552,125 +1618,59 @@ - - - - - - - - - - - - - - - - [b_hitMax] - - - - - - - - - - - - - - - - - - - + + - + - + - - 1 + + 6 - + - - + + - - + + - - err + + ext_limProt - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - + - - [b_hitMin] - - - - - - - + + sfix32_En20 @@ -1681,9 +1681,9 @@ - + - + @@ -1743,7 +1743,7 @@ - + @@ -1757,7 +1757,7 @@ - + @@ -1771,7 +1771,7 @@ - + @@ -1785,7 +1785,7 @@ - + @@ -1799,7 +1799,7 @@ - + @@ -1813,7 +1813,7 @@ - + @@ -1827,7 +1827,7 @@ - + @@ -1841,7 +1841,7 @@ - + @@ -1855,7 +1855,7 @@ - + @@ -1889,7 +1889,7 @@ - + @@ -1923,7 +1923,7 @@ - + @@ -1937,7 +1937,7 @@ - + @@ -1951,7 +1951,7 @@ - + @@ -1965,7 +1965,7 @@ - + @@ -1979,7 +1979,7 @@ - + @@ -1993,7 +1993,7 @@ - + @@ -2007,7 +2007,7 @@ - + @@ -2021,7 +2021,7 @@ - + @@ -2035,7 +2035,7 @@ - + @@ -2049,7 +2049,7 @@ - + @@ -2063,7 +2063,7 @@ - + @@ -2077,7 +2077,7 @@ - + @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.json index 257fbf7..d6c9103 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.json @@ -1,11 +1,61 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2790", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2789", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2790", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "Port", @@ -80,12 +130,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2788", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2788", "className":"Simulink.Sum", "icon":"WebViewIcon3", "name":"Sum1", "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "IconShape", @@ -139,62 +189,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2789", - "className":"Simulink.UnitDelay", - "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", - "inspector":{ - "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" - ], - "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" - ], - "tabs":[ - "Main", - "State Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"UnitDelay", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2787", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2787", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", "name":"Data Type Conversion1", "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "OutMin", @@ -236,12 +236,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2786", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2786", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "Port", @@ -303,12 +303,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2787#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2787#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -354,12 +354,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2789#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2789#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -405,12 +405,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2788#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2788#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -456,12 +456,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2786#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2786#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg new file mode 100644 index 0000000..ea97384 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg @@ -0,0 +1,435 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json index 66131a3..570c2ee 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2710", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2709", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMin", - "label":"hitMin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "name":"hitMax", + "label":"hitMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "Port", @@ -33,7 +33,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -80,69 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2848", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", - "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:9721:2791:2707", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2707", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"UpperRelop", "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "Operator", @@ -182,38 +125,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2704", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2377", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"LowerRelop1", - "label":"LowerRelop1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - ">", + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Nearest", + "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":{ @@ -222,55 +200,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2701", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2849", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"lo", - "label":"lo", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "name":"Switch3", + "label":"Switch3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "Threshold", + "ZeroCross" ], "values":[ - "3", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", - "", - "on", + "Zero", "off", "off", - "off" + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -279,8 +247,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -289,17 +257,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2710", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "name":"hitMin", + "label":"hitMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "Port", @@ -327,7 +295,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -374,12 +342,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2700", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2701", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"u", - "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "name":"lo", + "label":"lo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "Port", @@ -401,7 +369,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -441,12 +409,57 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2377", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2704", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "name":"LowerRelop1", + "label":"LowerRelop1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Nearest", + "-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:10455:2791:2700", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "Port", @@ -461,17 +474,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "2", @@ -486,17 +493,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -516,17 +516,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2699", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2699", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"up", "label":"up", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "Port", @@ -588,12 +588,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2849", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2848", "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "Criteria", @@ -645,12 +645,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2849#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2849#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -696,12 +696,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2701#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2701#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -747,12 +747,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2704#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2704#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -798,12 +798,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2707#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2707#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -849,12 +849,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2699#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2699#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -900,12 +900,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2700#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2700#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -951,12 +951,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791:2848#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791:2848#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg similarity index 96% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg index 8e472c8..5c71280 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg @@ -9,107 +9,11 @@ - + - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - hitMin - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - y - - - - - - - - - - - + @@ -119,11 +23,11 @@ - + - + 1 @@ -141,11 +45,11 @@ - + - + hitMax @@ -157,7 +61,7 @@ - + @@ -167,19 +71,19 @@ - + - + - + - + @@ -205,11 +109,11 @@ - + - + UpperRelop @@ -220,11 +124,11 @@ - + - + boolean @@ -236,188 +140,284 @@ - - + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + T - + - - + + F - - - - - - - + + + + + + + + + + + + + - - + + - - T + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - - F + + 3 - - + + - - - + + + - + - - sfix16_En4 + + hitMin @@ -428,11 +428,11 @@ - - + + - + @@ -442,44 +442,44 @@ - - 2 + + 3 - + - - + + - + - - u + + lo - + - + - + sfix16_En4 @@ -491,7 +491,7 @@ - + @@ -570,11 +570,11 @@ - - + + - + @@ -584,44 +584,44 @@ - - 3 + + 2 - + - - + + - + - - lo + + u - + - + - + sfix16_En4 @@ -633,7 +633,7 @@ - + @@ -696,157 +696,157 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T @@ -854,29 +854,29 @@ - + F - + - + - + - + sfix16_En4 @@ -886,7 +886,7 @@ - + @@ -900,7 +900,7 @@ - + @@ -934,7 +934,7 @@ - + @@ -968,7 +968,7 @@ - + @@ -1002,7 +1002,7 @@ - + @@ -1036,7 +1036,7 @@ - + @@ -1090,7 +1090,7 @@ - + @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json similarity index 86% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json index f5f27bc..09fd3f8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2819", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2819", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"preSat", "label":"preSat", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "Port", @@ -67,12 +67,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2818", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2818", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"preIntegrator", "label":"preIntegrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "Port", @@ -134,12 +134,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2831", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2831", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"Clamp", "label":"Clamp", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "Port", @@ -214,69 +214,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2837", - "className":"Simulink.Signum", - "icon":"WebViewIcon3", - "name":"SignDeltaU2", - "label":"SignDeltaU2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", - "inspector":{ - "params":[ - "ZeroCross", - "SampleTime" - ], - "values":[ - "on", - "-1" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Signum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2841", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2840", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Equal1", - "label":"Equal1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "name":"DataTypeConv4", + "label":"DataTypeConv4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", "RndMeth", - "SampleTime", - "ZeroCross" + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "==", + "[]", + "[]", + "int8", "on", - "Inherit: Logical (see Configuration Parameters: Optimization)", + "Real World Value (RWV)", "Zero", - "-1", - "on" + "off", + "-1" ], "tabs":[ - "Main", - "Data Type", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 7 ] }, "viewer":{ @@ -285,17 +256,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2836", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", "name":"DataTypeConv3", "label":"DataTypeConv3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "OutMin", @@ -337,43 +308,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2839", - "className":"Simulink.Signum", - "icon":"WebViewIcon3", - "name":"SignDeltaU3", - "label":"SignDeltaU3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", - "inspector":{ - "params":[ - "ZeroCross", - "SampleTime" - ], - "values":[ - "on", - "-1" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Signum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2843", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2843", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"hitSat", "label":"hitSat", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "Port", @@ -435,40 +375,69 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2840", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2839", + "className":"Simulink.Signum", "icon":"WebViewIcon3", - "name":"DataTypeConv4", - "label":"DataTypeConv4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "name":"SignDeltaU3", + "label":"SignDeltaU3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ - "OutMin", - "OutMax", + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Signum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2841", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Equal1", + "label":"Equal1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ - "[]", - "[]", - "int8", + "==", "on", - "Real World Value (RWV)", + "Inherit: Logical (see Configuration Parameters: Optimization)", "Zero", - "off", - "-1" + "-1", + "on" ], "tabs":[ - "Parameter Attributes", + "Main", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 7 + 1, + 4 ] }, "viewer":{ @@ -477,17 +446,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"RelationalOperator", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2837", + "className":"Simulink.Signum", + "icon":"WebViewIcon3", + "name":"SignDeltaU2", + "label":"SignDeltaU2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", + "inspector":{ + "params":[ + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Signum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2838", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2838", "className":"Simulink.Logic", "icon":"WebViewIcon3", "name":"AND1", "label":"AND1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "Operator", @@ -527,12 +527,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2843#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2843#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -578,12 +578,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2838#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2838#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -629,12 +629,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2841#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2841#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -680,12 +680,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2840#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2840#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -731,12 +731,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2836#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2836#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -782,12 +782,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2839#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2839#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -833,12 +833,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2837#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2837#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -884,12 +884,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2819#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2819#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -935,12 +935,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2818#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2818#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg similarity index 92% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg index def0564..e3a0522 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg @@ -9,11 +9,11 @@ - + - + @@ -76,7 +76,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -187,46 +187,30 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - - - - - - - - + - - + + @@ -240,23 +224,23 @@ - - + + - - + + - - + + - - int32 + + int8 @@ -267,67 +251,122 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + int8 - - + + + + + + + + + + + + + + + + + + + 3 + - - + + + + + + + + + + + + + + + + + hitSat - + - - + + - + boolean @@ -339,7 +378,7 @@ - + @@ -349,35 +388,35 @@ - + - + - + - + - + - + - + - + @@ -403,11 +442,11 @@ - + - + int16 @@ -419,30 +458,38 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + @@ -456,23 +503,23 @@ - - + + - - + + - - + + - - int8 + + boolean @@ -483,93 +530,46 @@ - - - - - - - - - - - - - - - - 3 - - + + + - - - - - - + + - - - - + - - + + - - hitSat - - - - - - - + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -583,23 +583,23 @@ - - + + - - + + - + - - int8 + + int32 @@ -610,9 +610,9 @@ - + - + @@ -672,7 +672,7 @@ - + @@ -686,7 +686,7 @@ - + @@ -700,7 +700,7 @@ - + @@ -714,7 +714,7 @@ - + @@ -728,7 +728,7 @@ - + @@ -742,7 +742,7 @@ - + @@ -756,7 +756,7 @@ - + @@ -770,7 +770,7 @@ - + @@ -784,7 +784,7 @@ - + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json index 730990e..a5fb375 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2817", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2817", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", "name":"UnitDelay1", "label":"UnitDelay1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "InitialCondition", @@ -50,40 +50,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2814", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2781", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "Criteria", + "IconShape", + "Inputs", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "u2 ~= 0", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", + "Inherit: Inherit via internal rule", "off", - "-1", - "0", - "on" + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -92,8 +94,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 10 ] }, "viewer":{ @@ -102,37 +104,196 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2815", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2794", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2795", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2833", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2832", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2785", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "inspector":{ + "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "0", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -141,8 +302,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -151,17 +312,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Integrator", "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "ShowPortLabels", @@ -253,18 +414,17 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2783", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2778", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"Divide5", + "label":"Divide5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -276,13 +436,12 @@ "SampleTime" ], "values":[ - "rectangular", - "++", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "fixdt(1,16,5)", "off", "Simplest", "on", @@ -298,7 +457,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -307,26 +466,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2845", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2846", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "b_hitSat", - "local", "Tag" ], "tabs":[ @@ -340,32 +497,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2794", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2815", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"Constant", + "label":"Constant", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "b_hitMax", - "local", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -373,30 +546,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2833", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2814", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "b_hitMin", - "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" @@ -404,83 +603,119 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2781", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Saturation_hit", + "label":"Saturation_hit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "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":[ - "rectangular", - "++", + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", "off", - "Simplest", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", "on", - "1", - "All dimensions", - "-1" + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2832", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2845", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hitMax", + "b_hitSat", + "local", "Tag" ], "tabs":[ @@ -494,45 +729,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2776", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2733", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"satMin", + "label":"satMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "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", + "5", + "Port number", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", @@ -542,7 +787,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -551,55 +796,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2773", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2783", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"ext_limProt", - "label":"ext_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "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":[ - "6", - "Port number", + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "fixdt(1,16,4)", "off", - "", + "Simplest", "on", - "off", - "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -609,7 +846,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -618,17 +855,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2771", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"I", + "label":"I", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "Port", @@ -650,7 +887,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -690,12 +927,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2732", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2773", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"ext_limProt", + "label":"ext_limProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "Port", @@ -717,7 +954,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "6", "Port number", "[]", "[]", @@ -757,185 +994,109 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Saturation_hit", - "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "icon":"WebViewIcon1", + "name":"Clamping_circuit", + "label":"Clamping_circuit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", - "", - "", - "", "ReadWrite", "", "All", "off", - "off", - "off", - "-1", - "Auto", - "Auto", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", "on", - "off", "", "", "off", + "", + "void_void", "off", "off", - "", - "", - "on" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2785", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"out", - "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "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", + "on", + "", "off", - "[]", + "", "off", - "held", "off", - "0", "", - [ - ], - "Dialog", "Auto", - "off" + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2732", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "name":"satMax", + "label":"satMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "Port", @@ -957,7 +1118,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -997,69 +1158,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2778", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(1,16,5)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2770", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"P", "label":"P", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "Port", @@ -1121,45 +1225,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2795", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitMin", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2769", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2769", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"err", "label":"err", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "Port", @@ -1221,140 +1292,69 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2776", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", + "**", + "Element-wise(.*)", "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", + "Simplest", "off", - "" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 9 ] }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2846", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_hitSat", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2844", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2844", "className":"Simulink.Logic", "icon":"WebViewIcon3", "name":"AND1", "label":"AND1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "Operator", @@ -1394,12 +1394,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1445,12 +1445,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2846#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2846#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1496,12 +1496,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2844#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2844#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1547,12 +1547,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2833#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2833#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1598,12 +1598,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2832#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2832#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1649,12 +1649,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2817#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2817#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1700,12 +1700,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1751,12 +1751,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2814#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2814#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1802,12 +1802,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2781#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2781#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1853,12 +1853,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2783#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2783#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1904,12 +1904,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2815#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2815#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1955,12 +1955,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2006,12 +2006,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2057,12 +2057,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2733#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2733#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2108,12 +2108,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2732#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2732#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2159,12 +2159,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2770#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2770#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2210,12 +2210,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2261,12 +2261,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2771#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2771#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2312,12 +2312,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2778#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2778#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2363,12 +2363,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2776#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2776#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2414,12 +2414,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2773#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2773#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2465,12 +2465,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2769#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2769#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.png new file mode 100644 index 0000000000000000000000000000000000000000..ba494acd42ce53d6361f242fbb0ab954d5a5a628 GIT binary patch literal 7584 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 - + - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - out - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - + - + @@ -119,35 +23,35 @@ - + - + - + - + - + - + - + - + @@ -168,32 +72,32 @@ - - - + + + - - + + - - Ini=0 + + boolean - - - + + + - - + + - - boolean + + Ini=0 @@ -204,7 +108,7 @@ - + @@ -214,35 +118,35 @@ - + - + - + - + - + - + - + - + @@ -260,11 +164,11 @@ - + - + sfix32_En20 @@ -276,68 +180,158 @@ - - - + + + - - + + - - + + - - + + [b_hitMax] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [b_hitMin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_hitMin] + + + + + + + + + + + + + + - - + + - - + + boolean + + + + + + + + + + + + + + + + + + - - + + - - + + [b_hitMax] - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -348,186 +342,249 @@ - - - + + + - - + + - - + + - - up + + 1 + + + + + + + + + + + + + + - - + + - - u + + out + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - lo + + u - - + + - - hitMax + + y + + + + - - - + + + + - - y + + + + + + - - - + + + + - - hitMin + + - - + + - - + + Integrator + + + + - - - + + + + - - + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - sfix16_En4 + + sfix16_En5 - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [b_hitSat] - - - - - - - - - - - boolean + + + - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + boolean @@ -538,29 +595,44 @@ - - - + + + - - + + - - + + - - [b_hitMax] + + 0 - - + + + + + + + + + + + + + + + + + sfix32_En20 @@ -571,7 +643,7 @@ - + @@ -581,155 +653,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -747,11 +819,11 @@ - + - + sfix32_En20 @@ -763,205 +835,219 @@ - - - + + + - - + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + hitMax + + + + + + + + y + + + + + + + + hitMin + - + - - [b_hitSat] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - + - - [b_hitMin] + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_hitSat] + + sfix16_En4 - - - + + + + + + + + + + + boolean - - + + - - + + - + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - + + - - - - - - u - - - - + + - - y + + [b_hitSat] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Integrator - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -972,65 +1058,59 @@ - - - - - - - - + + - + - + - - 6 + + 5 - + - - + + - - + + - - ext_limProt + + satMin - - + + - - + + - - sfix32_En20 + + sfix16_En4 @@ -1041,44 +1121,68 @@ - - - + + + - - + + - - + + - - [b_hitMin] + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - boolean + + sfix16_En4 @@ -1089,59 +1193,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - P + + I - + - - + + - - ufix16_En12 + + ufix16_En16 @@ -1152,59 +1256,59 @@ - - + + - + - + - - 5 + + 6 - + - - + + - - + + - - satMin + + ext_limProt - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -1215,107 +1319,107 @@ - - - + + + - - + + + + + + + + - - + + - - [b_hitMax] - - - - - - - + + preIntegrator - - - - - - + + + + + + + preSat - - + + - - boolean + + hitSat - - - - - - - - - - - - - - - - - - - - + + - - 1 + + Clamp - - + + + + + + + + - - + + + + + + + + - - + + - - err + + Clamping_circuit - - + + + + + + + + - - + + - - sfix16_En4 + + boolean @@ -1326,7 +1430,13 @@ - + + + + + + + @@ -1336,11 +1446,11 @@ - + - + 4 @@ -1358,11 +1468,11 @@ - + - + satMax @@ -1373,11 +1483,11 @@ - + - + sfix16_En4 @@ -1389,115 +1499,59 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix32_En20 - - - - - - - - - - - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - I + + P - + - - + + - - ufix16_En16 + + ufix16_En12 @@ -1508,107 +1562,59 @@ - - - + + + - - - - - - - - + + - - - - - - - preIntegrator - - - - - - - - preSat - - - - - - - - hitSat - - + - - Clamp + + 1 - - - - - - - - + + - - - - - - - - + + - + - - Clamping_circuit + + err - - - - - - - - + + - + - - boolean + + sfix16_En4 @@ -1619,58 +1625,52 @@ - - - - - - - - + + - + - + - + - + - + - + - - + + - + - - sfix16_En5 + + sfix32_En20 @@ -1681,7 +1681,7 @@ - + @@ -1743,7 +1743,7 @@ - + @@ -1757,7 +1757,7 @@ - + @@ -1771,7 +1771,7 @@ - + @@ -1785,7 +1785,7 @@ - + @@ -1799,7 +1799,7 @@ - + @@ -1813,7 +1813,7 @@ - + @@ -1827,7 +1827,7 @@ - + @@ -1841,7 +1841,7 @@ - + @@ -1855,7 +1855,7 @@ - + @@ -1889,7 +1889,7 @@ - + @@ -1923,7 +1923,7 @@ - + @@ -1937,7 +1937,7 @@ - + @@ -1951,7 +1951,7 @@ - + @@ -1965,7 +1965,7 @@ - + @@ -1979,7 +1979,7 @@ - + @@ -1993,7 +1993,7 @@ - + @@ -2007,7 +2007,7 @@ - + @@ -2021,7 +2021,7 @@ - + @@ -2035,7 +2035,7 @@ - + @@ -2049,7 +2049,7 @@ - + @@ -2063,7 +2063,7 @@ - + @@ -2077,7 +2077,7 @@ - + @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.json index d9353c0..12e7f43 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:10", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:10", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:9", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"UpperRelop", "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Operator", @@ -125,12 +125,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:8", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch2", "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Criteria", @@ -182,12 +182,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:7", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch", "label":"Switch", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Criteria", @@ -239,12 +239,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:6", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"LowerRelop1", "label":"LowerRelop1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Operator", @@ -284,12 +284,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:5", "className":"Simulink.SFunction", "icon":"WebViewIcon3", "name":"Data Type Propagation", "label":"Data Type Propagation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "PropDataTypeMode", @@ -347,12 +347,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:4", "className":"Simulink.DataTypeDuplicate", "icon":"WebViewIcon3", "name":"Data Type Duplicate", "label":"Data Type Duplicate", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "NumInputPorts" @@ -376,12 +376,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:3", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"lo", "label":"lo", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Port", @@ -443,12 +443,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:2", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Port", @@ -510,12 +510,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:1", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"up", "label":"up", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "Port", @@ -577,12 +577,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:1#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:1#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "SignalNameFromLabel", @@ -628,12 +628,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:2#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:2#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "SignalNameFromLabel", @@ -679,12 +679,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:3#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:3#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "SignalNameFromLabel", @@ -730,12 +730,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:7#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:7#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "SignalNameFromLabel", @@ -781,12 +781,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:8#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:8#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "SignalNameFromLabel", @@ -832,12 +832,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:6#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:6#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "SignalNameFromLabel", @@ -883,12 +883,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133:9#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507:9#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10507", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg new file mode 100644 index 0000000..5be994b --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg @@ -0,0 +1,1180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UpperRelop + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LowerRelop1 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + Ref1 + + + + + + + + Ref2 + + + + + + + + Prop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + lo + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.json index e9ed1cc..8277b17 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:10", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:10", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:9", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"UpperRelop", "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Operator", @@ -125,12 +125,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:8", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch2", "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Criteria", @@ -182,12 +182,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:7", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch", "label":"Switch", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Criteria", @@ -239,12 +239,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:6", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"LowerRelop1", "label":"LowerRelop1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Operator", @@ -284,12 +284,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:5", "className":"Simulink.SFunction", "icon":"WebViewIcon3", "name":"Data Type Propagation", "label":"Data Type Propagation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "PropDataTypeMode", @@ -347,12 +347,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:4", "className":"Simulink.DataTypeDuplicate", "icon":"WebViewIcon3", "name":"Data Type Duplicate", "label":"Data Type Duplicate", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "NumInputPorts" @@ -376,12 +376,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:3", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"lo", "label":"lo", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Port", @@ -443,12 +443,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:2", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Port", @@ -510,12 +510,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:1", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"up", "label":"up", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "Port", @@ -577,12 +577,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:1#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:1#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "SignalNameFromLabel", @@ -628,12 +628,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:2#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:2#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "SignalNameFromLabel", @@ -679,12 +679,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:3#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:3#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "SignalNameFromLabel", @@ -730,12 +730,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:7#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:7#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "SignalNameFromLabel", @@ -781,12 +781,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:8#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:8#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "SignalNameFromLabel", @@ -832,12 +832,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:6#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:6#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "SignalNameFromLabel", @@ -883,12 +883,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993:9#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508:9#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8993", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10508", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.svg new file mode 100644 index 0000000..fa09bba --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.svg @@ -0,0 +1,1180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UpperRelop + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LowerRelop1 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + Ref1 + + + + + + + + Ref2 + + + + + + + + Prop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + lo + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json new file mode 100644 index 0000000..9c5fdc9 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json @@ -0,0 +1,2468 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10583", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_nLimProtMax", + "label":"r_nLimProtMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10575", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_iqLimProtMax", + "label":"r_iqLimProtMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10653", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_nKiLimProt", + "label":"cf_nKiLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_nKiLimProt", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10574", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_iqKiLimProt", + "label":"cf_iqKiLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKiLimProt", + "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:10640", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_KbLimProt", + "label":"cf_KbLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_KbLimProt", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,12)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10658", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto7", + "label":"Goto7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10649", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_nLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10634", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "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:10625", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10642", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_iqLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10656", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10630", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10655", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "n_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10627", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iqAbs", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt", + "label":"I_backCalc_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "yInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10659", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10643", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_nLimProtMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10641", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_iqLimProtMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10629", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10673", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant1", + "label":"Constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "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:10651", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "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:10672", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant", + "label":"Constant", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10570", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10568", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_max", + "label":"iq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10746", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt1", + "label":"I_backCalc_fixdt1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "yInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10633", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iqAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10567", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iqAbs", + "label":"iqAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10576", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10657", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgtScaAbs", + "label":"r_inpTgtScaAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10632", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10577", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_max", + "label":"n_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10568#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10567#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10577#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10576#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10632#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10640#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10641#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10643#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10655#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10656#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10657#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10659#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10633#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10634#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10745#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10574#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10672#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10653#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10651#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10746#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "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:10673#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.png new file mode 100644 index 0000000000000000000000000000000000000000..cfecf0d3b820b2b661efae087d2037ced1970845 GIT binary patch literal 6757 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + r_nLimProtMax + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_iqLimProtMax + + + + + + + + + + + + + + + + + + + + + + + + + + cf_nKiLimProt + + + + + + + + + + + + + + + + + + + + + + cf_nKiLimProt + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + cf_iqKiLimProt + + + + + + + + + + + + + + + + + + + + + + cf_iqKiLimProt + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + cf_KbLimProt + + + + + + + + + + + + + + + + + + + + + + cf_KbLimProt + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_iqLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iqAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + err + + + + + + + + I + + + + + + + + Kb + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + I(z) + + + + + + + + + + + + + + + + + + + + + + I_backCalc_fixdt + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_iqLimProtMax] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + iq_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + err + + + + + + + + I + + + + + + + + Kb + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + I(z) + + + + + + + + + + + + + + + + + + + + + + I_backCalc_fixdt1 + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [iqAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + iqAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + n_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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_10584_d.json similarity index 86% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.json index 75809bc..e7ffb4f 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_10584_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8933", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10600", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"iq_limProtErr", + "label":"iq_limProtErr", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "Port", @@ -48,7 +48,7 @@ "off", "0", "off", - "reset", + "held", "off", "0", "", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8932", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10662", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_iqKpLimProt", - "label":"cf_iqKpLimProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"cf_iqKiLimProt", + "label":"cf_iqKiLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "Value", @@ -98,12 +98,12 @@ "FramePeriod" ], "values":[ - "cf_iqKpLimProt", + "cf_iqKiLimProt", "on", "inf", "[]", "[]", - "fixdt(0,16,8)", + "fixdt(0,16,16)", "off", "inf" ], @@ -129,99 +129,89 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8931", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "DoSatur" ], "values":[ - "round", - "|+-", - "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", - "off", - "Simplest", + "Inherit: Same as second input", "off", - "1", - "All dimensions", - "-1" + "Floor", + "off" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8929", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10587", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"iq_min", + "label":"iq_min", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "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: Same as first input", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -231,7 +221,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -240,48 +230,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8928", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8927", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10586", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"iq_max", + "label":"iq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "Port", @@ -303,7 +262,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -343,51 +302,102 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10597", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as second input", + "Inherit: Inherit via internal rule", "off", - "Floor", - "off" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 10 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10591", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", + "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:8925", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10585", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"iq", "label":"iq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "Port", @@ -449,50 +459,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8926", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10661", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "2", - "Port number", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "fixdt(1,32,20)", "off", + "Simplest", "off", - "off" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -502,7 +502,7 @@ "tabs_idx":[ 0, 2, - 11 + 9 ] }, "viewer":{ @@ -511,17 +511,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8931#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10585#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "SignalNameFromLabel", @@ -567,12 +567,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8925#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "SignalNameFromLabel", @@ -618,12 +618,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8932#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10586#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "SignalNameFromLabel", @@ -669,12 +669,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10587#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "SignalNameFromLabel", @@ -720,12 +720,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8926#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10662#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "SignalNameFromLabel", @@ -771,12 +771,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8927#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10661#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "SignalNameFromLabel", @@ -822,12 +822,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8929#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10597#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.png new file mode 100644 index 0000000000000000000000000000000000000000..6115b2cd46a2d9ece1eced542027706ae414a218 GIT binary patch literal 4008 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 Yy-!Pzxb!m=@aqk_ebZFG2JRU5A5+OjUjP6A literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg similarity index 77% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg index 7ae14f7..d0eeac6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg @@ -1,23 +1,23 @@ - + - + - + - - + + - + @@ -27,30 +27,30 @@ - + 1 - + - - + + - + - - iq_limProt + + iq_limProtErr @@ -61,11 +61,11 @@ - - + + - + @@ -75,45 +75,45 @@ - - cf_iqKpLimProt + + cf_iqKiLimProt - + - - + + - + - - cf_iqKpLimProt + + cf_iqKiLimProt - - + + - + - - ufix16_En8 + + ufix16_En16 @@ -124,115 +124,107 @@ - - - + + + - - + + - + - + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - - - + - - - + + + + + + + + up - - + + - - sfix16_En4 + + u - - - - - - - - - - - - - - - - - - - - + + - - + + lo - - + + - - + + y - - + + - + - - + + - + sfix16_En4 @@ -244,44 +236,59 @@ - - - + + + - - + + - - + + - - if { } + + 3 - - + + - - + + - - + + - - Action Port + + iq_min + + + + + + + + + + + + + + + sfix16_En4 @@ -292,58 +299,58 @@ - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - iq_min + + iq_max - + - - + + - + sfix16_En4 @@ -355,108 +362,108 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - + + + + - - - - - - - - up + + + - - - - - u - - - - + - - lo + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - - y + + case: { } - - + + - - - + + + - + - - sfix16_En4 + + Action Port @@ -467,11 +474,11 @@ - - + + - + @@ -481,44 +488,44 @@ - + 1 - + - + - + - + iq - + - + - + sfix16_En4 @@ -530,59 +537,52 @@ - - - + + + - - + + - + - - 2 - - - - - - - - - - - - - - + + - + - - iq_max + + + + + + + + + - - + + - + - - sfix16_En4 + + sfix32_En20 @@ -591,118 +591,118 @@ - + - - - - + - - - - + + + - + - + - + + + + + + + + - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -711,5 +711,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.json index 1903c12..794cd52 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:10", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:10", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:9", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"UpperRelop", "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Operator", @@ -125,12 +125,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:8", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch2", "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Criteria", @@ -182,12 +182,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:7", "className":"Simulink.Switch", "icon":"WebViewIcon3", "name":"Switch", "label":"Switch", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Criteria", @@ -239,12 +239,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:6", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"LowerRelop1", "label":"LowerRelop1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Operator", @@ -284,12 +284,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:5", "className":"Simulink.SFunction", "icon":"WebViewIcon3", "name":"Data Type Propagation", "label":"Data Type Propagation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "PropDataTypeMode", @@ -347,12 +347,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:4", "className":"Simulink.DataTypeDuplicate", "icon":"WebViewIcon3", "name":"Data Type Duplicate", "label":"Data Type Duplicate", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "NumInputPorts" @@ -376,12 +376,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:3", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"lo", "label":"lo", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Port", @@ -443,12 +443,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:2", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Port", @@ -510,12 +510,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:1", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"up", "label":"up", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "Port", @@ -577,12 +577,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:1#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:1#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "SignalNameFromLabel", @@ -628,12 +628,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:2#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:2#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "SignalNameFromLabel", @@ -679,12 +679,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:3#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:3#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "SignalNameFromLabel", @@ -730,12 +730,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:7#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:7#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "SignalNameFromLabel", @@ -781,12 +781,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:8#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:8#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "SignalNameFromLabel", @@ -832,12 +832,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:6#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:6#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "SignalNameFromLabel", @@ -883,12 +883,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930:9#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594:9#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8930", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10594", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.png 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_10594_d.svg similarity index 98% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.svg index e6098c2..fc7f1d2 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_10594_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,7 +61,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -332,7 +332,7 @@ - + @@ -524,7 +524,7 @@ - + @@ -603,7 +603,7 @@ - + @@ -652,7 +652,7 @@ - + @@ -709,7 +709,7 @@ - + @@ -772,7 +772,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -896,7 +896,7 @@ - + @@ -930,7 +930,7 @@ - + @@ -1012,19 +1012,19 @@ - + - + - + - + @@ -1058,7 +1058,7 @@ - + @@ -1112,7 +1112,7 @@ - + @@ -1146,7 +1146,7 @@ - + @@ -1160,7 +1160,7 @@ - + @@ -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_10602_d.json similarity index 54% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.json index 4d542c6..dde1e1f 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_10602_d.json @@ -1,11 +1,60 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8996", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10811", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_nKiLimProt", + "label":"cf_nKiLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_nKiLimProt", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,16)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10619", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "name":"Vq_nLimProtMax", + "label":"Vq_nLimProtMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "Port", @@ -48,7 +97,7 @@ "off", "0", "off", - "reset", + "held", "off", "0", "", @@ -80,61 +129,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8995", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_nKpLimProt", - "label":"cf_nKpLimProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_nKpLimProt", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,8)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8994", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10809", "className":"Simulink.Sum", "icon":"WebViewIcon3", "name":"Sum1", "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "IconShape", @@ -152,13 +152,13 @@ "SampleTime" ], "values":[ - "round", - "|+-", + "rectangular", + "+-", "off", "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: Same as first input", "off", "Simplest", "off", @@ -188,90 +188,76 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10810", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "name":"cf_KbLimProt", + "label":"cf_KbLimProt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "DoSatur" + "FramePeriod" ], "values":[ + "cf_KbLimProt", + "on", + "inf", "[]", "[]", - "Inherit: Same as second input", + "fixdt(0,16,12)", "off", - "Floor", - "off" + "inf" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 3, + 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Constant", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8992", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10777", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "n_motAbs", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -279,66 +265,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8990", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10776", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_min", - "label":"n_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "n_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -346,66 +298,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8989", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10815", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "Vq_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -413,43 +331,196 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8988", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10804", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "name":"From5", + "label":"From5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", + "n_max", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10805", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10808", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt", + "label":"I_backCalc_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "inspector":{ + "params":[ + "yInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10812", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10609", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10814", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Vq_max", + "label":"Vq_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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", @@ -485,25 +556,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8991", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10803", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "name":"Constant1", + "label":"Constant1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "reset", - "Only when execution is resumed" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -511,17 +600,355 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10774", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_motAbs", + "label":"n_motAbs", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10607", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"n_max", + "label":"n_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10774#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10607#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10809#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10805#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "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:10803#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "SignalNameFromLabel", @@ -567,12 +994,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8990#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10804#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "SignalNameFromLabel", @@ -618,12 +1045,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8994#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10811#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "SignalNameFromLabel", @@ -669,12 +1096,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8989#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10810#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "SignalNameFromLabel", @@ -720,12 +1147,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8995#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10812#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "SignalNameFromLabel", @@ -771,12 +1198,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8988#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "SignalNameFromLabel", @@ -822,12 +1249,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8992#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10814#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.png new file mode 100644 index 0000000000000000000000000000000000000000..66b827b9bcf656641d9afda49a4d83a15513e70f GIT binary patch literal 5417 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cf_nKiLimProt + + + + + + + + + + + + + + + + + + + + + + cf_nKiLimProt + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + Vq_nLimProtMax + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + cf_KbLimProt + + + + + + + + + + + + + + + + + + + + + + cf_KbLimProt + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [n_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [n_motAbs] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + err + + + + + + + + I + + + + + + + + Kb + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + out + + + + + + + + I(z) + + + + + + + + + + + + + + + + + + + + + + I_backCalc_fixdt + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Vq_max] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + Vq_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + n_motAbs + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + n_max + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json new file mode 100644 index 0000000..180a1d5 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json @@ -0,0 +1,509 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2882", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2879", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2880", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2878", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "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:10745:2896", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "yInit", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2878#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "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:10745:2880#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "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:10745:2896#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "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:10745:2879#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.png new file mode 100644 index 0000000000000000000000000000000000000000..f441a94695b40cbfeb0805e659e7dea51d83931d GIT binary patch literal 4682 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 literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg new file mode 100644 index 0000000..9cdfa6a --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg @@ -0,0 +1,435 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=yInit + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.json new file mode 100644 index 0000000..2e9d3e0 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.json @@ -0,0 +1,936 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895:10", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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", + "OutMin", + "OutMax", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895:9", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"UpperRelop", + "label":"UpperRelop", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "<", + "off", + "boolean", + "Nearest", + "-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:10745:2895:8", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "OutMin", + "OutMax", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10745:2895:7", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch", + "label":"Switch", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10745:2895:6", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"LowerRelop1", + "label":"LowerRelop1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Nearest", + "-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:10745:2895:5", + "className":"Simulink.SFunction", + "icon":"WebViewIcon3", + "name":"Data Type Propagation", + "label":"Data Type Propagation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "inspector":{ + "params":[ + "PropDataTypeMode", + "PropDataType", + "IfRefDouble", + "IfRefSingle", + "IsSigned", + "NumBitsBase", + "NumBitsMult", + "NumBitsAdd", + "NumBitsAllowFinal", + "PropScalingMode", + "PropScaling", + "ValuesUsedBestPrec", + "SlopeBase", + "SlopeMult", + "SlopeAdd", + "BiasBase", + "BiasMult", + "BiasAdd" + ], + "values":[ + "Inherit via propagation rule", + "fixdt(1, 16)", + "double", + "single", + "IsSigned1", + "NumBits1", + "1", + "0", + "1:128", + "Inherit via propagation rule", + "2^-10", + "[5 -7]", + "Slope1", + "1", + "0", + "Bias1", + "1", + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"S-Function", + "masktype":"Data Type Propagation" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895:4", + "className":"Simulink.DataTypeDuplicate", + "icon":"WebViewIcon3", + "name":"Data Type Duplicate", + "label":"Data Type Duplicate", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "inspector":{ + "params":[ + "NumInputPorts" + ], + "values":[ + "2" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeDuplicate", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895:3", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"lo", + "label":"lo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:2", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:1", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"up", + "label":"up", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:1#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:2#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:3#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:7#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:8#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:6#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "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:10745:2895:9#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb4c3dca847e5b9c238d5b1868884ceb725948c GIT binary patch literal 4633 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UpperRelop + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LowerRelop1 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + Ref1 + + + + + + + + Ref2 + + + + + + + + Prop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + lo + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json new file mode 100644 index 0000000..8fd2db3 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json @@ -0,0 +1,1447 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2894", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2892", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2855", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMin", + "label":"satMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2891", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2893", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2895", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2854", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMax", + "label":"satMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2889", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2869", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2890", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Kb", + "label":"Kb", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2853", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"I", + "label":"I", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2851", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"err", + "label":"err", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2892#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2869#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2890#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2893#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2891#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2894#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2877#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2895#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2851#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2853#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2854#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "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:10745:2855#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.png new file mode 100644 index 0000000000000000000000000000000000000000..6145996f853845e7b971eb22f0381662190a001d GIT binary patch literal 6035 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrator + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + satMin + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + satMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + Kb + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + I + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + err + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json new file mode 100644 index 0000000..1094cf2 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json @@ -0,0 +1,509 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2882", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2896", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "yInit", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2880", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2879", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2878", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "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:10746:2878#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "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:10746:2880#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "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:10746:2896#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "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:10746:2879#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.png new file mode 100644 index 0000000000000000000000000000000000000000..f441a94695b40cbfeb0805e659e7dea51d83931d GIT binary patch literal 4682 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 literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg similarity index 96% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg index bc728d8..46796c8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,7 +61,7 @@ - + @@ -130,22 +130,22 @@ - sfix32_En20 + sfix32_En16 - + - + - - Ini=0 + + Ini=yInit @@ -156,7 +156,7 @@ - + @@ -217,7 +217,7 @@ - sfix32_En20 + sfix32_En16 @@ -228,7 +228,7 @@ - + @@ -292,7 +292,7 @@ - + @@ -344,7 +344,7 @@ - sfix32_En20 + sfix32_En16 @@ -353,35 +353,21 @@ - + - - - - - - - - - - - - - - - + - + - + @@ -415,14 +401,28 @@ - + - + - + + + + + + + + + + + + + + + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.json new file mode 100644 index 0000000..c6f99ce --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.json @@ -0,0 +1,936 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895:10", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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", + "OutMin", + "OutMax", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895:9", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"UpperRelop", + "label":"UpperRelop", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "<", + "off", + "boolean", + "Nearest", + "-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:10746:2895:8", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "OutMin", + "OutMax", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10746:2895:7", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch", + "label":"Switch", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10746:2895:6", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"LowerRelop1", + "label":"LowerRelop1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Nearest", + "-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:10746:2895:5", + "className":"Simulink.SFunction", + "icon":"WebViewIcon3", + "name":"Data Type Propagation", + "label":"Data Type Propagation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "inspector":{ + "params":[ + "PropDataTypeMode", + "PropDataType", + "IfRefDouble", + "IfRefSingle", + "IsSigned", + "NumBitsBase", + "NumBitsMult", + "NumBitsAdd", + "NumBitsAllowFinal", + "PropScalingMode", + "PropScaling", + "ValuesUsedBestPrec", + "SlopeBase", + "SlopeMult", + "SlopeAdd", + "BiasBase", + "BiasMult", + "BiasAdd" + ], + "values":[ + "Inherit via propagation rule", + "fixdt(1, 16)", + "double", + "single", + "IsSigned1", + "NumBits1", + "1", + "0", + "1:128", + "Inherit via propagation rule", + "2^-10", + "[5 -7]", + "Slope1", + "1", + "0", + "Bias1", + "1", + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"S-Function", + "masktype":"Data Type Propagation" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895:4", + "className":"Simulink.DataTypeDuplicate", + "icon":"WebViewIcon3", + "name":"Data Type Duplicate", + "label":"Data Type Duplicate", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "inspector":{ + "params":[ + "NumInputPorts" + ], + "values":[ + "2" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeDuplicate", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895:3", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"lo", + "label":"lo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:2", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:1", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"up", + "label":"up", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:1#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:2#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:3#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:7#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:8#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:6#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "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:10746:2895:9#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb4c3dca847e5b9c238d5b1868884ceb725948c GIT binary patch literal 4633 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 - + - + @@ -61,9 +61,9 @@ - + - + @@ -140,7 +140,7 @@ - + @@ -332,7 +332,7 @@ - + @@ -524,7 +524,7 @@ - + @@ -603,7 +603,7 @@ - + @@ -652,7 +652,7 @@ - + @@ -709,7 +709,7 @@ - + @@ -772,7 +772,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -896,7 +896,7 @@ - + @@ -930,7 +930,7 @@ - + @@ -1024,7 +1024,7 @@ - + @@ -1058,7 +1058,7 @@ - + @@ -1112,7 +1112,7 @@ - + @@ -1146,7 +1146,7 @@ - + @@ -1160,7 +1160,7 @@ - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json new file mode 100644 index 0000000..c3742ae --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json @@ -0,0 +1,1447 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2889", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2894", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2893", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2895", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2854", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMax", + "label":"satMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2890", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Kb", + "label":"Kb", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2869", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2891", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2853", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"I", + "label":"I", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2855", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMin", + "label":"satMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2892", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2851", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"err", + "label":"err", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2892#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2869#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2890#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2893#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2891#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2894#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2877#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2895#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2851#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2853#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2854#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "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:10746:2855#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.png new file mode 100644 index 0000000000000000000000000000000000000000..6145996f853845e7b971eb22f0381662190a001d GIT binary patch literal 6035 zcmdUzc{Ei2|Ho%+V<%(@6A_Y-?CTiWvQ0ihvW4u+*w-`|TlSrgC6Xj0BFVl_A*2}D zvy8E82-$w`&i9<(U%x+o|NYMIoO|canRDm9?|t9b`}ul2pYbR|Z3fy)v=9h{L09Lt zF*xG>?$lJ^v)cSk5jfDGb?*B@AdEeKcWBmiMs5g%LsR#*x=B#M=8PMPo6rQ?IlmK^ zfJIFA^x|yo>2ni2j*z^~nA*Y~1MYHNR;RD}`2`t!K0k@NozfL9 zOBKei54yZ`aYidAyY)-U;~Ale9evCqWL%S&8=vY@Q%5LWhGB_hRIM21bPPc*BQNOc zrs~I&$(g{pK$~PjFdUoeLW8t|@Gm5iA*snJvCLGo)co{p%t%fVKCC1PLH)28!`y{{ z@?#_ZU!M?1?GL3ZdGm%5p3+ZPgr~r=va-~x;>1kVnQ(+>PrjV&GSbt}YpeYkZF#@2 z8-%)hcY(C)OZYP6cIt4HYla932`T>WT7nYcV^4S}$!S|_UTh*-GU`0<)5MpilbV+o zKae9)T3^pb7J)gM$PaH3ERZCZa*!>3-^3-}IMpn6M-Ulp94}wNR&H1rX zdOBamr()xZVw6bn7!h1Qt*9vZ%^UF@<@R~6m{bIbD|NtCCVXTBvj3w2(St2dO1^TC zVT2Al4&aeTLwNcPLS|Nm@=LzE-bJA#iIV-ck{t_ZiW3Iry3{bLr5dvuq?P5#P^2#b z^OP1Layw9$X7-GrwtG8V)pvPwb945*-DjEhY_D8xp(BEPkVKB`iXX-->6XpA%kJ3i z;v;)*Z`(&MJam^3yZtEms7g*SO=l-o?F7oj#dT(;r;~a_k9%TbYIiuu_06pTO^$F7 z9GQ%#hD<$@Qf_q`E|4{`uz33QtFa=DaKh7J44NnQJbXv}Bv7)l$qkKWwy0)jiKo!j z)m>d(#pnxZn3}TN+1uZJ@F1b93n|aTXkKlaJLH&|l@(oVT=#A0bzWmr6Bqc0hK7d7 zjT;R3J_agsMjm-cG%`Z%Y&T_gIY+`K=95F$=d9~@&CFu)c=NseeSSGPj?&W7S2Z=U zI)agt?ph`$Yz2nGkdDm&4G}h~DpjQ8#Z*>d!{Vwc`n0q(=*)-ig^qYuVU%*o%?`U- zL!@F@B@tIHOpr9~ugNEp&u>+93k)zzI?*!cKJT@euA z&$=@@F#&6}zWmCV<0@%Ka<-;2>XDz{*I)O%z412I$wfu*`o>0$3X`8ddlT^WF03J; zq27cqyf4biN*Wq2hP1*fDk@Nw-~SI{}TF!kC|FhUS57#k-Fa-|G|54De}sd)YR1Z ziTvQ*UJhvD;}IAWe9w(nFM4XTulva{cN@Nra$df;1Zv*QuA>9d(i+(r)ec&Z7k(Rl z8iMALb20LeHk;8E%JaWs>ccO$6rx- zmspPa606 zy#^tgg{=Gzwx4G0f9@5}Y2iTipNAh^ZJVxl*|-d6LjM+f>&C%+A%YIV_~eiu-b_H2 zfO&iPkpG*j3?wM9ojrkaW@hFU5TQd)g-jFCi-}tHhzSKLsmSfe+o2?Dqu-yi@aQvT zlf{Wbc<@p_Oa<3 z0c~7c+N`SNEEg_BoClxm+Kwa1bZRCRzZ5Es5dG$Z;b3NFOQ;OXSp%ARH8nNWt1I5W zXIDE}VB%+qkNh}ul)E34s+S}FkhC&HcV7=>z%!7ZnMsj#XSvm)W{lWke?L7VV{~SQ zA+|e$S1Ev^?0vin%~q=_f5xYl>L_n-Z)Z2R{I4gp5IL{e+iq^x#ckRWt(pTmHv{Z} z5}DOl|1GV}sm7>F%o(33;%`gY%LB63bBs1gMkG^pqx{5NYmN5&^?W@hGn*o&qW0rPJhkYTwwj$s<+{CB($ zw&u1;{ygmz+ERr|fu4Q*jmyi+V`r#(iyP0MKTrMl-!;;{Xcnz(K7)XO0N$^$%&Sef zq`SL&UY;>2DJf_^0`{`nBdllT^}R}4+5CsK=5OtKp9XtOTsC`S88PbIv$`ts-eZai zb9(l`!h(;D_O7w9)aK&ic56k2%lKSE|6+tib>EK$x5u81FJDrDZt-?*4f%t3ieqku zK!iVHVo7~Pz5_y$0S7jGi$S?HDz+9_@{ z!oRUDdch+bCw1xNz2V`J#yd2)&;E7?eGJolNGu42ourXkrC$4 z0|PgurKLAX`TzdAgA+(Wl#dw%>t9JLuBf1?G_6M3*vwV6=YaQm@{^+-aqnK%u*%O* z8Nzq(-HV+?+Qpf(1-}Xgx+~(s*Dm9xK0N;6FE*fp3#+zl zV(Gx|o~){z7MxtXe3=R2t5{Ame)OZYFW<$fi=+%DNp|sa+Qx=^`&us1QuKT)dPAnS z?1OhPqYQ(SaA6dJuj9v!=2{>BqG5j&V&xhN%GH<|u*xBB*^$hvM0Un?BydZK!#lp> zLoi8*g_U*m>({R7-Tbyj@S!Xy~YB2QyCT#p`LNEdhlMm(O@Mv--76Pv_2^$QjSrPFswnc&v4eHWEn&I_c=-WW4|SxVj)qr(JC^`UJ*f8xjQt zvN0!y`+SL;)kltR!sC5#5-gZd7`QX-JIt@3z$NE7jp<(43BIQ^qR|lLqD$H1_)c9p z{BjL*?bPOn@KZ%dkhZyEp&{GFi=E3p!8M{vJjs;25sjkP>5K~1QqEba=aUo2`x+m~ z3Y@JNoDg2$3r~UF70n7-h~_|VO)I$1wgl_$k2X&{r;P(tV`lR>Ixdblpz6QIrl_P; z`{X>l<@EQ|$ojr~*dZF_R)Dvu1PtTZ$W0i2rmd+-8C29C*hVTW{?_TuldO6wZ9VQ> zd@D~#CEM&S^a#ssJ(#tzW$mnBZUSuz*t{g`HLFbY6k^>!I1o@%yL{cWsso3k_GLDD z3tsH@_XXQP7IzO1O?P*(^yj6c-@akf(^`%>>urf~1>gqs=^uY;ipXHti!jEg3?{tUGyTL1o4+%$58Jlj-!h!|EXF zJPE~~EB`yY(w)BHTF3nQ_3PZmW-ead-Y6zj&iatEvx9bxYE%35@#=&>eeMg%WKw!k zd5H@5_1~5^Zmq9t0CtbIkGP9q=Wm`#2J?Vh_F47&h?yDA(bt6DcNlcMwYIi~vb3Zx zA^?jZDJ@+;KgKU%=9dmflp8(ktN5p!-H-dP(5{xm0w*ytJIh#WPM@R|1%#vJXeFQS z4uGbErwoaKbXOfnnkPsPX{@TX7VbyNfti%&_>*3cjqWQiXp z0ILD99}CYLa>O}Et?q}oPk*>@r_9ILdBqNm9yvY-41pUO+E*~5xv$tI3v3`|qt{&D z_e!%`|8>(>-(A7{RarH&H#Ie7ycB^y)AKt1y*WE|+SA($WCaQVQ!oNnO?Ec>#&i=a zFkgQaV!XzNDSwEn&@eVPm(v~p7AhknBO)e-9dhg*%9m>$yJA!@{b+l(72h1_wWG$y z;`gvQWs6Ac1fxEb%0pRMF#rarX+OKf7)#!P-_W&rynpe}@$rR=7b&yu$Po8UEB%e- z==1br00odiT;1G2N5rP6opAzP2Cz;A&TR#rW>eGNUI2i>$kbHA*47qZs~d}_d=cRY z#j!v)O!_Bz6c{Zrb~@8)3zk}cpb~k^KNCeY)3M(tCppDx8 zos4HEJ{dWPgov#?#sw4$zv4 zit1(Iv1PSsw`Ze-GlSqxwj}}p8rTF`XuzhWtsV7#6N{w~6cnWJ2z6KhwamuB5&My% z4vY1;&d$GJ`)O01{V7W1#kGss{Ioc+BpVI>0Xkm03;!K_bhms_|GTW$*V8gG$eS#a z-@liIV2mp$`n_LOS8D>s2VAxnqLQdp8i;1%Pk`Ry^Y`#Ld|ty;L}PUe%M)8TIf-xc zoGYMO>tU0uO!n?p+-N1FH|8Ik>t6q=os^nO$w%Z zz$Y_NV;|IV&N58yDL3x}y>elYmQq#u2^?OS-1KW#L!1mOc}Fi>mZGpN^|Q(8L}Aal zz8z^f{xR$^#Ajk5P}xm%J*&Pv`NOLQ#1bbOBIQ0;;O;D{0hZ>Z<|L zAUP7xp#!e!=FOYt?;IJTu@pm@Hf=!c099CuYnzyu=yXFNWDy-o1fXKEo-q~WG&C=+ zwTHJ_ryL$0qP|I$9v%j9(#N23)U(sBL2D=7nd5J(+Sp280&Nk!`&09ki701MABOFx zpQ85??gBvk;ukL{w3B%v2A2QbE5PA&%&W&S?kTC0xjyM%NG-$NqNSs8AT|P14@_#8 zyKL#ZcdWs|!GCRUGc_Q82aV&^r^s?Kqy%RWV`KHoQDwxuG2E$Vx->HSwL17da!kE0NC>S0jI^Dcvfd; zX9P%mibB?|ZTo=UC!n1?|4I1So?9!H;&T<5v6-3N`o-+5tf505@CYEIgEKHNh)78E zPrh@y0L<&(hq{zRm7@AbgqDtO_p6@7P)IXY411qaFf~>QU}`8b95f{dC#UXZA0WZO z-L;-GiY*7Tp@ZYn$jFDLX3*fGXL~jv50bid3rMES^3Ck{g~P+elyU}bb#*8Zx~DiC z4%4EJTSe-F3G2kWj-uD1ae__(;8DRJF#)dVCCr5O%!35sFA`bYgAL!l= zLG3)ROTDYFitOiZ&`F5i|X<1a2xF4 z_e?g>sjtlpc1Mp9vA3_#_;WdM<*}q@X0p*UFhoDk=E~C-5)>AW{YYPzs816IR)(LS zw4Wj`52H5jL2gh{EJ)cvZGngZs44tw2=15EG7rV!${Qi7D5z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + satMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + Kb + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + I + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + satMin + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrator + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + err + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json new file mode 100644 index 0000000..36a5222 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json @@ -0,0 +1,509 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2896", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "inspector":{ + "params":[ + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" + ], + "values":[ + "yInit", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" + ], + "tabs":[ + "Main", + "State Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"UnitDelay", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2880", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2882", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "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:10808:2878", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "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:10808:2879", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeConversion", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2878#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "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:10808:2880#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "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:10808:2896#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "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:10808:2879#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.png new file mode 100644 index 0000000000000000000000000000000000000000..f441a94695b40cbfeb0805e659e7dea51d83931d GIT binary patch literal 4682 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 literal 0 HcmV?d00001 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg new file mode 100644 index 0000000..a3cc180 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg @@ -0,0 +1,435 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=yInit + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.json new file mode 100644 index 0000000..97d0d89 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.json @@ -0,0 +1,936 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895:10", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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", + "OutMin", + "OutMax", + "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:10808:2895:9", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"UpperRelop", + "label":"UpperRelop", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "<", + "off", + "boolean", + "Nearest", + "-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:10808:2895:8", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "OutMin", + "OutMax", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10808:2895:7", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch", + "label":"Switch", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10808:2895:6", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"LowerRelop1", + "label":"LowerRelop1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Nearest", + "-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:10808:2895:5", + "className":"Simulink.SFunction", + "icon":"WebViewIcon3", + "name":"Data Type Propagation", + "label":"Data Type Propagation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "inspector":{ + "params":[ + "PropDataTypeMode", + "PropDataType", + "IfRefDouble", + "IfRefSingle", + "IsSigned", + "NumBitsBase", + "NumBitsMult", + "NumBitsAdd", + "NumBitsAllowFinal", + "PropScalingMode", + "PropScaling", + "ValuesUsedBestPrec", + "SlopeBase", + "SlopeMult", + "SlopeAdd", + "BiasBase", + "BiasMult", + "BiasAdd" + ], + "values":[ + "Inherit via propagation rule", + "fixdt(1, 16)", + "double", + "single", + "IsSigned1", + "NumBits1", + "1", + "0", + "1:128", + "Inherit via propagation rule", + "2^-10", + "[5 -7]", + "Slope1", + "1", + "0", + "Bias1", + "1", + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"S-Function", + "masktype":"Data Type Propagation" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895:4", + "className":"Simulink.DataTypeDuplicate", + "icon":"WebViewIcon3", + "name":"Data Type Duplicate", + "label":"Data Type Duplicate", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "inspector":{ + "params":[ + "NumInputPorts" + ], + "values":[ + "2" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeDuplicate", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895:3", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"lo", + "label":"lo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:2", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:1", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"up", + "label":"up", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:1#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:2#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:3#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:7#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:8#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:6#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "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:10808:2895:9#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb4c3dca847e5b9c238d5b1868884ceb725948c GIT binary patch literal 4633 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UpperRelop + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LowerRelop1 + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + Ref1 + + + + + + + + Ref2 + + + + + + + + Prop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + lo + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json new file mode 100644 index 0000000..5a0197f --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json @@ -0,0 +1,1447 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2892", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "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:10808:2895", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2891", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide1", + "label":"Divide1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2889", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"out", + "label":"out", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2855", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMin", + "label":"satMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2894", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay", + "label":"UnitDelay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2854", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"satMax", + "label":"satMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2893", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum3", + "label":"Sum3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2890", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"Kb", + "label":"Kb", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:10808:2851", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"err", + "label":"err", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2869", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2853", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"I", + "label":"I", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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:10808:2892#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2869#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2890#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2893#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2891#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2894#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2877#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2895#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2851#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2853#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2854#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "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:10808:2855#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.png new file mode 100644 index 0000000000000000000000000000000000000000..6145996f853845e7b971eb22f0381662190a001d GIT binary patch literal 6035 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + u + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrator + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + satMin + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ini=0 + + + + + + + + + + + + + + + sfix32_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + satMax + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + Kb + + + + + + + + + + + + + + + ufix16_En12 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + err + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix32_En20 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + I + + + + + + + + + + + + + + + ufix16_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json index a2791be..fdfbd27 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2790", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2790", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"y", "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ "Port", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2789", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2789", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", "name":"UnitDelay", "label":"UnitDelay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ "InitialCondition", @@ -130,52 +130,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2788", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2787", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", + "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", "SampleTime" ], "values":[ - "round", - "|++", - "off", - "Inherit: Same as first input", "[]", "[]", - "Inherit: Same as first input", + "fixdt(1,16,4)", "off", - "Simplest", + "Real World Value (RWV)", + "Floor", "off", - "1", - "All dimensions", "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 7 ] }, "viewer":{ @@ -184,45 +172,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2787", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2788", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "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,17 +231,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2786", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2786", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ "Port", @@ -303,12 +303,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2787#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2787#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -354,12 +354,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2789#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2789#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -405,12 +405,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2788#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2788#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ "SignalNameFromLabel", @@ -456,12 +456,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2786#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2786#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg similarity index 97% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg index 209ea86..79b4feb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,7 +61,7 @@ - + @@ -120,32 +120,32 @@ - - - + + + - + - - sfix32_En20 + + Ini=0 - - - + + + - + - - Ini=0 + + sfix32_En20 @@ -156,7 +156,7 @@ - + @@ -220,7 +220,7 @@ - + @@ -292,7 +292,7 @@ - + @@ -353,7 +353,7 @@ - + @@ -367,7 +367,7 @@ - + @@ -381,7 +381,7 @@ - + @@ -415,7 +415,7 @@ - + @@ -431,5 +431,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json index 843a71b..5d1718e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2710", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"y", - "label":"y", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"hitMin", + "label":"hitMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "Port", @@ -33,7 +33,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -80,12 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2710", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"hitMin", - "label":"hitMin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "Port", @@ -113,7 +113,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -160,40 +160,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2849", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2709", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"hitMax", + "label":"hitMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ - "Criteria", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "Threshold", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "u2 ~= 0", - "off", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", - "-1", + "[]", + "off", + "held", + "off", "0", - "on" + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -202,8 +225,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 2, + 11 ] }, "viewer":{ @@ -212,55 +235,43 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2848", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2707", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"UpperRelop", + "label":"UpperRelop", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ - "Criteria", + "Operator", "InputSameDT", - "OutMin", - "OutMax", "OutDataTypeStr", - "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", "SampleTime", - "Threshold", "ZeroCross" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", + "<", "off", + "boolean", + "Nearest", "-1", - "0", "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, 1, - 9 + 4 ] }, "viewer":{ @@ -269,43 +280,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2704", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2849", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"LowerRelop1", - "label":"LowerRelop1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"Switch3", + "label":"Switch3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "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", - "Nearest", "-1", + "0", "on" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 1, - 4 + 9 ] }, "viewer":{ @@ -314,17 +337,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2707", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2704", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"UpperRelop", - "label":"UpperRelop", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"LowerRelop1", + "label":"LowerRelop1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "Operator", @@ -335,7 +358,7 @@ "ZeroCross" ], "values":[ - "<", + ">", "off", "boolean", "Nearest", @@ -364,12 +387,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2700", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2700", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"u", "label":"u", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "Port", @@ -431,63 +454,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2709", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2848", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"hitMax", - "label":"hitMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "Threshold", + "ZeroCross" ], "values":[ - "1", - "Port number", + "u2 ~= 0", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "Inherit: Inherit via back propagation", "off", - "[]", + "Zero", "off", - "held", "off", + "-1", "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "on" ], "tabs":[ "Main", @@ -496,8 +496,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 1, + 9 ] }, "viewer":{ @@ -506,17 +506,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2699", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2701", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"up", - "label":"up", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"lo", + "label":"lo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "Port", @@ -538,7 +538,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -578,12 +578,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2701", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2699", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"lo", - "label":"lo", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "name":"up", + "label":"up", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "Port", @@ -605,7 +605,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -645,12 +645,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2849#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2849#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -696,12 +696,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2701#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2701#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -747,12 +747,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2704#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2704#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -798,12 +798,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2707#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2707#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -849,12 +849,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2699#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2699#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -900,12 +900,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2700#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2700#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "SignalNameFromLabel", @@ -951,12 +951,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791:2848#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791:2848#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg similarity index 90% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg index 8f2eb03..0f8cd15 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg @@ -9,11 +9,11 @@ - + - + @@ -61,188 +61,92 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - T + + y + + + + + + + + + + + + + + + + + + - - + + - - F + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + hitMax @@ -253,9 +157,9 @@ - + - + @@ -263,19 +167,19 @@ - + - + - + - + @@ -301,11 +205,11 @@ - + - + UpperRelop @@ -316,11 +220,11 @@ - + - + boolean @@ -332,248 +236,187 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - LowerRelop1 + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - 3 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - lo + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - hitMax + + - - - - - - - - - - - - - - - - - - - - + + - - 2 + + T - - - - - - + + + + + + + F - - - - - - - - - - - u + + + - + - - + + - + sfix16_En4 @@ -585,44 +428,75 @@ - - - + + + - - + + - + - - + + - - 2 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - y + + LowerRelop1 + + + + + + + + + + + + + + + boolean @@ -633,58 +507,58 @@ - - + + - + - + - - 1 + + 2 - + - - + + - - + + - - up + + u - + - - + + - + sfix16_En4 @@ -696,187 +570,313 @@ - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + T - + - - + + F - - - - - - - + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - - + + 3 + + + + + + + + + + + + + + - + - - + + lo - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - - - - T - - - - + - - F + + 1 - - + + + + + + + + + + + + + + + + + up - + - + - + sfix16_En4 @@ -886,7 +886,7 @@ - + @@ -900,7 +900,7 @@ - + @@ -934,7 +934,7 @@ - + @@ -968,7 +968,7 @@ - + @@ -1002,7 +1002,7 @@ - + @@ -1036,7 +1036,7 @@ - + @@ -1081,16 +1081,16 @@ - + - + - + @@ -1106,5 +1106,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json similarity index 86% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json index 5457d42..cb9dfc5 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2819", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2819", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"preSat", "label":"preSat", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "Port", @@ -67,12 +67,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2818", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2818", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"preIntegrator", "label":"preIntegrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "Port", @@ -134,12 +134,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2831", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2831", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"Clamp", "label":"Clamp", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "Port", @@ -214,12 +214,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2837", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2837", "className":"Simulink.Signum", "icon":"WebViewIcon3", "name":"SignDeltaU2", "label":"SignDeltaU2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "ZeroCross", @@ -245,12 +245,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2841", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2841", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", "name":"Equal1", "label":"Equal1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "Operator", @@ -290,25 +290,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2839", - "className":"Simulink.Signum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2836", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"SignDeltaU3", - "label":"SignDeltaU3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "name":"DataTypeConv3", + "label":"DataTypeConv3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ - "ZeroCross", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", "SampleTime" ], "values":[ + "[]", + "[]", + "int8", "on", + "Real World Value (RWV)", + "Zero", + "off", "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -316,17 +332,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Signum", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2840", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"DataTypeConv3", - "label":"DataTypeConv3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "name":"DataTypeConv4", + "label":"DataTypeConv4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "OutMin", @@ -368,12 +384,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2843", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2839", + "className":"Simulink.Signum", + "icon":"WebViewIcon3", + "name":"SignDeltaU3", + "label":"SignDeltaU3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", + "inspector":{ + "params":[ + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Signum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2843", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"hitSat", "label":"hitSat", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "Port", @@ -435,59 +482,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2840", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"DataTypeConv4", - "label":"DataTypeConv4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int8", - "on", - "Real World Value (RWV)", - "Zero", - "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:9728:2838", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2838", "className":"Simulink.Logic", "icon":"WebViewIcon3", "name":"AND1", "label":"AND1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "Operator", @@ -527,12 +527,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2843#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2843#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -578,12 +578,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2838#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2838#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -629,12 +629,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2841#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2841#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -680,12 +680,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2840#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2840#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -731,12 +731,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2836#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2836#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -782,12 +782,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2839#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2839#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -833,12 +833,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2837#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2837#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -884,12 +884,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2819#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2819#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", @@ -935,12 +935,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2818#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2818#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg similarity index 93% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg index eb5a647..1dc4deb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg @@ -9,11 +9,11 @@ - + - + @@ -76,7 +76,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -187,7 +187,7 @@ - + @@ -267,7 +267,7 @@ - + @@ -339,46 +339,30 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - - - - - - - - + - - + + @@ -392,23 +376,23 @@ - - + + - - + + - - + + - - int16 + + int8 @@ -419,7 +403,7 @@ - + @@ -429,19 +413,19 @@ - + - + - + - + @@ -467,11 +451,11 @@ - + - + int8 @@ -483,30 +467,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -520,23 +520,23 @@ - - + + - - + + - + - - int8 + + int16 @@ -547,7 +547,7 @@ - + @@ -610,9 +610,9 @@ - + - + @@ -672,7 +672,7 @@ - + @@ -686,7 +686,7 @@ - + @@ -700,7 +700,7 @@ - + @@ -714,7 +714,7 @@ - + @@ -728,7 +728,7 @@ - + @@ -742,7 +742,7 @@ - + @@ -756,7 +756,7 @@ - + @@ -770,7 +770,7 @@ - + @@ -784,7 +784,7 @@ - + @@ -800,5 +800,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json similarity index 87% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json index db365dd..5618e92 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json @@ -1,11 +1,11 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2785", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2785", "className":"Simulink.Outport", "icon":"WebViewIcon3", "name":"out", "label":"out", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "Port", @@ -80,61 +80,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2815", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "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:9721:2817", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2817", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", "name":"UnitDelay1", "label":"UnitDelay1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "InitialCondition", @@ -179,42 +130,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2781", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2814", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Switch1", + "label":"Switch1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "IconShape", - "Inputs", + "Criteria", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "rectangular", - "++", + "u2 ~= 0", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: Inherit via back propagation", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -223,8 +172,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 1, + 9 ] }, "viewer":{ @@ -233,17 +182,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2783", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2781", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "IconShape", @@ -267,7 +216,7 @@ "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via internal rule", "off", "Simplest", "on", @@ -297,12 +246,142 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "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:10828:2795", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hitMin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", "name":"Saturation_hit", "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "ShowPortLabels", @@ -390,21 +469,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2794", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2846", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"From4", + "label":"From4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_hitMax", - "local", + "b_hitSat", "Tag" ], "tabs":[ @@ -418,83 +495,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2814", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2833", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "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:9721:2845", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_hitSat", - "local", + "b_hitMin", "Tag" ], "tabs":[ @@ -508,32 +526,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2795", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2776", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Divide2", + "label":"Divide2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "b_hitMin", - "local", - "Tag" + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "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" @@ -541,24 +583,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2846", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2845", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "b_hitSat", + "local", "Tag" ], "tabs":[ @@ -572,17 +616,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Clamping_circuit", + "label":"Clamping_circuit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "ShowPortLabels", @@ -674,12 +718,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2773", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2773", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"ext_limProt", "label":"ext_limProt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "Port", @@ -741,43 +785,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2833", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_hitMin", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2770", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2733", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"P", - "label":"P", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"satMin", + "label":"satMin", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "Port", @@ -799,7 +812,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "5", "Port number", "[]", "[]", @@ -839,12 +852,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2732", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"satMin", - "label":"satMin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"satMax", + "label":"satMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "Port", @@ -866,7 +879,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -906,19 +919,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2832", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2794", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "b_hitMax", + "local", "Tag" ], "tabs":[ @@ -932,17 +947,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2769", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2771", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"err", - "label":"err", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"I", + "label":"I", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "Port", @@ -964,7 +979,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -1004,50 +1019,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2732", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2815", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"satMax", - "label":"satMax", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Constant", + "label":"Constant", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "4", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -1056,8 +1053,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -1066,22 +1063,23 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2776", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2783", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -1093,15 +1091,16 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(1,16,4)", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -1114,7 +1113,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -1123,17 +1122,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2771", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2769", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"I", - "label":"I", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"err", + "label":"err", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "Port", @@ -1155,7 +1154,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -1195,137 +1194,138 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2778", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide5", + "label":"Divide5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", + "**", + "Element-wise(.*)", "off", + "[]", + "[]", + "fixdt(1,16,5)", "off", + "Simplest", "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 9 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2778", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2832", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide5", - "label":"Divide5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_hitMax", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2770", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"P", + "label":"P", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "inspector":{ + "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "2", + "Port number", "[]", "[]", - "fixdt(1,16,5)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -1335,7 +1335,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1344,17 +1344,17 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2844", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2844", "className":"Simulink.Logic", "icon":"WebViewIcon3", "name":"AND1", "label":"AND1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "Operator", @@ -1394,12 +1394,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1445,12 +1445,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2846#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2846#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1496,12 +1496,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2844#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2844#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1547,12 +1547,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2833#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2833#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1598,12 +1598,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2832#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2832#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1649,12 +1649,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2817#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2817#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1700,12 +1700,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1751,12 +1751,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2814#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2814#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1802,12 +1802,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2781#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2781#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1853,12 +1853,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2783#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2783#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1904,12 +1904,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2815#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2815#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -1955,12 +1955,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2006,12 +2006,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2057,12 +2057,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2733#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2733#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2108,12 +2108,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2732#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2732#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2159,12 +2159,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2770#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2770#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2210,12 +2210,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2261,12 +2261,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2771#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2771#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2312,12 +2312,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2778#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2778#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2363,12 +2363,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2776#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2776#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2414,12 +2414,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2773#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2773#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", @@ -2465,12 +2465,12 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2769#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2769#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "SignalNameFromLabel", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.png similarity index 100% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.png rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.png diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.svg similarity index 93% rename from 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg rename to 01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.svg index b78bce3..e15f957 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.svg @@ -9,13 +9,61 @@ - + - + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + out + + + + + + + + + + + - + @@ -23,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -72,32 +120,32 @@ - - - + + + - - + + - - boolean + + Ini=0 - - - + + + - - + + - - Ini=0 + + boolean @@ -108,9 +156,9 @@ - + - + @@ -118,155 +166,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -284,11 +332,11 @@ - + - + sfix32_En20 @@ -300,43 +348,67 @@ - - - + + + - - + + - - + + - - 0 + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix32_En20 @@ -348,9 +420,9 @@ - + - + @@ -364,19 +436,19 @@ - + - + u - + - + y @@ -406,11 +478,11 @@ - + - + Integrator @@ -427,11 +499,11 @@ - + - + sfix16_En4 @@ -443,74 +515,35 @@ - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [b_hitMin] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -521,182 +554,234 @@ - - - + + + - - + + - - + + - - [b_hitSat] + + up - - - - - - + + + + + + + u - - - - - - - - - - - - - - - - - - - - + + - - [b_hitMax] + + lo + + + + + + + + hitMax + + + + + + + + y + + + + + + + + hitMin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_hitMin] + + boolean - - - + + + + + + + + + + + sfix16_En4 - + - - + + - + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [b_hitSat] - - + + - - + + - - + + - - sfix32_En20 + + boolean @@ -707,43 +792,43 @@ - - + + - + - + - - [b_hitMax] + + [b_hitMin] - + - + - - + + - + boolean @@ -755,7 +840,7 @@ - + @@ -765,19 +850,19 @@ - + - + - + - + @@ -795,11 +880,11 @@ - + - + sfix32_En20 @@ -811,59 +896,140 @@ - - - + + + - - + + - - + + - - 6 + + [b_hitSat] - - + + - - - - - - - - - - - ext_limProt + + + + + + + + + + + + + + + + + + + + + + + + + + + + preIntegrator + + + + + + + + preSat + + + + + + + + hitSat + + + + + + + + Clamp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clamping_circuit - - + + + + + + + + - - + + - - sfix32_En20 + + boolean @@ -874,59 +1040,65 @@ - - + + + + + + + + - + - + - - 5 + + 6 - + - - + + - - + + - - satMin + + ext_limProt - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -937,58 +1109,58 @@ - - + + - + - + - - 4 + + 5 - + - - + + - - + + - - satMax + + satMin - + - - + + - + sfix16_En4 @@ -1000,234 +1172,92 @@ - - - + + + - - + + - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - hitMax - - - - - - - - y - - - - - - - - hitMin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + 4 - - + + - - - + + + - - + + - - boolean + + satMax - + - - + + - + sfix16_En4 - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - 1 + + [b_hitMax] - - - - - - - - - - - - - - - - - out + + @@ -1238,7 +1268,7 @@ - + @@ -1281,72 +1311,16 @@ - - - - - - - - - - ufix16_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - sfix16_En5 + + ufix16_En16 @@ -1357,59 +1331,44 @@ - - - + + + - - + + - - + + - - 2 + + 0 - - - - - - - - - - - - - - - - - P + + - - + + - - + + - - ufix16_En12 + + sfix32_En20 @@ -1420,29 +1379,68 @@ - - - + + + - - + + - - + + - - [b_hitMin] + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -1453,7 +1451,7 @@ - + @@ -1463,11 +1461,11 @@ - + - + 1 @@ -1485,11 +1483,11 @@ - + - + err @@ -1500,11 +1498,11 @@ - + - + sfix16_En4 @@ -1516,106 +1514,99 @@ - - - + + + - - - - - - - - + + - - - - - - preIntegrator - - - - - - - - preSat - - - - + + - - hitSat + + - - + + - - Clamp + + - - - - - - - - + + - + + + + - - - - + + + - - + + sfix16_En5 + + + + + + + + + + + + + + + + + + - - + + - - Clamping_circuit + + [b_hitMax] + + + + + + + - - - - - - - - + + - - + + - + boolean @@ -1627,50 +1618,59 @@ - - - - - - - - - + + + - - + + - - + + - - [b_hitSat] + + 2 - - + + + + + + + + + + + + + + + + + P - - + + - + - - boolean + + ufix16_En12 @@ -1681,7 +1681,7 @@ - + @@ -1743,7 +1743,7 @@ - + @@ -1757,7 +1757,7 @@ - + @@ -1771,7 +1771,7 @@ - + @@ -1785,7 +1785,7 @@ - + @@ -1799,7 +1799,7 @@ - + @@ -1813,7 +1813,7 @@ - + @@ -1827,7 +1827,7 @@ - + @@ -1841,7 +1841,7 @@ - + @@ -1855,7 +1855,7 @@ - + @@ -1889,7 +1889,7 @@ - + @@ -1923,7 +1923,7 @@ - + @@ -1937,7 +1937,7 @@ - + @@ -1951,7 +1951,7 @@ - + @@ -1965,7 +1965,7 @@ - + @@ -1979,7 +1979,7 @@ - + @@ -1993,7 +1993,7 @@ - + @@ -2007,7 +2007,7 @@ - + @@ -2021,7 +2021,7 @@ - + @@ -2035,7 +2035,7 @@ - + @@ -2049,7 +2049,7 @@ - + @@ -2063,7 +2063,7 @@ - + @@ -2077,7 +2077,7 @@ - + @@ -2113,5 +2113,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.json new file mode 100644 index 0000000..19c5274 --- /dev/null +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.json @@ -0,0 +1,936 @@ +[ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829:10", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"y", + "label":"y", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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", + "OutMin", + "OutMax", + "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:10829:9", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"UpperRelop", + "label":"UpperRelop", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "<", + "off", + "boolean", + "Nearest", + "-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:10829:8", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch2", + "label":"Switch2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "OutMin", + "OutMax", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10829:7", + "className":"Simulink.Switch", + "icon":"WebViewIcon3", + "name":"Switch", + "label":"Switch", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "inspector":{ + "params":[ + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" + ], + "values":[ + "u2 ~= 0", + "off", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Floor", + "off", + "off", + "-1", + "0", + "off" + ], + "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:10829:6", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"LowerRelop1", + "label":"LowerRelop1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", + "off", + "boolean", + "Nearest", + "-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:10829:5", + "className":"Simulink.SFunction", + "icon":"WebViewIcon3", + "name":"Data Type Propagation", + "label":"Data Type Propagation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "inspector":{ + "params":[ + "PropDataTypeMode", + "PropDataType", + "IfRefDouble", + "IfRefSingle", + "IsSigned", + "NumBitsBase", + "NumBitsMult", + "NumBitsAdd", + "NumBitsAllowFinal", + "PropScalingMode", + "PropScaling", + "ValuesUsedBestPrec", + "SlopeBase", + "SlopeMult", + "SlopeAdd", + "BiasBase", + "BiasMult", + "BiasAdd" + ], + "values":[ + "Inherit via propagation rule", + "fixdt(1, 16)", + "double", + "single", + "IsSigned1", + "NumBits1", + "1", + "0", + "1:128", + "Inherit via propagation rule", + "2^-10", + "[5 -7]", + "Slope1", + "1", + "0", + "Bias1", + "1", + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"S-Function", + "masktype":"Data Type Propagation" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829:4", + "className":"Simulink.DataTypeDuplicate", + "icon":"WebViewIcon3", + "name":"Data Type Duplicate", + "label":"Data Type Duplicate", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "inspector":{ + "params":[ + "NumInputPorts" + ], + "values":[ + "2" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"DataTypeDuplicate", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829:3", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"lo", + "label":"lo", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:2", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"u", + "label":"u", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:1", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"up", + "label":"up", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:1#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:2#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:3#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:7#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:8#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:6#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "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:10829:9#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + } +] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb4c3dca847e5b9c238d5b1868884ceb725948c GIT binary patch literal 4633 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 - + - + @@ -61,7 +61,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -332,7 +332,7 @@ - + @@ -524,7 +524,7 @@ - + @@ -603,7 +603,7 @@ - + @@ -652,7 +652,7 @@ - + @@ -709,7 +709,7 @@ - + @@ -772,7 +772,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -896,7 +896,7 @@ - + @@ -930,7 +930,7 @@ - + @@ -1009,22 +1009,22 @@ - + - + - + - + @@ -1058,7 +1058,7 @@ - + @@ -1112,7 +1112,7 @@ - + @@ -1146,7 +1146,7 @@ - + @@ -1160,7 +1160,7 @@ - + @@ -1176,5 +1176,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json index 0fe80f6..6924cf8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.json @@ -97,6 +97,55 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10192", + "className":"Simulink.Annotation", + "icon":"WebViewIcon2", + "name":"

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

", + "label":"

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

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

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

", + "off", + "rich", + "auto", + "auto", + -1, + "auto", + "black", + "white", + "left", + "off", + "" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9307", "className":"Simulink.Annotation", @@ -227,11 +276,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9305", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9304", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_devSignal1", - "label":"r_devSignal1", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -260,7 +309,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "6", "Port number", "[]", "[]", @@ -273,9 +322,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -307,11 +356,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9301", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9303", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"DC_phaC", - "label":"DC_phaC", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -340,7 +389,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "5", "Port number", "[]", "[]", @@ -387,11 +436,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9302", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"z_errCode", + "label":"z_errCode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10064", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel1", - "label":"z_ctrlTypSel1", + "name":"b_fieldWeakEna", + "label":"b_fieldWeakEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -405,12 +534,12 @@ "FramePeriod" ], "values":[ - "z_ctrlTypSel", + "b_fieldWeakEna", "on", "inf", "[]", "[]", - "uint8", + "boolean", "off", "inf" ], @@ -512,64 +641,108 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295", - "className":"Simulink.Saturate", - "icon":"WebViewIcon3", - "name":"Saturation1", - "label":"Saturation1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Task_Scheduler", + "label":"Task_Scheduler", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "UpperLimit", - "LowerLimit", - "LinearizeAsGain", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "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":[ - "2000", - "-2000", + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", "on", - "[]", - "[]", - "fixdt(1,16,4)", + "", + "", "off", - "Floor", + "", + "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", - "on" + "", + "off", + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 8 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Saturate", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9294", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10751", "className":"Simulink.Saturate", "icon":"WebViewIcon3", - "name":"Saturation", - "label":"Saturation", + "name":"Saturation1", + "label":"Saturation1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -585,8 +758,8 @@ "ZeroCross" ], "values":[ - "2000", - "-2000", + "1700", + "-1700", "on", "[]", "[]", @@ -618,86 +791,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Implemented_control_methods", - "label":"Implemented_control_methods", + "icon":"WebViewIcon4", + "name":"Model_Info", + "label":"Model_Info", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", "", + "All", + "off", + "on", "", "", - "ReadWrite", + "off", "", - "All", + "void_void", + "off", "off", + "on", + "", + "off", + "", "off", "off", - "-1", - "Auto", - "Auto", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "on", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -711,11 +888,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10258", "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"If4", + "label":"If4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -797,11 +974,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9934", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -810,7 +987,7 @@ "IconDisplay" ], "values":[ - "b_hallB", + "z_dir", "local", "Tag" ], @@ -895,39 +1072,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9287", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "DC_phaA", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9286", "className":"Simulink.Goto", @@ -962,44 +1106,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9272", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "r_devSignal2", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9283", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1008,7 +1119,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "z_pos", "local", "Tag" ], @@ -1028,11 +1139,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10189", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1041,7 +1152,7 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "task3", "local", "Tag" ], @@ -1061,11 +1172,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9302", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_errCode", - "label":"z_errCode", + "name":"DC_phaB", + "label":"DC_phaB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1094,7 +1205,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -1107,9 +1218,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -1141,11 +1252,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9275", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10188", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1154,7 +1265,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "task1", "local", "Tag" ], @@ -1174,11 +1285,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9934", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10187", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1187,7 +1298,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "task2", "local", "Tag" ], @@ -1207,11 +1318,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9277", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1220,7 +1331,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "z_ctrlModReq", "local", "Tag" ], @@ -1240,74 +1351,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9299", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9275", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"DC_phaA", - "label":"DC_phaA", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "a_elecAngle", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1315,16 +1379,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9269", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9274", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1333,7 +1397,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "i_phaAB", "local", "Tag" ], @@ -1353,19 +1417,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9278", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hallA", + "n_motAbs", + "local", "Tag" ], "tabs":[ @@ -1379,24 +1445,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9437", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -1410,16 +1478,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10159", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1427,7 +1495,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1446,11 +1514,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1458,7 +1526,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "b_hallA", "Tag" ], "tabs":[ @@ -1508,11 +1576,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1520,7 +1588,7 @@ "IconDisplay" ], "values":[ - "DC_phaC", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -1539,11 +1607,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1551,7 +1619,7 @@ "IconDisplay" ], "values":[ - "DC_phaB", + "r_devSignal2", "Tag" ], "tabs":[ @@ -1570,74 +1638,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9303", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9269", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "r_inpTgt", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1645,16 +1666,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From30", - "label":"From30", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1662,7 +1683,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1681,11 +1702,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10692", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From39", + "label":"From39", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1693,7 +1714,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "n_motAbs", "Tag" ], "tabs":[ @@ -1712,11 +1733,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10355", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1724,7 +1745,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "task2", "Tag" ], "tabs":[ @@ -1743,11 +1764,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1755,7 +1776,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "n_mot", "Tag" ], "tabs":[ @@ -1774,11 +1795,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto9", + "label":"Goto9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hallC", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1786,7 +1840,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1805,11 +1859,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9456", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9282", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1818,7 +1872,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "z_errCode", "local", "Tag" ], @@ -1838,11 +1892,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1850,7 +1904,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "DC_phaB", "Tag" ], "tabs":[ @@ -1869,11 +1923,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -1881,7 +1935,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "DC_phaA", "Tag" ], "tabs":[ @@ -1900,74 +1954,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9304", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "b_hallC", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1975,24 +1980,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9287", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", + "DC_phaA", + "local", "Tag" ], "tabs":[ @@ -2006,16 +2013,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2023,7 +2030,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "z_errCode", "Tag" ], "tabs":[ @@ -2042,21 +2049,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10257", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_hallA", - "local", + "task1", "Tag" ], "tabs":[ @@ -2070,16 +2075,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2087,7 +2092,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "VqFinPrev", "Tag" ], "tabs":[ @@ -2106,21 +2111,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", - "local", + "a_elecAngle", "Tag" ], "tabs":[ @@ -2134,16 +2137,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2151,7 +2154,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "r_inpTgt", "Tag" ], "tabs":[ @@ -2170,21 +2173,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9282", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_errCode", - "local", + "z_dir", "Tag" ], "tabs":[ @@ -2198,16 +2199,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2215,7 +2216,7 @@ "IconDisplay" ], "values":[ - "DC_phaA", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -2234,11 +2235,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2246,7 +2247,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "n_mot", "Tag" ], "tabs":[ @@ -2265,108 +2266,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F05_Control_Type_Management", - "label":"F05_Control_Type_Management", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10356", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "task3", + "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:9258", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2374,7 +2309,7 @@ "IconDisplay" ], "values":[ - "z_errCode", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -2393,21 +2328,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9284", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_hallC", - "local", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -2421,113 +2354,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F02_Diagnostics", - "label":"F02_Diagnostics", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "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:9930", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2535,7 +2371,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "i_phaAB", "Tag" ], "tabs":[ @@ -2554,21 +2390,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_devSignal1", - "local", "Tag" ], "tabs":[ @@ -2582,16 +2416,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10259", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2599,7 +2433,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "task2", "Tag" ], "tabs":[ @@ -2618,11 +2452,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2630,7 +2464,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "b_motEna", "Tag" ], "tabs":[ @@ -2649,11 +2483,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2661,7 +2495,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "b_motEna", "Tag" ], "tabs":[ @@ -2680,11 +2514,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Model_Info", - "label":"Model_Info", + "icon":"WebViewIcon1", + "name":"F06_Control_Type_Management", + "label":"F06_Control_Type_Management", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2777,118 +2611,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F01_Estimations", - "label":"F01_Estimations", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "on", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "b_hallB", + "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:9437", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", - "local", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -2902,24 +2668,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9276", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_hallB", + "i_phaBC", + "local", "Tag" ], "tabs":[ @@ -2933,16 +2701,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From33", + "label":"From33", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "DC_phaC", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10066", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F03_Control_Mode_Manager", - "label":"F03_Control_Mode_Manager", + "name":"F04_Field_Weakening", + "label":"F04_Field_Weakening", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -2994,7 +2793,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -3035,11 +2834,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9930", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3047,7 +2846,7 @@ "IconDisplay" ], "values":[ - "b_hallC", + "a_elecAngle", "Tag" ], "tabs":[ @@ -3066,11 +2865,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10191", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3078,7 +2877,7 @@ "IconDisplay" ], "values":[ - "r_devSignal2", + "task1", "Tag" ], "tabs":[ @@ -3097,66 +2896,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion7", - "label":"Data Type Conversion7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9288", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_devSignal1", + "n_mot", + "local", "Tag" ], "tabs":[ @@ -3170,7 +2924,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -3206,44 +2960,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9285", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "DC_phaB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F04_Field_Oriented_Control", - "label":"F04_Field_Oriented_Control", + "name":"F02_Diagnostics", + "label":"F02_Diagnostics", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3336,25 +3057,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"z_ctrlTypSel1", + "label":"z_ctrlTypSel1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_posRaw", - "Tag" + "z_ctrlTypSel", + "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" @@ -3362,16 +3101,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9278", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9285", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto24", + "label":"Goto24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3380,7 +3119,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "DC_phaB", "local", "Tag" ], @@ -3400,41 +3139,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10161", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Data Type Conversion5", - "label":"Data Type Conversion5", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "n_motAbs", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3442,112 +3165,142 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214", - "className":"Simulink.DataTypeConversion", - "icon":"WebViewIcon3", - "name":"Data Type Conversion4", - "label":"Data Type Conversion4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F01_Estimations", + "label":"F01_Estimations", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" - ], - "values":[ - "[]", - "[]", - "int16", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "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":[ - "Parameter Attributes", + "Main", "-Other" ], "tabs_idx":[ 0, - 7 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"i_DCLink", - "label":"i_DCLink", + "name":"Data Type Conversion7", + "label":"Data Type Conversion7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "9", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "int16", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -3556,66 +3309,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9280", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"i_phaAB", - "label":"i_phaAB", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "z_posRaw", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3623,79 +3342,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9300", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10160", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"DC_phaB", - "label":"DC_phaB", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "r_inpTgt", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3703,65 +3373,92 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"b_hallC", - "label":"b_hallC", + "name":"Data Type Conversion5", + "label":"Data Type Conversion5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "6", - "Port number", "[]", "[]", - "Inherit: auto", + "int16", "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Real World Value (RWV)", + "Floor", "off", - "", - "on", + "-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:8214", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion4", + "label":"Data Type Conversion4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" + ], + "values":[ + "[]", + "[]", + "int16", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -3770,16 +3467,59 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If2", + "label":"If2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3787,7 +3527,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "VqFinPrev", "Tag" ], "tabs":[ @@ -3806,11 +3546,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9283", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9270", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3819,7 +3559,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "b_hallA", "local", "Tag" ], @@ -3839,11 +3579,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9280", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_posRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9271", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3852,7 +3623,7 @@ "IconDisplay" ], "values":[ - "z_posRaw", + "r_devSignal1", "local", "Tag" ], @@ -3872,11 +3643,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9301", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"i_phaBC", - "label":"i_phaBC", + "name":"DC_phaC", + "label":"DC_phaC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3892,14 +3663,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "3", "Port number", "[]", "[]", @@ -3911,10 +3688,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -3934,65 +3718,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"b_hallA ", - "label":"b_hallA ", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "4", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "int16", "off", + "Real World Value (RWV)", + "Floor", "off", - "off" + "-1" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 7 ] }, "viewer":{ @@ -4001,45 +3765,84 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10158", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Goto6", + "label":"Goto6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_fieldWeak", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10749", + "className":"Simulink.Saturate", + "icon":"WebViewIcon3", + "name":"Saturation", + "label":"Saturation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ + "UpperLimit", + "LowerLimit", + "LinearizeAsGain", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ + "1700", + "-1700", + "on", "[]", "[]", - "int16", + "fixdt(1,16,4)", "off", - "Real World Value (RWV)", "Floor", - "off", - "-1" + "-1", + "on" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 3, + 8 ] }, "viewer":{ @@ -4048,16 +3851,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Saturate", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10155", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9305", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_devSignal1", + "label":"r_devSignal1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -4073,14 +3907,20 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "7", "Port number", "[]", "[]", @@ -4092,10 +3932,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -4115,55 +3962,70 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9456", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFinPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10154", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "2", - "Port number", + "CTRL_COM", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Inherit via back propagation", "off", - "off", - "off" + "inf" ], "tabs":[ "Main", @@ -4172,8 +4034,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -4182,47 +4044,161 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10065", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"b_hallB", - "label":"b_hallB", + "name":"Data Type Conversion2", + "label":"Data Type Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "5", - "Port number", "[]", "[]", - "Inherit: auto", + "fixdt(1,16,4)", "off", - "inherit", - "-1", - "Inherit", + "Real World Value (RWV)", + "Floor", + "on", + "-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:8206", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_hallC", + "label":"b_hallC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"i_DCLink", + "label":"i_DCLink", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "9", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", "-1", "auto", "off", @@ -4248,66 +4224,2163 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_hallB", + "label":"b_hallB", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F05_Field_Oriented_Control", + "label":"F05_Field_Oriented_Control", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "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:8204", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_hallA ", + "label":"b_hallA ", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "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:10139", + "className":"Simulink.If", + "icon":"WebViewIcon3", + "name":"If3", + "label":"If3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10156", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator1", + "label":"Relational Operator1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:8535", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F03_Control_Mode_Manager", + "label":"F03_Control_Mode_Manager", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "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:8203", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_inpTgt", + "label":"r_inpTgt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "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:8208", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"i_phaBC", + "label":"i_phaBC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "8", + "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:8202", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "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:9299", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"DC_phaA", + "label":"DC_phaA", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "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:9436", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From18", + "label":"From18", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_motStdStill", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"i_phaAB", + "label":"i_phaAB", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "7", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Implemented_control_methods", + "label":"Implemented_control_methods", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" + ], + "values":[ + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "off", + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From30", + "label":"From30", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_pos", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_motEna", + "label":"b_motEna", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "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:9272", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_devSignal2", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9281", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_hallB", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10157", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator1", + "label":"Logical Operator1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "Operator", + "Inputs", + "IconShape", + "AllPortsSameDT", + "OutDataTypeStr", + "SampleTime" + ], + "values":[ + "AND", + "3", + "rectangular", + "off", + "boolean", + "-1" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 5 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Logic", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10255", + "className":"Simulink.Logic", + "icon":"WebViewIcon3", + "name":"Logical Operator2", + "label":"Logical Operator2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9268#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:8469#out:2", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:8215#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:8214#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9290#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9251#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9260#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:8220#out:5", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9242#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9258#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9291#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9249#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9265#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9250#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9248#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9240#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:8210#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9244#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:9245#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "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:8201", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "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":{ @@ -4315,52 +6388,50 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9669", - "className":"Simulink.Saturate", - "icon":"WebViewIcon3", - "name":"Saturation2", - "label":"Saturation2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ - "UpperLimit", - "LowerLimit", - "LinearizeAsGain", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SampleTime", - "ZeroCross" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "1000", - "-1000", - "on", - "[]", - "[]", - "fixdt(1,16,4)", + "", "off", - "Floor", - "-1", - "on" + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, 3, - 8 + 5, + 7 ] }, "viewer":{ @@ -4368,13 +6439,11 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Saturate", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9268#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4425,7 +6494,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4476,7 +6545,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8215#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4527,7 +6596,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8214#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4578,7 +6647,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9290#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4629,7 +6698,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4680,7 +6749,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9251#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:6", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4731,7 +6800,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9260#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4782,7 +6851,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9294#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4833,7 +6902,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4884,7 +6953,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9242#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4935,7 +7004,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -4986,7 +7055,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9258#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:8", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5037,7 +7106,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9291#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5088,7 +7157,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9249#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5139,7 +7208,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9265#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5190,7 +7259,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9250#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5241,7 +7310,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9248#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5292,7 +7361,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9240#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5343,7 +7412,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8210#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5394,7 +7463,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9244#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5445,7 +7514,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5496,7 +7565,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9245#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5547,7 +7616,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9241#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5598,7 +7667,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9267#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5649,7 +7718,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9266#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5700,7 +7769,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5751,7 +7820,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8202#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:7", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5802,7 +7871,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5853,7 +7922,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5904,7 +7973,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5955,7 +8024,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6006,7 +8075,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9259#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6057,7 +8126,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6108,7 +8177,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8217#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6159,7 +8228,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6210,7 +8279,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9295#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9930#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6261,7 +8330,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8205#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6312,7 +8381,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6363,7 +8432,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8469#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6414,7 +8483,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8201#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6465,7 +8534,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8206#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6516,7 +8585,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9253#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6567,7 +8636,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9264#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6618,7 +8687,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6669,7 +8738,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10065#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6720,7 +8789,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9252#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10155#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6771,7 +8840,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8204#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10154#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6822,7 +8891,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10064#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6873,7 +8942,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9298#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10157#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6924,7 +8993,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9261#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6975,7 +9044,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9418#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7026,7 +9095,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9436#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7077,7 +9146,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9297#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7128,7 +9197,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8209#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10191#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7179,7 +9248,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10255#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7230,7 +9299,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9448#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10258#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7281,7 +9350,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8203#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10257#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7332,7 +9401,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9669#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10356#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7383,7 +9452,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9263#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10355#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7434,7 +9503,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9262#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10066#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7485,7 +9554,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9720#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10159#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7536,7 +9605,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10160#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7587,7 +9656,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10161#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7638,7 +9707,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9930#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10139#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7689,7 +9758,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9931#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10156#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7740,7 +9809,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8220#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10259#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7791,7 +9860,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9935#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10692#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7842,7 +9911,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10025#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8207#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7893,7 +9962,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10026#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10749#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7944,7 +10013,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10027#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10751#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7995,7 +10064,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8535#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8208#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_29_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_29_d.png index 1ce60afd74ab0dd4c06d62b1d3e1d878a99d9676..9f12b1dd3aacc040475dd0c0842de90e6cb2a101 100644 GIT binary patch literal 12762 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 - + - + @@ -54,7 +54,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -126,7 +126,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -150,7 +150,7 @@ - + @@ -158,7 +158,7 @@ - + @@ -166,7 +166,7 @@ - + @@ -174,7 +174,7 @@ - + @@ -182,7 +182,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -198,7 +198,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -214,7 +214,7 @@ - + @@ -222,7 +222,7 @@ - + @@ -230,7 +230,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -262,7 +262,7 @@ - + @@ -270,7 +270,7 @@ - + @@ -278,7 +278,7 @@ - + @@ -293,7 +293,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -317,7 +317,7 @@ - + @@ -325,7 +325,7 @@ - + @@ -340,7 +340,7 @@ - + @@ -348,7 +348,7 @@ - + @@ -356,7 +356,7 @@ - + @@ -364,7 +364,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -387,7 +387,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -403,7 +403,7 @@ - + @@ -411,7 +411,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -437,6 +437,65 @@ + + + + + + + + + + + + + Task1 + + + + + + + + : Diagnostics + Control_Manager + + + + + + + + Task2 + + + + + + + + : Field Weakening + Limitations + + + + + + + + Task3 + + + + + + + + : PI Controllers in FOC + + + + + + @@ -444,11 +503,11 @@ - - + + - + The rotor position is implemented based on the following table: @@ -468,11 +527,11 @@ - + - + 8 @@ -490,11 +549,11 @@ - - + + - + r_devSignal2 @@ -506,44 +565,44 @@ - - + + - + - + - - 7 + + 6 - + - - + + - - + + - - r_devSignal1 + + a_elecAngle @@ -554,44 +613,44 @@ - - + + - + - + - - 3 + + 5 - + - - + + - - + + - - DC_phaC + + n_mot @@ -602,44 +661,107 @@ - - - + + + - - + + - - + + - - z_ctrlTypSel + + 4 - - + + + + + + + + + + + + + + + + + z_errCode + + + + + + + + + + + + + + + + + + + + + + + + + + b_fieldWeakEna + + + + + + + + + + + + + + + + + + + + + + b_fieldWeakEna - - + + - - + + - - uint8 + + boolean @@ -651,42 +773,42 @@ - + - + - + - + b_diagEna - + - + - - + + - + boolean @@ -705,19 +827,19 @@ - + - + - + - + @@ -747,76 +869,141 @@ - - - + + + - - + + + + + + + + - + - - + + - - + + task1 - - + + - - + + task2 - - + + - - + + task3 + + + + - - - + + + + - - + + - + + + + + + + + + + + + + + + + + Task_Scheduler + - + + + + + + + + + + + + + + + + + boolean + - - - + + + + + + + + + + + + + + + + + boolean - - + + + + + + + + - - + + - - sfix16_En4 + + boolean @@ -827,45 +1014,51 @@ - - + + + + + + + + - + - + - + - + - + - + - + - + - + @@ -880,22 +1073,22 @@ - + - + - - + + - + sfix16_En4 @@ -907,43 +1100,98 @@ - - - - - - + + + - - - - - - - - - + + - - Implemented_control_methods + + MODEL INFO - - - - - - + + + + + + + Version: 1.1249 + + + + + + + + Author: Emanuel Feru + + + + + + + + Last modified by: eferu + + + + + + + + Last update: 12-dec-2019 20:22:14 + + + + + + + + Copyright © 2019-2020 Emanuel FERU - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -954,51 +1202,51 @@ - - + + - + - + - + u1 - + - + if(u1 ~= 0) - + - + - - + + - + action @@ -1020,19 +1268,19 @@ - + - + u1 - + - + if(u1 == CTRL_FOC) @@ -1050,11 +1298,11 @@ - - + + - + action @@ -1066,28 +1314,28 @@ - - + + - + - + - - [b_hallB] + + [z_dir] - + @@ -1109,11 +1357,11 @@ - + - + [z_ctrlTypSel] @@ -1142,11 +1390,11 @@ - + - + [b_motEna] @@ -1165,28 +1413,28 @@ - - + + - + - + - - [DC_phaA] + + [DC_phaC] - + @@ -1198,28 +1446,28 @@ - - + + - + - + - - [DC_phaC] + + [z_pos] - + @@ -1231,28 +1479,28 @@ - - + + - + - + - - [r_devSignal2] + + [task3] - + @@ -1264,29 +1512,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + 2 - - + + + + + + + + + + + + + + + + + DC_phaB @@ -1297,28 +1560,28 @@ - - + + - + - + - - [i_phaBC] + + [task1] - + @@ -1330,44 +1593,29 @@ - - - + + + - - + + - - + + - - 4 + + [task2] - - - - - - - - - - - - - - - - - z_errCode + + @@ -1378,28 +1626,28 @@ - - + + - + - + - - [a_elecAngle] + + [z_ctrlModReq] - + @@ -1411,28 +1659,28 @@ - - + + - + - + - - [z_dir] + + [a_elecAngle] - + @@ -1454,11 +1702,11 @@ - + - + [i_phaAB] @@ -1477,44 +1725,29 @@ - - - + + + - - + + - - + + - - 1 + + [n_motAbs] - - - - - - - - - - - - - - - - - DC_phaA + + @@ -1525,28 +1758,28 @@ - - + + - + - + - - [r_inpTgt] + + [b_motStdStill] - + @@ -1558,43 +1791,43 @@ - - + + - + - + - - [b_hallA] + + [z_ctrlTypSel] - + - + - - + + - + uint8 @@ -1606,43 +1839,43 @@ - - + + - + - + - - [z_ctrlTypSel] + + [b_hallA] - + - + - - + + - + uint8 @@ -1654,44 +1887,44 @@ - - + + - + - + - - [n_mot] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -1702,44 +1935,44 @@ - - + + - + - + - - [a_elecAngle] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En6 + + uint8 @@ -1750,44 +1983,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_devSignal2] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -1798,44 +2031,29 @@ - - - + + + - - + + - - + + - - [DC_phaC] + + [r_inpTgt] - - - - - - - - - - - - - - - - - int16 + + @@ -1846,92 +2064,44 @@ - - + + - + - + - - [DC_phaB] + + [b_motStdStill] - + - - - - - - - - - - int16 - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - - - - - - - - - - + + - - + + - - n_mot + + boolean @@ -1942,44 +2112,44 @@ - - + + - + - + - - [z_pos] + + [n_motAbs] - + - - + + - - + + - - int8 + + sfix16_En4 @@ -1990,44 +2160,44 @@ - - + + - + - + - - [VqFinPrev] + + [task2] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2038,44 +2208,44 @@ - - + + - + - + - - [a_elecAngle] + + [n_mot] - + - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -2086,44 +2256,29 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + [b_hallC] - - - - - - - - - - - - - - - - - boolean + + @@ -2134,44 +2289,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [a_elecAngle] - + - - + + - - + + - - uint8 + + sfix16_En6 @@ -2182,28 +2337,28 @@ - - + + - + - + - - [VqFinPrev] + + [z_errCode] - + @@ -2215,44 +2370,44 @@ - - + + - + - + - - [r_inpTgt] + + [DC_phaB] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -2263,44 +2418,44 @@ - - + + - + - + - - [n_motAbs] + + [DC_phaA] - + - - + + - - + + - - sfix16_En4 + + int16 @@ -2311,44 +2466,44 @@ - - - + + + - - + + - - + + - - 6 + + [b_hallC] - - + + - - - + + + - - + + - - a_elecAngle + + uint8 @@ -2359,43 +2514,76 @@ - - + + + + + + + + + + + + + + + + [DC_phaA] + + + + + + + + + + + + + + + + + + + - + - + - - [z_ctrlModReq] + + [z_errCode] - + - + - - + + - + uint8 @@ -2407,44 +2595,44 @@ - - + + - + - + - - [i_phaAB] + + [task1] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2455,29 +2643,44 @@ - - - + + + - - + + - - + + - - [b_hallA] + + [VqFinPrev] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2488,44 +2691,44 @@ - - + + - + - + - - [b_motEna] + + [a_elecAngle] - + - - + + - - + + - - boolean + + sfix16_En6 @@ -2536,29 +2739,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [r_inpTgt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2569,44 +2787,44 @@ - - + + - + - + - - [b_motEna] + + [z_dir] - + - - + + - - + + - - boolean + + int8 @@ -2617,29 +2835,44 @@ - - - + + + - - + + - - + + - - [z_errCode] + + [z_ctrlModReq] - - + + + + + + + + + + + + + + + + + uint8 @@ -2650,44 +2883,44 @@ - - + + - + - + - - [DC_phaA] + + [n_mot] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -2698,44 +2931,44 @@ - - + + - + - + - - [n_motAbs] + + [task3] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -2746,242 +2979,188 @@ - - - + + + - - - - - - - - + + - - - - - - b_enaAdvCtrl - - - - - - - - z_ctrlTypSel - - - - - - - - z_pos - - - - - - - - V_phaABC_FOC - - - - - - - - Vq - - - - + + - - r_inpTgtSca + + [r_fieldWeak] - - - - - - - a_elecAngle + + + + + + - - - - - - - z_dir + + + + + + - - + + - - n_motAbs + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - DC_phaA + + [r_fieldWeak] - - - - - - - DC_phaB + + + + + + - - - - - - - DC_phaC + + + + + + - - + + - - VqFinPrev + + sfix16_En4 - + + + + + + + + + + + + + + + - - - - + + + - - + + [i_phaAB] - - - - - - - - - - - - - - - - - F05_Control_Type_Management + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - int16 + + [r_devSignal1] - - - - - - - - - - - - - - - - - int16 + + + - - - - - - - - + + - - + + - - int16 + + sfix16_En4 @@ -2992,50 +3171,44 @@ - - - - - - - - + + - + - + - - [z_errCode] + + [task2] - + - - + + - - + + - - uint8 + + boolean @@ -3046,135 +3219,275 @@ - - - + + + - - + + - - + + - - [b_hallC] + + [b_motEna] - - + + - + + + + + + + + + + + boolean + + + + + - - - + + + + + + + + + + + + + + + + [b_motEna] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + - + - - + + - - + + - - z_posRaw + + b_enaAdvCtrl - - + + - - b_motStdStill + + z_ctrlTypSel - - + + - - VqFinPrev + + z_pos - - + + - - z_errCode + + V_phaABC_FOC - - + + - - b_errFlag + + Vq - - + + - - if { } + + r_inpTgtSca + + + + + + + + a_elecAngle + + + + + + + + z_dir + + + + + + + + r_fieldWeak + + + + + + + + DC_phaA + + + + + + + + DC_phaB + + + + + + + + DC_phaC + + + + + + + + VqFinPrev - + - - + + + + + + + + + + + + + + + + + + F06_Control_Type_Management + + + + + - - + + - - + + - - F02_Diagnostics + + sfix16_En4 @@ -3186,16 +3499,16 @@
- - + + - - + + - - action + + int16 @@ -3207,16 +3520,16 @@ - - + + - - + + - - boolean + + int16 @@ -3228,16 +3541,16 @@ - + - - + + - - uint8 + + int16 @@ -3248,50 +3561,50 @@ - + - + - + - + - - [a_elecAngle] + + [b_hallB] - + - - + + - - + + - - sfix16_En6 + + uint8 @@ -3302,29 +3615,44 @@ - - - + + + - - + + - - + + - - [r_devSignal1] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -3335,92 +3663,29 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + [i_phaBC] - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_mot] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3431,146 +3696,44 @@ - - + + - + - + - - [b_motStdStill] + + [DC_phaC] - + - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - MODEL INFO - - - - - - - - Version: 1.1212 - - - - - - - - Author: Emanuel Feru - - - - - - - - Last modified by: eferu - - - - - - - - Last update: 11-nov-2019 22:46:15 - - - - - - - - Copyright © 2019 Emanuel FERU - - - - - - - + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + int16 @@ -3581,9 +3744,9 @@ - - - + + + @@ -3591,98 +3754,50 @@ - - + + - - - - - - - b_hallA - - - - - - - - b_hallB - - - - - - - - b_hallC - - - - - - - - z_posRaw - - - - - - - - z_pos - - + - - z_dir + + z_ctrlTypSel - + - - n_mot + + r_inpTgt - + - - n_motAbs + + n_motAbs - + - - a_elecAngle + + r_fieldWeak - - - - - b_motStdStill - - - - + - - b_enaAdvCtrl + + if { } @@ -3694,8 +3809,8 @@ - - + + @@ -3707,16 +3822,16 @@ - - + + - - + + - - F01_Estimations + + F04_Field_Weakening @@ -3728,16 +3843,16 @@ - - + + - - + + - - boolean + + action @@ -3749,141 +3864,117 @@ - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - uint8 - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - - + + - - int8 + + [a_elecAngle] - - - - - - - - - - - - - - - - - int8 + + + - - - - - - - + - - + + - - sfix16_En4 + + sfix16_En6 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En6 + + [task1] + + + + + + + - - - - - - - + - - + + - + boolean @@ -3895,34 +3986,28 @@ - - - - - - - - + + - + - + - - [b_motStdStill] + + [n_mot] - + @@ -3934,44 +4019,44 @@ - - + + - + - + - - [b_hallB] + + [i_phaBC] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3982,168 +4067,165 @@ - - - + + + - + - - + + - - + + - - b_errFlag + + z_posRaw - - + + - + b_motStdStill - - - - - - b_motEna - - - - - - - - z_ctrlTypSel - - - - + + - - z_ctrlModReq + + VqFinPrev - - + + - - r_inpTgt + + z_errCode - - + + - - VqFinPrev + + b_errFlag - - + + - - z_ctrlMod + + if { } + + + + - - - + + + + - - r_inpTgtSca + + - + - + - - + + + + + + + + + + F02_Diagnostics - + - + - - + + - - + + - - F03_Control_Mode_Manager + + action - + - - + + - - + + - - uint8 + + boolean - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4154,49 +4236,49 @@ - + - + - - + + - - + + - - + + - - [b_hallC] + + z_ctrlTypSel - - + + - + - - + + - + uint8 @@ -4208,156 +4290,29 @@ - - - - - - - - - - - - - - - - [r_devSignal2] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int16 - - - - - - - - - - - - - + + + - - + + - - + + - - [r_devSignal1] + + [DC_phaB] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4368,43 +4323,43 @@ - - + + - + - + - - [i_phaBC] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -4416,240 +4371,225 @@ - - - - - - - - - - - - - - - - [DC_phaB] - - - - - - - - - - - - - - - - - - - - + + + - + - - + + - - - - - - b_enaAdvCtrl - - - - - - - - z_ctrlMod - - - - - - - - r_inpTgtSca - - - - + + - - b_motEna + + b_hallA - - + + - - n_mot + + b_hallB - - + + - - n_motAbs + + b_hallC - - + + - - a_elecAngle + + z_posRaw - - + + - - i_phaAB + + z_pos - - + + - - i_phaBC + + z_dir - - + + - - V_phaABC_FOC + + n_mot - - + + - - Vq + + n_motAbs - - + + - - r_devSignal1 + + a_elecAngle - - + + - - r_devSignal2 + + b_motStdStill - - + + - - if { } + + b_enaAdvCtrl - + - - + + - + - - + + - - + + - - F04_Field_Oriented_Control + + F01_Estimations - + - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + - - + + - - sfix16_En4 + + sfix16_En6 - + - + - - + + - + sfix16_En4 @@ -4657,41 +4597,41 @@ - + - - + + - - + + - - action + + boolean - + - + - - + + - + sfix16_En4 @@ -4699,21 +4639,42 @@ - + - - + + - - + + - - sfix16_En4 + + int8 + + + + + + + + + + + + + + + + + + + + + boolean @@ -4724,50 +4685,66 @@ - + - + - - + + - - + + - + - - + + - - [z_posRaw] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - uint8 + + int16 @@ -4778,28 +4755,28 @@ - - + + - + - + - - [n_motAbs] + + [z_posRaw] - + @@ -4809,6 +4786,54 @@ + + + + + + + + + + + + + + + + + + [r_inpTgt] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -4821,19 +4846,19 @@ - + - + - + - + @@ -4859,11 +4884,11 @@ - - + + - + int16 @@ -4885,19 +4910,19 @@ - + - + - + - + @@ -4923,11 +4948,11 @@ - - + + - + int16 @@ -4939,59 +4964,52 @@ - - - + + + - - + + - - + + - - 9 + + u1 - - - - - - + + + + + + + if(u1 ~= 0) - - - - - - - - - - - i_DCLink + + + - - + + - - + + - - int16 + + action @@ -5002,59 +5020,44 @@ - - - + + + - - + + - - + + - - 7 + + [VqFinPrev] - - - - - - - - - - - - - - - - - i_phaAB + + - - + + - - + + - - int16 + + sfix16_En4 @@ -5065,44 +5068,29 @@ - - - + + + - - + + - - + + - - 2 + + [b_hallA] - - - - - - - - - - - - - - - - - DC_phaB + + @@ -5113,59 +5101,77 @@ - - - + + + - - + + - - + + - - 6 + + [z_posRaw] - - + + - - - + + + - - + + - - b_hallC + + uint8 - - - - + + + + + + + + + + + + + + + - - + + - - uint8 + + [r_devSignal1] + + + + + + + @@ -5176,44 +5182,44 @@ - - - + + + - - + + - - + + - - [z_dir] + + 3 - - + + - - - + + + - - + + - - int8 + + DC_phaC @@ -5224,29 +5230,60 @@ - - - + + + - - + + - + - - + + - - [z_pos] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + int16 @@ -5257,28 +5294,28 @@ - - + + - + - + - - [z_posRaw] + + [r_fieldWeak] - + @@ -5290,59 +5327,76 @@ - - - + + + - - + + - + - - + + - - 8 + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - i_phaBC + + + + + + + - - + + - - + + - - int16 + + sfix16_En4 @@ -5353,58 +5407,43 @@ - - - + + + - - + + - - + + - - 4 + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - b_hallA + + - + - - + + - + uint8 @@ -5416,30 +5455,159 @@ - - + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + r_devSignal1 + + + + + + + + + + + + + + + + + + + + + + + + + + [VqFinPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CTRL_COM + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + - + - + - + - - + + - - + + @@ -5453,23 +5621,23 @@ - + - - + + - - + + - - int16 + + sfix16_En4 @@ -5480,59 +5648,59 @@ - - + + - + - + - - 3 + + 6 - + - - + + - - + + - - r_inpTgt + + b_hallC - + - - + + - - int16 + + uint8 @@ -5543,59 +5711,59 @@ - - + + - + - + - - 2 + + 9 - + - - + + - - + + - - z_ctrlModReq + + i_DCLink - + - - + + - - uint8 + + int16 @@ -5616,11 +5784,11 @@ - + - + 5 @@ -5638,11 +5806,11 @@ - - + + - + b_hallB @@ -5653,11 +5821,11 @@ - - + + - + uint8 @@ -5667,1198 +5835,2744 @@ - + + + + + + + + + + + + + + + + + + + + + + + + b_enaAdvCtrl + + + + + + + + z_ctrlMod + + + + + + + + r_inpTgtSca + + + + + + + + task2 + + + + + + + + task3 + + + + + + + + b_motEna + + + + + + + + n_mot + + + + + + + + n_motAbs + + + + + + + + r_fieldWeak + + + + + + + + a_elecAngle + + + + + + + + i_phaAB + + + + + + + + i_phaBC + + + + + + + + V_phaABC_FOC + + + + + + + + Vq + + + + + + + + r_devSignal1 + + + + + + + + r_devSignal2 + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F05_Field_Oriented_Control + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + b_hallA + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + u1 + + + + + + + + if(u1 ~= 0) + + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + b_errFlag + + + + + + + + b_motStdStill + + + + + + + + b_motEna + + + + + + + + z_ctrlTypSel + + + + + + + + z_ctrlModReq + + + + + + + + r_inpTgt + + + + + + + + VqFinPrev + + + + + + + + z_ctrlMod + + + + + + + + r_inpTgtSca + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F03_Control_Mode_Manager + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + r_inpTgt + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + i_phaBC + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + z_ctrlModReq + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + DC_phaA + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + i_phaAB + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implemented_control_methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_pos] + + + + + + + + + + + + + + + + + + + + + + int8 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + b_motEna + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [r_devSignal2] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_hallB] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - 1 - - + + + - - - - - - + + - - - - - - - - - - - b_motEna - - + + + + + + + + + - - - - - - - - - - - - boolean - - + + - + - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + + + + + - - - + + - - - - - + + + + + + + + + - - - - - - - - - - - - sfix16_En4 - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + + + + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + - + - - - - - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + + + + - + + + + + - + - + + + + + - + - + - - - - + 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 8593e2e1bffe71827050444e33b89f09a0b1911e..71ba30cb001fe2e8860775db3c910df3bc10dfa4 100644 GIT binary patch delta 20 bcmaDM`9gAnHYX2{usDB2ov8FilPx>|L4XCr delta 20 bcmaDM`9gAnHYc|nySZ#`3`gWflPx>|L?;Fs 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 46320df..d81e028 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8220_d.json @@ -1351,6 +1351,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8467", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "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":[ + "6", + "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:8468", "className":"Simulink.Outport", @@ -1432,11 +1512,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9933", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1465,7 +1545,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "3", "Port number", "[]", "[]", @@ -1512,11 +1592,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8467", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9433", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1545,7 +1625,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "6", + "7", "Port number", "[]", "[]", @@ -1592,11 +1672,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"z_posRaw", + "label":"z_posRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1625,7 +1705,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -1672,11 +1752,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1685,7 +1765,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "z_posRaw", "local", "Tag" ], @@ -1705,37 +1785,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8458", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "z_counterRaw", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1743,7 +1813,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Goto", "masktype":"" } }, @@ -1781,11 +1851,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1794,7 +1864,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "a_elecAngle", "local", "Tag" ], @@ -1814,11 +1884,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8449", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -1827,7 +1897,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "z_dirPrev", "local", "Tag" ], @@ -1846,6 +1916,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:8437", "className":"Simulink.From", @@ -1877,6 +1978,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8435", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From21", + "label":"From21", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_counter", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8432", "className":"Simulink.From", @@ -1971,11 +2103,11 @@ } }, { - "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":[ @@ -1983,7 +2115,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_dir", "Tag" ], "tabs":[ @@ -2002,91 +2134,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8463", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", + "className":"Simulink.From", "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":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8436", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2210,11 +2262,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8434", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2222,7 +2274,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "z_pos", "Tag" ], "tabs":[ @@ -2241,11 +2293,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9932", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2253,7 +2305,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "n_motAbs", "Tag" ], "tabs":[ @@ -2272,21 +2324,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8461", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8446", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_dirPrev", - "local", + "z_posRaw", "Tag" ], "tabs":[ @@ -2300,24 +2350,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8429", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "n_motAbs", + "local", "Tag" ], "tabs":[ @@ -2331,32 +2383,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8460", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8466", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "z_posRaw", - "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" @@ -2364,7 +2463,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, @@ -2402,50 +2501,21 @@ } }, { - "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:8446", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8450", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_posRaw", + "b_enaAdvCtrl", + "local", "Tag" ], "tabs":[ @@ -2459,32 +2529,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8451", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8462", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "n_motAbs", - "local", - "Tag" + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2492,16 +2572,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8431", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9932", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8220", "inspector":{ "params":[ @@ -2509,7 +2589,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "z_dir", "Tag" ], "tabs":[ @@ -2527,86 +2607,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9933", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", - "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":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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 d8e6a914c42ac6373241e26d3810e9a3fe53b20c..0813437beb96a6c7f10abeb7ead042bd25292f27 100644 GIT binary patch delta 9842 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 oUkqy~!Gu-DKllIrNy~Jm(*1d - + @@ -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 @@ - + @@ -1239,16 +1239,16 @@ - - + + - + - - int16 + + sfix16_En4 @@ -1260,16 +1260,16 @@ - - + + - + - - int16 + + boolean @@ -1281,15 +1281,15 @@ - + - + - + sfix16_En4 @@ -1302,16 +1302,16 @@ - - + + - + - - sfix16_En4 + + int16 @@ -1323,16 +1323,16 @@ - - + + - + - - boolean + + int16 @@ -1344,15 +1344,15 @@ - + - + - + boolean @@ -1372,7 +1372,7 @@ - + @@ -1789,11 +1789,11 @@ - - + + - + @@ -1803,30 +1803,30 @@ - - 8 + + 6 - + - - + + - + - - b_enaAdvCtrl + + a_elecAngle @@ -1837,11 +1837,11 @@ - - + + - + @@ -1851,30 +1851,30 @@ - - 7 + + 8 - + - - + + - + - - b_motStdStill + + b_enaAdvCtrl @@ -1885,11 +1885,11 @@ - - + + - + @@ -1899,30 +1899,30 @@ - - 6 + + 3 - + - - + + - + - - a_elecAngle + + z_dir @@ -1933,11 +1933,11 @@ - - + + - + @@ -1947,30 +1947,30 @@ - - 5 + + 7 - + - - + + - + - - n_motAbs + + b_motStdStill @@ -1981,29 +1981,44 @@ - - - + + + - - + + - + - - [z_counterRaw] + + 1 - - + + + + + + + + + + + + + + + + + z_posRaw @@ -2014,52 +2029,62 @@ - - - + + + - - + + - - - - - - - u1 - - + - - if(u1 ~= 0) + + [z_posRaw] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - action + + [z_counterRaw] + + + + + + + @@ -2080,11 +2105,11 @@ - + - + [b_motStdStill] @@ -2103,28 +2128,28 @@ - - + + - + - + - - [b_enaAdvCtrl] + + [a_elecAngle] - + @@ -2136,28 +2161,28 @@ - - + + - + - + - - [a_elecAngle] + + [z_dirPrev] - + @@ -2169,43 +2194,43 @@ - - + + - + - + - - [b_enaAdvCtrl] + + [b_motStdStill] - + - + - - + + - + boolean @@ -2217,43 +2242,43 @@ - - - + + + - + - + - + [b_enaAdvCtrl] - + - + - - + + - + boolean @@ -2265,44 +2290,44 @@ - - + + - + - + - - [z_dirPrev] + + [z_counter] - + - - + + - - + + - - int8 + + int16 @@ -2313,44 +2338,44 @@ - - + + - + - + - - [a_elecAngle] + + [b_enaAdvCtrl] - + - - + + - - + + - - sfix16_En6 + + boolean @@ -2361,44 +2386,44 @@ - - + + - + - + - - [z_counter] + + [z_dirPrev] - + - - + + - - + + - - int16 + + int8 @@ -2409,44 +2434,92 @@ - - - + + + - - + + - - + + - - 1 + + [a_elecAngle] - - + + - - - + + + - - + + - - z_posRaw + + sfix16_En6 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + int8 @@ -2467,11 +2540,11 @@ - + - + [z_counterRaw] @@ -2489,11 +2562,11 @@ - + - + int16 @@ -2507,7 +2580,7 @@ - + @@ -2521,51 +2594,51 @@ - + - + z_pos - + - + z_dir - + - + z_counter - + - + z_counterRaw - + - + b_enaAdvCtrl - + - + a_elecAngle @@ -2595,11 +2668,11 @@ - + - + F01_05_Electrical_Angle_Estimation @@ -2616,11 +2689,11 @@ - + - + sfix16_En6 @@ -2632,49 +2705,49 @@ - + - + - + - + - - [z_dir] + + [z_pos] - + - + - - + + - + int8 @@ -2686,77 +2759,44 @@ - - + + - + - + - - [z_dir] + + [n_motAbs] - + - - - - - - - - - - int8 + + - - - - - - - - - - - - - - - - - - - - + + - - [z_dirPrev] - - - - - - - + + sfix16_En4 @@ -2767,77 +2807,44 @@ - - + + - + - + - - [n_motAbs] + + [z_posRaw] - + - - + + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - + - - [z_posRaw] - - - - - - - + + uint8 @@ -2848,11 +2855,11 @@ - - + + - + @@ -2862,14 +2869,14 @@ - - [z_counter] + + [n_motAbs] - + @@ -2881,44 +2888,44 @@ - - - + + + - - + + - + - - [b_motStdStill] + + 5 - - + + - - - + + + - + - - boolean + + n_motAbs @@ -2929,44 +2936,29 @@ - - - + + + - - + + - + - - [z_posRaw] + + [z_counter] - - - - - - - - - - - - - - - - - uint8 + + @@ -2977,28 +2969,28 @@ - - + + - + - + - - [n_motAbs] + + [b_enaAdvCtrl] - + @@ -3010,44 +3002,52 @@ - - - + + + - - + + + + + + + + + u1 + - + - - [z_pos] + + if(u1 ~= 0) - - + + - - + + - + - - int8 + + action @@ -3058,44 +3058,44 @@ - - - + + + - - + + - + - - 3 + + [z_dir] - - + + - - - + + + - + - - z_dir + + int8 @@ -3666,5 +3666,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 f519bf5..c8375ba 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: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:8233", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8231", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "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 8c476d4..af607fa 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 @@ -440,11 +440,11 @@ - - + + - + @@ -454,7 +454,7 @@ - + @@ -462,7 +462,7 @@ - + @@ -470,7 +470,7 @@ - + @@ -478,7 +478,7 @@ - + @@ -493,37 +493,37 @@ - + - + - + - + uint8 - + - + - + Ini=0 @@ -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 b683674..3a394a6 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8235_d.svg @@ -768,5 +768,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json index a26d20f..07f089d 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8247_d.json @@ -674,11 +674,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8260", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "inspector":{ "params":[ @@ -693,7 +693,7 @@ ], "values":[ "0", - "Inherited", + "Elements as channels (sample based)", "-1", "", "", @@ -724,11 +724,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8259", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8260", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8247", "inspector":{ "params":[ @@ -743,7 +743,7 @@ ], "values":[ "0", - "Elements as channels (sample based)", + "Inherited", "-1", "", "", 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 1261d78..b9bcf3c 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 @@ -220,32 +220,32 @@ + + + + + + + + + + + - + - + boolean - - - - - - - - - - - @@ -828,11 +828,11 @@ - - + + - + @@ -842,7 +842,7 @@ - + @@ -850,7 +850,7 @@ - + @@ -858,7 +858,7 @@ - + @@ -866,7 +866,7 @@ - + @@ -881,37 +881,22 @@ - + - - - - - - - - - - - Ini=0 - - - - - + - - + + - + int8 @@ -923,45 +908,45 @@ - - + + - + - + - + - + - + - + - + - + - + @@ -976,22 +961,37 @@ - + + + + + + + + + + + + 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 3173dc2..f3ddefb 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.json @@ -685,11 +685,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counterRaw", - "label":"z_counterRaw", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -718,7 +718,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", + "6", "Port number", "[]", "[]", @@ -731,9 +731,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -765,11 +765,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -798,7 +798,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "5", "Port number", "[]", "[]", @@ -845,11 +845,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8378", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"z_counterRaw", + "label":"z_counterRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -878,7 +878,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -891,9 +891,9 @@ "auto", "off", "off", - "[]", + "0", "off", - "held", + "reset", "off", "0", "", @@ -924,55 +924,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"z_maxCntRst2", - "label":"z_maxCntRst2", - "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:8373", "className":"Simulink.Constant", @@ -1127,50 +1078,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", + "InitialCondition", + "InputProcessing", "SampleTime", - "Threshold", - "ZeroCross" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", "0", - "on" + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ "Main", - "Signal Attributes", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 9 + 3, + 4 ] }, "viewer":{ @@ -1179,42 +1123,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8366", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "InitialCondition", + "InputProcessing", "SampleTime", - "ZeroCross" + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - ">", - "off", - "boolean", - "Simplest", + "z_maxCntRst", + "Inherited", "-1", - "on" + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ "Main", - "Data Type", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 1, + 3, 4 ] }, @@ -1224,16 +1173,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8377", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1262,7 +1211,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "5", + "3", "Port number", "[]", "[]", @@ -1309,25 +1258,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8311", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "name":"Relational Operator9", + "label":"Relational Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "2", - "bar" + "<", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1335,32 +1298,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8366", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "b_motStdStill", - "local", - "Tag" + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Main", + "Data Type", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1368,27 +1343,82 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8369", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "dz_trnsDet", - "local", - "Tag" + "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:8312", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux2", + "label":"Mux2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -1401,16 +1431,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8311", "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Mux3", - "label":"Mux3", + "name":"Mux1", + "label":"Mux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1437,11 +1467,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1450,7 +1480,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "n_mot", "local", "Tag" ], @@ -1470,43 +1500,75 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8370", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8305", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "dz_trnsDet", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8374", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"z_maxCntRst2", + "label":"z_maxCntRst2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ "z_maxCntRst", - "Inherited", - "-1", - "", - "", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - [ - ], - "Auto" + "inf" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, 3, - 4 + 7 ] }, "viewer":{ @@ -1515,16 +1577,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1533,7 +1595,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_dirPrev", "local", "Tag" ], @@ -1553,20 +1615,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8312", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "n_motAbs", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -1579,24 +1643,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "dz_trnsDet", + "n_motRaw", + "local", "Tag" ], "tabs":[ @@ -1610,16 +1676,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1627,7 +1693,7 @@ "IconDisplay" ], "values":[ - "b_edge", + "n_motAbs", "Tag" ], "tabs":[ @@ -1646,11 +1712,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8294", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1658,7 +1724,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "dz_trnsDet", "Tag" ], "tabs":[ @@ -1720,11 +1786,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":[ @@ -1732,7 +1798,7 @@ "IconDisplay" ], "values":[ - "n_motRaw", + "z_counterRaw", "Tag" ], "tabs":[ @@ -1751,11 +1817,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8289", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1763,7 +1829,7 @@ "IconDisplay" ], "values":[ - "z_dirPrev", + "b_edge", "Tag" ], "tabs":[ @@ -1782,39 +1848,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9428", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator9", - "label":"Relational Operator9", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "<", - "off", - "boolean", - "Simplest", - "-1", - "on" + "n_motRaw", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1822,24 +1874,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9427", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_dir", + "b_motStdStill", + "local", "Tag" ], "tabs":[ @@ -1853,26 +1907,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8301", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8285", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "z_dirPrev", - "local", "Tag" ], "tabs":[ @@ -1886,16 +1938,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8300", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1904,7 +1956,7 @@ "IconDisplay" ], "values":[ - "n_motAbsPrev", + "b_enaAdvCtrl", "local", "Tag" ], @@ -1924,11 +1976,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8284", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -1986,25 +2038,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9425", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8376", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "n_motAbs", - "Tag" + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2012,16 +2113,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8293", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8282", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2029,7 +2130,7 @@ "IconDisplay" ], "values":[ - "n_motRaw", + "z_dir", "Tag" ], "tabs":[ @@ -2048,11 +2149,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8306", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8303", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2061,7 +2162,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "n_motAbsPrev", "local", "Tag" ], @@ -2081,11 +2182,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8286", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"From17", + "label":"From17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2093,7 +2194,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_counterRawPrev", "Tag" ], "tabs":[ @@ -2112,171 +2213,56 @@ } }, { - "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:8286", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From29", + "label":"From29", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "n_motAbs", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8379", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"b_enaAdvCtrl", - "label":"b_enaAdvCtrl", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "n_motAbs", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2284,48 +2270,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8270", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8313", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", + "name":"Mux3", + "label":"Mux3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "Inputs", + "DisplayOption" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "2", + "bar" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2333,16 +2301,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2350,7 +2318,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "b_edge", "Tag" ], "tabs":[ @@ -2369,11 +2337,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2381,7 +2349,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "z_counterRaw", "Tag" ], "tabs":[ @@ -2400,41 +2368,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "-1", - "on" + "z_counter", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2442,16 +2394,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8280", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9426", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2459,7 +2411,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "b_motStdStill", "Tag" ], "tabs":[ @@ -2478,44 +2430,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8371", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8275", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "z_counter", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2523,16 +2456,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8291", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8281", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2540,7 +2473,7 @@ "IconDisplay" ], "values":[ - "z_counterRaw", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -2559,25 +2492,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8276", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8270", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Constant4", + "label":"Constant4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_counter", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2585,38 +2536,133 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8292", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "z_cntInit" ], "values":[ - "n_motAbs", - "Tag" + "z_maxCntRst" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Raw_Motor_Speed_Estimation", + "label":"Raw_Motor_Speed_Estimation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", "masktype":"" } }, @@ -2688,50 +2734,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "z_cntInit" - ], - "values":[ - "z_maxCntRst" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8299", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9477", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", - "local", + "n_motRaw", "Tag" ], "tabs":[ @@ -2745,30 +2760,46 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8278", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8268", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "b_edge", - "Tag" + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2776,16 +2807,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8298", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8297", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", "inspector":{ "params":[ @@ -2794,7 +2825,7 @@ "IconDisplay" ], "values":[ - "n_motRaw", + "z_counter", "local", "Tag" ], @@ -2813,37 +2844,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8277", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8263", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_counterRaw", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8310", "className":"Simulink.Logic", 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 1e31fce1904a51fda1948470f768b7dd65254bac..a2c92c3a0901a0e7a3ce6c376f62ca724aa8dd8f 100644 GIT binary patch literal 8107 zcmd^k`#;lf+`p&@p$IugAvquBOgSZIV%D4wIiC-6CLc*iswJ@yLJp(FNJ7OzP7TA% zA%vJ&n)C6#y1zeu|AhO8+2b*LT<>eI>-Bn`u5>Gln`fE%nCa-~&fYRMumSJg|6WX| z!Cy42wh+9X2{FDCPDjVq`R{ci=NcP79i6b#ErT1j(XS{|4gsj`! z7q#?lRh8&{Sk7#y@I4Mx-bn){!SfuKB8;!!|8eQWIlZ+1GatCcPBOm3*E+QrwK{jX zW8V3X$x^ni+1EZXDf^fxSWoPm?MM^;b}2)~vzPJLw=Dkg0LZhR%f(hq6~nib`A)qi z2GGl^tM_zvo;*A}6wr!(lAeCXOq`R{7)ajv*p)4ubh%3o(j+6yVQ3wqCct|3>9tE=uEKURm|MTuLU?}eQl`O=~T03wtHQELxn6>HIPsk>j+AU@G+y~uV;j{?#@pJ z(WgxPUdZNV^>`iO{cS3BrCE^S@4&CiNl8m=WjI5`{^3Dxfu;h=tZ!goE=28Re!iad z^G0?mq1yh;N%}|G*~31{zbTZvgN533(z3FD`;-P<717i;oA`a*uRSqdi_9OKyu21O zMpn#M2;vzxzPLkNv3%nyE2myB9-hD_Q$7#nF}xU%!oVKQcV#Q7sf};#)z{a@ACg@p zIGFy-3m?CX*BP8@iK-kUuTHh(;&6r;xRNb+FK#~656h=h#GdlyUWueK%6yu@Q5uO?%p7onYTcN<$}VI z(j$^kRNqo{0FCt0+@AN(oyrlr+D_(2o9b5gTHPe%SewT-3$%hUaaO(cEF ztg0~K5u2*jA2-S#j#0jlHyfvx)}#OI#tW#2y`gM@^KRQC)V&X1vPfLdba7SY3vG5> zoxo=9?#6s_mPZFfN~DZO{Wuf@fhs|I?_xsE5ht9~V~jzA@vG`g$NH3rWdeXdhb zRz9h(|Hg8ah9L^}l@nj1DbtQ0q@}ZC9CT zZUZ}YdAQ;tAD<|9=F=X}iTn_Bd0~mYkap zynM(^5)ZyLZeN5uGu1L-<+hV{lgIVx_PE@n53xC6vR%_{I@20q_c0g+S(i355sue3 zm2}ro7Q%@;m!2Bm@9DYa9J_qwk&zf(p4kKNCCX9|k%FL*T2$oDr5ixCY6*)cLt3U* z$1(bvvWC`gq19>y7L!4$b?rwQ6&3|^e`Y%-+Y%h&vTUUcD{Vy!Ed0$ya(i(Fno;t+ ztOtv#?Xz(+`$9P;hU78HjIZgO5_G@GWKcR+EIbc|>R1RU7vbv;;i|l>el9B*7^{cEgY|Lt z=By)d)$d@_-Cp$*gW=)f($dnetE6&F?&9urcq%GDAfpHejRG$O zg4@s<{IF|l*y#5uCfVe=_KYm7dW5B$Al0qGxYD zX-lHX))o$kJr`u4H${ek2QF|H?VL=$zEpUG42q8z$i)3OLzT!eu|`9EAt+D;Ec~vk z>%GFl!mfmuB`lS;Cgdb8=2M{XMMoPInmW#^;5p~22_M(I@Lmvg^>k3e0LX9vq{mb7 z^U%<<*w)7-l7XhSFRtbGj_U~3L{E&6BZH~c(8w4gU&%9T>`wu|CahUtAuP|P@_vaVV8DY!-Pw?r zj-b0*<5bPZs|Zr!NMBsdet8I)+sy1<@2RZQ;{iX{rKc7VDR?Ht{?M@m(yBU{2tWXa zHqDMw`#FC_mA}|g7HLsITIBcg@)EkEw7x|l0acPPu(DYedT1+^Iu#_r#q66fJi0XG zsdz5SNIhyz01MB;YS>MO?^VsE)CNel*U>!vl017dN4nkSJ&>EnhE#xh8^k4?Er zGhW2Xw}nVe!DEXW@PsF>@*h?XZkm?a;0w+rjldJ$n)`ZsF1N=~CY%2@;_+KW zJ@$s*| zPu@jL>wGhi9{h9trHM`{|C7hwPhisDW{$R0>67UosI&i&<;|mLrf*%Bp5F7~d}Z<0 z_O&g25xY%gnNmv6NenMnrl~iNVe+)|hwR<|di;-Byf@qFt!kCu-O2rmwK`&rbJ>Y9 zZPHy->NWx=ZDwInQYB?ndM>-G0~~;+PMgQ|Q4*9h+eoKKqQD|*6PDeT(nTB8fBEmX z17u6OLnUf`ubZ$CP-v{%pfScU+3ybWLP)8C*R*-vmBPxOUpJwTS%K zT>4Dc;&Y3Ni@dx5SDp?oRTBK3n_QV&SF@-93bRXTP^(lM5f=80NW2pO;V0Cq_UzX%zcG8C0+4XrT0huMp zD8`p{x+(bRoX47Z22P^~C&kwCH2GmEI^9l^t9v0V8=X#o_soVh8<*K|Wf}$&^rUjW zQn%+r)Oh*%hv}bLRDdbl*xCZan1x#okKg;goo77yn|)9Im_*ySuPJwN;_v>A7rjfg z=e-Lm!WC6g$=83jaa-yHO-0y@m8w*Y`@H4NI;|zElsuio8I~Ql5gHH>fa_d^zo^SW zy?W(2)0SX1L3y>jKjT^N>kid?z%mvxlTZ1u;d%Sy8x_?PfABYjF@Yq=;^Jb%CKPQk z@)ubE+MR>RhvodW9A>sOhPtupv*O^SZDezomzRs3>uy)t{$5_bVP|JippjZ4`C%$( z%3@;pv(K4l_RjQ5yk=6%D_y1$H3d-wS=Xr%d+ptN
    OL8%#>iwd{ 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 literal 8126 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8263_d.svg index d38b73d..5ef2244 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 @@ -88,7 +88,7 @@ - + @@ -681,11 +681,11 @@ - - + + - + @@ -695,30 +695,30 @@ - - 4 + + 6 - + - - + + - + - - z_counterRaw + + b_enaAdvCtrl @@ -729,11 +729,11 @@ - - + + - + @@ -743,30 +743,30 @@ - - 3 + + 5 - + - - + + - + - - z_counter + + b_motStdStill @@ -777,11 +777,11 @@ - - + + - + @@ -791,78 +791,30 @@ - - 2 + + 4 - + - - + + - - - - - n_motAbs - - - - - - - - - - - - - - - - - - - - - - - - - - z_maxCntRst - - - - - - - - - - - - - - - - - - + - - int16 + + z_counterRaw @@ -883,11 +835,11 @@ - + - + z_maxCntRst @@ -905,11 +857,11 @@ - + - + int16 @@ -931,11 +883,11 @@ - + - + n_stdStillDet @@ -953,11 +905,11 @@ - + - + n_stdStillDet @@ -968,11 +920,11 @@ - + - + sfix16_En4 @@ -994,51 +946,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -1064,11 +1016,11 @@ - + - + n_commDeacv @@ -1079,11 +1031,11 @@ - + - + boolean @@ -1095,188 +1047,234 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 + + + + + + + - - + + - - + + Ini=0 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - + + Ini=z_maxCntRst - - - - - - - + + + + + + - - + + - - T + + int16 + + + + + + + + + + + + + + + + + + - - + + - - F + + 3 - - + + - - - + + + - - + + - - sfix16_En4 + + z_counter @@ -1287,30 +1285,30 @@ - - - + + + - + - + - + - + - - + + @@ -1324,22 +1322,22 @@ - + - + - - + + - + boolean @@ -1351,92 +1349,60 @@ - - - + + + - - + + - + - - + + - - 5 - - - - - - - - - - - - - - + + - - + + - - b_motStdStill + + - - - - - - - - - - - - + + - - - - - - - - - - + + - - + + - - + + - - int16 + + boolean @@ -1447,271 +1413,188 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [dz_trnsDet] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - [b_enaAdvCtrl] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - int16 + + - - - - - - + + + + + + + T - - + + - - Ini=z_maxCntRst + + F - - - - - - - - - - - - + + + + + - + + + + - - + + - - [z_counter] - - - - - - - + + sfix16_En4 @@ -1732,11 +1615,11 @@ - + - + @@ -1754,11 +1637,11 @@ - + - + sfix16_En4 @@ -1770,44 +1653,44 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + - - + + - - + + - - + + - - boolean + + int16 @@ -1818,44 +1701,62 @@ - - - + + + - - + + - - + + - - [b_edge] + + [n_mot] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [dz_trnsDet] + + + + + + + @@ -1866,44 +1767,44 @@ - - - + + + - - + + - - + + - - [b_enaAdvCtrl] + + z_maxCntRst - - + + - - + + - - + + - - boolean + + int16 @@ -1914,52 +1815,95 @@ - - - + + + - - + + - - + + - - u1 + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - if(u1 ~= 0) + + [n_motAbs] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - action + + [n_motRaw] + + + + + + + @@ -1970,43 +1914,43 @@ - - + + - + - - + + - - [n_motRaw] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -2018,44 +1962,44 @@ - - + + - + - - + + - - [z_dirPrev] + + [dz_trnsDet] - + - - + + - - + + - - int8 + + boolean @@ -2066,60 +2010,52 @@ - - - + + + - - + + - + - - + + - - + + u1 - - + + - - + + if(u1 ~= 0) - - - - - - - - - - + + - - + + - - + + - - boolean + + action @@ -2130,44 +2066,44 @@ - - + + - + - - + + - - [z_dir] + + [z_counterRaw] - + - - + + - - + + - - int8 + + int16 @@ -2178,62 +2114,44 @@ - - - + + + - - + + - - + + - - [z_dirPrev] + + [b_edge] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [n_motAbsPrev] - - - - - - - + + boolean @@ -2244,44 +2162,44 @@ - - + + - + - + - - [b_enaAdvCtrl] + + [n_motRaw] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -2292,44 +2210,29 @@ - - - + + + - - + + - - + + - - [n_motAbsPrev] + + [b_motStdStill] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2340,44 +2243,44 @@ - - + + - + - - + + - - [n_motAbs] + + [z_dirPrev] - + - - + + - - + + - - sfix16_En4 + + int8 @@ -2388,44 +2291,29 @@ - - - + + + - - + + - - + + - - [n_motRaw] + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2436,29 +2324,44 @@ - - - + + + - - + + - - + + - - [n_mot] + + [b_enaAdvCtrl] - - + + + + + + + + + + + + + + + + + boolean @@ -2469,43 +2372,43 @@ - - + + - + - - + + - - [n_motAbs] + + [n_motAbsPrev] - + - + - - + + - + sfix16_En4 @@ -2517,202 +2420,125 @@ - - - + + + - - - - - - - - + + - - - - - - z_dir - - - - - - - - z_dirPrev - - - - - - - - z_counterRawPrev - - - - - - - - n_motAbsPrev - - - - - - - - z_counter - - - - - - - - dz_trnsDet - - - - - - - - n_motRaw - - - - + + - - if { } + + 2 - - - - - - - - + + - - - - - - - - + + - - + + - - Raw_Motor_Speed_Estimation + + n_motAbs - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [z_dir] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - + + - - + + - - action + + int8 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - int16 + + [n_motAbsPrev] + + + + + + + @@ -2723,50 +2549,44 @@ - - - - - - - - - + + + - - + + - - + + - - 6 + + [z_counterRawPrev] - - + + - - - + + + - - + + - - b_enaAdvCtrl + + int16 @@ -2777,43 +2597,43 @@ - - - + + + - - + + - - + + - - 0 + + [n_motAbs] - - + + - + - - + + - + sfix16_En4 @@ -2825,44 +2645,44 @@ - - + + - + - + - - [z_counter] + + [n_motAbs] - + - - + + - - + + - - int16 + + sfix16_En4 @@ -2873,43 +2693,43 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + - - + + - + - - + + - + boolean @@ -2921,76 +2741,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - - - - - - - - + - - + + [b_edge] - - - - - - - - - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -3001,43 +2789,43 @@ - - + + - + - - + + - - [z_counterRawPrev] + + [z_counterRaw] - + - + - - + + - + int16 @@ -3049,91 +2837,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_counter] - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 + + - - + + - - + + - - sfix16_En4 + + int16 @@ -3144,44 +2885,44 @@ - - + + - + - + - - [z_counterRaw] + + [b_motStdStill] - + - - + + - - + + - - int16 + + boolean @@ -3192,43 +2933,43 @@ - - + + - + - + - + [z_counter] - + - + - - + + - + int16 @@ -3240,44 +2981,44 @@ - - + + - + - + - - [n_motAbs] + + [b_enaAdvCtrl] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -3288,59 +3029,44 @@ - - - + + + - - + + - - + + - - 3 + + 0 - - - - - - - - - - - - - - - - - z_dirPrev + + - - + + - - + + - - int8 + + sfix16_En4 @@ -3353,7 +3079,7 @@ - + @@ -3361,155 +3087,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3527,74 +3253,280 @@ - + - + Counter - - - + + + + + + + + + + + int16 + + + + + + + + + + + + + + + Ini=z_maxCntRst + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + z_dir + + + + + + + + z_dirPrev + + + + + + + + z_counterRawPrev + + + + + + + + n_motAbsPrev + + + + + + + + z_counter + + + + + + + + dz_trnsDet + + + + + + + + n_motRaw + + + + + + + + if { } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Raw_Motor_Speed_Estimation + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + - - + + - - Ini=z_maxCntRst + + action - - + + + + + + + + - - + + - - int16 + + boolean - + - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + sfix16_En4 @@ -3605,29 +3537,65 @@ - - - + + + + + + + + + - - + + - - + + - - [n_motAbs] + + 3 - - + + + + + + + + + + + + + + + + + z_dirPrev + + + + + + + + + + + + + + + int8 @@ -3638,44 +3606,44 @@ - - + + - + - + - - [b_edge] + + [n_motRaw] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -3686,29 +3654,76 @@ - - - + + + - - + + - + - - + + - - [n_motRaw] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3719,44 +3734,29 @@ - - - + + + - - + + - - + + - - [z_counterRaw] + + [z_counter] - - - - - - - - - - - - - - - - - int16 + + @@ -3769,7 +3769,7 @@ - + @@ -3799,32 +3799,32 @@ + + + + + + + + + + + - + - + boolean - - - - - - - - - - - @@ -4627,5 +4627,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg index 4c103af..a8e112e 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_2515_d.svg @@ -15,7 +15,7 @@ - + @@ -486,32 +486,32 @@ - - - + + + - + - - Ini=initVal + + int16 - - - + + + - + - - int16 + + Ini=initVal @@ -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 d19e756..cefe63f 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json @@ -79,35 +79,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2515", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"rst_Delay", - "label":"rst_Delay", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "z_cntInit" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2416", "className":"Simulink.Sum", @@ -168,60 +139,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2414", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2415", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"rst", - "label":"rst", + "name":"MinMax", + "label":"MinMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "OutMax", + "OutMin", + "RndMeth", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "3", - "Port number", + "Inherit: Inherit via internal rule", + "min", + "off", + "2", + "off", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", + "Floor", "-1", - "auto", "off", - "", - "on", - "off", - "off", - "off" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -230,7 +187,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"MinMax", "masktype":"" } }, @@ -302,46 +259,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2415", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8272:2414", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"MinMax", - "label":"MinMax", + "name":"rst", + "label":"rst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8272", "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", + "3", + "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":{ @@ -350,7 +321,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Inport", "masktype":"" } }, @@ -421,6 +392,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: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 277ed10..fbd08f4 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,131 +61,132 @@ - - - + + + - - + + - + - - u + + - + - - rst + + - + - - y + + - - - - - 1 - - - - - - - - z - - - - + - - + + - - + + - - - + + + - - + + - - Ini=z_cntInit + + int16 - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - int16 + + - + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + int16 @@ -196,67 +197,58 @@ - - - + + + - - + + - - + + - - + + 2 - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - - - - - - - - + + max - + - - + + - + int16 @@ -278,11 +270,11 @@ - + - + 3 @@ -300,11 +292,11 @@ - + - + rst @@ -315,11 +307,11 @@ - + - + boolean @@ -331,58 +323,58 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - max + + inc - + - - + + - + int16 @@ -394,127 +386,135 @@ - - - + + + - - + + - + - - + + - - + + u - - + + - - + + rst - - - - - - - - - - - - - - + + + + + + + y - - - - - - + + + + + + + 1 - - + + - - int16 + + z - - - - - - - - - - - - - - - - - - - - + + - - 1 + + - - + + - - - + + + - - + + - - inc + + Ini=z_cntInit - - + + - - + + - + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.json index bbf134b..f808cad 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,72 +245,51 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"dz_trnsDet", - "label":"dz_trnsDet", + "name":"g_Ha", + "label":"g_Ha", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "2", - "Port number", + "4", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, + 8, 11 ] }, @@ -320,57 +299,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8357", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"g_Ha", - "label":"g_Ha", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "4", - "Element-wise(K.*u)", + "u2 ~= 0", + "on", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: Inherit via internal rule", "off", - "Zero", + "Floor", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 1, + 9 ] }, "viewer":{ @@ -379,48 +356,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"UnitDelay5", - "label":"UnitDelay5", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Criteria", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "Threshold", + "ZeroCross" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "u2 ~= 0", + "on", + "[]", + "[]", + "Inherit: Inherit via internal rule", "off", - [ - ], - "Auto" + "Floor", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 1, + 9 ] }, "viewer":{ @@ -429,16 +413,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8351", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay3", - "label":"UnitDelay3", + "name":"UnitDelay2", + "label":"UnitDelay2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -484,11 +468,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8352", "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"UnitDelay1", - "label":"UnitDelay1", + "name":"UnitDelay3", + "label":"UnitDelay3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -534,68 +518,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8348", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" - ], - "values":[ - "u2 ~= 0", - "on", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "off", - "off", - "-1", - "0", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Switch", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8359", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_motRaw", - "label":"n_motRaw", + "name":"dz_trnsDet", + "label":"dz_trnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -624,7 +551,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -671,53 +598,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8342", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Sum7", - "label":"Sum7", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "rectangular", - "+-", - "on", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "cf_speedCoef", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -725,16 +626,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8347", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Switch3", + "label":"Switch3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -787,51 +688,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8349", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8341", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Switch3", - "label":"Switch3", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "u2 ~= 0", - "on", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "off", - "Floor", - "off", - "off", - "-1", - "0", - "on" + "dz_trnsDet", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -839,58 +716,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8345", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Sum13", - "label":"Sum13", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "rectangular", - "++++", - "on", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "z_counterRawPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -898,44 +749,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "n_motAbsPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -943,16 +782,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "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":[ @@ -961,7 +800,7 @@ "IconDisplay" ], "values":[ - "cf_speedCoef", + "z_dirPrev", "local", "Tag" ], @@ -981,11 +820,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":[ @@ -994,7 +833,7 @@ "IconDisplay" ], "values":[ - "dz_trnsDet", + "z_dir", "local", "Tag" ], @@ -1014,44 +853,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8351", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"UnitDelay2", - "label":"UnitDelay2", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", - "off", - [ - ], - "Auto" + "z_dir", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1059,26 +879,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8340", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_counterRawPrev", - "local", + "cf_speedCoef", "Tag" ], "tabs":[ @@ -1092,32 +910,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8339", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8350", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"UnitDelay1", + "label":"UnitDelay1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "n_motAbsPrev", - "local", - "Tag" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1125,79 +960,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"z_counter", - "label":"z_counter", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "z_maxCntRst", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "z_dir", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1205,54 +991,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"dz_cntTrnsDet", - "label":"dz_cntTrnsDet", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "dz_cntTrnsDetHi", - "dz_cntTrnsDetLo", - "1", - "0", - "Elements as channels (sample based)", - "[]", - "[]", - "boolean", - "off", - "-1", - "on" + "z_dirPrev", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 5, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1260,16 +1022,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1277,7 +1039,7 @@ "IconDisplay" ], "values":[ - "n_motAbsPrev", + "z_counter", "Tag" ], "tabs":[ @@ -1296,11 +1058,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8332", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1308,7 +1070,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "cf_speedCoef", "Tag" ], "tabs":[ @@ -1327,25 +1089,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8331", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8358", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"z_counter", + "label":"z_counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "cf_speedCoef", - "Tag" + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "z_maxCntRst", + "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" @@ -1353,30 +1164,44 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8328", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8344", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "z_counter", - "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" @@ -1384,30 +1209,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"Divide13", + "label":"Divide13", "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", + "[]", + "[]", + "fixdt(1,16,4)", + "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" @@ -1415,24 +1266,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8325", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "cf_speedCoef", + "z_counter", + "local", "Tag" ], "tabs":[ @@ -1446,45 +1299,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8360", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Divide14", - "label":"Divide14", + "name":"n_motRaw", + "label":"n_motRaw", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "*/", - "Element-wise(.*)", - "off", + "3", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "1", - "All dimensions", - "-1" + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -1494,7 +1370,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -1503,16 +1379,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8330", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8333", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1520,7 +1396,7 @@ "IconDisplay" ], "values":[ - "z_dir", + "n_motAbsPrev", "Tag" ], "tabs":[ @@ -1570,11 +1446,11 @@ } }, { - "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":[ @@ -1588,12 +1464,12 @@ "FramePeriod" ], "values":[ - "cf_speedCoef", + "0", "on", "inf", "[]", "[]", - "fixdt(0,16,0)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -1619,50 +1495,97 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8323", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide13", - "label":"Divide13", + "name":"Divide11", + "label":"Divide11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "**", + "Element-wise(.*)", + "off", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Product", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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", "[]", "[]", - "fixdt(1,16,4)", + "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":{ @@ -1671,16 +1594,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1688,7 +1611,7 @@ "IconDisplay" ], "values":[ - "z_counter", + "z_counterRawPrev", "Tag" ], "tabs":[ @@ -1707,11 +1630,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8321", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8319", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8355", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Constant4", - "label":"Constant4", + "name":"cf_speedCoef", + "label":"cf_speedCoef", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1725,12 +1679,12 @@ "FramePeriod" ], "values":[ - "0", + "cf_speedCoef", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(0,16,0)", "off", "inf" ], @@ -1756,42 +1710,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8319", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8326", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8335", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -1799,7 +1722,7 @@ "IconDisplay" ], "values":[ - "z_counterRawPrev", + "z_counter", "Tag" ], "tabs":[ @@ -1818,40 +1741,48 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8320", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8356", + "className":"Simulink.Relay", "icon":"WebViewIcon3", - "name":"Abs2", - "label":"Abs2", + "name":"dz_cntTrnsDet", + "label":"dz_cntTrnsDet", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ + "OnSwitchValue", + "OffSwitchValue", + "OnOutputValue", + "OffOutputValue", + "InputProcessing", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", "SampleTime", "ZeroCross" ], "values":[ + "dz_cntTrnsDetHi", + "dz_cntTrnsDetLo", + "1", + "0", + "Elements as channels (sample based)", "[]", "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", + "boolean", "off", "-1", "on" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 5, + 9 ] }, "viewer":{ @@ -1860,48 +1791,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Relay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8318", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"n_motAbsPrev", + "label":"n_motAbsPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "0", - "Inherited", + "4", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", + "Inherit", + "-1", + "auto", + "off", "", - "", + "on", "off", - [ - ], - "Auto" + "off", + "off" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 11 ] }, "viewer":{ @@ -1910,32 +1858,58 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8336", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8346", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Sum7", + "label":"Sum7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "z_dir", - "local", - "Tag" + "rectangular", + "+-", + "on", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Same as first input", + "off", + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1943,30 +1917,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8329", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8354", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"UnitDelay5", + "label":"UnitDelay5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "z_dirPrev", - "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" @@ -1974,32 +1967,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8338", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8353", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "z_dirPrev", - "local", - "Tag" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2007,7 +2017,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, @@ -2079,51 +2089,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8322", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8327", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide11", - "label":"Divide11", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "z_counter", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2131,16 +2115,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8318", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_motAbsPrev", - "label":"n_motAbsPrev", + "name":"z_dirPrev", + "label":"z_dirPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -2163,7 +2147,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "2", "Port number", "[]", "[]", @@ -2203,27 +2187,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8337", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8324", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Divide14", + "label":"Divide14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "z_counter", - "local", - "Tag" + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(1,16,4)", + "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" @@ -2231,16 +2239,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8316", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_dirPrev", - "label":"z_dirPrev", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "inspector":{ "params":[ @@ -2263,7 +2271,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -2303,50 +2311,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8315", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8345", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"Sum13", + "label":"Sum13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8314", "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":[ - "1", - "Port number", + "rectangular", + "++++", + "on", + "Inherit: Inherit via internal rule", "[]", "[]", - "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", @@ -2356,7 +2356,7 @@ "tabs_idx":[ 0, 2, - 11 + 10 ] }, "viewer":{ @@ -2365,7 +2365,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Sum", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8314_d.png index 2d23817c0f06fb95476a8d9e9bc99a551beb4e7a..d9c67cde3cb67c5099cec6ff560bf4fe23339ffb 100644 GIT binary patch delta 872 zcmaFk^u}pJzckyy1PzUd4U?xzUuD^xe*V$sJei%0^?Nwx*G8%Ei7>TRXPsH|PH&%| z+T@+t4x45aSoC+RC!c@J)EOb%EX za^YnOt8VX&E*ZO;3dgIQ-MJ3RVYZr6c{99ZSyRN?4=a9c&<#AaUgN`u+Q2+P%UUfhwC1Zdh?KtJkeLzxH*sw|&FA`aH8T1Ct|ZSJi}a zrsXIUq?fHd$Z%)RNw!B7^S+vCPF?feLuR|d%!u>BcIVl?f2lHa3p{0;o87>)iRaQw zlcbFjZfM%7loVlH1!-Z;Z#8qdm~f?`+!3WtR_Ft(>yy-recCC%k}R&&pg?>|4Lg zWTwyO{@61%M^B~PsDFQ(y`+Sp%$nOjRCKqp+`Ih@42(jaE{-8{pGPtrJ9Z;CN|*ci z5tiB9s%<_i_ZVC0&FhT^)3-sYG!ik z;Njv>G}2ILIkBKY07al4LxjEp-ngBH+aW#w`BS&0|Bbb2Sj+$fp00i_>zopr0PXR2 A3;+NC delta 668 zcmV;N0%QH`LhM4Yj~fO~rz==(x096{)dX|r&f&9e9Jv91tQt7`v`8E%1Pb@mm|5Lj ze4R`tbJu`mG2w6+kw^qaqY;Tj0$QyWu~-Ziiv`JKvS8)nlGW9*uZ3918-D|Y11Q0Z z^!3PKFu>__;(Oow9@JlM5SmJ*3aY!GJ9iEjFJ8oRyr zpjNA4v)RCZaUA;l`&ar`yYJoiEy!#<&o8)2i6|bAqpz{^2X zxOtNe#PK}qZBi;(?~yoeVKT9vr+l6b?&X~beNjEsydeR*so z!n#Yv-lTMz4bJ&|Y+x>#1V%^Mn1w>Yx>D0=_Oo6u8=IIpptwPLlh(?884&TpclPAK z#fnCMqxj^LPjL3^S-kVkJ4;)iec-^{w=bl;&|KF}6pkgK!g0%F_H^{Qrl-eZF=;FX zV5f7{)zyVh)ZNWm4soC@lVM*r8+)@)O|dys6&37M%4lTM(0hAXKrEI!gL>jX-SjjY z)3|+`&C*S$fptan-59sIs>~44G1SXLMXV9XoRdICQA^%v=J1 zT9A#c*!4#|&Tgl0%!>j-hzuG@CzBxoc#;8H7XKe2b7%uRr5}s{0000 - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - dz_trnsDet - - - - - - - - @@ -278,11 +230,11 @@ - + - + 4 @@ -300,11 +252,11 @@ - + - + uint16 @@ -316,186 +268,204 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - int16 + + - - - - - - + + + + + + + - - + + - - Ini=0 + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + T - - + + - - + + F - - - - - - - - - - + + - - - + + + - - + + - - Ini=0 + + sfix16_En4 - - - + + + - - + + - - int16 + + threshold=0 + Criteria : u2 ~= 0 @@ -506,282 +476,187 @@ - - - + + + - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=0 - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + T - - + + - + F - - + + - + - - + + - + threshold=0 Criteria : u2 ~= 0 @@ -789,15 +664,15 @@ - + - - + + - + sfix16_En4 @@ -809,316 +684,267 @@ - - - - - - - - - - - - - - - - 3 - - + + + - - - - - - + + - - - - + - - + + - - n_motRaw + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - + - - + + - + int16 + + + + + + + + + + + Ini=0 + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - + + - - + + Ini=0 - - - - - - - + + + + + + - - + + - - T + + int16 + + + + + + + + + + + + + + + + + + - - + + - - F + + 2 - - + + - - - + + + - - + + - - sfix16_En4 + + dz_trnsDet + + + + + + + + + + + + + + - - - - - + + - - threshold=0 - Criteria : u2 ~= 0 + + [cf_speedCoef] + + + + + + + @@ -1131,7 +957,7 @@ - + @@ -1139,155 +965,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -1300,33 +1126,66 @@ + + + + + + + + + + + sfix16_En4 + + + + - + - + threshold=0 Criteria : u2 ~= 0 - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [dz_trnsDet] + + + + + + + @@ -1337,100 +1196,224 @@ - - - + + + - - + + - - + + - - + + [z_counterRawPrev] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [n_motAbsPrev] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [z_dirPrev] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [z_dir] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [z_dir] + + + + + + + + + + + + + + - - + + - - + + int8 + + + + + + + + + + + + + + + + + + - - + + - - + + [cf_speedCoef] - - + + - - + + - - + + - - int16 + + uint16 @@ -1441,30 +1424,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -1478,56 +1477,86 @@ - - + + - + - - + + - + boolean + + + + + + + + + + + Ini=0 + + + + - - - + + + - - + + - - + + - - [cf_speedCoef] + + [z_dir] - - + + + + + + + + + + + + + + + + + int8 @@ -1538,29 +1567,44 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + [z_dirPrev] - - + + + + + + + + + + + + + + + + + int8 @@ -1571,157 +1615,92 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [z_counter] - - - - - - - - - - + + - + - - + + - + int16 - - - - - - - - - - - Ini=0 - - - - - - - + + + - - + + - - + + - - [z_counterRawPrev] + + [cf_speedCoef] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [n_motAbsPrev] - - - - - - - + + uint16 @@ -1742,11 +1721,11 @@ - + - + 1 @@ -1764,11 +1743,11 @@ - + - + z_counter @@ -1780,62 +1759,30 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -1849,37 +1796,22 @@ - - - - - - - - - - - - - - - - - dz_cntTrnsDet + + - + - - + + - + boolean @@ -1891,43 +1823,68 @@ - - - + + + - - + + - - + + - - [n_motAbsPrev] + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1939,44 +1896,77 @@ - - - + + + - - + + - - + + - - [z_dir] + + [z_counter] - - + + - - - + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + - - + + - - int8 + + n_motRaw @@ -1987,44 +1977,44 @@ - - + + - + - + - - [cf_speedCoef] + + [n_motAbsPrev] - + - - + + - - + + - - uint16 + + sfix16_En4 @@ -2035,44 +2025,44 @@ - - + + - + - + - - [z_counter] + + [dz_trnsDet] - + - - + + - - + + - - int16 + + boolean @@ -2083,44 +2073,44 @@ - - - + + + - - + + - - + + - - [z_counter] + + 0 - - + + - - + + - - + + - - int16 + + sfix16_En4 @@ -2131,44 +2121,52 @@ - - - + + + - - + + - - + + + + + + + + + + - - [cf_speedCoef] + + - - + + - - + + - - + + - - uint16 + + sfix16_En4 @@ -2179,69 +2177,76 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -2252,44 +2257,44 @@ - - + + - + - - + + - - [z_dir] + + [z_counterRawPrev] - + - - + + - - + + - - int8 + + int16 @@ -2300,44 +2305,44 @@ - - - + + + - - + + - - + + - - [dz_trnsDet] + + if { } - - + + - - - + + + - - + + - - boolean + + Action Port @@ -2358,11 +2363,11 @@ - + - + cf_speedCoef @@ -2380,11 +2385,11 @@ - + - + cf_speedCoef @@ -2395,11 +2400,11 @@ - + - + uint16 @@ -2409,79 +2414,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -2494,11 +2426,11 @@ - + - + [z_counter] @@ -2516,11 +2448,11 @@ - + - + int16 @@ -2532,44 +2464,107 @@ - - - + + + - - + + - + - - + + - - 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + dz_cntTrnsDet - - + + - - + + - - sfix16_En4 + + boolean @@ -2580,92 +2575,59 @@ - - - + + + - - + + - - + + - - if { } + + 4 - - + + - - - - - - - - - - Action Port + + - - - - - - - - - - - - - - - - - - - - + + - - [z_counterRawPrev] - - - - - - - + + n_motAbsPrev - - + + - - + + - - int16 + + sfix16_En4 @@ -2676,75 +2638,59 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - + - - + + - + int16 @@ -2756,45 +2702,45 @@ - - - + + + - + - + - + - + - + - + - + - + - + @@ -2809,37 +2755,37 @@ - + - + - - + + - + Ini=0 - + - - + + - + int16 @@ -2851,110 +2797,91 @@ - - - + + + - - + + - + - - + + - - [z_dir] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + - - [z_dirPrev] + + + + + + + + + + - - - - + - - - - - - - - - - - int8 - + - - - - - - - - - - - - + + + + + - - - + + + + + + - - [z_dirPrev] + + Ini=0 - - - + + + + + + + + + + + int16 @@ -2975,11 +2902,11 @@ - + - + 3 @@ -2997,11 +2924,11 @@ - + - + z_counterRawPrev @@ -3012,11 +2939,11 @@ - + - + int16 @@ -3028,52 +2955,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [z_counter] - - + + - - + + - - + + - - sfix16_En4 + + int16 @@ -3084,59 +3003,59 @@ - - + + - + - + - - 4 + + 2 - + - - + + - - + + - - n_motAbsPrev + + z_dirPrev - - + + - - + + - - sfix16_En4 + + int8 @@ -3147,29 +3066,69 @@ - - - + + + - - + + - - + + - - [z_counter] + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3180,58 +3139,58 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - z_dirPrev + + z_dir - + - - + + - + int8 @@ -3243,59 +3202,100 @@ - - - + + + - - + + - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - z_dir + + + + + + + + + - - + + - + - - int8 + + int16 @@ -3308,7 +3308,7 @@ - + @@ -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 da6db52..f51d3b8 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 @@ -1000,42 +1000,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "IconShape", - "Inputs", + "Criteria", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "rectangular", - "++", + "u2 ~= 0", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "fixdt(1,16,12)", + "Inherit: Inherit via back propagation", "off", - "Simplest", + "Zero", "off", - "1", - "All dimensions", - "-1" + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -1044,8 +1042,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 1, + 9 ] }, "viewer":{ @@ -1054,51 +1052,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9664", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8417", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", + "IconShape", "Inputs", - "LockScale", - "OutMax", + "InputSameDT", + "AccumDataTypeStr", "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", "SaturateOnIntegerOverflow", - "ZeroCross" + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Inherit: Inherit via internal rule", - "max", - "off", - "2", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Floor", - "-1", + "fixdt(1,16,12)", "off", - "on" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 10 ] }, "viewer":{ @@ -1107,7 +1111,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Sum", "masktype":"" } }, @@ -1165,11 +1169,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1178,7 +1182,7 @@ "IconDisplay" ], "values":[ - "z_posLowRes", + "b_enaAdvCtrl", "local", "Tag" ], @@ -1229,74 +1233,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"From5", + "label":"From5", "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" + "a_elecAngle", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1304,7 +1259,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, @@ -1340,11 +1295,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8400", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1352,7 +1307,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "z_posLowRes", "Tag" ], "tabs":[ @@ -1371,21 +1326,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8412", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "b_enaAdvCtrl", - "local", "Tag" ], "tabs":[ @@ -1399,30 +1352,52 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8398", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9664", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" ], "values":[ - "z_posLowRes", - "Tag" + "Inherit: Inherit via internal rule", + "max", + "off", + "2", + "off", + "[]", + "[]", + "Floor", + "-1", + "off", + "on" ], "tabs":[ - "Parameter Attributes" + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1430,16 +1405,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8397", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1447,7 +1422,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "z_posHighRes", "Tag" ], "tabs":[ @@ -1466,73 +1441,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_enaAdvCtrl", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8395", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_posHighRes", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8394", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ @@ -1615,6 +1528,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8421", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8393", "className":"Simulink.Product", @@ -1672,39 +1665,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_posHighRes", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8392", "className":"Simulink.Product", @@ -1763,40 +1723,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8418", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9665", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "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", @@ -1805,8 +1757,8 @@ ], "tabs_idx":[ 0, - 1, - 9 + 3, + 7 ] }, "viewer":{ @@ -1815,7 +1767,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"Constant", "masktype":"" } }, @@ -1887,43 +1839,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9665", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8396", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "b_enaAdvCtrl", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1931,7 +1865,73 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8410", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_posLowRes", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8411", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8384", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "z_posHighRes", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", "masktype":"" } }, 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 106c8971da0900e594cd6f030e52eee2986a0c96..c801a162390df692494b9c65e65600e968b18e9c 100644 GIT binary patch delta 6061 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 B7%>0< diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg index bcdc24e..4bf2a94 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8384_d.svg @@ -296,7 +296,7 @@ - + @@ -585,7 +585,7 @@ - + @@ -705,7 +705,7 @@ - + @@ -1192,67 +1192,187 @@ - - - + + + - - + + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - + - - + + - + sfix16_En12 @@ -1264,59 +1384,67 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - + - - + + - + sfix16_En12 @@ -1338,19 +1466,19 @@ - + - + - + - + @@ -1376,11 +1504,11 @@ - + - + int16 @@ -1392,28 +1520,28 @@ - - + + - + - + - - [z_posLowRes] + + [b_enaAdvCtrl] - + @@ -1435,11 +1563,11 @@ - + - + [z_counterRaw] @@ -1457,11 +1585,11 @@ - + - + int16 @@ -1473,44 +1601,44 @@ - - - + + + - - + + - - + + - - 1 + + [a_elecAngle] - - + + - - - + + + - - + + - - a_elecAngle + + sfix16_En6 @@ -1531,11 +1659,11 @@ - + - + [z_dir] @@ -1553,11 +1681,11 @@ - + - + int8 @@ -1569,44 +1697,44 @@ - - + + - + - + - - [a_elecAngle] + + [z_posLowRes] - + - - + + - - + + - - sfix16_En6 + + int8 @@ -1617,77 +1745,44 @@ - - - + + + - - + + - - + + - + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - - - - - - - - - - - - [z_posLowRes] - - - - - - + - - + + - - + + - - int8 + + boolean @@ -1698,92 +1793,60 @@ - - - + + + - - + + - + - - + + - - [b_enaAdvCtrl] - - - - - - - - - - - - - - + + - - + + - - boolean + + - - - - - - - - - - - - + + - - - - - - - [b_enaAdvCtrl] - - - + + - - + + - - + + - - boolean + + sfix16_En12 @@ -1804,11 +1867,11 @@ - + - + [z_posHighRes] @@ -1826,11 +1889,11 @@ - + - + sfix16_En12 @@ -1844,7 +1907,7 @@ - + @@ -1852,19 +1915,19 @@ - + - + - + - + @@ -1882,11 +1945,11 @@ - + - + sfix16_En14 @@ -1908,11 +1971,11 @@ - + - + [z_counter] @@ -1930,11 +1993,11 @@ - + - + int16 @@ -1946,52 +2009,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 1 - - + + - - - + + + - - + + - - sfix16_En6 + + a_elecAngle @@ -2002,29 +2057,52 @@ - - - + + + - - + + - - + + - - [z_posHighRes] + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En6 @@ -2037,7 +2115,7 @@ - + @@ -2045,35 +2123,35 @@ - + - + - + - + - + - + - + - + @@ -2092,11 +2170,11 @@ - + - + sfix16_En14 @@ -2108,187 +2186,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - + - - F + + 0 - - + + - + - - + + - + sfix16_En12 @@ -2310,11 +2244,11 @@ - + - + 5 @@ -2332,11 +2266,11 @@ - + - + b_enaAdvCtrl @@ -2347,11 +2281,11 @@ - + - + boolean @@ -2363,44 +2297,110 @@ - - - + + + - - + + - - + + - - 0 + + [b_enaAdvCtrl] - - + + - - + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_posLowRes] + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - sfix16_En12 + + [z_posHighRes] + + + + + + + @@ -2911,5 +2911,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.json index c394ab0..58bb7db 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 @@ -505,9 +505,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -603,51 +603,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8521", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"g_Hb1", - "label":"g_Hb1", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "4", - "Element-wise(K.*u)", + "2", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "Simplest", "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 ] }, @@ -657,164 +678,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"g_Hb", - "label":"g_Hb", + "name":"Switch1", + "label":"Switch1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "2", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Simplest", + "u2 ~= 0", "off", "[]", "[]", - "Inherit: Inherit via internal rule", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Gain", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", + "Inherit: Inherit via back propagation", "off", - "", + "Zero", "off", "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", "-1", - "", - "off", - "" + "0", + "on" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 1, + 9 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Either edge detection" + "blocktype":"Switch", + "masktype":"" } }, { @@ -875,38 +797,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Relational Operator7", - "label":"Relational Operator7", + "name":"Sum", + "label":"Sum", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", + "IconShape", + "Inputs", "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", - "ZeroCross" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - ">", + "rectangular", + "+++", + "off", + "Inherit: Same as first input", + "[]", + "[]", + "Inherit: Same as first input", "off", - "boolean", "Simplest", - "-1", - "on" + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 10 ] }, "viewer":{ @@ -915,7 +851,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Sum", "masktype":"" } }, @@ -965,50 +901,142 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8515", - "className":"Simulink.Switch", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Criteria", + "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:8521", + "className":"Simulink.Gain", + "icon":"WebViewIcon3", + "name":"g_Hb1", + "label":"g_Hb1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "u2 ~= 0", - "off", + "4", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: Same as input", "off", - "Zero", + "Simplest", "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 8, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Gain", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9404", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator7", + "label":"Relational Operator7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + ">", "off", + "boolean", + "Simplest", "-1", - "0", "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, 1, - 9 + 4 ] }, "viewer":{ @@ -1017,16 +1045,98 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Switch", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8509", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9395", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto27", + "label":"Goto27", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFinPrev", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:8508", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1038,7 +1148,7 @@ "ZeroCross" ], "values":[ - "~=", + "==", "off", "boolean", "Simplest", @@ -1067,63 +1177,65 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8527", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Port", - "IconDisplay", + "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:8525", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"t_errQual", + "label":"t_errQual", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "2", - "Port number", + "t_errQual", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", + "Inherit: Inherit via back propagation", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -1132,8 +1244,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -1142,49 +1254,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "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", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_errCodeRaw", + "Tag" ], "tabs":[ - "Main", - "State Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1192,58 +1334,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8514", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Sum", - "label":"Sum", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "rectangular", - "+++", - "off", - "Inherit: Same as first input", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "z_errCodeRaw", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 10 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1251,26 +1365,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "z_errCodePrev", - "local", "Tag" ], "tabs":[ @@ -1284,26 +1396,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_errFlag", - "local", + "z_errCodePrev", "Tag" ], "tabs":[ @@ -1317,26 +1427,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9397", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto22", - "label":"Goto22", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", - "local", + "z_posRaw", "Tag" ], "tabs":[ @@ -1350,79 +1458,143 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8525", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"t_errQual", - "label":"t_errQual", + "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":[ - "t_errQual", + "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:8493", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Data Type Conversion3", + "label":"Data Type Conversion3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "b_errFlag", - "Tag" + "[]", + "[]", + "uint8", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1430,16 +1602,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8491", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1447,7 +1619,7 @@ "IconDisplay" ], "values":[ - "z_errCodeRaw", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1466,25 +1638,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", + "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "VqFinPrev", - "Tag" + "[]", + "[]", + "uint8", + "off", + "Real World Value (RWV)", + "Floor", + "off", + "-1" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1492,24 +1680,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"DataTypeConversion", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9400", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_motStdStill", + "z_errCode", + "local", "Tag" ], "tabs":[ @@ -1523,16 +1713,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8504", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1541,7 +1731,7 @@ "IconDisplay" ], "values":[ - "z_errCodeRaw", + "b_errFlag", "local", "Tag" ], @@ -1561,11 +1751,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9395", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8500", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1574,7 +1764,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "z_errCodeRaw", "local", "Tag" ], @@ -1594,11 +1784,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8483", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1641,41 +1831,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8482", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "ConvertRealWorld", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "uint8", - "off", - "Real World Value (RWV)", - "Floor", - "off", - "-1" + "b_errFlag", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1683,16 +1857,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9402", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "VqFinPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8479", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM4", - "label":"CTRL_COMM4", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1706,7 +1911,7 @@ "FramePeriod" ], "values":[ - "1", + "7", "on", "inf", "[]", @@ -1737,11 +1942,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "className":"Simulink.SubSystem", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8519", + "className":"Either edge detection", "icon":"WebViewIcon4", - "name":"Debounce_Filter", - "label":"Debounce_Filter", + "name":"either_edge", + "label":"either_edge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1796,129 +2001,49 @@ "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:8479", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "7", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9407", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_errCodePrev", - "Tag" + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" + "blocktype":"SubSystem", + "masktype":"Either edge detection" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9405", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"r_errInpTgtThres", - "label":"r_errInpTgtThres", + "name":"CTRL_COMM", + "label":"CTRL_COMM", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -1932,7 +2057,7 @@ "FramePeriod" ], "values":[ - "r_errInpTgtThres", + "0", "on", "inf", "[]", @@ -1963,43 +2088,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8524", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9406", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"t_errDequal", - "label":"t_errDequal", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "t_errDequal", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "z_errCodePrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2007,45 +2116,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8520", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Abs4", - "label":"Abs4", + "name":"g_Hb", + "label":"g_Hb", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ + "2", + "Element-wise(K.*u)", "[]", "[]", "Inherit: Same as input", "off", - "Floor", + "Simplest", "off", - "-1", - "on" + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ + "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 8, + 11 ] }, "viewer":{ @@ -2054,53 +2175,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", - "className":"Simulink.SFunction", - "icon":"WebViewIcon3", - "name":"Bitwise Operator1", - "label":"Bitwise Operator1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "logicop", - "UseBitMask", - "NumInputPorts", - "BitMask", - "BitMaskRealWorld" - ], - "values":[ - "AND", - "on", - "1", - "bin2dec('100')", - "Stored Integer" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"S-Function", - "masktype":"Bitwise Operator" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8484", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9403", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"Data Type Conversion3", - "label":"Data Type Conversion3", + "name":"Abs4", + "label":"Abs4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2108,28 +2192,28 @@ "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", - "SampleTime" + "SampleTime", + "ZeroCross" ], "values":[ "[]", "[]", - "uint8", + "Inherit: Same as input", "off", - "Real World Value (RWV)", "Floor", "off", - "-1" + "-1", + "on" ], "tabs":[ - "Parameter Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 6 ] }, "viewer":{ @@ -2138,47 +2222,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8478", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9412", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"CTRL_COMM4", + "label":"CTRL_COMM4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2192,56 +2245,25 @@ "FramePeriod" ], "values":[ - "0", + "1", "on", "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8487", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "z_posRaw", - "Tag" + "[]", + "[]", + "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" @@ -2249,7 +2271,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, @@ -2321,32 +2343,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9394", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "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", @@ -2355,8 +2395,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -2365,16 +2405,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8494", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8493", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ @@ -2382,7 +2422,7 @@ "IconDisplay" ], "values":[ - "z_errCodeRaw", + "b_errFlag", "Tag" ], "tabs":[ @@ -2401,27 +2441,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8503", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8517", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "z_errCode", - "local", - "Tag" + "0", + "Inherited", + "-1", + "", + "", + "off", + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes" + "Main", + "State Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2429,55 +2486,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9394", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8480", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "3", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -2486,8 +2525,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -2496,74 +2535,35 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8492", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_errFlag", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8508", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9410", + "className":"Simulink.SFunction", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Bitwise Operator1", + "label":"Bitwise Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "logicop", + "UseBitMask", + "NumInputPorts", + "BitMask", + "BitMaskRealWorld" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "AND", + "on", + "1", + "bin2dec('100')", + "Stored Integer" ], "tabs":[ - "Main", - "Data Type", - "-Other" ], "tabs_idx":[ - 0, - 1, - 4 ] }, "viewer":{ @@ -2572,25 +2572,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" + "blocktype":"S-Function", + "masktype":"Bitwise Operator" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9408", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8474", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8469", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "z_errCodePrev", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -2603,7 +2603,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8469_d.png index 57551c1f23d4c33cc9e4ddd86e289f9eb6f22e91..baeb30c7c7e37b4d2c009cb365c47e06ff3791ba 100644 GIT binary patch literal 6364 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 S{{w$lP(9E!)~VBWe)d1rhZ+I^ literal 6567 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≫rT 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 ctJsUYyh!08)nNAp{PF_PMHy{LqyPW_ 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 5768944..204753c 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 @@ -1,10 +1,10 @@ - + - + @@ -14,7 +14,7 @@ - + @@ -22,7 +22,7 @@ - + Error 004: Motor NOT able to spin. @@ -31,7 +31,7 @@ - + Possible causes: @@ -39,7 +39,7 @@ - + - motor phase disconnected @@ -47,7 +47,7 @@ - + - MOSFET defective @@ -55,7 +55,7 @@ - + - Operational Amplifier defective @@ -63,7 +63,7 @@ - + - motor blocked @@ -74,15 +74,15 @@ - + - + - + Error Reporting @@ -93,15 +93,15 @@ - + - + - + Error Detection @@ -112,15 +112,15 @@ - + - + - + Error Qualification @@ -131,7 +131,7 @@ - + @@ -139,7 +139,7 @@ - + Error 002: Hall sensor short circuit @@ -151,7 +151,7 @@ - + @@ -159,7 +159,7 @@ - + Error 001: Hall sensor not connected @@ -171,7 +171,7 @@ - + @@ -179,7 +179,7 @@ - + This switch makes sure that once this error is SET, @@ -187,7 +187,7 @@ - + it can only be erased by a board restart cycle. @@ -198,7 +198,7 @@ - + @@ -206,7 +206,7 @@ - + If the Voltage applied to the motor is @@ -214,7 +214,7 @@ - + above a threshold but the motor does @@ -222,7 +222,7 @@ - + NOT spin, then there is an error. @@ -233,10 +233,10 @@ - + - + @@ -246,44 +246,44 @@ - + 1 - + - + - + - + z_posRaw - + - + - + uint8 @@ -296,10 +296,10 @@ - + - + @@ -309,29 +309,29 @@ - + 1 - + - + - + - + z_errCode @@ -344,27 +344,27 @@ - + - + - + - + [z_posRaw] - + @@ -377,10 +377,10 @@ - + - + @@ -390,29 +390,29 @@ - + [z_errCode] - + - + - + - + uint8 @@ -424,44 +424,44 @@ - - - + + + - - + + - + - - 4 + + 2 - - + + - - - + + + - + - - uint8 + + b_errFlag @@ -472,196 +472,188 @@ - - - + + + - - + + - + - - 2 - - - - - - - - - - - - - - + + - + - - uint8 + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + T + + + + + + + + F - - + + - - - - - - - - - - boolean + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + uint8 @@ -673,178 +665,178 @@ - - + + - + - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + - + ~= 0 - + - + - - + + - + boolean @@ -856,60 +848,84 @@ - - - + + + - - + + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -921,36 +937,36 @@ - - + + - + - + - + - + - + - + - + @@ -965,22 +981,22 @@ - + - + - - + + - + boolean @@ -992,188 +1008,108 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + - - - - - - - - - + - - + + boolean + + + + + + + + + + + + + + + + + + - + - - + + 4 + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - uint8 + + uint8 @@ -1184,30 +1120,30 @@ - - - + + + - + - + - + - + - - + + @@ -1221,22 +1157,22 @@ - + - + - - + + - + boolean @@ -1248,44 +1184,29 @@ - - - + + + - - + + - - + + - - 2 + + [VqFinPrev] - - - - - - - - - - - - - - - - - b_errFlag + + @@ -1296,91 +1217,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + t_errDequal - - - - - - - - - - + + - - - - - - - - - - uint8 - - - - - - - + + - - + + - - Ini=0 + + uint16 @@ -1391,150 +1265,68 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - + + - - - - - - - - - - - uint8 - + - - - - - - - - - - - - - - - - - - - - - [z_errCodePrev] - - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_errFlag] - - - - - - - + + boolean @@ -1546,27 +1338,27 @@ - + - + - - + + - + [b_motStdStill] - + @@ -1579,42 +1371,42 @@ - + - + - + - + t_errQual - + - + - - + + - + uint16 @@ -1626,92 +1418,59 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + r_errInpTgtThres - - + + - - - + + + - - + + - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [z_errCodeRaw] - - - - - - - + + r_errInpTgtThres - - + + - - + + - - uint8 + + sfix16_En4 @@ -1722,44 +1481,44 @@ - - + + - + - - + + - - [VqFinPrev] + + [z_errCodeRaw] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -1770,77 +1529,44 @@ - - + + - + - - + + - - [b_motStdStill] + + [z_errCodeRaw] - + - - - - - - - - - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - [z_errCodeRaw] - - - - - - - + + uint8 @@ -1851,92 +1577,43 @@ - - - + + + - - + + - - - - - - [VqFinPrev] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [z_errCodePrev] - - - - - - - - - - + + - + - - + + - + uint8 @@ -1948,59 +1625,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_errCodePrev] - - - - - - - - - - + + - + - - + + - + uint8 @@ -2012,44 +1673,44 @@ - - - + + + - - + + - - + + - - 1 + + [z_posRaw] - - + + - - + + - - + + - - boolean + + uint8 @@ -2061,289 +1722,289 @@ - + - + - + - + u - + - + tAcv - + - + tDeacv - + - + y - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - + Debounce_Filter - + - - + + - + boolean @@ -2351,29 +2012,29 @@ - + - + - + - + - + - + @@ -2387,43 +2048,334 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [b_motStdStill] + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCode] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [b_errFlag] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [z_errCodeRaw] + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - 7 + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + uint8 @@ -2435,44 +2387,44 @@ - - + + - + - + - - [z_errCodePrev] + + [b_errFlag] - + - - + + - - + + - - uint8 + + boolean @@ -2483,58 +2435,43 @@ - - - + + + - - + + - - + + - - r_errInpTgtThres + + [VqFinPrev] - - - - - - - - - - - - - - - - - r_errInpTgtThres + + - + - - + + - + sfix16_En4 @@ -2546,44 +2483,44 @@ - - - + + + - - + + - - + + - - t_errDequal + + 7 - - + + - - + + - - + + - - uint16 + + uint8 @@ -2594,76 +2531,148 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + - - + + - - + + - - sfix16_En4 + + boolean @@ -2674,59 +2683,43 @@ - - - + + + - - + + - - - - - - Bitwise - - - - - - - - AND - - - - + + - - 0x4 + + 0 - - + + - + - - + + - + uint8 @@ -2738,59 +2731,76 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_errCodePrev] - + + + + + + + + + + + + + + + + + + + + + + + + + 2 + - - + + - + - - + + - + uint8 @@ -2802,92 +2812,76 @@ - - - + + + - - + + - + - - + + - - if { } + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - Action Port + + - - - - - - - - - - - - + + - - - - - - - 0 - - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2898,44 +2892,44 @@ - - - + + + - - + + - - + + - - [z_posRaw] + + 1 - - + + - - + + - - + + - - uint8 + + boolean @@ -2947,57 +2941,57 @@ - + - + - + - + 2 - + - + - - + + - + b_motStdStill - + - - + + - + boolean @@ -3009,44 +3003,59 @@ - - - + + + - - + + - - + + - - 0 + + 3 - - + + + + + + + + + + + + + + + + + VqFinPrev - - + + - - + + - - uint8 + + sfix16_En4 @@ -3057,44 +3066,44 @@ - - + + - + - + - - [z_errCodeRaw] + + [b_errFlag] - + - - + + - - + + - - uint8 + + boolean @@ -3105,92 +3114,91 @@ - - - + + + - - + + - + - - + + - - [z_errCode] + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - - - - - - 3 - - - + + - - - + + + - - + + - - VqFinPrev + + Ini=0 - - + + - - + + - - sfix16_En4 + + uint8 @@ -3201,44 +3209,44 @@ - - - + + + - - + + - - + + - - [b_errFlag] + + 0 - - + + - - + + - - + + - - boolean + + uint8 @@ -3249,68 +3257,60 @@ - - - + + + - - + + - + - - + + - - + + Bitwise - - + + - - + + AND - - + + - - + + 0x4 - - - - - - - - - - + + - - + + - + - - boolean + + uint8 @@ -3321,44 +3321,44 @@ - - - + + + - - + + - + - - [z_errCodePrev] + + if { } - - + + - - - + + + - + - - uint8 + + Action Port @@ -3370,10 +3370,10 @@ - + - + @@ -3383,7 +3383,7 @@ - + @@ -3391,7 +3391,7 @@ - + @@ -3401,32 +3401,32 @@ + + + + + + + + + + + - + - - + + - + boolean - - - - - - - - - - - @@ -3434,11 +3434,11 @@ - + - + @@ -3448,11 +3448,11 @@ - + - + @@ -3462,11 +3462,11 @@ - + - + @@ -3476,11 +3476,11 @@ - + - + @@ -3490,11 +3490,11 @@ - + - + @@ -3504,11 +3504,11 @@ - + - + @@ -3519,31 +3519,31 @@ - + - + - + - + - + - + @@ -3552,11 +3552,11 @@ - + - + @@ -3566,11 +3566,11 @@ - + - + @@ -3580,11 +3580,11 @@ - + - + @@ -3594,11 +3594,11 @@ - + - + @@ -3608,11 +3608,11 @@ - + - + @@ -3622,11 +3622,11 @@ - + - + @@ -3636,11 +3636,11 @@ - + - + @@ -3651,31 +3651,31 @@ - + - + - + - + - + - + @@ -3684,11 +3684,11 @@ - + - + @@ -3698,11 +3698,11 @@ - + - + @@ -3712,11 +3712,11 @@ - + - + @@ -3726,11 +3726,11 @@ - + - + @@ -3740,11 +3740,11 @@ - + - + @@ -3754,11 +3754,11 @@ - + - + @@ -3768,11 +3768,11 @@ - + - + @@ -3782,11 +3782,11 @@ - + - + @@ -3796,11 +3796,11 @@ - + - + @@ -3810,11 +3810,11 @@ - + - + @@ -3824,11 +3824,11 @@ - + - + @@ -3838,11 +3838,11 @@ - + - + @@ -3852,11 +3852,11 @@ - + - + @@ -3866,11 +3866,11 @@ - + - + @@ -3880,11 +3880,11 @@ - + - + @@ -3894,11 +3894,11 @@ - + - + @@ -3908,11 +3908,11 @@ - + - + @@ -3922,11 +3922,11 @@ - + - + @@ -3936,11 +3936,11 @@ - + - + @@ -3950,11 +3950,11 @@ - + - + @@ -3964,11 +3964,11 @@ - + - + @@ -3978,11 +3978,11 @@ - + - + @@ -3992,11 +3992,11 @@ - + - + @@ -4005,5 +4005,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json index 557cf0f..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 @@ -49,42 +49,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "held", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2426", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"yPrev", - "label":"yPrev", + "name":"yDefault", + "label":"yDefault", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "inspector":{ "params":[ @@ -100,11 +69,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "1", @@ -119,10 +94,17 @@ "-1", "auto", "off", - "", - "on", "off", + "[]", + "off", + "held", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -142,16 +124,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2426", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2425", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"yDefault", - "label":"yDefault", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2424", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"yPrev", + "label":"yPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2423", "inspector":{ "params":[ @@ -167,17 +180,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "1", @@ -192,17 +199,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -222,7 +222,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_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 46b9197..3267db5 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.svg @@ -32,44 +32,44 @@ - - - + + + - - + + - + - - else { } + + 1 - - + + - - + + - + - - Action Port + + yDefault @@ -80,59 +80,44 @@ - - - + + + - - + + - + - - 1 + + else { } - - + + - - + + - - - - - yPrev - - - - - - - - - - - + - - boolean + + Action Port @@ -143,44 +128,59 @@ - - + + - + - + - + 1 - + - - + + + + + + + + + + yPrev + + + + + + + - + - - yDefault + + 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 6a11fef..5f1d79c 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,61 +1,4 @@ [ - { - "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:2447", "className":"Simulink.Outport", @@ -182,11 +125,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2444", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -195,7 +138,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "yPrev", "local", "Tag" ], @@ -215,27 +158,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2443", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2446", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "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":[ - "yPrev", - "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" @@ -243,16 +210,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -261,7 +228,7 @@ "IconDisplay" ], "values":[ - "yDeacv", + "tDeacv", "local", "Tag" ], @@ -281,11 +248,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2439", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -293,7 +260,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "tDeacv", "Tag" ], "tabs":[ @@ -312,11 +279,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2439", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -324,7 +291,7 @@ "IconDisplay" ], "values":[ - "tDeacv", + "yPrev", "Tag" ], "tabs":[ @@ -343,21 +310,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2441", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2440", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "tDeacv", - "local", + "b_cntRst", "Tag" ], "tabs":[ @@ -371,7 +336,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -405,43 +370,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2444", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "uint16", - "off", - "inf" + "b_cntRst", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -449,24 +398,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2442", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "yDeacv", + "local", "Tag" ], "tabs":[ @@ -480,48 +431,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2433", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "held", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -529,30 +462,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2432", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2431", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"yPrev", + "label":"yPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "held", - "Only when execution is resumed" + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -560,7 +529,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"Inport", "masktype":"" } }, @@ -596,50 +565,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2431", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2433", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"yPrev", - "label":"yPrev", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "3", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -648,8 +599,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -658,16 +609,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2436", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -675,7 +626,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "yDeacv", "Tag" ], "tabs":[ @@ -694,11 +645,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2430", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2429", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_cntRst", - "label":"b_cntRst", + "name":"tDeacv", + "label":"tDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -721,7 +672,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -761,11 +712,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2429", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2430", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"tDeacv", - "label":"tDeacv", + "name":"b_cntRst", + "label":"b_cntRst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", "inspector":{ "params":[ @@ -788,7 +739,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -827,6 +778,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2434", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"Constant6", + "label":"Constant6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2428", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "1", + "on", + "inf", + "[]", + "[]", + "uint16", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2438#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2428_d.png index 81719479bebf0da7733a6183c3dd12c24ead414f..6d715c51861bf15bd956da51beaf138500ceb1a2 100644 GIT binary patch literal 6890 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 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + yDeacv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + + + + + + + + + @@ -23,155 +168,155 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + T - + - + F @@ -189,123 +334,11 @@ - + - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - yDeacv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + boolean @@ -317,28 +350,28 @@ - - + + - + - + - - [b_cntRst] + + [tDeacv] - + @@ -350,62 +383,44 @@ - - - + + + - - + + - - + + - - [yPrev] + + [tDeacv] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [yDeacv] - - - - - - - + + uint16 @@ -416,43 +431,43 @@ - - + + - + - + - - [b_cntRst] + + [yPrev] - + - + - - + + - + boolean @@ -464,77 +479,44 @@ - - + + - + - + - - [tDeacv] + + [b_cntRst] - + - - - - - - - - - - uint16 + + - - - - - - - - - - - - - - - - - - - - + + - - [tDeacv] - - - - - - - + + boolean @@ -555,44 +537,52 @@ - + - + inc - + - + max - + - + rst - + - + cnt + + + + + + + + - + @@ -600,7 +590,7 @@ - + @@ -608,7 +598,7 @@ - + @@ -616,7 +606,7 @@ - + @@ -624,7 +614,7 @@ - + @@ -632,7 +622,7 @@ - + @@ -640,7 +630,7 @@ - + @@ -648,7 +638,7 @@ - + @@ -656,7 +646,7 @@ - + @@ -664,7 +654,7 @@ - + @@ -672,7 +662,7 @@ - + @@ -680,7 +670,7 @@ - + @@ -688,7 +678,7 @@ - + @@ -696,14 +686,6 @@ - - - - - - - - @@ -721,11 +703,11 @@ - + - + Counter @@ -736,11 +718,11 @@ - + - + uint16 @@ -748,29 +730,29 @@ - + - + - + - + - + - + @@ -784,44 +766,29 @@ - - - + + + - - + + - - + + - - 1 - - - - - - - + + [b_cntRst] - - - - - - - - - - - - uint16 + + + + @@ -832,44 +799,29 @@ - - - + + + - - + + - - + + - + [yDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -880,44 +832,44 @@ - - - + + + - - + + - - + + - - 0 + + elseif { } - - + + - - - + + + - - + + - - boolean + + Action Port @@ -928,44 +880,59 @@ - - - + + + - - + + - - + + - - elseif { } + + 3 - - + + - - + + - - + + - - Action Port + + yPrev + + + + + + + + + + + + + + + boolean @@ -986,11 +953,11 @@ - + - + [tDeacv] @@ -1008,11 +975,11 @@ - + - + uint16 @@ -1024,58 +991,91 @@ - - - + + + - - + + - - + + - - 3 + + 0 - - + + - - - + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + - + - - yPrev + + [yDeacv] + + + + + + + - + - + - + boolean @@ -1087,44 +1087,59 @@ - - - + + + - - + + - + - - [yPrev] + + 1 - - + + - - - + + + - + - - boolean + + tDeacv + + + + + + + + + + + + + + + uint16 @@ -1145,11 +1160,11 @@ - + - + 2 @@ -1167,11 +1182,11 @@ - + - + b_cntRst @@ -1182,11 +1197,11 @@ - + - + boolean @@ -1198,58 +1213,43 @@ - - - + + + - - + + - - + + - + 1 - - - - - - - - - - - - - - - - - tDeacv + + - + - + - + uint16 @@ -1443,5 +1443,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg index 06faa6a..3fa6b2b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_2515_d.svg @@ -15,7 +15,7 @@ - + @@ -486,32 +486,32 @@ - - - + + + - + - - Ini=initVal + + uint16 - - - + + + - + - - uint16 + + Ini=initVal @@ -592,5 +592,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json index d4abc8b..165cec5 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json @@ -1,92 +1,4 @@ [ - { - "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", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", - "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:8486:2435:2418", "className":"Simulink.Outport", @@ -167,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:2415", "className":"Simulink.MinMax", @@ -354,6 +295,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435:2416", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2435", + "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:8486:2435:2412", "className":"Simulink.Inport", 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 994e7c2..3cd3878 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.svg @@ -10,6 +10,54 @@ + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + cnt + + + + + + + @@ -23,51 +71,51 @@ - + - + u - + - + rst - + - + y - + - + 1 - + - + z - + - + @@ -85,11 +133,11 @@ - + - + uint16 @@ -100,11 +148,11 @@ - + - + Ini=z_cntInit @@ -112,29 +160,29 @@ - + - + - + - + - + - + @@ -146,131 +194,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - cnt - - - - - - - - - + @@ -278,19 +206,19 @@ - + - + - + - + @@ -316,11 +244,11 @@ - + - + uint16 @@ -342,11 +270,11 @@ - + - + 3 @@ -364,11 +292,11 @@ - + - + rst @@ -379,11 +307,11 @@ - + - + boolean @@ -405,11 +333,11 @@ - + - + 2 @@ -427,11 +355,11 @@ - + - + max @@ -442,11 +370,83 @@ - + - + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint16 @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.json index 5cdbc2b..14c0834 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,4 +1,101 @@ [ + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2489", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_cntRst", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "tAcv", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2485", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_cntRst", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2492", "className":"Simulink.Outport", @@ -80,78 +177,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch2", - "label":"Switch2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "inspector":{ - "params":[ - "Criteria", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "AllowDiffInputSizes", - "SampleTime", - "Threshold", - "ZeroCross" - ], - "values":[ - "u2 ~= 0", - "off", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "off", - "-1", - "0", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Switch", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2489", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_cntRst", - "local", + "tAcv", "Tag" ], "tabs":[ @@ -165,16 +203,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2488", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2487", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -183,7 +221,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "yAcv", "local", "Tag" ], @@ -203,58 +241,72 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2486", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Counter", + "label":"Counter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "z_cntInit" ], "values":[ - "tAcv", - "local", - "Tag" + "0" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2485", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2479", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Constant6", + "label":"Constant6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "b_cntRst", - "Tag" + "1", + "on", + "inf", + "[]", + "[]", + "uint16", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -262,30 +314,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2484", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Constant1", + "label":"Constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "tAcv", - "Tag" + "1", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -293,25 +363,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2477", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "yAcv", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -324,76 +394,61 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2481", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2490", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "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:2480", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Counter", - "label":"Counter", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "z_cntInit" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "0" + ">", + "off", + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ + "Main", + "Data Type", + "-Other" ], "tabs_idx":[ + 0, + 1, + 4 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2482", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2481", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -401,7 +456,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "yPrev", "Tag" ], "tabs":[ @@ -420,43 +475,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2479", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2483", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Constant6", - "label":"Constant6", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "on", - "inf", - "[]", - "[]", - "uint16", - "off", - "inf" + "yAcv", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -464,7 +501,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, @@ -536,42 +573,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:2488", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -580,7 +586,7 @@ "IconDisplay" ], "values":[ - "yAcv", + "yPrev", "local", "Tag" ], @@ -600,38 +606,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2490", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2475", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"b_cntRst", + "label":"b_cntRst", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "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":{ @@ -640,16 +668,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2475", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2474", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_cntRst", - "label":"b_cntRst", + "name":"tAcv", + "label":"tAcv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ @@ -672,7 +700,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -712,32 +740,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2478", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2491", + "className":"Simulink.Switch", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"Switch2", + "label":"Switch2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Criteria", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "AllowDiffInputSizes", + "SampleTime", + "Threshold", + "ZeroCross" ], "values":[ - "1", - "on", - "inf", + "u2 ~= 0", + "off", "[]", "[]", "Inherit: Inherit via back propagation", "off", - "inf" + "Zero", + "off", + "off", + "-1", + "0", + "on" ], "tabs":[ "Main", @@ -746,8 +782,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 1, + 9 ] }, "viewer":{ @@ -756,66 +792,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Switch", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2474", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2484", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"tAcv", - "label":"tAcv", + "name":"From7", + "label":"From7", "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" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "tAcv", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -823,7 +823,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2473_d.png index 5717ff094ee40cbab1e1dc1217594573d3200b6a..3066c59929f17eb3f78bcacaaf9985e9195e7c13 100644 GIT binary patch literal 6786 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 literal 6787 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 K - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - yAcv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - @@ -263,11 +23,11 @@ - + - + [b_cntRst] @@ -284,39 +44,6 @@ - - - - - - - - - - - - - - - - - - [yPrev] - - - - - - - - - - - - - - - @@ -329,11 +56,11 @@ - + - + [tAcv] @@ -362,11 +89,11 @@ - + - + [b_cntRst] @@ -384,11 +111,11 @@ - + - + boolean @@ -400,44 +127,44 @@ - - - + + + - - + + - - + + - - [tAcv] + + 1 - - + + - - - + + + - - + + - - uint16 + + yAcv @@ -448,44 +175,44 @@ - - + + - + - + - - [yAcv] + + [tAcv] - + - - + + - - + + - - boolean + + uint16 @@ -496,44 +223,29 @@ - - - + + + - - + + - - + + - - [yPrev] + + [yAcv] - - - - - - - - - - - - - - - - - boolean + + @@ -554,155 +266,155 @@ - + - + inc - + - + max - + - + rst - + - + cnt - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -720,11 +432,11 @@ - + - + Counter @@ -735,11 +447,11 @@ - + - + uint16 @@ -747,29 +459,29 @@ - + - + - + - + - + - + @@ -783,43 +495,43 @@ - - - + + + - - + + - - + + - - [tAcv] + + 1 - - + + - + - - + + - + uint16 @@ -831,44 +543,44 @@ - - + + - + - + - + 1 - + - - + + - - + + - - uint16 + + boolean @@ -879,58 +591,203 @@ - - - + + + - - + + - - + + - - 3 + + if { } - - + + - - + + + + + + + + + + Action Port + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [yPrev] + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + - + - - b_errPrev + + [yAcv] + + + + + + + - + - + - + boolean @@ -942,44 +799,59 @@ - - - + + + - - + + - + - - if { } + + 3 - - + + - - + + - + - - Action Port + + b_errPrev + + + + + + + + + + + + + + + boolean @@ -990,28 +862,28 @@ - - + + - + - + - - [yAcv] + + [yPrev] - + @@ -1023,59 +895,58 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 2 - - - - - + + + + - - - + + + + + + + + + + + b_cntRst - + - - + + - + boolean @@ -1087,59 +958,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - b_cntRst + + tAcv - - + + - - + + - - boolean + + uint16 @@ -1150,43 +1021,187 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - 1 + + T + + + + + + + + F - - + + - + - - + + - + boolean @@ -1198,58 +1213,43 @@ - - - + + + - - + + - - + + - - 1 + + [tAcv] - - - - - - - - - - - - - - - - - tAcv + + - + - + - + uint16 @@ -1443,5 +1443,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_2515_d.svg index 7a75d17..4c89dbd 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 7b835de..6d8a137 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json @@ -1,33 +1,4 @@ [ - { - "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:2418", "className":"Simulink.Outport", @@ -167,6 +138,59 @@ "masktype":"" } }, + { + "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:2414", "className":"Simulink.Inport", @@ -301,6 +325,35 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2515", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"rst_Delay", + "label":"rst_Delay", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480", + "inspector":{ + "params":[ + "initVal" + ], + "values":[ + "z_cntInit" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2480:2412", "className":"Simulink.Inport", @@ -368,59 +421,6 @@ "masktype":"" } }, - { - "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:2515#out:1", "className":"Simulink.Line", 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 3c7cd87..2f35a6e 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 @@ -10,141 +10,6 @@ - - - - - - - - - - - - - - - - - - - u - - - - - - - - rst - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ini=z_cntInit - - - - - - - - - - - - - - - uint16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -158,11 +23,11 @@ - + - + 1 @@ -180,11 +45,11 @@ - + - + cnt @@ -206,35 +71,35 @@ - + - + - + - + - + - + - + - + @@ -252,11 +117,75 @@ - + - + + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint16 @@ -278,11 +207,11 @@ - + - + 3 @@ -300,11 +229,11 @@ - + - + rst @@ -315,11 +244,11 @@ - + - + boolean @@ -341,11 +270,11 @@ - + - + 2 @@ -363,11 +292,11 @@ - + - + max @@ -378,11 +307,11 @@ - + - + uint16 @@ -394,122 +323,193 @@ - - - + + + - - + + - - + + - - 1 + + u + + + + + + + + rst + + + + + + + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + - - + + - - - + + + - - + + - - inc + + Ini=z_cntInit - - + + - - + + - + uint16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - - - - - - - + - - + + - - + + 1 - - - - - + + + + - - - + + + + + + + + + + + inc - - + + - + - + uint16 @@ -625,5 +625,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg index 954a9ac..3315e8b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2507_d.svg @@ -120,32 +120,32 @@ - - - + + + - + - - boolean + + Ini=0 - - - + + + - + - - Ini=0 + + boolean @@ -158,7 +158,7 @@ - + @@ -345,5 +345,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.json index 71de1d3..0fb295a 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,42 +1,72 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2496", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"UnitDelay", - "label":"UnitDelay", + "name":"y", + "label":"y", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "0", - "Inherited", + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "", - "", + "Inherit", + "-1", + "auto", "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", [ ], - "Auto" + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "State Attributes", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 2, + 11 ] }, "viewer":{ @@ -45,16 +75,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Qualification", - "label":"Qualification", + "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":[ @@ -97,7 +127,7 @@ "ReadWrite", "", "All", - "off", + "on", "on", "", "", @@ -143,36 +173,47 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"" + "masktype":"Either edge detection" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2509", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"UnitDelay", + "label":"UnitDelay", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "values":[ - "[]", + "0", + "Inherited", + "-1", + "", + "", "off", - "[]", - "3" + [ + ], + "Auto" ], "tabs":[ - "Parameter Attributes", + "Main", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 3, + 4 ] }, "viewer":{ @@ -181,32 +222,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "tDeacv", - "local", - "Tag" + "2", + "u1 ~= 0", + "u2 ~=0", + "on", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -214,16 +265,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2465", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -232,7 +283,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "tAcv", "local", "Tag" ], @@ -318,171 +369,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2507", - "className":"Either edge detection", - "icon":"WebViewIcon4", - "name":"either_edge", - "label":"either_edge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" - ], - "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "on", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "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:2496", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2459", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"y", - "label":"y", + "name":"From8", + "label":"From8", "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" + "GotoTag", + "IconDisplay" ], "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 - ] + "b_cntRst", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -490,24 +395,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2464", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "y", + "yPrev", + "local", "Tag" ], "tabs":[ @@ -521,16 +428,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -538,7 +445,7 @@ "IconDisplay" ], "values":[ - "u", + "tDeacv", "Tag" ], "tabs":[ @@ -557,11 +464,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2458", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -569,7 +476,7 @@ "IconDisplay" ], "values":[ - "u", + "yPrev", "Tag" ], "tabs":[ @@ -588,11 +495,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2452", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -600,7 +507,7 @@ "IconDisplay" ], "values":[ - "tDeacv", + "u", "Tag" ], "tabs":[ @@ -619,11 +526,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2451", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -631,7 +538,7 @@ "IconDisplay" ], "values":[ - "tAcv", + "yPrev", "Tag" ], "tabs":[ @@ -650,11 +557,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2449", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -662,7 +569,7 @@ "IconDisplay" ], "values":[ - "u", + "tAcv", "Tag" ], "tabs":[ @@ -681,19 +588,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2466", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_cntRst", + "tDeacv", + "local", "Tag" ], "tabs":[ @@ -707,16 +616,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2458", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2448", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -743,21 +652,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2456", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "y", - "local", + "u", "Tag" ], "tabs":[ @@ -771,7 +678,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -873,106 +780,108 @@ } }, { - "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:2465", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "tAcv", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2460", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2473", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Qualification", + "label":"Qualification", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "yPrev", - "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:8486:2451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2457", "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -980,7 +889,7 @@ "IconDisplay" ], "values":[ - "yPrev", + "y", "Tag" ], "tabs":[ @@ -999,60 +908,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2422", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2472", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"tDeacv", - "label":"tDeacv", + "name":"Merge", + "label":"Merge", "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" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "3", - "Port number", "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", "off", - "off" + "[]", + "3" ], "tabs":[ - "Main", - "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 1 ] }, "viewer":{ @@ -1061,16 +942,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2459", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2460", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1078,7 +959,7 @@ "IconDisplay" ], "values":[ - "b_cntRst", + "yPrev", "Tag" ], "tabs":[ @@ -1194,11 +1075,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2421", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2422", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"tAcv", - "label":"tAcv", + "name":"tDeacv", + "label":"tDeacv", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1221,7 +1102,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -1261,36 +1142,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2467", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", + "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", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "2", - "u1 ~= 0", - "u2 ~=0", - "on", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 4 + 2, + 11 ] }, "viewer":{ @@ -1299,16 +1235,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2455", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2453", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1316,7 +1252,38 @@ "IconDisplay" ], "values":[ - "yPrev", + "u", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2450", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From10", + "label":"From10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_cntRst", "Tag" ], "tabs":[ @@ -1402,11 +1369,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2462", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "y", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486: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":[ @@ -1447,11 +1447,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2471", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator4", + "label":"Logical Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1463,7 +1463,7 @@ "SampleTime" ], "values":[ - "AND", + "NOT", "2", "rectangular", "off", @@ -1492,11 +1492,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2468", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8486:2470", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8486", "inspector":{ "params":[ @@ -1508,7 +1508,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_d.png index 001f01d26007a353fbb69fad31b892112b30b7f6..343b0986b3ddb883eb58642d604e8a346290b7ca 100644 GIT binary patch literal 6788 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 literal 6785 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 e!KULu(Yn-=c@nHj$OQi>L5%e+^vZQy - - - + + + - - + + - + - + - - + + 1 + + + + + + + + + + + + + + + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - + - - + + - + boolean - - - - + - - + + - - Ini=0 + + + + + + + + + + + + + + + + + + + + + + @@ -108,136 +213,91 @@ - - - + + + - - - - - - - - + + - + - - + + - - tAcv + + - + - - b_cntRst + + - + - - b_errPrev + + - - - - - yAcv - - - - + - - if { } + + - - - - - - - - - - + - - - - - - - - - - - - - - - - - Qualification + + + + + + + - - - - - - - + - - + + - + boolean - - - - - - - - - + + + - - + + - - action + + Ini=0 @@ -248,99 +308,106 @@ - - - - - - - - - + + + - - + + - + - - + + - - + + u1 - - + + - - + + u2 + + + + + + + + if(u1 ~= 0) + + + + + + + + elseif(u2 ~=0) + + + + + + + + else - - - - - - - - - - + + - - + + - - + + - - boolean + + action - - - - - - - - - - - - - - - + + + + - - + + - - [tDeacv] + + action - - - + + + + + + + + + + + action @@ -351,28 +418,28 @@ - - + + - + - + - - [yPrev] + + [tAcv] - + @@ -394,11 +461,11 @@ - + - + [u] @@ -427,11 +494,11 @@ - + - + [b_cntRst] @@ -450,196 +517,77 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + [b_cntRst] - - + + - + - - + + - + boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - 1 + + [yPrev] - - - - - - - - - - - - - - - - - y + + @@ -650,44 +598,44 @@ - - + + - + - + - - [y] + + [tDeacv] - + - - + + - - + + - - boolean + + uint16 @@ -698,43 +646,43 @@ - - + + - + - + - - [u] + + [yPrev] - + - + - - + + - + boolean @@ -746,43 +694,43 @@ - - + + - + - + - + [u] - + - + - - + + - + boolean @@ -794,44 +742,44 @@ - - + + - + - + - - [tDeacv] + + [yPrev] - + - - + + - - + + - - uint16 + + boolean @@ -852,11 +800,11 @@ - + - + [tAcv] @@ -874,11 +822,11 @@ - + - + uint16 @@ -890,44 +838,29 @@ - - - + + + - - + + - - + + - - [u] + + [tDeacv] - - - - - - - - - - - - - - - - - boolean + + @@ -938,43 +871,43 @@ - - + + - + - + - - [b_cntRst] + + [yPrev] - + - + - - + + - + boolean @@ -986,43 +919,43 @@ - - + + - + - + - - [yPrev] + + [u] - + - + - - + + - + boolean @@ -1034,29 +967,136 @@ - - - + + + - - + + + + + + + + - - + + - - [y] + + tDeacv + + + + + + + + b_cntRst + + + + + + + + yPrev + + + + + + + + yDeacv + + + + + + + + elseif { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dequalification + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + action @@ -1067,8 +1107,14 @@ - - + + + + + + + + @@ -1077,50 +1123,50 @@ - + - + - - tDeacv + + tAcv - + - + b_cntRst - + - - yPrev + + b_errPrev - + - - yDeacv + + yAcv - + - - elseif { } + + if { } @@ -1132,7 +1178,7 @@ - + @@ -1145,16 +1191,16 @@ - - + + - - + + - - Dequalification + + Qualification @@ -1166,15 +1212,15 @@ - + - - + + - + action @@ -1187,15 +1233,15 @@ - + - - + + - + boolean @@ -1207,49 +1253,49 @@ - + - + - + - + - - [yPrev] + + [y] - + - + - - + + - + boolean @@ -1261,29 +1307,60 @@ - - - + + + - - + + - + - - + + - - [tAcv] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + boolean @@ -1304,11 +1381,11 @@ - + - + [yPrev] @@ -1326,11 +1403,11 @@ - + - + boolean @@ -1342,48 +1419,124 @@ - - - + + + - - + + + + + + + + - - + + - - [yPrev] + + yPrev + + + + + + + + yDefault + + + + + + + + else { } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default - + + + + + + + - - + + - + boolean + + + + + + + + + + + + + + + + + action + + + + @@ -1391,6 +1544,12 @@ + + + + + + @@ -1400,11 +1559,11 @@ - + - + 3 @@ -1422,11 +1581,11 @@ - + - + tDeacv @@ -1437,11 +1596,11 @@ - + - + uint16 @@ -1453,168 +1612,44 @@ - - + + - - - - - - - - - - - - [b_cntRst] - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yPrev - - - - - - - - yDefault - - - - - - - - else { } - - - - - - - - - - - - - - - + + - - - - - - - - - - + - - + + - - Default + + [yPrev] - - - - - - - - - - - - - - - - - boolean + + + - - - - - - - - + + - - + + - - action + + boolean @@ -1626,12 +1661,6 @@ - - - - - - @@ -1641,11 +1670,11 @@ - + - + 2 @@ -1663,11 +1692,11 @@ - + - + tAcv @@ -1678,11 +1707,11 @@ - + - + uint16 @@ -1694,106 +1723,44 @@ - - - + + + - - + + - - - - - - - u1 - - - - - - - - u2 - - - - - - - - if(u1 ~= 0) - - - - - - - - elseif(u2 ~=0) - - + - - else + + [u] - - + + - - + + - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - + - - action + + boolean @@ -1804,43 +1771,43 @@ - - + + - + - + - - [yPrev] + + [b_cntRst] - + - + - - + + - + boolean @@ -1862,11 +1829,11 @@ - + - + 1 @@ -1884,11 +1851,11 @@ - + - + u @@ -1899,11 +1866,11 @@ - + - + boolean @@ -1915,11 +1882,44 @@ - - + + + + + + + + + + + + + + + + [y] + + + + + + + + + + + + + + + + + + + - + @@ -1929,7 +1929,7 @@ - + @@ -1937,7 +1937,7 @@ - + @@ -1948,22 +1948,22 @@ - + - + - + boolean - + @@ -1979,30 +1979,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2012,23 +2012,23 @@ - + - + - + boolean - - + + @@ -2043,30 +2043,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2076,23 +2076,23 @@ - + - + - + boolean - - + + @@ -2109,7 +2109,7 @@ - + @@ -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 96ccca2..8fbcce4 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 @@ -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 928093d..447728f 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 @@ -46,9 +46,9 @@ "auto", "off", "off", - "0", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -110,6 +110,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10029", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", + "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", + "[]", + "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:8654", "className":"Simulink.UnitDelay", @@ -161,11 +241,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8651", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -174,7 +254,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_motEna", "local", "Tag" ], @@ -227,11 +307,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10024", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -240,7 +320,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "z_ctrlTypSel", "local", "Tag" ], @@ -260,11 +340,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10023", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -273,7 +353,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "b_toTrqMod", "local", "Tag" ], @@ -293,11 +373,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10019", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -306,7 +386,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "z_ctrlModReq", "local", "Tag" ], @@ -326,11 +406,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10019", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -339,7 +419,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "VqFinPrev", "local", "Tag" ], @@ -359,50 +439,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10020", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "VqFinPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toTrqMod", + "b_toOpen", + "local", "Tag" ], "tabs":[ @@ -416,16 +467,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8639", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -434,7 +485,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "z_ctrlMod", "local", "Tag" ], @@ -454,11 +505,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10017", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -466,7 +517,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -485,11 +536,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9996", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8633", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -497,7 +548,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "b_motEna", "Tag" ], "tabs":[ @@ -516,11 +567,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9995", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8632", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -528,7 +579,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -547,11 +598,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10028", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -559,7 +610,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -578,11 +629,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8645", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8643", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -591,7 +642,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toActive", "local", "Tag" ], @@ -611,11 +662,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8625", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9996", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -623,7 +674,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "r_inpTgt", "Tag" ], "tabs":[ @@ -642,11 +693,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8624", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8630", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -654,7 +705,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -673,11 +724,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8651", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10023", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -686,7 +737,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "r_inpTgt", "local", "Tag" ], @@ -706,11 +757,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9994", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -718,7 +769,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "b_motStdStill", "Tag" ], "tabs":[ @@ -737,19 +788,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10017", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9997", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", + "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: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":[ @@ -768,21 +852,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8647", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8636", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "b_toTrqMod", - "local", "Tag" ], "tabs":[ @@ -796,16 +878,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8635", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9995", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -832,11 +914,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F03_01_Mode_Transition_Calculation", - "label":"F03_01_Mode_Transition_Calculation", + "name":"F03_03_Input_Target_Synthesis", + "label":"F03_03_Input_Target_Synthesis", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -928,140 +1010,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10018", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "7", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10022", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "className":"Simulink.SubSystem", @@ -1160,19 +1108,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10028", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8642", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From24", - "label":"From24", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_ctrlModPrev", + "local", "Tag" ], "tabs":[ @@ -1186,49 +1136,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9997", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F03_01_Mode_Transition_Calculation", + "label":"F03_01_Mode_Transition_Calculation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "r_inpTgtSca", - "local", - "Tag" + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "on", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" ], "tabs":[ - "Parameter Attributes" + "Main", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10022", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1251,7 +1265,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -1291,73 +1305,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9424", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "b_motStdStill", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "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:10021", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10018", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlTypSel", - "label":"z_ctrlTypSel", + "name":"VqFinPrev", + "label":"VqFinPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1380,7 +1332,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "7", "Port number", "[]", "[]", @@ -1420,11 +1372,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8640", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8650", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1433,7 +1385,7 @@ "IconDisplay" ], "values":[ - "b_toOpen", + "b_errFlag", "local", "Tag" ], @@ -1453,132 +1405,69 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8646", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8539", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_toSpdMod", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9953", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F03_03_Input_Target_Synthesis", - "label":"F03_03_Input_Target_Synthesis", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "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", + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "on", - "", + "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":"" } }, @@ -1614,22 +1503,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10024", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10256", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "z_ctrlTypSel", - "local", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -1642,16 +1529,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8536", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10021", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_errFlag", - "label":"b_errFlag", + "name":"z_ctrlTypSel", + "label":"z_ctrlTypSel", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1674,7 +1561,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "4", "Port number", "[]", "[]", @@ -1781,11 +1668,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10029", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9994", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"From20", + "label":"From20", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10020", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "VqFinPrev", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1801,17 +1750,11 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ "2", @@ -1826,17 +1769,10 @@ "-1", "auto", "off", + "", + "on", "off", - "0", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -1856,16 +1792,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9422", + "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:8536", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"b_errFlag", + "label":"b_errFlag", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", "inspector":{ "params":[ @@ -1888,7 +1855,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -1927,6 +1894,70 @@ "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:8646", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8535", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "b_toSpdMod", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8634#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8535_d.png index 01b7a80c591eabac923775ce25cdd913513f3e15..80620177c108eaa717010b4d35af8bbdd3177779 100644 GIT binary patch literal 10645 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 CM~9jK literal 10359 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 - + - + @@ -46,7 +46,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -107,6 +107,54 @@ + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtSca + + + + + + + + @@ -119,35 +167,35 @@ - + - + - + - + - + - + - + - + @@ -173,11 +221,11 @@ - - + + - + uint8 @@ -189,28 +237,28 @@ - - + + - + - + - - [b_errFlag] + + [b_motEna] - + @@ -232,11 +280,11 @@ - + - + [b_motStdStill] @@ -255,28 +303,28 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_ctrlTypSel] - + @@ -288,28 +336,28 @@ - - + + - + - + - - [r_inpTgt] + + [b_toTrqMod] - + @@ -321,28 +369,28 @@ - - + + - + - + - - [VqFinPrev] + + [z_ctrlModReq] - + @@ -354,77 +402,29 @@ - - + + - + - + - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [VqFinPrev] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -435,44 +435,29 @@ - - - + + + - - + + - + - - [b_toTrqMod] + + [b_toOpen] - - - - - - - - - - - - - - - - - boolean + + @@ -483,28 +468,28 @@ - - + + - + - + - - [b_toActive] + + [z_ctrlMod] - + @@ -516,43 +501,43 @@ - - + + - + - + - - [z_ctrlModPrev] + + [z_ctrlMod] - + - + - - + + - + uint8 @@ -564,44 +549,44 @@ - - + + - + - + - - [r_inpTgt] + + [b_motEna] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -612,43 +597,43 @@ - - + + - + - + - - [z_ctrlModReq] + + [z_ctrlModPrev] - + - + - - + + - + uint8 @@ -660,44 +645,44 @@ - - + + - + - + - - [b_toSpdMod] + + [r_inpTgtSca] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -708,28 +693,28 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_toActive] - + @@ -741,44 +726,44 @@ - - + + - + - + - - [b_toOpen] + + [r_inpTgt] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -789,43 +774,43 @@ - - + + - + - + - - [b_toActive] + + [b_toSpdMod] - + - + - - + + - + boolean @@ -837,28 +822,28 @@ - - + + - + - + - - [b_motEna] + + [r_inpTgt] - + @@ -870,44 +855,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [b_motStdStill] - + - - + + - - + + - - uint8 + + boolean @@ -918,44 +903,77 @@ - - + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + - + - + - - [z_ctrlMod] + + [b_toActive] - + - - + + - - + + - - uint8 + + boolean @@ -966,29 +984,44 @@ - - - + + + - - + + - - + + - + [b_toTrqMod] - - + + + + + + + + + + + + + + + + + boolean @@ -999,43 +1032,43 @@ - - + + - + - + - + [z_ctrlModReq] - + - + - - + + - + uint8 @@ -1047,8 +1080,8 @@ - - + + @@ -1057,82 +1090,58 @@ - + - - - - - - - b_motEna - - - - - - - - b_motStdStill - - + - - b_errFlag + + z_ctrlTypSel - + - + z_ctrlModReq - + - - z_ctrlModPrev + + z_ctrlMod - + - - b_toOpen + + r_inpTgt - + - - b_toActive + + VqFinPrev - - - - - b_toSpdMod - - - - + - - b_toTrqMod + + r_inpTgtSca @@ -1144,7 +1153,7 @@ - + @@ -1157,16 +1166,16 @@ - - + + - - + + - - F03_01_Mode_Transition_Calculation + + F03_03_Input_Target_Synthesis @@ -1178,148 +1187,154 @@ - - + + - - + + - - boolean + + sfix16_En4 - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + b_toOpen - - + + - - boolean + + b_toActive - - - - - - - - + + + - - + + b_toSpdMod - - + + - - boolean + + b_toTrqMod + + + + + + + + z_ctrlMod - + - - + + - - + + - - + + - - boolean + + F03_02_Control_Mode_Manager - - - - - - - - - - - - - - - - - - - - - + - - - + + + + - - 7 + + - - - - - - + + + + + + + uint8 - - - - + - - - + + + + - - VqFinPrev + + - - - - + - - - + + + + - - sfix16_En4 + + @@ -1330,59 +1345,35 @@ - - - + + + + + + + + + - - + + - + - - 6 + + [z_ctrlModPrev] - - - - - - - - - - - - - - - - - r_inpTgt - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1393,128 +1384,279 @@ - - - + + + - - - + + + - - + + + + + + + + + b_motEna + + + + + + + + b_motStdStill + - + - - b_toOpen + + b_errFlag - + - - b_toActive + + z_ctrlModReq - + - - b_toSpdMod + + z_ctrlModPrev - + - - b_toTrqMod + + b_toOpen - + - - z_ctrlMod + + b_toActive + + + + + + + + b_toSpdMod + + + + + + + + b_toTrqMod + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + F03_01_Mode_Transition_Calculation + + + + + + + + + + + + + - - + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - F03_02_Control_Mode_Manager + + 6 - - - - - - - - - + + + - + + + + - - - - + + + - - + + r_inpTgt - - - - - - - - + + - - + + - - uint8 + + sfix16_En4 @@ -1525,49 +1667,58 @@ - - - - - - - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 7 - - + + + + + + + + + + + + + + + + + VqFinPrev - + - - + + - + sfix16_En4 @@ -1579,28 +1730,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [b_errFlag] - + @@ -1622,11 +1773,11 @@ - + - + 5 @@ -1644,11 +1795,11 @@ - - + + - + z_ctrlModReq @@ -1659,11 +1810,11 @@ - - + + - + uint8 @@ -1675,43 +1826,43 @@ - - + + - + - + - - [b_motStdStill] + + [b_errFlag] - + - + - - + + - + boolean @@ -1723,44 +1874,44 @@ - - - + + + - - + + - - + + - - [b_motEna] + + if { } - - + + - - - + + + - - + + - - boolean + + Action Port @@ -1781,11 +1932,11 @@ - + - + 4 @@ -1803,11 +1954,11 @@ - - + + - + z_ctrlTypSel @@ -1818,11 +1969,11 @@ - - + + - + uint8 @@ -1830,193 +1981,63 @@ - - - - - - - - - - - - - - - - - - - - [b_toOpen] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [b_toSpdMod] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z_ctrlTypSel - - - - - - - - z_ctrlModReq - - - - - - - - z_ctrlMod - - - - - - - - r_inpTgt - - - - - - - - VqFinPrev - + + + + + + + + + + + + + - - + + - - r_inpTgtSca + + 3 - - - - - - - - + + - - - - - - - - + + - - + + - - F03_03_Input_Target_Synthesis + + b_motEna - - - - - - - - + + - - + + - - sfix16_En4 + + boolean @@ -2027,50 +2048,44 @@ - - - - - - - - + + - + - + - - [b_errFlag] + + [z_ctrlTypSel] - + - - + + - - + + - - boolean + + uint8 @@ -2081,29 +2096,44 @@ - - - + + + - - + + - - + + - - [z_ctrlTypSel] + + [VqFinPrev] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2114,58 +2144,58 @@ - - + + - + - + - - 1 + + 2 - + - - + + - - + + - - b_errFlag + + b_motStdStill - + - - + + - + boolean @@ -2177,58 +2207,43 @@ - - - + + + - - + + - - + + - - 3 + + [b_toOpen] - - - - - - - - - - - - - - - - - b_motEna + + - + - - + + - + boolean @@ -2240,44 +2255,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - r_inpTgtSca + + b_errFlag + + + + + + + + + + + + + + + boolean @@ -2288,59 +2318,77 @@ - - - + + + - - + + - - + + - - 2 + + [z_ctrlModReq] - - + + - - - + + + - - + + - - b_motStdStill + + uint8 - - - - + + + + + + + + + + + + + + + - - + + - - boolean + + [b_toSpdMod] + + + + + + + @@ -2791,5 +2839,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.json index c896a3c..e5773cb 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 @@ -177,86 +177,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"b_toSpdMod", - "label":"b_toSpdMod", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8598", "className":"Simulink.Outport", @@ -387,11 +307,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant2", - "label":"constant2", + "name":"constant5", + "label":"constant5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -405,7 +325,7 @@ "FramePeriod" ], "values":[ - "OPEN_MODE", + "VLT_MODE", "on", "inf", "[]", @@ -436,11 +356,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8590", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant7", - "label":"constant7", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -454,7 +374,7 @@ "FramePeriod" ], "values":[ - "TRQ_MODE", + "SPD_MODE", "on", "inf", "[]", @@ -485,11 +405,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":[ @@ -530,11 +450,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8585", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"Relational Operator4", + "label":"Relational Operator4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -575,11 +495,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8584", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator10", - "label":"Relational Operator10", + "name":"Relational Operator3", + "label":"Relational Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -620,38 +540,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "==", + "TRQ_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", "off", - "boolean", - "Simplest", - "-1", - "on" + "inf" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 3, + 7 ] }, "viewer":{ @@ -660,16 +584,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8582", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8580", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator11", - "label":"Relational Operator11", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -681,7 +605,7 @@ "ZeroCross" ], "values":[ - "~=", + "==", "off", "boolean", "Simplest", @@ -710,11 +634,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8592", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8593", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant5", - "label":"constant5", + "name":"constant6", + "label":"constant6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -728,7 +652,7 @@ "FramePeriod" ], "values":[ - "VLT_MODE", + "SPD_MODE", "on", "inf", "[]", @@ -759,56 +683,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8585", - "className":"Simulink.RelationalOperator", - "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" - ], - "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", - "-Other" - ], - "tabs_idx":[ - 0, - 1, - 4 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"RelationalOperator", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8590", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8591", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"constant2", + "label":"constant2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -822,7 +701,7 @@ "FramePeriod" ], "values":[ - "SPD_MODE", + "OPEN_MODE", "on", "inf", "[]", @@ -853,11 +732,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -866,7 +745,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "b_toOpen", "local", "Tag" ], @@ -886,27 +765,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8571", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8581", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Relational Operator10", + "label":"Relational Operator10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "b_toOpen", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 + "==", + "off", + "boolean", + "Simplest", + "-1", + "on" + ], + "tabs":[ + "Main", + "Data Type", + "-Other" + ], + "tabs_idx":[ + 0, + 1, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -914,16 +805,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -932,7 +823,7 @@ "IconDisplay" ], "values":[ - "b_toSpdMod", + "z_ctrlModReq", "local", "Tag" ], @@ -952,11 +843,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -965,7 +856,7 @@ "IconDisplay" ], "values":[ - "b_toTrqMod", + "b_motEna", "local", "Tag" ], @@ -985,11 +876,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlModReq", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8566", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -998,7 +920,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_toTrqMod", "local", "Tag" ], @@ -1018,42 +940,38 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8593", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"constant6", - "label":"constant6", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", + "Operator", + "InputSameDT", "OutDataTypeStr", - "LockScale", - "FramePeriod" + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "SPD_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "~=", "off", - "inf" + "boolean", + "Simplest", + "-1", + "on" ], "tabs":[ "Main", - "Signal Attributes", + "Data Type", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 1, + 4 ] }, "viewer":{ @@ -1062,7 +980,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"RelationalOperator", "masktype":"" } }, @@ -1100,11 +1018,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8564", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1112,7 +1030,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toOpen", "Tag" ], "tabs":[ @@ -1131,11 +1049,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8599", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_toOpen", - "label":"b_toOpen", + "name":"b_toSpdMod", + "label":"b_toSpdMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1164,7 +1082,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -1210,6 +1128,51 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8582", + "className":"Simulink.RelationalOperator", + "icon":"WebViewIcon3", + "name":"Relational Operator11", + "label":"Relational Operator11", + "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:8563", "className":"Simulink.From", @@ -1242,19 +1205,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8572", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_toSpdMod", + "b_errFlag", + "local", "Tag" ], "tabs":[ @@ -1268,16 +1233,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1285,7 +1250,7 @@ "IconDisplay" ], "values":[ - "b_motStdStill", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1304,11 +1269,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8560", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1366,25 +1331,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8561", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8587", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "b_toOpen", - "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" @@ -1392,24 +1371,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8570", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_toSpdMod", + "local", "Tag" ], "tabs":[ @@ -1423,65 +1404,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8589", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "TRQ_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8556", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1489,7 +1421,7 @@ "IconDisplay" ], "values":[ - "b_errFlag", + "z_ctrlModReq", "Tag" ], "tabs":[ @@ -1539,11 +1471,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8562", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1551,7 +1483,7 @@ "IconDisplay" ], "values":[ - "b_toActive", + "b_toSpdMod", "Tag" ], "tabs":[ @@ -1570,61 +1502,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8553", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "b_toActive", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1632,44 +1528,32 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8583", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8565", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "~=", - "off", - "boolean", - "Simplest", - "-1", - "on" + "z_ctrlModPrev", + "local", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1677,7 +1561,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Goto", "masktype":"" } }, @@ -1749,11 +1633,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9419", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1761,7 +1645,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModPrev", + "b_motStdStill", "Tag" ], "tabs":[ @@ -1780,11 +1664,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8568", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1793,7 +1677,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "b_motStdStill", "local", "Tag" ], @@ -1813,11 +1697,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9420", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8549", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"b_motStdStill", - "label":"b_motStdStill", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1840,7 +1724,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "4", "Port number", "[]", "[]", @@ -1879,39 +1763,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8573", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "b_motEna", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8548", "className":"Simulink.Inport", @@ -1980,11 +1831,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8559", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8555", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -1992,7 +1843,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "z_ctrlModPrev", "Tag" ], "tabs":[ @@ -2011,27 +1862,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9421", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9420", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"b_motStdStill", + "label":"b_motStdStill", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "b_motStdStill", - "local", - "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" @@ -2039,43 +1924,65 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8586", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8547", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Relational Operator5", - "label":"Relational Operator5", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "RndMeth", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", "SampleTime", - "ZeroCross" + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "==", + "1", + "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":{ @@ -2084,16 +1991,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8547", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8597", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"b_toOpen", + "label":"b_toOpen", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2109,11 +2016,17 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ "1", @@ -2128,10 +2041,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", + "off", + "reset", "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -2151,16 +2071,96 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8594", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"constant7", + "label":"constant7", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "TRQ_MODE", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8552", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "b_errFlag", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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":[ @@ -2172,8 +2172,8 @@ "SampleTime" ], "values":[ - "NOT", - "2", + "OR", + "4", "rectangular", "off", "boolean", @@ -2246,11 +2246,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8576", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator4", - "label":"Logical Operator4", + "name":"Logical Operator7", + "label":"Logical Operator7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2262,8 +2262,8 @@ "SampleTime" ], "values":[ - "OR", - "4", + "NOT", + "2", "rectangular", "off", "boolean", @@ -2291,11 +2291,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8578", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator7", - "label":"Logical Operator7", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2307,7 +2307,7 @@ "SampleTime" ], "values":[ - "NOT", + "AND", "2", "rectangular", "off", @@ -2336,11 +2336,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8579", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator3", - "label":"Logical Operator3", + "name":"Logical Operator9", + "label":"Logical Operator9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2352,8 +2352,8 @@ "SampleTime" ], "values":[ - "AND", - "3", + "NOT", + "2", "rectangular", "off", "boolean", @@ -2381,11 +2381,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8574", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8575", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator3", + "label":"Logical Operator3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8546", "inspector":{ "params":[ @@ -2398,7 +2398,7 @@ ], "values":[ "AND", - "2", + "3", "rectangular", "off", "boolean", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8546_d.png index 84a1bef03779d67312513173bf7a17cab28ecffa..2d054a6580a49a1690da75a9e6cb323655d436bd 100644 GIT binary patch delta 7632 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 delta 7581 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 - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - b_toSpdMod - - - - - - - - @@ -189,11 +141,11 @@ - + - + 2 @@ -211,11 +163,11 @@ - + - + b_toActive @@ -237,11 +189,11 @@ - + - + OPEN_MODE @@ -259,11 +211,11 @@ - + - + uint8 @@ -275,43 +227,43 @@ - - + + - + - + - - OPEN_MODE + + VLT_MODE - + - + - - + + - + uint8 @@ -323,43 +275,43 @@ - - + + - + - + - - TRQ_MODE + + SPD_MODE - + - + - - + + - + uint8 @@ -371,37 +323,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -416,22 +368,22 @@ - + - + - - + + - + boolean @@ -443,37 +395,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -488,22 +440,22 @@ - + - + - - + + - + boolean @@ -515,37 +467,37 @@ - - - + + + - + - + - + - + - + - + - + @@ -560,22 +512,22 @@ - + - + - - + + - + boolean @@ -585,11 +537,59 @@ + + + + + + + + + + + + + + + + + + TRQ_MODE + + + + + + + + + + + + + + + + + + + + + + uint8 + + + + + + + + - + @@ -659,60 +659,44 @@ - - - + + + - - + + - + - - - - - - - - - + - - + + SPD_MODE - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -723,43 +707,43 @@ - - + + - + - + - - VLT_MODE + + OPEN_MODE - + - + - - + + - + uint8 @@ -771,37 +755,70 @@ - - - + + + - - + + - + - - + + - - + + [b_toOpen] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -816,22 +833,22 @@ - + - + - - + + - + boolean @@ -843,44 +860,29 @@ - - - + + + - - + + - - + + - - SPD_MODE + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - uint8 + + @@ -891,28 +893,28 @@ - - + + - + - + - - [b_errFlag] + + [b_motEna] - + @@ -924,62 +926,44 @@ - - - + + + - - + + - - + + - - [b_toOpen] + + [z_ctrlModReq] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [b_toSpdMod] - - - - - - - + + uint8 @@ -1000,11 +984,11 @@ - + - + [b_toTrqMod] @@ -1023,77 +1007,60 @@ - - - + + + - - + + - + - - + + - - [z_ctrlModPrev] + + - - - - - - + + + + + + + - - - - - - - - - - - - + + - - - - - - - SPD_MODE - - - + + - - + + - - + + - - uint8 + + boolean @@ -1114,11 +1081,11 @@ - + - + [b_toActive] @@ -1137,44 +1104,44 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_toOpen] - + - - + + - - + + - - uint8 + + boolean @@ -1185,44 +1152,44 @@ - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - b_toOpen + + b_toSpdMod @@ -1233,43 +1200,59 @@ - - - + + + - - + + - + - - + + - - [b_toOpen] + + + + + + + + + + - - - - + + + + + + + + + + + + - + - - + + - + boolean @@ -1281,43 +1264,43 @@ - - + + - + - + - - [b_toSpdMod] + + [b_toOpen] - + - + - - + + - + boolean @@ -1329,44 +1312,77 @@ - - + + + + + + + + + + + + + + + + [b_errFlag] + + + + + + + + + + + + + + + + + + + - + - + - - [b_motStdStill] + + [z_ctrlModReq] - + - - + + - - + + - - boolean + + uint8 @@ -1377,43 +1393,43 @@ - - + + - + - + - + [z_ctrlModReq] - + - + - - + + - + uint8 @@ -1435,11 +1451,11 @@ - + - + [b_toTrqMod] @@ -1457,11 +1473,11 @@ - + - + boolean @@ -1473,43 +1489,67 @@ - - - + + + - - + + - + - - + + - - [b_toOpen] + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + boolean @@ -1521,44 +1561,29 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [b_toSpdMod] - - - - - - - - - - - - - - - - - uint8 + + @@ -1569,43 +1594,43 @@ - - - + + + - - + + - - + + - - TRQ_MODE + + [z_ctrlModReq] - - + + - + - - + + - + uint8 @@ -1617,43 +1642,43 @@ - - + + - + - + - - [b_errFlag] + + [b_motEna] - + - + - - + + - + boolean @@ -1665,43 +1690,43 @@ - - + + - + - + - - [b_motEna] + + [b_toSpdMod] - + - + - - + + - + boolean @@ -1723,11 +1748,11 @@ - + - + [b_toActive] @@ -1745,11 +1770,11 @@ - + - + boolean @@ -1761,123 +1786,29 @@ - - - + + + - - + + - - + + - - 4 + + [z_ctrlModPrev] - - - - - - - - - - - - - - - - - z_ctrlModReq - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean + + @@ -1898,11 +1829,11 @@ - + - + 5 @@ -1920,11 +1851,11 @@ - + - + z_ctrlModPrev @@ -1935,11 +1866,11 @@ - + - + uint8 @@ -1951,44 +1882,44 @@ - - + + - + - + - - [z_ctrlModPrev] + + [b_motStdStill] - + - - + + - - + + - - uint8 + + boolean @@ -1999,28 +1930,28 @@ - - + + - + - + - - [z_ctrlModReq] + + [b_motStdStill] - + @@ -2032,58 +1963,121 @@ - - + + - + - + - - 2 + + 4 - + - - + + - - + + - - b_motStdStill + + z_ctrlModReq - + + + + + + + + + + uint8 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + b_errFlag + + + + + + - - + + - + boolean @@ -2095,29 +2089,44 @@ - - - + + + - - + + - - + + - - [b_motEna] + + [z_ctrlModPrev] - - + + + + + + + + + + + + + + + + + uint8 @@ -2128,58 +2137,58 @@ - - + + - + - + - - 3 + + 2 - + - - + + - - + + - - b_errFlag + + b_motStdStill - + - - + + - + boolean @@ -2191,44 +2200,59 @@ - - - + + + - - + + - - + + + + + + 1 + + + + + + + + + + + + + + + + + + - - [z_ctrlModReq] - - - - - - - + + b_motEna - - + + - - + + - - uint8 + + boolean @@ -2239,29 +2263,44 @@ - - - + + + - - + + - - + + - - [b_motStdStill] + + 1 - - + + + + + + + + + + + + + + + + + b_toOpen @@ -2272,68 +2311,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + TRQ_MODE - - - - - - - - - - + + - - + + - - + + - - boolean + + uint8 @@ -2344,58 +2359,43 @@ - - - + + + - - + + - - + + - - 1 + + [b_errFlag] - - - - - - - - - - - - - - - - - b_motEna + + - + - + - + boolean @@ -2407,30 +2407,30 @@ - - - + + + - - + + - + - - + + - + - - + + @@ -2440,23 +2440,23 @@ - + - + - + boolean - - + + @@ -2473,7 +2473,7 @@ - + @@ -2535,30 +2535,30 @@ - - - + + + - - + + - + - - + + - + - - + + @@ -2568,23 +2568,23 @@ - + - + - + boolean - - + + @@ -2599,30 +2599,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2632,23 +2632,23 @@ - + - + - + boolean - - + + @@ -2663,30 +2663,30 @@ - - - + + + - - + + - + - - + + - - + + @@ -2696,23 +2696,23 @@ - + - + - + boolean - - + + @@ -2727,29 +2727,29 @@ - - - + + + - - + + - + - - + + - + @@ -2760,23 +2760,23 @@ - + - + - + boolean - - + + @@ -3417,5 +3417,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.json index 4da3b7e..5c344d6 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 @@ -180,7 +180,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:33", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -194,7 +194,7 @@ "Document" ], "values":[ - 2, + 1, "", "", "" @@ -213,7 +213,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:33", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:30", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", @@ -227,7 +227,7 @@ "Document" ], "values":[ - 1, + 2, "", "", "" @@ -456,11 +456,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:13", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:14", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toActive]", + "label":"[b_toOpen]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -471,7 +471,7 @@ ], "values":[ 1, - "[b_toActive]", + "[b_toOpen]", "", "" ], @@ -489,11 +489,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:14", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8603:13", "className":"Stateflow.Transition", "icon":"WebViewIcon8", "name":"", - "label":"[b_toOpen]", + "label":"[b_toActive]", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8603", "inspector":{ "params":[ @@ -504,7 +504,7 @@ ], "values":[ 1, - "[b_toOpen]", + "[b_toActive]", "", "" ], diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8603_d.svg index 57302c1..bca34d6 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,10 +55,10 @@ - + - + @@ -73,40 +73,28 @@ - - - - - - - - - - - - - + - + - + - + - + @@ -165,7 +153,7 @@ - + @@ -180,25 +168,25 @@ - + - + - + - + - + @@ -257,7 +245,7 @@ - + @@ -272,25 +260,25 @@ - + - + - + - + - + @@ -349,7 +337,7 @@ - + @@ -361,10 +349,22 @@ + + + + + + + + + + + + - + @@ -372,26 +372,12 @@ - + - + - - - - - - - - - - - - - 2 - - + @@ -401,7 +387,7 @@ - + @@ -409,12 +395,26 @@ - + - + - + + + + + + + + + + + + + 2 + + @@ -726,33 +726,33 @@ - + - + - + - - + + - + - - + + - + - - [b_toActive] + + [b_toOpen] - + @@ -762,33 +762,33 @@ - + - + - + - - + + - + - - + + - + - - [b_toOpen] + + [b_toActive] - + @@ -798,5 +798,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.json index ff5b74f..1788a44 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 @@ -476,7 +476,7 @@ "OutputFunctionCall" ], "values":[ - "8", + "11", "Port number", "[]", "[]", @@ -576,7 +576,7 @@ "OutputFunctionCall" ], "values":[ - "9", + "12", "Port number", "[]", "[]", @@ -730,11 +730,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9197", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"r_devSignal1", - "label":"r_devSignal1", + "name":"r_devSignal2", + "label":"r_devSignal2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -763,7 +763,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -810,72 +810,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9195", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10173", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Vq", - "label":"Vq", + "name":"toNegative", + "label":"toNegative", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "2", - "Port number", + "-1", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", + "Inherit: Same as input", "off", - "0", - "off", - "reset", + "Zero", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "[]", + "[]", + "Inherit: Same as input", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, + 8, 11 ] }, @@ -885,16 +864,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", + "name":"Sine_Cosine_Approximation", + "label":"Sine_Cosine_Approximation", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -946,7 +925,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -987,147 +966,129 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Vd_Calculation", - "label":"Vd_Calculation", + "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:9195", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vq", + "label":"Vq", "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", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "", "off", - "", + "0", "off", + "held", "off", + "0", "", + [ + ], + "Dialog", "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "off" ], "tabs":[ "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108", - "className":"Simulink.SwitchCase", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9072", + "className":"Simulink.Scope", "icon":"WebViewIcon3", - "name":"Switch Case", - "label":"Switch Case", + "name":"Scope8", + "label":"Scope8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "CaseConditions", - "ShowDefaultCase", - "SampleTime", - "ZeroCross" - ], - "values":[ - "{VLT_MODE, SPD_MODE, TRQ_MODE}", - "on", - "-1", - "on" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2 - ] - }, + "inspector":[ + ], "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SwitchCase", + "blocktype":"Scope", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Mode", - "label":"Speed_Mode", + "name":"Park_Transform", + "label":"Park_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1179,7 +1140,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -1220,11 +1181,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Mux8", - "label":"Mux8", + "name":"Mux7", + "label":"Mux7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1251,11 +1212,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Mux7", - "label":"Mux7", + "name":"Mux1", + "label":"Mux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1263,7 +1224,7 @@ "DisplayOption" ], "values":[ - "3", + "2", "bar" ], "tabs":[ @@ -1282,27 +1243,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9196", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"r_devSignal1", + "label":"r_devSignal1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_min", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], - "tabs_idx":0 + "values":[ + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "0", + "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1310,82 +1318,182 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto34", - "label":"Goto34", + "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":[ - "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_limProt", - "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:9072", - "className":"Simulink.Scope", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10363", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Scope8", - "label":"Scope8", + "name":"If3", + "label":"If3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":[ - ], + "inspector":{ + "params":[ + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Scope", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Mux1", - "label":"Mux1", + "name":"If2", + "label":"If2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "2", - "bar" + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1393,16 +1501,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Goto9", + "label":"Goto9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1411,7 +1519,7 @@ "IconDisplay" ], "values":[ - "id_min", + "n_mot", "local", "Tag" ], @@ -1431,11 +1539,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto28", - "label":"Goto28", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1444,7 +1552,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vq_max", "local", "Tag" ], @@ -1464,11 +1572,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto25", - "label":"Goto25", + "name":"Goto36", + "label":"Goto36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1477,7 +1585,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "r_cos", "local", "Tag" ], @@ -1497,11 +1605,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8849", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto24", - "label":"Goto24", + "name":"Goto28", + "label":"Goto28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1510,7 +1618,7 @@ "IconDisplay" ], "values":[ - "id", + "iq_min", "local", "Tag" ], @@ -1530,11 +1638,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto21", - "label":"Goto21", + "name":"Goto27", + "label":"Goto27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1543,7 +1651,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "r_inpTgtSca", "local", "Tag" ], @@ -1563,11 +1671,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8830", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1576,7 +1684,7 @@ "IconDisplay" ], "values":[ - "Vq_Open", + "iq", "local", "Tag" ], @@ -1596,19 +1704,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10703", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From71", - "label":"From71", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id", + "r_inpTgtScaAbs", + "local", "Tag" ], "tabs":[ @@ -1622,24 +1732,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10171", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "id_Tgt", + "local", "Tag" ], "tabs":[ @@ -1653,24 +1765,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8850", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From69", - "label":"From69", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", + "id_min", + "local", "Tag" ], "tabs":[ @@ -1684,24 +1798,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From67", - "label":"From67", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_limProt", + "Vd_min", + "local", "Tag" ], "tabs":[ @@ -1715,24 +1831,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq", + "Vd_max", + "local", "Tag" ], "tabs":[ @@ -1746,24 +1864,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10360", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From57", - "label":"From57", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_max", + "task2", + "local", "Tag" ], "tabs":[ @@ -1777,24 +1897,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10687", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From56", - "label":"From56", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd_min", + "n_motAbs", + "local", "Tag" ], "tabs":[ @@ -1808,24 +1930,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10686", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From54", - "label":"From54", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd_min", + "iqAbs", + "local", "Tag" ], "tabs":[ @@ -1839,7 +1963,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -1857,7 +1981,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "r_fieldWeak", "local", "Tag" ], @@ -1877,11 +2001,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8861", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10448", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -1890,7 +2014,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "VdPrev", "local", "Tag" ], @@ -1910,19 +2034,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10172", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From52", - "label":"From52", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "id_TgtAbs", + "local", "Tag" ], "tabs":[ @@ -1936,24 +2062,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10359", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From68", - "label":"From68", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_limPrott", + "task3", + "local", "Tag" ], "tabs":[ @@ -1967,24 +2095,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10394", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From46", - "label":"From46", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Vlt", + "Vd", + "local", "Tag" ], "tabs":[ @@ -1998,16 +2128,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10428", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2015,7 +2145,7 @@ "IconDisplay" ], "values":[ - "iq", + "id", "Tag" ], "tabs":[ @@ -2034,19 +2164,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8862", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From59", - "label":"From59", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_max", + "Vq_min", + "local", "Tag" ], "tabs":[ @@ -2060,16 +2192,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10438", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From50", - "label":"From50", + "name":"From62", + "label":"From62", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2077,7 +2209,7 @@ "IconDisplay" ], "values":[ - "Vq", + "iq_limProtErr", "Tag" ], "tabs":[ @@ -2096,11 +2228,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"From61", + "label":"From61", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2108,7 +2240,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "iq", "Tag" ], "tabs":[ @@ -2127,11 +2259,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10433", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From43", - "label":"From43", + "name":"From57", + "label":"From57", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2139,7 +2271,7 @@ "IconDisplay" ], "values":[ - "Vd", + "id_max", "Tag" ], "tabs":[ @@ -2158,11 +2290,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From56", + "label":"From56", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2170,7 +2302,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vd_min", "Tag" ], "tabs":[ @@ -2189,11 +2321,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From55", + "label":"From55", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2201,7 +2333,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "Vd_max", "Tag" ], "tabs":[ @@ -2220,19 +2352,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10395", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From35", - "label":"From35", + "name":"Goto10", + "label":"Goto10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "Vq", + "local", "Tag" ], "tabs":[ @@ -2246,16 +2380,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10440", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From41", - "label":"From41", + "name":"From59", + "label":"From59", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2263,7 +2397,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "iq_max", "Tag" ], "tabs":[ @@ -2282,11 +2416,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10431", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From33", - "label":"From33", + "name":"From53", + "label":"From53", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2294,7 +2428,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "Vd_max", "Tag" ], "tabs":[ @@ -2313,21 +2447,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto35", - "label":"Goto35", + "name":"From52", + "label":"From52", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", - "local", + "id_TgtAbs", "Tag" ], "tabs":[ @@ -2341,42 +2473,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10362", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "task2", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2384,16 +2504,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10743", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From31", - "label":"From31", + "name":"From47", + "label":"From47", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2401,7 +2521,7 @@ "IconDisplay" ], "values":[ - "iq", + "r_inpTgtScaAbs", "Tag" ], "tabs":[ @@ -2420,21 +2540,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8864", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10439", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"From64", + "label":"From64", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_mot", - "local", + "Vq_nLimProtMax", "Tag" ], "tabs":[ @@ -2448,24 +2566,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10728", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From29", - "label":"From29", + "name":"Goto30", + "label":"Goto30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", + "r_nLimProtMax", + "local", "Tag" ], "tabs":[ @@ -2479,16 +2599,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10726", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From27", - "label":"From27", + "name":"From44", + "label":"From44", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2496,7 +2616,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "r_iqLimProtMax", "Tag" ], "tabs":[ @@ -2515,11 +2635,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10444", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From58", - "label":"From58", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2527,7 +2647,7 @@ "IconDisplay" ], "values":[ - "id_min", + "iq", "Tag" ], "tabs":[ @@ -2546,21 +2666,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8852", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto30", - "label":"Goto30", + "name":"From41", + "label":"From41", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq", - "local", + "Vq_max", "Tag" ], "tabs":[ @@ -2574,16 +2692,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10707", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From26", - "label":"From26", + "name":"From39", + "label":"From39", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2591,7 +2709,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_inpTgtScaAbs", "Tag" ], "tabs":[ @@ -2610,11 +2728,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10445", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2622,7 +2740,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "n_mot", "Tag" ], "tabs":[ @@ -2641,21 +2759,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8832", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From43", + "label":"From43", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Spd", - "local", + "Vd", "Tag" ], "tabs":[ @@ -2669,16 +2785,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10697", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From23", - "label":"From23", + "name":"From34", + "label":"From34", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2686,7 +2802,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "n_motAbs", "Tag" ], "tabs":[ @@ -2705,21 +2821,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From33", + "label":"From33", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_enaAdvCtrl", - "local", + "id_Tgt", "Tag" ], "tabs":[ @@ -2733,16 +2847,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From53", - "label":"From53", + "name":"From40", + "label":"From40", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2750,7 +2864,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "Vq", "Tag" ], "tabs":[ @@ -2769,11 +2883,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From49", - "label":"From49", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2781,7 +2895,7 @@ "IconDisplay" ], "values":[ - "Vq_Open", + "r_sin", "Tag" ], "tabs":[ @@ -2800,11 +2914,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From21", - "label":"From21", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2812,7 +2926,7 @@ "IconDisplay" ], "values":[ - "b_motEna", + "r_cos", "Tag" ], "tabs":[ @@ -2831,21 +2945,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8831", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_Trq", - "local", + "r_sin", "Tag" ], "tabs":[ @@ -2859,16 +2971,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10446", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -2876,7 +2988,7 @@ "IconDisplay" ], "values":[ - "Vd", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -2895,108 +3007,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Open_Mode", - "label":"Open_Mode", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", "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", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "VdPrev", + "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:8817", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From61", - "label":"From61", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3004,7 +3050,7 @@ "IconDisplay" ], "values":[ - "iq", + "a_elecAngle", "Tag" ], "tabs":[ @@ -3023,11 +3069,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10436", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From16", + "label":"From16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3035,7 +3081,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "Vq_max", "Tag" ], "tabs":[ @@ -3054,11 +3100,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3085,11 +3131,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10430", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From55", - "label":"From55", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3097,7 +3143,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -3116,21 +3162,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8837", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10698", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto17", - "label":"Goto17", + "name":"From37", + "label":"From37", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", - "local", + "iqAbs", "Tag" ], "tabs":[ @@ -3144,16 +3188,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10701", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3161,7 +3205,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -3180,11 +3224,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10432", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From40", - "label":"From40", + "name":"From54", + "label":"From54", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3192,7 +3236,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vd_min", "Tag" ], "tabs":[ @@ -3211,11 +3255,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux8", + "label":"Mux8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "3", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From42", - "label":"From42", + "name":"From35", + "label":"From35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3223,7 +3298,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -3242,11 +3317,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10174", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From62", - "label":"From62", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3254,7 +3329,7 @@ "IconDisplay" ], "values":[ - "iq_limPrott", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -3273,11 +3348,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3285,7 +3360,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "Vq", "Tag" ], "tabs":[ @@ -3304,11 +3379,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8841", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto20", - "label":"Goto20", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3317,7 +3392,7 @@ "IconDisplay" ], "values":[ - "Vd", + "iq_limProtErr", "local", "Tag" ], @@ -3337,19 +3412,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8863", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From28", - "label":"From28", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_sin", + "b_enaAdvCtrl", + "local", "Tag" ], "tabs":[ @@ -3363,26 +3440,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8853", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10434", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"From58", + "label":"From58", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq_limPrott", - "local", + "id_min", "Tag" ], "tabs":[ @@ -3396,42 +3471,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10729", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"From46", + "label":"From46", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 ~= 0", - "", - "off", - "-1", - "on" + "r_nLimProtMax", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3439,16 +3502,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10030", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10437", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3456,7 +3519,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_min", "Tag" ], "tabs":[ @@ -3475,21 +3538,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8844", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto23", - "label":"Goto23", + "name":"From42", + "label":"From42", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq", - "local", + "Vq_min", "Tag" ], "tabs":[ @@ -3503,16 +3564,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Park_Transform", - "label":"Park_Transform", + "name":"Clarke_Transform", + "label":"Clarke_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3605,106 +3666,137 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8838", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto18", - "label":"Goto18", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Current_Filtering", + "label":"Current_Filtering", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "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":[ - "Vd_min", - "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:9197", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10702", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"r_devSignal2", - "label":"r_devSignal2", + "name":"Abs1", + "label":"Abs1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "RndMeth", + "SaturateOnIntegerOverflow", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "ZeroCross" ], "values":[ - "4", - "Port number", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", + "Inherit: Inherit via back propagation", "off", + "Zero", "off", - "0", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "-1", + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ @@ -3713,38 +3805,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8912", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" + "Inputs", + "DisplayOption" ], "values":[ - "[]", - "off", - "[]", - "4" + "2", + "bar" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3752,123 +3836,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"Mux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Current_Filtering", - "label":"Current_Filtering", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10688", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From30", + "label":"From30", "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", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "iq", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "tabs_idx":0 }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9073", - "className":"Simulink.Scope", - "icon":"WebViewIcon3", - "name":"Scope9", - "label":"Scope9", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":[ - ], "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Scope", + "blocktype":"From", "masktype":"" } }, @@ -3904,19 +3903,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8842", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -3930,24 +3931,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd", + "z_ctrlMod", + "local", "Tag" ], "tabs":[ @@ -3961,30 +3964,46 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10689", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "Vq_Spd", - "Tag" + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "Zero", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 6 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3992,16 +4011,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From71", + "label":"From71", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4009,7 +4028,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "id", "Tag" ], "tabs":[ @@ -4028,27 +4047,192 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Motor_Limitations", - "label":"Motor_Limitations", + "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":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "10", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10441", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From60", + "label":"From60", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "iq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_fieldWeak", + "label":"r_fieldWeak", + "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":[ + "9", + "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:10364", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"FOC", + "label":"FOC", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", "IsSubsystemVirtual", "MemberBlocks", "MinAlgLoopOccurrences", @@ -4084,7 +4268,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -4125,11 +4309,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8856", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto34", + "label":"Goto34", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_nLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4137,7 +4354,7 @@ "IconDisplay" ], "values":[ - "id", + "iq", "Tag" ], "tabs":[ @@ -4156,21 +4373,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8858", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto36", - "label":"Goto36", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_cos", - "local", "Tag" ], "tabs":[ @@ -4184,12 +4399,12 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10691", "className":"Simulink.Inport", "icon":"WebViewIcon3", "name":"n_motAbs", @@ -4216,7 +4431,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "8", "Port number", "[]", "[]", @@ -4256,11 +4471,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"b_motEna", + "label":"b_motEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4283,7 +4498,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "6", "Port number", "[]", "[]", @@ -4323,11 +4538,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10429", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From60", - "label":"From60", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4335,7 +4550,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "id_Tgt", "Tag" ], "tabs":[ @@ -4354,22 +4569,65 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10365", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"b_motEna", - "label":"b_motEna", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1", + "u1 ~= 0", + "", + "off", + "-1", + "on" + ], + "tabs":[ + "Parameter Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 4 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"If", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10358", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"task3", + "label":"task3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", "VarSizeSig", "SampleTime", "SignalType", @@ -4381,7 +4639,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -4421,21 +4679,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8848", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10393", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto27", - "label":"Goto27", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "task3", "Tag" ], "tabs":[ @@ -4449,16 +4705,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From48", - "label":"From48", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4466,7 +4722,7 @@ "IconDisplay" ], "values":[ - "Vq_Trq", + "b_motEna", "Tag" ], "tabs":[ @@ -4485,124 +4741,111 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clarke_Transform", - "label":"Clarke_Transform", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10447", + "className":"Simulink.UnitDelay", + "icon":"WebViewIcon3", + "name":"UnitDelay4", + "label":"UnitDelay4", "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" + "InitialCondition", + "InputProcessing", + "SampleTime", + "StateName", + "CodeGenStateStorageTypeQualifier", + "StateMustResolveToSignalObject", + "StateSignalObject", + "StateStorageClass" ], "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", + "0", + "Inherited", "-1", "", + "", "off", - "" + [ + ], + "Auto" ], "tabs":[ "Main", + "State Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 3, + 4 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8851", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"n_mot", + "label":"n_mot", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "z_ctrlMod", - "local", - "Tag" + "7", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -4610,24 +4853,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8845", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From32", - "label":"From32", + "name":"Goto24", + "label":"Goto24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "id", + "local", "Tag" ], "tabs":[ @@ -4641,7 +4886,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -4713,7 +4958,7 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10435", "className":"Simulink.From", "icon":"WebViewIcon3", "name":"From", @@ -4744,19 +4989,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10719", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"Goto26", + "label":"Goto26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "id_Tgt", + "r_iqLimProtMax", + "local", "Tag" ], "tabs":[ @@ -4770,24 +5017,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9717", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto32", + "label":"Goto32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq", + "b_motEna", + "local", "Tag" ], "tabs":[ @@ -4801,16 +5050,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8834", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8846", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"Goto25", + "label":"Goto25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4819,7 +5068,7 @@ "IconDisplay" ], "values":[ - "Vq_Vlt", + "iq_max", "local", "Tag" ], @@ -4839,11 +5088,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4866,7 +5115,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "2", "Port number", "[]", "[]", @@ -4906,42 +5155,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From63", - "label":"From63", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_mot", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8860", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8839", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto40", - "label":"Goto40", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -4950,7 +5168,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "id_max", "local", "Tag" ], @@ -4970,118 +5188,86 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10357", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"task2", + "label":"task2", "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", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", + "4", + "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:8839", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_max", - "local", + "Vd", "Tag" ], "tabs":[ @@ -5095,30 +5281,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From15", - "label":"From15", + "name":"b_enaAdvCtrl", + "label":"b_enaAdvCtrl", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "r_inpTgtSca", - "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" @@ -5126,16 +5348,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From64", - "label":"From64", + "name":"From69", + "label":"From69", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5143,7 +5365,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "z_ctrlMod", "Tag" ], "tabs":[ @@ -5162,11 +5384,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8847", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8857", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto26", - "label":"Goto26", + "name":"Goto35", + "label":"Goto35", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5175,7 +5397,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "r_sin", "local", "Tag" ], @@ -5195,619 +5417,100 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9717", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto32", - "label":"Goto32", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "b_motEna", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "n_motAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", - "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":[ - "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:8659", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"b_enaAdvCtrl", - "label":"b_enaAdvCtrl", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Inport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_min", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Field_Weakening", - "label":"Field_Weakening", - "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:9026", - "className":"Simulink.Mux", - "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", - "inspector":{ - "params":[ - "Inputs", - "DisplayOption" - ], - "values":[ - "2", - "bar" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Mux", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8827#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:8886#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:8886#out:2", - "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", - "", - "" + "iq", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"From", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8665#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From50", + "label":"From50", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "GotoTag", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "Vq", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"From", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8666#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From32", + "label":"From32", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "GotoTag", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "id", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"From", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8827#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5858,7 +5561,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5909,7 +5612,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5960,7 +5663,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9024#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8665#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6011,7 +5714,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9025#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8666#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6062,7 +5765,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6113,7 +5816,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6164,7 +5867,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6215,7 +5918,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9024#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6266,7 +5969,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9025#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6317,7 +6020,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8781#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6368,7 +6071,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8782#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6419,7 +6122,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8783#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6470,7 +6173,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8784#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6521,7 +6224,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8769#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8772#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6572,7 +6275,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8778#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8786#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6623,7 +6326,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8787#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6674,7 +6377,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8788#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6725,7 +6428,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8661#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6776,7 +6479,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8769#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6827,7 +6530,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8778#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6878,7 +6581,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8810#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6929,7 +6632,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8798#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6980,7 +6683,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9028#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7031,7 +6734,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8811#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7082,7 +6785,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8795#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7133,7 +6836,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9027#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7184,7 +6887,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8796#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7235,7 +6938,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8797#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7286,7 +6989,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8766#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7337,7 +7040,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8770#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7388,7 +7091,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7439,7 +7142,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7490,7 +7193,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8815#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7541,7 +7244,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8659#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7592,7 +7295,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8794#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7643,7 +7346,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8779#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8660#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7694,7 +7397,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8662#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7745,7 +7448,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8790#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7796,7 +7499,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7847,7 +7550,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7898,7 +7601,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8765#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:4", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7949,7 +7652,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8773#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8000,7 +7703,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8777#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8051,7 +7754,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8774#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8102,7 +7805,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8780#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8153,7 +7856,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8789#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:5", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8204,7 +7907,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8791#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:6", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8255,7 +7958,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8799#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:7", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8306,7 +8009,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8793#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:8", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8357,7 +8060,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8792#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8408,7 +8111,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8800#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:11", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8459,7 +8162,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:12", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8510,7 +8213,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8561,7 +8264,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8612,7 +8315,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9108#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8663,7 +8366,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8801#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8714,7 +8417,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8802#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8765,7 +8468,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8803#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8816,7 +8519,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8804#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8867,7 +8570,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8806#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8918,7 +8621,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8912#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -8969,7 +8672,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9020,7 +8723,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9071,7 +8774,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8776#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9122,7 +8825,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8807#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9173,7 +8876,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10173#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9224,7 +8927,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10174#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9275,7 +8978,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8808#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10357#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9326,7 +9029,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8809#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10358#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9377,7 +9080,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10363#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9428,7 +9131,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:6", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10362#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9479,7 +9182,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:7", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10365#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9530,7 +9233,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:8", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10393#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9581,7 +9284,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8812#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10364#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9632,7 +9335,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8813#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10364#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9683,7 +9386,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8814#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10430#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9734,7 +9437,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8816#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10429#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9785,7 +9488,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8817#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10428#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9836,7 +9539,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:9", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10431#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9887,7 +9590,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8818#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10432#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9938,7 +9641,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:10", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10433#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -9989,7 +9692,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8819#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10434#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10040,7 +9743,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8820#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10435#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10091,7 +9794,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8823#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10436#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10142,7 +9845,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8824#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10437#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10193,7 +9896,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8825#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10438#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10244,7 +9947,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8663#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10439#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10295,7 +9998,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10440#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10346,7 +10049,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:2", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10441#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10397,7 +10100,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8775#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10444#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10448,7 +10151,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10445#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10499,7 +10202,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8785#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10446#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10550,7 +10253,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8664#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10447#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10601,7 +10304,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9023#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10689#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10652,7 +10355,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9026#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10688#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10703,7 +10406,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743#out:4", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10691#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10754,7 +10457,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10697#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10805,7 +10508,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9655#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10698#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10856,7 +10559,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8826#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10701#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10907,7 +10610,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8768#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10702#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -10958,7 +10661,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9713#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10707#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11009,7 +10712,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8771#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:9", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11060,7 +10763,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9715#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10726#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11111,7 +10814,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9716#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913#out:10", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11162,7 +10865,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9718#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10729#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -11213,7 +10916,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10030#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10743#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 ffc2ce88974d95c08cbf6cf54e788d50e4779ade..c862a83e63ae17b67a6cbc572b2adddb4b962ecd 100644 GIT binary patch literal 9638 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 jOCDkR|DL^SJEo*0`i - + - + @@ -14,15 +14,15 @@ - + - + - + Start filtering only when motor is enabled (circuit closed). @@ -33,10 +33,10 @@ - + - + @@ -46,29 +46,29 @@ - + 1 - + - + - + - + V_phaABC_FOC @@ -81,10 +81,10 @@ - + - + @@ -94,14 +94,14 @@ - + [V_phaABC_FOC] - + @@ -114,10 +114,10 @@ - + - + @@ -127,29 +127,29 @@ - + [V_phaABC_FOC] - + - + - + - + sfix16_En4 @@ -162,10 +162,10 @@ - + - + @@ -175,29 +175,29 @@ - + [i_phaAB] - + - + - + - + sfix16_En4 @@ -210,10 +210,10 @@ - + - + @@ -223,29 +223,29 @@ - + [i_phaBC] - + - + - + - + sfix16_En4 @@ -258,8 +258,8 @@ - - + + @@ -267,7 +267,7 @@ - + @@ -277,7 +277,7 @@ - + Vq @@ -285,7 +285,7 @@ - + Vd @@ -293,7 +293,7 @@ - + r_sin @@ -301,7 +301,7 @@ - + r_cos @@ -309,7 +309,7 @@ - + V_alpha @@ -317,7 +317,7 @@ - + V_beta @@ -330,7 +330,7 @@ - + @@ -343,15 +343,15 @@ - + - + - + Inv_Park_Transform @@ -364,15 +364,15 @@ - + - + - + sfix16_En4 @@ -385,15 +385,15 @@ - + - + - + sfix16_En4 @@ -412,8 +412,8 @@ - - + + @@ -421,7 +421,7 @@ - + @@ -431,7 +431,7 @@ - + V_alpha @@ -439,7 +439,7 @@ - + V_beta @@ -447,7 +447,7 @@ - + V_phaABC_FOC @@ -460,7 +460,7 @@ - + @@ -473,15 +473,15 @@ - + - + - + Inv_Clarke_Transform @@ -494,15 +494,15 @@ - + - + - + sfix16_En4 @@ -521,10 +521,10 @@ - + - + @@ -534,44 +534,44 @@ - - 8 + + 11 - + - + - + - + i_phaAB - + - + - + sfix16_En4 @@ -584,10 +584,10 @@ - + - + @@ -597,14 +597,14 @@ - + [i_phaAB] - + @@ -617,10 +617,10 @@ - + - + @@ -630,44 +630,44 @@ - - 9 + + 12 - + - + - + - + i_phaBC - + - + - + sfix16_En4 @@ -680,10 +680,10 @@ - + - + @@ -693,14 +693,14 @@ - + [i_phaBC] - + @@ -713,42 +713,42 @@ - + - + - + - + - + - + - + - + sfix16_En4 @@ -761,10 +761,10 @@ - - + + - + @@ -774,7 +774,7 @@ - + @@ -782,7 +782,7 @@ - + @@ -797,7 +797,7 @@ - + @@ -810,42 +810,42 @@ - + - + - + - + - + - + - + - + sfix16_En4 @@ -857,11 +857,11 @@ - - + + - + @@ -871,30 +871,30 @@ - - 3 + + 4 - + - + - + - - r_devSignal1 + + r_devSignal2 @@ -905,44 +905,44 @@ - - - + + + - - + + - + - - 2 + + -1 - - + + - - - + + + - + - - Vq + + sfix16_En4 @@ -953,9 +953,9 @@ - - - + + + @@ -963,66 +963,34 @@ - - + + - + - - r_inpTgtSca + + a_elecAngle - + - - Vq_max + + r_sin - - - - - Vq_min - - - - - - - - iq_limProt - - - - - - - - n_limProt - - - - - - - - Vq_Vlt - - - - + - - case: { } + + r_cos @@ -1034,8 +1002,8 @@ - - + + @@ -1047,16 +1015,16 @@ - - + + - - + + - - Voltage_Mode + + Sine_Cosine_Approximation @@ -1068,16 +1036,16 @@ - - + + - - + + - - action + + sfix16_En14 @@ -1089,16 +1057,16 @@ - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1109,90 +1077,220 @@ - + - - + + - - - - - - - - + + - + - - + + - - id_Tgt + + - + - - id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - Vd_max + + 2 + + + + + + + + + + + + + + + + + + + + + + Vq + + + + + + + + + + + + + + + + + + - - + + - - Vd_min + + - - + + - - id_max + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i_apha - - + + - - id_min + + i_beta - - + + - - Vd + + r_sin - - + + - - if { } + + r_cos + + + + + + + + iq_Raw + + + + + + + + id_Raw @@ -1204,8 +1302,8 @@ - - + + @@ -1217,16 +1315,16 @@ - - + + - - + + - - Vd_Calculation + + Park_Transform @@ -1238,16 +1336,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1259,15 +1357,15 @@ - + - - + + - + sfix16_En4 @@ -1279,127 +1377,146 @@ - + - - + + - - + + - - - - - - u1 - - - - - - - - case [ 1 ]: - - - - - - - - case [ 2 ]: - - - - - - - - case [ 3 ]: - - - - + + - - default: + + - - + + - - + + - - + + - - action + + sfix16_En4 - - - - + + + + + + + + + + + + + + + - - + + - - action + + + + + + + + + - - + + - - + + - - action + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + - - + + - - action + + r_devSignal1 @@ -1410,9 +1527,9 @@ - - - + + + @@ -1420,66 +1537,170 @@ - - + + - - + + - - r_inpTgtSca + + z_ctrlMod - - + + - - Vq_max + + r_inpTgtScaAbs - - + + - - Vq_min + + VdPrev - - + + - - n_mot + + id_TgtAbs + + + + + + + + iq + + + + + + + + iqAbs + + + + + + + + n_motAbs + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + iq_max + + + + + + + + iq_min + + + + + + + + r_iqLimProtMax + + + + + + + + r_nLimProtMax - - + + - - iq_limProt + + iq_limProtErr - - + + - - Vq_Spd + + Vq_nLimProtMax - - + + - - case: { } + + if { } @@ -1491,8 +1712,8 @@ - - + + @@ -1504,16 +1725,16 @@ - - + + - - + + - - Speed_Mode + + Motor_Limitations @@ -1525,15 +1746,15 @@ - + - - + + - + sfix16_En4 @@ -1546,574 +1767,246 @@ - - + + - - + + - - action + + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + action - + + + + + + + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + sfix16_En4 - + + + + + + + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - [Vq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + + - - - - - - - - - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - [id_min] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [iq_min] - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + + - - [iq_max] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [id] - - - - - - - + + sfix32_En20 - - - - - - - - - - - - - - - + - - - + + + + - - [a_elecAngle] - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - [Vq_Open] - - - - - - - + + sfix16_En4 - - - - - - - - - - - - - - - + - - - + + + + - - [id] - - - - - - - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - + - - - + + + + - - [r_inpTgtSca] - - - - - - - - - - - - - + - - + + - + sfix16_En4 @@ -2125,92 +2018,58 @@ - - - + + + + + + + + + - - + + - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - + + - - uint8 + + u1 - - - - - - - - - - - - - - - - - - - - + + - - [n_limProt] + + if(u1 ~= 0) - - + + - - + + - - + + - - sfix16_En4 + + action @@ -2221,92 +2080,52 @@ - - - + + + - - + + - - - - - - [Vq] - - - - - - - - - - - - - - - - - - + + - - sfix16_En4 + + u1 - - - - - - - - - - - - - - - - - - - - + + - - [id_max] + + if(u1 ~= 0) - - + + - - + + - - + + - - sfix16_En4 + + action @@ -2317,44 +2136,29 @@ - - - + + + - - + + - - + + - - [Vd_min] - - - - - - - + + [n_mot] - - - - - - - - - - - - sfix16_En4 + + + + @@ -2365,44 +2169,29 @@ - - - + + + - - + + - - + + - - [Vd_min] + + [Vq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2413,11 +2202,11 @@ - - + + - + @@ -2427,14 +2216,14 @@ - - [n_motAbs] + + [r_cos] - + @@ -2446,11 +2235,11 @@ - - + + - + @@ -2460,14 +2249,14 @@ - - [Vq_max] + + [iq_min] - + @@ -2479,44 +2268,29 @@ - - - + + + - - + + - + - - [id_TgtAbs] + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2527,44 +2301,29 @@ - - - + + + - - + + - - + + - - [iq_limPrott] + + [iq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2575,44 +2334,29 @@ - - - + + + - - + + - - + + - - [Vq_Vlt] + + [r_inpTgtScaAbs] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2623,44 +2367,29 @@ - - - + + + - - + + - - + + - - [iq] + + [id_Tgt] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2671,44 +2400,29 @@ - - - + + + - - + + - - + + - - [iq_max] + + [id_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2719,44 +2433,29 @@ - - - + + + - - + + - - + + - - [Vq] + + [Vd_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2767,44 +2466,29 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [Vd_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2815,44 +2499,29 @@ - - - + + + - - + + - - + + - - [Vd] + + [task2] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2863,44 +2532,29 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [n_motAbs] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2911,44 +2565,29 @@ - - - + + + - - + + - - + + - - [n_mot] + + [iqAbs] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2959,44 +2598,29 @@ - - - + + + - - + + - - + + - - [b_enaAdvCtrl] + + [r_fieldWeak] - - - - - - - - - - - - - - - - - boolean + + @@ -3007,44 +2631,29 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [VdPrev] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3055,44 +2664,29 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + [id_TgtAbs] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3103,28 +2697,28 @@ - - + + - + - + - - [r_sin] + + [task3] - + @@ -3136,52 +2730,29 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [Vd] - - - - - - - - - - - - - - - - - action + + @@ -3192,43 +2763,43 @@ - - + + - + - - + + - - [iq] + + [id] - + - + - - + + - + sfix16_En4 @@ -3240,28 +2811,28 @@ - - + + - + - - + + - - [n_mot] + + [Vq_min] - + @@ -3273,44 +2844,44 @@ - - + + - + - + - - [r_cos] + + [iq_limProtErr] - + - + - - + + - - sfix16_En14 + + sfix32_En20 @@ -3321,44 +2892,44 @@ - - + + - + - - + + - - [r_cos] + + [iq] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -3369,43 +2940,43 @@ - - + + - + - + - - [id_min] + + [id_max] - + - + - - + + - + sfix16_En4 @@ -3417,29 +2988,44 @@ - - - + + + - - + + - - + + - - [Vq] + + [Vd_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3450,44 +3036,44 @@ - - + + - + - - + + - - [r_sin] + + [Vd_max] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -3498,44 +3084,29 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [Vq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3546,29 +3117,44 @@ - - - + + + - - + + - - + + - - [Vq_Spd] + + [iq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3579,44 +3165,44 @@ - - + + - + - + - - [z_ctrlMod] + + [Vd_max] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3627,29 +3213,44 @@ - - - + + + - - + + - - + + - - [b_enaAdvCtrl] + + [id_TgtAbs] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3660,44 +3261,44 @@ - - + + - + - + - - [Vd_max] + + [task2] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -3708,43 +3309,43 @@ - - + + - + - + - - [Vq_Open] + + [r_inpTgtScaAbs] - + - + - - + + - + sfix16_En4 @@ -3756,44 +3357,44 @@ - - + + - + - - + + - - [b_motEna] + + [Vq_nLimProtMax] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -3804,28 +3405,28 @@ - - + + - + - + - - [Vq_Trq] + + [r_nLimProtMax] - + @@ -3837,43 +3438,43 @@ - - + + - + - + - - [Vd] + + [r_iqLimProtMax] - + - + - - + + - + sfix16_En4 @@ -3885,119 +3486,91 @@ - - - + + + - - - - - - - - + + - - - - - - r_inpTgtSca - - - - - - - - Vq_Open - - - - + + - - default: { } + + [iq] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Open_Mode + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - action + + [Vq_max] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 @@ -4009,49 +3582,43 @@ - - - - - - - - + + - + - + - - [iq] + + [r_inpTgtScaAbs] - + - + - - + + - + sfix16_En4 @@ -4063,44 +3630,44 @@ - - + + - + - - + + - - [a_elecAngle] + + [n_mot] - + - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -4111,43 +3678,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -4159,43 +3726,43 @@ - - + + - + - + - - [Vd_max] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -4207,29 +3774,44 @@ - - - + + + - - + + - - + + - - [Vd_max] + + [id_Tgt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4240,43 +3822,43 @@ - - + + - + - + - - [Vq_max] + + [Vq] - + - + - - + + - + sfix16_En4 @@ -4288,44 +3870,44 @@ - - + + - + - + - - [Vq] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -4336,44 +3918,44 @@ - - + + - + - - + + - - [Vq_min] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -4384,44 +3966,44 @@ - - + + - + - - + + - - [iq_limPrott] + + [r_sin] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -4432,44 +4014,44 @@ - - + + - + - + - - [Vq_max] + + [z_ctrlMod] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -4480,29 +4062,44 @@ - - - + + + - - + + - - + + - - [Vd] + + [VdPrev] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4513,44 +4110,44 @@ - - + + - + - + - - [r_sin] + + [a_elecAngle] - + - - + + - - + + - - sfix16_En14 + + sfix16_En6 @@ -4561,29 +4158,44 @@ - - - + + + - - + + - - + + - - [iq_limPrott] + + [Vq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4594,52 +4206,44 @@ - - - + + + - - + + - - - - - - u1 - - - - + + - - if(u1 ~= 0) + + [r_inpTgtSca] - - + + - - + + - - + + - - action + + sfix16_En4 @@ -4650,44 +4254,44 @@ - - + + - + - + - - [r_inpTgtSca] + + [b_enaAdvCtrl] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -4698,29 +4302,44 @@ - - - + + + - - + + - - + + - - [iq] + + [iqAbs] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4731,143 +4350,43 @@ - - - + + + - - - - - - - - + + - - - - - - i_apha - - - - - - - - i_beta - - - - - - - - r_sin - - - - - - - - r_cos - - - - - - - - iq_Raw - - - - + + - - id_Raw + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Park_Transform - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - - + - - + + - + sfix16_En4 @@ -4879,35 +4398,44 @@ - - - - - - - - - + + + - - + + - - + + - + [Vd_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -4918,44 +4446,44 @@ - - - + + + - - + + - - + + - - 4 + + - - + + - - - + + + - - + + - - r_devSignal2 + + sfix16_En4 @@ -4966,60 +4494,44 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - - - - - - - - - - + + [b_enaAdvCtrl] + - - + + - - + + - - + + - - sfix16_En4 + + boolean @@ -5030,156 +4542,91 @@ - - - + + + - - - - - - - - + + - - - - - - iq_raw - - - - - - - - id_raw - - - - - - - - iq - - - - - - - - id - - - - + + - - if { } + + [r_fieldWeak] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Current_Filtering + + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [Vq] - - - - - - - - - - - - - - - - - action + + + - - - - - - - + - - + + - + sfix16_En4 @@ -5191,51 +4638,29 @@ - - - - - - - - - + + + - - + + - - - - - - - - - + - - + + - - + + [iq_limProtErr] - - - - - - - - - - + + @@ -5246,44 +4671,29 @@ - - - + + + - - + + - - + + - - if { } + + [b_enaAdvCtrl] - - - - - - - - - - - - - - - - - Action Port + + @@ -5294,44 +4704,44 @@ - - + + - + - + - - [b_enaAdvCtrl] + + [id_min] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -5342,43 +4752,43 @@ - - + + - + - + - - [Vd] + + [r_nLimProtMax] - + - + - - + + - + sfix16_En4 @@ -5390,43 +4800,43 @@ - - + + - + - + - - [Vq_Spd] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -5438,43 +4848,43 @@ - - + + - + - + - + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -5486,194 +4896,252 @@ - - - + + + - + - - + + - - + + - - z_ctrlMod + + i_phaAB - - + + - - Vd + + i_phaBC - - + + - - id_TgtAbs + + i_alpha - - + + - - iq + + i_beta + + + + - - - + + + + - - n_mot + + + + + + + + + + + + + + + - - + + - - Vd_max + + Clarke_Transform + + + + - - - + + + + - - Vd_min + + - - + + - - Vq_max + + sfix16_En4 + + + + - - - + + + + - - Vq_min + + - - + + - - id_max + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - id_min + + iq_raw - - + + - - iq_max + + id_raw - - + + - - iq_min + + iq - - + + - - iq_limProt + + id - - + + - - n_limProt + + if { } - + - - + + - + - - + + - - + + - - Motor_Limitations + + Current_Filtering - + - + - - + + - + sfix16_En4 @@ -5681,20 +5149,20 @@ - + - + - - + + - + sfix16_En4 @@ -5702,167 +5170,202 @@ - + - - + + - - + + - - sfix16_En4 + + action - + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + - - + + - - sfix16_En4 + + - - - - - - - - + + + - - + + - - + + - - sfix16_En4 + + + + + + + + + + + + + + + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + + + + + + + + - - - - - - - + - - + + - + sfix16_En4 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [iq] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 @@ -5874,50 +5377,44 @@ - - - - - - - - - + + + - - + + - - + + - - [id] + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -5928,28 +5425,61 @@ - - + + + + + + + + + + + + + + + + [a_elecAngle] + + + + + + + + + + + + + + + + + + + - + - + - - [r_cos] + + [z_ctrlMod] - + @@ -5961,121 +5491,75 @@ - - - + + + - - + + - + - - + + - - 6 - - - - - - - - - - - - - - + + - - + + - - n_motAbs + + - - - - - - + + + + + + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - + + - - - - - - - 5 - - - - - - - - - - - - - - - - - - n_mot + + - + - - + + - + sfix16_En4 @@ -6087,43 +5571,43 @@ - - + + - + - - + + - - [iq_min] + + [id] - + - + - - + + - + sfix16_En4 @@ -6135,59 +5619,59 @@ - - + + - + - + - - 4 + + 10 - + - - + + - - + + - - b_motEna + + a_elecAngle - - + + - - + + - - boolean + + sfix16_En6 @@ -6198,29 +5682,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [iq_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -6231,43 +5730,58 @@ - - - + + + - - + + - - + + - - [Vq_Trq] + + 9 - - + + + + + + + + + + + + + + + + + r_fieldWeak - + - - + + - + sfix16_En4 @@ -6279,106 +5793,258 @@ - - - + + + - + - - + + + + + + + + + b_enaAdvCtrl + + + + + + + + z_ctrlMod + + + + + + + + r_inpTgtSca + + + + + + + + r_inpTgtScaAbs + + + + + + + + n_mot + + + + + + + + id_Tgt + + + + + + + + id + + + + + + + + iq + + + + + + + + Vd_max + + + + + + + + Vd_min + + + + + + + + Vq_max + + + + + + + + Vq_min + + + + + + + + id_max + + + + + + + + id_min + + + + + + + + iq_max + - + - - i_phaAB + + iq_min - + - - i_phaBC + + r_iqLimProtMax + + + + + + + + r_nLimProtMax + + + + + + + + iq_limProtErr + + + + + + + + Vq_nLimProtMax + + + + + + + + Vd - - + + - - i_alpha + + Vq - - + + - - i_beta + + if { } - + - - + + - + - - + + - - + + - - Clarke_Transform + + FOC - + - + - - + + - + sfix16_En4 @@ -6386,20 +6052,41 @@ - + + + + + + + + + + + + + + + action + + + + + + + - + - - + + - + sfix16_En4 @@ -6411,34 +6098,34 @@ - + - + - + - + - - + + - - [z_ctrlMod] + + [Vq_nLimProtMax] - + @@ -6450,43 +6137,43 @@ - - + + - + - - + + - - [id] + + [iq] - + - + - - + + - + sfix16_En4 @@ -6498,59 +6185,44 @@ - - - + + + - - + + - - + + - - 3 + + [r_cos] - - - - - - - - - - - - - - - - - r_inpTgtSca + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -6561,43 +6233,58 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 8 - - + + + + + + + + + + + + + + + + + n_motAbs - + - - + + - + sfix16_En4 @@ -6609,44 +6296,59 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + 6 - - + + + + + + + + + + + + + + + + + b_motEna - - + + - - + + - - sfix16_En4 + + boolean @@ -6657,43 +6359,43 @@ - - + + - + - - + + - - [iq] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -6705,29 +6407,52 @@ - - - + + + - - + + - - + + + + + + u1 + + + + - - [Vq_Vlt] + + if(u1 ~= 0) - - + + + + + + + + + + + + + + + + + action @@ -6738,59 +6463,59 @@ - - + + - + - + - - 7 + + 5 - + - - + + - - + + - - a_elecAngle + + task3 - - + + - - + + - - sfix16_En6 + + boolean @@ -6801,44 +6526,44 @@ - - + + - + - + - - [n_mot] + + [task3] - + - - + + - - + + - - sfix16_En4 + + boolean @@ -6849,29 +6574,44 @@ - - - + + + - - + + - - + + - - [id_TgtAbs] + + [b_motEna] - - + + + + + + + + + + + + + + + + + boolean @@ -6882,168 +6622,154 @@ - - - + + + - - - - - - - - + + - - - - - - - - r_inpTgtSca - - - - - - - - Vq_max - - - - - - - - Vq_min - - - - - - - - iq - - - - - - - - iq_max - + - - + + - - iq_min + + - - + + - - n_limProt + + - - + + - - Vq_Trq + + - - + + - - case: { } + + + + + + + + + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - Torque_Mode + + Ini=0 - - - - - - - + - - + + - + sfix16_En4 - + + + + + + + + + + + + + + + - - - - + + + - - + + 7 + + + + + + + + + + + + + + - - + + - - action + + n_mot + + + + + + + + + + + + + + + sfix16_En4 @@ -7054,34 +6780,28 @@ - - - - - - - - + + - + - - + + - - [id_max] + + [id] - + @@ -7093,43 +6813,58 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 3 - - + + + + + + + + + + + + + + + + + r_inpTgtSca - + - - + + - + sfix16_En4 @@ -7141,43 +6876,43 @@ - - + + - + - + - - [n_limProt] + + [r_inpTgtSca] - + - + - - + + - + sfix16_En4 @@ -7189,28 +6924,28 @@ - - + + - + - - + + - - [id_Tgt] + + [r_iqLimProtMax] - + @@ -7223,27 +6958,27 @@ - + - + - - + + - + [b_motEna] - + @@ -7255,44 +6990,29 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + [iq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -7304,57 +7024,57 @@ - + - + - + - + 2 - + - + - - + + - + z_ctrlMod - + - - + + - + uint8 @@ -7366,58 +7086,91 @@ - - + + + + + + + + + + + + + + + + [id_max] + + + + + + + + + + + + + + + + + + + - + - + - - 1 + + 4 - + - - + + - - + + - - b_enaAdvCtrl + + task2 - + - - + + - + boolean @@ -7429,43 +7182,43 @@ - - + + - + - + - - [Vq_min] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -7477,193 +7230,235 @@ - - - + + + - - - - - - - - + + - - + + - - a_elecAngle + + 1 - - - - - - - r_inpTgtSca + + + + + + - - - - - - - n_motAbs + + + + + + - - + + - - r_sin + + b_enaAdvCtrl - - - - - - - r_cos + + + + + + - - + + - - id_Tgt + + boolean + + + + + + + + + + + + + + + + + + - - + + - - id_TgtAbs + + [z_ctrlMod] - - - - - - - - + + - - - - - - - - - + + + - - + + - - Field_Weakening + + uint8 - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En14 + + [r_sin] - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En14 + + [iq] + + + + + + + - - - - - - - + - - + + - + sfix16_En4 - + + + + + + + + + + + + + + + - - - - + + + - + + [Vq] + + + + + + + + + + + + + - - + + - + sfix16_En4 @@ -7675,49 +7470,43 @@ - - - - - - - - - + + + - - + + - - + + - - + + [id] - - + + - + - - + + - + sfix16_En4 @@ -7730,11 +7519,11 @@ - + - + @@ -7744,11 +7533,11 @@ - + - + @@ -7758,11 +7547,11 @@ - + - + @@ -7772,11 +7561,11 @@ - + - + @@ -7786,11 +7575,11 @@ - + - + @@ -7800,11 +7589,11 @@ - + - + @@ -7814,11 +7603,11 @@ - + - + @@ -7828,11 +7617,11 @@ - + - + @@ -7842,11 +7631,11 @@ - + - + @@ -7856,11 +7645,11 @@ - + - + @@ -7870,11 +7659,11 @@ - + - + @@ -7884,11 +7673,11 @@ - + - + @@ -7898,11 +7687,11 @@ - + - + @@ -7912,11 +7701,11 @@ - + - + @@ -7926,11 +7715,11 @@ - + - + @@ -7940,11 +7729,11 @@ - + - + @@ -7954,11 +7743,11 @@ - + - + @@ -7968,11 +7757,11 @@ - + - + @@ -7986,7 +7775,7 @@ - + @@ -7996,11 +7785,11 @@ - + - + @@ -8010,11 +7799,11 @@ - + - + @@ -8024,11 +7813,11 @@ - + - + @@ -8038,11 +7827,11 @@ - + - + @@ -8052,11 +7841,11 @@ - + - + @@ -8066,11 +7855,11 @@ - + - + @@ -8080,11 +7869,11 @@ - + - + @@ -8094,11 +7883,11 @@ - + - + @@ -8108,11 +7897,11 @@ - + - + @@ -8122,11 +7911,11 @@ - + - + @@ -8137,31 +7926,31 @@ - + - + - + - + - + - + @@ -8171,31 +7960,31 @@ - + - + - + - + - + - + @@ -8205,31 +7994,31 @@ - + - + - + - + - + - + @@ -8239,31 +8028,31 @@ - + - + - + - + - + - + @@ -8272,39 +8061,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -8318,7 +8079,7 @@ - + @@ -8328,11 +8089,11 @@ - + - + @@ -8346,7 +8107,7 @@ - + @@ -8356,11 +8117,11 @@ - + - + @@ -8370,1005 +8131,1003 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - - - + - - - - - + - + - - - - - + - + + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + + + + + + + + - + - + - - - - - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + @@ -9377,5 +9136,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json index b312612..d5eac28 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 @@ -1,142 +1,31 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8725", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8723", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"i_beta", - "label":"i_beta", + "name":"b_selPhaABCurrMeas", + "label":"b_selPhaABCurrMeas", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", + "Value", + "VectorParams1D", "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8724", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"i_alpha", - "label":"i_alpha", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "1", - "Port number", - "[]", + "b_selPhaABCurrMeas", + "on", + "inf", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", "[]", + "boolean", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -145,8 +34,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -155,7 +44,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, @@ -242,27 +131,33 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8719", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Merge1", + "label":"Merge1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "i_beta", - "local", - "Tag" + "[]", + "off", + "[]", + "2" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 1 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -270,7 +165,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Merge", "masktype":"" } }, @@ -308,50 +203,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8722", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge1", - "label":"Merge1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" - ], - "values":[ - "[]", - "off", - "[]", - "2" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8719", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -360,7 +216,7 @@ "IconDisplay" ], "values":[ - "i_alphaBC", + "i_beta", "local", "Tag" ], @@ -413,11 +269,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8715", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8714", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -426,7 +282,7 @@ "IconDisplay" ], "values":[ - "i_phaBC", + "i_phaAB", "local", "Tag" ], @@ -479,19 +335,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8710", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8712", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaBC", + "i_alpha", + "local", "Tag" ], "tabs":[ @@ -505,16 +363,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8712", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8715", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -523,7 +381,7 @@ "IconDisplay" ], "values":[ - "i_alpha", + "i_phaBC", "local", "Tag" ], @@ -543,11 +401,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8708", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8711", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -555,7 +413,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_phaBC", "Tag" ], "tabs":[ @@ -574,11 +432,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8707", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -586,7 +444,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "i_alpha", "Tag" ], "tabs":[ @@ -635,6 +493,117 @@ "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:8725", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"i_beta", + "label":"i_beta", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8704", "className":"Simulink.From", @@ -666,6 +635,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:8703", "className":"Simulink.From", @@ -698,11 +698,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -710,7 +710,7 @@ "IconDisplay" ], "values":[ - "i_phaAB", + "i_alphaAB", "Tag" ], "tabs":[ @@ -729,19 +729,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8711", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8716", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "i_phaBC", + "i_alphaBC", + "local", "Tag" ], "tabs":[ @@ -755,16 +757,96 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8724", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"i_alpha", + "label":"i_alpha", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clarke_PhasesBC", - "label":"Clarke_PhasesBC", + "name":"Clarke_PhasesAB", + "label":"Clarke_PhasesAB", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -857,11 +939,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8709", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From7", + "label":"From7", + "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", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clarke_PhasesAB", - "label":"Clarke_PhasesAB", + "name":"Clarke_PhasesBC", + "label":"Clarke_PhasesBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "inspector":{ "params":[ @@ -953,6 +1066,37 @@ "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":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8670", "className":"Simulink.Inport", @@ -1020,101 +1164,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8706", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_alpha", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8714", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaAB", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8702", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "i_alphaAB", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8669", "className":"Simulink.Inport", @@ -1182,55 +1231,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8723", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"b_selPhaABCurrMeas", - "label":"b_selPhaABCurrMeas", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "b_selPhaABCurrMeas", - "on", - "inf", - "[]", - "[]", - "boolean", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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 f141fe4741034dfc87ad8e4331d9f92b7b88421b..5e946dba18cc4b7346db993f14205ec215fbad8e 100644 GIT binary patch literal 5840 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 D&BX_a literal 5832 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 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 cc2b3fb..c10f455 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 @@ -13,92 +13,59 @@ - - - + + + - - + + - + - - 2 + + b_selPhaABCurrMeas - - + + - - + + - - - - - i_beta - - - - - - - - - - - - - - - - - - - - - - + - - 1 - - - - - - - + + b_selPhaABCurrMeas - - - + + + - - + + - - i_alpha + + boolean @@ -111,7 +78,7 @@ - + @@ -119,19 +86,19 @@ - + - + - + - + @@ -157,11 +124,11 @@ - + - + sfix16_En4 @@ -175,7 +142,7 @@ - + @@ -183,27 +150,27 @@ - + - + u1 - + - + if(u1 ~= 0) - + - + else @@ -221,11 +188,11 @@ - + - + action @@ -236,11 +203,11 @@ - + - + action @@ -252,29 +219,60 @@ - - - + + + - - + + - + - - + + - - [i_beta] + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -295,11 +293,11 @@ - + - + [i_betaBC] @@ -318,60 +316,62 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [i_beta] - + + + + - - + + + + + + + + + - - - - - - + + - - - - + - + - - sfix16_En4 + + [i_betaAB] + + + + + + + @@ -382,11 +382,11 @@ - - + + - + @@ -396,14 +396,14 @@ - - [i_alphaBC] + + [i_phaAB] - + @@ -415,11 +415,11 @@ - - + + - + @@ -429,14 +429,14 @@ - - [i_betaAB] + + [i_alphaAB] - + @@ -448,11 +448,11 @@ - - + + - + @@ -462,14 +462,14 @@ - - [i_phaBC] + + [i_alpha] - + @@ -481,11 +481,11 @@ - - + + - + @@ -495,14 +495,14 @@ - - [i_alphaAB] + + [i_phaBC] - + @@ -514,11 +514,11 @@ - - + + - + @@ -528,29 +528,29 @@ - + [i_phaBC] - + - + - + - + sfix16_En4 @@ -562,29 +562,44 @@ - - - + + + - - + + - + - + [i_alpha] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -595,43 +610,43 @@ - - + + - + - + - - [i_phaAB] + + [i_betaBC] - + - + - - + + - + sfix16_En4 @@ -653,11 +668,11 @@ - + - + [i_beta] @@ -675,11 +690,11 @@ - + - + sfix16_En4 @@ -691,44 +706,44 @@ - - - + + + - - + + - - + + - - [i_betaBC] + + 2 - - + + - - - + + + - - + + - - sfix16_En4 + + i_beta @@ -749,11 +764,11 @@ - + - + [i_betaAB] @@ -771,11 +786,11 @@ - + - + sfix16_En4 @@ -787,43 +802,43 @@ - - + + - + - + - - [i_alphaBC] + + [i_phaAB] - + - + - - + + - + sfix16_En4 @@ -835,43 +850,43 @@ - - + + - + - + - - [i_phaAB] + + [i_alphaBC] - + - + - - + + - + sfix16_En4 @@ -883,43 +898,43 @@ - - + + - + - + - - [i_phaBC] + + [i_alphaAB] - + - + - - + + - + sfix16_En4 @@ -931,9 +946,90 @@ - - - + + + + + + + + + + + + + + + + [i_alphaBC] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + i_alpha + + + + + + + + + + + + + @@ -941,50 +1037,50 @@ - + - + - - i_phaB + + i_phaA - + - - i_phaC + + i_phaB - + - - i_alphaBC + + i_alphaAB - + - - i_betaBC + + i_betaAB - + - - else { } + + if { } @@ -996,7 +1092,7 @@ - + @@ -1009,16 +1105,16 @@ - - + + - - + + - - Clarke_PhasesBC + + Clarke_PhasesAB @@ -1030,15 +1126,15 @@ - + - - + + - + sfix16_En4 @@ -1051,16 +1147,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1072,16 +1168,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1092,66 +1188,114 @@ - + - - + + - - - - + + + + + + + + + + + + [i_phaAB] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + - + - + - - i_phaA + + i_phaB - + - - i_phaB + + i_phaC - + - - i_alphaAB + + i_alphaBC - + - - i_betaAB + + i_betaBC - + - - if { } + + else { } @@ -1163,7 +1307,7 @@ - + @@ -1176,16 +1320,16 @@ - - + + - - + + - - Clarke_PhasesAB + + Clarke_PhasesBC @@ -1197,16 +1341,16 @@ - - + + - - + + - - action + + sfix16_En4 @@ -1218,16 +1362,16 @@ - - + + - - + + - - sfix16_En4 + + action @@ -1239,15 +1383,15 @@ - + - - + + - + sfix16_En4 @@ -1259,112 +1403,49 @@ - + - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - i_phaBC - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - + - + - + - - [i_alpha] + + [i_phaBC] - + - + - - + + - + sfix16_En4 @@ -1376,76 +1457,58 @@ - - - + + + - - + + - - + + - - [i_phaAB] + + 2 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [i_alphaAB] - - - - - - - + + i_phaBC - + - - + + - + sfix16_En4 @@ -1467,11 +1530,11 @@ - + - + 1 @@ -1489,11 +1552,11 @@ - + - + i_phaAB @@ -1504,11 +1567,11 @@ - + - + sfix16_En4 @@ -1518,69 +1581,6 @@ - - - - - - - - - - - - - - - - - - b_selPhaABCurrMeas - - - - - - - - - - - - - - - - - - - - - - b_selPhaABCurrMeas - - - - - - - - - - - - - - - boolean - - - - - - - - @@ -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 31b5e43..40daabe 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 @@ -128,6 +128,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum1", + "label":"Sum1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8681", "className":"Simulink.SignalConversion", @@ -241,98 +300,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaA", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8682", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8680", "className":"Simulink.Goto", @@ -367,11 +334,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8675", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8676", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ @@ -379,7 +346,7 @@ "IconDisplay" ], "values":[ - "i_phaA", + "i_phaB", "Tag" ], "tabs":[ @@ -398,11 +365,11 @@ } }, { - "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":[ @@ -410,7 +377,7 @@ "IconDisplay" ], "values":[ - "i_phaB", + "i_phaA", "Tag" ], "tabs":[ @@ -518,6 +485,39 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8679", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_phaA", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8673", "className":"Simulink.Inport", @@ -586,51 +586,59 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8672", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"i_phaA", + "label":"i_phaA", "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", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "2/sqrt(3)", - "Element-wise(K.*u)", + "1", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "", + "on", + "off", + "off", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -640,64 +648,56 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8672", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8677", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"i_phaA", - "label":"i_phaA", + "name":"Gain2", + "label":"Gain2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "RndMeth", + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ - "1", - "Port number", + "2/sqrt(3)", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", + "Inherit: Same as input", "off", + "Zero", "off", - "off" + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, + 8, 11 ] }, @@ -707,7 +707,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Gain", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.svg index 04e1cb8..1f11d03 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 @@ -110,6 +110,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + @@ -122,131 +194,131 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -272,11 +344,11 @@ - + - + sfix16_En4 @@ -298,11 +370,11 @@ - + - + 2 @@ -320,11 +392,11 @@ - + - + i_betaAB @@ -334,111 +406,6 @@ - - - - - - - - - - - - - - - - - - [i_phaA] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - @@ -451,11 +418,11 @@ - + - + [i_phaB] @@ -474,43 +441,43 @@ - - + + - + - + - - [i_phaA] + + [i_phaB] - + - + - - + + - + sfix16_En4 @@ -522,43 +489,43 @@ - - + + - + - + - - [i_phaB] + + [i_phaA] - + - + - - + + - + sfix16_En4 @@ -580,11 +547,11 @@ - + - + 1/sqrt(3) @@ -602,11 +569,11 @@ - + - + sfix16_En4 @@ -628,11 +595,11 @@ - + - + if { } @@ -650,11 +617,11 @@ - + - + Action Port @@ -664,6 +631,39 @@ + + + + + + + + + + + + + + + + + + [i_phaA] + + + + + + + + + + + + + + + @@ -729,43 +729,58 @@ - - - + + + - - + + - + - - 2/sqrt(3) + + 1 - - + + + + + + + + + + + + + + + + + i_phaA - + - - + + - + sfix16_En4 @@ -777,58 +792,43 @@ - - - + + + - - + + - - + + - - 1 + + 2/sqrt(3) - - - - - - - - - - - - - - - - - i_phaA + + - + - + - + sfix16_En4 @@ -972,5 +972,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json index e4fc5cc..5301809 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json @@ -49,11 +49,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8699", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8700", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"i_alphaBC", - "label":"i_alphaBC", + "name":"i_betaBC", + "label":"i_betaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -82,7 +82,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -129,11 +129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8700", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8699", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"i_betaBC", - "label":"i_betaBC", + "name":"i_alphaBC", + "label":"i_alphaBC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -162,7 +162,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -209,27 +209,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8698", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "i_phaB", - "local", - "Tag" + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -237,16 +263,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Sum", "masktype":"" } }, { - "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":[ @@ -266,7 +292,7 @@ ], "values":[ "rectangular", - "+-", + "--", "off", "Inherit: Inherit via internal rule", "[]", @@ -360,11 +386,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8693", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -372,7 +398,7 @@ "IconDisplay" ], "values":[ - "i_phaC", + "i_phaB", "Tag" ], "tabs":[ @@ -391,44 +417,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8696", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_phaC", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8692", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ @@ -436,7 +429,7 @@ "IconDisplay" ], "values":[ - "i_phaB", + "i_phaC", "Tag" ], "tabs":[ @@ -455,20 +448,20 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8691", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8689", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "i_phaC", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -481,47 +474,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8697", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8688", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"i_phaC", + "label":"i_phaC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "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", + "2", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", "on", - "1", - "All dimensions", - "-1" + "off", + "off", + "off" ], "tabs":[ "Main", @@ -531,7 +532,7 @@ "tabs_idx":[ 0, 2, - 10 + 11 ] }, "viewer":{ @@ -540,7 +541,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Inport", "masktype":"" } }, @@ -576,20 +577,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8689", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8696", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"Goto15", + "label":"Goto15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "held", - "Only when execution is resumed" + "i_phaC", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -602,16 +605,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "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":[ @@ -634,7 +637,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -674,61 +677,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8687", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8695", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"i_phaB", - "label":"i_phaB", + "name":"Goto13", + "label":"Goto13", "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" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "i_phaB", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -736,7 +705,38 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", + "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":"" } }, 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 8c4f534..0a32ec4 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg @@ -64,11 +64,11 @@ - - + + - + @@ -78,30 +78,30 @@ - - 1 + + 2 - + - - + + - + - - i_alphaBC + + i_betaBC @@ -112,11 +112,11 @@ - - + + - + @@ -126,63 +126,30 @@ - - 2 + + 1 - + - - + + - - - - - i_betaBC - - - - - - - - - - - - - - - - - - - - - - + - - [i_phaB] - - - - - - - + + i_alphaBC @@ -203,27 +170,27 @@ - + - + - + - + - + - + @@ -241,11 +208,11 @@ - + - + sfix16_En4 @@ -257,43 +224,51 @@ - - - + + + - - + + - - + + - - 1/sqrt(3) + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -305,43 +280,43 @@ - - - + + + - - + + - - + + - - [i_phaC] + + 1/sqrt(3) - - + + - + - - + + - + sfix16_En4 @@ -353,29 +328,44 @@ - - - + + + - - + + - - + + - - [i_phaC] + + [i_phaB] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -386,11 +376,11 @@ - - + + - + @@ -400,29 +390,29 @@ - - [i_phaB] + + [i_phaC] - + - + - + - + sfix16_En4 @@ -434,44 +424,44 @@ - - - + + + - - + + - + - - [i_phaC] + + else { } - - + + - - - + + + - + - - sfix16_En4 + + Action Port @@ -482,51 +472,58 @@ - - - + + + - - + + - - - - - - - - - + - - + + 2 - - + + + + + + + + + + + + + + + + + i_phaC - + - + - + sfix16_En4 @@ -586,44 +583,29 @@ - - - + + + - - + + - + - - else { } + + [i_phaC] - - - - - - - - - - - - - - - - - Action Port + + @@ -634,58 +616,58 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - i_phaC + + i_phaB - + - - + + - + sfix16_En4 @@ -697,58 +679,76 @@ - - - + + + - - + + - - + + - - 1 + + [i_phaB] - - + + - - - - + + + + + + + + + + + + + + + - + - - i_phaB + + [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 e655c47..1763ae0 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,42 +1,26 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"cf_currFilt", - "label":"cf_currFilt", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "cf_currFilt", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "inf" + "id", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -44,25 +28,27 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8734", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux2", - "label":"Mux2", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "bar" + "iq", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -75,7 +61,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, @@ -173,54 +159,19 @@ } }, { - "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:8734", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq", - "local", + "id_raw", "Tag" ], "tabs":[ @@ -234,96 +185,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8742", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"id", - "label":"id", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "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", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8733", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -331,7 +202,7 @@ "IconDisplay" ], "values":[ - "id_raw", + "id", "Tag" ], "tabs":[ @@ -350,20 +221,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8731", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8729", + "className":"Simulink.Demux", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Demux1", + "label":"Demux1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Outputs", + "DisplayOption", + "BusSelectionMode" ], "values":[ - "id", - "Tag" + "2", + "bar", + "off" ], "tabs":[ "Parameter Attributes" @@ -376,30 +249,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Demux", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8730", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8740", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"cf_currFilt", + "label":"cf_currFilt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "iq", - "Tag" + "cf_currFilt", + "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" @@ -407,27 +298,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8737", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8739", + "className":"Simulink.Mux", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Mux2", + "label":"Mux2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "DisplayOption" ], "values":[ - "id", - "local", - "Tag" + "2", + "bar" ], "tabs":[ "Parameter Attributes" @@ -440,7 +329,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Mux", "masktype":"" } }, @@ -576,11 +465,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8727", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"iq_raw", - "label":"iq_raw", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "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:8742", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ @@ -596,14 +516,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", "[]", "[]", @@ -615,10 +541,17 @@ "-1", "auto", "off", - "", - "on", "off", + "0", "off", + "reset", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", "off" ], "tabs":[ @@ -638,24 +571,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8732", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8735", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "iq_raw", + "local", "Tag" ], "tabs":[ @@ -669,40 +604,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8729", - "className":"Simulink.Demux", - "icon":"WebViewIcon3", - "name":"Demux1", - "label":"Demux1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "inspector":{ - "params":[ - "Outputs", - "DisplayOption", - "BusSelectionMode" - ], - "values":[ - "2", - "bar", - "off" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Demux", + "blocktype":"Goto", "masktype":"" } }, @@ -786,6 +688,104 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8727", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"iq_raw", + "label":"iq_raw", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8726", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "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: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:8739#out:1", "className":"Simulink.Line", 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 19748edcbd34b2dd3e0e2a3b568cc44e151cb5cb..5578673c22b2befa0f26f411d5229dbb6a9060fa 100644 GIT binary patch literal 5234 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 M)HT(q({g(HKa5p+pa1{> 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 566362e..7b6ea4f 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 @@ -13,59 +13,29 @@ - - - + + + - - + + - + - - cf_currFilt + + [id] - - - - - - - - - - - - - - - - - cf_currFilt - - - - - - - - - - - - - - - ufix16_En16 + + @@ -76,44 +46,29 @@ - - - + + + - - + + - - + + - - + + [iq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -126,7 +81,7 @@ - + @@ -134,195 +89,195 @@ - + - + u - + - + coef - + - + y - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + coef @@ -340,11 +295,11 @@ - + - + Low_Pass_Filter @@ -355,11 +310,11 @@ - + - + sfix16_En4 @@ -367,29 +322,29 @@ - + - + - + - + - + - + @@ -403,62 +358,44 @@ - - - + + + - - + + - - + + - - [iq_raw] + + [id_raw] - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [iq] - - - - - - - + + sfix16_En4 @@ -469,44 +406,44 @@ - - - + + + - - + + - - + + - - 2 + + [id] - - + + - - - + + + - - + + - - id + + sfix16_En4 @@ -517,91 +454,58 @@ - - - + + + - - + + - - + + - - [id_raw] + + - - + + - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - [id] - - - - - - - - - - - - + - - + + - + sfix16_En4 @@ -613,44 +517,59 @@ - - - + + + - - + + - - + + - - [iq] + + cf_currFilt - - + + + + + + + + + + + + + + + + + cf_currFilt - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -661,29 +580,44 @@ - - - + + + - - + + - - + + - - [id] + + - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -704,11 +638,11 @@ - + - + [id_raw] @@ -737,11 +671,11 @@ - + - + if { } @@ -759,11 +693,11 @@ - + - + Action Port @@ -785,11 +719,11 @@ - + - + 2 @@ -807,11 +741,11 @@ - + - + id_raw @@ -822,11 +756,11 @@ - + - + sfix16_En4 @@ -838,59 +772,125 @@ - - + + + + + + + + + + + + + + + + [iq_raw] + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - + - + - - 1 + + 2 - + - - + + - - + + - - iq_raw + + id - - - - + + + + + + + + + + + + + + + - + - - sfix16_En4 + + [iq_raw] + + + + + + + @@ -901,44 +901,44 @@ - - - + + + - - + + - + - - [iq_raw] + + 1 - - + + - - - + + + - + - - sfix16_En4 + + iq @@ -949,58 +949,58 @@ - - - + + + - - + + - + - - + + 1 - - + + - - - + + + - + - - sfix16_En4 + + iq_raw - + - + - + sfix16_En4 @@ -1012,44 +1012,44 @@ - - - + + + - - + + - + - - 1 + + [iq] - - + + - - - + + + - + - - iq + + sfix16_En4 @@ -1214,5 +1214,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.json index 045c870..84cf778 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 @@ -189,17 +189,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 +212,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 +234,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -241,37 +243,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Constant1", - "label":"Constant1", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "1", - "on", - "inf", + "**", + "Element-wise(.*)", + "off", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: Same as first input", "off", - "inf" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -280,8 +290,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 9 ] }, "viewer":{ @@ -290,7 +300,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Product", "masktype":"" } }, @@ -362,18 +372,66 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2404", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2401", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "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":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2403", + "className":"Simulink.Product", + "icon":"WebViewIcon3", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -385,13 +443,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", @@ -407,7 +464,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -416,7 +473,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, @@ -487,63 +544,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2402", - "className":"Simulink.Product", - "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "inspector":{ - "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "**", - "Element-wise(.*)", - "off", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Product", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738:2399#out:1", "className":"Simulink.Line", 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 940bad5..00f990d 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 @@ -205,51 +205,67 @@ - - - + + + - - + + - + - + - + - + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -261,44 +277,52 @@ - - - + + + - - + + - - + + - - 1 + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -319,11 +343,11 @@ - + - + 2 @@ -341,11 +365,11 @@ - + - + coef @@ -356,11 +380,11 @@ - + - + ufix16_En16 @@ -372,68 +396,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 1 - - + + - - + + - + - - sfix16_En4 + + ufix16_En16 @@ -444,58 +444,51 @@ - - - + + + - - + + - + - - 1 - - - - - - - - - - - - - - + + - + - - u + + + + + + + + + - + - + - + sfix16_En4 @@ -507,51 +500,58 @@ - - - + + + - - + + - - - - - - - - - + - - + + 1 - - + + + + + + + + + + + + + + + + + u - + - + - + sfix16_En4 @@ -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 c485305..45955ba 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 @@ -1,53 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8761", - "className":"Simulink.Annotation", - "icon":"WebViewIcon2", - "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":[ - "Text", - "DropShadow", - "Interpreter", - "FontName", - "FontWeight", - "FontSize", - "FontAngle", - "ForegroundColor", - "BackgroundColor", - "HorizontalAlignment", - "UseDisplayTextAsClickCallback", - "ClickFcn" - ], - "values":[ - "\n\n

    Field Weakening map as a function of Input target

    ", - "off", - "rich", - "auto", - "auto", - -1, - "auto", - "black", - "white", - "left", - "off", - "" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8762", "className":"Simulink.Annotation", @@ -97,55 +48,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8763", - "className":"Simulink.Annotation", - "icon":"WebViewIcon2", - "name":"

    FOC Field weakening

    ", - "label":"

    FOC Field weakening

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

    FOC Field weakening

    ", - "off", - "rich", - "auto", - "auto", - -1, - "auto", - "black", - "white", - "left", - "off", - "" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8764", "className":"Simulink.Annotation", @@ -196,11 +98,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8759", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8757", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"id_Tgt", - "label":"id_Tgt", + "name":"r_sin", + "label":"r_sin", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -229,7 +131,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "3", + "1", "Port number", "[]", "[]", @@ -275,85 +177,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8753", - "className":"Simulink.PreLookup", - "icon":"WebViewIcon3", - "name":"r_fieldWeak_XA", - "label":"r_fieldWeak_XA", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", - "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" - ], - "values":[ - "Explicit values", - "Dialog", - "r_fieldWeak_XA", - "Index and fraction", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", - "Inherit: Same as input", - "[]", - "[]", - "uint8", - "fixdt(0,8,7)", - "off", - "Simplest", - "on", - "", - "10", - "11", - "10", - "Inherit: auto", - "-1" - ], - "tabs":[ - "Main", - "Data Types", - "-Other" - ], - "tabs_idx":[ - 0, - 9, - 16 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"PreLookup", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755", "className":"Simulink.Interpolation_nD", @@ -436,11 +259,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8752", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754", "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"id_fieldWeak_M1", - "label":"id_fieldWeak_M1", + "name":"r_cos_M1", + "label":"r_cos_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -474,19 +297,19 @@ "off", "Explicit values", "Dialog", - "id_fieldWeak_M1", - "Linear", + "r_cos_M1", + "Flat", "Error", - "off", + "on", "0", "on", "Inherit: Same as output", "[]", "[]", - "fixdt(1,16,4)", + "fixdt(1,16,14)", "[]", "[]", - "Precision", + "Speed", "off", "Simplest", "off", @@ -516,39 +339,6 @@ "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:8748", "className":"Simulink.PreLookup", @@ -564,23 +354,23 @@ "OutputSelection", "IndexSearchMethod", "ExtrapMethod", - "UseLastBreakpoint", "DiagnosticForOutOfRangeInput", "RemoveProtectionInput", "BreakpointDataTypeStr", "BreakpointMin", "BreakpointMax", "IndexDataTypeStr", - "FractionDataTypeStr", "LockScale", - "RndMeth", "BeginIndexSearchUsingPreviousIndexResult", "BreakpointObject", "BreakpointsFirstPoint", "BreakpointsNumPoints", "BreakpointsSpacing", + "FractionDataTypeStr", "OutputBusDataTypeStr", - "SampleTime" + "RndMeth", + "SampleTime", + "UseLastBreakpoint" ], "values":[ "Explicit values", @@ -589,23 +379,23 @@ "Index only", "Evenly spaced points", "Clip", - "off", "None", "off", "Inherit: Same as input", "[]", "[]", "uint8", - "fixdt(0,16,14)", "off", - "Simplest", "on", "", "10", "11", "10", + "fixdt(0,16,14)", "Inherit: auto", - "-1" + "Simplest", + "-1", + "off" ], "tabs":[ "Main", @@ -614,8 +404,8 @@ ], "tabs_idx":[ 0, - 9, - 16 + 8, + 13 ] }, "viewer":{ @@ -629,11 +419,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9649", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9646", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -642,7 +432,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "r_cos", "local", "Tag" ], @@ -662,21 +452,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9638", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_motAbs", - "local", + "r_sin", "Tag" ], "tabs":[ @@ -690,26 +478,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9646", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_cos", - "local", + "a_elecAngle", "Tag" ], "tabs":[ @@ -723,153 +509,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8749", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9639", + "className":"Simulink.Goto", "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:8760", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"id_TgtAbs", - "label":"id_TgtAbs", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "4", - "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:9653", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "a_elecAngle", + "local", "Tag" ], "tabs":[ @@ -883,16 +542,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8751", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10676", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"b_fieldWeakEna", - "label":"b_fieldWeakEna", + "name":"Constant", + "label":"Constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ @@ -906,12 +565,12 @@ "FramePeriod" ], "values":[ - "b_fieldWeakEna", + "0", "on", "inf", "[]", "[]", - "boolean", + "uint8", "off", "inf" ], @@ -936,1800 +595,138 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9648", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "id_TgtAbs", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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: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: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: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: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:9657", - "className":"Simulink.Relay", - "icon":"WebViewIcon3", - "name":"n_fieldWeakAuth", - "label":"n_fieldWeakAuth", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "SampleTime", - "ZeroCross" - ], - "values":[ - "n_fieldWeakAuthHi", - "n_fieldWeakAuthLo", - "1", - "0", - "Elements as channels (sample based)", - "[]", - "[]", - "boolean", - "off", - "-1", - "on" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 5, - 9 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Relay", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:8758", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_cos", - "label":"r_cos", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "2", - "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:8747", - "className":"Simulink.Switch", - "icon":"WebViewIcon3", - "name":"Switch1", - "label":"Switch1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "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: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: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: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: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: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: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: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:8750", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"a_elecPeriod3", - "label":"a_elecPeriod3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "uint8", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8757", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_sin", - "label":"r_sin", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "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: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: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":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" - ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" - ], - "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" - ], - "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" - ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" - ], - "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" - ], - "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" - ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8745#out:1", - "className":"Simulink.Line", - "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:8751#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" - ], - "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" - ], - "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" - ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9636#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "inspector":{ - "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" - ], - "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" - ], - "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" - ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "r_sin", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Goto", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "GotoTag", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "r_cos", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"From", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8758", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_cos", + "label":"r_cos", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8743", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", "StorageClass", - "Description", - "documentLink" + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "", + "2", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", "off", + "[]", "off", + "held", "off", - "Simulink", - "Auto", + "0", "", - "" + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -2737,50 +734,66 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Outport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "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":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", - "Auto", - "", - "" + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -2788,11 +801,13 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Inport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9648#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8748#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2843,7 +858,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9647#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10676#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2894,7 +909,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8756#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8744#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2945,7 +960,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9651#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9640#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2996,7 +1011,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9654#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9643#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3047,7 +1062,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9657#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8755#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3098,7 +1113,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9641#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9645#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -3149,7 +1164,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9653#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8754#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 6df332fba636126a109448d6457b2c0d52c7810e..ada685ad4b39023f95b41cf3f82860feb98cdcc0 100644 GIT binary patch literal 4383 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 DnEL7I literal 9571 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 - + - + - - - - - - - - - - - - - - Field Weakening map as a function of Input target - - - - - - + - + - + Note: The Sine and Cosine maps are shifted in phase by - + - + 30 deg to align with the Hall sensors position. @@ -57,37 +38,18 @@ - - - - - - - - - - - - - FOC Field weakening - - - - - - - + - - + + - + Sine/Cosine Look-up Tables @@ -97,44 +59,44 @@ - - + + - + - + - - 3 + + 1 - + - - + + - - + + - - id_Tgt + + r_sin @@ -145,242 +107,363 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - - - - - - - - - - - - - + + + + + + + 1-D T(k,f) - - - - - - + + + + + + + k1 - - + + - - r_fieldWeak_XA + + f1 - - - + + + + + + + + + + - - + + - - ufix8_En7 + + r_sin_M1 - - + + - - + + - - uint8 + + sfix16_En14 @@ -391,362 +474,362 @@ - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1-D T(k,f) - + - + k1 - + - + f1 - + - - + + - - + + - - r_sin_M1 + + r_cos_M1 - + - - + + - + sfix16_En14 @@ -758,179 +841,139 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1-D T(k,f) + + - - + + - - k1 + + - - + + - - f1 + + + + + + + + + + - - + + - - + + - + - - id_fieldWeak_M1 + + a_elecAngle_XA - - + + - + - - sfix16_En4 + + uint8 @@ -941,11 +984,11 @@ - - + + - + @@ -955,14 +998,14 @@ - - [id_TgtAbs] + + [r_cos] - + @@ -974,139 +1017,92 @@ - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [r_sin] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En14 - - + + + + + + + + + - - - + + - - - + + + + + + + + [a_elecAngle] - - - - - - - - - - - a_elecAngle_XA + + + - - + + - - + + - - uint8 + + sfix16_En6 @@ -1117,28 +1113,28 @@ - - + + - + - + - - [id_Tgt] + + [a_elecAngle] - + @@ -1150,29 +1146,44 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + 0 - - + + + + + + + + + + + + + + + + + uint8 @@ -1183,28 +1194,28 @@ - - + + - + - + - - [r_cos] + + [r_sin] - + @@ -1216,44 +1227,44 @@ - - - + + + - - + + - - + + - - 0 + + [r_cos] - - + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1264,44 +1275,44 @@ - - + + - + - + - - 4 + + 2 - + - - + + - - + + - - id_TgtAbs + + r_cos @@ -1312,1624 +1323,58 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 1 - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - b_fieldWeakEna - - - - - - - - - - - - - - - - - - - - - - b_fieldWeakEna - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [id_TgtAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [id_Tgt] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - sfix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n_fieldWeakAuth - - - - - - - - - - - - - - - boolean - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - r_cos - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - T - - - - - - - - F - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-D T(k,f) - - - - - - - - k1 - - - - - - - - f1 - - - - - - - - - - - - - - - - - - - - - - r_cos_M1 - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - n_motAbs - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_cos] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_sin] - - - - - - - - - - - - - - - - - - - - - - sfix16_En14 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_sin - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - + + - + - - + + - + a_elecAngle - + - - + + - + sfix16_En6 @@ -2939,236 +1384,82 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - boolean - - - - - - - - - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - + - + - - - - + - + - - - - - - - - - - - - - - - + - + @@ -3178,53 +1469,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -3234,11 +1483,11 @@ - + - + @@ -3248,11 +1497,11 @@ - + - + @@ -3262,11 +1511,11 @@ - + - + @@ -3276,123 +1525,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -3401,5 +1538,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json index 675b363..8a5de1a 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 @@ -312,11 +312,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8879", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -336,7 +336,7 @@ ], "values":[ "rectangular", - "-+", + "--", "off", "Inherit: Inherit via internal rule", "[]", @@ -402,46 +402,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8875", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"MinMax2", - "label":"MinMax2", + "name":"Gain4", + "label":"Gain4", "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", - "max", - "on", - "1", - "off", + "2/sqrt(3)", + "Element-wise(K.*u)", "[]", "[]", + "Inherit: Same as input", + "off", "Floor", - "-1", "off", - "on" + "[]", + "[]", + "Inherit: Inherit via internal rule", + "-1" ], "tabs":[ + "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 8, + 11 ] }, "viewer":{ @@ -450,7 +456,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Gain", "masktype":"" } }, @@ -514,52 +520,46 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8873", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8877", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Gain2", - "label":"Gain2", + "name":"MinMax2", + "label":"MinMax2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", + "OutMax", + "OutMin", "RndMeth", + "SampleTime", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "ZeroCross" ], "values":[ - "0.5", - "Element-wise(K.*u)", + "Inherit: Inherit via internal rule", + "max", + "on", + "1", + "off", "[]", "[]", - "Inherit: Same as input", - "off", "Floor", + "-1", "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "on" ], "tabs":[ - "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 1 ] }, "viewer":{ @@ -568,16 +568,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8875", + "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":[ @@ -595,7 +595,7 @@ "SampleTime" ], "values":[ - "2/sqrt(3)", + "0.5", "Element-wise(K.*u)", "[]", "[]", @@ -632,11 +632,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8879", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8880", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ @@ -656,7 +656,7 @@ ], "values":[ "rectangular", - "--", + "-+", "off", "Inherit: Inherit via internal rule", "[]", @@ -691,52 +691,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8869", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8872", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Add", - "label":"Add", + "name":"Gain1", + "label":"Gain1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", "SampleTime" ], "values":[ - "rectangular", - "++", + "sqrt(3)/2", + "Element-wise(K.*u)", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Zero", "off", - "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Inherit via internal rule", - "off", - "Floor", - "on", - "1", - "All dimensions", "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 10 + 8, + 11 ] }, "viewer":{ @@ -745,57 +745,51 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8872", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"Gain1", - "label":"Gain1", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", "LockScale", + "OutMax", + "OutMin", "RndMeth", + "SampleTime", "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "ZeroCross" ], "values":[ - "sqrt(3)/2", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", + "Inherit: Inherit via internal rule", + "min", + "on", + "1", "off", "[]", "[]", - "Inherit: Inherit via internal rule", - "-1" + "Floor", + "-1", + "off", + "on" ], "tabs":[ - "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 8, - 11 + 1 ] }, "viewer":{ @@ -804,7 +798,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"MinMax", "masktype":"" } }, @@ -868,46 +862,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8876", - "className":"Simulink.MinMax", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8869", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"MinMax1", - "label":"MinMax1", + "name":"Add", + "label":"Add", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8866", "inspector":{ "params":[ - "OutDataTypeStr", - "Function", - "InputSameDT", + "IconShape", "Inputs", - "LockScale", - "OutMax", + "InputSameDT", + "AccumDataTypeStr", "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", "RndMeth", - "SampleTime", "SaturateOnIntegerOverflow", - "ZeroCross" + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Inherit: Inherit via internal rule", - "min", - "on", - "1", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Floor", - "-1", + "Inherit: Inherit via internal rule", "off", - "on" + "Floor", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ + "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1 + 2, + 10 ] }, "viewer":{ @@ -916,7 +916,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"MinMax", + "blocktype":"Sum", "masktype":"" } }, 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 b6cee58..bc2ba81 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 @@ -265,59 +265,51 @@ - - - + + + - - + + - + - + - + - - - - - - - - - + - - + + - + - - + + - + sfix16_En4 @@ -339,11 +331,11 @@ - + - + @@ -361,11 +353,11 @@ - + - + sfix16_En4 @@ -377,59 +369,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + 2/sqrt(3) - - - - - - - - - - + + - + - - + + - + sfix16_En4 @@ -451,11 +427,11 @@ - + - + 1/2 @@ -473,11 +449,11 @@ - + - + sfix16_En4 @@ -489,43 +465,59 @@ - - - + + + - - + + - + - - + + - - 0.5 + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -537,43 +529,43 @@ - - - + + + - - + + - - + + - - 2/sqrt(3) + + 0.5 - - + + - + - - + + - + sfix16_En4 @@ -585,51 +577,59 @@ - - - + + + - - + + + + + + + + + + - + - + - + - + - - + + - + - + - + sfix16_En4 @@ -641,67 +641,43 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + sqrt(3)/2 - - + + - + - - + + - + sfix16_En4 @@ -713,43 +689,59 @@ - - - + + + - - + + - + - - + + - - sqrt(3)/2 + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -771,27 +763,27 @@ - + - + - + - + - + - + @@ -809,11 +801,11 @@ - + - + sfix16_En4 @@ -825,59 +817,67 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - + - + - + sfix16_En4 @@ -1168,10 +1168,10 @@ - + - + @@ -1193,5 +1193,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json index 1465af5..025ae4b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json @@ -536,70 +536,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8907", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Same as first input", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8905", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -608,7 +549,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "r_sin", "local", "Tag" ], @@ -628,11 +569,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":[ @@ -641,7 +582,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd", "local", "Tag" ], @@ -694,11 +635,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8901", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From8", + "label":"From8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -706,7 +647,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "Vd", "Tag" ], "tabs":[ @@ -725,11 +666,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8901", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -737,7 +678,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "r_sin", "Tag" ], "tabs":[ @@ -756,11 +697,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -787,11 +728,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8899", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -799,7 +740,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_cos", "Tag" ], "tabs":[ @@ -818,21 +759,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8904", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8897", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vd", - "local", + "Vq", "Tag" ], "tabs":[ @@ -846,24 +785,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8906", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "r_cos", + "local", "Tag" ], "tabs":[ @@ -877,7 +818,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -939,11 +880,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8895", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Divide2", - "label":"Divide2", + "name":"Divide3", + "label":"Divide3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -996,17 +968,18 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8893", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8907", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Divide3", - "label":"Divide3", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ + "IconShape", "Inputs", - "Multiplication", "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -1018,15 +991,16 @@ "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", + "rectangular", + "++", "off", + "Inherit: Inherit via internal rule", "[]", "[]", "Inherit: Same as first input", "off", "Simplest", - "off", + "on", "1", "All dimensions", "-1" @@ -1039,7 +1013,7 @@ "tabs_idx":[ 0, 2, - 9 + 10 ] }, "viewer":{ @@ -1048,16 +1022,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8900", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ @@ -1065,7 +1039,7 @@ "IconDisplay" ], "values":[ - "Vq", + "Vd", "Tag" ], "tabs":[ @@ -1141,25 +1115,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8902", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8892", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", + "name":"Divide2", + "label":"Divide2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8886", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Vd", - "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" @@ -1167,16 +1167,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8898", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8896", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From1", + "label":"From1", "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.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg index 6c70128..9626a61 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg @@ -476,68 +476,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + [r_sin] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -548,28 +509,28 @@ - - + + - + - + - - [r_cos] + + [Vd] - + @@ -581,28 +542,28 @@ - - + + - + - + - - [r_sin] + + [Vq] - + @@ -614,29 +575,44 @@ - - - + + + - - + + - - + + - - [Vq] + + [Vd] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -657,11 +633,11 @@ - + - + [r_sin] @@ -679,11 +655,11 @@ - + - + sfix16_En14 @@ -695,44 +671,44 @@ - - + + - + - + - - [r_cos] + + [Vq] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -743,44 +719,44 @@ - - + + - + - + - - [Vq] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -791,44 +767,44 @@ - - + + - + - + - - [r_sin] + + [Vq] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -839,28 +815,28 @@ - - + + - + - + - - [Vd] + + [r_cos] - + @@ -872,44 +848,52 @@ - - - + + + - - + + - - + + - - [r_cos] + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -920,52 +904,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [r_sin] - - + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -976,51 +952,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -1032,51 +1008,67 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1088,43 +1080,43 @@ - - + + - + - + - - [Vq] + + [Vd] - + - + - - + + - + sfix16_En4 @@ -1146,19 +1138,19 @@ - + - + - + - + @@ -1176,11 +1168,11 @@ - + - + sfix16_En4 @@ -1192,43 +1184,51 @@ - - - + + + - - + + + + + + + + + + - + - - [Vd] + + - - + + - + - + - + sfix16_En4 @@ -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 363d6ba..dcf86c7 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 @@ -150,8 +150,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9021", "className":"Simulink.Annotation", "icon":"WebViewIcon2", - "name":"

    Current Circle limitations with priority on i_d (Flux current):

    iq_maxSca = sqrt(1 - idSca^2) (unit circle)

    iq_max = iq_maxSca * i_max

    where,

    idSca = id / i_max,


    The id_Tgt is used instead of measured id, because the target is a more clean signal.


    ", - "label":"

    Current Circle limitations with priority on i_d (Flux current):

    iq_maxSca = sqrt(1 - idSca^2) (unit circle)

    iq_max = iq_maxSca * i_max

    where,

    idSca = id / i_max,


    The id_Tgt is used instead of measured id, because the target is a more clean signal.


    ", + "name":"

    Current Circle limitations with priority on i_d (Flux current):

    iq_maxSca = sqrt(1 - idSca^2) (unit circle)

    iq_max = iq_maxSca * i_max


    where, idSca = id / i_max,


    The id_Tgt is used instead of measured id, because the target is a more clean signal.


    ", + "label":"

    Current Circle limitations with priority on i_d (Flux current):

    iq_maxSca = sqrt(1 - idSca^2) (unit circle)

    iq_max = iq_maxSca * i_max


    where, idSca = id / i_max,


    The id_Tgt is used instead of measured id, because the target is a more clean signal.


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

    Current Circle limitations with priority on i_d (Flux current):

    \n

    iq_maxSca \t= sqrt(1 - idSca^2) \t(unit circle)

    \n

    iq_max \t\t= iq_maxSca * i_max

    \n

    where,

    \n

    idSca \t\t= id / i_max,

    \n


    \n

    The id_Tgt is used instead of measured id, because the target is a more clean signal.

    \n


    ", + "\n\n

    Current Circle limitations with priority on i_d (Flux current):

    \n

    iq_maxSca \t= sqrt(1 - idSca^2) \t(unit circle)

    \n

    iq_max \t\t= iq_maxSca * i_max

    \n


    \n

    where, idSca\t= id / i_max,

    \n


    \n

    The id_Tgt is used instead of measured id, because the target is a more clean signal.

    \n


    ", "off", "rich", "auto", @@ -248,8 +248,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9017", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"Vq_nLimProtMax", + "label":"Vq_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -278,7 +278,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "10", + "12", "Port number", "[]", "[]", @@ -291,9 +291,9 @@ "auto", "off", "off", - "V_min", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -325,11 +325,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"iq_limProtErr", + "label":"iq_limProtErr", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -358,7 +358,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "8", + "11", "Port number", "[]", "[]", @@ -371,9 +371,9 @@ "auto", "off", "off", - "V_min", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -405,11 +405,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10711", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"r_iqLimProtMax", + "label":"r_iqLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -438,7 +438,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "2", + "9", "Port number", "[]", "[]", @@ -451,9 +451,9 @@ "auto", "off", "off", - "V_min", + "[]", "off", - "reset", + "held", "off", "0", "", @@ -485,72 +485,73 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9012", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_maxSca_XA", - "label":"iq_maxSca_XA", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", "LockScale", - "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "Explicit values", - "Dialog", - "iq_maxSca_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "Error", - "off", - "Inherit: Same as input", + "7", + "Port number", "[]", "[]", - "uint8", - "fixdt(0,8,6)", + "Inherit: auto", "off", - "Simplest", - "on", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "750", + "off", + "held", + "off", + "0", "", - "10", - "11", - "10", - "Inherit: auto", - "-1" + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 9, - 16 + 2, + 11 ] }, "viewer":{ @@ -559,37 +560,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9005", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"n_max1", - "label":"n_max1", + "name":"Vq_min", + "label":"Vq_min", "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":[ - "n_max", - "on", - "inf", + "4", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "-900", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -598,8 +630,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -608,37 +640,68 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10712", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"a_elecPeriod2", - "label":"a_elecPeriod2", + "name":"r_nLimProtMax", + "label":"r_nLimProtMax", "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", + "10", + "Port number", "[]", "[]", - "uint8", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -647,8 +710,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -657,47 +720,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9000", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9004", + "className":"Simulink.PreLookup", "icon":"WebViewIcon3", - "name":"a_elecPeriod1", - "label":"a_elecPeriod1", + "name":"iq_maxSca_XA", + "label":"iq_maxSca_XA", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", "LockScale", - "FramePeriod" - ], - "values":[ - "0", - "on", - "inf", - "[]", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "FractionDataTypeStr", + "OutputBusDataTypeStr", + "RndMeth", + "SampleTime", + "UseLastBreakpoint" + ], + "values":[ + "Explicit values", + "Dialog", + "iq_maxSca_XA", + "Index only", + "Evenly spaced points", + "Clip", + "Error", + "off", + "Inherit: Same as input", + "[]", "[]", "uint8", "off", - "inf" + "on", + "", + "10", + "11", + "10", + "fixdt(0,8,6)", + "Inherit: auto", + "Simplest", + "-1", + "off" ], "tabs":[ "Main", - "Signal Attributes", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 3, - 7 + 8, + 13 ] }, "viewer":{ @@ -706,16 +799,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"PreLookup", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"Vq_max_M1", - "label":"Vq_max_M1", + "name":"iq_maxSca_M1", + "label":"iq_maxSca_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -749,7 +842,7 @@ "off", "Explicit values", "Dialog", - "Vq_max_M1", + "iq_maxSca_M1", "Flat", "Error", "on", @@ -758,7 +851,7 @@ "Inherit: Same as output", "[]", "[]", - "fixdt(1,16,4)", + "fixdt(0,16,16)", "[]", "[]", "Speed", @@ -792,135 +885,152 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Speed_Limit_Protection", - "label":"Speed_Limit_Protection", + "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":[ - "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" + "BreakpointsSpecification", + "BreakpointsDataSource", + "BreakpointsData", + "OutputSelection", + "IndexSearchMethod", + "ExtrapMethod", + "DiagnosticForOutOfRangeInput", + "RemoveProtectionInput", + "BreakpointDataTypeStr", + "BreakpointMin", + "BreakpointMax", + "IndexDataTypeStr", + "LockScale", + "BeginIndexSearchUsingPreviousIndexResult", + "BreakpointObject", + "BreakpointsFirstPoint", + "BreakpointsNumPoints", + "BreakpointsSpacing", + "FractionDataTypeStr", + "OutputBusDataTypeStr", + "RndMeth", + "SampleTime", + "UseLastBreakpoint" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", + "Explicit values", + "Dialog", + "Vq_max_XA", + "Index only", + "Evenly spaced points", + "Clip", + "Error", "off", + "Inherit: Same as input", + "[]", + "[]", + "uint8", "off", + "on", "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", + "10", + "11", + "10", + "fixdt(0,8,6)", + "Inherit: auto", + "Simplest", "-1", - "", - "off", - "" + "off" ], "tabs":[ "Main", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 6 + 8, + 13 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"PreLookup", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"id_max", + "label":"id_max", "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":[ - "==", + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", "off", - "boolean", - "Simplest", + "inherit", "-1", - "on" + "Inherit", + "-1", + "auto", + "off", + "off", + "750", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Type", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 2, + 11 ] }, "viewer":{ @@ -929,43 +1039,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8983", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998", + "className":"Simulink.Interpolation_nD", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"Vq_max_M1", + "label":"Vq_max_M1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Operator", - "InputSameDT", + "NumberOfTableDimensions", + "RequireIndexFractionAsBus", + "TableSpecification", + "TableSource", + "Table", + "InterpMethod", + "DiagnosticForOutOfRangeInput", + "ValidIndexMayReachLast", + "NumSelectionDims", + "RemoveProtectionIndex", + "TableDataTypeStr", + "TableMin", + "TableMax", "OutDataTypeStr", + "OutMin", + "OutMax", + "InternalRulePriority", + "LockScale", "RndMeth", - "SampleTime", - "ZeroCross" + "SaturateOnIntegerOverflow", + "ExtrapMethod", + "IntermediateResultsDataTypeStr", + "LookupTableObject", + "SampleTime" ], "values":[ - "==", + "1", "off", - "boolean", - "Simplest", - "-1", - "on" - ], - "tabs":[ - "Main", - "Data Type", + "Explicit values", + "Dialog", + "Vq_max_M1", + "Flat", + "Error", + "on", + "0", + "on", + "Inherit: Same as output", + "[]", + "[]", + "fixdt(1,16,4)", + "[]", + "[]", + "Speed", + "off", + "Simplest", + "off", + "Clip", + "Inherit: Same as output", + "", + "-1" + ], + "tabs":[ + "Main", + "Data Types", "-Other" ], "tabs_idx":[ 0, - 1, - 4 + 10, + 20 ] }, "viewer":{ @@ -974,122 +1120,224 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"Interpolation_n-D", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"If2", - "label":"If2", + "name":"Vd_max1", + "label":"Vd_max1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "1", - "u1 ~= 0", + "Vd_max", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Voltage_Mode_Protection", + "label":"Voltage_Mode_Protection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", "", "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", "-1", - "on" + "", + "off", + "" ], "tabs":[ - "Parameter Attributes", + "Main", "-Other" ], "tabs_idx":[ 0, - 4 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003", - "className":"Simulink.Interpolation_nD", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_maxSca_M1", - "label":"iq_maxSca_M1", + "name":"id_min", + "label":"id_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumberOfTableDimensions", - "RequireIndexFractionAsBus", - "TableSpecification", - "TableSource", - "Table", - "InterpMethod", - "DiagnosticForOutOfRangeInput", - "ValidIndexMayReachLast", - "NumSelectionDims", - "RemoveProtectionIndex", - "TableDataTypeStr", - "TableMin", - "TableMax", - "OutDataTypeStr", + "Port", + "IconDisplay", "OutMin", "OutMax", - "InternalRulePriority", + "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ExtrapMethod", - "IntermediateResultsDataTypeStr", - "LookupTableObject", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "1", - "off", - "Explicit values", - "Dialog", - "iq_maxSca_M1", - "Flat", - "Error", - "on", - "0", - "on", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(0,16,16)", + "6", + "Port number", "[]", "[]", - "Speed", + "Inherit: auto", "off", - "Simplest", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "Clip", - "Inherit: Same as output", + "off", + "-750", + "off", + "held", + "off", + "0", "", - "-1" + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 10, - 20 + 2, + 11 ] }, "viewer":{ @@ -1098,16 +1346,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Interpolation_n-D", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1116,7 +1364,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "iq_min", "local", "Tag" ], @@ -1136,11 +1384,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto16", - "label":"Goto16", + "name":"Goto5", + "label":"Goto5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1149,7 +1397,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "iq_max", "local", "Tag" ], @@ -1169,11 +1417,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8974", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1182,7 +1430,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vd_min", "local", "Tag" ], @@ -1202,11 +1450,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8965", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10718", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto22", + "label":"Goto22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1215,7 +1463,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "r_iqLimProtMax", "local", "Tag" ], @@ -1235,11 +1483,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10713", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto10", - "label":"Goto10", + "name":"Goto20", + "label":"Goto20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1248,7 +1496,7 @@ "IconDisplay" ], "values":[ - "n_max", + "iq_limProtErr", "local", "Tag" ], @@ -1268,11 +1516,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8970", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto15", - "label":"Goto15", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1281,7 +1529,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "id_TgtAbs", "local", "Tag" ], @@ -1301,11 +1549,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8964", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10705", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto19", + "label":"Goto19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1314,7 +1562,7 @@ "IconDisplay" ], "values":[ - "n_min", + "r_inpTgtScaAbs", "local", "Tag" ], @@ -1334,27 +1582,74 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8962", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "Vd", - "local", - "Tag" + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "900", + "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" @@ -1362,16 +1657,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10694", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto17", + "label":"Goto17", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1380,7 +1675,7 @@ "IconDisplay" ], "values":[ - "Vd_max", + "n_motAbs", "local", "Tag" ], @@ -1400,11 +1695,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8977", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8969", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto9", - "label":"Goto9", + "name":"Goto16", + "label":"Goto16", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1413,7 +1708,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "z_ctrlMod", "local", "Tag" ], @@ -1433,11 +1728,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":[ @@ -1446,7 +1741,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "VdPrev", "local", "Tag" ], @@ -1466,74 +1761,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9008", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"Goto4", + "label":"Goto4", "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":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "id_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1541,7 +1789,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, @@ -1605,74 +1853,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9011", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10715", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"Goto21", + "label":"Goto21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_nLimProtMax", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1680,7 +1881,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Goto", "masktype":"" } }, @@ -1744,42 +1945,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", + "name":"Gain1", + "label":"Gain1", "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":{ @@ -1788,7 +1999,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Gain", "masktype":"" } }, @@ -1855,21 +2066,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8973", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "iq_max", - "local", + "id_min", "Tag" ], "tabs":[ @@ -1883,16 +2092,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1900,7 +2109,7 @@ "IconDisplay" ], "values":[ - "id_TgtAbs", + "Vd_min", "Tag" ], "tabs":[ @@ -1919,11 +2128,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10710", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From31", + "label":"From31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -1931,7 +2140,7 @@ "IconDisplay" ], "values":[ - "id_max", + "r_nLimProtMax", "Tag" ], "tabs":[ @@ -1950,74 +2159,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9009", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10709", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"From30", + "label":"From30", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "4", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_min", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "r_iqLimProtMax", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2025,16 +2185,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8950", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10700", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From28", + "label":"From28", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2042,7 +2202,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "n_motAbs", "Tag" ], "tabs":[ @@ -2061,11 +2221,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8949", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10684", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2073,7 +2233,7 @@ "IconDisplay" ], "values":[ - "z_ctrlMod", + "n_max", "Tag" ], "tabs":[ @@ -2092,39 +2252,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8986", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10683", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator4", - "label":"Relational Operator4", + "name":"From24", + "label":"From24", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "iq", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2132,16 +2278,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From18", - "label":"From18", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2149,7 +2295,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "Vd_max", "Tag" ], "tabs":[ @@ -2168,21 +2314,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "id_min", - "local", + "iq_limProtErr", "Tag" ], "tabs":[ @@ -2196,16 +2340,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10816", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From17", - "label":"From17", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2213,7 +2357,7 @@ "IconDisplay" ], "values":[ - "n_min", + "Vq_max", "Tag" ], "tabs":[ @@ -2232,11 +2376,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10699", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From27", + "label":"From27", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2244,7 +2388,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "iqAbs", "Tag" ], "tabs":[ @@ -2263,53 +2407,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Gain6", - "label":"Gain6", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "id_TgtAbs", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2317,16 +2433,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8939", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2334,7 +2450,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_max", "Tag" ], "tabs":[ @@ -2353,11 +2469,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From18", + "label":"From18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2365,7 +2481,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_nLimProtMax", "Tag" ], "tabs":[ @@ -2384,21 +2500,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto14", - "label":"Goto14", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "VdPrev", "Tag" ], "tabs":[ @@ -2412,16 +2526,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8934", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10780", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2429,7 +2543,7 @@ "IconDisplay" ], "values":[ - "Vd", + "n_motAbs", "Tag" ], "tabs":[ @@ -2448,72 +2562,50 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8999", - "className":"Simulink.PreLookup", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9732", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Vq_max_XA", - "label":"Vq_max_XA", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "BreakpointsSpecification", - "BreakpointsDataSource", - "BreakpointsData", - "OutputSelection", - "IndexSearchMethod", - "ExtrapMethod", - "UseLastBreakpoint", - "DiagnosticForOutOfRangeInput", - "RemoveProtectionInput", - "BreakpointDataTypeStr", - "BreakpointMin", - "BreakpointMax", - "IndexDataTypeStr", - "FractionDataTypeStr", + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", "LockScale", "RndMeth", - "BeginIndexSearchUsingPreviousIndexResult", - "BreakpointObject", - "BreakpointsFirstPoint", - "BreakpointsNumPoints", - "BreakpointsSpacing", - "OutputBusDataTypeStr", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", "SampleTime" ], "values":[ - "Explicit values", - "Dialog", - "Vq_max_XA", - "Index only", - "Evenly spaced points", - "Clip", - "off", - "Error", + "*/", + "Element-wise(.*)", "off", - "Inherit: Same as input", "[]", "[]", - "uint8", - "fixdt(0,8,6)", + "fixdt(0,16,16)", "off", "Simplest", "on", - "", - "10", - "11", - "10", - "Inherit: auto", + "1", + "All dimensions", "-1" ], "tabs":[ "Main", - "Data Types", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 9, - 16 + 2, + 9 ] }, "viewer":{ @@ -2522,16 +2614,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"PreLookup", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8971", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10727", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto23", + "label":"Goto23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2540,7 +2632,7 @@ "IconDisplay" ], "values":[ - "Vd_min", + "r_nLimProtMax", "local", "Tag" ], @@ -2560,27 +2652,33 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10565", + "className":"Simulink.SwitchCase", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Switch Case", + "label":"Switch Case", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "CaseConditions", + "ShowDefaultCase", + "SampleTime", + "ZeroCross" ], "values":[ - "iq", - "local", - "Tag" + "{VLT_MODE, SPD_MODE, TRQ_MODE}", + "off", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2588,56 +2686,77 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SwitchCase", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", - "className":"Simulink.Gain", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9013", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Gain4", - "label":"Gain4", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Gain", - "Multiplication", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "-1", - "Element-wise(K.*u)", + "8", + "Port number", "[]", "[]", - "Inherit: Same as input", + "Inherit: auto", "off", - "Zero", + "inherit", + "-1", + "Inherit", + "-1", + "auto", "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" + "off", + "-750", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", "Signal Attributes", - "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 8, 11 ] }, @@ -2647,16 +2766,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8972", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8967", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"Goto14", + "label":"Goto14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2665,7 +2784,7 @@ "IconDisplay" ], "values":[ - "id_max", + "Vq_max", "local", "Tag" ], @@ -2685,11 +2804,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9012", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8968", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto15", + "label":"Goto15", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_min", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9007", "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2718,7 +2870,7 @@ "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "7", + "2", "Port number", "[]", "[]", @@ -2731,9 +2883,9 @@ "auto", "off", "off", - "V_max", + "-900", "off", - "reset", + "held", "off", "0", "", @@ -2765,11 +2917,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10602", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Current_Limit_Protection", - "label":"Current_Limit_Protection", + "name":"Torque_Mode_Protection", + "label":"Torque_Mode_Protection", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2862,63 +3014,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10675", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"Constant1", + "label":"Constant1", "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" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "1", - "Port number", + "0", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", - "off", - "reset", + "uint8", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -2927,8 +3048,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -2937,24 +3058,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8961", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlMod", + "Vd_max", + "local", "Tag" ], "tabs":[ @@ -2968,16 +3091,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9005", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM3", - "label":"CTRL_COMM3", + "name":"n_max1", + "label":"n_max1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -2991,12 +3114,12 @@ "FramePeriod" ], "values":[ - "TRQ_MODE", + "n_max", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(1,16,4)", "off", "inf" ], @@ -3022,32 +3145,40 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8997", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9733", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Vd_max1", - "label":"Vd_max1", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Inputs", + "Multiplication", + "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Vd_max", - "on", - "inf", + "**", + "Element-wise(.*)", + "off", "[]", "[]", "fixdt(1,16,4)", "off", - "inf" + "Simplest", + "off", + "1", + "All dimensions", + "-1" ], "tabs":[ "Main", @@ -3056,8 +3187,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 9 ] }, "viewer":{ @@ -3066,79 +3197,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9010", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10680", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "GotoTag", + "IconDisplay" ], "values":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "V_max", - "off", - "reset", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "n_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3146,16 +3228,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8976", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10674", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"Constant", + "label":"Constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3169,12 +3284,12 @@ "FramePeriod" ], "values":[ - "VLT_MODE", + "0", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "uint8", "off", "inf" ], @@ -3200,51 +3315,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9732", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10564", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"From23", + "label":"From23", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(0,16,16)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "z_ctrlMod", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3252,41 +3341,47 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9002", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", + "Value", + "VectorParams1D", "SampleTime", - "ZeroCross" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "1", - "u1 ~= 0", - "", + "i_max", + "on", + "inf", + "[]", + "[]", + "fixdt(1,16,4)", "off", - "-1", - "on" + "inf" ], "tabs":[ - "Parameter Attributes", + "Main", + "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 4 + 3, + 7 ] }, "viewer":{ @@ -3295,47 +3390,45 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8920", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", + "className":"Simulink.Abs", "icon":"WebViewIcon3", - "name":"CTRL_COMM", - "label":"CTRL_COMM", + "name":"Abs5", + "label":"Abs5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime", + "ZeroCross" ], "values":[ - "VLT_MODE", - "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":{ @@ -3344,16 +3437,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Abs", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10708", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From29", + "label":"From29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3361,7 +3454,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "r_inpTgtScaAbs", "Tag" ], "tabs":[ @@ -3380,19 +3473,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8945", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8975", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "n_max", + "id_min", + "local", "Tag" ], "tabs":[ @@ -3406,16 +3501,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10693", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"n_motAbs", + "label":"n_motAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3438,7 +3533,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "7", "Port number", "[]", "[]", @@ -3478,11 +3573,91 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8936", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9006", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"Vd_max", + "label":"Vd_max", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "900", + "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:10685", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From26", + "label":"From26", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3509,41 +3684,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919", - "className":"Simulink.Abs", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8951", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "Zero", - "off", - "-1", - "on" + "id_max", + "Tag" ], "tabs":[ - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3551,16 +3710,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Abs", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9014", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10695", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"iqAbs", + "label":"iqAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3576,20 +3735,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "9", + "6", "Port number", "[]", "[]", @@ -3601,17 +3754,10 @@ "-1", "auto", "off", + "", + "on", "off", - "V_min", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -3631,48 +3777,63 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8921", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8947", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "SPD_MODE", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "Vq_min", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8963", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto10", + "label":"Goto10", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "n_max", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3680,44 +3841,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10361", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"Relational Operator3", - "label":"Relational Operator3", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "held", + "Only when execution is resumed" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3725,16 +3872,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8953", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10681", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From21", + "label":"From21", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3742,7 +3889,7 @@ "IconDisplay" ], "values":[ - "id_min", + "iq_max", "Tag" ], "tabs":[ @@ -3761,25 +3908,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8917", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"iq", + "label":"iq", "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":[ - "iq_min", - "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" @@ -3787,30 +3970,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8946", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8916", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"id_TgtAbs", + "label":"id_TgtAbs", "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":[ - "Vd_max", - "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" @@ -3818,7 +4037,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, @@ -3826,8 +4045,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8915", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd", - "label":"Vd", + "name":"VdPrev", + "label":"VdPrev", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -3850,7 +4069,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "3", "Port number", "[]", "[]", @@ -3863,88 +4082,151 @@ "auto", "off", "", - "on", - "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:10584", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Speed_Mode_Protection", + "label":"Speed_Mode_Protection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", "off", - "off" + "" ], "tabs":[ "Main", - "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 11 + 6 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8916", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10696", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"id_TgtAbs", - "label":"id_TgtAbs", + "name":"Goto18", + "label":"Goto18", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "iqAbs", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -3952,55 +4234,57 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9733", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8958", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ - "Inputs", + "Gain", "Multiplication", - "InputSameDT", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", "SampleTime" ], "values":[ - "**", - "Element-wise(.*)", - "off", + "-1", + "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Same as input", "off", - "Simplest", + "Zero", "off", - "1", - "All dimensions", + "[]", + "[]", + "Inherit: Same as input", "-1" ], "tabs":[ "Main", "Signal Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, 2, - 9 + 8, + 11 ] }, "viewer":{ @@ -4009,16 +4293,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Gain", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8935", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10682", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4026,7 +4310,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "iq_min", "Tag" ], "tabs":[ @@ -4045,11 +4329,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10704", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", + "name":"r_inpTgtScaAbs", + "label":"r_inpTgtScaAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4072,7 +4356,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -4112,70 +4396,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8956", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain1", - "label":"Gain1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" - ], - "values":[ - "-1", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", - "off", - "Zero", - "off", - "[]", - "[]", - "Inherit: Same as input", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 8, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Gain", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8918", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_mot", - "label":"n_mot", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ @@ -4198,7 +4423,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -4237,96 +4462,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8981", - "className":"Simulink.Logic", - "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "Inputs", - "IconShape", - "AllPortsSameDT", - "OutDataTypeStr", - "SampleTime" - ], - "values":[ - "OR", - "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:8980", - "className":"Simulink.Logic", - "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "inspector":{ - "params":[ - "Operator", - "Inputs", - "IconShape", - "AllPortsSameDT", - "OutDataTypeStr", - "SampleTime" - ], - "values":[ - "OR", - "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:8999#out:1", "className":"Simulink.Line", @@ -5501,7 +5636,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8960#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5552,7 +5687,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8918#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5603,7 +5738,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8944#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5654,7 +5789,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8914#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5705,7 +5840,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8983#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5756,7 +5891,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8948#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9732#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5807,7 +5942,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8981#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5858,7 +5993,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8984#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10564#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5909,7 +6044,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8920#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10565#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -5960,7 +6095,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8921#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10565#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6011,7 +6146,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8923#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10565#out:3", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6062,7 +6197,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8922#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10674#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6113,7 +6248,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8986#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10675#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6164,7 +6299,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8980#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10680#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6215,7 +6350,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8949#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10683#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6266,7 +6401,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8985#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10682#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6317,7 +6452,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8936#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10681#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6368,7 +6503,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8938#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10684#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6419,7 +6554,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8937#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10685#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6470,7 +6605,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10693#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6521,7 +6656,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8945#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10695#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6572,7 +6707,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8942#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10699#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6623,7 +6758,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8943#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10700#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6674,7 +6809,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10704#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6725,7 +6860,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8978#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10708#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6776,7 +6911,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8979#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10710#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6827,7 +6962,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9000#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10709#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6878,7 +7013,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8998#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10584#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6929,7 +7064,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9001#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10602#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -6980,7 +7115,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8919#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10566#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7031,7 +7166,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8952#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10566#out:2", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7082,7 +7217,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9732#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10780#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -7133,7 +7268,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9003#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10816#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_8913_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png index 4a867d2099f781636eca47a257b5ede6023cdab9..1b3b3b9527b2d84fdd9a1e4a2f0c4a094588bd3e 100644 GIT binary patch literal 13754 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 literal 14224 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 - + - + @@ -14,7 +14,7 @@ - + @@ -22,7 +22,7 @@ - + Speed protection @@ -30,7 +30,7 @@ - + for cases in which the speed is not directly controlled, i.e., @@ -38,7 +38,7 @@ - + VOLTAGE_MODE and TORQUE_MODE @@ -49,7 +49,7 @@ - + @@ -57,7 +57,7 @@ - + Current protection @@ -65,7 +65,7 @@ - + for cases in which the current is not directly controlled, i.e., @@ -73,7 +73,7 @@ - + VOLTAGE_MODE and SPEED_MODE @@ -84,15 +84,15 @@ - - + + - + - + Speed limitations @@ -160,7 +160,7 @@ - where, + where, idSca @@ -168,22 +168,14 @@ - idSca - - - - - - - = id / i_max, - + - + The id_Tgt is used instead of measured id, because the target is a more clean signal. @@ -198,43 +190,43 @@ - + - + Voltage Circle limitations with priority on i_d (Flux current): - + - + Vq_max - + - + = sqrt(Vd_max^2 - Vd^2) - + - + Vq_min - + - + = -Vq_max @@ -245,43 +237,43 @@ - + - + - + - - 10 + + 12 - + - - + + - - + + - - n_limProt + + Vq_nLimProtMax @@ -292,44 +284,92 @@ - - + + - + - + - - 8 + + 11 - + - - + + + + + + + + + iq_limProtErr + + + + + + + + + + + + + + + + + + + - + - - iq_min + + 9 + + + + + + + + + + + + + + + + + + + + + + r_iqLimProtMax @@ -340,44 +380,140 @@ - - + + - + - + - - 2 + + 7 - + - + + + + + + + + + + iq_max + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + - - + + - - Vd_min + + Vq_min + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + + + + + + + + + + + + + + + r_nLimProtMax @@ -398,83 +534,83 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -500,11 +636,11 @@ - - + + - + iq_maxSca_XA @@ -515,11 +651,11 @@ - - + + - + uint8 @@ -531,507 +667,363 @@ - - - + + + - - + + - - + + - - n_max - - - - - - - - - - - - - - + + - - + + - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - + + - - 0 - - - - - - - + + - - - - - - + + + + + + + - - + + - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + 1-D T(k,f) - + - + k1 - + - + f1 - + - - + + - - + + - - Vq_max_M1 + + iq_maxSca_M1 - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1042,136 +1034,139 @@ - - - + + + - - - - - - - - + + - + - - + + - - n_mot + + - - + + - - n_max + + - - + + - - n_min + + - - + + - - n_limProt + + - - + + - - if { } + + - - - - - - - - + + + - - + + - - - - - - - - + + + - - + + - - + + - - Speed_Limit_Protection + + - - - - - - - - + + + - - + + - - + + - - action + + - + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + Vq_max_XA + + + + + + + - - + + - - sfix16_En4 + + uint8 @@ -1182,74 +1177,44 @@ - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + 5 - - - - - - - - - - + + - - - + + + - - + + - - boolean + + id_max @@ -1260,491 +1225,650 @@ - - - + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - boolean + + - - - - - - - - - - - - - - - - - - - - + + - - u1 + + - - + + - - if(u1 ~= 0) + + - - - - - - + + + + + + + - - - - - - + + + + + + + - - + + - - action + + - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + 1-D T(k,f) - - + + - - + + k1 - - + + - - + + f1 + + + + + + + + + + + + + + - - + + - - + + Vq_max_M1 + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + Vd_max + + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + r_inpTgtScaAbs - - + + - - + + iqAbs - - + + - - + + iq_max - - + + - - + + n_motAbs - - + + - - + + n_max - - + + - - + + r_iqLimProtMax - - + + - - + + r_nLimProtMax - - + + - - + + case: { } + + + + - - - + + + + - - + + + + + + - - - + + + + - - + + - - + + - - + + Voltage_Mode_Protection + + + + - - - + + + + - - + + - - + + - - + + sfix16_En4 + + + + - - - + + + + - - + + - - + + - - + + action + + + + - - - + + + + - - 1-D T(k,f) + + - - + + - - k1 + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - f1 + + 6 - - + + - - - - - - - - - - iq_maxSca_M1 - - - - - - - + + - - + + - - ufix16_En16 + + id_min @@ -1755,28 +1879,28 @@ - - + + - + - + - - [id_TgtAbs] + + [iq_min] - + @@ -1788,28 +1912,28 @@ - - + + - + - + - - [z_ctrlMod] + + [iq_max] - + @@ -1821,28 +1945,28 @@ - - + + - + - + - - [iq_min] + + [Vd_min] - + @@ -1854,28 +1978,28 @@ - - + + - + - + - - [n_mot] + + [r_iqLimProtMax] - + @@ -1887,28 +2011,28 @@ - - + + - + - + - - [n_max] + + [iq_limProtErr] - + @@ -1920,28 +2044,28 @@ - - + + - + - - + + - - [Vq_min] + + [id_TgtAbs] - + @@ -1953,28 +2077,28 @@ - - + + - + - - + + - - [n_min] + + [r_inpTgtScaAbs] - + @@ -1986,29 +2110,44 @@ - - - + + + - - + + - - + + - - [Vd] + + 3 + + + + + + + - - - + + + + + + + + + + + Vq_max @@ -2019,28 +2158,28 @@ - - + + - + - - + + - - [Vd_max] + + [n_motAbs] - + @@ -2052,28 +2191,28 @@ - - + + - + - - + + - - [iq_limProt] + + [z_ctrlMod] - + @@ -2085,28 +2224,28 @@ - - + + - + - - + + - - [n_limProt] + + [VdPrev] - + @@ -2118,44 +2257,29 @@ - - - + + + - - + + - - + + - - 3 + + [id_max] - - - - - - - - - - - - - - - - - Vq_max + + @@ -2176,11 +2300,11 @@ - + - + -1 @@ -2198,11 +2322,11 @@ - - + + - + sfix16_En4 @@ -2214,44 +2338,29 @@ - - - + + + - - + + - - + + - - 6 + + [Vq_nLimProtMax] - - - - - - - - - - - - - - - - - id_min + + @@ -2272,11 +2381,11 @@ - + - + -1 @@ -2294,11 +2403,11 @@ - - + + - + sfix16_En4 @@ -2310,43 +2419,43 @@ - - - + + + - - + + - - + + - - i_max + + -1 - - + + - + - - + + - + sfix16_En4 @@ -2368,11 +2477,11 @@ - + - + [iq_min] @@ -2390,11 +2499,11 @@ - - + + - + sfix16_En4 @@ -2416,11 +2525,11 @@ - + - + [iq_max] @@ -2438,11 +2547,11 @@ - - + + - + sfix16_En4 @@ -2454,29 +2563,44 @@ - - - + + + - - + + - - + + - - [iq_max] + + [id_min] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -2487,43 +2611,43 @@ - - + + - + - + - - [id_TgtAbs] + + [Vd_min] - + - + - - + + - + sfix16_En4 @@ -2535,43 +2659,43 @@ - - + + - + - + - - [id_max] + + [r_nLimProtMax] - + - + - - + + - + sfix16_En4 @@ -2583,44 +2707,44 @@ - - - + + + - - + + - - + + - - 4 + + [r_iqLimProtMax] - - + + - - - + + + - - + + - - Vq_min + + sfix16_En4 @@ -2631,43 +2755,43 @@ - - + + - + - + - - [Vd_min] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -2679,44 +2803,44 @@ - - + + - + - + - - [z_ctrlMod] + + [n_max] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -2727,68 +2851,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + [iq] - - - - - - - - - - + + - - + + - - + + - - boolean + + sfix16_En4 @@ -2799,43 +2899,43 @@ - - + + - + - + - - [n_limProt] + + [Vd_max] - + - + - - + + - + sfix16_En4 @@ -2847,29 +2947,44 @@ - - - + + + - - + + - - + + - - [id_min] + + [iq_limProtErr] - - + + + + + + + + + + + + + + + + + sfix32_En20 @@ -2880,43 +2995,43 @@ - - + + - + - + - - [n_min] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -2928,43 +3043,43 @@ - - + + - + - + - - [n_mot] + + [iqAbs] - + - + - - + + - + sfix16_En4 @@ -2976,43 +3091,43 @@ - - - + + + - - + + - - + + - - -1 + + [id_TgtAbs] - - + + - + - - + + - + sfix16_En4 @@ -3024,43 +3139,43 @@ - - + + - + - + - - [iq_limProt] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -3072,43 +3187,43 @@ - - + + - + - + - - [iq] + + [Vq_nLimProtMax] - + - + - - + + - + sfix16_En4 @@ -3120,29 +3235,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + [VdPrev] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -3153,43 +3283,43 @@ - - + + - + - + - - [Vd] + + [n_motAbs] - + - + - - + + - + sfix16_En4 @@ -3201,172 +3331,204 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + - - + + - - + + ufix16_En16 + + + + + + + + + + + + + + + + + + - - + + - - + + [r_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + u1 - - + + - - + + case [ 1 ]: - - + + - - + + case [ 2 ]: - - + + - - + + case [ 3 ]: - - - - - - - - - - + + - - - + + + - - + + - - Vq_max_XA + + action - - - - - - - - - - uint8 + + - - - - - - - - - - - - - - - - - - - - + + - - [Vd_min] + + action - - - + + + + + + + + + + + action @@ -3377,29 +3539,44 @@ - - - + + + - - + + - - + + - - [iq] + + 8 - - + + + + + + + + + + + + + + + + + iq_min @@ -3410,44 +3587,29 @@ - - - + + + - - + + - - + + - - -1 + + [Vq_max] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -3458,28 +3620,28 @@ - - + + - + - + - - [id_max] + + [Vq_min] - + @@ -3491,44 +3653,44 @@ - - + + - + - + - - 7 + + 2 - + - - + + - - + + - - iq_max + + Vd_min @@ -3539,114 +3701,114 @@ - - - + + + - + - - + + - - + + - - iq + + n_motAbs - - + + - - iq_max + + n_max - - + + - - iq_min + + Vq_max - - + + - - iq_limProt + + Vq_nLimProtMax - - + + - - if { } + + case: { } - + - - + + - + - - + + - - + + - - Current_Limit_Protection + + Torque_Mode_Protection - + - + - - + + - + action @@ -3654,20 +3816,20 @@ - + - + - - + + - + sfix16_En4 @@ -3679,50 +3841,50 @@ - + - + - - + + - - + + - - + + - - 1 + + 0 - - + + - - - + + + - - + + - - Vd_max + + uint8 @@ -3733,44 +3895,77 @@ - - - + + + - - + + - - + + - - [z_ctrlMod] + + [Vd_max] - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + n_max + + + + + + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3781,44 +3976,52 @@ - - - + + + - - + + - - + + + + + + + + + + - - TRQ_MODE + + - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -3829,43 +4032,43 @@ - - - + + + - - + + - - + + - - Vd_max + + [n_max] - - + + - + - - + + - + sfix16_En4 @@ -3877,44 +4080,77 @@ - - - + + + + + + + + + + + + + + + + [iq] + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - 5 + + 0 - - + + - - - + + + - - + + - - id_max + + uint8 @@ -3925,43 +4161,43 @@ - - - + + + - - + + - - + + - - VLT_MODE + + [z_ctrlMod] - - + + - + - - + + - + uint8 @@ -3973,69 +4209,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + i_max - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -4046,100 +4257,76 @@ - - - + + + - - + + - + - - + + - - u1 + + - - + + - - if(u1 ~= 0) - - - - - - - + + - - - - - - + + + + + + + - - + + - - action + + - - - - - - - - - - - - + + - - - - - - - VLT_MODE - - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4150,43 +4337,43 @@ - - + + - + - + - - [Vq_min] + + [r_inpTgtScaAbs] - + - + - - + + - + sfix16_En4 @@ -4198,44 +4385,29 @@ - - - + + + - - + + - - + + - - [n_max] + + [id_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -4246,58 +4418,58 @@ - - + + - + - + - - 4 + + 7 - + - - + + - - + + - - iq + + n_motAbs - + - - + + - + sfix16_En4 @@ -4309,44 +4481,44 @@ - - - + + + - - + + - - + + - - [iq_max] + + 1 - - + + - - - + + + - - + + - - sfix16_En4 + + Vd_max @@ -4357,75 +4529,91 @@ - - - + + + - - + + - + - - + + - - + + [iq_max] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 - - - + + + + + + + + + + + + + + + + + + + + [id_max] + - - + + - + - - + + - + sfix16_En4 @@ -4437,44 +4625,59 @@ - - + + - + - + - - 9 + + 6 - + - - + + - - + + - - iq_limProt + + iqAbs + + + + + + + + + + + + + + + sfix16_En4 @@ -4485,44 +4688,44 @@ - - - + + + - - + + - - + + - - SPD_MODE + + [Vq_min] - - + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -4533,68 +4736,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - + - - + + - - + + [n_max] - - - - - - - - - - - - - - - - - - - - - - - - - boolean + + @@ -4605,44 +4769,44 @@ - - - + + + - - + + - - + + - - [id_min] + + if { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -4653,43 +4817,43 @@ - - + + - + - + - - [iq_min] + + [iq_max] - + - + - - + + - + sfix16_En4 @@ -4701,43 +4865,58 @@ - - - + + + - - + + - - + + - - [Vd_max] + + 5 - - + + + + + + + + + + + + + + + + + iq - + - - + + - + sfix16_En4 @@ -4749,58 +4928,58 @@ - - + + - + - + - - 2 + + 4 - + - - + + - - + + - - Vd + + id_TgtAbs - + - - + + - + sfix16_En4 @@ -4812,58 +4991,58 @@ - - + + - + - + - + 3 - + - - + + - - + + - - id_TgtAbs + + VdPrev - + - - + + - + sfix16_En4 @@ -4875,100 +5054,175 @@ - - - + + + - - + + + + + + + + - - + + - - + + iq - - + + - - + + iq_max + + + + + + + + iq_min + + + + + + + + iq_limProtErr + + + + + + + + case: { } - - + + + + + + + + - - - + + + + + + + + + - - + + - - sfix16_En4 + + Speed_Mode_Protection - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - - [Vq_max] + + sfix32_En20 - - - + + + + + + + + + + + + + + + + + action - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [iqAbs] + + + + + + + @@ -4979,59 +5233,44 @@ - - - + + + - - + + - - + + - - 1 + + -1 - - - - - - - - - - - - - - - - - z_ctrlMod + + - - + + - - + + - - uint8 + + sfix16_En4 @@ -5042,43 +5281,43 @@ - - - + + + - - + + - - + + - - -1 + + [iq_min] - - + + - + - - + + - + sfix16_En4 @@ -5090,58 +5329,58 @@ - - + + - + - + - - 5 + + 2 - + - - + + - - + + - - n_mot + + r_inpTgtScaAbs - + - - + + - + sfix16_En4 @@ -5153,128 +5392,63 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + - - - - + - - + + - - boolean + + 1 - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + z_ctrlMod - - - - - - + + - - + + - - boolean - - - - - - - + + uint8 - - - - @@ -5386,11 +5560,11 @@ - + - + @@ -5400,11 +5574,11 @@ - + - + @@ -5662,11 +5836,11 @@ - + - + @@ -5676,11 +5850,11 @@ - + - + @@ -5690,553 +5864,493 @@ - - - - - - - - - - - - - - - - - - + - + - - - - + - + - + - + - + - + - + - - - - + - - - - - + - + - - - - - + - + + + + - - - - - - - - - - - - - - - - - - + - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - + - - - - - - - - + - + - + + + + + - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - - - - - - - - + - + - + + + + + - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6245,5 +6359,5 @@ - + 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 deleted file mode 100644 index 1a1009f2415a231b31a958e34ea5a01c7629eefd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3748 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 d|F>-?XSVF7iX|gtQ-QV z-OY$}-Q!w!-GAc!u+MLQ*n6L|p5GJuMCRi{4ZZR>?Csv3P^?(E=5|dPt5Eb96DWO zI`@2@6=Qf66&10aUl_IYLgYB8X6rpk3u6Dr0|xKpmeexy`p^iu>z@MyT@BtlOmLNal@~5N zot>S&OA*ZL&DlSHY7$q5f-6Eck5OGcJ;Q!rws?CywP%_&E(A_)ZtBj?!oUmf#H)ps zl|2kszRSSGlv`0j8v+5T<OxK8Ps&nKa>q7FUG`-jp?VRrotT^NqrhQBO)SLSXhEPmxBB3I(mEmBF;*xs+vR} zaqE5a^yc*-8>E=1!}?PR#bhhDZgB{l=5}fVjm&!*L4`ugn9x)6hybdfppS74za z<`WQ5uW6~QtSq#8sP(g;7aS$PfWOZ@LlOqDT1c=OM=Y_hKx}Po4R>6foRn;B?};#x z>txD>WM*;zDDFlD^4!bIJHsFsmOdE8e!J)?V$+t3<6IKI*%-OYlAN4t zdfL@RD8)u8BqXG(uOB);Z~63i+(0kkonPWR?IgcMhA_M!c@zVH(2~0^qTaMr&D?yp z348skSVy1Z-o1NJ4UP8`Cys9n?05(W2;A$=_fUtG# zOau3b%!p#|zX8{zsJK2x)+#G~C?O zSvu&B4rNeVcPw)Su-l3HewL1an!0*L;Pr*0TZ4`N6|Tp3C0=&%^s@VzNJ7t1uU?ma z1}-d9l_~c=fRnWC`w%`6^21Z8kdg4X_U~jCf zti6MS-O=;{?to(A5)u@D2LLSvXc+QqE7J!o>oy;bL8z*$ll<)OcbJ`jae%(KK>ay6 zSzc@plk;4sprfZRz{mMMt@Fj@%H5otoJ_gqE?YFC7&SCBp5HVk{D=$jhryzrZw%!O z!6C3bJbnG(?=qXAN(>3{OR>lWRU2jHadx9(%w)6QX$e}4ytJW#4X`vuMn>Pgnh6km zy5PMzaNHB0T?h(wQN1%&?L-fV)5F8#8vx8>x7NBk7GS-osHmWzAjHawTT@fh{pRWo zpm;@WLt63Wsgj9_NeNoAnDrJ}X4c3Q^w@(Cpdmdyy+QxV@-keCE#1yNR;heq_yT-< zd<<}azO~1uV!-**sF?Au{iB-Y0t_enknUE1N1#xsZ?9%#W}E$( zxe`c-!|;F&%n!}me#EoWa&sqOu|^Ec%wlJ-ZuG&|uR?##v9*=k!omWeiwY7c+hlo= zOQA*vq)9_#V^VrLIwT}Sbq;&7H-o!AUC67fq_YY)I5Ql-Ac5$91n)h+SmZ=>k0rJ&V_QIsOv_ zQl|Eo4Avz2&sRpjn;U~ouiuXzbwNIS_yDh(8o^>C;o?z1U{u%ClolF~L@3`iZ}4*3 zUTAJ^_B~%qPj|U2(8=ncR=fhWF5JQrN`wbDJ_fz5av079nkAF*3UN-t?SD8z6kEFx z$ZlEA40s23z@O1^12k9D>>QvtVdFBmTi?;)%|ZD$#n0Rz_n%Z8O~@fd3H;RSS`x*e zTjX+G7leviA#P|$$L{6J(n3M5dcKw#v!PU5GPvr5%Jc}PldvW|(mSk``idUG<$`gPWvTOCA7`Y8iCx z&Bxc3_osFOR~teOjUn(^c=C!uJ=iSUutX@(59|HlcM(6}n75XuG21wtx}_d0^`EF0 z)Euy6V}>%5D*L-`*wC}qgBB&^wf4HKCWa+tQv6ph4l0l ztFf`*@bErkhO{*N)BVk=m6hJBqmQ^HG`E763!=spH}+ht-L6r=N-*?3osQ~fg>_Sl& zB*GRAQdn3OCij+Cp`&vz{m%4WPe(snA%G14nuv&~u)G{SvzLuaZ<(DvCLEo56j`&C zV(f8260qszYuyJ8?dOEpQEZe6Xc`=9uGomZP(`&Bdgcp&ylhal}h^Gtgsen~O&I#Awd zT_Jshs;Vjr2S?Z5Of7ES??790p~`_exG#FXUe}I?b!)3o!GmxwD~lBTtzcx!tG5F7 z$w>Y7ZBhT5WO|T{%Ro>3`eXlxO>B<4e!hA^8&}^sbw~%?h)zW?2RvYKzz+xIfp@$F zc>D`&)!)9+w8LpI7>szvAj|H7dfP_qIsK%K(^1+}mwCw}k=q*QiIM5)nA&+1`QF}M z-J2u+IJJ8N_K$$T^jF}nHWei%A+eUp(6h2i$j|4?|NQyx{rg1M*Vn>6baHGll&d#< zYiDP2f87koHz0*q*Vlib9AmJ60ma2pfKqyvI5|0c`}%OTJ%pm-`ah zH#n$jVZph)yxipg7pubZ>D3=(EkD%-Tu4) 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 deleted file mode 100644 index 32ccd3e..0000000 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg +++ /dev/null @@ -1,715 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - n_limProt - - - - - - - - - - - - - - - - - - - - - - - - - - cf_nKpLimProt - - - - - - - - - - - - - - - - - - - - - - cf_nKpLimProt - - - - - - - - - - - - - - - ufix16_En8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - - - - - y - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - n_min - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - - - - - - - n_max - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - n_mot - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - if { } - - - - - - - - - - - - - - - - - - - - - - Action Port - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 840ba95..c45d5d1 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 @@ -48,6 +48,37 @@ "finder":[ ] }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9031", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "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:9043", "className":"Simulink.Outport", @@ -195,37 +226,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9031", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, { "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 cb96fbf..0605bca 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 @@ -1,10 +1,10 @@ - + - + @@ -14,7 +14,7 @@ - + @@ -22,7 +22,7 @@ - + Just copy the target which will be reduced to 0 in @@ -30,7 +30,7 @@ - + the Input_Target_Sythesis function. @@ -40,44 +40,44 @@ - - - + + + - - + + - + - - 1 + + default: { } - - + + - - + + - + - - Vq_Open + + Action Port @@ -88,11 +88,11 @@ - - + + - + @@ -102,45 +102,30 @@ - + 1 - + - - + + - - - - - r_inpTgtSca - - - - - - - - - - - + - - sfix16_En4 + + Vq_Open @@ -151,44 +136,59 @@ - - - + + + - - + + - - + + - - default: { } + + 1 - - + + - - + + + + + + + + + + r_inpTgtSca + + + + + + + - + - - Action Port + + sfix16_En4 @@ -200,11 +200,11 @@ - + - + @@ -213,5 +213,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json index 23222e6..18405d8 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 @@ -476,124 +476,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum6", - "label":"Sum6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "-+", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 10 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9064", "className":"Simulink.Goto", @@ -694,25 +576,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9066", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "r_sin", - "Tag" + "rectangular", + "++", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -720,16 +630,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9059", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9061", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -737,7 +647,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "r_sin", "Tag" ], "tabs":[ @@ -756,25 +666,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9067", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"Sum6", + "label":"Sum6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "i_apha", - "Tag" + "rectangular", + "-+", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "fixdt(1,16,4)", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -782,16 +720,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9054", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9059", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -799,7 +737,7 @@ "IconDisplay" ], "values":[ - "r_sin", + "r_cos", "Tag" ], "tabs":[ @@ -818,11 +756,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9058", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -905,6 +843,70 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto3", + "label":"Goto3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "i_beta", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9057", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "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:9052", "className":"Simulink.Product", @@ -962,6 +964,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9054", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From", + "label":"From", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_sin", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9051", "className":"Simulink.Product", @@ -1020,11 +1053,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9056", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From2", + "label":"From2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1032,7 +1065,7 @@ "IconDisplay" ], "values":[ - "r_cos", + "i_apha", "Tag" ], "tabs":[ @@ -1108,11 +1141,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9055", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1120,7 +1153,7 @@ "IconDisplay" ], "values":[ - "i_beta", + "r_cos", "Tag" ], "tabs":[ @@ -1139,11 +1172,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9057", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9060", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "inspector":{ "params":[ @@ -1169,39 +1202,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9065", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "i_beta", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9048#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg index 35a5e4b..6b9aab2 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,60 +412,95 @@ - - - + + + - - + + - + - - + + [r_sin] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + [i_apha] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [r_cos] + + + + + + + @@ -486,35 +521,35 @@ - + - + - + - + - + - + - + - + @@ -532,11 +567,11 @@ - + - + sfix16_En4 @@ -548,62 +583,44 @@ - - - + + + - - + + - - + + - + [r_sin] - - + + - - - - - - - - - - - - - - - + + + + - + - - [i_apha] - - - - - - - + + sfix16_En14 @@ -614,77 +631,60 @@ - - - + + + - - + + - + - - [r_cos] + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - + - - [r_sin] + + - - + + - - + + - + - - sfix16_En14 + + sfix16_En4 @@ -791,44 +791,52 @@ - - - + + + - - + + - + - - [r_sin] + + + + + + + + + + - - + + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -839,43 +847,76 @@ - - + + + + + + + + + + + + + + + + [i_beta] + + + + + + + + + + + + + + + + + + + - + - + - - [i_apha] + + [i_beta] - + - + - - + + - + sfix16_En4 @@ -887,51 +928,51 @@ - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + sfix16_En4 @@ -943,52 +984,44 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [r_sin] - - + + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1009,19 +1042,19 @@ - + - + - + - + @@ -1039,11 +1072,11 @@ - + - + sfix16_En4 @@ -1055,44 +1088,44 @@ - - + + - + - + - - [r_cos] + + [i_apha] - + - - + + - - + + - - sfix16_En14 + + sfix16_En4 @@ -1113,19 +1146,19 @@ - + - + - + - + @@ -1143,11 +1176,11 @@ - + - + sfix16_En4 @@ -1159,44 +1192,44 @@ - - + + - + - + - - [i_beta] + + [r_cos] - + - - + + - - + + - - sfix16_En4 + + sfix16_En14 @@ -1207,77 +1240,44 @@ - - + + - + - + - + [i_beta] - + - + - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - + - - [i_beta] - - - - - - - + + 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 08cc838..3afdfa9 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 @@ -48,104 +48,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9107", - "className":"Simulink.Annotation", - "icon":"WebViewIcon2", - "name":"

    This product is necessary because the value is an input to the Integral part of the PI controller

    ", - "label":"

    This product is necessary because the value is an input to the Integral part of the PI controller

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

    This product is necessary because the value is an input to the Integral part of the PI controller

    ", - "off", - "rich", - "auto", - "auto", - -1, - "auto", - "black", - "white", - "left", - "off", - "" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_nKp", - "label":"cf_nKp", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "cf_nKp", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,12)", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9106", "className":"Simulink.Outport", @@ -227,11 +129,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_iqKiLimProt", - "label":"cf_iqKiLimProt", + "name":"cf_nKp", + "label":"cf_nKp", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -245,12 +147,12 @@ "FramePeriod" ], "values":[ - "cf_iqKiLimProt", + "cf_nKp", "on", "inf", "[]", "[]", - "fixdt(0,16,16)", + "fixdt(0,16,12)", "off", "inf" ], @@ -276,27 +178,53 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9100", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"Sum3", + "label":"Sum3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "ConversionOutput", + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", "OutDataTypeStr", - "OverrideOpt" + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 10 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -304,109 +232,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"Sum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_n", - "label":"PI_clamp_fixdt_n", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9093", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "on", - "off", - "off", - "-1", - "Reusable function", - "Use subsystem name", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "off", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" + "Vq_min", + "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:9094", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -415,7 +283,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "r_inpTgtSca", "local", "Tag" ], @@ -435,11 +303,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9093", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -448,7 +316,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "Vq_max", "local", "Tag" ], @@ -468,11 +336,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9092", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -481,7 +349,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "iq_limProtErr", "local", "Tag" ], @@ -501,21 +369,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9091", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From45", + "label":"From45", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", - "local", + "Vq_min", "Tag" ], "tabs":[ @@ -529,48 +395,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"cf_nKi", - "label":"cf_nKi", + "name":"From38", + "label":"From38", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "cf_nKi", - "off", - "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" @@ -578,16 +426,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From37", - "label":"From37", + "name":"From36", + "label":"From36", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -595,7 +443,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "n_mot", "Tag" ], "tabs":[ @@ -614,11 +462,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9087", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10714", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From36", - "label":"From36", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -626,7 +474,7 @@ "IconDisplay" ], "values":[ - "n_mot", + "iq_limProtErr", "Tag" ], "tabs":[ @@ -645,19 +493,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9090", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9094", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From45", - "label":"From45", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", + "n_mot", + "local", "Tag" ], "tabs":[ @@ -671,45 +521,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Divide1", - "label":"Divide1", + "name":"iq_limProtErr", + "label":"iq_limProtErr", "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", + "5", + "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", @@ -719,7 +579,7 @@ "tabs_idx":[ 0, 2, - 9 + 11 ] }, "viewer":{ @@ -728,78 +588,130 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9084", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "MinAlgLoopOccurrences", + "PropExecContextOutsideSubsystem", + "SystemSampleTime", + "RTWSystemCode", + "RTWFcnNameOpts", + "RTWFcnName", + "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "IsSubsystemVirtual", + "Variant", + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ - "iq_limProt", - "Tag" + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "on", + "off", + "off", + "-1", + "Reusable function", + "Use subsystem name", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "off", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Parameter Attributes" ], - "tabs_idx":0 + "tabs_idx":[ + ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9104", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"cf_nKi", + "label":"cf_nKi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "FramePeriod" ], "values":[ - "round", - "|+-", + "cf_nKi", "off", - "Inherit: Inherit via internal rule", + "inf", "[]", "[]", - "Inherit: Inherit via internal rule", + "fixdt(0,16,16)", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "inf" ], "tabs":[ "Main", @@ -808,8 +720,8 @@ ], "tabs_idx":[ 0, - 2, - 10 + 3, + 7 ] }, "viewer":{ @@ -818,69 +730,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9089", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From38", - "label":"From38", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "Vq_max", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, @@ -952,61 +802,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" - ], - "values":[ - "3", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9088", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From37", + "label":"From37", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1014,7 +828,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, @@ -1086,11 +900,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9081", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9082", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"ActionPort", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9075", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1113,7 +958,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "1", "Port number", "[]", "[]", @@ -1153,11 +998,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9075", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9077", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ @@ -1180,7 +1025,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -1219,39 +1064,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9095", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "iq_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:9087#out:1", "className":"Simulink.Line", @@ -1558,159 +1370,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9102#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "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:9084#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "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:9100#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "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:9088#out:1", "className":"Simulink.Line", @@ -1763,7 +1422,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1814,7 +1473,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9101#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9105#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2018,7 +1677,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9083#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2069,7 +1728,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10714#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_9074_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.png index d69de8289f2dd75cae01cbb85c9cc52a97c1f32e..5ac1e7d148bf5f65eb82023a49364bb7a3a17e28 100644 GIT binary patch literal 6692 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 literal 6303 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 Z|IXP?>GLmL;2#H~$NxdqD;`)z{2$Gy^&$WO 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 ba77d46..5e9498e 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 @@ -1,10 +1,10 @@ - + - + @@ -14,15 +14,15 @@ - + - + - + The input is scaled, so already between [n_min, n_max] @@ -30,120 +30,45 @@ - - - - - - - - - - - - - This product is necessary because the value is an - - - - - - - - input to the Integral part of the PI controller - - - - - - - - - - - - - - - - - - - - - - - - cf_nKp - - - - - - - - - - - - - - - - - - - - - - ufix16_En12 - - - - - - - - - + - + - + - + 1 - + - + - - + + - + Vq_Spd @@ -155,235 +80,44 @@ - - + + - + - + - - cf_iqKiLimProt + + cf_nKp - + - - - - - - - - - - - cf_iqKiLimProt - - - - - + - - - - - - ufix16_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + ufix16_En12 @@ -394,179 +128,92 @@ - - - + + + - - + + - - - - - - err - - - - - - - - P - - - - - - - - I - - - - + + - - satMax + + - - + + - - satMin + + - - + + - - ext_limProt - - - - - - - - out - - - - - - - - PI(z) + + - - - - - - - - - - - - - - - - - PI_clamp_fixdt_n + + - + - - + + - + sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - [n_mot] + + [Vq_min] - + @@ -578,28 +225,28 @@ - - + + - + - + - - [Vq_min] + + [r_inpTgtSca] - + @@ -611,28 +258,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_max] - + @@ -644,28 +291,28 @@ - - + + - + - + - - [Vq_max] + + [iq_limProtErr] - + @@ -677,44 +324,44 @@ - - - + + + - - + + - - + + - - cf_nKi + + [Vq_min] - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -725,43 +372,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -774,42 +421,42 @@ - + - + - + - + [n_mot] - + - + - - + + - + sfix16_En4 @@ -821,44 +468,44 @@ - - + + - + - + - - [Vq_min] + + [iq_limProtErr] - + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -869,52 +516,29 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [n_mot] - - - - - - - - - - - - - - - - - sfix16_En10 + + @@ -925,44 +549,59 @@ - - - + + + - - + + - - + + + + + + 5 + + + + + + + + + + + + + + + + + + - - [iq_limProt] - - - - - - - + + iq_limProtErr - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -973,108 +612,147 @@ - - - + + + - - + + - - + + + + + + err + + + + + + + + P + + + + + + + + I + + + + + + + + satMax + + + + + + + + satMin + + + + - - + + ext_limProt - - + + - - + + out - - + + - - + + PI(z) - - + + - - - + + + - - + + - - sfix16_En4 + + PI_clamp_fixdt - - - - - - - - - - - - - - - + + + + - - + + - - case: { } - - - - - - - + + sfix16_En4 - - - - + - - + + - - Action Port + + + + + + + + + + + + + + + + + + + + + + @@ -1085,44 +763,44 @@ - - - + + + - - + + - - + + - - [Vq_max] + + cf_nKi - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1134,57 +812,57 @@ - + - + - + - + 4 - + - + - - + + - + n_mot - + - - + + - + sfix16_En4 @@ -1196,58 +874,43 @@ - - - + + + - - + + - - + + - - 3 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - Vq_min + + - + - - + + - + sfix16_En4 @@ -1260,57 +923,57 @@ - + - + - + - + 2 - + - + - - + + - + Vq_max - + - - + + - + sfix16_En4 @@ -1322,59 +985,44 @@ - - - + + + - - + + - - + + - - 5 + + case: { } - - + + - - - - - - - - - - iq_limProt - - - - - - - + + - - + + - - sfix16_En4 + + Action Port @@ -1386,57 +1034,57 @@ - + - + - + - + 1 - + - + - - + + - + r_inpTgtSca - + - - + + - + sfix16_En4 @@ -1448,29 +1096,59 @@ - - - + + + - - + + - - + + - - [iq_limProt] + + 3 - - + + + + + + + + + + + + + + + + + Vq_min + + + + + + + + + + + + + + + sfix16_En4 @@ -1482,11 +1160,11 @@ - + - + @@ -1496,11 +1174,11 @@ - + - + @@ -1510,11 +1188,11 @@ - + - + @@ -1524,11 +1202,11 @@ - + - + @@ -1538,11 +1216,11 @@ - + - + @@ -1552,53 +1230,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -1608,39 +1244,39 @@ - + - + - + - + - + - + - + - + @@ -1650,11 +1286,11 @@ - + - + @@ -1664,11 +1300,11 @@ - + - + @@ -1678,39 +1314,39 @@ - + - + - + - + - + - + - + - + @@ -1719,5 +1355,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json index 69a5f0c..870e392 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 @@ -80,11 +80,70 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10831", + "className":"Simulink.Sum", + "icon":"WebViewIcon3", + "name":"Sum2", + "label":"Sum2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" + ], + "values":[ + "round", + "|+-", + "off", + "Inherit: Inherit via internal rule", + "[]", + "[]", + "Inherit: Inherit via internal rule", + "off", + "Simplest", + "on", + "1", + "All dimensions", + "-1" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 10 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Sum", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10834", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_iqKp", - "label":"cf_iqKp", + "name":"constant2", + "label":"constant2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -98,12 +157,12 @@ "FramePeriod" ], "values":[ - "cf_iqKp", + "0", "on", "inf", "[]", "[]", - "fixdt(0,16,12)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -129,52 +188,217 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9136", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "DoSatur" ], "values":[ - "rectangular", - "++", + "[]", + "[]", + "Inherit: Same as second input", "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10844", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto5", + "label":"Goto5", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_minTrq", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_nLimProtMax", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt: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:9127", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "iq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10841", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax2", + "label":"MinMax2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ "Inherit: Inherit via internal rule", + "max", + "off", + "2", + "off", "[]", "[]", - "Inherit: Inherit via internal rule", + "Floor", + "-1", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "on" ], "tabs":[ - "Main", "Signal Attributes", "-Other" ], "tabs_idx":[ 0, - 2, - 10 + 1 ] }, "viewer":{ @@ -183,32 +407,114 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9134", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "r_inpTgtSca", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9125", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto1", + "label":"Goto1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "Vq_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"cf_iqKi", + "label":"cf_iqKi", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "ConversionOutput", + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", "OutDataTypeStr", - "OverrideOpt" + "LockScale", + "FramePeriod" ], "values":[ - "Signal copy", - "Inherit: auto", - "off" + "cf_iqKi", + "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" @@ -216,158 +522,114 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10840", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", + "name":"Gain4", + "label":"Gain4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", + "SampleTime" ], "values":[ + "-1", + "Element-wise(K.*u)", "[]", "[]", - "Inherit: Same as second input", + "Inherit: Same as input", "off", - "Floor", - "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/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Gain", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_iq", - "label":"PI_clamp_fixdt_iq", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10821", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "on", - "off", - "off", - "-1", - "Reusable function", - "Use subsystem name", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "off", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" + "iq_min", + "Tag" ], "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9131", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10820", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "n_limProt", - "local", + "iq_max", "Tag" ], "tabs":[ @@ -381,26 +643,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9130", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10819", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "iq", - "local", "Tag" ], "tabs":[ @@ -414,26 +674,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9126", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10836", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From15", + "label":"From15", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ "r_inpTgtSca", - "local", "Tag" ], "tabs":[ @@ -447,26 +705,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10846", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "Vq_min", - "local", + "Vq_minTrq", "Tag" ], "tabs":[ @@ -480,16 +736,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10822", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From34", - "label":"From34", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -497,7 +753,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "Vq_max", "Tag" ], "tabs":[ @@ -516,11 +772,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9119", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10838", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"From12", + "label":"From12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -528,7 +784,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "Vq_nLimProtMax", "Tag" ], "tabs":[ @@ -547,11 +803,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10823", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -559,7 +815,7 @@ "IconDisplay" ], "values":[ - "iq_min", + "Vq_min", "Tag" ], "tabs":[ @@ -578,11 +834,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10845", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -590,7 +846,7 @@ "IconDisplay" ], "values":[ - "iq", + "Vq_maxTrq", "Tag" ], "tabs":[ @@ -609,11 +865,60 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_iqKp", + "label":"cf_iqKp", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_iqKp", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,12)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"iq_min", + "label":"iq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -636,7 +941,7 @@ "OutputFunctionCall" ], "values":[ - "7", + "6", "Port number", "[]", "[]", @@ -676,42 +981,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9117", - "className":"Simulink.ActionPort", - "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "InitializeStates", - "PropagateVarSize" - ], - "values":[ - "reset", - "Only when execution is resumed" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"ActionPort", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_min", - "label":"iq_min", + "name":"iq_max", + "label":"iq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -734,7 +1008,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "5", "Port number", "[]", "[]", @@ -774,11 +1048,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9127", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -787,7 +1061,7 @@ "IconDisplay" ], "values":[ - "iq_max", + "iq_min", "local", "Tag" ], @@ -807,19 +1081,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10843", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From44", - "label":"From44", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vq_max", + "Vq_maxTrq", + "local", "Tag" ], "tabs":[ @@ -833,65 +1109,51 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10842", + "className":"Simulink.MinMax", "icon":"WebViewIcon3", - "name":"iq", - "label":"iq", + "name":"MinMax1", + "label":"MinMax1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "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":[ - "4", - "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":{ @@ -900,16 +1162,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"MinMax", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_max", - "label":"iq_max", + "name":"Vq_max", + "label":"Vq_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -932,7 +1194,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "2", "Port number", "[]", "[]", @@ -972,11 +1234,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_min", - "label":"Vq_min", + "name":"iq", + "label":"iq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -999,7 +1261,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "4", "Port number", "[]", "[]", @@ -1039,70 +1301,135 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9135", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "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":[ - "round", - "|+-", + "FromPortIcon", + "", + "", + "", + "ReadWrite", + "", + "All", + "on", "off", - "Inherit: Inherit via internal rule", - "[]", - "[]", - "Inherit: Inherit via internal rule", "off", - "Simplest", - "on", - "1", - "All dimensions", - "-1" + "-1", + "Reusable function", + "Use subsystem name", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "off", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 10 ] }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9117", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "held", + "Only when execution is resumed" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1125,7 +1452,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -1146,46 +1473,13 @@ "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:9125", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "Vq_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1193,24 +1487,26 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9128", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From47", - "label":"From47", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "Vq_min", + "local", "Tag" ], "tabs":[ @@ -1224,32 +1520,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9129", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "iq_min", - "local", - "Tag" + "3", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1257,16 +1587,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"Vq_nLimProtMax", + "label":"Vq_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ @@ -1289,7 +1619,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "7", "Port number", "[]", "[]", @@ -1329,41 +1659,45 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"cf_iqKi", - "label":"cf_iqKi", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "cf_iqKi", - "on", - "inf", - "[]", - "[]", - "fixdt(0,16,16)", + "", "off", - "inf" + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, 3, + 5, 7 ] }, @@ -1372,47 +1706,49 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9140", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "0", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", + "", "off", - "inf" + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], "tabs_idx":[ 0, 3, + 5, 7 ] }, @@ -1421,44 +1757,62 @@ }, "obj_viewer":[ ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9740", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" ], "values":[ - "n_limProt", - "Tag" + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":{ - "blocktype":"From", - "masktype":"" - } + "finder":[ + ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9118#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1509,7 +1863,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9111#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1560,7 +1914,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9110#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1611,7 +1965,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9112#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1662,7 +2016,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9113#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10834#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1713,7 +2067,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9115#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1764,7 +2118,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9114#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10820#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1815,7 +2169,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9120#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10821#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1866,7 +2220,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9119#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10831#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1917,7 +2271,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9116#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10819#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1968,7 +2322,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9134#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2019,7 +2373,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10836#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2070,7 +2424,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9124#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10838#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2121,7 +2475,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9123#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10840#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2172,7 +2526,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10823#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2223,7 +2577,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10822#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2274,7 +2628,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9135#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10842#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2325,7 +2679,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10841#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2376,7 +2730,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9140#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10845#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2427,7 +2781,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9740#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10846#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2478,7 +2832,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9121#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9138#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2529,7 +2883,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9136#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9139#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_9109_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png index 9da53b0f9c3fbeee170e197ce9d05c4ab7aad4dd..df9575ac4a53ea33dce31ac133a51370f2e95b02 100644 GIT binary patch literal 6999 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 z - + - + @@ -14,10 +14,10 @@ - + - + @@ -27,29 +27,29 @@ - + 1 - + - + - + - + Vq_Trq @@ -61,44 +61,60 @@ - - - + + + - - + + - + - - cf_iqKp + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - ufix16_En12 + + sfix16_En4 @@ -109,68 +125,44 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + 0 - - + + - - + + - - + + - - sfix16_En4 + + sfix32_En20 @@ -181,142 +173,274 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + - - + + up - - + + - - + + u - - + + - - + + lo - - + + - - + + y - - - - - - - + + + + + + + + + + + + + - - + + - - + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - + + - - + + [Vq_minTrq] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [Vq_nLimProtMax] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [iq] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + [iq_max] + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + @@ -330,22 +454,22 @@ - - + + - + - - + + - + sfix16_En4 @@ -357,108 +481,110 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + [r_inpTgtSca] - + + + + + + + + + + + + + + + + + + - - - - - - up - - - - + + - - u + + [Vq_max] - - - - - - - lo + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - y + + cf_iqKi - - + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -469,147 +595,92 @@ - - - + + + - - + + - - - - - - - err - - - - - - - - P - - - - - - - - I - - - - - - - - satMax - - - - - - satMin - - - - + - - ext_limProt - - - - - - - - out - - - - - - - - PI(z) + + -1 - - + + - - - + + + - - + + - - PI_clamp_fixdt_iq + + sfix16_En4 - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [iq_min] - + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + sfix16_En4 @@ -620,29 +691,44 @@ - - - + + + - - + + - - + + - - [n_limProt] + + [iq_max] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -653,29 +739,44 @@ - - - + + + - - + + - - + + - + [iq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -685,30 +786,45 @@ - - - - + + + + - - + + - - + + - + [r_inpTgtSca] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -719,29 +835,44 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [Vq_minTrq] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -752,43 +883,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -800,43 +931,43 @@ - - + + - + - + - - [iq_max] + + [Vq_nLimProtMax] - + - + - - + + - + sfix16_En4 @@ -848,43 +979,43 @@ - - + + - + - + - - [iq_min] + + [Vq_min] - + - + - - + + - + sfix16_En4 @@ -896,43 +1027,43 @@ - - + + - + - + - - [iq] + + [Vq_maxTrq] - + - + - - + + - + sfix16_En4 @@ -944,59 +1075,44 @@ - - - + + + - - + + - - + + - - 7 + + cf_iqKp - - - - - - - - - - - - - - - - - n_limProt + + - - + + - - + + - - sfix16_En4 + + ufix16_En12 @@ -1007,44 +1123,59 @@ - - - + + + - - + + - - + + - - case: { } + + 6 - - + + - - + + - - + + - - Action Port + + iq_min + + + + + + + + + + + + + + + sfix16_En4 @@ -1055,58 +1186,58 @@ - - + + - + - + - - 6 + + 5 - + - - + + - - + + - - iq_min + + iq_max - + - - + + - + sfix16_En4 @@ -1118,28 +1249,28 @@ - - + + - + - - + + - - [iq_max] + + [iq_min] - + @@ -1151,43 +1282,92 @@ - - - + + + - - + + + + + + + + + [Vq_maxTrq] + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - [Vq_max] + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + sfix16_En4 @@ -1199,58 +1379,58 @@ - - + + - + - + - - 4 + + 2 - + - - + + - - + + - - iq + + Vq_max - + - - + + - + sfix16_En4 @@ -1262,58 +1442,58 @@ - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - iq_max + + iq - + - - + + - + sfix16_En4 @@ -1325,123 +1505,195 @@ - - - + + + - - + + - - + + - - 3 + + err + + + + + + + + P + + + + + + + + I + + + + + + + + satMax + + + + + + + + satMin + + + + + + + + ext_limProt + + + + + + + + out + + + + + + + + PI(z) - - + + - - + + - - + + - - Vq_min + + PI_clamp_fixdt - + - - + + - + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - + + - - + + case: { } - - + + - - - + + + - - + + - - sfix16_En4 + + Action Port @@ -1452,58 +1704,58 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - Vq_max + + r_inpTgtSca - + - - + + - + sfix16_En4 @@ -1515,28 +1767,28 @@ - - + + - + - - + + - - [Vq_max] + + [Vq_min] - + @@ -1548,77 +1800,59 @@ - - - + + + - - + + - - + + - - [Vq_min] + + 3 - - + + - - - + + + - - + + - - sfix16_En4 + + Vq_min - - - - - - - - - - - - - - - + + + + - - + + - - [iq_min] - - - - - - - + + sfix16_En4 @@ -1629,58 +1863,58 @@ - - + + - + - + - - 1 + + 7 - + - - + + - - + + - - r_inpTgtSca + + Vq_nLimProtMax - + - - + + - + sfix16_En4 @@ -1690,452 +1924,370 @@ - + - - - - - - - - - - - - - - - - cf_iqKi - - - - - - - - - + + + - - - - - - - - - - - - ufix16_En16 - - + + - + - - - - - - - - - - - - - - - - 0 - - - - - - - - - + + + - - - - - - - - - - - - sfix32_En20 - - + + - + - - - - - - - - - - - - - - - - [n_limProt] - - - - - - - - - + + + - - - - - - - - - - - - sfix16_En4 - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2144,5 +2296,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json index 0e23d08..162c609 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 @@ -59,32 +59,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9726", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9170", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"Vd", + "label":"Vd", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "0", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "Inherit: Inherit via back propagation", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -93,8 +124,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -103,65 +134,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"cf_idKi1", - "label":"cf_idKi1", + "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:9721", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_id", - "label":"PI_clamp_fixdt_id", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -250,27 +271,43 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9726", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Goto29", - "label":"Goto29", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "id_min", - "local", - "Tag" + "0", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -278,7 +315,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Constant", "masktype":"" } }, @@ -315,39 +352,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto19", - "label":"Goto19", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "id_max", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9159", "className":"Simulink.Goto", @@ -415,50 +419,11 @@ } }, { - "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:9156", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9722", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -466,7 +431,7 @@ "IconDisplay" ], "values":[ - "id_min", + "Vd_max", "Tag" ], "tabs":[ @@ -516,11 +481,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9162", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto29", + "label":"Goto29", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -529,7 +494,7 @@ "IconDisplay" ], "values":[ - "id_Tgt", + "id_min", "local", "Tag" ], @@ -580,19 +545,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9722", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9157", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "Vd_max", + "id_Tgt", + "local", "Tag" ], "tabs":[ @@ -606,25 +573,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9150", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "id_Tgt", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -637,66 +604,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9149", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9156", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"id_min", - "label":"id_min", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "GotoTag", + "IconDisplay" ], "values":[ - "6", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "id_min", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -704,25 +635,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9151", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9150", + "className":"Simulink.ActionPort", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"Action Port", + "label":"Action Port", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "InitializeStates", + "PropagateVarSize" ], "values":[ - "id_Tgt", - "Tag" + "held", + "Only when execution is resumed" ], "tabs":[ "Parameter Attributes" @@ -735,16 +666,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"ActionPort", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", + "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":[ @@ -767,7 +698,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "6", "Port number", "[]", "[]", @@ -807,42 +738,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From8", - "label":"From8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "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:9145", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id", - "label":"id", + "name":"id_max", + "label":"id_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -865,7 +765,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "5", "Port number", "[]", "[]", @@ -905,11 +805,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9725", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"cf_idKp1", - "label":"cf_idKp1", + "name":"cf_idKi1", + "label":"cf_idKi1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -923,12 +823,12 @@ "FramePeriod" ], "values":[ - "cf_idKp", + "cf_idKi", "on", "inf", "[]", "[]", - "fixdt(0,16,12)", + "fixdt(0,16,16)", "off", "inf" ], @@ -954,11 +854,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9144", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From8", + "label":"From8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "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:9145", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_Tgt", - "label":"id_Tgt", + "name":"id", + "label":"id", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -981,7 +912,7 @@ "OutputFunctionCall" ], "values":[ - "1", + "2", "Port number", "[]", "[]", @@ -1021,11 +952,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9148", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"id_max", - "label":"id_max", + "name":"Vd_min", + "label":"Vd_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1048,7 +979,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -1088,11 +1019,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9170", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9146", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd", - "label":"Vd", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1108,20 +1039,14 @@ "SampleTime", "SignalType", "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "1", + "3", "Port number", "[]", "[]", @@ -1133,17 +1058,10 @@ "-1", "auto", "off", + "", + "on", "off", - "0", - "off", - "reset", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -1163,16 +1081,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9147", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9160", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto19", + "label":"Goto19", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "id_max", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9144", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vd_min", - "label":"Vd_min", + "name":"id_Tgt", + "label":"id_Tgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ @@ -1195,7 +1146,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "1", "Port number", "[]", "[]", @@ -1234,6 +1185,55 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9725", + "className":"Simulink.Constant", + "icon":"WebViewIcon3", + "name":"cf_idKp1", + "label":"cf_idKp1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "inspector":{ + "params":[ + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" + ], + "values":[ + "cf_idKp", + "on", + "inf", + "[]", + "[]", + "fixdt(0,16,12)", + "off", + "inf" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Constant", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9152#out:1", "className":"Simulink.Line", @@ -1796,7 +1796,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9165#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1847,7 +1847,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9726#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1949,7 +1949,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9724#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9725#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2000,7 +2000,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9725#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9726#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2051,7 +2051,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9165#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2102,7 +2102,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9723#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_9143_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.png index faf90026f9882ccff7558fddffe0bde3b0d7bcc7..7388470f245699e67f3707a929ba5ce07d7d3dd3 100644 GIT binary patch literal 5752 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 )v$G=s!~_3I zJ$e+`4*U}k31Gezb#!!8_qdXz7^PPhyJOe)_Ii#UapVhzK!a?opAkUbSf5uAbrmvnsk1 zSj*Ig>gk{Xo!`@f zW#r_%=V0KkbpB)jM8mX4G{{uYw`>=G!A4C=LP|Q- zOiW0yeuDVA^cu_q0|SG#iwh-FEO9u+k0u0&aLgF1u~0y|1q}^M$?DgD!R$%o&^flM+RP=uJz`O zmW(>rIt}x#pPa?bWy=LgqmyT+r<>PR&s2F^)Pm&X5{{IVB*wd;Y|6>15jSM~7I(~J z%LMJUn}#>uOz*%j+yxrXi*C^_xq-!EV+Q$RMtveR5NQu5HF;oRXG7ovQ zf&9?~3#WzxT#BCJIz31z;3dV@*z23-zn+iWUryEOTJV@BmH!*|d)<8F%SJh%@axUl zD3tp^5$#T@^ZqVK^P_5f|N8c+aEz&{q5`x-8#Th1*dzK!hd1?KlBu$6es3_#arL)H z5`M^&^8vTL?UwwAlcbg1-EI1Ex755aTJSD=DICU?DxguP%Jurf|rhDxv~915EguDX91$Wl9JK~6bigY z;FVK%U3pVAf(JY=&U`*-^1=%yQ0{H_{5T;UAO--R%+r{wcmH$C*=9NL`=31)2yJUw zfIG7mM-5F*-fNWq*3+}#EqySeuT!})ZO-OIfJUSBxRR3q(o_B`Yzgx8)Jx&fptweu z(zBG@0&|}dZ#wt!^K-bcG&UYDNO*mThi^!jhk0%{+HQZYc-Y(RK#syJl;8t!X4v`pJp3qW zuWMBCx68q)A!m%K4D=ld1wVYdw#VaeS)=9Z@*IRk$5*e+e;F%PNGw=)hoG{)dTUX6 zERj67pnR9kjUQ6;KW&gZ9mzVjx;#wx|1;@87p*+_>lY!=zlMf}ijeQq=_J{inOy*7 zF@UoGO)R12@b=#>*(yH&F>(&q2MFBX7tTbXY(z4aA0qsIYJrp7AfM`@D-T zU7>l<`e`TUCDyj{=!oRgX`r0HEW4PvIM};Ex3|l?(m!`@!|mvCtLn$b74cTSJddgO zmrZC5z|Ee@6!~~9eWNa4zMeFeY0sHKu;s5{u 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 fad91cc..1b39100 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 @@ -1,10 +1,10 @@ - + - + @@ -14,50 +14,50 @@ - + - + - + - + - + - + - + - + - + - + @@ -65,7 +65,7 @@ - + sfix16_En4 @@ -77,44 +77,44 @@ - - - + + + - - + + - + - - 0 + + 1 - - + + - - - + + + - + - - sfix32_En20 + + Vd @@ -125,44 +125,108 @@ - - - + + + - - + + - + - + - - cf_idKi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y - - + + - - + + - - + + - - ufix16_En16 + + sfix16_En4 @@ -173,114 +237,114 @@ - - + + - + - + - + err - + - + P - + - + I - + - + satMax - + - + satMin - + - + ext_limProt - + - + out - + - + PI(z) - + - - + + - - + + - - PI_clamp_fixdt_id + + PI_clamp_fixdt - + - + - + sfix16_En4 @@ -288,29 +352,29 @@ - + - + - + - + - + - + @@ -324,62 +388,44 @@ - - - + + + - - + + - - + + - - [id_min] + + 0 - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [id] - - - - - - - + + sfix32_En20 @@ -390,28 +436,28 @@ - - + + - + - - + + - - [id_max] + + [id] - + @@ -424,27 +470,27 @@ - + - + - - + + - + [Vd_min] - + @@ -457,27 +503,27 @@ - + - + - - + + - + [Vd_max] - + @@ -489,107 +535,91 @@ - - - + + + - - + + - + - - + + - - + + [Vd_max] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En4 - - + + + + + + + + + + + + - - - - - - up - - - - - - - - u - - - - - - - - lo - - - - + + - - y + + [id_max] - - + + - + - - + + - + sfix16_En4 @@ -601,44 +631,29 @@ - - - + + + - - + + - - + + - + [id_min] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -649,43 +664,43 @@ - - + + - + - - + + - - [id_max] + + [id] - + - + - - + + - + sfix16_En4 @@ -698,27 +713,27 @@ - + - + - - + + - + [id_Tgt] - + @@ -730,43 +745,43 @@ - - + + - + - + - - [id] + + [id_Tgt] - + - + - - + + - + sfix16_En4 @@ -778,43 +793,43 @@ - - + + - + - + - - [Vd_max] + + [id_min] - + - + - - + + - + sfix16_En4 @@ -827,42 +842,42 @@ - + - + - + - + if { } - + - + - + - + Action Port @@ -875,57 +890,57 @@ - + - + - + - + 6 - + - + - + - + id_min - + - + - + sfix16_En4 @@ -937,43 +952,58 @@ - - - + + + - - + + - - + + - - [id_Tgt] + + 5 - - + + + + + + + + + + + + + + + + + id_max - + - - + + - + sfix16_En4 @@ -985,59 +1015,44 @@ - - - + + + - - + + - - + + - - 3 + + cf_idKi - - - - - - - - - - - - - - - - - Vd_max + + - - + + - - + + - - sfix16_En4 + + ufix16_En16 @@ -1049,42 +1064,42 @@ - + - + - + - + [Vd_min] - + - + - + - + sfix16_En4 @@ -1097,57 +1112,57 @@ - + - + - + - + 2 - + - + - + - + id - + - + - + sfix16_En4 @@ -1159,44 +1174,59 @@ - - - + + + - - + + - - + + - - cf_idKp + + 4 - - + + + + + + + + + + + + + + + + + Vd_min - - + + - - + + - - ufix16_En12 + + sfix16_En4 @@ -1207,58 +1237,58 @@ - - + + - + - + - - 1 + + 3 - + - - + + - - + + - - id_Tgt + + Vd_max - + - - + + - + sfix16_En4 @@ -1270,59 +1300,29 @@ - - - + + + - - + + - - + + - - 5 + + [id_max] - - - - - - - - - - - - - - - - - id_max - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1333,11 +1333,11 @@ - - + + - + @@ -1347,30 +1347,45 @@ - + 1 - + - - + + - + - - Vd + + id_Tgt + + + + + + + + + + + + + + + sfix16_En4 @@ -1381,59 +1396,44 @@ - - - + + + - - + + - - + + - - 4 + + cf_idKp - - - - - - - - - - - - - - - - - Vd_min + + - - + + - + - - sfix16_En4 + + ufix16_En12 @@ -1445,11 +1445,11 @@ - + - + @@ -1459,11 +1459,11 @@ - + - + @@ -1473,11 +1473,11 @@ - + - + @@ -1487,11 +1487,11 @@ - + - + @@ -1501,11 +1501,11 @@ - + - + @@ -1515,11 +1515,11 @@ - + - + @@ -1529,11 +1529,11 @@ - + - + @@ -1543,11 +1543,11 @@ - + - + @@ -1557,11 +1557,11 @@ - + - + @@ -1571,11 +1571,11 @@ - + - + @@ -1585,39 +1585,39 @@ - + - + - + - + - + - + - + - + @@ -1627,67 +1627,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1696,5 +1696,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg index fee7b1d..e8db0d5 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 @@
    - + - + - + - + @@ -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_9171_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json index e9186e2..517d4ba 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json @@ -1,22 +1,100 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189", - "className":"Simulink.SignalConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Signal Conversion2", - "label":"Signal Conversion2", + "name":"Vq_Vlt", + "label":"Vq_Vlt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "ConversionOutput", + "Port", + "IconDisplay", + "OutMin", + "OutMax", "OutDataTypeStr", - "OverrideOpt" + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "Signal copy", + "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:10740", + "className":"Simulink.Signum", + "icon":"WebViewIcon3", + "name":"SignDeltaU2", + "label":"SignDeltaU2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "ZeroCross", + "SampleTime" + ], + "values":[ + "on", + "-1" + ], "tabs":[ "Parameter Attributes" ], @@ -28,16 +106,55 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"SignalConversion", + "blocktype":"Signum", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", + "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:10737", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto31", - "label":"Goto31", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -46,7 +163,7 @@ "IconDisplay" ], "values":[ - "iq_limProt", + "r_inpTgtScaAbs", "local", "Tag" ], @@ -66,22 +183,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189", + "className":"Simulink.SignalConversion", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Signal Conversion2", + "label":"Signal Conversion2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "ConversionOutput", + "OutDataTypeStr", + "OverrideOpt" ], "values":[ - "r_inpTgtSca", - "local", - "Tag" + "Signal copy", + "Inherit: auto", + "off" ], "tabs":[ "Parameter Attributes" @@ -94,7 +211,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"SignalConversion", "masktype":"" } }, @@ -132,19 +249,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "iq_limProt", + "Vq_max", + "local", "Tag" ], "tabs":[ @@ -158,25 +277,25 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", - "className":"Simulink.ActionPort", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10733", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Action Port", - "label":"Action Port", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "InitializeStates", - "PropagateVarSize" + "GotoTag", + "IconDisplay" ], "values":[ - "reset", - "Only when execution is resumed" + "r_inpTgtSca", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -189,16 +308,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"ActionPort", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9179", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10731", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From16", - "label":"From16", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -206,7 +325,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_nLimProtMax", "Tag" ], "tabs":[ @@ -225,11 +344,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From20", + "label":"From20", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -237,7 +356,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "Vq_min", "Tag" ], "tabs":[ @@ -256,61 +375,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9179", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"n_limProt", - "label":"n_limProt", + "name":"From16", + "label":"From16", "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":[ - "5", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", - "off", - "off" + "Vq_max", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -318,16 +401,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9183", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -336,7 +419,7 @@ "IconDisplay" ], "values":[ - "Vq_max", + "r_nLimProtMax", "local", "Tag" ], @@ -356,11 +439,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9181", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10725", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From20", - "label":"From20", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -368,7 +451,7 @@ "IconDisplay" ], "values":[ - "Vq_min", + "r_iqLimProtMax", "Tag" ], "tabs":[ @@ -386,12 +469,65 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10732", + "className":"Simulink.MinMax", + "icon":"WebViewIcon3", + "name":"MinMax", + "label":"MinMax", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "OutDataTypeStr", + "Function", + "InputSameDT", + "Inputs", + "LockScale", + "OutMax", + "OutMin", + "RndMeth", + "SampleTime", + "SaturateOnIntegerOverflow", + "ZeroCross" + ], + "values":[ + "Inherit: Inherit via internal rule", + "min", + "off", + "3", + "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:9175", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"iq_limProt", - "label":"iq_limProt", + "name":"r_iqLimProtMax", + "label":"r_iqLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -414,7 +550,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "5", "Port number", "[]", "[]", @@ -454,18 +590,17 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9190", - "className":"Simulink.Sum", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10741", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Sum3", - "label":"Sum3", + "name":"Divide1", + "label":"Divide1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ - "IconShape", "Inputs", + "Multiplication", "InputSameDT", - "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", @@ -477,16 +612,15 @@ "SampleTime" ], "values":[ - "rectangular", - "+++", + "**", + "Element-wise(.*)", "off", - "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Inherit via internal rule", + "Inherit: Same as first input", "off", "Simplest", - "on", + "off", "1", "All dimensions", "-1" @@ -499,7 +633,7 @@ "tabs_idx":[ 0, 2, - 10 + 9 ] }, "viewer":{ @@ -508,16 +642,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Sum", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9184", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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: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":[ @@ -580,11 +747,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9191", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9174", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_Vlt", - "label":"Vq_Vlt", + "name":"Vq_min", + "label":"Vq_min", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -600,20 +767,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", "[]", "[]", @@ -625,17 +786,10 @@ "-1", "auto", "off", + "", + "on", "off", - "[]", - "off", - "held", "off", - "0", - "", - [ - ], - "Dialog", - "Auto", "off" ], "tabs":[ @@ -655,86 +809,83 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From", - "label":"From", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9176", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", + "name":"r_nLimProtMax", + "label":"r_nLimProtMax", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "RndMeth", - "DoSatur" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ + "6", + "Port number", "[]", "[]", - "Inherit: Same as second input", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", "off", - "Floor", "off" ], "tabs":[ + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ + 0, + 2, + 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "blocktype":"Inport", + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9173", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10736", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"Vq_max", - "label":"Vq_max", + "name":"r_inpTgtScaAbs", + "label":"r_inpTgtScaAbs", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -776,15 +927,46 @@ "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:10738", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From6", + "label":"From6", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaAbs", + "Tag" + ], + "tabs":[ + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 11 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -792,7 +974,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"From", "masktype":"" } }, @@ -864,11 +1046,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9186", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9187", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto31", + "label":"Goto31", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "inspector":{ "params":[ @@ -877,7 +1059,7 @@ "IconDisplay" ], "values":[ - "n_limProt", + "r_iqLimProtMax", "local", "Tag" ], @@ -896,6 +1078,37 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9177", + "className":"Simulink.ActionPort", + "icon":"WebViewIcon3", + "name":"Action Port", + "label":"Action Port", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "inspector":{ + "params":[ + "InitializeStates", + "PropagateVarSize" + ], + "values":[ + "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:9172#out:1", "className":"Simulink.Line", @@ -1254,7 +1467,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9190#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1305,7 +1518,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9178#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1356,7 +1569,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9189#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10731#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1407,7 +1620,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9182#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10725#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1458,7 +1671,211 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10736#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:10738#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:10733#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:10732#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "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:10741#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -1509,7 +1926,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9180#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10740#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_9171_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png index bb49c430cb7011f6ea0ab22c4d6215520346aa8c..d478748eda4e26e544832d3e184f83d867c64451 100644 GIT binary patch literal 5544 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 literal 5273 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg index 3815425..daf0357 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg @@ -1,153 +1,426 @@ - + - + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + Vq_Vlt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + + + + + + + + + + + + + + + [r_inpTgtScaAbs] + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -162,22 +435,22 @@ - + - + - - + + - + sfix16_En4 @@ -189,28 +462,28 @@ - - + + - + - - + + - - [iq_limProt] + + [Vq_min] - + @@ -222,28 +495,28 @@ - - + + - + - - + + - - [r_inpTgtSca] + + [Vq_max] - + @@ -255,29 +528,44 @@ - - - + + + - - + + - - + + - - [Vq_min] + + [r_inpTgtSca] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -288,43 +576,43 @@ - - + + - + - + - - [iq_limProt] + + [r_nLimProtMax] - + - + - - + + - + sfix16_En4 @@ -336,44 +624,44 @@ - - - + + + - - + + - - + + - - case: { } + + [Vq_min] - - + + - - - + + + - - + + - - Action Port + + sfix16_En4 @@ -385,42 +673,42 @@ - + - + - + - + [Vq_max] - + - + - - + + - + sfix16_En4 @@ -432,44 +720,29 @@ - - - + + + - - + + - - + + - - [n_limProt] + + [r_nLimProtMax] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -480,58 +753,43 @@ - - - + + + - - + + - - + + - - 5 + + [r_iqLimProtMax] - - - - - - - - - - - - - - - - - n_limProt + + - + - - + + - + sfix16_En4 @@ -543,76 +801,59 @@ - - - + + + - - + + - + - - + + - - [Vq_max] + + - - - - - - + + + + + + + - - - - - - - - - - - - + + - - - - - - - [Vq_min] - - - + + - + - - + + - + sfix16_En4 @@ -625,57 +866,57 @@ - + - + - + - - 4 + + 5 - + - - + + - - + + - - iq_limProt + + r_iqLimProtMax - + - - + + - + sfix16_En4 @@ -684,86 +925,54 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - + - - + + - + sfix16_En4 @@ -775,58 +984,91 @@ - - + + + + + + + + + + + + + + + + [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + - + - + - + 3 - + - - + + - - + + - - Vq_min + + Vq_max - + - - + + - + sfix16_En4 @@ -838,44 +1080,59 @@ - - + + - + - + - - 1 + + 4 - + - - + + - - + + - - Vq_Vlt + + Vq_min + + + + + + + + + + + + + + + sfix16_En4 @@ -886,43 +1143,58 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + 6 - - + + + + + + + + + + + + + + + + + r_nLimProtMax - + - - + + - + sfix16_En4 @@ -934,107 +1206,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 2 - + + + + - - - - - - - - up - - - - - - - - u - - - - - - - - lo + + + - - + + - - y - - - - - - - + + r_inpTgtScaAbs - + - - + + - + sfix16_En4 @@ -1046,58 +1269,43 @@ - - - + + + - - + + - - + + - - 2 + + [r_inpTgtScaAbs] - - - - - - - - - - - - - - - - - Vq_max + + - + - - + + - + sfix16_En4 @@ -1110,57 +1318,57 @@ - + - + - + - + 1 - + - + - - + + - + r_inpTgtSca - + - - + + - + sfix16_En4 @@ -1172,28 +1380,28 @@ - - + + - + - - + + - - [n_limProt] + + [r_iqLimProtMax] - + @@ -1203,14 +1411,62 @@ + + + + + + + + + + + + + + + + + + case: { } + + + + + + + + + + + + + + + + + + + + + + Action Port + + + + + + + + - + - + @@ -1220,11 +1476,11 @@ - + - + @@ -1234,11 +1490,11 @@ - + - + @@ -1248,11 +1504,11 @@ - + - + @@ -1262,11 +1518,11 @@ - + - + @@ -1276,11 +1532,11 @@ - + - + @@ -1290,95 +1546,151 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + @@ -1387,5 +1699,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg index faed7a8..67518a3 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,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_9198_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json index f49c483..6babced 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.json @@ -976,11 +976,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9840", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator2", - "label":"Relational Operator2", + "name":"Relational Operator6", + "label":"Relational Operator6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1021,11 +1021,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9233", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9840", "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Relational Operator6", - "label":"Relational Operator6", + "name":"Relational Operator2", + "label":"Relational Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1066,43 +1066,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", - "className":"Simulink.UnitDelay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9914", + "className":"Simulink.Merge", "icon":"WebViewIcon3", - "name":"UnitDelay4", - "label":"UnitDelay4", + "name":"Merge", + "label":"Merge", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "InitialCondition", - "InputProcessing", - "SampleTime", - "StateName", - "CodeGenStateStorageTypeQualifier", - "StateMustResolveToSignalObject", - "StateSignalObject", - "StateStorageClass" + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" ], "values":[ - "0", - "Inherited", - "-1", - "", - "", + "[]", "off", - [ - ], - "Auto" + "[]", + "3" ], "tabs":[ - "Main", - "State Attributes", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 3, - 4 + 1 ] }, "viewer":{ @@ -1111,7 +1100,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"UnitDelay", + "blocktype":"Merge", "masktype":"" } }, @@ -1173,93 +1162,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9914", - "className":"Simulink.Merge", - "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" - ], - "values":[ - "[]", - "off", - "[]", - "3" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 1 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Merge", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9833", - "className":"Simulink.If", - "icon":"WebViewIcon3", - "name":"If", - "label":"If", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "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:9925", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9924", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1268,7 +1175,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "z_dir", "local", "Tag" ], @@ -1321,11 +1228,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9225", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto3", - "label":"Goto3", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1334,7 +1241,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "VqFinPrev", "local", "Tag" ], @@ -1354,11 +1261,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9926", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto11", + "label":"Goto11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1367,7 +1274,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "VqFin", "local", "Tag" ], @@ -1387,27 +1294,39 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9452", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9835", + "className":"Simulink.RelationalOperator", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Relational Operator1", + "label":"Relational Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Operator", + "InputSameDT", + "OutDataTypeStr", + "RndMeth", + "SampleTime", + "ZeroCross" ], "values":[ - "VqFinPrev", - "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" @@ -1415,16 +1334,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"RelationalOperator", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9927", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9917", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From7", - "label":"From7", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1432,7 +1351,7 @@ "IconDisplay" ], "values":[ - "a_elecAngle", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -1451,64 +1370,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From5", - "label":"From5", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"SIN_Method", + "label":"SIN_Method", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "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":[ - "VqFinPrev", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9917", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgtSca", - "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":"" } }, @@ -1525,7 +1479,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -1575,11 +1529,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9831", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9916", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1587,7 +1541,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "VqFin", "Tag" ], "tabs":[ @@ -1606,11 +1560,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9832", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9927", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From12", - "label":"From12", + "name":"From7", + "label":"From7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1618,7 +1572,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "a_elecAngle", "Tag" ], "tabs":[ @@ -1637,11 +1591,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9920", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9454", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", + "name":"From5", + "label":"From5", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1649,7 +1603,7 @@ "IconDisplay" ], "values":[ - "b_enaAdvCtrl", + "VqFinPrev", "Tag" ], "tabs":[ @@ -1671,8 +1625,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F05_02_FOC_Method", - "label":"F05_02_FOC_Method", + "name":"FOC_Method", + "label":"FOC_Method", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1765,21 +1719,62 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9924", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9833", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"If", + "label":"If", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "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:9831", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_dir", - "local", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -1793,7 +1788,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -1845,43 +1840,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9838", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9214", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM3", - "label":"CTRL_COMM3", + "name":"From25", + "label":"From25", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "CTRL_SIN", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "z_ctrlTypSel", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1889,16 +1866,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9834", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9838", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"CTRL_COMM2", - "label":"CTRL_COMM2", + "name":"CTRL_COMM3", + "label":"CTRL_COMM3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -1912,7 +1889,7 @@ "FramePeriod" ], "values":[ - "CTRL_FOC", + "CTRL_SIN", "on", "inf", "[]", @@ -1943,43 +1920,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9839", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"CTRL_COMM1", - "label":"CTRL_COMM1", + "name":"From13", + "label":"From13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "IconDisplay" ], "values":[ - "CTRL_FOC", - "on", - "inf", - "[]", - "[]", - "Inherit: Inherit via back propagation", - "off", - "inf" + "z_ctrlTypSel", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -1987,16 +1946,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9915", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From3", - "label":"From3", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2004,7 +1963,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtSca", + "z_pos", "Tag" ], "tabs":[ @@ -2023,19 +1982,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9915", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9925", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto8", + "label":"Goto8", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "z_pos", + "r_fieldWeak", + "local", "Tag" ], "tabs":[ @@ -2049,16 +2010,113 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9916", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"COM_Method", + "label":"COM_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "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:9920", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From6", + "label":"From6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2066,7 +2124,7 @@ "IconDisplay" ], "values":[ - "VqFin", + "b_enaAdvCtrl", "Tag" ], "tabs":[ @@ -2085,11 +2143,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9923", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9832", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From12", + "label":"From12", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "z_ctrlTypSel", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9922", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", + "name":"z_dir", + "label":"z_dir", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2112,7 +2201,7 @@ "OutputFunctionCall" ], "values":[ - "9", + "8", "Port number", "[]", "[]", @@ -2152,50 +2241,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9922", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9834", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"z_dir", - "label":"z_dir", + "name":"CTRL_COMM2", + "label":"CTRL_COMM2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "8", - "Port number", + "CTRL_FOC", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "Inherit: Inherit via back propagation", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -2204,8 +2275,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -2214,65 +2285,48 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9921", - "className":"Simulink.Inport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9449", + "className":"Simulink.UnitDelay", "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", + "name":"UnitDelay4", + "label":"UnitDelay4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "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":{ @@ -2281,16 +2335,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"UnitDelay", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9921", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2313,7 +2367,7 @@ "OutputFunctionCall" ], "values":[ - "6", + "7", "Port number", "[]", "[]", @@ -2353,39 +2407,25 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9835", - "className":"Simulink.RelationalOperator", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9928", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Relational Operator1", - "label":"Relational Operator1", + "name":"From14", + "label":"From14", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "Operator", - "InputSameDT", - "OutDataTypeStr", - "RndMeth", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "==", - "off", - "boolean", - "Simplest", - "-1", - "on" + "z_dir", + "Tag" ], "tabs":[ - "Main", - "Data Type", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2393,127 +2433,79 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"RelationalOperator", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F05_00_COM_Method", - "label":"F05_00_COM_Method", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9215", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From3", + "label":"From3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "r_inpTgtSca", + "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:9214", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9207", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"From25", - "label":"From25", + "name":"CTRL_COMM1", + "label":"CTRL_COMM1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Value", + "VectorParams1D", + "SampleTime", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "FramePeriod" ], "values":[ - "z_ctrlTypSel", - "Tag" + "CTRL_FOC", + "on", + "inf", + "[]", + "[]", + "Inherit: Inherit via back propagation", + "off", + "inf" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 3, + 7 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2521,30 +2513,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9839", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9206", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From13", - "label":"From13", + "name":"r_inpTgtSca", + "label":"r_inpTgtSca", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "z_ctrlTypSel", - "Tag" + "6", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" ], "tabs":[ - "Parameter Attributes" + "Main", + "Signal Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 2, + 11 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -2552,30 +2580,66 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9928", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9923", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From14", - "label":"From14", + "name":"r_fieldWeak", + "label":"r_fieldWeak", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" ], "values":[ - "z_dir", - "Tag" + "9", + "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" @@ -2583,7 +2647,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, @@ -2655,108 +2719,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F05_01_SIN_Method", - "label":"F05_01_SIN_Method", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9926", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "a_elecAngle", + "local", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9451", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9225", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto11", - "label":"Goto11", + "name":"Goto3", + "label":"Goto3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2765,7 +2765,7 @@ "IconDisplay" ], "values":[ - "VqFin", + "r_inpTgtSca", "local", "Tag" ], @@ -2785,11 +2785,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9836", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9919", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", + "name":"Logical Operator2", + "label":"Logical Operator2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -2830,11 +2830,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9919", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9836", "className":"Simulink.Logic", "icon":"WebViewIcon3", - "name":"Logical Operator2", - "label":"Logical Operator2", + "name":"Logical Operator1", + "label":"Logical Operator1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ 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 8997535a95e63220a7b3c0e44822e84d875f1237..f8e1bff09418d07a6608a16b431511198a3e9270 100644 GIT binary patch literal 8565 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 literal 8641 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 R7u=J9&{ES;tyHm&_#a+zJTU+O 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 e866248..37c96d6 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 @@ -1,10 +1,10 @@ - + - + @@ -14,10 +14,10 @@ - + - + @@ -27,21 +27,21 @@ - + 3 - + - + @@ -49,14 +49,14 @@ - + z_pos - + @@ -64,7 +64,7 @@ - + int8 @@ -77,10 +77,10 @@ - + - + @@ -90,21 +90,21 @@ - + 3 - + - + @@ -112,7 +112,7 @@ - + DC_phaC @@ -125,27 +125,27 @@ - + - + - + - + [z_pos] - + @@ -158,10 +158,10 @@ - + - + @@ -171,21 +171,21 @@ - + 2 - + - + @@ -193,7 +193,7 @@ - + DC_phaB @@ -206,10 +206,10 @@ - + - + @@ -219,21 +219,21 @@ - + 1 - + - + @@ -241,7 +241,7 @@ - + DC_phaA @@ -254,10 +254,10 @@ - + - + @@ -267,14 +267,14 @@ - + [DC_phaA] - + @@ -287,10 +287,10 @@ - + - + @@ -300,14 +300,14 @@ - + [DC_phaB] - + @@ -320,10 +320,10 @@ - + - + @@ -333,14 +333,14 @@ - + [DC_phaC] - + @@ -353,10 +353,10 @@ - + - + @@ -366,21 +366,21 @@ - + [DC_phaA] - + - + @@ -388,7 +388,7 @@ - + int16 @@ -401,10 +401,10 @@ - + - + @@ -414,21 +414,21 @@ - + [DC_phaB] - + - + @@ -436,7 +436,7 @@ - + int16 @@ -449,10 +449,10 @@ - + - + @@ -462,21 +462,21 @@ - + [DC_phaC] - + - + @@ -484,7 +484,7 @@ - + int16 @@ -497,64 +497,64 @@ - + - + - + - + - + - + - + - + int16 - + - + - + int16 - + @@ -562,7 +562,7 @@ - + int16 @@ -575,10 +575,10 @@ - + - + @@ -588,21 +588,21 @@ - + 4 - + - + @@ -610,14 +610,14 @@ - + V_phaABC_FOC - + @@ -625,7 +625,7 @@ - + sfix16_En4 @@ -638,27 +638,27 @@ - + - + - + - + [V_phaABC_FOC] - + @@ -671,27 +671,27 @@ - + - + - + - + [Vq] - + @@ -704,10 +704,10 @@ - + - + @@ -717,21 +717,21 @@ - + 5 - + - + @@ -739,14 +739,14 @@ - + Vq - + @@ -754,7 +754,7 @@ - + sfix16_En4 @@ -767,10 +767,10 @@ - + - + @@ -780,21 +780,21 @@ - + [Vq] - + - + @@ -802,7 +802,7 @@ - + sfix16_En4 @@ -815,10 +815,10 @@ - + - + @@ -828,21 +828,21 @@ - + 1 - + - + @@ -850,14 +850,14 @@ - + b_enaAdvCtrl - + @@ -865,7 +865,7 @@ - + boolean @@ -878,27 +878,27 @@ - + - + - + - + [b_enaAdvCtrl] - + @@ -911,10 +911,10 @@ - + - + @@ -924,21 +924,21 @@ - + 4 - + - + @@ -946,7 +946,7 @@ - + VqFinPrev @@ -958,11 +958,11 @@ - - + + - + @@ -972,7 +972,7 @@ - + @@ -980,7 +980,7 @@ - + @@ -988,7 +988,7 @@ - + @@ -1003,22 +1003,22 @@ - + - + - + - + boolean @@ -1030,11 +1030,11 @@ - - + + - + @@ -1044,7 +1044,7 @@ - + @@ -1052,7 +1052,7 @@ - + @@ -1060,7 +1060,7 @@ - + @@ -1075,22 +1075,22 @@ - + - + - + - + boolean @@ -1102,46 +1102,30 @@ - - - + + + - - + + - + - - + + - - - - - - - - - - - - - - - - - + - - + + @@ -1155,37 +1139,22 @@ - - - - - - - - - - - - - - - - - Ini=0 + + - + - - + + - + sfix16_En4 @@ -1198,186 +1167,186 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - + - + T - - + + - + F - + - + - + - + sfix16_En4 @@ -1389,60 +1358,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_dir] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -1453,106 +1391,29 @@ - - - + + + - - + + - - - - - - u1 - - - - - - - - u2 - - - - - - - - if(u1 ~= 0) - - - - - - - - elseif(u2 ~= 0) - - - - + + - - else + + [z_ctrlTypSel] - - - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action - - - - - - - - - - - - - - - action + + @@ -1563,28 +1424,28 @@ - - + + - + - - + + - - [n_motAbs] + + [VqFinPrev] - + @@ -1596,28 +1457,28 @@ - - + + - + - - + + - - [z_ctrlTypSel] + + [VqFin] - + @@ -1629,95 +1490,68 @@ - - - + + + - - + + - + - - + + - - [r_inpTgtSca] + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - + + - - [VqFinPrev] - - - - - - - + + boolean @@ -1728,44 +1562,44 @@ - - + + - + - + - - [a_elecAngle] + + [r_inpTgtSca] - + - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -1776,92 +1610,144 @@ - - - + + + - - + + + + + + + + - - + + - - [VqFinPrev] + + r_inpTgtSca + + + + + + + + a_elecAngle + + + + + + + + z_dir + + + + + + + + r_fieldWeak + + + + + + + + V_phaABC_SIN + + + + + + + + elseif { } - - + + + + + + + + - - - + + + + + + + + + - - + + - - sfix16_En4 + + SIN_Method - - - - - - - - - - - - - - - + - - - + + + + - - [r_inpTgtSca] + + - - - - - - + + + + + + + sfix16_En4 - - + + + + + + + + - - + + - - sfix16_En4 + + action @@ -1873,42 +1759,48 @@ - + + + + + + + - + - + - - [n_motAbs] + + [r_fieldWeak] - + - + - + - + sfix16_En4 @@ -1921,42 +1813,42 @@ - + - + - + - + [V_phaABC_FOC] - + - + - + - + sfix16_En4 @@ -1968,44 +1860,44 @@ - - + + - + - - + + - - [b_enaAdvCtrl] + + [VqFin] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -2016,44 +1908,44 @@ - - + + - + - - + + - - [z_ctrlTypSel] + + [a_elecAngle] - + - - + + - - + + - - uint8 + + sfix16_En6 @@ -2064,44 +1956,44 @@ - - + + - + - - + + - - [b_enaAdvCtrl] + + [VqFinPrev] - + - - + + - - + + - - boolean + + sfix16_En4 @@ -2113,42 +2005,42 @@ - - + + - + - + - + - + V_phaABC_FOC_in - + - + V_phaABC_FOC - + - + if { } @@ -2156,12 +2048,12 @@ - + - + @@ -2169,41 +2061,41 @@ - + - - + + - - + + - - F05_02_FOC_Method + + FOC_Method - + - + - + - + sfix16_En4 @@ -2211,20 +2103,20 @@ - + - + - + - + action @@ -2236,99 +2128,160 @@ - + - + - - + + - - + + - - + + - - [z_dir] + + u1 + + + + + + + + u2 + + + + + + + + if(u1 ~= 0) + + + + + + + + elseif(u2 ~= 0) + + + + + + + + else - - + + - - - - - - - - - - - - + + + + + + + + + + + action + + - + + + + - - + + - - + + action + + + + + + + - - + + - - + + action - - + + + + + + + + + + + + + + + + + + + [b_enaAdvCtrl] + - - + + - - + + - - + + - - int16 + + boolean @@ -2339,44 +2292,60 @@ - - - + + + - - + + - + - - + + - - CTRL_SIN + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - uint8 + + int16 @@ -2387,43 +2356,43 @@ - - - + + + - - + + - - + + - - CTRL_FOC + + [z_ctrlTypSel] - - + + - + - - + + - + uint8 @@ -2435,43 +2404,43 @@ - - + + - + - + - - CTRL_FOC + + CTRL_SIN - + - + - - + + - + uint8 @@ -2483,44 +2452,44 @@ - - + + - + - - + + - - [r_inpTgtSca] + + [z_ctrlTypSel] - + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2532,42 +2501,42 @@ - + - + - + - + [z_pos] - + - + - + - + int8 @@ -2579,44 +2548,29 @@ - - - + + + - - + + - - + + - - [VqFin] + + [r_fieldWeak] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2627,122 +2581,230 @@ - - - + + + - - + + + + + + + + + + + + + + + VqFin + + + + + + + + z_pos + + + + + + + + V_phaABC_COM + - + - - 9 + + else { } - - + + + + + + + + - - + + + + + + + + - + - - n_motAbs + + COM_Method - + + + + + + + - + - + sfix16_En4 + + + + + + + + + + + + + + + + + action + + + + - - - + + + + + + + + + - - + + - - + + - - 8 + + [b_enaAdvCtrl] - - + + - - - + + + - - + + - - z_dir + + boolean + + + + + + + + + + + + + + + + + + + + + + + + + + [z_ctrlTypSel] + + + + + + + - - + + - - + + - - int8 + + uint8 @@ -2753,59 +2815,59 @@ - - + + - + - + - - 7 + + 8 - + - - + + - - + + - - a_elecAngle + + z_dir - - + + - - + + - - sfix16_En6 + + int8 @@ -2816,59 +2878,44 @@ - - - + + + - - + + - - + + - - 6 + + CTRL_FOC - - - - - - - - - - - - - - - - - r_inpTgtSca + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -2879,38 +2926,46 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + @@ -2924,23 +2979,38 @@ - - + + - - + + - - + + - - boolean + + sfix16_En4 + + + + + + + + + + + + + + + Ini=0 @@ -2951,128 +3021,59 @@ - - - + + + - - - - - - - - + + - - - - - - VqFin - - - - - - - - z_pos - - - - - - - - V_phaABC_COM - - - - + + - - else { } - - - - - - - - - - - - - + + 7 - - - - - - - - - - - - - - - - - F05_00_COM_Method + + + - - - - - - - - - + + + - + - - sfix16_En4 + + a_elecAngle - - - - - - - - + + - + - - action + + sfix16_En6 @@ -3083,50 +3084,44 @@ - - - - - - - - + + - + - + - - [z_ctrlTypSel] + + [z_dir] - + - - + + - + - - uint8 + + int8 @@ -3137,44 +3132,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_inpTgtSca] - + - - + + - + - - uint8 + + sfix16_En4 @@ -3185,44 +3180,44 @@ - - - + + + - - + + - + - - [z_dir] + + CTRL_FOC - - + + - - + + - + - - int8 + + uint8 @@ -3233,11 +3228,11 @@ - - + + - + @@ -3247,45 +3242,45 @@ - - 2 + + 6 - + - - + + - + - - z_ctrlTypSel + + r_inpTgtSca - - + + - + - - uint8 + + sfix16_En4 @@ -3296,144 +3291,155 @@ - - - + + + - - - - - - - - + + - + - - r_inpTgtSca + + 9 + + + + + + + + + + + + + + - + - - a_elecAngle + + r_fieldWeak - - - - - - - z_dir + + + + + + - - + + - - n_motAbs + + sfix16_En4 + + + + + + + + + + + + + + + + + + - - - - - V_phaABC_SIN - - - - + - - elseif { } + + 2 - - - - - - - - + + - - - - - - - - + + - - + + - - F05_01_SIN_Method + + z_ctrlTypSel - - - - - - - - + + - - + + - - action + + uint8 - - - - - - - - - - + + + + + + + + + + + + + + + - + - - sfix16_En4 + + [a_elecAngle] + + + + + + + @@ -3444,17 +3450,11 @@ - - - - - - - - + + - + @@ -3464,14 +3464,14 @@ - - [VqFin] + + [r_inpTgtSca] - + @@ -3483,11 +3483,11 @@ - - + + - + @@ -3497,7 +3497,7 @@ - + @@ -3505,7 +3505,7 @@ - + @@ -3516,22 +3516,22 @@ - + - + - + boolean - + @@ -3547,11 +3547,11 @@ - - + + - + @@ -3561,7 +3561,7 @@ - + @@ -3569,7 +3569,7 @@ - + @@ -3580,22 +3580,22 @@ - + - + - + boolean - + @@ -3612,11 +3612,11 @@ - + - + @@ -3626,11 +3626,11 @@ - + - + @@ -3640,11 +3640,11 @@ - + - + @@ -3654,11 +3654,11 @@ - + - + @@ -3668,11 +3668,11 @@ - + - + @@ -3682,11 +3682,11 @@ - + - + @@ -3696,11 +3696,11 @@ - + - + @@ -3710,11 +3710,11 @@ - + - + @@ -3724,11 +3724,11 @@ - + - + @@ -3738,11 +3738,11 @@ - + - + @@ -3752,11 +3752,11 @@ - + - + @@ -3766,11 +3766,11 @@ - + - + @@ -3780,11 +3780,11 @@ - + - + @@ -3794,11 +3794,11 @@ - + - + @@ -3808,11 +3808,11 @@ - + - + @@ -3823,31 +3823,31 @@ - + - + - + - + - + - + @@ -3856,11 +3856,11 @@ - + - + @@ -3870,11 +3870,11 @@ - + - + @@ -3884,11 +3884,11 @@ - + - + @@ -3898,11 +3898,11 @@ - + - + @@ -3912,11 +3912,11 @@ - + - + @@ -3926,11 +3926,11 @@ - + - + @@ -3940,11 +3940,11 @@ - + - + @@ -3954,11 +3954,11 @@ - + - + @@ -3968,11 +3968,11 @@ - + - + @@ -3982,11 +3982,11 @@ - + - + @@ -3996,11 +3996,11 @@ - + - + @@ -4010,11 +4010,11 @@ - + - + @@ -4024,11 +4024,11 @@ - + - + @@ -4038,11 +4038,11 @@ - + - + @@ -4052,11 +4052,11 @@ - + - + @@ -4066,11 +4066,11 @@ - + - + @@ -4080,11 +4080,11 @@ - + - + @@ -4094,11 +4094,11 @@ - + - + @@ -4108,11 +4108,11 @@ - + - + @@ -4122,11 +4122,11 @@ - + - + @@ -4136,11 +4136,11 @@ - + - + @@ -4150,11 +4150,11 @@ - + - + @@ -4164,11 +4164,11 @@ - + - + @@ -4178,11 +4178,11 @@ - + - + @@ -4192,11 +4192,11 @@ - + - + @@ -4206,11 +4206,11 @@ - + - + @@ -4220,11 +4220,11 @@ - + - + @@ -4234,11 +4234,11 @@ - + - + @@ -4248,11 +4248,11 @@ - + - + @@ -4262,11 +4262,11 @@ - + - + @@ -4276,11 +4276,11 @@ - + - + @@ -4290,11 +4290,11 @@ - + - + @@ -4303,5 +4303,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9292_d.svg index a3a1e4c..5f186b7 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 e2dd0c1..7d3047f 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_9728_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.png deleted file mode 100644 index 0d30a556de6eac73e40c2126c414ae5eefd03e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7585 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.png deleted file mode 100644 index 92c294c554838fdf8b5118269d4e9d70f8d7ca26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7579 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 MnuZ#m)$Jnw2O_XZ*#H0l literal 5093 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 MU0<#8p6&Dh1E<+!ZU6uP diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg index 55be1ad..edff98c 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg @@ -82,7 +82,7 @@ - + @@ -553,7 +553,7 @@ - + @@ -1024,7 +1024,7 @@ - + @@ -1495,7 +1495,7 @@ - + @@ -1638,7 +1638,7 @@ - + @@ -1670,8 +1670,8 @@ - - + + @@ -1679,49 +1679,41 @@ - - + + - + - - r_inpTgtSca + + a_elecAngle - + - - a_elecAngle + + z_dir - + - - z_dir + + r_fieldWeak - + - - n_motAbs - - - - - - - + a_elecAngleAdv @@ -1734,8 +1726,8 @@ - - + + @@ -1747,16 +1739,16 @@ - - + + - - + + - - Phase_Advance_Calculation + + Final_Phase_Advance_Calculation @@ -1772,11 +1764,11 @@ - + - + sfix16_En6 @@ -1788,50 +1780,35 @@ - + - - + + - - + + - - + + - - 0 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - uint8 + + @@ -1842,28 +1819,28 @@ - - + + - + - + - - [r_inpTgtSca] + + [r_fieldWeak] - + @@ -1875,28 +1852,28 @@ - - + + - + - + - - [a_elecAngle] + + [z_dir] - + @@ -1908,43 +1885,43 @@ - - + + - + - + - - [r_inpTgtSca] + + [V_phaABC_SIN] - + - + - - + + - + sfix16_En4 @@ -1956,29 +1933,44 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + [z_dir] - - + + + + + + + + + + + + + + + + + int8 @@ -1989,44 +1981,44 @@ - - + + - + - + - - [V_phaABC_SIN] + + [a_elecAngle] - + - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -2037,29 +2029,44 @@ - - - + + + - - + + - - + + - - [z_dir] + + 0 - - + + + + + + + + + + + + + + + + + uint8 @@ -2118,11 +2125,11 @@ - - + + - + @@ -2132,29 +2139,29 @@ - - [r_inpTgtSca] + + [r_fieldWeak] - + - + - + - + sfix16_En4 @@ -2166,92 +2173,29 @@ - - - + + + - - + + - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - sfix16_En6 - - - - - - - - - - - - - - - - - - - - - - + - - [z_dir] + + [V_phaABC_SIN] - - - - - - - - - - - - - - - - - int8 + + @@ -2272,11 +2216,11 @@ - + - + 4 @@ -2291,15 +2235,15 @@ - + - - + + - - n_motAbs + + r_fieldWeak @@ -2309,11 +2253,11 @@ - + - + sfix16_En4 @@ -2325,52 +2269,59 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + 2 - - + + + + + + + + + + + + + + + + + a_elecAngle - + - - + + - - sfix16_En4 + + sfix16_En6 @@ -2381,59 +2332,44 @@ - - - + + + - - + + - - + + - - 3 + + [r_inpTgtSca] - - - - - - - - - - - - - - - - - z_dir + + - - + + - - + + - - int8 + + sfix16_En4 @@ -2444,28 +2380,28 @@ - - + + - + - + - - [V_phaABC_SIN] + + [a_elecAngle] - + @@ -2477,59 +2413,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - a_elecAngle + + r_inpTgtSca - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -2540,44 +2476,59 @@ - - - + + + - - + + - - + + - - [n_motAbs] + + 3 - - + + + + + + + + + + + + + + + + + z_dir - - + + - - + + - - sfix16_En4 + + int8 @@ -2588,58 +2539,51 @@ - - - + + + - - + + - - + + - - 1 + + - - - - - - + + + + + + + - - - - - - - - - - - r_inpTgtSca + + + - + - - + + - + sfix16_En4 @@ -2703,7 +2647,7 @@ - + @@ -2748,10 +2692,10 @@ - + - + @@ -2830,25 +2774,11 @@ - - - - - - - - - - - - - - - + - + @@ -2858,11 +2788,11 @@ - + - + @@ -2983,5 +2913,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json index ae44f6a..4c0c8ed 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json @@ -1,53 +1,4 @@ [ - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9777", - "className":"Simulink.Annotation", - "icon":"WebViewIcon2", - "name":"

    Phase Advance map as a function of the Input target.

    ", - "label":"

    Phase Advance map as a function of the Input target.

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

    Phase Advance map as a function of the Input target.

    ", - "off", - "rich", - "auto", - "auto", - -1, - "auto", - "black", - "white", - "left", - "off", - "" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":[ - ] - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9778", "className":"Simulink.Annotation", @@ -125,7 +76,7 @@ "OutputFunctionCall" ], "values":[ - "3", + "2", "Port number", "[]", "[]", @@ -420,37 +371,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9754", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From6", - "label":"From6", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "a_phaAdv_M1", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9770", "className":"Simulink.Switch", @@ -508,166 +428,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9773", - "className":"Simulink.Interpolation_nD", - "icon":"WebViewIcon3", - "name":"a_phaAdv_M1", - "label":"a_phaAdv_M1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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", - "a_phaAdv_M1", - "Linear", - "None", - "off", - "0", - "off", - "Inherit: Same as output", - "[]", - "[]", - "fixdt(1,16,8)", - "[]", - "[]", - "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:9775", - "className":"Simulink.PreLookup", - "icon":"WebViewIcon3", - "name":"r_phaAdv_XA", - "label":"r_phaAdv_XA", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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", - "r_phaAdv_XA", - "Index and fraction", - "Evenly spaced points", - "Clip", - "off", - "None", - "off", - "Inherit: Same as input", - "[]", - "[]", - "uint8", - "fixdt(0,8,7)", - "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:9751", "className":"Simulink.From", @@ -699,106 +459,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9744", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgtSca", - "label":"r_inpTgtSca", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9761", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9762", "className":"Simulink.Goto", @@ -1060,44 +720,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9759", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9760", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto5", - "label":"Goto5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "a_phaAdv_M1", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9760", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "inspector":{ "params":[ @@ -1126,38 +753,32 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9792", - "className":"Simulink.Relay", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9791", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"n_fieldWeakAuth", - "label":"n_fieldWeakAuth", + "name":"b_fieldWeakEna", + "label":"b_fieldWeakEna", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "inspector":{ "params":[ - "OnSwitchValue", - "OffSwitchValue", - "OnOutputValue", - "OffOutputValue", - "InputProcessing", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "SampleTime", - "ZeroCross" + "FramePeriod" ], "values":[ - "n_fieldWeakAuthHi", - "n_fieldWeakAuthLo", - "1", - "0", - "Elements as channels (sample based)", + "b_fieldWeakEna", + "on", + "inf", "[]", "[]", "boolean", "off", - "-1", - "on" + "inf" ], "tabs":[ "Main", @@ -1166,8 +787,8 @@ ], "tabs_idx":[ 0, - 5, - 9 + 3, + 7 ] }, "viewer":{ @@ -1176,7 +797,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Relay", + "blocktype":"Constant", "masktype":"" } }, @@ -1278,89 +899,7 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9758", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto4", - "label":"Goto4", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9791", - "className":"Simulink.Constant", - "icon":"WebViewIcon3", - "name":"b_fieldWeakEna", - "label":"b_fieldWeakEna", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "inspector":{ - "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" - ], - "values":[ - "b_fieldWeakEna", - "on", - "inf", - "[]", - "[]", - "boolean", - "off", - "inf" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 3, - 7 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Constant", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9787", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10175", "className":"Simulink.From", "icon":"WebViewIcon3", "name":"From4", @@ -1372,7 +911,7 @@ "IconDisplay" ], "values":[ - "n_motAbs", + "r_fieldWeak", "Tag" ], "tabs":[ @@ -1393,607 +932,122 @@ { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9794", "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9746", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"n_motAbs", - "label":"n_motAbs", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9747", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"a_elecAngle", - "label":"a_elecAngle", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9793", - "className":"Simulink.Abs", - "icon":"WebViewIcon3", - "name":"Abs5", - "label":"Abs5", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9788", - "className":"Simulink.Logic", - "icon":"WebViewIcon3", - "name":"Logical Operator1", - "label":"Logical Operator1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9773#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9756#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9745#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9765#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "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:9749#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "inspector":{ - "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "icon":"WebViewIcon3", + "name":"From1", + "label":"From1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "r_fieldWeak", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"From", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9754#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9758", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto4", + "label":"Goto4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "", - "off", - "off", - "off", - "off", - "Simulink", - "Auto", - "", - "" + "r_fieldWeak", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 5, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Goto", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9775#out:2", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9746", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"r_fieldWeak", + "label":"r_fieldWeak", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", - "Auto", - "", - "" + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -2001,50 +1055,66 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Inport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9775#out:1", - "className":"Simulink.Line", - "icon":"WebViewIcon5", - "name":"", - "label":"", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9747", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"a_elecAngle", + "label":"a_elecAngle", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "inspector":{ "params":[ - "SignalNameFromLabel", - "MustResolveToSignal", - "ShowPropagatedSignal", - "DataLogging", - "TestPoint", - "SignalObjectPackage", - "StorageClass", - "Description", - "documentLink" + "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", - "Simulink", - "Auto", - "", - "" + "off" ], "tabs":[ - "Parameter Attributes", - "Logging and Accessibility", - "Code Generation", - "Documentation" + "Main", + "Signal Attributes", + "-Other" ], "tabs_idx":[ 0, - 3, - 5, - 7 + 2, + 11 ] }, "viewer":{ @@ -2052,11 +1122,13 @@ }, "obj_viewer":[ ], - "finder":[ - ] + "finder":{ + "blocktype":"Inport", + "masktype":"" + } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9744#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9756#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2107,7 +1179,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9746#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9745#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2158,7 +1230,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9747#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9765#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2209,7 +1281,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9791#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9749#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2260,7 +1332,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9792#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9746#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2311,7 +1383,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9787#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9747#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2362,7 +1434,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9788#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9769#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2413,7 +1485,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9794#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9772#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2464,7 +1536,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9793#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2515,7 +1587,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9769#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9766#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2566,7 +1638,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9772#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9755#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2617,7 +1689,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9752#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2668,7 +1740,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9766#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9751#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2719,7 +1791,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9755#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9770#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2770,7 +1842,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9752#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9753#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2821,7 +1893,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9751#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9791#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2872,7 +1944,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9770#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9794#out:1", "className":"Simulink.Line", "icon":"WebViewIcon5", "name":"", @@ -2923,7 +1995,7 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9753#out:1", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10175#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_9743_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.png index 00ab1a4ade56983fd088d9efc696ac8d49365112..7a4691e7ea67ab9e99042dde0d02f9ac7c8e8ce2 100644 GIT binary patch literal 5914 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

    (V3}66J<0 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 diff --git a/docs/pictures/FOC_algorithm.png b/docs/pictures/FOC_algorithm.png index d9ef13bdb30c47a0dd083638be942bd3672897d0..259b2cc8d5c5e0bc47aab7267a647e5fb50571ae 100644 GIT binary patch literal 34628 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 literal 39656 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%0AE78P z2J}(snzG7prh%`2nEZ6*%>RguJ2Gd2HrAon=g8E4)c2HbxAjrsyF)na82rG`)9@NK z&7T)e5;8oS0#>m4#{7NM55>LEPYbM-b0Ucx$P}j2R#LBE3SL08#|VMe(vn1wQ;%J^ zr3A`s3Ay5PN=4oyu^Aqy2*YdD!9f^K=I*)+UT+(X2~=(&Bt%|lQH(r1;MXmn6^V?v zsa?2`XDGM`XJTzcSZZXmv+Tb48R@6owEDI%Ls=j^Z^v(Fs*btN>$@RXl?JBQb634h zca=6^if;6HTc-Wtzh@*J-!2Q6Y@Aiek*J=%DYW_J?Z~K|fEAz3Fk(AWcsq}2HPWJ1 z3mvOn>v=L=^5AD_JEwQ^-`Oxq!)yJdn$_P*&X5yXXw%O#IuOhn5xm(Mvo{_uolwE7o;5;KU?`lku@4Y-+)Yw4A$s{(LLnhl# zml6JmLL^!SyfC~P-`h3yXU3=EZ4Y)o5oJh%g>K`X%KfyPLg&MRmf(+1FC-8=VmVW1 zR!`HqfHM>&voMRiqQcyoSIa~2@DS7ioFH@O=d>_mC7x`|drRl>OJbFzDf4_+6^|6U zw2q>()`ea*$DB^d^sPpuVW^uu4&zEe!wrEi+Ich z5hVeltKd2xael_)m9AKk6B`X@Dmv&HTSB`XCDueBQ|+u}@o?y+f`OFtn$pJP7UR?- z5zH|&jcr$B@dwT7Co+nMGrH&*Gg)^1$|#9?5GH^y$N=)EX(~W96R`xhf16I?o5FkI zU6P}uG57jvfU0v|K-`1VfkX1mBE?>k6r-cU% z^SFam#3HBMA{(%8b2NCA}2c{Pp&QFDqC6>c8{%* zPkJg%76?jL21Gw`7OTPwFignrkF zPI=s_;ATLfg{Io%k0MEi;ppeid`7lw=7i6i*r%rp52LM5Hufo`O@|fU&1Jw0uf&Et z-S%08*P&i7!wp1>imm6>EnK?{Chgyl`#*>xJx$kl%0H7fRt?q8T@!;`o*+E(_E zi(8m+3ZfPev;%AEcPW^KMZ|0kSeKCV1@nVRi@t0TM@UhP$#Jp)h4bpUG)S`}cKN1R z*kfsO%aoNz`3*(`ClJdM@GX{4{uf2j!xKE?g~Mf@r+>;vFf5Ftz}4u5)|)YVFi!!9|W?o+EmV;l4XhyPWG8_(>9nFyH(FyqS zrLSzy`SLq7-%XgbR8r%~NH9_jqmE}J2MXEx6`LCq^8H%|YHldBno`f2q~;&;$agJ5 z1rN0?4I7$^gk{y)CnpwoF~-t5+Qe#J2@DP!IVwMLYN4Gs;=4YjUpHy{wUmTbe%hU9 zeCVhyr6Yq#Z@q8Vi)mMi;hB#{;Ipf*-Z_*xr}4ZAbj-VeI#W?@&Zi}6%^ztteF;e5 z1z)+z2UTlZFuOoaw6)E<35AQO2!sf)(?=9;RVg)W6@KAhZj9w!joG{Q`H=z7ZNtXY zlBi51L(9WH1_!)cX=451bqrYN<)!rjTee?}1B045jfM*=Qy%GRs^mEs$rIHS$`17~ zSqmoraX9`?XYUp)=LY6}EDk&MO4mH?+!2ey9yQH_7~1$@)3(lS53Ad&hc}mM###WJ zc;wOj0B;U*zx<;Tq?+is7!A-8VH20g6Xbqs4R)|#nErifU-~D{4Y-3deI*i0Dt($x zjq6prEssd(JBh5&Xa`*wBXB;igYp&<`xGx$7R=l?6jeSX(G@Deq4Zk&if-KvMTcB!pk*rL^>b;8ADVv~lK z-|`lO$?2M5dkKK-ntw&lDHTd=teF@D?mg6EZyOK=&b za8L?&DobpyzjBBl{&*8yw|acjQ#>W^;isPlCpQ-L`>`MDQ{n`RlNjV5)UIVcft@hP zu8Bt8Na|H^7qRYEIyZxG-DQ3+ii`K4W+aTB1O z-PKquC-&=m*SsE?%phhv+y+&=OO|5xcz&vEX;Y9VSMO_Zd_IJHYc4He~%rll

    H8VWK*dtesPZ*9Gs+j6{gA9XS7R8C^OD* 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 Cj3cH1 diff --git a/docs/pictures/FW_architecture.png b/docs/pictures/FW_architecture.png index a29aa7e512b74af934eaa32d9e4d443c64df1476..34e3f7d2dd98e06eff7949b5f8b254b840c38d20 100644 GIT binary patch literal 35069 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 F{ulX&=4k)` literal 30501 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 U@Yn+QyU-gl5{lx5qJ}>I0|5@sS^xk5 diff --git a/docs/pictures/FieldWeakening.png b/docs/pictures/FieldWeakening.png new file mode 100644 index 0000000000000000000000000000000000000000..562c90f1e0da994f7ba106f45fb51d2c979495c3 GIT binary patch literal 29476 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 literal 0 HcmV?d00001 diff --git a/docs/pictures/paramTable.png b/docs/pictures/paramTable.png index 8ac96f6141c0b6c333018d3588f536e02cab073d..fffaa747b70e11a52096947b7ad51b0665fc1878 100644 GIT binary patch delta 53557 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 (qq{8Kizc-uL2B@nOc2lb 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 delta 53124 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%0D6CeA^C+>qOg&>xc#Hv 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 vm&D From ed31ac07a5940eca609e09c1bdb5a4d00ed0d39a Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Thu, 12 Dec 2019 23:52:07 +0100 Subject: [PATCH 11/11] Update README.md --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0f7924c..9b4c5b0 100644 --- a/README.md +++ b/README.md @@ -52,15 +52,16 @@ Demo videos: --- ## General Notes - The C code for the controller was auto-code generated using [Matlab/Simulink](https://nl.mathworks.com/solutions/embedded-code-generation.html) from a model which I developed from scratch specifically for hoverboard control. For more details regarding the working principle of the controller please consult the [Matlab/Simulink model](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab). - - A [webview](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab/BLDC_controller_ert_rtw/html/webview) was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code + - A [webview](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab/BLDC_controller_ert_rtw/html/webview) was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code. The webview is an html page that can be opened with browsers like: Microsoft Internet Explorer or Microsoft Edge. -### Field weakening +### Field Weakening / Phase Advance - By default the Field weakening is disabled. You can enable it in config.h file by setting the FIELD_WEAK_ENA = 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 - - The default calibration was experimentally calibrated to my particular needs - - If you re-calibrate the field weakening map please take all the safety measures! The motors can spin very fast! - - During the recalibration make sure the values in XAXIS are equally spaced for a correct Map interpolation. + - The Field Weakening is a linear interpolation from 0 to FIELD_WEAK_MAX or PHASE_ADV_MAX (depeding if FOC or SIN is selected, respectively) + - The Field Weakening starts engaging at FIELD_WEAK_LO and reaches the maximum value at FIELD_WEAK_HI + - The figure below shows different possible calibrations for Field Weakening / Phase Advance + ![Field Weakening](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/FieldWeakening.png) + - If you re-calibrate the Field Weakening please take all the safety measures! The motors can spin very fast! ### Parameters

    $88D&RjewhoS-nXxLdYGs%4+x&qxxy-S8xhNUf6cDCQM2A+(PnqxDz5AG# zr|2>vi1~7B@7Xso4J|F&wY4?RlcOEYRwe5fJCt^&JwRc%Pxi3Fb^!+Bl9IY;cNLUA zZ+rx>hNbnlnQ5N2iV*+^FGMO5y}V1FE)Qkn>YgtTUE@l26zBK<0&|^t2%;_ZeCc~i zD-6;0=r4C^aj~+8hj7TB>Rds)0EYq~Cy#ye>g%tZ9remr0I6>Qr3@gY3SKy8;Iz&i zXswGBh`dgYY~1MR<5C*0)zO=MRj=G;6Djel5*{q;{#t%K>r#igg4qb~-A zhIBa8M(+JLpcx$ez|73-Bk#8=Gk%-8G+zalhr7GjIQbJhEZ*PXKol>OGSS$8-;}Yn zVxdSO1DX{~`hyYb$v+}+pT#oBpD?BiTaVZMoR~m0HvUbb?jwdK6-cvPy&8Sid_bL& z^1#%OJV!AtJmJh)$?1of$Ch!0^Npbz3yq9pF+dRFuXlQ4u6jiXJW1ak}Ic5kCyV2{y_9;ptcU)HrN?o?Bi#xW<{oeJ7e06cO&3?1F zL`h%nwDd53Pv8$RNU;H%ltd5w5R8rv@!Q1P((>w1woFWU+cAwqmf&K_`r4W^3k{>aa{|2jwD|oB z)GlLZCU)-kPl!ZWZC>eEa^5`kf*!0;hxYfy|90M!pE)t#&!$hcZ=_adqE5tA`W+rx z{>f=mbc;VT1o56b2=v$;2RCbzgC%*>M>KI(dPw`0)JM#WM^-W@bqNlkaSlG2>AP<>@0(>Y_km} z{^GA(6;pamZ>0%&r_BWT=TsAdwO~RxzjgBwY9E-qa{u^ zUJh4)1pV1)TqJql&-P#YQsn+OB<&8=j*Y35Bt8o|(e1C7bp`s`(yr4pGhGznQ6Yy> zzkyIF!8_FM<5_@K&U;EdR>R@l>yhgTaVH_6YGO5PjAnH`<+&#yL0Q{Ri5``{>rVg= z7M7Nj(iZvD|BhMyNTa9lrpnq(s>sixv|n2X!#sXtyliL(=JR9wTT>pM1NBLdnP zvf`haOhjK{wEG2-8P34wy$=g^BImg{Z6N4fOzk zG1#+xbYtI#D`=zgRjv$2KtKSWOWMul4~=+t*I#vXR^@(=*_c)P{WZ;@c5xh`{E^Xi z^}jCB$Lwr2Z#fq?Z%tNGnAf{!kF1^c+YF|`HJ=sr>bAsaNpbdApB)?f`1s82E)Gcf zZF2tE#AhK_aTx+x-@^3NXlQ7Lr>9FSPu_ib+MAU3@gona?(K+^3NLenRrv%?f5+b< zYo>f`^>u10W%@w0I(IO0$Dqtz>jqCUV6#9jD*~hfSsdD1#ww>RN(Z|`qeLafJRy=- zZuvFifw8GD5m?#W>;bJHkoDg?4dcj%ITuqD`2+-h2)$xwWj*ig4UJU6Lg%|<^!4@g z1bcnp*zYr`N3>y|KugvC9nHshOpR8+ zsPT{Q-MdFy#hri=UH+qUA4dI1GX=iCzppKAN%7vYcKwMIa>Jwto88|BrBE^uWlubs zXDG6sM(}CP-12;p1)rM4UZ7B_uLX|nWH0wj`=W-v{u|^#!m0?5kGU9o;$-F1-U8x> z5)CaSI8%mxcIfq1t6bzl=x>E{%RB8Z86O`%JUSYYdv>z?obS&eDL38kT4oohqBv02 z@5~8wbadB%`2sWF<<$OY7YG$Wc{T;krn!2$8BLraC`=+aU*9TYA;|09s;Cyo>&+63)% z?M1dI_b+jN*R0$doGAXEJ9k*{b#|sX-YtaDLM^sh#q(j9&3_61a}(6_iSbb=MTaFH ULSCE|47(wksyZrVN;VPy2OWC`p#T5? literal 6883 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 G`~Lwj3q1z_ diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg index 6f4a363..d72bb4b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg @@ -1,47 +1,28 @@ - + - + - - - - - - - - - - - - - - Phase Advance map as a function of the Input target. - - - - - - + - - + + - + Phase Advance / Field Weakening @@ -52,57 +33,57 @@ - + - + - + - - 3 + + 2 - + - + - - + + - + z_dir - + - - + + - + int8 @@ -115,27 +96,27 @@ - + - + - + - + [z_dir] - + @@ -148,42 +129,42 @@ - + - + - + - + 1 - + - + - - + + - + a_elecAngleAdv @@ -196,42 +177,42 @@ - + - + - + - + [a_elecAngleAdv] - + - + - - + + - + sfix16_En6 @@ -244,28 +225,28 @@ - + - + - + - + - + - + @@ -280,7 +261,7 @@ - + @@ -293,42 +274,42 @@ - + - + - - + + - - + + - + - + - - + + - + sfix16_En6 @@ -341,42 +322,42 @@ - + - + - + - + [a_elecAngle] - + - + - - + + - + sfix16_En6 @@ -389,42 +370,42 @@ - + - + - + - + [a_elecAngleAdv] - + - + - - + + - + sfix16_En6 @@ -434,237 +415,189 @@ - - - - - - - - - - - - - - - - - - [a_phaAdv_M1] - - - - - - - - - - - - - - - - - - - - - - sfix16_En8 - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + T - - + + - + F - - + + - + - - + + - + sfix16_En6 @@ -676,171 +609,197 @@ - - - + + + - - + + - - - - - - - - - - + + - - + + [a_elecAngle] - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En6 + + + + + + + + + + + + + + + + + + - - + + - - + + [a_elecAngleAdv] - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + a_elecPeriod - - - - - - - + + + + + + - - - - - - - + + + + + + - - + + - - + + sfix16_En6 + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - 1-D T(k,f) + + - - + + - - k1 + + - - + + - - f1 + + - - - - - - - - - - - - - - - - - a_phaAdv_M1 + + - + - - + + - - sfix16_En8 + + sfix16_En6 @@ -851,586 +810,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - r_phaAdv_XA - - - - - - - - - - - - - - - uint8 - - - - - - - - - - - - - - - ufix8_En7 - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] - - - - - - - - - - - - - - - - - - - - - - sfix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtSca - - - - - - - - - - - - - - - sfix16_En4 - - - - - - - - - - - - - - - - - - - - - - - - - - [r_inpTgtSca] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngleAdv] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a_elecPeriod - - - - - - - - - - - - - - - - - - - - - - sfix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - [a_elecAngle] + + [a_elecAngle] - + - + - - + + - + sfix16_En6 @@ -1443,51 +859,51 @@ - + - + - - + + - - + + - - + + - - + + - + - + - - + + - - sfix16_En8 + + sfix16_En4 @@ -1499,42 +915,42 @@ - + - + - - + + - + [z_dir] - + - + - - + + - + int8 @@ -1544,63 +960,30 @@ - - - - - - - - - - - - - - - - - - [a_phaAdv_M1] - - - - - - - - - - - - - - - - + - + - + - + [a_elecAngle] - + @@ -1612,106 +995,58 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + b_fieldWeakEna - - - - - - - - - - + + - - + + - - + + - - n_fieldWeakAuth + + b_fieldWeakEna - + - - + + - + boolean @@ -1724,7 +1059,7 @@ - + @@ -1733,33 +1068,33 @@ - + - + - + num - + - + div - + - + rem @@ -1772,7 +1107,7 @@ - + @@ -1785,15 +1120,15 @@ - + - - + + - + sfix16_En6 @@ -1805,134 +1140,32 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [n_motAbs] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - b_fieldWeakEna - - - - - - - - - - - - - - - - - - - - - - b_fieldWeakEna - - - - - - - - - - - - - - - boolean + + + + + @@ -1943,43 +1176,49 @@ - - + + + + + + + + - + - + - - [n_motAbs] + + [r_fieldWeak] - + - + - - + + - + sfix16_En4 @@ -1992,42 +1231,42 @@ - + - + - + - - [r_inpTgtSca] + + [r_fieldWeak] - + - + - - + + - + sfix16_En4 @@ -2039,59 +1278,29 @@ - - - + + + - - + + - - + + - - 4 + + [r_fieldWeak] - - - - - - - - - - - - - - - - - n_motAbs - - - - - - - - - - - - - - - sfix16_En4 + + @@ -2102,59 +1311,59 @@ - - + + - + - + - - 2 + + 3 - + - - + + - - + + - - a_elecAngle + + r_fieldWeak - + - - + + - - sfix16_En6 + + sfix16_En4 @@ -2165,178 +1374,63 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + 1 - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + a_elecAngle - - - - - - + + - - + + - - boolean - - - - - - - + + sfix16_En6 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2344,11 +1438,11 @@ - + - + @@ -2358,11 +1452,11 @@ - + - + @@ -2372,11 +1466,11 @@ - + - + @@ -2386,67 +1480,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -2456,11 +1494,11 @@ - + - + @@ -2470,221 +1508,179 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2693,5 +1689,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg index a935ddd..5ef9e40 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg @@ -171,5 +171,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json index df48629..70b40f1 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.json @@ -111,47 +111,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9236", - "className":"Simulink.LookupNDDirect", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9911", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"z_commutMap_M1", - "label":"z_commutMap_M1", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ - "NumberOfTableDimensions", - "InputsSelectThisObjectFromTable", - "TableIsInput", - "Table", - "DiagnosticForOutOfRangeInput", - "TableMin", - "TableMax", - "TableDataTypeStr", - "LockScale", - "SampleTime" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "2", - "Column", - "off", - "z_commutMap_M1", - "None", - "[]", - "[]", - "int8", - "off", - "-1" + "z_pos", + "local", + "Tag" ], "tabs":[ - "Main", - "Table Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 5, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -159,26 +139,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"LookupNDDirect", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9912", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9211", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto8", - "label":"Goto8", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "VqFin", - "local", + "z_pos", "Tag" ], "tabs":[ @@ -192,16 +170,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9913", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From4", - "label":"From4", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ @@ -209,7 +187,7 @@ "IconDisplay" ], "values":[ - "VqFin", + "V_phaABC_COM", "Tag" ], "tabs":[ @@ -228,11 +206,44 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9211", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9912", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto8", + "label":"Goto8", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "GotoTag", + "TagVisibility", + "IconDisplay" + ], + "values":[ + "VqFin", + "local", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Goto", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9453", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From4", + "label":"From4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ @@ -240,7 +251,7 @@ "IconDisplay" ], "values":[ - "z_pos", + "VqFin", "Tag" ], "tabs":[ @@ -259,19 +270,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9913", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9823", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ "V_phaABC_COM", + "local", "Tag" ], "tabs":[ @@ -285,7 +298,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, @@ -346,39 +359,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9911", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_pos", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9910", "className":"Simulink.Inport", @@ -446,39 +426,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9823", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "V_phaABC_COM", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9909", "className":"Simulink.Inport", @@ -546,6 +493,59 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9236", + "className":"Simulink.LookupNDDirect", + "icon":"WebViewIcon3", + "name":"z_commutMap_M1", + "label":"z_commutMap_M1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9904", + "inspector":{ + "params":[ + "NumberOfTableDimensions", + "InputsSelectThisObjectFromTable", + "TableIsInput", + "Table", + "DiagnosticForOutOfRangeInput", + "TableMin", + "TableMax", + "TableDataTypeStr", + "LockScale", + "SampleTime" + ], + "values":[ + "2", + "Column", + "off", + "z_commutMap_M1", + "None", + "[]", + "[]", + "int8", + "off", + "-1" + ], + "tabs":[ + "Main", + "Table Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 5, + 9 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"LookupNDDirect", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9209#out:1", "className":"Simulink.Line", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg index d2405a0..9adb3b2 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg @@ -94,203 +94,29 @@ - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - 2-D T[k] + + [z_pos] - - - - - - - - - - - - - - - - - z_commutMap_M1 - - - - - - - - - - - - - - - int8 + + @@ -301,29 +127,44 @@ - - - + + + - - + + - - + + - - [VqFin] + + [z_pos] - - + + + + + + + + + + + + + + + + + int8 @@ -334,43 +175,43 @@ - - + + - + - + - - [VqFin] + + [V_phaABC_COM] - + - + - - + + - + sfix16_En4 @@ -382,44 +223,29 @@ - - - + + + - - + + - - + + - - [z_pos] + + [VqFin] - - - - - - - - - - - - - - - - - int8 + + @@ -430,43 +256,43 @@ - - + + - + - + - - [V_phaABC_COM] + + [VqFin] - + - + - - + + - + sfix16_En4 @@ -476,6 +302,39 @@ + + + + + + + + + + + + + + + + + + [V_phaABC_COM] + + + + + + + + + + + + + + + @@ -488,19 +347,19 @@ - + - + - + - + @@ -518,11 +377,11 @@ - + - + sfix16_En4 @@ -532,39 +391,6 @@ - - - - - - - - - - - - - - - - - - [z_pos] - - - - - - - - - - - - - - - @@ -577,11 +403,11 @@ - + - + 2 @@ -599,11 +425,11 @@ - + - + z_pos @@ -614,11 +440,11 @@ - + - + int8 @@ -630,29 +456,59 @@ - - - + + + - - + + - - + + - - [V_phaABC_COM] + + 1 - - + + + + + + + + + + + + + + + + + VqFin + + + + + + + + + + + + + + + sfix16_En4 @@ -663,59 +519,203 @@ - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - 1 + + 2-D T[k] - - + + - - + + - + - - VqFin + + z_commutMap_M1 - - + + - + - - sfix16_En4 + + int8 @@ -824,5 +824,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json index e0fab87..ebac8db 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json @@ -48,86 +48,6 @@ "finder":[ ] }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9951", - "className":"Simulink.Outport", - "icon":"WebViewIcon3", - "name":"r_inpTgtScaOpen", - "label":"r_inpTgtScaOpen", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", - "inspector":{ - "params":[ - "Port", - "IconDisplay", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" - ], - "values":[ - "1", - "Port number", - "[]", - "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", - "[]", - "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" - ], - "tabs":[ - "Main", - "Signal Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 2, - 11 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Outport", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9950", "className":"Rising edge init", @@ -275,11 +195,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10006", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9947", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ @@ -288,7 +208,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaOpen", + "VqFinPrev", "local", "Tag" ], @@ -308,70 +228,104 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9945", - "className":"Simulink.Gain", - "icon":"WebViewIcon3", - "name":"Gain3", - "label":"Gain3", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Rate_Limiter", + "label":"Rate_Limiter", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "Gain", - "Multiplication", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "ParamMin", - "ParamMax", - "ParamDataTypeStr", - "SampleTime" + "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", - "Element-wise(K.*u)", - "[]", - "[]", - "Inherit: Same as input", + "Auto", + "Use subsystem name", + "", + "Auto", + "", + "void_void", "off", - "Zero", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", "off", - "[]", - "[]", - "Inherit: Inherit via internal rule", - "-1" + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "Signal Attributes", - "Parameter Attributes", - "-Other" ], "tabs_idx":[ - 0, - 2, - 8, - 11 ] }, "viewer":{ - "jshandler":"webview/handlers/ElementHandler" + "jshandler":"webview/handlers/ContainerHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"Gain", + "blocktype":"SubSystem", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9943", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9944", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From", - "label":"From", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ @@ -379,7 +333,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "r_inpTgtScaOpen", "Tag" ], "tabs":[ @@ -398,11 +352,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9947", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10006", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ @@ -411,7 +365,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "r_inpTgtScaOpen", "local", "Tag" ], @@ -431,11 +385,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9942", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9941", "className":"Simulink.DataTypeConversion", "icon":"WebViewIcon3", - "name":"Data Type Conversion1", - "label":"Data Type Conversion1", + "name":"Data Type Conversion", + "label":"Data Type Conversion", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ @@ -451,7 +405,7 @@ "values":[ "[]", "[]", - "fixdt(1,16,4)", + "fixdt(1,28,16)", "off", "Real World Value (RWV)", "Floor", @@ -478,11 +432,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9944", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9943", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From", + "label":"From", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ @@ -490,7 +444,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaOpen", + "VqFinPrev", "Tag" ], "tabs":[ @@ -509,40 +463,52 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9941", - "className":"Simulink.DataTypeConversion", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9945", + "className":"Simulink.Gain", "icon":"WebViewIcon3", - "name":"Data Type Conversion", - "label":"Data Type Conversion", + "name":"Gain3", + "label":"Gain3", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ + "Gain", + "Multiplication", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "ConvertRealWorld", "RndMeth", "SaturateOnIntegerOverflow", + "ParamMin", + "ParamMax", + "ParamDataTypeStr", "SampleTime" ], "values":[ + "-1", + "Element-wise(K.*u)", "[]", "[]", - "fixdt(1,28,16)", + "Inherit: Same as input", "off", - "Real World Value (RWV)", - "Floor", + "Zero", "off", + "[]", + "[]", + "Inherit: Inherit via internal rule", "-1" ], "tabs":[ + "Main", + "Signal Attributes", "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 7 + 2, + 8, + 11 ] }, "viewer":{ @@ -551,7 +517,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"DataTypeConversion", + "blocktype":"Gain", "masktype":"" } }, @@ -605,95 +571,49 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Rate_Limiter", - "label":"Rate_Limiter", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9942", + "className":"Simulink.DataTypeConversion", + "icon":"WebViewIcon3", + "name":"Data Type Conversion1", + "label":"Data Type Conversion1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "inspector":{ "params":[ - "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" + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "ConvertRealWorld", + "RndMeth", + "SaturateOnIntegerOverflow", + "SampleTime" ], "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "on", - "off", - "off", - "-1", - "Auto", - "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", + "[]", + "[]", + "fixdt(1,16,4)", "off", + "Real World Value (RWV)", + "Floor", "off", - "", - "", - "on" + "-1" ], "tabs":[ + "Parameter Attributes", + "-Other" ], "tabs_idx":[ + 0, + 7 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"DataTypeConversion", "masktype":"" } }, @@ -728,6 +648,86 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9951", + "className":"Simulink.Outport", + "icon":"WebViewIcon3", + "name":"r_inpTgtScaOpen", + "label":"r_inpTgtScaOpen", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9937", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" + ], + "values":[ + "1", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Outport", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9938", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.svg index edc39e4..90139e0 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.svg @@ -38,59 +38,11 @@ - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - r_inpTgtScaOpen - - - - - - - - - + @@ -98,43 +50,43 @@ - + - + - + - + - + - + - + - + - + - + @@ -152,11 +104,11 @@ - + - + boolean @@ -164,29 +116,29 @@ - + - + - + - + - + - + @@ -210,11 +162,11 @@ - + - + dV_openRate @@ -232,11 +184,11 @@ - + - + dV_openRate @@ -247,11 +199,11 @@ - + - + sfix28_En16 @@ -263,28 +215,28 @@ - - + + - + - + - - [r_inpTgtScaOpen] + + [VqFinPrev] - + @@ -296,91 +248,202 @@ - - - + + + - - + + + + + + + + + u + + + + + + + + initVal + + + + + + + + init + - + - - -1 + + inc + + + + + + + + dec + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + Rate_Limiter - + - - + + - + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - - [VqFinPrev] + + [r_inpTgtScaOpen] - + - + - - + + - + sfix16_En4 @@ -392,28 +455,28 @@ - - + + - + - + - - [VqFinPrev] + + [r_inpTgtScaOpen] - + @@ -425,29 +488,29 @@ - - + + - + - + - + - + - + @@ -462,23 +525,23 @@ - + - - + + - - + + - - sfix16_En4 + + sfix28_En16 @@ -489,43 +552,43 @@ - - + + - + - + - - [r_inpTgtScaOpen] + + [VqFinPrev] - + - + - - + + - + sfix16_En4 @@ -537,59 +600,43 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + -1 - - - - - - - - - - + + - + - - + + - + sfix28_En16 @@ -611,11 +658,11 @@ - + - + 0 @@ -633,11 +680,11 @@ - + - + sfix28_En16 @@ -649,155 +696,60 @@ - - - + + + - - + + - - - - - - - - u - - - - - - - - initVal - - - - - - - - init - - - - - - - - inc - - - - - - - - dec - - - - - - - - y - - - - - - - - - + - - + + - - + + - - + + - - + + - - - - + - - - - - - - - - - - Rate_Limiter - + - - - - - - - - - - - sfix28_En16 + + + - + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + sfix16_En4 @@ -810,7 +762,7 @@ - + @@ -818,11 +770,11 @@ - + - + if { } @@ -840,11 +792,11 @@ - + - + Action Port @@ -854,6 +806,54 @@ + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + r_inpTgtScaOpen + + + + + + + + @@ -1079,5 +1079,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg index 681c4dc..74ed60b 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2342_d.svg @@ -15,7 +15,7 @@ - + @@ -444,7 +444,7 @@ - + @@ -693,32 +693,32 @@ - - - + + + - + - - Ini=initVal + + sfix28_En16 - - - + + + - + - - sfix28_En16 + + Ini=initVal @@ -853,5 +853,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg index 9f359ea..cb657cf 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_2395_d.svg @@ -142,7 +142,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -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_9948_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json index 51c2604..cc5b14a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json @@ -49,11 +49,11 @@ ] }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2346", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2343", "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Sum1", - "label":"Sum1", + "name":"Sum2", + "label":"Sum2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ @@ -73,7 +73,7 @@ ], "values":[ "rectangular", - "+-", + "++", "off", "Inherit: Inherit via internal rule", "[]", @@ -108,28 +108,77 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", - "className":"Saturation Dynamic", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2346", + "className":"Simulink.Sum", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", + "name":"Sum1", + "label":"Sum1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", "inspector":{ "params":[ + "IconShape", + "Inputs", + "InputSameDT", + "AccumDataTypeStr", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", "RndMeth", - "DoSatur" + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ + "rectangular", + "+-", + "off", + "Inherit: Inherit via internal rule", "[]", "[]", - "Inherit: Same as second input", + "Inherit: Same as first input", "off", - "Floor", - "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:9948:2342", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"Delay_Init1", + "label":"Delay_Init1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "inspector":{ + "params":[ + "initVal" + ], + "values":[ + "0" ], "tabs":[ ], @@ -143,7 +192,7 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "masktype":"" } }, { @@ -213,6 +262,45 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2395", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ContainerHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2357", "className":"Simulink.Inport", @@ -494,94 +582,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2343", - "className":"Simulink.Sum", - "icon":"WebViewIcon3", - "name":"Sum2", - "label":"Sum2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", - "inspector":{ - "params":[ - "IconShape", - "Inputs", - "InputSameDT", - "AccumDataTypeStr", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" - ], - "values":[ - "rectangular", - "++", - "off", - "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:9948:2342", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon4", - "name":"Delay_Init1", - "label":"Delay_Init1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9948", - "inspector":{ - "params":[ - "initVal" - ], - "values":[ - "0" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9948:2359", "className":"Simulink.Inport", diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg index f12d66e..d3f2ba8 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.svg @@ -48,59 +48,67 @@ - - + + - + - + - + - + - + - + - + + + + + + + + + - + - + - - + + - + sfix28_En16 @@ -112,112 +120,192 @@ - - - + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + - - + + - - + + sfix28_En16 - - + + + + + + + + + + + + - - + + - - up + + u - - + + - - u + + initVal - - + + - - lo + + init - - + + - - y + + y + + + + + + + + 1 + + + + + + + + z + + + + + + + + - - + + - - + + - - + + - + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -234,11 +322,11 @@ - + - + 5 @@ -256,11 +344,11 @@ - + - + dec @@ -271,11 +359,123 @@ - + - + + sfix28_En16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + up + + + + + + + + u + + + + + + + + lo + + + + + + + + y + + + + + + + + + + + + + + + + + + + + + sfix28_En16 @@ -297,11 +497,11 @@ - + - + 4 @@ -319,11 +519,11 @@ - + - + inc @@ -334,11 +534,11 @@ - + - + sfix28_En16 @@ -360,11 +560,11 @@ - + - + 3 @@ -382,11 +582,11 @@ - + - + init @@ -397,11 +597,11 @@ - + - + boolean @@ -423,11 +623,11 @@ - + - + 2 @@ -445,11 +645,11 @@ - + - + initVal @@ -460,11 +660,11 @@ - + - + sfix28_En16 @@ -486,11 +686,11 @@ - + - + 1 @@ -508,11 +708,11 @@ - + - + y @@ -522,206 +722,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - u - - - - - - - - initVal - - - - - - - - init - - - - - - - - y - - - - - - - - 1 - - - - - - - - z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sfix28_En16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -953,5 +953,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg index bde5187..e55f86a 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9950_d.svg @@ -232,5 +232,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json index b2c7168..19fd313 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.json @@ -177,6 +177,59 @@ "masktype":"" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10449", + "className":"Simulink.Saturate", + "icon":"WebViewIcon3", + "name":"Saturation", + "label":"Saturation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "UpperLimit", + "LowerLimit", + "LinearizeAsGain", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SampleTime", + "ZeroCross" + ], + "values":[ + "1000", + "-1000", + "on", + "[]", + "[]", + "Inherit: Same as input", + "off", + "Floor", + "-1", + "on" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 3, + 8 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Saturate", + "masktype":"" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9937", "className":"Simulink.SubSystem", @@ -314,33 +367,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9987", - "className":"Simulink.Merge", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9999", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Merge", - "label":"Merge", + "name":"Goto2", + "label":"Goto2", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "InitialOutput", - "AllowUnequalInputPortWidths", - "InputPortOffsets", - "Inputs" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "[]", - "off", - "[]", - "2" + "z_ctrlMod", + "local", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 1 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -348,42 +395,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Merge", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9986", - "className":"Simulink.If", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9981", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"If1", - "label":"If1", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "NumInputs", - "IfExpression", - "ElseIfExpressions", - "ShowElse", - "SampleTime", - "ZeroCross" + "GotoTag", + "IconDisplay" ], "values":[ - "1", - "u1 == CTRL_FOC", - "", - "on", - "-1", - "on" + "z_ctrlModReq", + "Tag" ], "tabs":[ - "Parameter Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 4 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -391,16 +426,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"If", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9983", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10004", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"Goto12", + "label":"Goto12", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -409,7 +444,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "VqFinPrev", "local", "Tag" ], @@ -429,11 +464,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10004", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9985", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto12", - "label":"Goto12", + "name":"Goto7", + "label":"Goto7", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -442,7 +477,7 @@ "IconDisplay" ], "values":[ - "VqFinPrev", + "z_ctrlTypSel", "local", "Tag" ], @@ -462,21 +497,19 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9982", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9980", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "z_ctrlModReq", - "local", + "r_inpTgt", "Tag" ], "tabs":[ @@ -490,26 +523,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10014", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9979", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"From19", + "label":"From19", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", - "local", + "z_ctrlTypSel", "Tag" ], "tabs":[ @@ -523,7 +554,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, @@ -571,11 +602,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9981", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9978", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"From11", + "label":"From11", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -583,7 +614,7 @@ "IconDisplay" ], "values":[ - "z_ctrlModReq", + "r_inpTgtSca", "Tag" ], "tabs":[ @@ -602,19 +633,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10015", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9982", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From2", - "label":"From2", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtScaRaw", + "z_ctrlModReq", + "local", "Tag" ], "tabs":[ @@ -628,30 +661,42 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9980", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9986", + "className":"Simulink.If", "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", + "name":"If1", + "label":"If1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "GotoTag", - "IconDisplay" + "NumInputs", + "IfExpression", + "ElseIfExpressions", + "ShowElse", + "SampleTime", + "ZeroCross" ], "values":[ - "r_inpTgt", - "Tag" + "1", + "u1 == CTRL_FOC", + "", + "on", + "-1", + "on" ], "tabs":[ - "Parameter Attributes" + "Parameter Attributes", + "-Other" ], - "tabs_idx":0 + "tabs_idx":[ + 0, + 4 + ] }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -659,16 +704,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"If", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9979", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9977", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From19", - "label":"From19", + "name":"From10", + "label":"From10", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -676,7 +721,7 @@ "IconDisplay" ], "values":[ - "z_ctrlTypSel", + "r_inpTgt", "Tag" ], "tabs":[ @@ -695,11 +740,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9977", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10005", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From10", - "label":"From10", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -707,7 +752,7 @@ "IconDisplay" ], "values":[ - "r_inpTgt", + "VqFinPrev", "Tag" ], "tabs":[ @@ -757,19 +802,21 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9978", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9984", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"From11", - "label":"From11", + "name":"Goto6", + "label":"Goto6", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ "GotoTag", + "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgtSca", + "r_inpTgtScaRaw", + "local", "Tag" ], "tabs":[ @@ -783,113 +830,49 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9957", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"FOC_Control_Type", - "label":"FOC_Control_Type", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10014", + "className":"Simulink.Goto", + "icon":"WebViewIcon3", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "ShowPortLabels", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", - "MinAlgLoopOccurrences", - "OverrideUsingVariant", - "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", - "RTWFcnNameOpts", - "RTWFileName", - "RTWFileNameOpts", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", - "Variant", - "VariantControl" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "FromPortIcon", - "ReadWrite", - "", - "All", - "off", - "on", - "", - "", - "off", - "", - "void_void", - "off", - "off", - "off", - "", - "off", - "", - "off", - "off", - "", - "Auto", - "", - "Auto", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Auto", - "-1", - "", - "off", - "" + "r_inpTgtSca", + "local", + "Tag" ], "tabs":[ - "Main", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 6 - ] + "tabs_idx":0 }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9984", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9983", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto6", - "label":"Goto6", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -898,7 +881,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaRaw", + "r_inpTgt", "local", "Tag" ], @@ -918,11 +901,109 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10007", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10015", + "className":"Simulink.From", + "icon":"WebViewIcon3", + "name":"From2", + "label":"From2", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "GotoTag", + "IconDisplay" + ], + "values":[ + "r_inpTgtScaRaw", + "Tag" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"From", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10016", + "className":"Simulink.Inport", + "icon":"WebViewIcon3", + "name":"VqFinPrev", + "label":"VqFinPrev", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "Port", + "IconDisplay", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "InputConnect", + "Interpolate", + "LatchByDelayingOutsideSignal", + "LatchInputForFeedbackSignals", + "OutputFunctionCall" + ], + "values":[ + "5", + "Port number", + "[]", + "[]", + "Inherit: auto", + "off", + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "", + "on", + "off", + "off", + "off" + ], + "tabs":[ + "Main", + "Signal Attributes", + "-Other" + ], + "tabs_idx":[ + 0, + 2, + 11 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Inport", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Default_Mode", - "label":"Default_Mode", + "name":"Default_Control_Type", + "label":"Default_Control_Type", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -1015,44 +1096,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9999", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto2", - "label":"Goto2", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", - "inspector":{ - "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" - ], - "values":[ - "z_ctrlMod", - "local", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Goto", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10016", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9956", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"VqFinPrev", - "label":"VqFinPrev", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -1075,7 +1123,7 @@ "OutputFunctionCall" ], "values":[ - "5", + "4", "Port number", "[]", "[]", @@ -1115,11 +1163,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9988", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10007", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Default_Control_Type", - "label":"Default_Control_Type", + "name":"Default_Mode", + "label":"Default_Mode", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -1190,33 +1238,72 @@ "-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:9987", + "className":"Simulink.Merge", + "icon":"WebViewIcon3", + "name":"Merge", + "label":"Merge", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "InitialOutput", + "AllowUnequalInputPortWidths", + "InputPortOffsets", + "Inputs" + ], + "values":[ + "[]", + "off", + "[]", + "2" ], "tabs":[ - "Main", + "Parameter Attributes", "-Other" ], "tabs_idx":[ 0, - 6 + 1 ] }, "viewer":{ - "jshandler":"webview/handlers/ContainerHandler" + "jshandler":"webview/handlers/ElementHandler" }, "obj_viewer":[ ], "finder":{ - "blocktype":"SubSystem", + "blocktype":"Merge", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9956", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9998", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", + "name":"z_ctrlMod", + "label":"z_ctrlMod", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ @@ -1239,7 +1326,7 @@ "OutputFunctionCall" ], "values":[ - "4", + "3", "Port number", "[]", "[]", @@ -1278,37 +1365,6 @@ "masktype":"" } }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10005", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", - "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:9955", "className":"Simulink.Inport", @@ -1377,102 +1433,99 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9985", - "className":"Simulink.Goto", - "icon":"WebViewIcon3", - "name":"Goto7", - "label":"Goto7", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", - "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:9998", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"z_ctrlMod", - "label":"z_ctrlMod", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"FOC_Control_Type", + "label":"FOC_Control_Type", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", "inspector":{ "params":[ - "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":"" } }, @@ -2715,5 +2768,56 @@ ], "finder":[ ] + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10449#out:1", + "className":"Simulink.Line", + "icon":"WebViewIcon5", + "name":"", + "label":"", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9953", + "inspector":{ + "params":[ + "SignalNameFromLabel", + "MustResolveToSignal", + "ShowPropagatedSignal", + "DataLogging", + "TestPoint", + "SignalObjectPackage", + "StorageClass", + "Description", + "documentLink" + ], + "values":[ + "", + "off", + "off", + "off", + "off", + "Simulink", + "Auto", + "", + "" + ], + "tabs":[ + "Parameter Attributes", + "Logging and Accessibility", + "Code Generation", + "Documentation" + ], + "tabs_idx":[ + 0, + 3, + 5, + 7 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":[ + ] } ] \ No newline at end of file diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.png index 0e07c156f51344ae643843738ff99b5a2f92b753..c7a44cb6fcf67b33f1f715a34d9c331ceddd587d 100644 GIT binary patch literal 6395 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 diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg index f4165bf..467e3cf 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9953_d.svg @@ -1,10 +1,10 @@ - + - + @@ -19,7 +19,7 @@ - + @@ -38,7 +38,7 @@ - + @@ -84,7 +84,7 @@ - + @@ -97,11 +97,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + - + @@ -115,27 +195,27 @@ - + - + VqFinPrev - + - + r_inpTgtScaOpen - + - + if { } @@ -165,11 +245,11 @@ - - + + - + Open_Mode @@ -186,11 +266,11 @@ - - + + - + sfix16_En4 @@ -207,11 +287,11 @@ - - + + - + action @@ -231,7 +311,7 @@ - + @@ -239,19 +319,19 @@ - + - + - + - + @@ -277,11 +357,11 @@ - - + + - + sfix16_En4 @@ -293,60 +373,29 @@ - - - + + + - - + + - - - - - - - - - + - - + + - - + + [z_ctrlMod] - - - - - - - - - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -357,75 +406,44 @@ - - - + + + - - + + - - - - - u1 - - - - - - - - if(u1 == CTRL_FOC) - - - - + - - else + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - action + + - - + + - - + + - - action + + uint8 @@ -436,28 +454,28 @@ - - + + - + - + - - [r_inpTgt] + + [VqFinPrev] - + @@ -469,28 +487,28 @@ - - + + - + - + - - [VqFinPrev] + + [z_ctrlTypSel] - + @@ -502,29 +520,44 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + [r_inpTgt] - - + + + + + + + + + + + + + + + + + sfix16_En4 @@ -535,29 +568,44 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [z_ctrlTypSel] - - + + + + + + + + + + + + + + + + + uint8 @@ -570,7 +618,7 @@ - + @@ -578,27 +626,27 @@ - + - + u1 - + - + if(u1 == OPEN_MODE) - + - + else @@ -616,11 +664,11 @@ - - + + - + action @@ -631,11 +679,11 @@ - - + + - + action @@ -647,44 +695,44 @@ - - + + - + - + - - [z_ctrlModReq] + + [r_inpTgtSca] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -695,44 +743,29 @@ - - - + + + - - + + - - + + - - [r_inpTgtScaRaw] + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - sfix16_En4 + + @@ -743,44 +776,75 @@ - - - + + + - - + + + + + + + + + u1 + + + + + + + + if(u1 == CTRL_FOC) + - + - - [r_inpTgt] + + else - - + + - - + + - + - - sfix16_En4 + + action + + + + + + + + + + + + + + + action @@ -791,44 +855,44 @@ - - + + - + - + - - [z_ctrlTypSel] + + [r_inpTgt] - + - - + + - - + + - - uint8 + + sfix16_En4 @@ -839,43 +903,43 @@ - - + + - + - + - - [r_inpTgt] + + [VqFinPrev] - + - + - - + + - + sfix16_En4 @@ -897,11 +961,11 @@ - + - + [z_ctrlMod] @@ -919,11 +983,11 @@ - - + + - + uint8 @@ -935,44 +999,62 @@ - - - + + + - - + + - - + + - - [r_inpTgtSca] + + [r_inpTgtScaRaw] - - + + - - - - + + + + + + + + + + + + + + + - - + + - - sfix16_En4 + + [r_inpTgtSca] + + + + + + + @@ -983,128 +1065,77 @@ - - - + + + - - - - - - - - + + - - - - - - - r_inpTgt - - - - - - - - z_ctrlModReq - - - - - - r_inpTgtScaFOC - - - - + - - if { } + + [r_inpTgt] - - - - - - - - + + - - - - - - - - - - + + + + + + + + + + + + + + + - + - - FOC_Control_Type + + [r_inpTgtScaRaw] - - - - - - - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - + + - - + + - - action + + sfix16_En4 @@ -1115,35 +1146,59 @@ - - - - - - - - - + + + - - + + - - + + - - [r_inpTgtScaRaw] + + 5 - - + + + + + + + + + + + + + + + + + VqFinPrev + + + + + + + + + + + + + + + sfix16_En4 @@ -1154,43 +1209,43 @@ - - - + + + - + - - + + - - + + - - r_inpTgtScaRaw + + r_inpTgt - - + + - + r_inpTgtScaDft - - + + - + else { } @@ -1198,76 +1253,76 @@ - + - - + + - + - - + + - - + + - - Default_Mode + + Default_Control_Type - + - - + + - - + + - - sfix16_En4 + + action - + - - + + - - + + - - action + + sfix16_En4 @@ -1278,97 +1333,64 @@ - + - + - - - - - - - - - - - - - - - - [z_ctrlMod] - - - - - - - - - - - - - - - - - - - + + - + - + - - 5 + + 4 - + - - + + - - + + - - VqFinPrev + + r_inpTgt - + - - + + - + sfix16_En4 @@ -1380,43 +1402,43 @@ - - - + + + - + - - + + - - + + - - r_inpTgt + + r_inpTgtScaRaw - - + + - + r_inpTgtScaDft - - + + - + else { } @@ -1424,54 +1446,54 @@ - + - - + + - + - - + + - - + + - - Default_Control_Type + + Default_Mode - + - + - - + + - + action @@ -1479,20 +1501,20 @@ - + - + - - + + - + sfix16_En4 @@ -1504,64 +1526,65 @@ - + - + - - + + - - + + - + - - + + - - 4 + + + + + + + + + + - - - - + - - - - - - - - - - - r_inpTgt + + + + + + + - + - - + + - + sfix16_En4 @@ -1573,44 +1596,59 @@ - - - + + + - - + + - - + + - - [VqFinPrev] + + 3 - - + + + + + + + + + + + + + + + + + z_ctrlMod - - + + - - + + - - sfix16_En4 + + uint8 @@ -1622,57 +1660,57 @@ - + - + - + - + 2 - + - + - - + + - + z_ctrlModReq - + - - + + - + uint8 @@ -1684,92 +1722,128 @@ - - - + + + - - + + + + + + + + - - + + - - [z_ctrlTypSel] + + r_inpTgt + + + + + + + + z_ctrlModReq + + + + + + + + r_inpTgtScaFOC + + + + + + + + if { } - - + + + + + + + + - - - - - - - - - - - - - - - + - - - + + + + - - 3 + + - - - - - - + + + + + + + FOC_Control_Type - - - + + + + + + + + + - - + + - - z_ctrlMod + + action - - + + + + + + + + - - + + - - uint8 + + sfix16_En4 @@ -1781,57 +1855,63 @@ - + + + + + + + - + - + - + 1 - + - + - - + + - + z_ctrlTypSel - + - - + + - + uint8 @@ -1904,7 +1984,7 @@ - + @@ -1956,11 +2036,11 @@ - + - + @@ -2016,7 +2096,7 @@ - + @@ -2030,7 +2110,7 @@ - + @@ -2156,7 +2236,21 @@ - + + + + + + + + + + + + + + + @@ -2165,5 +2259,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json index cf7320e..7eff028 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json @@ -1,62 +1,31 @@ [ { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9976", - "className":"Simulink.Outport", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9973", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"r_inpTgtScaFOC", - "label":"r_inpTgtScaFOC", + "name":"constant1", + "label":"constant1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "Port", - "IconDisplay", + "Value", + "VectorParams1D", + "SampleTime", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "EnsureOutportIsVirtual", - "InitialOutput", - "MustResolveToSignalObject", - "OutputWhenDisabled", - "OutputWhenUnConnected", - "OutputWhenUnconnectedValue", - "SignalName", - "SignalObject", - "SourceOfInitialOutputValue", - "StorageClass", - "VectorParamsAs1DForOutWhenUnconnected" + "FramePeriod" ], "values":[ - "1", - "Port number", - "[]", + "0", + "on", + "inf", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "off", "[]", + "Inherit: Inherit via back propagation", "off", - "held", - "off", - "0", - "", - [ - ], - "Dialog", - "Auto", - "off" + "inf" ], "tabs":[ "Main", @@ -65,8 +34,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -75,16 +44,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Outport", + "blocktype":"Constant", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9972", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9975", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant", - "label":"constant", + "name":"n_max", + "label":"n_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -98,12 +67,12 @@ "FramePeriod" ], "values":[ - "1000", + "n_max", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(1,16,4)", "off", "inf" ], @@ -129,32 +98,63 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9971", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9976", + "className":"Simulink.Outport", "icon":"WebViewIcon3", - "name":"Vd_max", - "label":"Vd_max", + "name":"r_inpTgtScaFOC", + "label":"r_inpTgtScaFOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", + "Port", + "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "FramePeriod" + "Unit", + "PortDimensions", + "VarSizeSig", + "SampleTime", + "SignalType", + "BusOutputAsStruct", + "EnsureOutportIsVirtual", + "InitialOutput", + "MustResolveToSignalObject", + "OutputWhenDisabled", + "OutputWhenUnConnected", + "OutputWhenUnconnectedValue", + "SignalName", + "SignalObject", + "SourceOfInitialOutputValue", + "StorageClass", + "VectorParamsAs1DForOutWhenUnconnected" ], "values":[ - "Vd_max", - "on", - "inf", + "1", + "Port number", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: auto", "off", - "inf" + "inherit", + "-1", + "Inherit", + "-1", + "auto", + "off", + "off", + "[]", + "off", + "held", + "off", + "0", + "", + [ + ], + "Dialog", + "Auto", + "off" ], "tabs":[ "Main", @@ -163,8 +163,8 @@ ], "tabs_idx":[ 0, - 3, - 7 + 2, + 11 ] }, "viewer":{ @@ -173,16 +173,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Outport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9974", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9972", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"i_max", - "label":"i_max", + "name":"constant", + "label":"constant", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -196,12 +196,12 @@ "FramePeriod" ], "values":[ - "i_max", + "1000", "on", "inf", "[]", "[]", - "fixdt(1,16,4)", + "Inherit: Inherit via back propagation", "off", "inf" ], @@ -227,20 +227,22 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9969", - "className":"Simulink.Mux", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9968", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Mux", - "label":"Mux", + "name":"Goto13", + "label":"Goto13", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "Inputs", - "DisplayOption" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "4", - "bar" + "r_inpTgt", + "local", + "Tag" ], "tabs":[ "Parameter Attributes" @@ -253,16 +255,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Mux", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9966", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9967", "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"Goto", - "label":"Goto", + "name":"Goto1", + "label":"Goto1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -271,7 +273,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaFOC", + "z_ctrlModReq", "local", "Tag" ], @@ -291,43 +293,27 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9975", - "className":"Simulink.Constant", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9966", + "className":"Simulink.Goto", "icon":"WebViewIcon3", - "name":"n_max", - "label":"n_max", + "name":"Goto", + "label":"Goto", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "Value", - "VectorParams1D", - "SampleTime", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "FramePeriod" + "GotoTag", + "TagVisibility", + "IconDisplay" ], "values":[ - "n_max", - "on", - "inf", - "[]", - "[]", - "fixdt(1,16,4)", - "off", - "inf" + "r_inpTgtScaFOC", + "local", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 3, - 7 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -335,56 +321,30 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Constant", + "blocktype":"Goto", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9962", - "className":"Simulink.Product", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9965", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Divide4", - "label":"Divide4", + "name":"From9", + "label":"From9", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "Inputs", - "Multiplication", - "InputSameDT", - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "SaturateOnIntegerOverflow", - "CollapseDim", - "CollapseMode", - "SampleTime" + "GotoTag", + "IconDisplay" ], "values":[ - "*/", - "Element-wise(.*)", - "off", - "[]", - "[]", - "fixdt(0,16,12)", - "off", - "Simplest", - "off", - "1", - "All dimensions", - "-1" + "z_ctrlModReq", + "Tag" ], "tabs":[ - "Main", - "Signal Attributes", - "-Other" + "Parameter Attributes" ], - "tabs_idx":[ - 0, - 2, - 9 - ] + "tabs_idx":0 }, "viewer":{ "jshandler":"webview/handlers/ElementHandler" @@ -392,16 +352,69 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Product", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9963", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9970", + "className":"Simulink.Selector", + "icon":"WebViewIcon3", + "name":"Selector", + "label":"Selector", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "inspector":{ + "params":[ + "IndexMode", + "IndexOptionArray", + "IndexOptions", + "IndexParamArray", + "Indices", + "InputPortWidth", + "NumberOfDimensions", + "OutputSizeArray", + "OutputSizes", + "SampleTime" + ], + "values":[ + "Zero-based", + [ + "Index vector (port)" + ], + "Index vector (port)", + [ + "[1 3]" + ], + "[1 3]", + "4", + "1", + [ + "1" + ], + "1", + "-1" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Selector", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9964", "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"From1", - "label":"From1", + "name":"From22", + "label":"From22", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -409,7 +422,7 @@ "IconDisplay" ], "values":[ - "r_inpTgtScaFOC", + "r_inpTgt", "Tag" ], "tabs":[ @@ -428,11 +441,42 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9973", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9969", + "className":"Simulink.Mux", + "icon":"WebViewIcon3", + "name":"Mux", + "label":"Mux", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", + "inspector":{ + "params":[ + "Inputs", + "DisplayOption" + ], + "values":[ + "4", + "bar" + ], + "tabs":[ + "Parameter Attributes" + ], + "tabs_idx":0 + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"Mux", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9971", "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"constant1", - "label":"constant1", + "name":"Vd_max", + "label":"Vd_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -446,12 +490,12 @@ "FramePeriod" ], "values":[ - "0", + "Vd_max", "on", "inf", "[]", "[]", - "Inherit: Inherit via back propagation", + "fixdt(1,16,4)", "off", "inf" ], @@ -565,56 +609,61 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9964", - "className":"Simulink.From", - "icon":"WebViewIcon3", - "name":"From22", - "label":"From22", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", - "inspector":{ - "params":[ - "GotoTag", - "IconDisplay" - ], - "values":[ - "r_inpTgt", - "Tag" - ], - "tabs":[ - "Parameter Attributes" - ], - "tabs_idx":0 - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"From", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9965", - "className":"Simulink.From", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9959", + "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"From9", - "label":"From9", + "name":"z_ctrlModReq", + "label":"z_ctrlModReq", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "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" + "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" @@ -622,16 +671,16 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"From", + "blocktype":"Inport", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9959", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9958", "className":"Simulink.Inport", "icon":"WebViewIcon3", - "name":"z_ctrlModReq", - "label":"z_ctrlModReq", + "name":"r_inpTgt", + "label":"r_inpTgt", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ @@ -654,7 +703,7 @@ "OutputFunctionCall" ], "values":[ - "2", + "1", "Port number", "[]", "[]", @@ -694,27 +743,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9967", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9962", + "className":"Simulink.Product", "icon":"WebViewIcon3", - "name":"Goto1", - "label":"Goto1", + "name":"Divide4", + "label":"Divide4", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "GotoTag", - "TagVisibility", - "IconDisplay" + "Inputs", + "Multiplication", + "InputSameDT", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "SaturateOnIntegerOverflow", + "CollapseDim", + "CollapseMode", + "SampleTime" ], "values":[ - "z_ctrlModReq", - "local", - "Tag" + "*/", + "Element-wise(.*)", + "off", + "[]", + "[]", + "fixdt(0,16,12)", + "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" @@ -722,26 +795,24 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"Product", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9968", - "className":"Simulink.Goto", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9963", + "className":"Simulink.From", "icon":"WebViewIcon3", - "name":"Goto13", - "label":"Goto13", + "name":"From1", + "label":"From1", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ "GotoTag", - "TagVisibility", "IconDisplay" ], "values":[ - "r_inpTgt", - "local", + "r_inpTgtScaFOC", "Tag" ], "tabs":[ @@ -755,156 +826,37 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Goto", + "blocktype":"From", "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9970", - "className":"Simulink.Selector", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9974", + "className":"Simulink.Constant", "icon":"WebViewIcon3", - "name":"Selector", - "label":"Selector", + "name":"i_max", + "label":"i_max", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", "inspector":{ "params":[ - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", - "SampleTime", - "IndexOptions", - "NumberOfDimensions", - "IndexMode", - "IndexOptionArray", - "IndexParamArray", - "OutputSizeArray", - "InputPortWidth", + "Value", + "VectorParams1D", "SampleTime", - "IndexOptions", - "Indices", - "OutputSizes" - ], - "values":[ - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "1", - "Zero-based", - [ - "Index vector (port)" - ], - [ - "[1 3]" - ], - [ - "1" - ], - "4", - "-1", - "Index vector (port)", - "[1 3]", - "1" - ], - "tabs":[ - "Parameter Attributes", - "-Other" - ], - "tabs_idx":[ - 0, - 24 - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"Selector", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9958", - "className":"Simulink.Inport", - "icon":"WebViewIcon3", - "name":"r_inpTgt", - "label":"r_inpTgt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9957", - "inspector":{ - "params":[ - "Port", - "IconDisplay", "OutMin", "OutMax", "OutDataTypeStr", "LockScale", - "Unit", - "PortDimensions", - "VarSizeSig", - "SampleTime", - "SignalType", - "BusOutputAsStruct", - "InputConnect", - "Interpolate", - "LatchByDelayingOutsideSignal", - "LatchInputForFeedbackSignals", - "OutputFunctionCall" + "FramePeriod" ], "values":[ - "1", - "Port number", + "i_max", + "on", + "inf", "[]", "[]", - "Inherit: auto", - "off", - "inherit", - "-1", - "Inherit", - "-1", - "auto", - "off", - "", - "on", - "off", + "fixdt(1,16,4)", "off", - "off" + "inf" ], "tabs":[ "Main", @@ -913,8 +865,8 @@ ], "tabs_idx":[ 0, - 2, - 11 + 3, + 7 ] }, "viewer":{ @@ -923,7 +875,7 @@ "obj_viewer":[ ], "finder":{ - "blocktype":"Inport", + "blocktype":"Constant", "masktype":"" } }, diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg index fbed455..da0d565 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.svg @@ -13,44 +13,44 @@ - - - + + + - - + + - + - - 1 + + 0 - - + + - - - + + + - + - - r_inpTgtScaFOC + + sfix16_En4 @@ -61,43 +61,58 @@ - - - + + + - - + + - + - - 1000 + + n_max - - + + + + + + + + + + + + + + + + + n_max - + - - + + - + sfix16_En4 @@ -109,59 +124,44 @@ - - - + + + - - + + - - + + - - Vd_max + + 1 - - + + - - - - - - - - - - Vd_max - - - - - - - + + - + - - sfix16_En4 + + r_inpTgtScaFOC @@ -172,58 +172,43 @@ - - - + + + - - + + - + - - i_max + + 1000 - - - - - - - - - - - - - - - - - i_max + + - + - - + + - + sfix16_En4 @@ -235,44 +220,62 @@ - - - + + + - - + + - - + + - - + + [r_inpTgt] - - + + - - - - + + + + + + + + + + + + + + + - + - - sfix16_En4 + + [z_ctrlModReq] + + + + + + + @@ -316,59 +319,44 @@ - - - + + + - - + + - + - - n_max + + [z_ctrlModReq] - - - - - - - - - - - - - - - - - n_max + + - - + + - - + + - - sfix16_En4 + + uint8 @@ -379,69 +367,68 @@ - - - + + + - - + + - - + + - - + + U - - + + - - + + Idx1 - - + + - - + + 0 - - + + - - - + + Y - - + + - - + + - - + + - - ufix16_En12 + + sfix16_En4 @@ -452,43 +439,43 @@ - - + + - + - + - - [r_inpTgtScaFOC] + + [r_inpTgt] - + - + - - + + - + sfix16_En4 @@ -500,43 +487,106 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sfix16_En4 + + + + + + + + + + + + - + - + - - 0 + + Vd_max - + + + + + + + + + + + + Vd_max + + + + - + - - + + - + sfix16_En4 @@ -550,7 +600,7 @@ - + @@ -558,19 +608,19 @@ - + - + - + - + @@ -588,11 +638,11 @@ - + - + sfix16_En4 @@ -614,11 +664,11 @@ - + - + if { } @@ -636,11 +686,11 @@ - + - + Action Port @@ -652,91 +702,58 @@ - - - + + + - - + + - - + + - - [r_inpTgt] + + 2 - - + + - - - - - - - - - - - sfix16_En4 + + + - - - - - - - - - - - - - - - - - - - - + + - - [z_ctrlModReq] - - - - - - - + + z_ctrlModReq - + - - + + - + uint8 @@ -748,59 +765,59 @@ - - + + - + - + - - 2 + + 1 - + - - + + - - + + - - z_ctrlModReq + + r_inpTgt - - + + - - + + - - uint8 + + sfix16_En4 @@ -811,62 +828,69 @@ - - - + + + - - + + - - + + - - [z_ctrlModReq] + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - + + + + - - + + - - [r_inpTgt] - - - - - - - + + ufix16_En12 @@ -877,67 +901,43 @@ - - - + + + - - + + - - - - - - - U - - - - - - - - Idx1 - - - - - - - - 0 - - + - - Y + + [r_inpTgtScaFOC] - - + + - + - + - + sfix16_En4 @@ -949,58 +949,58 @@ - - - + + + - - + + - + - - 1 + + i_max - - + + - - + + - + - - r_inpTgt + + i_max - + - + - + sfix16_En4 @@ -1208,5 +1208,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg index ea077a6..d6c3a52 100644 --- a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg +++ b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9988_d.svg @@ -63,7 +63,7 @@ - + @@ -186,5 +186,5 @@ - + diff --git a/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json b/01_Matlab/BLDC_controller_ert_rtw/html/webview/support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_h_1.json index 56c128c..3b46f01 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 @@ -23,9 +23,11 @@ 12, 23, 35, - 70, - 76, - 77 + 38, + 83, + 89, + 90, + 91 ], "name":"BLDC_controller", "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller", @@ -37,110 +39,131 @@ "elements":[ ":9309", ":9308", + ":10192", ":9307", ":9306", - ":9305", - ":9301", - ":9298", + ":9304", + ":9303", + ":9302", + ":10064", ":9297", ":9441", - ":9295", - ":9294", - ":9292", - ":9291", + ":10164", + ":10751", + ":9293", + ":10258", ":9290", - ":9281", + ":9934", ":9279", ":9289", - ":9287", ":9286", - ":9272", + ":9283", + ":10189", + ":9300", + ":10188", + ":10187", ":9277", - ":9276", - ":9302", ":9275", - ":9934", ":9274", - ":9299", - ":9269", + ":9278", + ":9437", + ":10159", ":9252", + ":9251", ":9250", + ":9262", + ":9269", + ":9418", + ":10692", + ":10355", ":9268", + ":9284", ":9267", - ":9251", - ":9266", + ":9282", ":9265", - ":9303", - ":9260", + ":9264", + ":9261", + ":9287", + ":9258", + ":10257", ":10027", ":9253", - ":9436", - ":10025", - ":9456", ":10026", - ":9249", - ":9304", + ":9935", ":9248", + ":9241", + ":10356", + ":9249", + ":9931", ":9244", - ":9270", + ":9263", + ":10259", ":9720", - ":9288", ":9242", - ":9282", - ":9264", - ":9931", ":9198", - ":9258", - ":9284", - ":8469", - ":9930", - ":9271", - ":9448", - ":9241", - ":9418", - ":9293", - ":8220", - ":9437", ":9259", - ":8535", - ":9261", - ":9262", - ":8217", - ":9263", + ":10025", + ":9276", + ":9266", + ":10066", + ":9930", + ":10191", + ":9288", ":9245", + ":8469", + ":9298", ":9285", - ":8658", - ":9240", - ":9278", + ":10161", + ":8220", + ":8217", + ":9280", + ":10160", ":8215", ":8214", - ":8209", - ":8207", - ":9300", + ":9291", + ":9448", + ":9270", + ":9240", + ":9271", + ":9301", + ":8210", + ":10158", + ":10749", + ":10155", + ":9305", + ":9456", + ":10154", + ":10065", ":8206", - ":9935", - ":9283", - ":9280", - ":8208", + ":8209", + ":8205", + ":8658", ":8204", - ":8210", + ":10139", + ":10156", + ":8535", ":8203", + ":8208", ":8202", - ":8205", + ":9299", + ":9436", + ":8207", + ":9292", + ":9260", ":8201", - ":9669", + ":9272", + ":9281", + ":10157", + ":10255", ":9268#out:1", ":8469#out:2", ":8215#out:1", ":8214#out:1", ":9290#out:1", - ":8208#out:1", ":9251#out:1", ":9260#out:1", - ":9294#out:1", ":8220#out:5", ":9242#out:1", - ":9297#out:1", ":9258#out:1", ":9291#out:1", ":9249#out:1", @@ -150,7 +173,6 @@ ":9240#out:1", ":8210#out:1", ":9244#out:1", - ":8207#out:1", ":9245#out:1", ":9241#out:1", ":9267#out:1", @@ -165,7 +187,6 @@ ":8658#out:3", ":8217#out:1", ":9198#out:3", - ":9295#out:1", ":8205#out:1", ":8220#out:8", ":8469#out:1", @@ -186,8 +207,6 @@ ":8209#out:1", ":9198#out:4", ":9448#out:1", - ":8203#out:1", - ":9669#out:1", ":9263#out:1", ":9262#out:1", ":9720#out:1", @@ -200,7 +219,35 @@ ":10025#out:1", ":10026#out:1", ":10027#out:1", - ":8535#out:2" + ":8535#out:2", + ":8203#out:1", + ":10065#out:1", + ":10155#out:1", + ":10154#out:1", + ":10064#out:1", + ":10157#out:1", + ":10164#out:3", + ":10164#out:2", + ":10164#out:1", + ":9297#out:1", + ":10191#out:1", + ":10255#out:1", + ":10258#out:1", + ":10257#out:1", + ":10356#out:1", + ":10355#out:1", + ":10066#out:1", + ":10159#out:1", + ":10160#out:1", + ":10161#out:1", + ":10139#out:1", + ":10156#out:1", + ":10259#out:1", + ":10692#out:1", + ":8207#out:1", + ":10749#out:1", + ":10751#out:1", + ":8208#out:1" ], "sameAsElement":true }, @@ -252,34 +299,34 @@ ":8464", ":8426", ":8428", + ":8467", ":8468", + ":9933", ":9433", - ":8467", - ":8466", + ":8463", + ":8460", ":8458", - ":8462", ":9432", - ":8450", ":8449", + ":8461", + ":9431", ":8437", + ":8435", ":8432", ":8430", ":8427", - ":8435", - ":8463", + ":8434", ":8436", ":8384", - ":8434", - ":9932", - ":8461", + ":8431", ":8429", - ":8460", - ":8457", - ":9431", ":8446", ":8451", - ":8431", - ":9933", + ":8466", + ":8457", + ":8450", + ":8462", + ":9932", ":8462#out:1", ":8440#out:1", ":8439#out:1", @@ -342,9 +389,9 @@ ":8227", ":8228", ":8234", - ":8231", - ":8232", ":8233", + ":8232", + ":8231", ":9634", ":8226#out:1", ":8228#out:1", @@ -420,8 +467,8 @@ ":8251", ":8252", ":8262", - ":8260", ":8259", + ":8260", ":8249", ":8259#out:1", ":8255#out:1", @@ -471,57 +518,57 @@ ":8290", ":8266", ":8296", + ":8379", + ":9430", ":8378", - ":8377", - ":8376", - ":8374", ":8373", ":9429", ":8372", - ":8369", + ":8371", + ":8370", + ":8377", + ":9428", ":8366", - ":9430", + ":8369", + ":8312", ":8311", - ":9427", + ":8306", ":8305", - ":8313", - ":8300", - ":8370", - ":8297", - ":8312", + ":8374", + ":8301", + ":8299", + ":8298", + ":9425", ":8294", - ":8289", - ":8284", ":8308", - ":9477", + ":8291", + ":8289", + ":8293", + ":9427", ":8285", - ":9428", + ":8300", + ":8284", + ":8283", + ":8376", ":8282", - ":8301", ":8303", - ":8281", - ":8283", - ":9425", - ":8293", - ":8306", - ":8286", - ":8314", - ":8379", - ":8270", - ":8275", - ":9426", - ":8268", ":8280", - ":8371", - ":8291", - ":8276", + ":8286", ":8292", - ":8267", - ":8272", - ":8299", + ":8313", ":8278", - ":8298", ":8277", + ":8276", + ":9426", + ":8275", + ":8281", + ":8270", + ":8272", + ":8314", + ":8267", + ":9477", + ":8268", + ":8297", ":8310", ":8309", ":8293#out:1", @@ -592,12 +639,12 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8272_d.json", "elements":[ ":8272:2418", - ":8272:2515", ":8272:2416", - ":8272:2414", - ":8272:2413", ":8272:2415", + ":8272:2413", + ":8272:2414", ":8272:2412", + ":8272:2515", ":8272:2515#out:1", ":8272:2415#out:1", ":8272:2413#out:1", @@ -656,51 +703,51 @@ ":8363", ":8364", ":8365", - ":8359", ":8357", - ":8354", - ":8352", - ":8350", ":8348", - ":8360", - ":8346", ":8347", - ":8349", - ":8345", - ":8344", + ":8351", + ":8352", + ":8359", ":8342", + ":8349", ":8341", - ":8351", ":8340", ":8339", - ":8358", - ":8356", - ":8333", + ":8338", + ":8336", ":8332", ":8331", + ":8350", + ":8330", + ":8329", ":8328", - ":8327", ":8325", - ":8324", - ":8330", - ":8334", - ":8355", + ":8358", + ":8344", ":8323", - ":8335", + ":8337", + ":8360", + ":8333", + ":8334", ":8321", - ":8319", - ":8326", + ":8322", ":8320", + ":8326", + ":8319", + ":8355", + ":8335", + ":8356", + ":8318", + ":8346", + ":8354", ":8353", - ":8336", - ":8329", - ":8338", ":8317", - ":8322", - ":8318", - ":8337", + ":8327", ":8316", + ":8324", ":8315", + ":8345", ":8343", ":8315#out:1", ":8316#out:1", @@ -777,27 +824,27 @@ ":8416", ":8391", ":8420", + ":8418", ":8417", - ":9664", ":9660", - ":8410", + ":8412", ":8404", - ":8421", - ":8405", ":8400", - ":8412", + ":8405", ":8398", ":8397", - ":8396", + ":9664", ":8395", ":8394", ":8403", + ":8421", ":8393", - ":8411", ":8392", - ":8418", - ":8389", ":9665", + ":8389", + ":8396", + ":8410", + ":8411", ":8385#out:1", ":8386#out:1", ":8399#out:1", @@ -860,49 +907,49 @@ ":8526", ":8499", ":8497", - ":8521", - ":8520", - ":8519", + ":8527", + ":8515", ":9398", - ":9404", + ":8514", ":8510", - ":8515", ":8509", - ":8527", - ":8517", - ":8514", - ":9406", - ":8504", + ":8521", + ":9404", + ":9395", + ":8524", + ":8508", ":9397", ":8525", - ":8493", + ":9405", ":8491", - ":9402", + ":8494", + ":9407", + ":9408", + ":8487", + ":8486", + ":8484", ":9400", - ":8500", - ":9395", ":8483", + ":8503", + ":8504", + ":8500", ":8482", - ":9412", - ":8486", + ":8492", + ":9402", ":8479", - ":9407", - ":9405", - ":8524", - ":9403", - ":9410", - ":8484", - ":8474", + ":8519", ":8478", - ":8487", + ":9406", + ":8520", + ":9403", + ":9412", ":9396", - ":8480", - ":8494", - ":8503", ":9394", - ":8492", - ":8508", - ":9408", + ":8493", + ":8517", + ":8480", + ":9410", + ":8474", ":9401", ":8497#out:1", ":8470#out:1", @@ -964,39 +1011,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:2496", + ":8486:2507", ":8486:2509", - ":8486:2473", - ":8486:2472", - ":8486:2466", - ":8486:2464", + ":8486:2467", + ":8486:2465", ":8486:2463", ":8486:2461", - ":8486:2507", - ":8486:2496", - ":8486:2457", - ":8486:2454", - ":8486:2453", + ":8486:2459", + ":8486:2464", ":8486:2452", + ":8486:2458", + ":8486:2454", + ":8486:2451", ":8486:2449", + ":8486:2466", + ":8486:2448", ":8486:2456", - ":8486:2450", - ":8486:2458", - ":8486:2462", ":8486:2428", - ":8486:2448", - ":8486:2465", + ":8486:2473", + ":8486:2457", + ":8486:2472", ":8486:2460", - ":8486:2451", - ":8486:2422", - ":8486:2459", ":8486:2423", - ":8486:2421", - ":8486:2467", + ":8486:2422", ":8486:2455", + ":8486:2421", + ":8486:2453", + ":8486:2450", ":8486:2420", + ":8486:2462", + ":8486:2468", ":8486:2471", ":8486:2470", - ":8486:2468", ":8486:2469", ":8486:2507#out:1", ":8486:2422#out:1", @@ -1046,9 +1093,9 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2423_d.json", "elements":[ ":8486:2427", + ":8486:2426", ":8486:2425", ":8486:2424", - ":8486:2426", ":8486:2424#out:1" ], "sameAsElement":true @@ -1069,25 +1116,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:2446", ":8486:2447", ":8486:2445", - ":8486:2444", ":8486:2443", - ":8486:2442", - ":8486:2440", - ":8486:2439", + ":8486:2446", ":8486:2441", + ":8486:2439", + ":8486:2436", + ":8486:2440", ":8486:2435", - ":8486:2434", - ":8486:2438", - ":8486:2433", + ":8486:2444", + ":8486:2442", ":8486:2432", - ":8486:2437", ":8486:2431", - ":8486:2436", - ":8486:2430", + ":8486:2437", + ":8486:2433", + ":8486:2438", ":8486:2429", + ":8486:2430", + ":8486:2434", ":8486:2438#out:1", ":8486:2429#out:1", ":8486:2430#out:1", @@ -1120,12 +1167,12 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2435_d.json", "elements":[ - ":8486:2435:2515", - ":8486:2435:2416", ":8486:2435:2418", + ":8486:2435:2515", ":8486:2435:2415", ":8486:2435:2414", ":8486:2435:2413", + ":8486:2435:2416", ":8486:2435:2412", ":8486:2435:2515#out:1", ":8486:2435:2415#out:1", @@ -1181,25 +1228,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:2489", - ":8486:2488", ":8486:2486", ":8486:2485", - ":8486:2484", - ":8486:2483", - ":8486:2481", - ":8486:2480", + ":8486:2492", ":8486:2482", + ":8486:2487", + ":8486:2480", ":8486:2479", - ":8486:2476", + ":8486:2478", ":8486:2477", - ":8486:2487", ":8486:2490", + ":8486:2481", + ":8486:2483", + ":8486:2476", + ":8486:2488", ":8486:2475", - ":8486:2478", ":8486:2474", + ":8486:2491", + ":8486:2484", ":8486:2480#out:1", ":8486:2491#out:1", ":8486:2481#out:1", @@ -1232,13 +1279,13 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8486_2480_d.json", "elements":[ - ":8486:2480:2515", ":8486:2480:2418", ":8486:2480:2416", + ":8486:2480:2415", ":8486:2480:2414", ":8486:2480:2413", + ":8486:2480:2515", ":8486:2480:2412", - ":8486:2480:2415", ":8486:2480:2515#out:1", ":8486:2480:2415#out:1", ":8486:2480:2413#out:1", @@ -1347,47 +1394,48 @@ "elements":[ ":8655", ":8634", + ":10029", ":8654", - ":8650", + ":8651", ":9423", - ":8642", - ":10023", + ":10024", + ":8647", + ":8645", ":10019", + ":8640", ":8639", - ":10020", - ":8636", - ":8643", + ":10017", + ":8633", ":8632", + ":10028", + ":8643", ":9996", - ":9995", ":8630", - ":8645", - ":8625", + ":10023", + ":9424", + ":9997", ":8624", - ":8651", - ":9994", - ":10017", - ":8647", - ":8635", + ":8636", + ":9995", + ":9953", + ":8603", + ":8642", ":8546", - ":10018", ":10022", - ":8603", - ":10028", - ":9997", + ":10018", + ":8650", ":8539", - ":9424", - ":8633", - ":10021", - ":8640", - ":8646", - ":9953", ":8628", - ":10024", - ":8536", + ":10256", + ":10021", ":8537", - ":10029", + ":9994", + ":10020", ":9422", + ":8625", + ":8536", + ":8635", + ":8646", ":8634#out:1", ":8537#out:1", ":8625#out:1", @@ -1439,57 +1487,57 @@ ":8601", ":8602", ":8600", - ":8599", ":8598", ":8595", - ":8591", - ":8594", - ":8587", - ":8584", - ":8581", - ":8580", - ":8582", ":8592", - ":8585", ":8590", - ":8572", + ":8586", + ":8585", + ":8584", + ":8589", + ":8580", + ":8593", + ":8591", ":8571", - ":8570", + ":8581", + ":8568", + ":8573", + ":8564", ":8566", - ":8565", - ":8593", + ":8583", ":8569", - ":8564", - ":8597", + ":8561", + ":8599", + ":8582", ":8563", - ":8562", - ":9419", + ":8572", ":8560", + ":8559", ":8558", - ":8561", + ":8587", + ":8570", ":8556", - ":8589", - ":8552", ":8554", + ":8562", ":8553", - ":8549", - ":8583", + ":8565", ":8551", + ":9419", + ":9421", + ":8549", + ":8548", ":8555", - ":8568", ":9420", - ":8573", - ":8548", - ":8559", - ":9421", - ":8586", ":8547", - ":8579", - ":8577", + ":8597", + ":8594", + ":8552", ":8576", + ":8577", ":8578", - ":8575", ":8574", + ":8579", + ":8575", ":8587#out:1", ":8593#out:1", ":8594#out:1", @@ -1551,16 +1599,16 @@ ":8603:28", ":8603:6", ":8603:4", - ":8603:30", ":8603:33", + ":8603:30", ":8603:32", ":8603:12", ":8603:9", ":8603:31", ":8603:1", ":8603:2", - ":8603:13", - ":8603:14" + ":8603:14", + ":8603:13" ], "sameAsElement":false }, @@ -1586,33 +1634,34 @@ ":9993", ":10003", ":9992", + ":10449", ":9937", ":10013", - ":9987", - ":9986", - ":9983", - ":10004", - ":9982", - ":10014", - ":10002", + ":9999", ":9981", - ":10015", + ":10004", + ":9985", ":9980", ":9979", + ":10002", + ":9978", + ":9982", + ":9986", ":9977", + ":10005", ":10000", - ":9978", - ":9957", ":9984", - ":10007", - ":9999", + ":10014", + ":9983", + ":10015", ":10016", ":9988", ":9956", - ":10005", - ":9955", - ":9985", + ":10007", + ":9987", ":9998", + ":9955", + ":9957", ":9954", ":9957#out:1", ":9980#out:1", @@ -1636,7 +1685,8 @@ ":10013#out:1", ":10015#out:1", ":10002#out:2", - ":10016#out:1" + ":10016#out:1", + ":10449#out:1" ], "sameAsElement":true }, @@ -1699,25 +1749,25 @@ "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9957_d.json", "elements":[ + ":9973", + ":9975", ":9976", ":9972", - ":9971", - ":9974", - ":9969", + ":9968", + ":9967", ":9966", - ":9975", - ":9962", - ":9963", - ":9973", + ":9965", + ":9970", + ":9964", + ":9969", + ":9971", ":9961", ":9960", - ":9964", - ":9965", ":9959", - ":9967", - ":9968", - ":9970", ":9958", + ":9962", + ":9963", + ":9974", ":9958#out:1", ":9963#out:1", ":9959#out:1", @@ -1753,19 +1803,19 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9937_d.json", "elements":[ ":9952", - ":9951", ":9950", ":9949", - ":10006", - ":9945", - ":9943", ":9947", - ":9942", + ":9948", ":9944", + ":10006", ":9941", + ":9943", + ":9945", ":9940", - ":9948", + ":9942", ":9939", + ":9951", ":9938", ":9938#out:1", ":9940#out:1", @@ -1798,15 +1848,15 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9948_d.json", "elements":[ ":9948:2353", + ":9948:2343", ":9948:2346", - ":9948:2395", + ":9948:2342", ":9948:2358", + ":9948:2395", ":9948:2357", ":9948:2356", ":9948:2355", ":9948:2360", - ":9948:2343", - ":9948:2342", ":9948:2359", ":9948:2356#out:1", ":9948:2342#out:1", @@ -1911,26 +1961,178 @@ }, { "hid":35, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "parent":2, + "children":[ + 36, + 37 + ], + "name":"F04_Field_Weakening", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Weakening", + "label":"F04_Field_Weakening", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10066_d.json", + "elements":[ + ":10523", + ":10522", + ":10521", + ":10518", + ":10517", + ":10519", + ":10516", + ":10513", + ":10512", + ":10511", + ":10509", + ":10506", + ":10504", + ":10503", + ":10502", + ":10500", + ":10514", + ":10499", + ":10507", + ":10498", + ":10497", + ":10493", + ":10494", + ":10492", + ":10491", + ":10495", + ":10489", + ":10496", + ":10490", + ":10510", + ":10488", + ":10505", + ":10487", + ":10508", + ":10501", + ":10486", + ":10520", + ":10515", + ":10514#out:1", + ":10500#out:1", + ":10513#out:1", + ":10517#out:1", + ":10491#out:1", + ":10506#out:1", + ":10498#out:1", + ":10488#out:1", + ":10493#out:1", + ":10507#out:1", + ":10516#out:1", + ":10492#out:1", + ":10512#out:1", + ":10496#out:1", + ":10511#out:1", + ":10515#out:1", + ":10499#out:1", + ":10508#out:1", + ":10494#out:1", + ":10510#out:1", + ":10490#out:1", + ":10486#out:1", + ":10487#out:1", + ":10518#out:1", + ":10519#out:1", + ":10495#out:1", + ":10509#out:1", + ":10497#out:1" + ], + "sameAsElement":true + }, + { + "hid":36, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10507", + "parent":35, + "children":[ + ], + "name":"Saturation Dynamic", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Weakening/Saturation Dynamic", + "label":"Saturation Dynamic", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10507_d.json", + "elements":[ + ":10507:10", + ":10507:9", + ":10507:8", + ":10507:7", + ":10507:6", + ":10507:5", + ":10507:4", + ":10507:3", + ":10507:2", + ":10507:1", + ":10507:1#out:1", + ":10507:2#out:1", + ":10507:3#out:1", + ":10507:7#out:1", + ":10507:8#out:1", + ":10507:6#out:1", + ":10507:9#out:1" + ], + "sameAsElement":true + }, + { + "hid":37, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10508", + "parent":35, + "children":[ + ], + "name":"Saturation Dynamic1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Weakening/Saturation Dynamic1", + "label":"Saturation Dynamic1", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10508_d.json", + "elements":[ + ":10508:10", + ":10508:9", + ":10508:8", + ":10508:7", + ":10508:6", + ":10508:5", + ":10508:4", + ":10508:3", + ":10508:2", + ":10508:1", + ":10508:1#out:1", + ":10508:2#out:1", + ":10508:3#out:1", + ":10508:7#out:1", + ":10508:8#out:1", + ":10508:6#out:1", + ":10508:9#out:1" + ], + "sameAsElement":true + }, + { + "hid":38, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "parent":2, "children":[ - 36, 39, - 41, 42, - 43, 44, - 49, - 50, - 51, - 56, - 62, - 68 - ], - "name":"F04_Field_Oriented_Control", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control", - "label":"F04_Field_Oriented_Control", + 65, + 66, + 67, + 81, + 82 + ], + "name":"F05_Field_Oriented_Control", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control", + "label":"F05_Field_Oriented_Control", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8658_d.png", @@ -1951,125 +2153,126 @@ ":9024", ":9071", ":9025", - ":9196", + ":9197", + ":10173", + ":8743", + ":9073", ":9195", - ":9171", - ":9143", - ":9108", - ":9074", - ":9028", - ":9027", - ":8862", - ":8856", ":9072", + ":9045", + ":9027", ":9023", - ":8850", + ":9196", + ":8913", + ":10363", + ":9713", + ":8864", + ":8861", + ":8858", ":8849", - ":8846", - ":8845", - ":8842", - ":8830", - ":8826", - ":9655", - ":8825", - ":8823", - ":8815", - ":8812", - ":8811", - ":8809", + ":8848", + ":8844", + ":10703", + ":10171", + ":8850", + ":8838", + ":8837", + ":10360", + ":10687", + ":10686", ":8843", - ":8861", + ":10448", + ":10172", + ":10359", + ":10394", + ":10428", + ":8862", + ":10438", + ":8817", + ":10433", + ":8811", + ":8810", + ":10395", + ":10440", + ":10431", ":8807", - ":8824", - ":8801", - ":8800", - ":8814", - ":8806", - ":8799", - ":8798", - ":8792", - ":8791", - ":8790", + ":10362", + ":10743", + ":10439", + ":10728", + ":10726", + ":10444", ":8796", + ":10707", + ":10445", + ":8798", + ":10697", ":8788", - ":8857", - ":9715", - ":8786", - ":8864", - ":8784", + ":8795", + ":8783", ":8782", - ":8813", - ":8852", ":8781", - ":8780", - ":8832", - ":8779", - ":8863", - ":8808", - ":8804", - ":9718", - ":8831", + ":10446", ":8776", - ":9029", - ":8817", ":8775", - ":8774", - ":8810", - ":8837", - ":8773", - ":8795", - ":8797", - ":8818", - ":8793", - ":8841", - ":8783", + ":10436", + ":8772", + ":10430", + ":10698", + ":10701", + ":10432", + ":9028", + ":8790", + ":10174", + ":8815", ":8853", - ":9713", - ":10030", - ":8844", - ":9045", - ":8838", - ":9197", - ":8912", + ":8863", + ":10434", + ":10729", + ":10437", + ":8797", + ":8668", ":8726", - ":9073", + ":10702", + ":9026", + ":10688", ":8667", - ":8771", - ":8794", - ":8802", - ":8777", - ":8913", - ":8766", - ":8858", + ":8842", + ":8851", + ":10689", + ":8826", + ":8664", + ":10441", ":8663", - ":8662", - ":8816", + ":10364", + ":8856", + ":8768", + ":8784", + ":10691", ":9716", - ":8848", - ":8803", - ":8668", - ":8851", - ":8787", + ":10429", + ":10365", + ":10358", + ":10393", + ":9718", + ":10447", + ":8662", + ":8845", ":8661", - ":8765", - ":8770", - ":8768", - ":8834", - ":8664", - ":8819", - ":8860", - ":9109", - ":8839", - ":8772", - ":8820", - ":8847", + ":10435", + ":10719", ":9717", - ":8785", + ":8846", ":8660", + ":8839", + ":10357", + ":8794", ":8659", - ":8789", - ":8743", - ":9026", + ":8825", + ":8857", + ":8786", + ":8806", + ":8787", ":8827#out:1", ":8886#out:1", ":8886#out:2", @@ -2104,132 +2307,127 @@ ":8726#out:1", ":8726#out:2", ":8815#out:1", - ":8766#out:1", - ":8770#out:1", ":8659#out:1", ":8794#out:1", ":8660#out:1", ":8662#out:1", ":8790#out:1", - ":8779#out:1", - ":9029#out:1", - ":9109#out:1", - ":9074#out:1", - ":9171#out:1", - ":8765#out:1", - ":8773#out:1", - ":8777#out:1", - ":8774#out:1", - ":8780#out:1", - ":8789#out:1", - ":8791#out:1", - ":8799#out:1", - ":8793#out:1", - ":8792#out:1", - ":8800#out:1", - ":9108#out:1", - ":9108#out:2", - ":9108#out:3", - ":9108#out:4", - ":8801#out:1", - ":8802#out:1", - ":8803#out:1", - ":8804#out:1", ":8806#out:1", - ":8912#out:1", ":8913#out:3", ":8913#out:4", ":8776#out:1", ":8807#out:1", ":8913#out:2", ":8913#out:1", - ":8808#out:1", - ":8809#out:1", ":8913#out:5", ":8913#out:6", ":8913#out:7", ":8913#out:8", - ":8812#out:1", - ":8813#out:1", - ":8814#out:1", - ":8816#out:1", ":8817#out:1", - ":8913#out:9", - ":8818#out:1", - ":8913#out:10", - ":8819#out:1", - ":8820#out:1", - ":8823#out:1", - ":8824#out:1", + ":8913#out:11", + ":8913#out:12", ":8825#out:1", ":8663#out:1", ":8743#out:1", ":8743#out:2", ":8775#out:1", - ":8743#out:3", - ":8785#out:1", ":8664#out:1", ":9023#out:1", ":9026#out:1", - ":8743#out:4", - ":9143#out:1", - ":9655#out:1", ":8826#out:1", ":8768#out:1", ":9713#out:1", - ":8771#out:1", - ":9715#out:1", ":9716#out:1", ":9718#out:1", - ":10030#out:1" + ":10173#out:1", + ":10174#out:1", + ":10357#out:1", + ":10358#out:1", + ":10363#out:1", + ":10362#out:1", + ":10365#out:1", + ":10393#out:1", + ":10364#out:1", + ":10364#out:2", + ":10430#out:1", + ":10429#out:1", + ":10428#out:1", + ":10431#out:1", + ":10432#out:1", + ":10433#out:1", + ":10434#out:1", + ":10435#out:1", + ":10436#out:1", + ":10437#out:1", + ":10438#out:1", + ":10439#out:1", + ":10440#out:1", + ":10441#out:1", + ":10444#out:1", + ":10445#out:1", + ":10446#out:1", + ":10447#out:1", + ":10689#out:1", + ":10688#out:1", + ":10691#out:1", + ":10697#out:1", + ":10698#out:1", + ":10701#out:1", + ":10702#out:1", + ":10707#out:1", + ":8913#out:9", + ":10726#out:1", + ":8913#out:10", + ":10729#out:1", + ":10743#out:1" ], "sameAsElement":true }, { - "hid":36, + "hid":39, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8668", - "parent":35, + "parent":38, "children":[ - 37, - 38 + 40, + 41 ], "name":"Clarke_Transform", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Clarke_Transform", "label":"Clarke_Transform", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8668_d.json", "elements":[ - ":8725", - ":8724", + ":8723", ":8721", ":8720", - ":8719", - ":8718", ":8722", - ":8716", + ":8718", + ":8719", ":8717", - ":8715", + ":8714", ":8713", - ":8710", ":8712", - ":8708", - ":8707", + ":8715", + ":8711", + ":8706", ":8705", + ":8707", + ":8725", ":8704", + ":8708", ":8703", + ":8702", + ":8716", + ":8724", + ":8671", ":8709", - ":8711", ":8686", - ":8671", + ":8710", ":8670", - ":8706", - ":8714", - ":8702", ":8669", - ":8723", ":8686#out:1", ":8705#out:1", ":8704#out:1", @@ -2255,14 +2453,14 @@ "sameAsElement":true }, { - "hid":37, + "hid":40, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8671", - "parent":36, + "parent":39, "children":[ ], "name":"Clarke_PhasesAB", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesAB", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesAB", "label":"Clarke_PhasesAB", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8671_d.svg", @@ -2271,18 +2469,18 @@ "elements":[ ":8685", ":8683", + ":8682", ":8681", ":8684", - ":8679", - ":8682", ":8680", - ":8675", ":8676", + ":8675", ":8678", ":8674", + ":8679", ":8673", - ":8677", ":8672", + ":8677", ":8673#out:1", ":8672#out:1", ":8675#out:1", @@ -2295,14 +2493,14 @@ "sameAsElement":true }, { - "hid":38, + "hid":41, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8686", - "parent":36, + "parent":39, "children":[ ], "name":"Clarke_PhasesBC", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesBC", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesBC", "label":"Clarke_PhasesBC", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.svg", @@ -2310,20 +2508,20 @@ "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8686_d.json", "elements":[ ":8701", - ":8699", ":8700", - ":8695", + ":8699", ":8698", + ":8697", ":8694", - ":8693", - ":8696", ":8692", ":8691", - ":8697", - ":8690", ":8689", ":8688", + ":8690", + ":8696", ":8687", + ":8695", + ":8693", ":8691#out:1", ":8690#out:1", ":8693#out:1", @@ -2337,38 +2535,38 @@ "sameAsElement":true }, { - "hid":39, + "hid":42, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8726", - "parent":35, + "parent":38, "children":[ - 40 + 43 ], "name":"Current_Filtering", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Current_Filtering", "label":"Current_Filtering", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8726_d.json", "elements":[ - ":8740", - ":8739", - ":8738", - ":8735", + ":8737", ":8734", - ":8742", + ":8738", ":8733", ":8731", - ":8730", - ":8737", + ":8729", + ":8740", + ":8739", ":8736", ":9714", ":8728", - ":8727", ":8732", - ":8729", + ":8742", + ":8735", ":8741", + ":8727", + ":8730", ":8739#out:1", ":8729#out:2", ":8740#out:1", @@ -2384,14 +2582,14 @@ "sameAsElement":true }, { - "hid":40, + "hid":43, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8738", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8738", - "parent":39, + "parent":42, "children":[ ], "name":"Low_Pass_Filter", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering/Low_Pass_Filter", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Current_Filtering/Low_Pass_Filter", "label":"Low_Pass_Filter", "icon":"WebViewIcon9", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8738_d.svg", @@ -2401,12 +2599,12 @@ ":8738:2407", ":8738:2406", ":8738:2405", - ":8738:2403", - ":8738:2401", - ":8738:2400", ":8738:2404", - ":8738:2399", ":8738:2402", + ":8738:2400", + ":8738:2401", + ":8738:2403", + ":8738:2399", ":8738:2399#out:1", ":8738:2404#out:1", ":8738:2401#out:1", @@ -2419,1448 +2617,1969 @@ "sameAsElement":true }, { - "hid":41, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", - "parent":35, - "children":[ - ], - "name":"Field_Weakening", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Field_Weakening", - "label":"Field_Weakening", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json", - "elements":[ - ":8761", - ":8762", - ":8763", - ":8764", - ":8759", - ":8753", - ":8755", - ":8752", - ":9650", - ":8748", - ":9649", - ":9638", - ":9646", - ":8749", - ":8760", - ":9653", - ":8751", - ":9648", - ":9652", - ":9639", - ":9647", - ":9641", - ":9640", - ":9657", - ":9644", - ":8758", - ":8747", - ":9654", - ":8756", - ":8754", - ":8745", - ":9645", - ":9651", - ":9643", - ":8750", - ":8757", - ":8744", - ":9636", - ":8748#out:1", - ":8750#out:1", - ":8753#out:1", - ":8753#out:2", - ":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", - ":9651#out:1", - ":9654#out:1", - ":9657#out:1", - ":9641#out:1", - ":9653#out:1" - ], - "sameAsElement":true - }, - { - "hid":42, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", - "parent":35, + "hid":44, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10364", + "parent":38, "children":[ + 45, + 46, + 51, + 57, + 63 ], - "name":"Inv_Clarke_Transform", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Clarke_Transform", - "label":"Inv_Clarke_Transform", + "name":"FOC", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC", + "label":"FOC", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10364_d.json", "elements":[ - ":8884", - ":8885", - ":8868", - ":8867", - ":8881", - ":8880", - ":8878", - ":8877", - ":8874", - ":8873", - ":8875", - ":8879", - ":8869", - ":8872", - ":8870", - ":8876", - ":8880#out:1", - ":8879#out:1", - ":8872#out:1", - ":8874#out:1", - ":8867#out:1", - ":8868#out:1", - ":8869#out:1", - ":8870#out:1", - ":8876#out:1", - ":8873#out:1", - ":8877#out:1", - ":8878#out:1", - ":8875#out:1" + ":10370", + ":9143", + ":9074", + ":9171", + ":10425", + ":10391", + ":10424", + ":10368", + ":10420", + ":8852", + ":10388", + ":10413", + ":10387", + ":10411", + ":9715", + ":10410", + ":10735", + ":10409", + ":10723", + ":9108", + ":8834", + ":10427", + ":8831", + ":8830", + ":10030", + ":8823", + ":10367", + ":8813", + ":8812", + ":8814", + ":8808", + ":10742", + ":8803", + ":10722", + ":10419", + ":8793", + ":8824", + ":8792", + ":8791", + ":8832", + ":10724", + ":8777", + ":10730", + ":8774", + ":8771", + ":10408", + ":8770", + ":9109", + ":8766", + ":8765", + ":8809", + ":10366", + ":10417", + ":10416", + ":10720", + ":10423", + ":10721", + ":10422", + ":8816", + ":10407", + ":8780", + ":8800", + ":10369", + ":10415", + ":10398", + ":10414", + ":10405", + ":8799", + ":8773", + ":10404", + ":8789", + ":8802", + ":10397", + ":8779", + ":10402", + ":8912", + ":10734", + ":8801", + ":10418", + ":10421", + ":8804", + ":9029", + ":10372", + ":10403", + ":10412", + ":8841", + ":10406", + ":10426", + ":10371", + ":10373", + ":8766#out:1", + ":8770#out:1", + ":8779#out:1", + ":9029#out:1", + ":9109#out:1", + ":9074#out:1", + ":9171#out:1", + ":8765#out:1", + ":8773#out:1", + ":8777#out:1", + ":8774#out:1", + ":8780#out:1", + ":8789#out:1", + ":8791#out:1", + ":8799#out:1", + ":8793#out:1", + ":8792#out:1", + ":8800#out:1", + ":9108#out:1", + ":9108#out:2", + ":9108#out:3", + ":9108#out:4", + ":8801#out:1", + ":8802#out:1", + ":8803#out:1", + ":8804#out:1", + ":8912#out:1", + ":8808#out:1", + ":8809#out:1", + ":8812#out:1", + ":8813#out:1", + ":8814#out:1", + ":8816#out:1", + ":8823#out:1", + ":8824#out:1", + ":9143#out:1", + ":8771#out:1", + ":9715#out:1", + ":10030#out:1", + ":10367#out:1", + ":10369#out:1", + ":10373#out:1", + ":10372#out:1", + ":10371#out:1", + ":10397#out:1", + ":10407#out:1", + ":10406#out:1", + ":10404#out:1", + ":10402#out:1", + ":10403#out:1", + ":10405#out:1", + ":10415#out:1", + ":10414#out:1", + ":10417#out:1", + ":10416#out:1", + ":10423#out:1", + ":10422#out:1", + ":10426#out:1", + ":10720#out:1", + ":10721#out:1", + ":10724#out:1", + ":10730#out:1", + ":10734#out:1", + ":10742#out:1" ], "sameAsElement":true }, { - "hid":43, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", - "parent":35, + "hid":45, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "parent":44, "children":[ ], - "name":"Inv_Park_Transform", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Park_Transform", - "label":"Inv_Park_Transform", + "name":"Open_Mode", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Open_Mode", + "label":"Open_Mode", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json", "elements":[ - ":8911", - ":8888", - ":8910", - ":8887", - ":8909", - ":8889", - ":8890", - ":8908", - ":8907", - ":8906", - ":8905", - ":8903", - ":8901", - ":8899", - ":8897", - ":8895", - ":8904", - ":8896", - ":8894", - ":8892", - ":8893", - ":8900", - ":8891", - ":8902", - ":8898", - ":8889#out:1", - ":8888#out:1", - ":8887#out:1", - ":8890#out:1", - ":8896#out:1", - ":8895#out:1", - ":8902#out:1", - ":8899#out:1", - ":8891#out:1", - ":8897#out:1", - ":8898#out:1", - ":8892#out:1", - ":8893#out:1", - ":8900#out:1", - ":8894#out:1", - ":8901#out:1", - ":8907#out:1", - ":8908#out:1" + ":9044", + ":9031", + ":9043", + ":9030", + ":9030#out:1" ], "sameAsElement":true }, { - "hid":44, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", - "parent":35, + "hid":46, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "parent":44, "children":[ - 45, 47 ], - "name":"Motor_Limitations", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations", - "label":"Motor_Limitations", + "name":"Speed_Mode", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode", + "label":"Speed_Mode", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json", "elements":[ - ":9018", - ":9019", - ":9020", - ":9021", - ":9022", - ":9017", - ":9013", - ":9007", - ":9004", - ":9005", - ":9001", - ":9000", - ":8998", - ":8987", - ":8984", - ":8983", - ":8979", - ":9003", - ":8970", - ":8969", - ":8974", - ":8965", - ":8963", - ":8968", - ":8964", - ":8962", - ":8961", - ":8977", - ":8966", - ":9008", - ":8959", - ":9011", - ":8957", - ":9002", - ":8955", - ":8954", - ":8973", - ":8952", - ":8951", - ":9009", - ":8950", - ":8949", - ":8986", - ":8944", - ":8975", - ":8943", - ":8942", - ":8960", - ":8939", - ":8938", - ":8967", - ":8934", - ":8999", - ":8971", - ":8976", - ":8958", - ":8972", - ":9012", - ":8924", - ":9006", - ":8948", - ":8923", - ":8997", - ":9010", - ":8922", - ":9732", - ":8978", - ":8920", - ":8947", - ":8945", - ":8917", - ":8936", - ":8919", - ":9014", - ":8921", - ":8985", - ":8953", - ":8937", - ":8946", - ":8915", - ":8916", - ":9733", - ":8935", - ":8914", - ":8956", - ":8918", - ":8981", - ":8980", - ":8999#out:1", - ":8947#out:1", - ":8935#out:1", - ":8959#out:1", - ":8997#out:1", - ":8934#out:1", - ":8915#out:1", - ":8916#out:1", - ":8946#out:1", - ":8950#out:1", - ":8957#out:1", - ":8958#out:1", - ":9002#out:1", - ":9733#out:1", - ":8956#out:1", - ":9004#out:1", - ":8953#out:1", - ":8951#out:1", - ":8954#out:1", - ":8955#out:1", - ":8917#out:1", - ":8939#out:1", - ":9005#out:1", - ":8960#out:1", - ":8918#out:1", - ":8944#out:1", - ":8914#out:1", - ":8983#out:1", - ":8948#out:1", - ":8981#out:1", - ":8984#out:1", - ":8920#out:1", - ":8921#out:1", - ":8923#out:1", - ":8922#out:1", - ":8986#out:1", - ":8980#out:1", - ":8949#out:1", - ":8985#out:1", - ":8936#out:1", - ":8938#out:1", - ":8937#out:1", - ":8924#out:1", - ":8945#out:1", - ":8942#out:1", - ":8943#out:1", - ":8987#out:1", - ":8978#out:1", - ":8979#out:1", - ":9000#out:1", - ":8998#out:1", - ":9001#out:1", - ":8919#out:1", - ":8952#out:1", - ":9732#out:1", - ":9003#out:1" + ":9709", + ":9106", + ":9105", + ":9101", + ":9093", + ":9092", + ":9091", + ":9095", + ":9090", + ":9089", + ":9087", + ":10714", + ":9094", + ":9081", + ":10455", + ":9104", + ":9078", + ":9088", + ":9076", + ":9082", + ":9075", + ":9077", + ":9087#out:1", + ":9075#out:1", + ":9076#out:1", + ":9077#out:1", + ":9078#out:1", + ":9081#out:1", + ":9088#out:1", + ":9101#out:1", + ":9105#out:1", + ":9104#out:1", + ":9090#out:1", + ":9089#out:1", + ":10455#out:1", + ":10714#out:1" + ], + "sameAsElement":true + }, + { + "hid":47, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10455", + "parent":46, + "children":[ + 48, + 49, + 50 + ], + "name":"PI_clamp_fixdt", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt", + "label":"PI_clamp_fixdt", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_d.json", + "elements":[ + ":10455:2817", + ":10455:2781", + ":10455:2794", + ":10455:2795", + ":10455:2833", + ":10455:2832", + ":10455:2785", + ":10455:2779", + ":10455:2778", + ":10455:2846", + ":10455:2815", + ":10455:2814", + ":10455:2791", + ":10455:2845", + ":10455:2733", + ":10455:2783", + ":10455:2771", + ":10455:2773", + ":10455:2816", + ":10455:2732", + ":10455:2770", + ":10455:2769", + ":10455:2776", + ":10455:2844", + ":10455:2791#out:2", + ":10455:2846#out:1", + ":10455:2844#out:1", + ":10455:2833#out:1", + ":10455:2832#out:1", + ":10455:2817#out:1", + ":10455:2816#out:1", + ":10455:2814#out:1", + ":10455:2781#out:1", + ":10455:2783#out:1", + ":10455:2815#out:1", + ":10455:2791#out:3", + ":10455:2791#out:1", + ":10455:2733#out:1", + ":10455:2732#out:1", + ":10455:2770#out:1", + ":10455:2779#out:1", + ":10455:2771#out:1", + ":10455:2778#out:1", + ":10455:2776#out:1", + ":10455:2773#out:1", + ":10455:2769#out:1" + ], + "sameAsElement":true + }, + { + "hid":48, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", + "parent":47, + "children":[ + ], + "name":"Clamping_circuit", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt/Clamping_circuit", + "label":"Clamping_circuit", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2816_d.json", + "elements":[ + ":10455:2819", + ":10455:2818", + ":10455:2831", + ":10455:2840", + ":10455:2836", + ":10455:2843", + ":10455:2839", + ":10455:2841", + ":10455:2837", + ":10455:2838", + ":10455:2843#out:1", + ":10455:2838#out:1", + ":10455:2841#out:1", + ":10455:2840#out:1", + ":10455:2836#out:1", + ":10455:2839#out:1", + ":10455:2837#out:1", + ":10455:2819#out:1", + ":10455:2818#out:1" + ], + "sameAsElement":true + }, + { + "hid":49, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", + "parent":47, + "children":[ + ], + "name":"Integrator", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt/Integrator", + "label":"Integrator", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2779_d.json", + "elements":[ + ":10455:2789", + ":10455:2790", + ":10455:2788", + ":10455:2787", + ":10455:2786", + ":10455:2787#out:1", + ":10455:2789#out:1", + ":10455:2788#out:1", + ":10455:2786#out:1" + ], + "sameAsElement":true + }, + { + "hid":50, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", + "parent":47, + "children":[ + ], + "name":"Saturation_hit", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt/Saturation_hit", + "label":"Saturation_hit", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10455_2791_d.json", + "elements":[ + ":10455:2791:2709", + ":10455:2791:2707", + ":10455:2791:2377", + ":10455:2791:2849", + ":10455:2791:2710", + ":10455:2791:2701", + ":10455:2791:2704", + ":10455:2791:2700", + ":10455:2791:2699", + ":10455:2791:2848", + ":10455:2791:2849#out:1", + ":10455:2791:2701#out:1", + ":10455:2791:2704#out:1", + ":10455:2791:2707#out:1", + ":10455:2791:2699#out:1", + ":10455:2791:2700#out:1", + ":10455:2791:2848#out:1" + ], + "sameAsElement":true + }, + { + "hid":51, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "parent":44, + "children":[ + 52, + 56 + ], + "name":"Torque_Mode", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode", + "label":"Torque_Mode", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json", + "elements":[ + ":9141", + ":10831", + ":10834", + ":10829", + ":10844", + ":9131", + ":9130", + ":9127", + ":10841", + ":9126", + ":9125", + ":9138", + ":10840", + ":10821", + ":10820", + ":10819", + ":10836", + ":10846", + ":10822", + ":10838", + ":10823", + ":10845", + ":9139", + ":9115", + ":9114", + ":9129", + ":10843", + ":10842", + ":9111", + ":9113", + ":10828", + ":9117", + ":9110", + ":9128", + ":9112", + ":9116", + ":9111#out:1", + ":9110#out:1", + ":9112#out:1", + ":9113#out:1", + ":9115#out:1", + ":9114#out:1", + ":9116#out:1", + ":10834#out:1", + ":10829#out:1", + ":10820#out:1", + ":10821#out:1", + ":10831#out:1", + ":10819#out:1", + ":10828#out:1", + ":10836#out:1", + ":10838#out:1", + ":10840#out:1", + ":10823#out:1", + ":10822#out:1", + ":10842#out:1", + ":10841#out:1", + ":10845#out:1", + ":10846#out:1", + ":9138#out:1", + ":9139#out:1" + ], + "sameAsElement":true + }, + { + "hid":52, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10828", + "parent":51, + "children":[ + 53, + 54, + 55 + ], + "name":"PI_clamp_fixdt", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt", + "label":"PI_clamp_fixdt", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_d.json", + "elements":[ + ":10828:2785", + ":10828:2817", + ":10828:2814", + ":10828:2781", + ":10828:2779", + ":10828:2795", + ":10828:2791", + ":10828:2846", + ":10828:2833", + ":10828:2776", + ":10828:2845", + ":10828:2816", + ":10828:2773", + ":10828:2733", + ":10828:2732", + ":10828:2794", + ":10828:2771", + ":10828:2815", + ":10828:2783", + ":10828:2769", + ":10828:2778", + ":10828:2832", + ":10828:2770", + ":10828:2844", + ":10828:2791#out:2", + ":10828:2846#out:1", + ":10828:2844#out:1", + ":10828:2833#out:1", + ":10828:2832#out:1", + ":10828:2817#out:1", + ":10828:2816#out:1", + ":10828:2814#out:1", + ":10828:2781#out:1", + ":10828:2783#out:1", + ":10828:2815#out:1", + ":10828:2791#out:3", + ":10828:2791#out:1", + ":10828:2733#out:1", + ":10828:2732#out:1", + ":10828:2770#out:1", + ":10828:2779#out:1", + ":10828:2771#out:1", + ":10828:2778#out:1", + ":10828:2776#out:1", + ":10828:2773#out:1", + ":10828:2769#out:1" ], "sameAsElement":true }, { - "hid":45, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "parent":44, + "hid":53, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", + "parent":52, "children":[ - 46 ], - "name":"Current_Limit_Protection", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection", - "label":"Current_Limit_Protection", + "name":"Clamping_circuit", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt/Clamping_circuit", + "label":"Clamping_circuit", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8924_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2816_d.json", "elements":[ - ":8933", - ":8932", - ":8931", - ":8929", - ":8928", - ":8927", - ":8930", - ":8925", - ":8926", - ":8931#out:1", - ":8925#out:1", - ":8932#out:1", - ":8930#out:1", - ":8926#out:1", - ":8927#out:1", - ":8929#out:1" + ":10828:2819", + ":10828:2818", + ":10828:2831", + ":10828:2837", + ":10828:2841", + ":10828:2836", + ":10828:2840", + ":10828:2839", + ":10828:2843", + ":10828:2838", + ":10828:2843#out:1", + ":10828:2838#out:1", + ":10828:2841#out:1", + ":10828:2840#out:1", + ":10828:2836#out:1", + ":10828:2839#out:1", + ":10828:2837#out:1", + ":10828:2819#out:1", + ":10828:2818#out:1" ], "sameAsElement":true }, { - "hid":46, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", - "parent":45, + "hid":54, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", + "parent":52, "children":[ ], - "name":"Saturation Dynamic", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection/Saturation Dynamic", - "label":"Saturation Dynamic", - "icon":"WebViewIcon3", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8930_d.json", + "name":"Integrator", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt/Integrator", + "label":"Integrator", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2779_d.json", "elements":[ - ":8930:10", - ":8930:9", - ":8930:8", - ":8930:7", - ":8930:6", - ":8930:5", - ":8930:4", - ":8930:3", - ":8930:2", - ":8930:1", - ":8930:1#out:1", - ":8930:2#out:1", - ":8930:3#out:1", - ":8930:7#out:1", - ":8930:8#out:1", - ":8930:6#out:1", - ":8930:9#out:1" + ":10828:2790", + ":10828:2789", + ":10828:2787", + ":10828:2788", + ":10828:2786", + ":10828:2787#out:1", + ":10828:2789#out:1", + ":10828:2788#out:1", + ":10828:2786#out:1" ], "sameAsElement":true }, { - "hid":47, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", - "parent":44, + "hid":55, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", + "parent":52, "children":[ - 48 ], - "name":"Speed_Limit_Protection", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection", - "label":"Speed_Limit_Protection", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8987_d.json", + "name":"Saturation_hit", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt/Saturation_hit", + "label":"Saturation_hit", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10828_2791_d.json", "elements":[ - ":8996", - ":8995", - ":8994", - ":8993", - ":8992", - ":8990", - ":8989", - ":8988", - ":8991", - ":8993#out:1", - ":8990#out:1", - ":8994#out:1", - ":8989#out:1", - ":8995#out:1", - ":8988#out:1", - ":8992#out:1" + ":10828:2791:2710", + ":10828:2791:2377", + ":10828:2791:2709", + ":10828:2791:2707", + ":10828:2791:2849", + ":10828:2791:2704", + ":10828:2791:2700", + ":10828:2791:2848", + ":10828:2791:2701", + ":10828:2791:2699", + ":10828:2791:2849#out:1", + ":10828:2791:2701#out:1", + ":10828:2791:2704#out:1", + ":10828:2791:2707#out:1", + ":10828:2791:2699#out:1", + ":10828:2791:2700#out:1", + ":10828:2791:2848#out:1" ], "sameAsElement":true }, { - "hid":48, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "parent":47, + "hid":56, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "parent":51, "children":[ ], "name":"Saturation Dynamic1", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection/Saturation Dynamic1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/Saturation Dynamic1", "label":"Saturation Dynamic1", "icon":"WebViewIcon3", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8993_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10829_d.json", "elements":[ - ":8993:10", - ":8993:9", - ":8993:8", - ":8993:7", - ":8993:6", - ":8993:5", - ":8993:4", - ":8993:3", - ":8993:2", - ":8993:1", - ":8993:1#out:1", - ":8993:2#out:1", - ":8993:3#out:1", - ":8993:7#out:1", - ":8993:8#out:1", - ":8993:6#out:1", - ":8993:9#out:1" + ":10829:10", + ":10829:9", + ":10829:8", + ":10829:7", + ":10829:6", + ":10829:5", + ":10829:4", + ":10829:3", + ":10829:2", + ":10829:1", + ":10829:1#out:1", + ":10829:2#out:1", + ":10829:3#out:1", + ":10829:7#out:1", + ":10829:8#out:1", + ":10829:6#out:1", + ":10829:9#out:1" ], "sameAsElement":true }, { - "hid":49, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", - "parent":35, + "hid":57, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "parent":44, "children":[ + 58, + 62 ], - "name":"Open_Mode", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode", - "label":"Open_Mode", + "name":"Vd_Calculation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation", + "label":"Vd_Calculation", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9029_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json", "elements":[ - ":9044", - ":9043", - ":9030", - ":9031", - ":9030#out:1" + ":9165", + ":9170", + ":9164", + ":10454", + ":9726", + ":9161", + ":9159", + ":9158", + ":9722", + ":9155", + ":9162", + ":9152", + ":9157", + ":9151", + ":9156", + ":9150", + ":9149", + ":9148", + ":9724", + ":9723", + ":9145", + ":9147", + ":9146", + ":9160", + ":9144", + ":9725", + ":9152#out:1", + ":9151#out:1", + ":9144#out:1", + ":9145#out:1", + ":9147#out:1", + ":9146#out:1", + ":9148#out:1", + ":9149#out:1", + ":9164#out:1", + ":9155#out:1", + ":9156#out:1", + ":9165#out:1", + ":9724#out:1", + ":9722#out:1", + ":9725#out:1", + ":9726#out:1", + ":10454#out:1", + ":9723#out:1" ], "sameAsElement":true }, { - "hid":50, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", - "parent":35, + "hid":58, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10454", + "parent":57, "children":[ + 59, + 60, + 61 ], - "name":"Park_Transform", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Park_Transform", - "label":"Park_Transform", + "name":"PI_clamp_fixdt", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt", + "label":"PI_clamp_fixdt", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_d.json", + "elements":[ + ":10454:2785", + ":10454:2817", + ":10454:2783", + ":10454:2791", + ":10454:2779", + ":10454:2794", + ":10454:2795", + ":10454:2846", + ":10454:2833", + ":10454:2832", + ":10454:2814", + ":10454:2781", + ":10454:2776", + ":10454:2778", + ":10454:2845", + ":10454:2816", + ":10454:2732", + ":10454:2771", + ":10454:2770", + ":10454:2815", + ":10454:2733", + ":10454:2769", + ":10454:2773", + ":10454:2844", + ":10454:2791#out:2", + ":10454:2846#out:1", + ":10454:2844#out:1", + ":10454:2833#out:1", + ":10454:2832#out:1", + ":10454:2817#out:1", + ":10454:2816#out:1", + ":10454:2814#out:1", + ":10454:2781#out:1", + ":10454:2783#out:1", + ":10454:2815#out:1", + ":10454:2791#out:3", + ":10454:2791#out:1", + ":10454:2733#out:1", + ":10454:2732#out:1", + ":10454:2770#out:1", + ":10454:2779#out:1", + ":10454:2771#out:1", + ":10454:2778#out:1", + ":10454:2776#out:1", + ":10454:2773#out:1", + ":10454:2769#out:1" + ], + "sameAsElement":true + }, + { + "hid":59, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", + "parent":58, + "children":[ + ], + "name":"Clamping_circuit", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt/Clamping_circuit", + "label":"Clamping_circuit", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2816_d.json", "elements":[ - ":9070", - ":9047", - ":9068", - ":9046", - ":9069", - ":9048", - ":9049", - ":9067", - ":9066", - ":9064", - ":9063", - ":9062", - ":9061", - ":9059", - ":9058", - ":9054", - ":9056", - ":9053", - ":9052", - ":9051", - ":9055", - ":9050", - ":9060", - ":9057", - ":9065", - ":9048#out:1", - ":9047#out:1", - ":9046#out:1", - ":9049#out:1", - ":9054#out:1", - ":9056#out:1", - ":9053#out:1", - ":9050#out:1", - ":9057#out:1", - ":9055#out:1", - ":9067#out:1", - ":9051#out:1", - ":9058#out:1", - ":9059#out:1", - ":9052#out:1", - ":9060#out:1", - ":9061#out:1", - ":9066#out:1" + ":10454:2819", + ":10454:2818", + ":10454:2831", + ":10454:2839", + ":10454:2837", + ":10454:2840", + ":10454:2836", + ":10454:2841", + ":10454:2843", + ":10454:2838", + ":10454:2843#out:1", + ":10454:2838#out:1", + ":10454:2841#out:1", + ":10454:2840#out:1", + ":10454:2836#out:1", + ":10454:2839#out:1", + ":10454:2837#out:1", + ":10454:2819#out:1", + ":10454:2818#out:1" + ], + "sameAsElement":true + }, + { + "hid":60, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", + "parent":58, + "children":[ + ], + "name":"Integrator", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt/Integrator", + "label":"Integrator", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2779_d.json", + "elements":[ + ":10454:2790", + ":10454:2788", + ":10454:2786", + ":10454:2789", + ":10454:2787", + ":10454:2787#out:1", + ":10454:2789#out:1", + ":10454:2788#out:1", + ":10454:2786#out:1" + ], + "sameAsElement":true + }, + { + "hid":61, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", + "parent":58, + "children":[ + ], + "name":"Saturation_hit", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt/Saturation_hit", + "label":"Saturation_hit", + "icon":"WebViewIcon9", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10454_2791_d.json", + "elements":[ + ":10454:2791:2377", + ":10454:2791:2709", + ":10454:2791:2710", + ":10454:2791:2707", + ":10454:2791:2849", + ":10454:2791:2704", + ":10454:2791:2700", + ":10454:2791:2848", + ":10454:2791:2699", + ":10454:2791:2701", + ":10454:2791:2849#out:1", + ":10454:2791:2701#out:1", + ":10454:2791:2704#out:1", + ":10454:2791:2707#out:1", + ":10454:2791:2699#out:1", + ":10454:2791:2700#out:1", + ":10454:2791:2848#out:1" + ], + "sameAsElement":true + }, + { + "hid":62, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "parent":57, + "children":[ + ], + "name":"Saturation Dynamic", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/Saturation Dynamic", + "label":"Saturation Dynamic", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.json", + "elements":[ + ":9164:10", + ":9164:9", + ":9164:8", + ":9164:7", + ":9164:6", + ":9164:5", + ":9164:4", + ":9164:3", + ":9164:2", + ":9164:1", + ":9164:1#out:1", + ":9164:2#out:1", + ":9164:3#out:1", + ":9164:7#out:1", + ":9164:8#out:1", + ":9164:6#out:1", + ":9164:9#out:1" + ], + "sameAsElement":true + }, + { + "hid":63, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "parent":44, + "children":[ + 64 + ], + "name":"Voltage_Mode", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Voltage_Mode", + "label":"Voltage_Mode", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json", + "elements":[ + ":9191", + ":10740", + ":9188", + ":10737", + ":9189", + ":9185", + ":9183", + ":10733", + ":10731", + ":9181", + ":9179", + ":9186", + ":10725", + ":10732", + ":9175", + ":10741", + ":9184", + ":9173", + ":9174", + ":9176", + ":10736", + ":10738", + ":9172", + ":9187", + ":9177", + ":9172#out:1", + ":9181#out:1", + ":9179#out:1", + ":9173#out:1", + ":9174#out:1", + ":9175#out:1", + ":9176#out:1", + ":9189#out:1", + ":9188#out:1", + ":10731#out:1", + ":10725#out:1", + ":10736#out:1", + ":10738#out:1", + ":10733#out:1", + ":10732#out:1", + ":10741#out:1", + ":10740#out:1" ], "sameAsElement":true }, { - "hid":51, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "parent":35, + "hid":64, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", + "parent":63, "children":[ - 52 ], - "name":"Speed_Mode", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode", - "label":"Speed_Mode", + "name":"Saturation Dynamic1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Voltage_Mode/Saturation Dynamic1", + "label":"Saturation Dynamic1", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.json", + "elements":[ + ":9188:10", + ":9188:9", + ":9188:8", + ":9188:7", + ":9188:6", + ":9188:5", + ":9188:4", + ":9188:3", + ":9188:2", + ":9188:1", + ":9188:1#out:1", + ":9188:2#out:1", + ":9188:3#out:1", + ":9188:7#out:1", + ":9188:8#out:1", + ":9188:6#out:1", + ":9188:9#out:1" + ], + "sameAsElement":true + }, + { + "hid":65, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "parent":38, + "children":[ + ], + "name":"Inv_Clarke_Transform", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Inv_Clarke_Transform", + "label":"Inv_Clarke_Transform", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9074_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8866_d.json", "elements":[ - ":9709", - ":9107", - ":9105", - ":9106", - ":9102", - ":9100", - ":9728", - ":9094", - ":9093", - ":9092", - ":9091", - ":9104", - ":9088", - ":9087", - ":9090", - ":9083", - ":9084", - ":9101", - ":9082", - ":9089", - ":9078", - ":9077", - ":9076", - ":9081", - ":9075", - ":9095", - ":9087#out:1", - ":9075#out:1", - ":9076#out:1", - ":9077#out:1", - ":9078#out:1", - ":9081#out:1", - ":9102#out:1", - ":9084#out:1", - ":9100#out:1", - ":9088#out:1", - ":9105#out:1", - ":9101#out:1", - ":9104#out:1", - ":9090#out:1", - ":9089#out:1", - ":9083#out:1", - ":9728#out:1" + ":8884", + ":8885", + ":8868", + ":8867", + ":8881", + ":8879", + ":8878", + ":8875", + ":8874", + ":8877", + ":8873", + ":8880", + ":8872", + ":8876", + ":8870", + ":8869", + ":8880#out:1", + ":8879#out:1", + ":8872#out:1", + ":8874#out:1", + ":8867#out:1", + ":8868#out:1", + ":8869#out:1", + ":8870#out:1", + ":8876#out:1", + ":8873#out:1", + ":8877#out:1", + ":8878#out:1", + ":8875#out:1" ], "sameAsElement":true }, { - "hid":52, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "parent":51, + "hid":66, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "parent":38, "children":[ - 53, - 54, - 55 ], - "name":"PI_clamp_fixdt_n", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n", - "label":"PI_clamp_fixdt_n", - "icon":"WebViewIcon9", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_d.json", + "name":"Inv_Park_Transform", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Inv_Park_Transform", + "label":"Inv_Park_Transform", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8886_d.json", "elements":[ - ":9728:2785", - ":9728:2815", - ":9728:2817", - ":9728:2814", - ":9728:2781", - ":9728:2846", - ":9728:2833", - ":9728:2832", - ":9728:2779", - ":9728:2816", - ":9728:2773", - ":9728:2845", - ":9728:2791", - ":9728:2771", - ":9728:2732", - ":9728:2770", - ":9728:2778", - ":9728:2733", - ":9728:2776", - ":9728:2783", - ":9728:2794", - ":9728:2769", - ":9728:2795", - ":9728:2844", - ":9728:2791#out:2", - ":9728:2846#out:1", - ":9728:2844#out:1", - ":9728:2833#out:1", - ":9728:2832#out:1", - ":9728:2817#out:1", - ":9728:2816#out:1", - ":9728:2814#out:1", - ":9728:2781#out:1", - ":9728:2783#out:1", - ":9728:2815#out:1", - ":9728:2791#out:3", - ":9728:2791#out:1", - ":9728:2733#out:1", - ":9728:2732#out:1", - ":9728:2770#out:1", - ":9728:2779#out:1", - ":9728:2771#out:1", - ":9728:2778#out:1", - ":9728:2776#out:1", - ":9728:2773#out:1", - ":9728:2769#out:1" + ":8911", + ":8888", + ":8910", + ":8887", + ":8909", + ":8889", + ":8890", + ":8908", + ":8905", + ":8904", + ":8903", + ":8902", + ":8901", + ":8900", + ":8899", + ":8897", + ":8906", + ":8894", + ":8895", + ":8893", + ":8907", + ":8898", + ":8891", + ":8892", + ":8896", + ":8889#out:1", + ":8888#out:1", + ":8887#out:1", + ":8890#out:1", + ":8896#out:1", + ":8895#out:1", + ":8902#out:1", + ":8899#out:1", + ":8891#out:1", + ":8897#out:1", + ":8898#out:1", + ":8892#out:1", + ":8893#out:1", + ":8900#out:1", + ":8894#out:1", + ":8901#out:1", + ":8907#out:1", + ":8908#out:1" ], "sameAsElement":true }, { - "hid":53, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", - "parent":52, + "hid":67, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "parent":38, "children":[ + 68, + 70, + 74 ], - "name":"Clamping_circuit", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Clamping_circuit", - "label":"Clamping_circuit", + "name":"Motor_Limitations", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations", + "label":"Motor_Limitations", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2816_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8913_d.json", "elements":[ - ":9728:2819", - ":9728:2818", - ":9728:2831", - ":9728:2837", - ":9728:2841", - ":9728:2839", - ":9728:2836", - ":9728:2843", - ":9728:2840", - ":9728:2838", - ":9728:2843#out:1", - ":9728:2838#out:1", - ":9728:2841#out:1", - ":9728:2840#out:1", - ":9728:2836#out:1", - ":9728:2839#out:1", - ":9728:2837#out:1", - ":9728:2819#out:1", - ":9728:2818#out:1" + ":9018", + ":9019", + ":9020", + ":9021", + ":9022", + ":9017", + ":9014", + ":10711", + ":9012", + ":9009", + ":10712", + ":9004", + ":9003", + ":8999", + ":9010", + ":8998", + ":8997", + ":10566", + ":9011", + ":8974", + ":8973", + ":8971", + ":10718", + ":10713", + ":8970", + ":10705", + ":9008", + ":10694", + ":8969", + ":8962", + ":8972", + ":8959", + ":10715", + ":8957", + ":8956", + ":8955", + ":8954", + ":8953", + ":8950", + ":10710", + ":10709", + ":10700", + ":10684", + ":10683", + ":8946", + ":8939", + ":10816", + ":10699", + ":8952", + ":8935", + ":8944", + ":8934", + ":10780", + ":9732", + ":10727", + ":10565", + ":9013", + ":8967", + ":8968", + ":9007", + ":10602", + ":10675", + ":8961", + ":9005", + ":9733", + ":10680", + ":8976", + ":10674", + ":10564", + ":9002", + ":8919", + ":10708", + ":8975", + ":10693", + ":9006", + ":10685", + ":8951", + ":10695", + ":8947", + ":8963", + ":10361", + ":10681", + ":8917", + ":8916", + ":8915", + ":10584", + ":10696", + ":8958", + ":10682", + ":10704", + ":8914", + ":8999#out:1", + ":8947#out:1", + ":8935#out:1", + ":8959#out:1", + ":8997#out:1", + ":8934#out:1", + ":8915#out:1", + ":8916#out:1", + ":8946#out:1", + ":8950#out:1", + ":8957#out:1", + ":8958#out:1", + ":9002#out:1", + ":9733#out:1", + ":8956#out:1", + ":9004#out:1", + ":8953#out:1", + ":8951#out:1", + ":8954#out:1", + ":8955#out:1", + ":8917#out:1", + ":8939#out:1", + ":9005#out:1", + ":8944#out:1", + ":8914#out:1", + ":8998#out:1", + ":8919#out:1", + ":8952#out:1", + ":9732#out:1", + ":9003#out:1", + ":10564#out:1", + ":10565#out:1", + ":10565#out:2", + ":10565#out:3", + ":10674#out:1", + ":10675#out:1", + ":10680#out:1", + ":10683#out:1", + ":10682#out:1", + ":10681#out:1", + ":10684#out:1", + ":10685#out:1", + ":10693#out:1", + ":10695#out:1", + ":10699#out:1", + ":10700#out:1", + ":10704#out:1", + ":10708#out:1", + ":10710#out:1", + ":10709#out:1", + ":10584#out:1", + ":10602#out:1", + ":10566#out:1", + ":10566#out:2", + ":10780#out:1", + ":10816#out:1" ], "sameAsElement":true }, { - "hid":54, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", - "parent":52, + "hid":68, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10584", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10584", + "parent":67, "children":[ + 69 ], - "name":"Integrator", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Integrator", - "label":"Integrator", + "name":"Speed_Mode_Protection", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Speed_Mode_Protection", + "label":"Speed_Mode_Protection", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2779_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10584_d.json", "elements":[ - ":9728:2790", - ":9728:2789", - ":9728:2788", - ":9728:2787", - ":9728:2786", - ":9728:2787#out:1", - ":9728:2789#out:1", - ":9728:2788#out:1", - ":9728:2786#out:1" + ":10600", + ":10662", + ":10594", + ":10587", + ":10586", + ":10597", + ":10591", + ":10585", + ":10661", + ":10585#out:1", + ":10594#out:1", + ":10586#out:1", + ":10587#out:1", + ":10662#out:1", + ":10661#out:1", + ":10597#out:1" ], "sameAsElement":true }, { - "hid":55, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", - "parent":52, + "hid":69, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10594", + "parent":68, "children":[ ], - "name":"Saturation_hit", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Saturation_hit", - "label":"Saturation_hit", - "icon":"WebViewIcon9", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9728_2791_d.json", + "name":"Saturation Dynamic", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Speed_Mode_Protection/Saturation Dynamic", + "label":"Saturation Dynamic", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10594_d.json", "elements":[ - ":9728:2791:2710", - ":9728:2791:2377", - ":9728:2791:2709", - ":9728:2791:2707", - ":9728:2791:2848", - ":9728:2791:2700", - ":9728:2791:2704", - ":9728:2791:2701", - ":9728:2791:2699", - ":9728:2791:2849", - ":9728:2791:2849#out:1", - ":9728:2791:2701#out:1", - ":9728:2791:2704#out:1", - ":9728:2791:2707#out:1", - ":9728:2791:2699#out:1", - ":9728:2791:2700#out:1", - ":9728:2791:2848#out:1" + ":10594:10", + ":10594:9", + ":10594:8", + ":10594:7", + ":10594:6", + ":10594:5", + ":10594:4", + ":10594:3", + ":10594:2", + ":10594:1", + ":10594:1#out:1", + ":10594:2#out:1", + ":10594:3#out:1", + ":10594:7#out:1", + ":10594:8#out:1", + ":10594:6#out:1", + ":10594:9#out:1" ], "sameAsElement":true }, { - "hid":56, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", - "parent":35, + "hid":70, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "parent":67, "children":[ - 57, - 61 + 71 ], - "name":"Torque_Mode", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode", - "label":"Torque_Mode", + "name":"Torque_Mode_Protection", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection", + "label":"Torque_Mode_Protection", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9109_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10602_d.json", "elements":[ - ":9141", - ":9139", - ":9136", - ":9134", - ":9133", - ":9729", - ":9131", - ":9130", - ":9126", - ":9128", - ":9121", - ":9119", - ":9120", - ":9118", - ":9116", - ":9117", - ":9115", - ":9127", - ":9123", - ":9113", - ":9114", - ":9112", - ":9135", - ":9111", - ":9125", - ":9124", - ":9129", - ":9110", - ":9138", - ":9140", - ":9740", - ":9118#out:1", - ":9111#out:1", - ":9110#out:1", - ":9112#out:1", - ":9113#out:1", - ":9115#out:1", - ":9114#out:1", - ":9120#out:1", - ":9119#out:1", - ":9116#out:1", - ":9134#out:1", - ":9133#out:1", - ":9124#out:1", - ":9123#out:1", - ":9139#out:1", - ":9138#out:1", - ":9135#out:1", - ":9729#out:1", - ":9140#out:1", - ":9740#out:1", - ":9121#out:1", - ":9136#out:1" + ":10811", + ":10619", + ":10809", + ":10810", + ":10777", + ":10776", + ":10815", + ":10804", + ":10805", + ":10808", + ":10812", + ":10609", + ":10814", + ":10803", + ":10774", + ":10607", + ":10774#out:1", + ":10607#out:1", + ":10809#out:1", + ":10805#out:1", + ":10803#out:1", + ":10804#out:1", + ":10811#out:1", + ":10810#out:1", + ":10812#out:1", + ":10808#out:1", + ":10814#out:1" ], "sameAsElement":true }, { - "hid":57, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", - "parent":56, + "hid":71, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "parent":70, "children":[ - 58, - 59, - 60 + 72, + 73 ], - "name":"PI_clamp_fixdt_iq", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq", - "label":"PI_clamp_fixdt_iq", - "icon":"WebViewIcon9", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_d.json", + "name":"I_backCalc_fixdt", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection/I_backCalc_fixdt", + "label":"I_backCalc_fixdt", + "icon":"WebViewIcon4", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_d.json", "elements":[ - ":9729:2817", - ":9729:2814", - ":9729:2815", - ":9729:2779", - ":9729:2783", - ":9729:2845", - ":9729:2794", - ":9729:2833", - ":9729:2781", - ":9729:2832", - ":9729:2776", - ":9729:2773", - ":9729:2733", - ":9729:2732", - ":9729:2791", - ":9729:2785", - ":9729:2771", - ":9729:2778", - ":9729:2770", - ":9729:2795", - ":9729:2769", - ":9729:2816", - ":9729:2846", - ":9729:2844", - ":9729:2791#out:2", - ":9729:2846#out:1", - ":9729:2844#out:1", - ":9729:2833#out:1", - ":9729:2832#out:1", - ":9729:2817#out:1", - ":9729:2816#out:1", - ":9729:2814#out:1", - ":9729:2781#out:1", - ":9729:2783#out:1", - ":9729:2815#out:1", - ":9729:2791#out:3", - ":9729:2791#out:1", - ":9729:2733#out:1", - ":9729:2732#out:1", - ":9729:2770#out:1", - ":9729:2779#out:1", - ":9729:2771#out:1", - ":9729:2778#out:1", - ":9729:2776#out:1", - ":9729:2773#out:1", - ":9729:2769#out:1" + ":10808:2892", + ":10808:2877", + ":10808:2895", + ":10808:2891", + ":10808:2889", + ":10808:2855", + ":10808:2894", + ":10808:2854", + ":10808:2893", + ":10808:2890", + ":10808:2851", + ":10808:2869", + ":10808:2853", + ":10808:2892#out:1", + ":10808:2869#out:1", + ":10808:2890#out:1", + ":10808:2893#out:1", + ":10808:2891#out:1", + ":10808:2894#out:1", + ":10808:2877#out:1", + ":10808:2895#out:1", + ":10808:2851#out:1", + ":10808:2853#out:1", + ":10808:2854#out:1", + ":10808:2855#out:1" ], "sameAsElement":true }, { - "hid":58, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", - "parent":57, + "hid":72, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "parent":71, "children":[ ], - "name":"Clamping_circuit", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Clamping_circuit", - "label":"Clamping_circuit", + "name":"Integrator", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection/I_backCalc_fixdt/Integrator", + "label":"Integrator", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2816_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2877_d.json", "elements":[ - ":9729:2819", - ":9729:2818", - ":9729:2831", - ":9729:2837", - ":9729:2841", - ":9729:2836", - ":9729:2839", - ":9729:2843", - ":9729:2840", - ":9729:2838", - ":9729:2843#out:1", - ":9729:2838#out:1", - ":9729:2841#out:1", - ":9729:2840#out:1", - ":9729:2836#out:1", - ":9729:2839#out:1", - ":9729:2837#out:1", - ":9729:2819#out:1", - ":9729:2818#out:1" + ":10808:2896", + ":10808:2880", + ":10808:2882", + ":10808:2878", + ":10808:2879", + ":10808:2878#out:1", + ":10808:2880#out:1", + ":10808:2896#out:1", + ":10808:2879#out:1" ], "sameAsElement":true }, { - "hid":59, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", - "parent":57, + "hid":73, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "parent":71, "children":[ ], - "name":"Integrator", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Integrator", - "label":"Integrator", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2779_d.json", + "name":"Saturation Dynamic1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection/I_backCalc_fixdt/Saturation Dynamic1", + "label":"Saturation Dynamic1", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10808_2895_d.json", "elements":[ - ":9729:2790", - ":9729:2789", - ":9729:2787", - ":9729:2788", - ":9729:2786", - ":9729:2787#out:1", - ":9729:2789#out:1", - ":9729:2788#out:1", - ":9729:2786#out:1" + ":10808:2895:10", + ":10808:2895:9", + ":10808:2895:8", + ":10808:2895:7", + ":10808:2895:6", + ":10808:2895:5", + ":10808:2895:4", + ":10808:2895:3", + ":10808:2895:2", + ":10808:2895:1", + ":10808:2895:1#out:1", + ":10808:2895:2#out:1", + ":10808:2895:3#out:1", + ":10808:2895:7#out:1", + ":10808:2895:8#out:1", + ":10808:2895:6#out:1", + ":10808:2895:9#out:1" ], "sameAsElement":true }, { - "hid":60, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", - "parent":57, + "hid":74, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "parent":67, "children":[ + 75, + 78 ], - "name":"Saturation_hit", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Saturation_hit", - "label":"Saturation_hit", - "icon":"WebViewIcon9", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9729_2791_d.json", + "name":"Voltage_Mode_Protection", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection", + "label":"Voltage_Mode_Protection", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10566_d.json", "elements":[ - ":9729:2791:2377", - ":9729:2791:2710", - ":9729:2791:2849", - ":9729:2791:2848", - ":9729:2791:2704", - ":9729:2791:2707", - ":9729:2791:2700", - ":9729:2791:2709", - ":9729:2791:2699", - ":9729:2791:2701", - ":9729:2791:2849#out:1", - ":9729:2791:2701#out:1", - ":9729:2791:2704#out:1", - ":9729:2791:2707#out:1", - ":9729:2791:2699#out:1", - ":9729:2791:2700#out:1", - ":9729:2791:2848#out:1" + ":10583", + ":10575", + ":10653", + ":10574", + ":10640", + ":10658", + ":10649", + ":10634", + ":10625", + ":10642", + ":10656", + ":10630", + ":10655", + ":10627", + ":10745", + ":10659", + ":10643", + ":10641", + ":10629", + ":10673", + ":10651", + ":10672", + ":10570", + ":10568", + ":10746", + ":10633", + ":10567", + ":10576", + ":10657", + ":10632", + ":10577", + ":10568#out:1", + ":10567#out:1", + ":10577#out:1", + ":10576#out:1", + ":10632#out:1", + ":10640#out:1", + ":10641#out:1", + ":10643#out:1", + ":10655#out:1", + ":10656#out:1", + ":10657#out:1", + ":10659#out:1", + ":10633#out:1", + ":10634#out:1", + ":10745#out:1", + ":10574#out:1", + ":10672#out:1", + ":10653#out:1", + ":10651#out:1", + ":10746#out:1", + ":10673#out:1" ], "sameAsElement":true }, { - "hid":61, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", - "parent":56, + "hid":75, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "parent":74, "children":[ + 76, + 77 ], - "name":"Saturation Dynamic", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/Saturation Dynamic", - "label":"Saturation Dynamic", - "icon":"WebViewIcon3", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9133_d.json", + "name":"I_backCalc_fixdt", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt", + "label":"I_backCalc_fixdt", + "icon":"WebViewIcon4", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_d.json", "elements":[ - ":9133:10", - ":9133:9", - ":9133:8", - ":9133:7", - ":9133:6", - ":9133:5", - ":9133:4", - ":9133:3", - ":9133:2", - ":9133:1", - ":9133:1#out:1", - ":9133:2#out:1", - ":9133:3#out:1", - ":9133:7#out:1", - ":9133:8#out:1", - ":9133:6#out:1", - ":9133:9#out:1" + ":10745:2894", + ":10745:2892", + ":10745:2877", + ":10745:2855", + ":10745:2891", + ":10745:2893", + ":10745:2895", + ":10745:2854", + ":10745:2889", + ":10745:2869", + ":10745:2890", + ":10745:2853", + ":10745:2851", + ":10745:2892#out:1", + ":10745:2869#out:1", + ":10745:2890#out:1", + ":10745:2893#out:1", + ":10745:2891#out:1", + ":10745:2894#out:1", + ":10745:2877#out:1", + ":10745:2895#out:1", + ":10745:2851#out:1", + ":10745:2853#out:1", + ":10745:2854#out:1", + ":10745:2855#out:1" ], "sameAsElement":true }, { - "hid":62, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", - "parent":35, + "hid":76, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", + "parent":75, "children":[ - 63, - 67 ], - "name":"Vd_Calculation", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation", - "label":"Vd_Calculation", + "name":"Integrator", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt/Integrator", + "label":"Integrator", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9143_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2877_d.json", "elements":[ - ":9165", - ":9726", - ":9724", - ":9721", - ":9162", - ":9161", - ":9160", - ":9159", - ":9158", - ":9164", - ":9156", - ":9155", - ":9157", - ":9152", - ":9722", - ":9150", - ":9149", - ":9151", - ":9146", - ":9723", - ":9145", - ":9725", - ":9144", - ":9148", - ":9170", - ":9147", - ":9152#out:1", - ":9151#out:1", - ":9144#out:1", - ":9145#out:1", - ":9147#out:1", - ":9146#out:1", - ":9148#out:1", - ":9149#out:1", - ":9164#out:1", - ":9155#out:1", - ":9156#out:1", - ":9723#out:1", - ":9726#out:1", - ":9722#out:1", - ":9724#out:1", - ":9725#out:1", - ":9165#out:1", - ":9721#out:1" + ":10745:2882", + ":10745:2879", + ":10745:2880", + ":10745:2878", + ":10745:2896", + ":10745:2878#out:1", + ":10745:2880#out:1", + ":10745:2896#out:1", + ":10745:2879#out:1" ], "sameAsElement":true }, { - "hid":63, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "parent":62, + "hid":77, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "parent":75, "children":[ - 64, - 65, - 66 ], - "name":"PI_clamp_fixdt_id", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id", - "label":"PI_clamp_fixdt_id", - "icon":"WebViewIcon9", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_d.json", + "name":"Saturation Dynamic1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt/Saturation Dynamic1", + "label":"Saturation Dynamic1", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10745_2895_d.json", "elements":[ - ":9721:2785", - ":9721:2815", - ":9721:2817", - ":9721:2781", - ":9721:2783", - ":9721:2791", - ":9721:2794", - ":9721:2814", - ":9721:2845", - ":9721:2795", - ":9721:2846", - ":9721:2779", - ":9721:2773", - ":9721:2833", - ":9721:2770", - ":9721:2733", - ":9721:2832", - ":9721:2769", - ":9721:2732", - ":9721:2776", - ":9721:2771", - ":9721:2816", - ":9721:2778", - ":9721:2844", - ":9721:2791#out:2", - ":9721:2846#out:1", - ":9721:2844#out:1", - ":9721:2833#out:1", - ":9721:2832#out:1", - ":9721:2817#out:1", - ":9721:2816#out:1", - ":9721:2814#out:1", - ":9721:2781#out:1", - ":9721:2783#out:1", - ":9721:2815#out:1", - ":9721:2791#out:3", - ":9721:2791#out:1", - ":9721:2733#out:1", - ":9721:2732#out:1", - ":9721:2770#out:1", - ":9721:2779#out:1", - ":9721:2771#out:1", - ":9721:2778#out:1", - ":9721:2776#out:1", - ":9721:2773#out:1", - ":9721:2769#out:1" + ":10745:2895:10", + ":10745:2895:9", + ":10745:2895:8", + ":10745:2895:7", + ":10745:2895:6", + ":10745:2895:5", + ":10745:2895:4", + ":10745:2895:3", + ":10745:2895:2", + ":10745:2895:1", + ":10745:2895:1#out:1", + ":10745:2895:2#out:1", + ":10745:2895:3#out:1", + ":10745:2895:7#out:1", + ":10745:2895:8#out:1", + ":10745:2895:6#out:1", + ":10745:2895:9#out:1" ], "sameAsElement":true }, { - "hid":64, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", - "parent":63, + "hid":78, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10746", + "parent":74, "children":[ + 79, + 80 ], - "name":"Clamping_circuit", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Clamping_circuit", - "label":"Clamping_circuit", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2816_d.json", + "name":"I_backCalc_fixdt1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt1", + "label":"I_backCalc_fixdt1", + "icon":"WebViewIcon4", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_d.json", "elements":[ - ":9721:2819", - ":9721:2818", - ":9721:2831", - ":9721:2837", - ":9721:2841", - ":9721:2839", - ":9721:2840", - ":9721:2836", - ":9721:2843", - ":9721:2838", - ":9721:2843#out:1", - ":9721:2838#out:1", - ":9721:2841#out:1", - ":9721:2840#out:1", - ":9721:2836#out:1", - ":9721:2839#out:1", - ":9721:2837#out:1", - ":9721:2819#out:1", - ":9721:2818#out:1" + ":10746:2889", + ":10746:2894", + ":10746:2893", + ":10746:2895", + ":10746:2854", + ":10746:2890", + ":10746:2869", + ":10746:2891", + ":10746:2853", + ":10746:2855", + ":10746:2877", + ":10746:2892", + ":10746:2851", + ":10746:2892#out:1", + ":10746:2869#out:1", + ":10746:2890#out:1", + ":10746:2893#out:1", + ":10746:2891#out:1", + ":10746:2894#out:1", + ":10746:2877#out:1", + ":10746:2895#out:1", + ":10746:2851#out:1", + ":10746:2853#out:1", + ":10746:2854#out:1", + ":10746:2855#out:1" ], "sameAsElement":true }, { - "hid":65, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", - "parent":63, + "hid":79, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "parent":78, "children":[ ], "name":"Integrator", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Integrator", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt1/Integrator", "label":"Integrator", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2779_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2877_d.json", "elements":[ - ":9721:2790", - ":9721:2788", - ":9721:2789", - ":9721:2787", - ":9721:2786", - ":9721:2787#out:1", - ":9721:2789#out:1", - ":9721:2788#out:1", - ":9721:2786#out:1" + ":10746:2882", + ":10746:2896", + ":10746:2880", + ":10746:2879", + ":10746:2878", + ":10746:2878#out:1", + ":10746:2880#out:1", + ":10746:2896#out:1", + ":10746:2879#out:1" ], "sameAsElement":true }, { - "hid":66, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", - "parent":63, + "hid":80, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", + "parent":78, "children":[ ], - "name":"Saturation_hit", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Saturation_hit", - "label":"Saturation_hit", - "icon":"WebViewIcon9", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9721_2791_d.json", + "name":"Saturation Dynamic1", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt1/Saturation Dynamic1", + "label":"Saturation Dynamic1", + "icon":"WebViewIcon3", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10746_2895_d.json", "elements":[ - ":9721:2791:2710", - ":9721:2791:2848", - ":9721:2791:2707", - ":9721:2791:2704", - ":9721:2791:2701", - ":9721:2791:2709", - ":9721:2791:2700", - ":9721:2791:2377", - ":9721:2791:2699", - ":9721:2791:2849", - ":9721:2791:2849#out:1", - ":9721:2791:2701#out:1", - ":9721:2791:2704#out:1", - ":9721:2791:2707#out:1", - ":9721:2791:2699#out:1", - ":9721:2791:2700#out:1", - ":9721:2791:2848#out:1" + ":10746:2895:10", + ":10746:2895:9", + ":10746:2895:8", + ":10746:2895:7", + ":10746:2895:6", + ":10746:2895:5", + ":10746:2895:4", + ":10746:2895:3", + ":10746:2895:2", + ":10746:2895:1", + ":10746:2895:1#out:1", + ":10746:2895:2#out:1", + ":10746:2895:3#out:1", + ":10746:2895:7#out:1", + ":10746:2895:8#out:1", + ":10746:2895:6#out:1", + ":10746:2895:9#out:1" ], "sameAsElement":true }, { - "hid":67, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", - "parent":62, + "hid":81, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "parent":38, "children":[ ], - "name":"Saturation Dynamic", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/Saturation Dynamic", - "label":"Saturation Dynamic", - "icon":"WebViewIcon3", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9164_d.json", + "name":"Park_Transform", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Park_Transform", + "label":"Park_Transform", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9045_d.json", "elements":[ - ":9164:10", - ":9164:9", - ":9164:8", - ":9164:7", - ":9164:6", - ":9164:5", - ":9164:4", - ":9164:3", - ":9164:2", - ":9164:1", - ":9164:1#out:1", - ":9164:2#out:1", - ":9164:3#out:1", - ":9164:7#out:1", - ":9164:8#out:1", - ":9164:6#out:1", - ":9164:9#out:1" + ":9070", + ":9047", + ":9068", + ":9046", + ":9069", + ":9048", + ":9049", + ":9064", + ":9063", + ":9062", + ":9066", + ":9061", + ":9067", + ":9059", + ":9058", + ":9053", + ":9065", + ":9057", + ":9052", + ":9054", + ":9051", + ":9056", + ":9050", + ":9055", + ":9060", + ":9048#out:1", + ":9047#out:1", + ":9046#out:1", + ":9049#out:1", + ":9054#out:1", + ":9056#out:1", + ":9053#out:1", + ":9050#out:1", + ":9057#out:1", + ":9055#out:1", + ":9067#out:1", + ":9051#out:1", + ":9058#out:1", + ":9059#out:1", + ":9052#out:1", + ":9060#out:1", + ":9061#out:1", + ":9066#out:1" ], "sameAsElement":true }, { - "hid":68, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", - "parent":35, + "hid":82, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "parent":38, "children":[ - 69 ], - "name":"Voltage_Mode", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode", - "label":"Voltage_Mode", + "name":"Sine_Cosine_Approximation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Sine_Cosine_Approximation", + "label":"Sine_Cosine_Approximation", "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9171_d.json", - "elements":[ - ":9189", - ":9187", - ":9184", - ":9185", - ":9180", - ":9177", - ":9179", - ":9182", - ":9176", - ":9183", - ":9181", - ":9175", - ":9190", - ":9174", - ":9191", - ":9178", - ":9188", - ":9173", - ":9172", - ":9186", - ":9172#out:1", - ":9181#out:1", - ":9179#out:1", - ":9173#out:1", - ":9174#out:1", - ":9175#out:1", - ":9176#out:1", - ":9190#out:1", - ":9178#out:1", - ":9189#out:1", - ":9182#out:1", - ":9188#out:1", - ":9180#out:1" - ], - "sameAsElement":true - }, - { - "hid":69, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", - "parent":68, - "children":[ - ], - "name":"Saturation Dynamic1", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode/Saturation Dynamic1", - "label":"Saturation Dynamic1", - "icon":"WebViewIcon3", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9188_d.json", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_8743_d.json", "elements":[ - ":9188:10", - ":9188:9", - ":9188:8", - ":9188:7", - ":9188:6", - ":9188:5", - ":9188:4", - ":9188:3", - ":9188:2", - ":9188:1", - ":9188:1#out:1", - ":9188:2#out:1", - ":9188:3#out:1", - ":9188:7#out:1", - ":9188:8#out:1", - ":9188:6#out:1", - ":9188:9#out:1" + ":8762", + ":8764", + ":8757", + ":8755", + ":8754", + ":8748", + ":9646", + ":9643", + ":9640", + ":9639", + ":10676", + ":9644", + ":9645", + ":8758", + ":8744", + ":8748#out:1", + ":10676#out:1", + ":8744#out:1", + ":9640#out:1", + ":9643#out:1", + ":8755#out:1", + ":9645#out:1", + ":8754#out:1" ], "sameAsElement":true }, { - "hid":70, + "hid":83, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "parent":2, "children":[ - 71, - 72, - 75 + 84, + 85, + 86 ], - "name":"F05_Control_Type_Management", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management", - "label":"F05_Control_Type_Management", + "name":"F06_Control_Type_Management", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management", + "label":"F06_Control_Type_Management", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9198_d.png", @@ -3886,48 +4605,48 @@ ":9199", ":9223", ":9455", - ":9840", ":9233", - ":9449", - ":9235", + ":9840", ":9914", - ":9833", - ":9925", + ":9235", + ":9924", ":9227", - ":9225", - ":9926", ":9452", - ":9927", - ":9454", + ":9451", + ":9835", ":9917", + ":9741", ":9929", ":9908", - ":9831", - ":9832", - ":9920", + ":9916", + ":9927", + ":9454", ":9842", - ":9924", + ":9833", + ":9831", ":8216", + ":9214", ":9838", - ":9834", - ":9207", - ":9215", + ":9839", ":9915", - ":9916", - ":9923", + ":9925", + ":9904", + ":9920", + ":9832", ":9922", + ":9834", + ":9449", ":9921", - ":9206", - ":9835", - ":9904", - ":9214", - ":9839", ":9928", + ":9215", + ":9207", + ":9206", + ":9923", ":9201", - ":9741", - ":9451", - ":9836", + ":9926", + ":9225", ":9919", + ":9836", ":9208#out:3", ":9208#out:2", ":9208#out:1", @@ -3980,15 +4699,15 @@ "sameAsElement":true }, { - "hid":71, + "hid":84, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", - "parent":70, + "parent":83, "children":[ ], - "name":"F05_00_COM_Method", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_00_COM_Method", - "label":"F05_00_COM_Method", + "name":"COM_Method", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/COM_Method", + "label":"COM_Method", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9904_d.png", @@ -3996,16 +4715,16 @@ "elements":[ ":9907", ":9906", - ":9236", - ":9912", - ":9453", + ":9911", ":9211", ":9913", + ":9912", + ":9453", + ":9823", ":9209", - ":9911", ":9910", - ":9823", ":9909", + ":9236", ":9209#out:1", ":9211#out:1", ":9236#out:1", @@ -4017,16 +4736,38 @@ "sameAsElement":true }, { - "hid":72, + "hid":85, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "parent":83, + "children":[ + ], + "name":"FOC_Method", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/FOC_Method", + "label":"FOC_Method", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.json", + "elements":[ + ":9902", + ":9847", + ":9843", + ":9843#out:1" + ], + "sameAsElement":true + }, + { + "hid":86, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", - "parent":70, + "parent":83, "children":[ - 73 + 87 ], - "name":"F05_01_SIN_Method", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method", - "label":"F05_01_SIN_Method", + "name":"SIN_Method", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/SIN_Method", + "label":"SIN_Method", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9741_d.png", @@ -4040,33 +4781,31 @@ ":9779", ":9742", ":9743", - ":9828", ":9802", - ":9801", - ":9818", ":9800", - ":9810", ":9799", - ":9819", - ":9804", - ":9803", + ":9810", ":9805", - ":9798", - ":9816", - ":9797", + ":9803", + ":10677", + ":9819", + ":9806", ":9820", + ":9798", ":9795", - ":9806", + ":9818", + ":9801", ":9796", + ":9797", + ":9816", ":9779#out:1", - ":9828#out:1", + ":10677#out:1", ":9743#out:1", ":9795#out:1", ":9798#out:1", ":9797#out:1", ":9796#out:1", ":9803#out:1", - ":9804#out:1", ":9805#out:1", ":9806#out:1", ":9810#out:1", @@ -4080,22 +4819,21 @@ "sameAsElement":true }, { - "hid":73, + "hid":87, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9743", - "parent":72, + "parent":86, "children":[ - 74 + 88 ], - "name":"Phase_Advance_Calculation", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation", - "label":"Phase_Advance_Calculation", + "name":"Final_Phase_Advance_Calculation", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/SIN_Method/Final_Phase_Advance_Calculation", + "label":"Final_Phase_Advance_Calculation", "icon":"WebViewIcon1", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.svg", "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.png", "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9743_d.json", "elements":[ - ":9777", ":9778", ":9745", ":9757", @@ -4105,48 +4843,28 @@ ":9765", ":9752", ":9753", - ":9754", ":9770", - ":9773", - ":9775", ":9751", - ":9744", - ":9761", ":9762", ":9772", ":9769", ":9755", ":9766", ":9756", - ":9759", ":9760", - ":9792", - ":10035", - ":9758", ":9791", - ":9787", + ":10035", + ":10175", ":9794", + ":9758", ":9746", ":9747", - ":9793", - ":9788", - ":9773#out:1", ":9756#out:1", ":9745#out:1", ":9765#out:1", ":9749#out:1", - ":9754#out:1", - ":9775#out:2", - ":9775#out:1", - ":9744#out:1", ":9746#out:1", ":9747#out:1", - ":9791#out:1", - ":9792#out:1", - ":9787#out:1", - ":9788#out:1", - ":9794#out:1", - ":9793#out:1", ":9769#out:1", ":9772#out:1", ":10035#out:1", @@ -4155,19 +4873,22 @@ ":9752#out:1", ":9751#out:1", ":9770#out:1", - ":9753#out:1" + ":9753#out:1", + ":9791#out:1", + ":9794#out:1", + ":10175#out:1" ], "sameAsElement":true }, { - "hid":74, + "hid":88, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", - "parent":73, + "parent":87, "children":[ ], "name":"Modulo_fixdt", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation/Modulo_fixdt", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/SIN_Method/Final_Phase_Advance_Calculation/Modulo_fixdt", "label":"Modulo_fixdt", "icon":"WebViewIcon9", "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10035_d.svg", @@ -4190,29 +4911,7 @@ "sameAsElement":true }, { - "hid":75, - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", - "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", - "parent":70, - "children":[ - ], - "name":"F05_02_FOC_Method", - "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_02_FOC_Method", - "label":"F05_02_FOC_Method", - "icon":"WebViewIcon1", - "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.svg", - "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.png", - "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_9842_d.json", - "elements":[ - ":9902", - ":9847", - ":9843", - ":9843#out:1" - ], - "sameAsElement":true - }, - { - "hid":76, + "hid":89, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9292", "parent":2, @@ -4230,7 +4929,7 @@ "sameAsElement":true }, { - "hid":77, + "hid":90, "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", "esid":"BLDCmotorControl_FOC_R2017b_fixdt:9293", "parent":2, @@ -4246,5 +4945,39 @@ "elements":[ ], "sameAsElement":true + }, + { + "hid":91, + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "esid":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "parent":2, + "children":[ + ], + "name":"Task_Scheduler", + "fullname":"BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/Task_Scheduler", + "label":"Task_Scheduler", + "icon":"WebViewIcon1", + "svg":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.svg", + "thumbnail":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.png", + "backingUrl":"support/slwebview_files/BLDCmotorControl_FOC_R2017b_fixdt_10164_d.json", + "elements":[ + ":10169", + ":10186", + ":10185", + ":10162", + ":10167", + ":10183", + ":10168", + ":10190", + ":10184", + ":10163", + ":10162#out:1", + ":10163#out:1", + ":10183#out:1", + ":10184#out:1", + ":10185#out:1", + ":10190#out:1" + ], + "sameAsElement":true } ] \ No newline at end of file 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 ac77537..bfac113 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 @@ -1685,7 +1685,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -2624,12 +2624,187 @@ "masktype":"Rising edge init" } }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"F04_Field_Weakening", + "label":"F04_Field_Weakening", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10507", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10508", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10066", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F04_Field_Oriented_Control", - "label":"F04_Field_Oriented_Control", + "name":"F05_Field_Oriented_Control", + "label":"F05_Field_Oriented_Control", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -3203,11 +3378,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Field_Weakening", - "label":"Field_Weakening", + "name":"FOC", + "label":"FOC", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -3259,7 +3434,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -3300,12 +3475,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Inv_Clarke_Transform", - "label":"Inv_Clarke_Transform", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "name":"Open_Mode", + "label":"Open_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "ShowPortLabels", @@ -3356,7 +3531,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -3397,12 +3572,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Inv_Park_Transform", - "label":"Inv_Park_Transform", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "name":"Speed_Mode", + "label":"Speed_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "ShowPortLabels", @@ -3453,7 +3628,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -3494,90 +3669,86 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Motor_Limitations", - "label":"Motor_Limitations", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "icon":"WebViewIcon9", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", "inspector":{ "params":[ "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", "MinAlgLoopOccurrences", - "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", + "SystemSampleTime", + "RTWSystemCode", "RTWFcnNameOpts", - "RTWFileName", + "RTWFcnName", "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", + "IsSubsystemVirtual", "Variant", - "VariantControl" + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ "FromPortIcon", - "ReadWrite", "", - "All", - "off", - "on", "", "", - "off", + "ReadWrite", "", - "void_void", - "off", - "off", + "All", "on", - "", - "off", - "", "off", "off", + "-1", + "Reusable function", + "Use subsystem name", "", "Auto", "", - "Auto", - "Inherit from model", + "void_void", + "off", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "Auto", - "-1", + "Inherit from model", + "off", + "off", + "", "", "off", - "" + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "-Other" ], "tabs_idx":[ - 0, - 6 ] }, "viewer":{ @@ -3591,12 +3762,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8924", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2816", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Current_Limit_Protection", - "label":"Current_Limit_Protection", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "name":"Clamping_circuit", + "label":"Clamping_circuit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "ShowPortLabels", @@ -3647,7 +3818,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -3688,51 +3859,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8930", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8924", - "inspector":{ - "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" - ], - "values":[ - "[]", - "[]", - "Inherit: Same as second input", - "off", - "Floor", - "off" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2779", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Limit_Protection", - "label":"Speed_Limit_Protection", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ "ShowPortLabels", @@ -3783,7 +3915,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -3824,28 +3956,82 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8993", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8987", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10455:2791", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon9", + "name":"Saturation_hit", + "label":"Saturation_hit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10455", "inspector":{ "params":[ - "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", "off", - "Floor", - "off" + "off", + "off", + "-1", + "Auto", + "Auto", + "", + "Auto", + "", + "void_void", + "off", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "on", + "off", + "", + "", + "off", + "off", + "off", + "", + "", + "on" ], "tabs":[ ], @@ -3859,16 +4045,16 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "masktype":"" } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9029", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Open_Mode", - "label":"Open_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "name":"Torque_Mode", + "label":"Torque_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "ShowPortLabels", @@ -3960,90 +4146,86 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Park_Transform", - "label":"Park_Transform", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "icon":"WebViewIcon9", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", "inspector":{ "params":[ "ShowPortLabels", + "BlockChoice", + "TemplateBlock", + "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", - "TreatAsGroupedWhenPropagatingVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "AllowZeroVariantControls", - "BlockChoice", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "GeneratePreprocessorConditionals", - "IsSubsystemVirtual", - "MemberBlocks", "MinAlgLoopOccurrences", - "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "PropagateVariantConditions", - "RTWFcnName", + "SystemSampleTime", + "RTWSystemCode", "RTWFcnNameOpts", - "RTWFileName", + "RTWFcnName", "RTWFileNameOpts", + "RTWFileName", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "RTWMemSecFuncInitTerm", + "RTWMemSecFuncExecute", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "RTWMemSecFuncExecute", - "RTWMemSecFuncInitTerm", - "RTWSystemCode", - "SystemSampleTime", - "TemplateBlock", + "IsSubsystemVirtual", "Variant", - "VariantControl" + "VariantControl", + "OverrideUsingVariant", + "GeneratePreprocessorConditionals", + "AllowZeroVariantControls", + "PropagateVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "TreatAsGroupedWhenPropagatingVariantConditions" ], "values":[ "FromPortIcon", - "ReadWrite", "", - "All", - "off", - "on", "", "", - "off", + "ReadWrite", "", - "void_void", - "off", - "off", + "All", "on", - "", - "off", - "", "off", "off", + "-1", + "Reusable function", + "Use subsystem name", "", "Auto", "", - "Auto", + "void_void", + "off", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "Auto", - "-1", + "off", + "off", + "", "", "off", - "" + "off", + "off", + "", + "", + "on" ], "tabs":[ - "Main", - "-Other" ], "tabs_idx":[ - 0, - 6 ] }, "viewer":{ @@ -4057,12 +4239,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9074", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2816", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Speed_Mode", - "label":"Speed_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "name":"Clamping_circuit", + "label":"Clamping_circuit", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "ShowPortLabels", @@ -4113,7 +4295,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -4154,202 +4336,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2779", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_n", - "label":"PI_clamp_fixdt_n", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9074", - "inspector":{ - "params":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", - "MinAlgLoopOccurrences", - "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", - "RTWFcnName", - "RTWFileNameOpts", - "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", - "RTWMemSecDataConstants", - "RTWMemSecDataInternal", - "RTWMemSecDataParameters", - "IsSubsystemVirtual", - "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" - ], - "values":[ - "FromPortIcon", - "", - "", - "", - "ReadWrite", - "", - "All", - "on", - "off", - "off", - "-1", - "Reusable function", - "Use subsystem name", - "", - "Auto", - "", - "void_void", - "off", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "Inherit from model", - "off", - "off", - "", - "", - "off", - "off", - "off", - "", - "", - "on" - ], - "tabs":[ - ], - "tabs_idx":[ - ] - }, - "viewer":{ - "jshandler":"webview/handlers/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2816", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", - "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/ElementHandler" - }, - "obj_viewer":[ - ], - "finder":{ - "blocktype":"SubSystem", - "masktype":"" - } - }, - { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2779", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"Integrator", - "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "ShowPortLabels", @@ -4441,12 +4433,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9728:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10828:2791", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", "name":"Saturation_hit", "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9728", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10828", "inspector":{ "params":[ "ShowPortLabels", @@ -4534,12 +4526,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10829", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Torque_Mode", - "label":"Torque_Mode", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "name":"Vd_Calculation", + "label":"Vd_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "ShowPortLabels", @@ -4631,12 +4662,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_iq", - "label":"PI_clamp_fixdt_iq", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "name":"PI_clamp_fixdt", + "label":"PI_clamp_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "ShowPortLabels", @@ -4724,12 +4755,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2816", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Clamping_circuit", "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "ShowPortLabels", @@ -4821,12 +4852,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2779", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Integrator", "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "ShowPortLabels", @@ -4918,12 +4949,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9729:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10454:2791", "className":"Simulink.SubSystem", "icon":"WebViewIcon9", "name":"Saturation_hit", "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9729", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10454", "inspector":{ "params":[ "ShowPortLabels", @@ -5011,12 +5042,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9133", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", "className":"Saturation Dynamic", "icon":"WebViewIcon3", "name":"Saturation Dynamic", "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9109", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", "inspector":{ "params":[ "OutMin", @@ -5050,12 +5081,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Vd_Calculation", - "label":"Vd_Calculation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", + "name":"Voltage_Mode", + "label":"Voltage_Mode", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10364", "inspector":{ "params":[ "ShowPortLabels", @@ -5147,86 +5178,682 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721", - "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"PI_clamp_fixdt_id", - "label":"PI_clamp_fixdt_id", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "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":[ - "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", - "Permissions", - "ErrorFcn", - "PermitHierarchicalResolution", - "TreatAsAtomicUnit", + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8866", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Inv_Clarke_Transform", + "label":"Inv_Clarke_Transform", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8886", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Inv_Park_Transform", + "label":"Inv_Park_Transform", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "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", + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10584", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Speed_Mode_Protection", + "label":"Speed_Mode_Protection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "values":[ + "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", + "", + "", + "off", + "", + "void_void", + "off", + "off", + "off", + "", + "off", + "", + "off", + "off", + "", + "Auto", + "", + "Auto", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Inherit from model", + "Auto", + "-1", + "", + "off", + "" + ], + "tabs":[ + "Main", + "-Other" + ], + "tabs_idx":[ + 0, + 6 + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10594", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic", + "label":"Saturation Dynamic", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10584", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Torque_Mode_Protection", + "label":"Torque_Mode_Protection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", + "inspector":{ + "params":[ + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt", + "label":"I_backCalc_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10602", + "inspector":{ + "params":[ + "yInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", "", + "All", + "off", + "on", "", "", - "ReadWrite", + "off", "", - "All", + "void_void", + "off", + "off", "on", + "", + "off", + "", "off", "off", - "-1", - "Reusable function", - "Use subsystem name", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "off", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -5240,12 +5867,51 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2816", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10808:2895", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10808", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10566", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Clamping_circuit", - "label":"Clamping_circuit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "name":"Voltage_Mode_Protection", + "label":"Voltage_Mode_Protection", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8913", "inspector":{ "params":[ "ShowPortLabels", @@ -5296,7 +5962,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -5337,12 +6003,41 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2779", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt", + "label":"I_backCalc_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "yInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2877", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", "name":"Integrator", "label":"Integrator", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", "inspector":{ "params":[ "ShowPortLabels", @@ -5434,86 +6129,158 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9721:2791", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10745:2895", + "className":"Saturation Dynamic", + "icon":"WebViewIcon3", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10745", + "inspector":{ + "params":[ + "OutMin", + "OutMax", + "OutDataTypeStr", + "LockScale", + "RndMeth", + "DoSatur" + ], + "values":[ + "[]", + "[]", + "Inherit: Same as second input", + "off", + "Floor", + "off" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"Saturation Dynamic" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Saturation_hit", - "label":"Saturation_hit", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9721", + "icon":"WebViewIcon4", + "name":"I_backCalc_fixdt1", + "label":"I_backCalc_fixdt1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10566", + "inspector":{ + "params":[ + "yInit" + ], + "values":[ + "0" + ], + "tabs":[ + ], + "tabs_idx":[ + ] + }, + "viewer":{ + "jshandler":"webview/handlers/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2877", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Integrator", + "label":"Integrator", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "inspector":{ "params":[ "ShowPortLabels", - "BlockChoice", - "TemplateBlock", - "MemberBlocks", "Permissions", "ErrorFcn", "PermitHierarchicalResolution", "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", "MinAlgLoopOccurrences", + "OverrideUsingVariant", "PropExecContextOutsideSubsystem", - "SystemSampleTime", - "RTWSystemCode", - "RTWFcnNameOpts", + "PropagateVariantConditions", "RTWFcnName", - "RTWFileNameOpts", + "RTWFcnNameOpts", "RTWFileName", - "FunctionInterfaceSpec", - "FunctionWithSeparateData", - "RTWMemSecFuncInitTerm", - "RTWMemSecFuncExecute", + "RTWFileNameOpts", "RTWMemSecDataConstants", "RTWMemSecDataInternal", "RTWMemSecDataParameters", - "IsSubsystemVirtual", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", "Variant", - "VariantControl", - "OverrideUsingVariant", - "GeneratePreprocessorConditionals", - "AllowZeroVariantControls", - "PropagateVariantConditions", - "ActiveVariant", - "ActiveVariantBlock", - "TreatAsGroupedWhenPropagatingVariantConditions" + "VariantControl" ], "values":[ "FromPortIcon", + "ReadWrite", + "", + "All", + "off", + "on", "", "", + "off", "", - "ReadWrite", + "void_void", + "off", + "off", + "on", "", - "All", "off", + "", "off", "off", - "-1", - "Auto", - "Auto", "", "Auto", "", - "void_void", - "off", + "Auto", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", "Inherit from model", - "on", - "off", - "", + "Auto", + "-1", "", "off", - "off", - "off", - "", - "", - "on" + "" ], "tabs":[ + "Main", + "-Other" ], "tabs_idx":[ + 0, + 6 ] }, "viewer":{ @@ -5527,12 +6294,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9164", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10746:2895", "className":"Saturation Dynamic", "icon":"WebViewIcon3", - "name":"Saturation Dynamic", - "label":"Saturation Dynamic", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9143", + "name":"Saturation Dynamic1", + "label":"Saturation Dynamic1", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:10746", "inspector":{ "params":[ "OutMin", @@ -5566,11 +6333,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9045", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Voltage_Mode", - "label":"Voltage_Mode", + "name":"Park_Transform", + "label":"Park_Transform", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ @@ -5622,7 +6389,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -5663,32 +6430,90 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9188", - "className":"Saturation Dynamic", - "icon":"WebViewIcon3", - "name":"Saturation Dynamic1", - "label":"Saturation Dynamic1", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9171", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:8743", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Sine_Cosine_Approximation", + "label":"Sine_Cosine_Approximation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:8658", "inspector":{ "params":[ - "OutMin", - "OutMax", - "OutDataTypeStr", - "LockScale", - "RndMeth", - "DoSatur" + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" ], "values":[ - "[]", - "[]", - "Inherit: Same as second input", + "FromPortIcon", + "ReadWrite", + "", + "All", "off", - "Floor", - "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":{ @@ -5698,15 +6523,15 @@ ], "finder":{ "blocktype":"SubSystem", - "masktype":"Saturation Dynamic" + "masktype":"" } }, { "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F05_Control_Type_Management", - "label":"F05_Control_Type_Management", + "name":"F06_Control_Type_Management", + "label":"F06_Control_Type_Management", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", "inspector":{ "params":[ @@ -5802,8 +6627,8 @@ "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9904", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F05_00_COM_Method", - "label":"F05_00_COM_Method", + "name":"COM_Method", + "label":"COM_Method", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -5896,11 +6721,11 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"F05_01_SIN_Method", - "label":"F05_01_SIN_Method", + "name":"FOC_Method", + "label":"FOC_Method", "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ @@ -5993,12 +6818,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "className":"Simulink.SubSystem", "icon":"WebViewIcon1", - "name":"Phase_Advance_Calculation", - "label":"Phase_Advance_Calculation", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", + "name":"SIN_Method", + "label":"SIN_Method", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", "inspector":{ "params":[ "ShowPortLabels", @@ -6049,7 +6874,7 @@ "void_void", "off", "off", - "on", + "off", "", "off", "", @@ -6090,12 +6915,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "className":"Simulink.SubSystem", - "icon":"WebViewIcon9", - "name":"Modulo_fixdt", - "label":"Modulo_fixdt", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", + "icon":"WebViewIcon1", + "name":"Final_Phase_Advance_Calculation", + "label":"Final_Phase_Advance_Calculation", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9741", "inspector":{ "params":[ "ShowPortLabels", @@ -6187,12 +7012,12 @@ } }, { - "sid":"BLDCmotorControl_FOC_R2017b_fixdt:9842", + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10035", "className":"Simulink.SubSystem", - "icon":"WebViewIcon1", - "name":"F05_02_FOC_Method", - "label":"F05_02_FOC_Method", - "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9198", + "icon":"WebViewIcon9", + "name":"Modulo_fixdt", + "label":"Modulo_fixdt", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:9743", "inspector":{ "params":[ "ShowPortLabels", @@ -6243,7 +7068,7 @@ "void_void", "off", "off", - "off", + "on", "", "off", "", @@ -6472,5 +7297,102 @@ "blocktype":"SubSystem", "masktype":"" } + }, + { + "sid":"BLDCmotorControl_FOC_R2017b_fixdt:10164", + "className":"Simulink.SubSystem", + "icon":"WebViewIcon1", + "name":"Task_Scheduler", + "label":"Task_Scheduler", + "parent":"BLDCmotorControl_FOC_R2017b_fixdt:29", + "inspector":{ + "params":[ + "ShowPortLabels", + "Permissions", + "ErrorFcn", + "PermitHierarchicalResolution", + "TreatAsAtomicUnit", + "TreatAsGroupedWhenPropagatingVariantConditions", + "ActiveVariant", + "ActiveVariantBlock", + "AllowZeroVariantControls", + "BlockChoice", + "FunctionInterfaceSpec", + "FunctionWithSeparateData", + "GeneratePreprocessorConditionals", + "IsSubsystemVirtual", + "MemberBlocks", + "MinAlgLoopOccurrences", + "OverrideUsingVariant", + "PropExecContextOutsideSubsystem", + "PropagateVariantConditions", + "RTWFcnName", + "RTWFcnNameOpts", + "RTWFileName", + "RTWFileNameOpts", + "RTWMemSecDataConstants", + "RTWMemSecDataInternal", + "RTWMemSecDataParameters", + "RTWMemSecFuncExecute", + "RTWMemSecFuncInitTerm", + "RTWSystemCode", + "SystemSampleTime", + "TemplateBlock", + "Variant", + "VariantControl" + ], + "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/ElementHandler" + }, + "obj_viewer":[ + ], + "finder":{ + "blocktype":"SubSystem", + "masktype":"" + } } ] \ No newline at end of file From 31d42b4a1764104fa7af36cea646098a4dbaaae0 Mon Sep 17 00:00:00 2001 From: EmanuelFeru Date: Thu, 12 Dec 2019 23:44:33 +0100 Subject: [PATCH 10/11] Major improvements - reduced FOC computational complexity by up to 20%, from 85% (old) to 65% (new) - updated Field Weakening by allowing more freedom set-up: field weakening blended in the input fully, partially blended, or fully outside the input range - major improvemets on current and speed limitations. It allows seemless limitation protection -> very happy with the result --- .../01_Controller/BLDC_controller_Lib.slx | Bin 53530 -> 54879 bytes .../03_CreateParamTable/tableParamType.xlsx | Bin 13132 -> 13167 bytes .../BLDCmotorControl_FOC_R2017b_fixdt.slx | Bin 194318 -> 201071 bytes 01_Matlab/init_model.m | 84 +- Inc/BLDC_controller.h | 455 +-- Inc/config.h | 46 +- Inc/rtwtypes.h | 4 +- Src/BLDC_controller.c | 2866 ++++++++--------- Src/BLDC_controller_data.c | 163 +- Src/bldc.c | 5 +- Src/main.c | 100 +- build/firmware.bin | Bin 20692 -> 20276 bytes build/firmware.elf | Bin 395000 -> 391284 bytes docs/firmware_architecture.pptx | Bin 46414 -> 51722 bytes docs/pictures/FOC_algorithm.png | Bin 39656 -> 34628 bytes docs/pictures/FW_architecture.png | Bin 30501 -> 35069 bytes docs/pictures/FieldWeakening.png | Bin 0 -> 29476 bytes docs/pictures/paramTable.png | Bin 62474 -> 62842 bytes 18 files changed, 1810 insertions(+), 1913 deletions(-) create mode 100644 docs/pictures/FieldWeakening.png 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 4e276220833c095114c6712b5093eeecd3a2d886..7d74270d5e9cbd31417b0723da929da33c4e9b95 100644 GIT binary patch delta 41254 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 delta 39879 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 diff --git a/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx b/01_Matlab/BLDCmotorControl_FOC_R2017b_fixdt.slx index fae0bc21ede91ce88a8cb65fbd2a8863583b6a6c..a7b9dee6f18f46ce7533003404fbc70b52d9de2a 100644 GIT binary patch delta 126644 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 delta 119868 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 AuK)l5 diff --git a/01_Matlab/init_model.m b/01_Matlab/init_model.m index 647d4b6..18832d6 100644 --- a/01_Matlab/init_model.m +++ b/01_Matlab/init_model.m @@ -56,7 +56,7 @@ r_cos_M1 = cos((a_elecAngle_XA + 30)*(pi/180)); % stairs(a_elecAngle_XA, r_cos_M1); % legend('sin','cos'); -%% Control Manager +%% Control selection % Control type selection CTRL_COM = 0; % [-] Commutation Control CTRL_SIN = 1; % [-] Sinusoidal Control @@ -70,6 +70,7 @@ SPD_MODE = 2; % [-] Speed mode TRQ_MODE = 3; % [-] Torque mode z_ctrlModReq = VLT_MODE; % [-] Control Mode Request (default) + %% F01_Estimations % Position Estimation Parameters % Hall = 4*hA + 2*hB + hC @@ -87,41 +88,36 @@ n_stdStillDet = 3; % [rpm] Speed threshold for Stand still detectio cf_currFilt = 0.12; % [%] Current filter coefficient [0, 1]. Lower values mean softer filter %% F02_Diagnostics -b_diagEna = 1; % [-] Diagnostics enable flag: 0 = Disabled, 1 = Enabled (default) -t_errQual = 0.6 * f_ctrl; % [s] Error qualification time -t_errDequal = 2.0 * f_ctrl; % [s] Error dequalification time -r_errInpTgtThres = 400; % [-] Error input target threshold (for "Blocked motor" detection) - -%% F04_Field_Oriented_Control +b_diagEna = 1; % [-] Diagnostics enable flag: 0 = Disabled, 1 = Enabled (default) +t_errQual = 0.6 * f_ctrl/3; % [s] Error qualification time +t_errDequal = 2.0 * f_ctrl/3; % [s] Error dequalification time +r_errInpTgtThres = 400; % [-] Error input target threshold (for "Blocked motor" detection) -% Current measurement -b_selPhaABCurrMeas = 1; % [-] Measured phase currents selection: {iA,iB} = 1 (default); {iB,iC} = 0 -dV_openRate = 1000 / f_ctrl; % [V/s] Rate for voltage cut-off in Open Mode (Sample Time included in the rate) +%% F03_Control_Mode_Manager +dV_openRate = 1000 / (f_ctrl/3);% [V/s] Rate for voltage cut-off in Open Mode (Sample Time included in the rate) -% Field Weakening +%% F04_Field_Weakening b_fieldWeakEna = 0; % [-] Field weakening enable flag: 0 = disable (default), 1 = enable -n_fieldWeakAuthHi = 200; % [rpm] Motor speed High for field weakening authorization -n_fieldWeakAuthLo = 140; % [rpm] Motor speed Low for field weakening authorization -id_fieldWeak_M1 = [0 0.1 0.3 0.7 1.3 2.1 3 3.8 4.4 4.8 5 5] * i_sca; % [-] Field weakening current map -r_fieldWeak_XA = [570 600 630 660 690 720 750 780 810 840 870 900]; % [-] Scaled input target grid -% figure -% plot(r_fieldWeak_XA, id_fieldWeak_M1, '.-'); hold on -% grid +r_fieldWeakHi = 1500; % [-] Input target High threshold for reaching maximum Field Weakening / Phase Advance +r_fieldWeakLo = 1000; % [-] Input target Low threshold for starting Field Weakening / Phase Advance +n_fieldWeakAuthHi = 400; % [rpm] Motor speed High for field weakening authorization +n_fieldWeakAuthLo = 300; % [rpm] Motor speed Low for field weakening authorization -% Q axis control gains -cf_iqKp = 0.5; % [-] P gain -cf_iqKi = 100 / f_ctrl; % [-] I gain +% FOC method +id_fieldWeakMax = 5 * i_sca; % [A] Field weakening maximum current -% D axis control gains -cf_idKp = 0.2; % [-] P gain -cf_idKi = 60 / f_ctrl; % [-] I gain +% SIN method +a_phaAdvMax = 25; % [deg] Maximum phase advance angle -% Speed control gains -cf_nKp = 1.18; % [-] P gain -cf_nKi = 20.4 / f_ctrl; % [-] I gain -% Limitations -%------------------------------- +%% F05_Field_Oriented_Control +b_selPhaABCurrMeas = 1; % [-] Select measured current phases: {iA,iB} = 1 (default); {iB,iC} = 0 + +% Motor Limitations Calibratables +cf_iqKiLimProt = 60 / (f_ctrl/3); % [-] Current limit protection integral gain (only used in VLT_MODE and SPD_MODE) +cf_nKiLimProt = 20 / (f_ctrl/3); % [-] Speed limit protection integral gain (only used in VLT_MODE and TRQ_MODE) +cf_KbLimProt = 1000 / (f_ctrl/3);% [-] Back calculation gain for integral anti-windup + % Voltage Limitations V_margin = 100; % [-] Voltage margin to make sure that there is a sufficiently wide pulse for a good phase current measurement Vd_max = 1000 - V_margin; @@ -131,12 +127,9 @@ Vq_max_M1 = sqrt(Vd_max^2 - Vq_max_XA.^2); % Circle limitations look- % stairs(Vq_max_XA, Vq_max_M1); legend('V_{max}'); % Speed limitations -cf_nKpLimProt = 5; % [-] Speed limit protection gain (only used in VLT_MODE and TRQ_MODE) -n_max = 800; % [rpm] Maximum motor speed +n_max = 1000; % [rpm] Maximum motor speed % Current Limitations -cf_iqKpLimProt = 7.2; % [-] Current limit protection gain (only used in VLT_MODE and SPD_MODE) -cf_iqKiLimProt = 40.7 / f_ctrl; % [-] Current limit protection integral gain (only used in SPD_MODE) i_max = 15; % [A] Maximum allowed motor current (continuous) i_max = i_max * i_sca; iq_maxSca_XA = 0:0.02:0.99; @@ -146,18 +139,25 @@ iq_maxSca_M1 = sqrt(1 - iq_maxSca_XA.^2); % stairs(iq_maxSca_XA, iq_maxSca_M1); legend('i_{maxSca}'); %------------------------------- -%% F05_Control_Type_Management +% Q axis control gains +cf_iqKp = 0.3; % [-] P gain +cf_iqKi = 100 / (f_ctrl/3); % [-] I gain + +% D axis control gains +cf_idKp = 0.2; % [-] P gain +cf_idKi = 60 / (f_ctrl/3); % [-] I gain + +% Speed control gains +cf_nKp = 1.18; % [-] P gain +cf_nKi = 20.4 / (f_ctrl/3);% [-] I gain +%------------------------------- + +%% F06_Control_Type_Management % Commutation method z_commutMap_M1 = [-1 -1 0 1 1 0; % Phase A 1 0 -1 -1 0 1; % Phase B - 0 1 1 0 -1 -1]; % Phase C [-] Commutation method map - -% Sinusoidal method -% The map below was experimentaly calibrated on the real motor. Objectives: minimum noise and minimum torque ripple -a_phaAdv_M1 = [0 0 0 0 0 2 3 5 9 16 25]; % [deg] Phase advance angle -r_phaAdv_XA = [0 100 200 300 400 500 600 700 800 900 1000]; % [-] Scaled input target grid -% plot(r_phaAdv_XA, a_phaAdv_M1); + 0 1 1 0 -1 -1]; % Phase C [-] Commutation method map omega = a_elecAngle_XA*(pi/180); pha_adv = 30; % [deg] Phase advance to mach commands with the Hall position @@ -165,7 +165,7 @@ r_sinPhaA_M1 = -sin(omega + pha_adv*(pi/180)); r_sinPhaB_M1 = -sin(omega - 120*(pi/180) + pha_adv*(pi/180)); r_sinPhaC_M1 = -sin(omega + 120*(pi/180) + pha_adv*(pi/180)); -% Sinusoidal 3rd armonic method +% Sinusoidal 3rd harmonic method A = 1.15; % Sine amplitude (tunable to get the Saddle sin maximum to value 1000) sin3Arm = -0.224*sin(3*(omega + pha_adv*(pi/180))); % 3rd armonic r_sin3PhaA_M1 = sin3Arm + A*r_sinPhaA_M1; diff --git a/Inc/BLDC_controller.h b/Inc/BLDC_controller.h index 2c08169..acfba7a 100644 --- a/Inc/BLDC_controller.h +++ b/Inc/BLDC_controller.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1212 + * Model version : 1.1249 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 + * C/C++ source code generated on : Thu Dec 12 20:22:31 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -30,138 +30,150 @@ /* Forward declaration for rtModel */ typedef struct tag_RTM RT_MODEL; -/* Block signals and states (auto storage) for system '/Counter' */ +/* Block signals and states (auto storage) for system '/Counter' */ typedef struct { - int16_T UnitDelay_DSTATE; /* '/UnitDelay' */ + int16_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_Counter; -/* Block signals and states (auto storage) for system '/PI_clamp_fixdt_id' */ +/* Block signals and states (auto storage) for system '/PI_clamp_fixdt' */ typedef struct { - int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ - boolean_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ + int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ + boolean_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ } DW_PI_clamp_fixdt; -/* Block signals and states (auto storage) for system '/Low_Pass_Filter' */ +/* Block signals and states (auto storage) for system '/Low_Pass_Filter' */ typedef struct { int16_T UnitDelay3_DSTATE[2]; /* '/UnitDelay3' */ } DW_Low_Pass_Filter; -/* Block signals and states (auto storage) for system '/PI_clamp_fixdt_n' */ +/* Block signals and states (auto storage) for system '/I_backCalc_fixdt' */ typedef struct { - int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ - boolean_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ -} DW_PI_clamp_fixdt_c; + int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ + int32_T UnitDelay_DSTATE_h; /* '/UnitDelay' */ +} DW_I_backCalc_fixdt; -/* Block signals and states (auto storage) for system '/Counter' */ +/* Block signals and states (auto storage) for system '/Counter' */ typedef struct { - uint16_T UnitDelay_DSTATE; /* '/UnitDelay' */ + uint16_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_Counter_l; -/* Block signals and states (auto storage) for system '/either_edge' */ +/* Block signals and states (auto storage) for system '/either_edge' */ typedef struct { - boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ + boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_either_edge; /* Block signals and states (auto storage) for system '/Debounce_Filter' */ typedef struct { - DW_either_edge either_edge_k; /* '/either_edge' */ - DW_Counter_l Counter_h; /* '/Counter' */ - DW_Counter_l Counter_i0; /* '/Counter' */ - boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ + DW_either_edge either_edge_k; /* '/either_edge' */ + DW_Counter_l Counter_h; /* '/Counter' */ + DW_Counter_l Counter_i0; /* '/Counter' */ + boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_Debounce_Filter; /* Block signals and states (auto storage) for system '' */ typedef struct { DW_either_edge either_edge_a; /* '/either_edge' */ DW_Debounce_Filter Debounce_Filter_f;/* '/Debounce_Filter' */ - DW_PI_clamp_fixdt PI_clamp_fixdt_iq; /* '/PI_clamp_fixdt_iq' */ - DW_PI_clamp_fixdt_c PI_clamp_fixdt_n_o;/* '/PI_clamp_fixdt_n' */ - DW_Low_Pass_Filter Low_Pass_Filter_m;/* '/Low_Pass_Filter' */ - DW_PI_clamp_fixdt PI_clamp_fixdt_id; /* '/PI_clamp_fixdt_id' */ - DW_Counter Counter_e; /* '/Counter' */ - int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ - int16_T Gain4[3]; /* '/Gain4' */ + DW_I_backCalc_fixdt I_backCalc_fixdt_g;/* '/I_backCalc_fixdt' */ + DW_I_backCalc_fixdt I_backCalc_fixdt1;/* '/I_backCalc_fixdt1' */ + DW_I_backCalc_fixdt I_backCalc_fixdt_i;/* '/I_backCalc_fixdt' */ + DW_Low_Pass_Filter Low_Pass_Filter_m;/* '/Low_Pass_Filter' */ + DW_PI_clamp_fixdt PI_clamp_fixdt_a; /* '/PI_clamp_fixdt' */ + DW_PI_clamp_fixdt PI_clamp_fixdt_o; /* '/PI_clamp_fixdt' */ + DW_PI_clamp_fixdt PI_clamp_fixdt_k; /* '/PI_clamp_fixdt' */ + DW_Counter Counter_e; /* '/Counter' */ + int32_T Divide1; /* '/Divide1' */ + int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ + int16_T Gain4[3]; /* '/Gain4' */ int16_T Sum1[2]; /* '/Sum1' */ - int16_T z_counterRawPrev; /* '/z_counterRawPrev' */ - int16_T Merge; /* '/Merge' */ - int16_T Divide1; /* '/Divide1' */ - int16_T Divide4; /* '/Divide4' */ - int16_T Switch1; /* '/Switch1' */ - int16_T Divide11; /* '/Divide11' */ - int16_T UnitDelay3_DSTATE; /* '/UnitDelay3' */ - int16_T UnitDelay4_DSTATE; /* '/UnitDelay4' */ - int16_T UnitDelay2_DSTATE; /* '/UnitDelay2' */ - int16_T UnitDelay3_DSTATE_o; /* '/UnitDelay3' */ - int16_T UnitDelay5_DSTATE; /* '/UnitDelay5' */ - int16_T UnitDelay4_DSTATE_e; /* '/UnitDelay4' */ - int16_T UnitDelay4_DSTATE_eu; /* '/UnitDelay4' */ - int8_T Switch2; /* '/Switch2' */ - int8_T UnitDelay2_DSTATE_b; /* '/UnitDelay2' */ - int8_T If2_ActiveSubsystem; /* '/If2' */ - int8_T If2_ActiveSubsystem_j; /* '/If2' */ + int16_T z_counterRawPrev; /* '/z_counterRawPrev' */ + int16_T Merge1; /* '/Merge1' */ + int16_T Divide3; /* '/Divide3' */ + int16_T Vd_max1; /* '/Vd_max1' */ + int16_T Gain3; /* '/Gain3' */ + int16_T Vq_max_M1; /* '/Vq_max_M1' */ + int16_T Gain5; /* '/Gain5' */ + int16_T i_max; /* '/i_max' */ + int16_T Divide1_a; /* '/Divide1' */ + int16_T Gain1; /* '/Gain1' */ + int16_T Gain4_c; /* '/Gain4' */ + int16_T Switch2; /* '/Switch2' */ + int16_T Switch2_l; /* '/Switch2' */ + int16_T Switch2_c; /* '/Switch2' */ + int16_T Merge; /* '/Merge' */ + int16_T Switch1; /* '/Switch1' */ + int16_T Divide11; /* '/Divide11' */ + int16_T UnitDelay3_DSTATE; /* '/UnitDelay3' */ + int16_T UnitDelay4_DSTATE; /* '/UnitDelay4' */ + int16_T UnitDelay2_DSTATE; /* '/UnitDelay2' */ + int16_T UnitDelay3_DSTATE_o; /* '/UnitDelay3' */ + int16_T UnitDelay5_DSTATE; /* '/UnitDelay5' */ + int16_T UnitDelay4_DSTATE_e; /* '/UnitDelay4' */ + int16_T UnitDelay4_DSTATE_eu; /* '/UnitDelay4' */ + int16_T UnitDelay4_DSTATE_h; /* '/UnitDelay4' */ + int8_T Switch2_e; /* '/Switch2' */ + int8_T UnitDelay2_DSTATE_b; /* '/UnitDelay2' */ + int8_T If4_ActiveSubsystem; /* '/If4' */ int8_T If1_ActiveSubsystem; /* '/If1' */ - int8_T If2_ActiveSubsystem_a; /* '/If2' */ - int8_T If1_ActiveSubsystem_e; /* '/If1' */ - int8_T If1_ActiveSubsystem_f; /* '/If1' */ - int8_T If2_ActiveSubsystem_c; /* '/If2' */ - int8_T SwitchCase_ActiveSubsystem; /* '/Switch Case' */ - uint8_T UnitDelay3_DSTATE_fy; /* '/UnitDelay3' */ - uint8_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ - uint8_T UnitDelay2_DSTATE_f; /* '/UnitDelay2' */ - uint8_T UnitDelay1_DSTATE_p; /* '/UnitDelay1' */ - uint8_T UnitDelay_DSTATE_c; /* '/UnitDelay' */ + int8_T If2_ActiveSubsystem; /* '/If2' */ + int8_T If2_ActiveSubsystem_a; /* '/If2' */ + uint8_T z_ctrlMod; /* '/F03_02_Control_Mode_Manager' */ + uint8_T UnitDelay3_DSTATE_fy; /* '/UnitDelay3' */ + uint8_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ + uint8_T UnitDelay2_DSTATE_f; /* '/UnitDelay2' */ uint8_T is_active_c1_BLDC_controller;/* '/F03_02_Control_Mode_Manager' */ uint8_T is_c1_BLDC_controller; /* '/F03_02_Control_Mode_Manager' */ uint8_T is_ACTIVE; /* '/F03_02_Control_Mode_Manager' */ - boolean_T Merge_n; /* '/Merge' */ - boolean_T dz_cntTrnsDet; /* '/dz_cntTrnsDet' */ - boolean_T UnitDelay_DSTATE_e; /* '/UnitDelay' */ - boolean_T UnitDelay1_DSTATE_n; /* '/UnitDelay1' */ - boolean_T n_commDeacv_Mode; /* '/n_commDeacv' */ - boolean_T n_fieldWeakAuth_Mode; /* '/n_fieldWeakAuth' */ - boolean_T n_fieldWeakAuth_Mode_m; /* '/n_fieldWeakAuth' */ - boolean_T dz_cntTrnsDet_Mode; /* '/dz_cntTrnsDet' */ + boolean_T Merge_n; /* '/Merge' */ + boolean_T dz_cntTrnsDet; /* '/dz_cntTrnsDet' */ + boolean_T UnitDelay2_DSTATE_g; /* '/UnitDelay2' */ + boolean_T UnitDelay5_DSTATE_l; /* '/UnitDelay5' */ + boolean_T UnitDelay6_DSTATE; /* '/UnitDelay6' */ + boolean_T UnitDelay_DSTATE_e; /* '/UnitDelay' */ + boolean_T UnitDelay1_DSTATE_n; /* '/UnitDelay1' */ + boolean_T n_commDeacv_Mode; /* '/n_commDeacv' */ + boolean_T dz_cntTrnsDet_Mode; /* '/dz_cntTrnsDet' */ } DW; /* Constant parameters (auto storage) */ typedef struct { /* Computed Parameter: r_sin3PhaA_M1_Table - * Referenced by: '/r_sin3PhaA_M1' + * Referenced by: '/r_sin3PhaA_M1' */ int16_T r_sin3PhaA_M1_Table[181]; /* Computed Parameter: r_sin3PhaB_M1_Table - * Referenced by: '/r_sin3PhaB_M1' + * Referenced by: '/r_sin3PhaB_M1' */ int16_T r_sin3PhaB_M1_Table[181]; /* Computed Parameter: r_sin3PhaC_M1_Table - * Referenced by: '/r_sin3PhaC_M1' + * Referenced by: '/r_sin3PhaC_M1' */ int16_T r_sin3PhaC_M1_Table[181]; /* Computed Parameter: r_sin_M1_Table - * Referenced by: '/r_sin_M1' + * Referenced by: '/r_sin_M1' */ int16_T r_sin_M1_Table[181]; /* Computed Parameter: r_cos_M1_Table - * Referenced by: '/r_cos_M1' + * Referenced by: '/r_cos_M1' */ int16_T r_cos_M1_Table[181]; /* Computed Parameter: iq_maxSca_M1_Table - * Referenced by: '/iq_maxSca_M1' + * Referenced by: '/iq_maxSca_M1' */ uint16_T iq_maxSca_M1_Table[50]; /* Computed Parameter: z_commutMap_M1_table - * Referenced by: '/z_commutMap_M1' + * Referenced by: '/z_commutMap_M1' */ int8_T z_commutMap_M1_table[18]; /* Computed Parameter: vec_hallToPos_Value - * Referenced by: '/vec_hallToPos' + * Referenced by: '/vec_hallToPos' */ int8_T vec_hallToPos_Value[8]; } ConstP; @@ -194,24 +206,24 @@ typedef struct { /* Parameters (auto storage) */ struct P_ { int32_T dV_openRate; /* Variable: dV_openRate - * Referenced by: '/dV_openRate' + * Referenced by: '/dV_openRate' */ int16_T dz_cntTrnsDetHi; /* Variable: dz_cntTrnsDetHi - * Referenced by: '/dz_cntTrnsDet' + * Referenced by: '/dz_cntTrnsDet' */ int16_T dz_cntTrnsDetLo; /* Variable: dz_cntTrnsDetLo - * Referenced by: '/dz_cntTrnsDet' + * Referenced by: '/dz_cntTrnsDet' */ int16_T z_maxCntRst; /* Variable: z_maxCntRst * Referenced by: - * '/Counter' - * '/z_maxCntRst' - * '/z_maxCntRst2' - * '/UnitDelay3' - * '/z_counter' + * '/Counter' + * '/z_maxCntRst' + * '/z_maxCntRst2' + * '/UnitDelay3' + * '/z_counter' */ uint16_T cf_speedCoef; /* Variable: cf_speedCoef - * Referenced by: '/cf_speedCoef' + * Referenced by: '/cf_speedCoef' */ uint16_T t_errDequal; /* Variable: t_errDequal * Referenced by: '/t_errDequal' @@ -221,88 +233,90 @@ struct P_ { */ int16_T Vd_max; /* Variable: Vd_max * Referenced by: - * '/Vd_max1' - * '/Vd_max' + * '/Vd_max1' + * '/Vd_max' */ int16_T Vq_max_M1[46]; /* Variable: Vq_max_M1 - * Referenced by: '/Vq_max_M1' + * Referenced by: '/Vq_max_M1' */ int16_T Vq_max_XA[46]; /* Variable: Vq_max_XA - * Referenced by: '/Vq_max_XA' + * Referenced by: '/Vq_max_XA' + */ + int16_T a_phaAdvMax; /* Variable: a_phaAdvMax + * Referenced by: '/a_phaAdvMax' */ int16_T i_max; /* Variable: i_max * Referenced by: - * '/i_max' - * '/i_max' + * '/i_max' + * '/i_max' */ - int16_T id_fieldWeak_M1[12]; /* Variable: id_fieldWeak_M1 - * Referenced by: '/id_fieldWeak_M1' + int16_T id_fieldWeakMax; /* Variable: id_fieldWeakMax + * Referenced by: '/id_fieldWeakMax' */ int16_T n_commAcvLo; /* Variable: n_commAcvLo - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ int16_T n_commDeacvHi; /* Variable: n_commDeacvHi - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ int16_T n_fieldWeakAuthHi; /* Variable: n_fieldWeakAuthHi - * Referenced by: - * '/n_fieldWeakAuth' - * '/n_fieldWeakAuth' + * Referenced by: '/n_fieldWeakAuthHi' */ int16_T n_fieldWeakAuthLo; /* Variable: n_fieldWeakAuthLo - * Referenced by: - * '/n_fieldWeakAuth' - * '/n_fieldWeakAuth' + * Referenced by: '/n_fieldWeakAuthLo' */ int16_T n_max; /* Variable: n_max * Referenced by: - * '/n_max1' - * '/n_max' + * '/n_max1' + * '/n_max' */ int16_T n_stdStillDet; /* Variable: n_stdStillDet - * Referenced by: '/n_stdStillDet' + * Referenced by: '/n_stdStillDet' */ int16_T r_errInpTgtThres; /* Variable: r_errInpTgtThres * Referenced by: '/r_errInpTgtThres' */ - int16_T r_fieldWeak_XA[12]; /* Variable: r_fieldWeak_XA - * Referenced by: '/r_fieldWeak_XA' + int16_T r_fieldWeakHi; /* Variable: r_fieldWeakHi + * Referenced by: '/r_fieldWeakHi' */ - int16_T r_phaAdv_XA[11]; /* Variable: r_phaAdv_XA - * Referenced by: '/r_phaAdv_XA' + int16_T r_fieldWeakLo; /* Variable: r_fieldWeakLo + * Referenced by: '/r_fieldWeakLo' + */ + uint16_T cf_KbLimProt; /* Variable: cf_KbLimProt + * Referenced by: + * '/cf_KbLimProt' + * '/cf_KbLimProt' */ uint16_T cf_idKp; /* Variable: cf_idKp - * Referenced by: '/cf_idKp1' + * Referenced by: '/cf_idKp1' */ uint16_T cf_iqKp; /* Variable: cf_iqKp - * Referenced by: '/cf_iqKp' + * Referenced by: '/cf_iqKp' */ uint16_T cf_nKp; /* Variable: cf_nKp - * Referenced by: '/cf_nKp' + * Referenced by: '/cf_nKp' */ uint16_T cf_currFilt; /* Variable: cf_currFilt - * Referenced by: '/cf_currFilt' + * Referenced by: '/cf_currFilt' */ uint16_T cf_idKi; /* Variable: cf_idKi - * Referenced by: '/cf_idKi1' + * Referenced by: '/cf_idKi1' */ uint16_T cf_iqKi; /* Variable: cf_iqKi - * Referenced by: '/cf_iqKi' + * Referenced by: '/cf_iqKi' */ uint16_T cf_iqKiLimProt; /* Variable: cf_iqKiLimProt - * Referenced by: '/cf_iqKiLimProt' + * Referenced by: + * '/cf_iqKiLimProt' + * '/cf_iqKiLimProt' */ uint16_T cf_nKi; /* Variable: cf_nKi - * Referenced by: '/cf_nKi' - */ - uint16_T cf_iqKpLimProt; /* Variable: cf_iqKpLimProt - * Referenced by: '/cf_iqKpLimProt' + * Referenced by: '/cf_nKi' */ - uint16_T cf_nKpLimProt; /* Variable: cf_nKpLimProt - * Referenced by: '/cf_nKpLimProt' - */ - int16_T a_phaAdv_M1[11]; /* Variable: a_phaAdv_M1 - * Referenced by: '/a_phaAdv_M1' + uint16_T cf_nKiLimProt; /* Variable: cf_nKiLimProt + * Referenced by: + * '/cf_nKiLimProt' + * '/cf_nKiLimProt' */ uint8_T z_ctrlTypSel; /* Variable: z_ctrlTypSel * Referenced by: '/z_ctrlTypSel1' @@ -312,11 +326,11 @@ struct P_ { */ boolean_T b_fieldWeakEna; /* Variable: b_fieldWeakEna * Referenced by: - * '/b_fieldWeakEna' - * '/b_fieldWeakEna' + * '/b_fieldWeakEna' + * '/b_fieldWeakEna' */ boolean_T b_selPhaABCurrMeas; /* Variable: b_selPhaABCurrMeas - * Referenced by: '/b_selPhaABCurrMeas' + * Referenced by: '/b_selPhaABCurrMeas' */ }; @@ -341,24 +355,33 @@ extern void BLDC_controller_step(RT_MODEL *const rtM); /*- * These blocks were eliminated from the model due to optimizations: * - * Block '/Scope2' : Unused code path elimination - * Block '/Scope' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Scope12' : Unused code path elimination - * Block '/Scope8' : Unused code path elimination - * Block '/Scope9' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Scope' : Unused code path elimination + * Block '/Scope2' : Unused code path elimination + * Block '/Scope' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Scope12' : Unused code path elimination + * Block '/Scope8' : Unused code path elimination + * Block '/Scope9' : Unused code path elimination + * Block '/Scope' : Unused code path elimination + * Block '/Data Type Conversion' : Eliminate redundant data type conversion */ /*- @@ -383,76 +406,90 @@ extern void BLDC_controller_step(RT_MODEL *const rtM); * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations' * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics' * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Edge_Detector' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_02_Position_Calculation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_03_Direction_Detection' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Electrical_Angle_Estimation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Raw_Motor_Speed_Estimation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter/rst_Delay' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/either_edge' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Default' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/either_edge' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter/rst_Delay' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter/rst_Delay' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_01_Mode_Transition_Calculation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_02_Control_Mode_Manager' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Control_Type' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/FOC_Control_Type' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/rising_edge_init' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Delay_Init1' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Field_Weakening' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Clarke_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Park_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Park_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesAB' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesBC' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering/Low_Pass_Filter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection/Saturation Dynamic1' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Clamping_circuit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Integrator' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Saturation_hit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Clamping_circuit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Integrator' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Saturation_hit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Clamping_circuit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Integrator' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Saturation_hit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode/Saturation Dynamic1' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_00_COM_Method' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_02_FOC_Method' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation/Modulo_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Weakening' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/Task_Scheduler' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Edge_Detector' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_02_Position_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_03_Direction_Detection' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Electrical_Angle_Estimation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Raw_Motor_Speed_Estimation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter/rst_Delay' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/either_edge' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Default' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/either_edge' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter/rst_Delay' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter/rst_Delay' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_01_Mode_Transition_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_02_Control_Mode_Manager' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Control_Type' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/FOC_Control_Type' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/rising_edge_init' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Delay_Init1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Weakening/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Weakening/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Clarke_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Current_Filtering' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Inv_Clarke_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Inv_Park_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Park_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Sine_Cosine_Approximation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesAB' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesBC' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Current_Filtering/Low_Pass_Filter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Open_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Voltage_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt/Clamping_circuit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Speed_Mode/PI_clamp_fixdt/Saturation_hit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt/Clamping_circuit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Torque_Mode/PI_clamp_fixdt/Saturation_hit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt/Clamping_circuit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Vd_Calculation/PI_clamp_fixdt/Saturation_hit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/FOC/Voltage_Mode/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Speed_Mode_Protection' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Speed_Mode_Protection/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection/I_backCalc_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection/I_backCalc_fixdt/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Torque_Mode_Protection/I_backCalc_fixdt/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt1/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Field_Oriented_Control/Motor_Limitations/Voltage_Mode_Protection/I_backCalc_fixdt1/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/COM_Method' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/FOC_Method' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/SIN_Method' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/SIN_Method/Final_Phase_Advance_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F06_Control_Type_Management/SIN_Method/Final_Phase_Advance_Calculation/Modulo_fixdt' */ #endif /* RTW_HEADER_BLDC_controller_h_ */ diff --git a/Inc/config.h b/Inc/config.h index 00e4eee..21f9d42 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -123,11 +123,11 @@ * Make, flash and test it. */ #define CONTROL_ADC // use ADC as input. disable CONTROL_SERIAL_USART2, FEEDBACK_SERIAL_USART2, DEBUG_SERIAL_USART2! -#define ADC1_MID_POT // ADC1 middle resting poti: comment-out if NOT a middle resting poti -#define ADC2_MID_POT // ADC2 middle resting poti: comment-out if NOT a middle resting poti +// #define ADC1_MID_POT // ADC1 middle resting poti: comment-out if NOT a middle resting poti #define ADC1_MIN 0 // min ADC1-value while poti at minimum-position (0 - 4095) #define ADC1_MID 1963 // mid ADC1-value while poti at minimum-position (ADC1_MIN - ADC1_MAX) #define ADC1_MAX 4095 // max ADC1-value while poti at maximum-position (0 - 4095) +// #define ADC2_MID_POT // ADC2 middle resting poti: comment-out if NOT a middle resting poti #define ADC2_MIN 0 // min ADC2-value while poti at minimum-position (0 - 4095) #define ADC2_MID 2006 // mid ADC2-value while poti at minimum-position (ADC2_MIN - ADC2_MAX) #define ADC2_MAX 4095 // max ADC2-value while poti at maximum-position (0 - 4095) @@ -141,39 +141,55 @@ // #define CONTROL_NUNCHUCK // use nunchuck as input. disable FEEDBACK_SERIAL_USART3, DEBUG_SERIAL_USART3! -// ############################### MOTOR CONTROL (overwrite) ######################### +// ############################### MOTOR CONTROL ######################### +// Control selections #define CTRL_TYP_SEL 2 // [-] Control type selection: 0 = Commutation , 1 = Sinusoidal, 2 = FOC Field Oriented Control (default) #define CTRL_MOD_REQ 1 // [-] Control mode request: 0 = Open mode, 1 = VOLTAGE mode (default), 2 = SPEED mode, 3 = TORQUE mode. Note: SPEED and TORQUE modes are only available for FOC! #define DIAG_ENA 1 // [-] Motor Diagnostics enable flag: 0 = Disabled, 1 = Enabled (default) -#define FIELD_WEAK_ENA 0 // [-] Field Weakening enable flag: 0 = Disabled (default), 1 = Enabled -#define I_MOT_MAX (15 * A2BIT_CONV) << 4 // [A] Maximum motor current limit (Change only the first number, the rest is needed for fixed-point conversion, fixdt(1,16,4)) -#define I_DC_MAX (17 * A2BIT_CONV) // [A] Maximum DC Link current limit (This is the final current protection. Above this value, current chopping is applied. To avoid this make sure that I_DC_MAX = I_MOT_MAX + 2A ) -#define N_MOT_MAX 800 << 4 // [rpm] Maximum motor speed (change only the first number, the rest is needed for fixed-point conversion, fixdt(1,16,4)) +// Limitation settings +#define I_MOT_MAX 15 // [A] Maximum motor current limit +#define I_DC_MAX 17 // [A] Maximum DC Link current limit (This is the final current protection. Above this value, current chopping is applied. To avoid this make sure that I_DC_MAX = I_MOT_MAX + 2A) +#define N_MOT_MAX 1000 // [rpm] Maximum motor speed limit + +// Field Weakening / Phase Advance +#define FIELD_WEAK_ENA 0 // [-] Field Weakening / Phase Advance enable flag: 0 = Disabled (default), 1 = Enabled +#define FIELD_WEAK_MAX 5 // [A] Maximum Field Weakening D axis current (only for FOC). Higher current results in higher maximum speed. +#define PHASE_ADV_MAX 25 // [deg] Maximum Phase Advance angle (only for SIN). Higher angle results in higher maximum speed. +#define FIELD_WEAK_HI 1500 // [-] Input target High threshold for reaching maximum Field Weakening / Phase Advance. Do NOT set this higher than 1500. +#define FIELD_WEAK_LO 1000 // [-] Input target Low threshold for starting Field Weakening / Phase Advance. Do NOT set this higher than 1000. + +// Data checks - Do NOT touch +#if (FIELD_WEAK_ENA == 0) + #undef FIELD_WEAK_HI + #define FIELD_WEAK_HI 1000 // [-] This prevents the input target going beyond 1000 when Field Weakening is not enabled +#endif +#define INPUT_MAX MAX( 1000, FIELD_WEAK_HI) // [-] Defines the Input target maximum limitation +#define INPUT_MIN MIN(-1000,-FIELD_WEAK_HI) // [-] Defines the Input target minimum limitation +#define INPUT_MID INPUT_MAX / 2 /* GENERAL NOTES: * 1. The above parameters are over-writing the default motor parameters. For all the available parameters check BLDC_controller_data.c * 2. The parameters are represented in fixed point data type for a more efficient code execution * 3. For calibrating the fixed-point parameters use the Fixed-Point Viewer tool (see ) * 4. For more details regarding the parameters and the working principle of the controller please consult the Simulink model - * 5. A webview was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code + * 5. A webview was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code. The webview is an html page that can be opened with browsers like: Microsoft Internet Explorer or Microsoft Edge * - * NOTES Field weakening: - * 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 values in XAXIS are equally spaced for a correct Map interpolation. + * NOTES Field Weakening / Phase Advance: + * 1. The Field Weakening is a linear interpolation from 0 to FIELD_WEAK_MAX or PHASE_ADV_MAX (depeding if FOC or SIN is selected, respectively) + * 2. The Field Weakening starts engaging at FIELD_WEAK_LO and reaches the maximum value at FIELD_WEAK_HI + * 3. If you re-calibrate the Field Weakening please take all the safety measures! The motors can spin very fast! */ // ############################### DRIVING BEHAVIOR ############################### /* Inputs: - * - cmd1 and cmd2: analog normalized input values. -1000 to 1000 + * - cmd1 and cmd2: analog normalized input values. INPUT_MIN to INPUT_MAX * - button1 and button2: digital input values. 0 or 1 * - adc_buffer.l_tx2 and adc_buffer.l_rx2: unfiltered ADC values (you do not need them). 0 to 4095 * Outputs: - * - speedR and speedL: normal driving -1000 to 1000 + * - speedR and speedL: normal driving INPUT_MIN to INPUT_MAX */ // Value of RATE is in fixdt(1,16,4): VAL_fixedPoint = VAL_floatingPoint * 2^4. In this case 480 = 30 * 2^4 diff --git a/Inc/rtwtypes.h b/Inc/rtwtypes.h index 51b2686..0731f04 100644 --- a/Inc/rtwtypes.h +++ b/Inc/rtwtypes.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1212 + * Model version : 1.1249 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 + * C/C++ source code generated on : Thu Dec 12 20:22:31 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 561ee33..54551bf 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.1212 + * Model version : 1.1249 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 + * C/C++ source code generated on : Thu Dec 12 20:22:31 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -97,32 +97,26 @@ uint8_T plook_u8s16_evencka(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T maxIndex); uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T maxIndex); -uint8_T plook_u8s16u8n7_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, - uint32_T maxIndex, uint8_T *fraction); -int16_T intrp1d_s16s32s32u8u8n7l_s(uint8_T bpIndex, uint8_T frac, const int16_T - table[]); int32_T div_nde_s32_floor(int32_T numerator, int32_T denominator); 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); -extern void PI_clamp_fixdt_Reset(DW_PI_clamp_fixdt *localDW); extern void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T rtu_satMax, int16_T rtu_satMin, int32_T rtu_ext_limProt, int16_T *rty_out, DW_PI_clamp_fixdt *localDW); extern void Low_Pass_Filter_Reset(DW_Low_Pass_Filter *localDW); extern void Low_Pass_Filter(const int16_T rtu_u[2], uint16_T rtu_coef, int16_T rty_y[2], DW_Low_Pass_Filter *localDW); -extern void PI_clamp_fixdt_n_Reset(DW_PI_clamp_fixdt_c *localDW); -extern int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, - int16_T rtu_satMax, int16_T rtu_satMin, int16_T rtu_ext_limProt, - DW_PI_clamp_fixdt_c *localDW); +extern void I_backCalc_fixdt_Init(DW_I_backCalc_fixdt *localDW, int32_T + rtp_yInit); +extern void I_backCalc_fixdt(int16_T rtu_err, uint16_T rtu_I, uint16_T rtu_Kb, + int16_T rtu_satMax, int16_T rtu_satMin, int16_T *rty_out, DW_I_backCalc_fixdt * + 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); -extern void either_edge_Reset(DW_either_edge *localDW); extern boolean_T either_edge(boolean_T rtu_u, DW_either_edge *localDW); extern void Debounce_Filter_Init(DW_Debounce_Filter *localDW); -extern void Debounce_Filter_Reset(DW_Debounce_Filter *localDW); extern void Debounce_Filter(boolean_T rtu_u, uint16_T rtu_tAcv, uint16_T rtu_tDeacv, boolean_T *rty_y, DW_Debounce_Filter *localDW); uint8_T plook_u8s16_evencka(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T @@ -179,79 +173,29 @@ uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T return bpIndex; } -uint8_T plook_u8s16u8n7_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, - uint32_T maxIndex, uint8_T *fraction) -{ - uint8_T bpIndex; - uint16_T uAdjust; - uint16_T fbpIndex; - - /* Prelookup - Index and Fraction - Index Search method: 'even' - Extrapolation method: 'Clip' - Use previous index: 'off' - Use last breakpoint for index at or above upper limit: 'off' - Remove protection against out-of-range input in generated code: 'off' - Rounding mode: 'simplest' - */ - if (u <= bp0) { - bpIndex = 0U; - *fraction = 0U; - } else { - uAdjust = (uint16_T)(u - bp0); - fbpIndex = (uint16_T)((uint32_T)uAdjust / bpSpace); - if (fbpIndex < maxIndex) { - bpIndex = (uint8_T)fbpIndex; - *fraction = (uint8_T)(((uint32_T)(uint16_T)((uint32_T)uAdjust - (uint16_T) - ((uint32_T)bpIndex * bpSpace)) << 7) / bpSpace); - } else { - bpIndex = (uint8_T)(maxIndex - 1U); - *fraction = 128U; - } - } - - return bpIndex; -} - -int16_T intrp1d_s16s32s32u8u8n7l_s(uint8_T bpIndex, uint8_T frac, const int16_T - table[]) -{ - uint32_T offset_0d; - - /* Interpolation 1-D - Interpolation method: 'Linear' - Use last breakpoint for index at or above upper limit: 'off' - Rounding mode: 'simplest' - Overflow mode: 'wrapping' - */ - offset_0d = bpIndex; - return (int16_T)((int16_T)(((table[offset_0d + 1U] - table[offset_0d]) * frac) - >> 7) + table[offset_0d]); -} - int32_T div_nde_s32_floor(int32_T numerator, int32_T denominator) { return (((numerator < 0) != (denominator < 0)) && (numerator % denominator != 0) ? -1 : 0) + numerator / denominator; } -/* System initialize for atomic system: '/Counter' */ +/* System initialize for atomic system: '/Counter' */ void Counter_Init(DW_Counter *localDW, int16_T rtp_z_cntInit) { - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtp_z_cntInit; } -/* Output and update for atomic system: '/Counter' */ +/* Output and update for atomic system: '/Counter' */ int16_T Counter(int16_T rtu_inc, int16_T rtu_max, boolean_T rtu_rst, DW_Counter * localDW) { int16_T rtu_rst_0; int16_T rty_cnt_0; - /* Switch: '/Switch1' incorporates: - * Constant: '/Constant23' - * UnitDelay: '/UnitDelay' + /* Switch: '/Switch1' incorporates: + * Constant: '/Constant23' + * UnitDelay: '/UnitDelay' */ if (rtu_rst) { rtu_rst_0 = 0; @@ -259,56 +203,43 @@ int16_T Counter(int16_T rtu_inc, int16_T rtu_max, boolean_T rtu_rst, DW_Counter rtu_rst_0 = localDW->UnitDelay_DSTATE; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Sum: '/Sum1' */ + /* Sum: '/Sum1' */ rty_cnt_0 = (int16_T)(rtu_inc + rtu_rst_0); - /* MinMax: '/MinMax' */ + /* MinMax: '/MinMax' */ if (rty_cnt_0 < rtu_max) { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rty_cnt_0; } else { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtu_max; } - /* End of MinMax: '/MinMax' */ + /* End of MinMax: '/MinMax' */ return rty_cnt_0; } -/* - * System reset for atomic system: - * '/PI_clamp_fixdt_id' - * '/PI_clamp_fixdt_iq' - */ -void PI_clamp_fixdt_Reset(DW_PI_clamp_fixdt *localDW) -{ - /* InitializeConditions for UnitDelay: '/UnitDelay1' */ - localDW->UnitDelay1_DSTATE = false; - - /* InitializeConditions for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = 0; -} - /* * Output and update for atomic system: - * '/PI_clamp_fixdt_id' - * '/PI_clamp_fixdt_iq' + * '/PI_clamp_fixdt' + * '/PI_clamp_fixdt' + * '/PI_clamp_fixdt' */ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T rtu_satMax, int16_T rtu_satMin, int32_T rtu_ext_limProt, int16_T *rty_out, DW_PI_clamp_fixdt *localDW) { - boolean_T rtb_LowerRelop1_e; - boolean_T rtb_UpperRelop_f; - int32_T rtb_Sum1_b4; + boolean_T rtb_LowerRelop1_c; + boolean_T rtb_UpperRelop_e; + int32_T rtb_Sum1_n; int32_T q0; int32_T tmp; int16_T tmp_0; - /* Sum: '/Sum2' incorporates: - * Product: '/Divide2' + /* Sum: '/Sum2' incorporates: + * Product: '/Divide2' */ q0 = rtu_err * rtu_I; if ((q0 < 0) && (rtu_ext_limProt < MIN_int32_T - q0)) { @@ -319,10 +250,10 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T q0 += rtu_ext_limProt; } - /* Switch: '/Switch1' incorporates: - * Constant: '/a_elecPeriod1' - * Sum: '/Sum2' - * UnitDelay: '/UnitDelay1' + /* Switch: '/Switch1' incorporates: + * Constant: '/Constant' + * Sum: '/Sum2' + * UnitDelay: '/UnitDelay1' */ if (localDW->UnitDelay1_DSTATE) { tmp = 0; @@ -330,14 +261,14 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T tmp = q0; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Sum: '/Sum1' incorporates: - * UnitDelay: '/UnitDelay' + /* Sum: '/Sum1' incorporates: + * UnitDelay: '/UnitDelay' */ - rtb_Sum1_b4 = tmp + localDW->UnitDelay_DSTATE; + rtb_Sum1_n = tmp + localDW->UnitDelay_DSTATE; - /* Product: '/Divide5' */ + /* Product: '/Divide5' */ tmp = (rtu_err * rtu_P) >> 11; if (tmp > 32767) { tmp = 32767; @@ -347,11 +278,11 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T } } - /* Sum: '/Sum1' incorporates: - * DataTypeConversion: '/Data Type Conversion1' - * Product: '/Divide5' + /* Sum: '/Sum1' incorporates: + * DataTypeConversion: '/Data Type Conversion1' + * Product: '/Divide5' */ - tmp = (((rtb_Sum1_b4 >> 16) << 1) + tmp) >> 1; + tmp = (((rtb_Sum1_n >> 16) << 1) + tmp) >> 1; if (tmp > 32767) { tmp = 32767; } else { @@ -360,33 +291,33 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T } } - /* RelationalOperator: '/LowerRelop1' incorporates: - * Sum: '/Sum1' + /* RelationalOperator: '/LowerRelop1' incorporates: + * Sum: '/Sum1' */ - rtb_LowerRelop1_e = ((int16_T)tmp > rtu_satMax); + rtb_LowerRelop1_c = ((int16_T)tmp > rtu_satMax); - /* RelationalOperator: '/UpperRelop' incorporates: - * Sum: '/Sum1' + /* RelationalOperator: '/UpperRelop' incorporates: + * Sum: '/Sum1' */ - rtb_UpperRelop_f = ((int16_T)tmp < rtu_satMin); + rtb_UpperRelop_e = ((int16_T)tmp < rtu_satMin); - /* Switch: '/Switch1' incorporates: - * Sum: '/Sum1' - * Switch: '/Switch3' + /* Switch: '/Switch1' incorporates: + * Sum: '/Sum1' + * Switch: '/Switch3' */ - if (rtb_LowerRelop1_e) { + if (rtb_LowerRelop1_c) { *rty_out = rtu_satMax; - } else if (rtb_UpperRelop_f) { - /* Switch: '/Switch3' */ + } else if (rtb_UpperRelop_e) { + /* Switch: '/Switch3' */ *rty_out = rtu_satMin; } else { *rty_out = (int16_T)tmp; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Signum: '/SignDeltaU2' incorporates: - * Sum: '/Sum2' + /* Signum: '/SignDeltaU2' incorporates: + * Sum: '/Sum2' */ if (q0 < 0) { q0 = -1; @@ -394,10 +325,10 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T q0 = (q0 > 0); } - /* End of Signum: '/SignDeltaU2' */ + /* End of Signum: '/SignDeltaU2' */ - /* Signum: '/SignDeltaU3' incorporates: - * Sum: '/Sum1' + /* Signum: '/SignDeltaU3' incorporates: + * Sum: '/Sum1' */ if ((int16_T)tmp < 0) { tmp_0 = -1; @@ -405,22 +336,22 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T tmp_0 = (int16_T)((int16_T)tmp > 0); } - /* End of Signum: '/SignDeltaU3' */ + /* End of Signum: '/SignDeltaU3' */ - /* Update for UnitDelay: '/UnitDelay1' incorporates: - * DataTypeConversion: '/DataTypeConv4' - * Logic: '/AND1' - * Logic: '/AND1' - * RelationalOperator: '/Equal1' + /* Update for UnitDelay: '/UnitDelay1' incorporates: + * DataTypeConversion: '/DataTypeConv4' + * Logic: '/AND1' + * Logic: '/AND1' + * RelationalOperator: '/Equal1' */ - localDW->UnitDelay1_DSTATE = ((q0 == tmp_0) && (rtb_LowerRelop1_e || - rtb_UpperRelop_f)); + localDW->UnitDelay1_DSTATE = ((q0 == tmp_0) && (rtb_LowerRelop1_c || + rtb_UpperRelop_e)); - /* Update for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = rtb_Sum1_b4; + /* Update for UnitDelay: '/UnitDelay' */ + localDW->UnitDelay_DSTATE = rtb_Sum1_n; } -/* System reset for atomic system: '/Low_Pass_Filter' */ +/* System reset for atomic system: '/Low_Pass_Filter' */ void Low_Pass_Filter_Reset(DW_Low_Pass_Filter *localDW) { /* InitializeConditions for UnitDelay: '/UnitDelay3' */ @@ -428,7 +359,7 @@ void Low_Pass_Filter_Reset(DW_Low_Pass_Filter *localDW) localDW->UnitDelay3_DSTATE[1] = 0; } -/* Output and update for atomic system: '/Low_Pass_Filter' */ +/* Output and update for atomic system: '/Low_Pass_Filter' */ void Low_Pass_Filter(const int16_T rtu_u[2], uint16_T rtu_coef, int16_T rty_y[2], DW_Low_Pass_Filter *localDW) { @@ -460,159 +391,98 @@ void Low_Pass_Filter(const int16_T rtu_u[2], uint16_T rtu_coef, int16_T rty_y[2] localDW->UnitDelay3_DSTATE[1] = rty_y[1]; } -/* System reset for atomic system: '/PI_clamp_fixdt_n' */ -void PI_clamp_fixdt_n_Reset(DW_PI_clamp_fixdt_c *localDW) +/* + * System initialize for atomic system: + * '/I_backCalc_fixdt' + * '/I_backCalc_fixdt1' + * '/I_backCalc_fixdt' + */ +void I_backCalc_fixdt_Init(DW_I_backCalc_fixdt *localDW, int32_T rtp_yInit) { - /* InitializeConditions for UnitDelay: '/UnitDelay1' */ - localDW->UnitDelay1_DSTATE = false; - - /* InitializeConditions for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = 0; + /* InitializeConditions for UnitDelay: '/UnitDelay' */ + localDW->UnitDelay_DSTATE_h = rtp_yInit; } -/* Output and update for atomic system: '/PI_clamp_fixdt_n' */ -int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, - int16_T rtu_satMax, int16_T rtu_satMin, int16_T rtu_ext_limProt, - DW_PI_clamp_fixdt_c *localDW) +/* + * Output and update for atomic system: + * '/I_backCalc_fixdt' + * '/I_backCalc_fixdt1' + * '/I_backCalc_fixdt' + */ +void I_backCalc_fixdt(int16_T rtu_err, uint16_T rtu_I, uint16_T rtu_Kb, int16_T + rtu_satMax, int16_T rtu_satMin, int16_T *rty_out, + DW_I_backCalc_fixdt *localDW) { - boolean_T rtb_LowerRelop1_ge; - boolean_T rtb_UpperRelop_o; - int32_T rtb_Sum1_mz; - int32_T q0; - int32_T q1; - int16_T tmp; - int16_T rty_out_0; - - /* Sum: '/Sum2' incorporates: - * Product: '/Divide2' - */ - q0 = rtu_err * rtu_I; - q1 = rtu_ext_limProt << 10; - if ((q0 < 0) && (q1 < MIN_int32_T - q0)) { - q0 = MIN_int32_T; - } else if ((q0 > 0) && (q1 > MAX_int32_T - q0)) { - q0 = MAX_int32_T; - } else { - q0 += q1; - } - - /* Switch: '/Switch1' incorporates: - * Constant: '/a_elecPeriod1' - * Sum: '/Sum2' - * UnitDelay: '/UnitDelay1' - */ - if (localDW->UnitDelay1_DSTATE) { - q1 = 0; - } else { - q1 = q0; - } - - /* End of Switch: '/Switch1' */ - - /* Sum: '/Sum1' incorporates: - * UnitDelay: '/UnitDelay' - */ - rtb_Sum1_mz = q1 + localDW->UnitDelay_DSTATE; - - /* Product: '/Divide5' */ - q1 = (rtu_err * rtu_P) >> 11; - if (q1 > 32767) { - q1 = 32767; - } else { - if (q1 < -32768) { - q1 = -32768; - } - } - - /* Sum: '/Sum1' incorporates: - * DataTypeConversion: '/Data Type Conversion1' - * Product: '/Divide5' - */ - q1 = (((rtb_Sum1_mz >> 16) << 1) + q1) >> 1; - if (q1 > 32767) { - q1 = 32767; - } else { - if (q1 < -32768) { - q1 = -32768; - } - } + int32_T rtb_Sum1_e0; + int16_T rtb_DataTypeConversion1_no; - /* RelationalOperator: '/LowerRelop1' incorporates: - * Sum: '/Sum1' + /* Sum: '/Sum2' incorporates: + * Product: '/Divide2' + * UnitDelay: '/UnitDelay' */ - rtb_LowerRelop1_ge = ((int16_T)q1 > rtu_satMax); - - /* RelationalOperator: '/UpperRelop' incorporates: - * Sum: '/Sum1' - */ - rtb_UpperRelop_o = ((int16_T)q1 < rtu_satMin); - - /* Switch: '/Switch1' incorporates: - * Sum: '/Sum1' - * Switch: '/Switch3' - */ - if (rtb_LowerRelop1_ge) { - rty_out_0 = rtu_satMax; - } else if (rtb_UpperRelop_o) { - /* Switch: '/Switch3' */ - rty_out_0 = rtu_satMin; + rtb_Sum1_e0 = (rtu_err * rtu_I) >> 4; + if ((rtb_Sum1_e0 < 0) && (localDW->UnitDelay_DSTATE < MIN_int32_T + - rtb_Sum1_e0)) { + rtb_Sum1_e0 = MIN_int32_T; + } else if ((rtb_Sum1_e0 > 0) && (localDW->UnitDelay_DSTATE > MAX_int32_T + - rtb_Sum1_e0)) { + rtb_Sum1_e0 = MAX_int32_T; } else { - rty_out_0 = (int16_T)q1; + rtb_Sum1_e0 += localDW->UnitDelay_DSTATE; } - /* End of Switch: '/Switch1' */ + /* End of Sum: '/Sum2' */ - /* Signum: '/SignDeltaU2' incorporates: - * Sum: '/Sum2' + /* Sum: '/Sum1' incorporates: + * UnitDelay: '/UnitDelay' */ - if (q0 < 0) { - q0 = -1; - } else { - q0 = (q0 > 0); - } + rtb_Sum1_e0 += localDW->UnitDelay_DSTATE_h; - /* End of Signum: '/SignDeltaU2' */ + /* DataTypeConversion: '/Data Type Conversion1' */ + rtb_DataTypeConversion1_no = (int16_T)(rtb_Sum1_e0 >> 12); - /* Signum: '/SignDeltaU3' incorporates: - * Sum: '/Sum1' + /* Switch: '/Switch2' incorporates: + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' */ - if ((int16_T)q1 < 0) { - tmp = -1; + if (rtb_DataTypeConversion1_no > rtu_satMax) { + *rty_out = rtu_satMax; + } else if (rtb_DataTypeConversion1_no < rtu_satMin) { + /* Switch: '/Switch' */ + *rty_out = rtu_satMin; } else { - tmp = (int16_T)((int16_T)q1 > 0); + *rty_out = rtb_DataTypeConversion1_no; } - /* End of Signum: '/SignDeltaU3' */ + /* End of Switch: '/Switch2' */ - /* Update for UnitDelay: '/UnitDelay1' incorporates: - * DataTypeConversion: '/DataTypeConv4' - * Logic: '/AND1' - * Logic: '/AND1' - * RelationalOperator: '/Equal1' + /* Update for UnitDelay: '/UnitDelay' incorporates: + * Product: '/Divide1' + * Sum: '/Sum3' */ - localDW->UnitDelay1_DSTATE = ((q0 == tmp) && (rtb_LowerRelop1_ge || - rtb_UpperRelop_o)); + localDW->UnitDelay_DSTATE = (int16_T)(*rty_out - rtb_DataTypeConversion1_no) * + rtu_Kb; - /* Update for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = rtb_Sum1_mz; - return rty_out_0; + /* Update for UnitDelay: '/UnitDelay' */ + localDW->UnitDelay_DSTATE_h = rtb_Sum1_e0; } /* * System initialize for atomic system: - * '/Counter' - * '/Counter' + * '/Counter' + * '/Counter' */ void Counter_b_Init(DW_Counter_l *localDW, uint16_T rtp_z_cntInit) { - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtp_z_cntInit; } /* * Output and update for atomic system: - * '/Counter' - * '/Counter' + * '/Counter' + * '/Counter' */ uint16_T Counter_i(uint16_T rtu_inc, uint16_T rtu_max, boolean_T rtu_rst, DW_Counter_l *localDW) @@ -620,9 +490,9 @@ uint16_T Counter_i(uint16_T rtu_inc, uint16_T rtu_max, boolean_T rtu_rst, uint16_T rtu_rst_0; uint16_T rty_cnt_0; - /* Switch: '/Switch1' incorporates: - * Constant: '/Constant23' - * UnitDelay: '/UnitDelay' + /* Switch: '/Switch1' incorporates: + * Constant: '/Constant23' + * UnitDelay: '/UnitDelay' */ if (rtu_rst) { rtu_rst_0 = 0U; @@ -630,50 +500,39 @@ uint16_T Counter_i(uint16_T rtu_inc, uint16_T rtu_max, boolean_T rtu_rst, rtu_rst_0 = localDW->UnitDelay_DSTATE; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Sum: '/Sum1' */ + /* Sum: '/Sum1' */ rty_cnt_0 = (uint16_T)((uint32_T)rtu_inc + rtu_rst_0); - /* MinMax: '/MinMax' */ + /* MinMax: '/MinMax' */ if (rty_cnt_0 < rtu_max) { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rty_cnt_0; } else { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtu_max; } - /* End of MinMax: '/MinMax' */ + /* End of MinMax: '/MinMax' */ return rty_cnt_0; } -/* - * System reset for atomic system: - * '/either_edge' - * '/either_edge' - */ -void either_edge_Reset(DW_either_edge *localDW) -{ - /* InitializeConditions for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = false; -} - /* * Output and update for atomic system: - * '/either_edge' + * '/either_edge' * '/either_edge' */ boolean_T either_edge(boolean_T rtu_u, DW_either_edge *localDW) { boolean_T rty_y_0; - /* RelationalOperator: '/Relational Operator' incorporates: - * UnitDelay: '/UnitDelay' + /* RelationalOperator: '/Relational Operator' incorporates: + * UnitDelay: '/UnitDelay' */ rty_y_0 = (rtu_u != localDW->UnitDelay_DSTATE); - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtu_u; return rty_y_0; } @@ -681,107 +540,98 @@ boolean_T either_edge(boolean_T rtu_u, DW_either_edge *localDW) /* System initialize for atomic system: '/Debounce_Filter' */ void Debounce_Filter_Init(DW_Debounce_Filter *localDW) { - /* SystemInitialize for IfAction SubSystem: '/Qualification' */ + /* SystemInitialize for IfAction SubSystem: '/Qualification' */ - /* SystemInitialize for Atomic SubSystem: '/Counter' */ + /* SystemInitialize for Atomic SubSystem: '/Counter' */ Counter_b_Init(&localDW->Counter_i0, 0U); - /* End of SystemInitialize for SubSystem: '/Counter' */ + /* End of SystemInitialize for SubSystem: '/Counter' */ - /* End of SystemInitialize for SubSystem: '/Qualification' */ + /* End of SystemInitialize for SubSystem: '/Qualification' */ - /* SystemInitialize for IfAction SubSystem: '/Dequalification' */ + /* SystemInitialize for IfAction SubSystem: '/Dequalification' */ - /* SystemInitialize for Atomic SubSystem: '/Counter' */ + /* SystemInitialize for Atomic SubSystem: '/Counter' */ Counter_b_Init(&localDW->Counter_h, 0U); - /* End of SystemInitialize for SubSystem: '/Counter' */ - - /* End of SystemInitialize for SubSystem: '/Dequalification' */ -} - -/* System reset for atomic system: '/Debounce_Filter' */ -void Debounce_Filter_Reset(DW_Debounce_Filter *localDW) -{ - /* InitializeConditions for UnitDelay: '/UnitDelay' */ - localDW->UnitDelay_DSTATE = false; - - /* SystemReset for Atomic SubSystem: '/either_edge' */ - either_edge_Reset(&localDW->either_edge_k); + /* End of SystemInitialize for SubSystem: '/Counter' */ - /* End of SystemReset for SubSystem: '/either_edge' */ + /* End of SystemInitialize for SubSystem: '/Dequalification' */ } /* Output and update for atomic system: '/Debounce_Filter' */ void Debounce_Filter(boolean_T rtu_u, uint16_T rtu_tAcv, uint16_T rtu_tDeacv, boolean_T *rty_y, DW_Debounce_Filter *localDW) { - uint16_T rtb_Sum1_l; + boolean_T rtb_UnitDelay_o; + uint16_T rtb_Sum1_g3; boolean_T rtb_RelationalOperator_f; - /* Outputs for Atomic SubSystem: '/either_edge' */ + /* UnitDelay: '/UnitDelay' */ + rtb_UnitDelay_o = localDW->UnitDelay_DSTATE; + + /* Outputs for Atomic SubSystem: '/either_edge' */ rtb_RelationalOperator_f = either_edge(rtu_u, &localDW->either_edge_k); - /* End of Outputs for SubSystem: '/either_edge' */ - - /* If: '/If2' incorporates: - * Constant: '/Constant6' - * Constant: '/Constant6' - * Inport: '/yPrev' - * Logic: '/Logical Operator1' - * Logic: '/Logical Operator2' - * Logic: '/Logical Operator3' - * Logic: '/Logical Operator4' - * UnitDelay: '/UnitDelay' + /* End of Outputs for SubSystem: '/either_edge' */ + + /* If: '/If2' incorporates: + * Constant: '/Constant6' + * Constant: '/Constant6' + * Inport: '/yPrev' + * Logic: '/Logical Operator1' + * Logic: '/Logical Operator2' + * Logic: '/Logical Operator3' + * Logic: '/Logical Operator4' */ - if (rtu_u && (!localDW->UnitDelay_DSTATE)) { - /* Outputs for IfAction SubSystem: '/Qualification' incorporates: - * ActionPort: '/Action Port' + if (rtu_u && (!rtb_UnitDelay_o)) { + /* Outputs for IfAction SubSystem: '/Qualification' incorporates: + * ActionPort: '/Action Port' */ - /* Outputs for Atomic SubSystem: '/Counter' */ - rtb_Sum1_l = (uint16_T) Counter_i(1U, rtu_tAcv, rtb_RelationalOperator_f, + /* Outputs for Atomic SubSystem: '/Counter' */ + rtb_Sum1_g3 = (uint16_T) Counter_i(1U, rtu_tAcv, rtb_RelationalOperator_f, &localDW->Counter_i0); - /* End of Outputs for SubSystem: '/Counter' */ + /* End of Outputs for SubSystem: '/Counter' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant6' - * RelationalOperator: '/Relational Operator2' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant6' + * RelationalOperator: '/Relational Operator2' */ - *rty_y = ((rtb_Sum1_l > rtu_tAcv) || localDW->UnitDelay_DSTATE); + *rty_y = (rtb_Sum1_g3 > rtu_tAcv); - /* End of Outputs for SubSystem: '/Qualification' */ - } else if ((!rtu_u) && localDW->UnitDelay_DSTATE) { - /* Outputs for IfAction SubSystem: '/Dequalification' incorporates: - * ActionPort: '/Action Port' + /* End of Outputs for SubSystem: '/Qualification' */ + } else if ((!rtu_u) && rtb_UnitDelay_o) { + /* Outputs for IfAction SubSystem: '/Dequalification' incorporates: + * ActionPort: '/Action Port' */ - /* Outputs for Atomic SubSystem: '/Counter' */ - rtb_Sum1_l = (uint16_T) Counter_i(1U, rtu_tDeacv, rtb_RelationalOperator_f, + /* Outputs for Atomic SubSystem: '/Counter' */ + rtb_Sum1_g3 = (uint16_T) Counter_i(1U, rtu_tDeacv, rtb_RelationalOperator_f, &localDW->Counter_h); - /* End of Outputs for SubSystem: '/Counter' */ + /* End of Outputs for SubSystem: '/Counter' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant6' - * RelationalOperator: '/Relational Operator2' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant6' + * RelationalOperator: '/Relational Operator2' */ - *rty_y = ((!(rtb_Sum1_l > rtu_tDeacv)) && localDW->UnitDelay_DSTATE); + *rty_y = !(rtb_Sum1_g3 > rtu_tDeacv); - /* End of Outputs for SubSystem: '/Dequalification' */ + /* End of Outputs for SubSystem: '/Dequalification' */ } else { - /* Outputs for IfAction SubSystem: '/Default' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Default' incorporates: + * ActionPort: '/Action Port' */ - *rty_y = localDW->UnitDelay_DSTATE; + *rty_y = rtb_UnitDelay_o; - /* End of Outputs for SubSystem: '/Default' */ + /* End of Outputs for SubSystem: '/Default' */ } - /* End of If: '/If2' */ + /* End of If: '/If2' */ - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = *rty_y; } @@ -794,36 +644,33 @@ void BLDC_controller_step(RT_MODEL *const rtM) ExtY *rtY = (ExtY *) rtM->outputs; uint8_T rtb_Sum; boolean_T rtb_LogicalOperator; + boolean_T rtb_RelationalOperator9; int8_T rtb_Sum2_h; boolean_T rtb_RelationalOperator4_d; boolean_T rtb_RelationalOperator1_m; uint8_T rtb_Sum_l; - uint8_T rtb_r_fieldWeak_XA_o1; int16_T rtb_Switch2_k; int16_T rtb_Abs5; int16_T rtb_Switch2_fl; int16_T rtb_Switch1_l; + int16_T rtb_DataTypeConversion2; + int16_T rtb_Saturation1; + int16_T rtb_Switch2_l; int16_T rtb_Merge; - int16_T rtb_Merge1; + int16_T rtb_toNegative; int32_T rtb_DataTypeConversion; - int16_T rtb_Saturation; int32_T rtb_Switch1; int32_T rtb_Sum1; int32_T rtb_Gain3; - int16_T rtb_toNegative; - int16_T rtb_Gain4; - uint8_T rtb_r_fieldWeak_XA_o2; - int16_T rtb_Gain2_f; - int16_T rtb_id_fieldWeak_M1; - int16_T rtb_MinMax2; int16_T rtb_TmpSignalConversionAtLow_Pa[2]; int16_T tmp[4]; int8_T UnitDelay3; + int16_T rtb_Merge_f_idx_1; /* Outputs for Atomic SubSystem: '/BLDC_controller' */ - /* Sum: '/Sum' incorporates: - * Gain: '/g_Ha' - * Gain: '/g_Hb' + /* Sum: '/Sum' incorporates: + * Gain: '/g_Ha' + * Gain: '/g_Hb' * Inport: '/b_hallA ' * Inport: '/b_hallB' * Inport: '/b_hallC' @@ -831,85 +678,85 @@ 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); - /* Logic: '/Logical Operator' incorporates: + /* Logic: '/Logical Operator' incorporates: * Inport: '/b_hallA ' * Inport: '/b_hallB' * Inport: '/b_hallC' - * UnitDelay: '/UnitDelay1' - * UnitDelay: '/UnitDelay2' - * UnitDelay: '/UnitDelay3' + * UnitDelay: '/UnitDelay1' + * UnitDelay: '/UnitDelay2' + * UnitDelay: '/UnitDelay3' */ rtb_LogicalOperator = (boolean_T)((rtU->b_hallA != 0) ^ (rtU->b_hallB != 0) ^ (rtU->b_hallC != 0) ^ (rtDW->UnitDelay3_DSTATE_fy != 0) ^ (rtDW->UnitDelay1_DSTATE != 0)) ^ (rtDW->UnitDelay2_DSTATE_f != 0); - /* If: '/If2' incorporates: + /* If: '/If2' incorporates: * If: '/If2' - * Inport: '/z_counterRawPrev' - * UnitDelay: '/UnitDelay3' + * Inport: '/z_counterRawPrev' + * UnitDelay: '/UnitDelay3' */ if (rtb_LogicalOperator) { /* Outputs for IfAction SubSystem: '/F01_03_Direction_Detection' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* UnitDelay: '/UnitDelay3' */ - UnitDelay3 = rtDW->Switch2; + /* UnitDelay: '/UnitDelay3' */ + UnitDelay3 = rtDW->Switch2_e; - /* Sum: '/Sum2' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' - * UnitDelay: '/UnitDelay2' + /* Sum: '/Sum2' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' + * UnitDelay: '/UnitDelay2' */ rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] - rtDW->UnitDelay2_DSTATE_b); - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant20' - * Constant: '/Constant23' - * Constant: '/Constant24' - * Constant: '/Constant8' - * Logic: '/Logical Operator3' - * RelationalOperator: '/Relational Operator1' - * RelationalOperator: '/Relational Operator6' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant20' + * Constant: '/Constant23' + * Constant: '/Constant24' + * Constant: '/Constant8' + * Logic: '/Logical Operator3' + * RelationalOperator: '/Relational Operator1' + * RelationalOperator: '/Relational Operator6' */ if ((rtb_Sum2_h == 1) || (rtb_Sum2_h == -5)) { - rtDW->Switch2 = 1; + rtDW->Switch2_e = 1; } else { - rtDW->Switch2 = -1; + rtDW->Switch2_e = -1; } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Update for UnitDelay: '/UnitDelay2' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + /* Update for UnitDelay: '/UnitDelay2' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' */ rtDW->UnitDelay2_DSTATE_b = rtConstP.vec_hallToPos_Value[rtb_Sum]; /* End of Outputs for SubSystem: '/F01_03_Direction_Detection' */ - /* Outputs for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' incorporates: + * ActionPort: '/Action Port' */ rtDW->z_counterRawPrev = rtDW->UnitDelay3_DSTATE; - /* Sum: '/Sum7' incorporates: - * Inport: '/z_counterRawPrev' - * UnitDelay: '/UnitDelay3' - * UnitDelay: '/UnitDelay4' + /* Sum: '/Sum7' incorporates: + * Inport: '/z_counterRawPrev' + * UnitDelay: '/UnitDelay3' + * UnitDelay: '/UnitDelay4' */ rtb_Switch2_k = (int16_T)(rtDW->z_counterRawPrev - rtDW->UnitDelay4_DSTATE); - /* Abs: '/Abs2' */ + /* Abs: '/Abs2' */ if (rtb_Switch2_k < 0) { rtb_Switch1_l = (int16_T)-rtb_Switch2_k; } else { rtb_Switch1_l = rtb_Switch2_k; } - /* End of Abs: '/Abs2' */ + /* End of Abs: '/Abs2' */ - /* Relay: '/dz_cntTrnsDet' */ + /* Relay: '/dz_cntTrnsDet' */ if (rtb_Switch1_l >= rtP->dz_cntTrnsDetHi) { rtDW->dz_cntTrnsDet_Mode = true; } else { @@ -920,92 +767,92 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->dz_cntTrnsDet = rtDW->dz_cntTrnsDet_Mode; - /* End of Relay: '/dz_cntTrnsDet' */ + /* End of Relay: '/dz_cntTrnsDet' */ - /* RelationalOperator: '/Relational Operator4' */ - rtb_RelationalOperator4_d = (rtDW->Switch2 != UnitDelay3); + /* RelationalOperator: '/Relational Operator4' */ + rtb_RelationalOperator4_d = (rtDW->Switch2_e != UnitDelay3); - /* Switch: '/Switch3' incorporates: - * Constant: '/Constant4' - * Logic: '/Logical Operator1' - * Switch: '/Switch1' - * Switch: '/Switch2' - * UnitDelay: '/UnitDelay1' + /* Switch: '/Switch3' incorporates: + * Constant: '/Constant4' + * Logic: '/Logical Operator1' + * Switch: '/Switch1' + * Switch: '/Switch2' + * UnitDelay: '/UnitDelay1' */ if (rtb_RelationalOperator4_d && rtDW->UnitDelay1_DSTATE_n) { rtb_Switch1_l = 0; } else if (rtb_RelationalOperator4_d) { - /* Switch: '/Switch2' incorporates: - * UnitDelay: '/UnitDelay4' + /* Switch: '/Switch2' incorporates: + * UnitDelay: '/UnitDelay4' */ rtb_Switch1_l = rtDW->UnitDelay4_DSTATE_e; } else if (rtDW->dz_cntTrnsDet) { - /* Switch: '/Switch1' incorporates: - * Constant: '/cf_speedCoef' - * Product: '/Divide14' - * Switch: '/Switch2' + /* Switch: '/Switch1' incorporates: + * Constant: '/cf_speedCoef' + * Product: '/Divide14' + * Switch: '/Switch2' */ rtb_Switch1_l = (int16_T)((rtP->cf_speedCoef << 4) / rtDW->z_counterRawPrev); } else { - /* Switch: '/Switch1' incorporates: - * Constant: '/cf_speedCoef' - * Gain: '/g_Ha' - * Product: '/Divide13' - * Sum: '/Sum13' - * Switch: '/Switch2' - * UnitDelay: '/UnitDelay2' - * UnitDelay: '/UnitDelay3' - * UnitDelay: '/UnitDelay5' + /* Switch: '/Switch1' incorporates: + * Constant: '/cf_speedCoef' + * Gain: '/g_Ha' + * Product: '/Divide13' + * Sum: '/Sum13' + * Switch: '/Switch2' + * UnitDelay: '/UnitDelay2' + * UnitDelay: '/UnitDelay3' + * UnitDelay: '/UnitDelay5' */ rtb_Switch1_l = (int16_T)(((uint16_T)(rtP->cf_speedCoef << 2) << 4) / (int16_T)(((rtDW->UnitDelay2_DSTATE + rtDW->UnitDelay3_DSTATE_o) + rtDW->UnitDelay5_DSTATE) + rtDW->z_counterRawPrev)); } - /* End of Switch: '/Switch3' */ + /* End of Switch: '/Switch3' */ - /* Product: '/Divide11' */ - rtDW->Divide11 = (int16_T)(rtb_Switch1_l * rtDW->Switch2); + /* Product: '/Divide11' */ + rtDW->Divide11 = (int16_T)(rtb_Switch1_l * rtDW->Switch2_e); - /* Update for UnitDelay: '/UnitDelay4' */ + /* Update for UnitDelay: '/UnitDelay4' */ rtDW->UnitDelay4_DSTATE = rtDW->z_counterRawPrev; - /* Update for UnitDelay: '/UnitDelay2' incorporates: - * UnitDelay: '/UnitDelay3' + /* Update for UnitDelay: '/UnitDelay2' incorporates: + * UnitDelay: '/UnitDelay3' */ rtDW->UnitDelay2_DSTATE = rtDW->UnitDelay3_DSTATE_o; - /* Update for UnitDelay: '/UnitDelay3' incorporates: - * UnitDelay: '/UnitDelay5' + /* Update for UnitDelay: '/UnitDelay3' incorporates: + * UnitDelay: '/UnitDelay5' */ rtDW->UnitDelay3_DSTATE_o = rtDW->UnitDelay5_DSTATE; - /* Update for UnitDelay: '/UnitDelay5' */ + /* Update for UnitDelay: '/UnitDelay5' */ rtDW->UnitDelay5_DSTATE = rtDW->z_counterRawPrev; - /* Update for UnitDelay: '/UnitDelay1' */ + /* Update for UnitDelay: '/UnitDelay1' */ rtDW->UnitDelay1_DSTATE_n = rtb_RelationalOperator4_d; - /* End of Outputs for SubSystem: '/Raw_Motor_Speed_Estimation' */ + /* End of Outputs for SubSystem: '/Raw_Motor_Speed_Estimation' */ } - /* End of If: '/If2' */ + /* End of If: '/If2' */ - /* Outputs for Atomic SubSystem: '/Counter' */ + /* Outputs for Atomic SubSystem: '/Counter' */ - /* Constant: '/Constant6' incorporates: - * Constant: '/z_maxCntRst2' + /* Constant: '/Constant6' incorporates: + * Constant: '/z_maxCntRst2' */ rtb_Switch1_l = (int16_T) Counter(1, rtP->z_maxCntRst, rtb_LogicalOperator, &rtDW->Counter_e); - /* End of Outputs for SubSystem: '/Counter' */ + /* End of Outputs for SubSystem: '/Counter' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant4' - * Constant: '/z_maxCntRst' - * RelationalOperator: '/Relational Operator2' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant4' + * Constant: '/z_maxCntRst' + * RelationalOperator: '/Relational Operator2' */ if (rtb_Switch1_l > rtP->z_maxCntRst) { rtb_Switch2_k = 0; @@ -1013,18 +860,18 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_Switch2_k = rtDW->Divide11; } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Abs: '/Abs5' */ + /* Abs: '/Abs5' */ if (rtb_Switch2_k < 0) { rtb_Abs5 = (int16_T)-rtb_Switch2_k; } else { rtb_Abs5 = rtb_Switch2_k; } - /* End of Abs: '/Abs5' */ + /* End of Abs: '/Abs5' */ - /* Relay: '/n_commDeacv' */ + /* Relay: '/n_commDeacv' */ if (rtb_Abs5 >= rtP->n_commDeacvHi) { rtDW->n_commDeacv_Mode = true; } else { @@ -1033,56 +880,56 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Logic: '/Logical Operator2' incorporates: - * Logic: '/Logical Operator1' - * Relay: '/n_commDeacv' + /* Logic: '/Logical Operator2' incorporates: + * Logic: '/Logical Operator1' + * Relay: '/n_commDeacv' */ rtb_LogicalOperator = (rtDW->n_commDeacv_Mode && (!rtDW->dz_cntTrnsDet)); - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant16' - * Product: '/Divide1' - * Product: '/Divide3' - * RelationalOperator: '/Relational Operator7' - * Sum: '/Sum3' - * Switch: '/Switch3' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant16' + * Product: '/Divide1' + * Product: '/Divide3' + * RelationalOperator: '/Relational Operator7' + * Sum: '/Sum3' + * Switch: '/Switch3' */ if (rtb_LogicalOperator) { - /* MinMax: '/MinMax' */ + /* MinMax: '/MinMax' */ rtb_Switch2_fl = rtb_Switch1_l; if (!(rtb_Switch2_fl < rtDW->z_counterRawPrev)) { rtb_Switch2_fl = rtDW->z_counterRawPrev; } - /* End of MinMax: '/MinMax' */ + /* End of MinMax: '/MinMax' */ - /* Switch: '/Switch3' incorporates: - * Constant: '/Constant16' - * Constant: '/vec_hallToPos' - * RelationalOperator: '/Relational Operator7' - * Selector: '/Selector' - * Sum: '/Sum1' + /* Switch: '/Switch3' incorporates: + * Constant: '/vec_hallToPos' + * Constant: '/Constant16' + * RelationalOperator: '/Relational Operator7' + * Selector: '/Selector' + * Sum: '/Sum1' */ - if (rtDW->Switch2 == 1) { + if (rtDW->Switch2_e == 1) { rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; } else { rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); } rtb_Switch2_fl = (int16_T)(((int16_T)((int16_T)((rtb_Switch2_fl << 14) / - rtDW->z_counterRawPrev) * rtDW->Switch2) + (rtb_Sum2_h << 14)) >> 2); + rtDW->z_counterRawPrev) * rtDW->Switch2_e) + (rtb_Sum2_h << 14)) >> 2); } else { - if (rtDW->Switch2 == 1) { - /* Switch: '/Switch3' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + 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' + /* Switch: '/Switch3' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' + * Sum: '/Sum1' */ rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); } @@ -1090,80 +937,49 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_Switch2_fl = (int16_T)(rtb_Sum2_h << 12); } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* MinMax: '/MinMax1' incorporates: - * Constant: '/Constant1' + /* MinMax: '/MinMax1' incorporates: + * Constant: '/Constant1' */ if (!(rtb_Switch2_fl > 0)) { rtb_Switch2_fl = 0; } - /* End of MinMax: '/MinMax1' */ + /* End of MinMax: '/MinMax1' */ - /* Product: '/Divide2' */ + /* Product: '/Divide2' */ rtb_Switch2_fl = (int16_T)((15 * rtb_Switch2_fl) >> 4); - /* RelationalOperator: '/Relational Operator9' incorporates: - * Constant: '/n_stdStillDet' + /* DataTypeConversion: '/Data Type Conversion2' incorporates: + * Inport: '/r_inpTgt' + */ + if (rtU->r_inpTgt > 2047) { + rtb_DataTypeConversion2 = MAX_int16_T; + } else if (rtU->r_inpTgt <= -2048) { + rtb_DataTypeConversion2 = MIN_int16_T; + } else { + rtb_DataTypeConversion2 = (int16_T)(rtU->r_inpTgt << 4); + } + + /* UnitDelay: '/UnitDelay2' */ + rtb_RelationalOperator4_d = rtDW->UnitDelay2_DSTATE_g; + + /* RelationalOperator: '/Relational Operator9' incorporates: + * Constant: '/n_stdStillDet' */ - rtb_RelationalOperator4_d = (rtb_Abs5 < rtP->n_stdStillDet); + rtb_RelationalOperator9 = (rtb_Abs5 < rtP->n_stdStillDet); /* If: '/If2' incorporates: * Constant: '/b_diagEna' * Constant: '/CTRL_COMM2' * Constant: '/t_errDequal' * Constant: '/t_errQual' + * Logic: '/Logical Operator2' * RelationalOperator: '/Relational Operator2' + * UnitDelay: '/UnitDelay2' */ - rtb_Sum2_h = rtDW->If2_ActiveSubsystem; - UnitDelay3 = -1; - if (rtP->b_diagEna) { - UnitDelay3 = 0; - } - - rtDW->If2_ActiveSubsystem = UnitDelay3; - if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/z_errCode' incorporates: - * Outport: '/z_errCode ' - */ - rtY->z_errCode = 0U; - - /* Disable for Outport: '/b_errFlag' */ - rtDW->Merge_n = false; - } - - if (UnitDelay3 == 0) { - if (0 != rtb_Sum2_h) { - /* InitializeConditions for IfAction SubSystem: '/F02_Diagnostics' incorporates: - * ActionPort: '/Action Port' - */ - /* InitializeConditions for If: '/If2' incorporates: - * UnitDelay: '/UnitDelay' - */ - rtDW->UnitDelay_DSTATE_c = 0U; - - /* End of InitializeConditions for SubSystem: '/F02_Diagnostics' */ - - /* SystemReset for IfAction SubSystem: '/F02_Diagnostics' incorporates: - * ActionPort: '/Action Port' - */ - - /* SystemReset for Atomic SubSystem: '/Debounce_Filter' */ - - /* SystemReset for If: '/If2' */ - Debounce_Filter_Reset(&rtDW->Debounce_Filter_f); - - /* End of SystemReset for SubSystem: '/Debounce_Filter' */ - - /* SystemReset for Atomic SubSystem: '/either_edge' */ - either_edge_Reset(&rtDW->either_edge_a); - - /* End of SystemReset for SubSystem: '/either_edge' */ - - /* End of SystemReset for SubSystem: '/F02_Diagnostics' */ - } - + if (rtP->b_diagEna && rtDW->UnitDelay2_DSTATE_g) { /* Outputs for IfAction SubSystem: '/F02_Diagnostics' incorporates: * ActionPort: '/Action Port' */ @@ -1175,25 +991,25 @@ void BLDC_controller_step(RT_MODEL *const rtM) * RelationalOperator: '/Relational Operator7' * S-Function (sfix_bitop): '/Bitwise Operator1' * UnitDelay: '/UnitDelay' - * UnitDelay: '/UnitDelay4' + * UnitDelay: '/UnitDelay4' */ - if ((rtDW->UnitDelay_DSTATE_c & 4) != 0) { + if ((rtY->z_errCode & 4) != 0) { rtb_RelationalOperator1_m = true; } else { if (rtDW->UnitDelay4_DSTATE_eu < 0) { /* Abs: '/Abs4' incorporates: - * UnitDelay: '/UnitDelay4' + * UnitDelay: '/UnitDelay4' */ - rtb_toNegative = (int16_T)-rtDW->UnitDelay4_DSTATE_eu; + rtb_Merge_f_idx_1 = (int16_T)-rtDW->UnitDelay4_DSTATE_eu; } else { /* Abs: '/Abs4' incorporates: - * UnitDelay: '/UnitDelay4' + * UnitDelay: '/UnitDelay4' */ - rtb_toNegative = rtDW->UnitDelay4_DSTATE_eu; + rtb_Merge_f_idx_1 = rtDW->UnitDelay4_DSTATE_eu; } - rtb_RelationalOperator1_m = ((rtb_toNegative > rtP->r_errInpTgtThres) && - rtb_RelationalOperator4_d); + rtb_RelationalOperator1_m = ((rtb_Merge_f_idx_1 > rtP->r_errInpTgtThres) && + rtb_RelationalOperator9); } /* End of Switch: '/Switch3' */ @@ -1230,319 +1046,329 @@ void BLDC_controller_step(RT_MODEL *const rtM) if (rtb_RelationalOperator1_m) { /* Outport: '/z_errCode' */ rtY->z_errCode = rtb_Sum_l; - } else { - /* Outport: '/z_errCode' incorporates: - * UnitDelay: '/UnitDelay' - */ - rtY->z_errCode = rtDW->UnitDelay_DSTATE_c; } /* End of Switch: '/Switch1' */ - - /* Update for UnitDelay: '/UnitDelay' incorporates: - * Outport: '/z_errCode' - */ - rtDW->UnitDelay_DSTATE_c = rtY->z_errCode; - /* End of Outputs for SubSystem: '/F02_Diagnostics' */ } /* End of If: '/If2' */ - /* Logic: '/Logical Operator4' incorporates: - * Constant: '/constant2' - * Constant: '/constant8' - * Inport: '/b_motEna' - * Inport: '/z_ctrlModReq' - * Logic: '/Logical Operator1' - * Logic: '/Logical Operator7' - * RelationalOperator: '/Relational Operator10' - * RelationalOperator: '/Relational Operator11' - * RelationalOperator: '/Relational Operator2' - * UnitDelay: '/UnitDelay1' - */ - rtb_RelationalOperator1_m = ((!rtU->b_motEna) || rtDW->Merge_n || - (rtU->z_ctrlModReq == 0) || ((rtU->z_ctrlModReq != rtDW->UnitDelay1_DSTATE_p) - && (rtDW->UnitDelay1_DSTATE_p != 0))); - - /* Chart: '/F03_02_Control_Mode_Manager' incorporates: - * Constant: '/constant' - * Constant: '/constant1' - * Constant: '/constant5' - * Constant: '/constant6' - * Constant: '/constant7' - * Inport: '/z_ctrlModReq' - * Logic: '/Logical Operator3' - * Logic: '/Logical Operator6' - * Logic: '/Logical Operator9' - * RelationalOperator: '/Relational Operator1' - * RelationalOperator: '/Relational Operator3' - * RelationalOperator: '/Relational Operator4' - * RelationalOperator: '/Relational Operator5' - * RelationalOperator: '/Relational Operator6' + /* If: '/If4' incorporates: + * UnitDelay: '/UnitDelay2' */ - if (rtDW->is_active_c1_BLDC_controller == 0U) { - rtDW->is_active_c1_BLDC_controller = 1U; - rtDW->is_c1_BLDC_controller = IN_OPEN; - rtb_Sum_l = OPEN_MODE; - } else if (rtDW->is_c1_BLDC_controller == IN_ACTIVE) { - if (rtb_RelationalOperator1_m) { - rtDW->is_ACTIVE = IN_NO_ACTIVE_CHILD; - rtDW->is_c1_BLDC_controller = IN_OPEN; - rtb_Sum_l = OPEN_MODE; - } else { - switch (rtDW->is_ACTIVE) { - case IN_SPEED_MODE: - rtb_Sum_l = SPD_MODE; - break; - - case IN_TORQUE_MODE: - rtb_Sum_l = TRQ_MODE; - break; - - default: - rtb_Sum_l = VLT_MODE; - break; - } - } - } else { - rtb_Sum_l = OPEN_MODE; - if ((!rtb_RelationalOperator1_m) && ((rtU->z_ctrlModReq == 1) || - (rtU->z_ctrlModReq == 2) || (rtU->z_ctrlModReq == 3)) && - rtb_RelationalOperator4_d) { - rtDW->is_c1_BLDC_controller = IN_ACTIVE; - if (rtU->z_ctrlModReq == 3) { - rtDW->is_ACTIVE = IN_TORQUE_MODE; - rtb_Sum_l = TRQ_MODE; - } else if (rtU->z_ctrlModReq == 2) { - rtDW->is_ACTIVE = IN_SPEED_MODE; - rtb_Sum_l = SPD_MODE; - } else { - rtDW->is_ACTIVE = IN_VOLTAGE_MODE; - rtb_Sum_l = VLT_MODE; - } - } + rtb_Sum2_h = rtDW->If4_ActiveSubsystem; + UnitDelay3 = -1; + if (rtDW->UnitDelay2_DSTATE_g) { + UnitDelay3 = 0; } - /* End of Chart: '/F03_02_Control_Mode_Manager' */ - - /* Saturate: '/Saturation2' incorporates: - * Inport: '/r_inpTgt' - */ - rtb_Gain3 = rtU->r_inpTgt << 4; - - /* If: '/If1' incorporates: - * Constant: '/z_ctrlTypSel1' - * Inport: '/r_inpTgt' - * Inport: '/r_inpTgt' - * Saturate: '/Saturation2' - */ - if (rtP->z_ctrlTypSel == 2) { - /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* SignalConversion: '/TmpSignal ConversionAtSelectorInport1' incorporates: - * Constant: '/Vd_max' - * Constant: '/constant1' - * Constant: '/i_max' - * Constant: '/n_max' - */ - tmp[0] = 0; - tmp[1] = rtP->Vd_max; - tmp[2] = rtP->n_max; - tmp[3] = rtP->i_max; - - /* End of Outputs for SubSystem: '/FOC_Control_Type' */ + rtDW->If4_ActiveSubsystem = UnitDelay3; + if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { + /* Disable for If: '/If2' */ + rtDW->If2_ActiveSubsystem = -1; + } - /* Saturate: '/Saturation2' incorporates: - * Inport: '/r_inpTgt' + if (UnitDelay3 == 0) { + /* Outputs for IfAction SubSystem: '/F03_Control_Mode_Manager' incorporates: + * ActionPort: '/Action Port' */ - if (rtb_Gain3 >= 16000) { - rtb_toNegative = 16000; - } else if (rtb_Gain3 <= -16000) { - rtb_toNegative = -16000; + /* Logic: '/Logical Operator4' incorporates: + * Constant: '/constant2' + * Constant: '/constant8' + * Inport: '/b_motEna' + * Inport: '/z_ctrlModReq' + * Logic: '/Logical Operator1' + * Logic: '/Logical Operator7' + * RelationalOperator: '/Relational Operator10' + * RelationalOperator: '/Relational Operator11' + * RelationalOperator: '/Relational Operator2' + * UnitDelay: '/UnitDelay1' + */ + rtb_RelationalOperator1_m = ((!rtU->b_motEna) || rtDW->Merge_n || + (rtU->z_ctrlModReq == 0) || ((rtU->z_ctrlModReq != rtDW->z_ctrlMod) && + (rtDW->z_ctrlMod != 0))); + + /* Chart: '/F03_02_Control_Mode_Manager' incorporates: + * Constant: '/constant' + * Constant: '/constant1' + * Constant: '/constant5' + * Constant: '/constant6' + * Constant: '/constant7' + * Inport: '/z_ctrlModReq' + * Logic: '/Logical Operator3' + * Logic: '/Logical Operator6' + * Logic: '/Logical Operator9' + * RelationalOperator: '/Relational Operator1' + * RelationalOperator: '/Relational Operator3' + * RelationalOperator: '/Relational Operator4' + * RelationalOperator: '/Relational Operator5' + * RelationalOperator: '/Relational Operator6' + */ + if (rtDW->is_active_c1_BLDC_controller == 0U) { + rtDW->is_active_c1_BLDC_controller = 1U; + rtDW->is_c1_BLDC_controller = IN_OPEN; + rtDW->z_ctrlMod = OPEN_MODE; + } else if (rtDW->is_c1_BLDC_controller == IN_ACTIVE) { + if (rtb_RelationalOperator1_m) { + rtDW->is_ACTIVE = IN_NO_ACTIVE_CHILD; + rtDW->is_c1_BLDC_controller = IN_OPEN; + rtDW->z_ctrlMod = OPEN_MODE; + } else { + switch (rtDW->is_ACTIVE) { + case IN_SPEED_MODE: + rtDW->z_ctrlMod = SPD_MODE; + break; + + case IN_TORQUE_MODE: + rtDW->z_ctrlMod = TRQ_MODE; + break; + + default: + rtDW->z_ctrlMod = VLT_MODE; + break; + } + } } else { - rtb_toNegative = (int16_T)(rtU->r_inpTgt << 4); + rtDW->z_ctrlMod = OPEN_MODE; + if ((!rtb_RelationalOperator1_m) && ((rtU->z_ctrlModReq == 1) || + (rtU->z_ctrlModReq == 2) || (rtU->z_ctrlModReq == 3)) && + rtb_RelationalOperator9) { + rtDW->is_c1_BLDC_controller = IN_ACTIVE; + if (rtU->z_ctrlModReq == 3) { + rtDW->is_ACTIVE = IN_TORQUE_MODE; + rtDW->z_ctrlMod = TRQ_MODE; + } else if (rtU->z_ctrlModReq == 2) { + rtDW->is_ACTIVE = IN_SPEED_MODE; + rtDW->z_ctrlMod = SPD_MODE; + } else { + rtDW->is_ACTIVE = IN_VOLTAGE_MODE; + rtDW->z_ctrlMod = VLT_MODE; + } + } } - /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* Product: '/Divide1' incorporates: - * Inport: '/z_ctrlModReq' - * Product: '/Divide4' - * Selector: '/Selector' - */ - rtb_Merge = (int16_T)(((uint16_T)((tmp[rtU->z_ctrlModReq] << 5) / 125) * - rtb_toNegative) >> 12); - - /* End of Outputs for SubSystem: '/FOC_Control_Type' */ - } else if (rtb_Gain3 >= 16000) { - /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* Saturate: '/Saturation2' incorporates: - * Inport: '/r_inpTgt' - */ - rtb_Merge = 16000; + /* End of Chart: '/F03_02_Control_Mode_Manager' */ - /* End of Outputs for SubSystem: '/Default_Control_Type' */ - } else if (rtb_Gain3 <= -16000) { - /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* Saturate: '/Saturation2' incorporates: - * Inport: '/r_inpTgt' + /* If: '/If1' incorporates: + * Constant: '/z_ctrlTypSel1' + * DataTypeConversion: '/Data Type Conversion2' + * Inport: '/r_inpTgt' + * Saturate: '/Saturation' */ - rtb_Merge = -16000; + if (rtP->z_ctrlTypSel == 2) { + /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* SignalConversion: '/TmpSignal ConversionAtSelectorInport1' incorporates: + * Constant: '/Vd_max' + * Constant: '/constant1' + * Constant: '/i_max' + * Constant: '/n_max' + */ + tmp[0] = 0; + tmp[1] = rtP->Vd_max; + tmp[2] = rtP->n_max; + tmp[3] = rtP->i_max; - /* End of Outputs for SubSystem: '/Default_Control_Type' */ - } else { - /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - rtb_Merge = (int16_T)(rtU->r_inpTgt << 4); + /* End of Outputs for SubSystem: '/FOC_Control_Type' */ - /* End of Outputs for SubSystem: '/Default_Control_Type' */ - } + /* Saturate: '/Saturation' incorporates: + * DataTypeConversion: '/Data Type Conversion2' + */ + if (rtb_DataTypeConversion2 > 16000) { + rtb_Merge = 16000; + } else if (rtb_DataTypeConversion2 < -16000) { + rtb_Merge = -16000; + } else { + rtb_Merge = rtb_DataTypeConversion2; + } - /* End of If: '/If1' */ + /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* Product: '/Divide1' incorporates: + * Inport: '/z_ctrlModReq' + * Product: '/Divide4' + * Selector: '/Selector' + */ + rtb_Merge = (int16_T)(((uint16_T)((tmp[rtU->z_ctrlModReq] << 5) / 125) * + rtb_Merge) >> 12); - /* If: '/If2' incorporates: - * Inport: '/r_inpTgtScaRaw' - */ - rtb_Sum2_h = rtDW->If2_ActiveSubsystem_j; - UnitDelay3 = (int8_T)!(rtb_Sum_l == 0); - rtDW->If2_ActiveSubsystem_j = UnitDelay3; - switch (UnitDelay3) { - case 0: - if (UnitDelay3 != rtb_Sum2_h) { - /* SystemReset for IfAction SubSystem: '/Open_Mode' incorporates: - * ActionPort: '/Action Port' + /* End of Outputs for SubSystem: '/FOC_Control_Type' */ + } else if (rtb_DataTypeConversion2 > 16000) { + /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: + * ActionPort: '/Action Port' */ - /* SystemReset for Atomic SubSystem: '/rising_edge_init' */ - /* SystemReset for If: '/If2' incorporates: - * UnitDelay: '/UnitDelay' - * UnitDelay: '/UnitDelay' + /* Saturate: '/Saturation' incorporates: + * Inport: '/r_inpTgt' */ - rtDW->UnitDelay_DSTATE_e = true; + rtb_Merge = 16000; - /* End of SystemReset for SubSystem: '/rising_edge_init' */ + /* End of Outputs for SubSystem: '/Default_Control_Type' */ + } else if (rtb_DataTypeConversion2 < -16000) { + /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* Saturate: '/Saturation' incorporates: + * Inport: '/r_inpTgt' + */ + rtb_Merge = -16000; - /* SystemReset for Atomic SubSystem: '/Rate_Limiter' */ - rtDW->UnitDelay_DSTATE = 0; + /* End of Outputs for SubSystem: '/Default_Control_Type' */ + } else { + /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + rtb_Merge = rtb_DataTypeConversion2; - /* End of SystemReset for SubSystem: '/Rate_Limiter' */ - /* End of SystemReset for SubSystem: '/Open_Mode' */ + /* End of Outputs for SubSystem: '/Default_Control_Type' */ } - /* Outputs for IfAction SubSystem: '/Open_Mode' incorporates: - * ActionPort: '/Action Port' - */ - /* DataTypeConversion: '/Data Type Conversion' incorporates: - * UnitDelay: '/UnitDelay4' + /* End of If: '/If1' */ + + /* If: '/If2' incorporates: + * Inport: '/r_inpTgtScaRaw' */ - rtb_Gain3 = rtDW->UnitDelay4_DSTATE_eu << 12; - rtb_DataTypeConversion = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | - -134217728 : rtb_Gain3 & 134217727; + rtb_Sum2_h = rtDW->If2_ActiveSubsystem; + UnitDelay3 = (int8_T)!(rtDW->z_ctrlMod == 0); + rtDW->If2_ActiveSubsystem = UnitDelay3; + switch (UnitDelay3) { + case 0: + if (UnitDelay3 != rtb_Sum2_h) { + /* SystemReset for IfAction SubSystem: '/Open_Mode' incorporates: + * ActionPort: '/Action Port' + */ + /* SystemReset for Atomic SubSystem: '/rising_edge_init' */ + /* SystemReset for If: '/If2' incorporates: + * UnitDelay: '/UnitDelay' + * UnitDelay: '/UnitDelay' + */ + rtDW->UnitDelay_DSTATE_e = true; - /* Outputs for Atomic SubSystem: '/rising_edge_init' */ - /* UnitDelay: '/UnitDelay' */ - rtb_RelationalOperator4_d = rtDW->UnitDelay_DSTATE_e; + /* End of SystemReset for SubSystem: '/rising_edge_init' */ - /* Update for UnitDelay: '/UnitDelay' incorporates: - * Constant: '/Constant' - */ - rtDW->UnitDelay_DSTATE_e = false; + /* SystemReset for Atomic SubSystem: '/Rate_Limiter' */ + rtDW->UnitDelay_DSTATE = 0; - /* End of Outputs for SubSystem: '/rising_edge_init' */ + /* End of SystemReset for SubSystem: '/Rate_Limiter' */ + /* End of SystemReset for SubSystem: '/Open_Mode' */ + } - /* Outputs for Atomic SubSystem: '/Rate_Limiter' */ - /* Switch: '/Switch1' incorporates: - * UnitDelay: '/UnitDelay' - */ - if (rtb_RelationalOperator4_d) { - rtb_Switch1 = rtb_DataTypeConversion; - } else { - rtb_Switch1 = rtDW->UnitDelay_DSTATE; - } + /* Outputs for IfAction SubSystem: '/Open_Mode' incorporates: + * ActionPort: '/Action Port' + */ + /* DataTypeConversion: '/Data Type Conversion' incorporates: + * UnitDelay: '/UnitDelay4' + */ + rtb_Gain3 = rtDW->UnitDelay4_DSTATE_eu << 12; + rtb_DataTypeConversion = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | + -134217728 : rtb_Gain3 & 134217727; - /* End of Switch: '/Switch1' */ + /* Outputs for Atomic SubSystem: '/rising_edge_init' */ + /* UnitDelay: '/UnitDelay' */ + rtb_RelationalOperator9 = rtDW->UnitDelay_DSTATE_e; - /* Sum: '/Sum1' */ - rtb_Gain3 = -rtb_Switch1; - rtb_Sum1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : rtb_Gain3 - & 134217727; + /* Update for UnitDelay: '/UnitDelay' incorporates: + * Constant: '/Constant' + */ + rtDW->UnitDelay_DSTATE_e = false; - /* Switch: '/Switch2' incorporates: - * Constant: '/dV_openRate' - * RelationalOperator: '/LowerRelop1' - */ - if (rtb_Sum1 > rtP->dV_openRate) { - rtb_Sum1 = rtP->dV_openRate; - } else { - /* Gain: '/Gain3' */ - rtb_Gain3 = -rtP->dV_openRate; - rtb_Gain3 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : + /* End of Outputs for SubSystem: '/rising_edge_init' */ + + /* Outputs for Atomic SubSystem: '/Rate_Limiter' */ + /* Switch: '/Switch1' incorporates: + * UnitDelay: '/UnitDelay' + */ + if (rtb_RelationalOperator9) { + rtb_Switch1 = rtb_DataTypeConversion; + } else { + rtb_Switch1 = rtDW->UnitDelay_DSTATE; + } + + /* End of Switch: '/Switch1' */ + + /* Sum: '/Sum1' */ + rtb_Gain3 = -rtb_Switch1; + rtb_Sum1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : rtb_Gain3 & 134217727; - /* Switch: '/Switch' incorporates: - * RelationalOperator: '/UpperRelop' + /* Switch: '/Switch2' incorporates: + * Constant: '/dV_openRate' + * RelationalOperator: '/LowerRelop1' */ - if (rtb_Sum1 < rtb_Gain3) { - rtb_Sum1 = rtb_Gain3; + if (rtb_Sum1 > rtP->dV_openRate) { + rtb_Sum1 = rtP->dV_openRate; + } else { + /* Gain: '/Gain3' */ + rtb_Gain3 = -rtP->dV_openRate; + rtb_Gain3 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : + rtb_Gain3 & 134217727; + + /* Switch: '/Switch' incorporates: + * RelationalOperator: '/UpperRelop' + */ + if (rtb_Sum1 < rtb_Gain3) { + rtb_Sum1 = rtb_Gain3; + } + + /* End of Switch: '/Switch' */ } - /* End of Switch: '/Switch' */ - } + /* End of Switch: '/Switch2' */ - /* End of Switch: '/Switch2' */ + /* Sum: '/Sum2' */ + rtb_Gain3 = rtb_Sum1 + rtb_Switch1; + rtb_Switch1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : + rtb_Gain3 & 134217727; - /* Sum: '/Sum2' */ - rtb_Gain3 = rtb_Sum1 + rtb_Switch1; - rtb_Switch1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : - rtb_Gain3 & 134217727; + /* Switch: '/Switch2' */ + if (rtb_RelationalOperator9) { + /* Update for UnitDelay: '/UnitDelay' */ + rtDW->UnitDelay_DSTATE = rtb_DataTypeConversion; + } else { + /* Update for UnitDelay: '/UnitDelay' */ + rtDW->UnitDelay_DSTATE = rtb_Switch1; + } - /* Switch: '/Switch2' */ - if (rtb_RelationalOperator4_d) { - /* Update for UnitDelay: '/UnitDelay' */ - rtDW->UnitDelay_DSTATE = rtb_DataTypeConversion; - } else { - /* Update for UnitDelay: '/UnitDelay' */ - rtDW->UnitDelay_DSTATE = rtb_Switch1; - } + /* End of Switch: '/Switch2' */ + /* End of Outputs for SubSystem: '/Rate_Limiter' */ - /* End of Switch: '/Switch2' */ - /* End of Outputs for SubSystem: '/Rate_Limiter' */ + /* DataTypeConversion: '/Data Type Conversion1' */ + rtDW->Merge1 = (int16_T)(rtb_Switch1 >> 12); - /* DataTypeConversion: '/Data Type Conversion1' */ - rtb_Merge1 = (int16_T)(rtb_Switch1 >> 12); + /* End of Outputs for SubSystem: '/Open_Mode' */ + break; - /* End of Outputs for SubSystem: '/Open_Mode' */ - break; + case 1: + /* Outputs for IfAction SubSystem: '/Default_Mode' incorporates: + * ActionPort: '/Action Port' + */ + rtDW->Merge1 = rtb_Merge; - case 1: - /* Outputs for IfAction SubSystem: '/Default_Mode' incorporates: - * ActionPort: '/Action Port' - */ - rtb_Merge1 = rtb_Merge; + /* End of Outputs for SubSystem: '/Default_Mode' */ + break; + } - /* End of Outputs for SubSystem: '/Default_Mode' */ - break; + /* End of If: '/If2' */ + /* End of Outputs for SubSystem: '/F03_Control_Mode_Manager' */ } - /* End of If: '/If2' */ + /* End of If: '/If4' */ + + /* UnitDelay: '/UnitDelay5' */ + rtb_RelationalOperator9 = rtDW->UnitDelay5_DSTATE_l; /* Saturate: '/Saturation' incorporates: * Inport: '/i_phaAB' */ rtb_Gain3 = rtU->i_phaAB << 4; - if (rtb_Gain3 >= 32000) { - rtb_Saturation = 32000; - } else if (rtb_Gain3 <= -32000) { - rtb_Saturation = -32000; + if (rtb_Gain3 >= 27200) { + rtb_Merge = 27200; + } else if (rtb_Gain3 <= -27200) { + rtb_Merge = -27200; } else { - rtb_Saturation = (int16_T)(rtU->i_phaAB << 4); + rtb_Merge = (int16_T)(rtU->i_phaAB << 4); } /* End of Saturate: '/Saturation' */ @@ -1551,151 +1377,193 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Inport: '/i_phaBC' */ rtb_Gain3 = rtU->i_phaBC << 4; - if (rtb_Gain3 >= 32000) { - rtb_Merge = 32000; - } else if (rtb_Gain3 <= -32000) { - rtb_Merge = -32000; + if (rtb_Gain3 >= 27200) { + rtb_Saturation1 = 27200; + } else if (rtb_Gain3 <= -27200) { + rtb_Saturation1 = -27200; } else { - rtb_Merge = (int16_T)(rtU->i_phaBC << 4); + rtb_Saturation1 = (int16_T)(rtU->i_phaBC << 4); } /* End of Saturate: '/Saturation1' */ - /* If: '/If1' incorporates: + /* If: '/If3' incorporates: + * Constant: '/CTRL_COMM2' + * Constant: '/b_fieldWeakEna' * Constant: '/z_ctrlTypSel1' + * Logic: '/Logical Operator1' + * RelationalOperator: '/Relational Operator1' + * UnitDelay: '/UnitDelay5' */ - rtb_Sum2_h = rtDW->If1_ActiveSubsystem; - UnitDelay3 = -1; - if (rtP->z_ctrlTypSel == 2) { - UnitDelay3 = 0; - } + if (rtP->b_fieldWeakEna && rtDW->UnitDelay5_DSTATE_l && (rtP->z_ctrlTypSel != + 0)) { + /* Outputs for IfAction SubSystem: '/F04_Field_Weakening' incorporates: + * ActionPort: '/Action Port' + */ + /* Abs: '/Abs5' incorporates: + * DataTypeConversion: '/Data Type Conversion2' + */ + if (rtb_DataTypeConversion2 < 0) { + rtb_DataTypeConversion2 = (int16_T)-rtb_DataTypeConversion2; + } - rtDW->If1_ActiveSubsystem = UnitDelay3; - if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for If: '/If2' */ - if (rtDW->If2_ActiveSubsystem_a == 0) { - /* Disable for Outport: '/iq' */ - rtDW->Sum1[0] = 0; + /* End of Abs: '/Abs5' */ - /* Disable for Outport: '/id' */ - rtDW->Sum1[1] = 0; + /* Switch: '/Switch2' incorporates: + * Constant: '/r_fieldWeakHi' + * Constant: '/r_fieldWeakLo' + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' + */ + if (rtb_DataTypeConversion2 > rtP->r_fieldWeakHi) { + rtb_DataTypeConversion2 = rtP->r_fieldWeakHi; + } else { + if (rtb_DataTypeConversion2 < rtP->r_fieldWeakLo) { + /* Switch: '/Switch' incorporates: + * Constant: '/r_fieldWeakLo' + */ + rtb_DataTypeConversion2 = rtP->r_fieldWeakLo; + } } - rtDW->If2_ActiveSubsystem_a = -1; + /* End of Switch: '/Switch2' */ - /* End of Disable for If: '/If2' */ - - /* Disable for If: '/If1' */ - if (rtDW->If1_ActiveSubsystem_e == 0) { - /* Disable for Outport: '/Vd' */ - rtDW->Switch1 = 0; + /* Switch: '/Switch2' incorporates: + * Constant: '/CTRL_COMM2' + * Constant: '/a_phaAdvMax' + * Constant: '/id_fieldWeakMax' + * RelationalOperator: '/Relational Operator1' + */ + if (rtP->z_ctrlTypSel == 2) { + rtb_Merge_f_idx_1 = rtP->id_fieldWeakMax; + } else { + rtb_Merge_f_idx_1 = rtP->a_phaAdvMax; } - rtDW->If1_ActiveSubsystem_e = -1; + /* End of Switch: '/Switch2' */ - /* End of Disable for If: '/If1' */ - - /* Disable for If: '/If1' */ - if (rtDW->If1_ActiveSubsystem_f == 0) { - /* Disable for Outport: '/iq_limProt' */ - rtDW->Divide4 = 0; + /* Switch: '/Switch2' incorporates: + * Constant: '/n_fieldWeakAuthHi' + * Constant: '/n_fieldWeakAuthLo' + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' + */ + if (rtb_Abs5 > rtP->n_fieldWeakAuthHi) { + rtb_Switch2_l = rtP->n_fieldWeakAuthHi; + } else if (rtb_Abs5 < rtP->n_fieldWeakAuthLo) { + /* Switch: '/Switch' incorporates: + * Constant: '/n_fieldWeakAuthLo' + */ + rtb_Switch2_l = rtP->n_fieldWeakAuthLo; + } else { + rtb_Switch2_l = rtb_Abs5; } - rtDW->If1_ActiveSubsystem_f = -1; + /* End of Switch: '/Switch2' */ + + /* Product: '/Divide3' incorporates: + * Constant: '/n_fieldWeakAuthHi' + * Constant: '/n_fieldWeakAuthLo' + * Constant: '/r_fieldWeakHi' + * Constant: '/r_fieldWeakLo' + * Product: '/Divide1' + * Product: '/Divide14' + * Product: '/Divide2' + * Sum: '/Sum1' + * Sum: '/Sum2' + * Sum: '/Sum3' + * Sum: '/Sum4' + */ + rtDW->Divide3 = (int16_T)(((uint16_T)(((uint32_T)(uint16_T)(((int16_T) + (rtb_DataTypeConversion2 - rtP->r_fieldWeakLo) << 15) / (int16_T) + (rtP->r_fieldWeakHi - rtP->r_fieldWeakLo)) * (uint16_T)(((int16_T) + (rtb_Switch2_l - rtP->n_fieldWeakAuthLo) << 15) / (int16_T) + (rtP->n_fieldWeakAuthHi - rtP->n_fieldWeakAuthLo))) >> 15) * + rtb_Merge_f_idx_1) >> 15); + + /* End of Outputs for SubSystem: '/F04_Field_Weakening' */ + } - /* End of Disable for If: '/If1' */ + /* End of If: '/If3' */ - /* Disable for If: '/If2' */ - if (rtDW->If2_ActiveSubsystem_c == 0) { - /* Disable for Outport: '/n_limProt' */ - rtDW->Divide1 = 0; - } + /* If: '/If1' incorporates: + * Constant: '/z_ctrlTypSel1' + */ + rtb_Sum2_h = rtDW->If1_ActiveSubsystem; + UnitDelay3 = -1; + if (rtP->z_ctrlTypSel == 2) { + UnitDelay3 = 0; + } - rtDW->If2_ActiveSubsystem_c = -1; + rtDW->If1_ActiveSubsystem = UnitDelay3; + if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { + /* Disable for If: '/If2' */ + if (rtDW->If2_ActiveSubsystem_a == 0) { + /* Disable for Outport: '/iq' */ + rtDW->Sum1[0] = 0; - /* End of Disable for If: '/If2' */ + /* Disable for Outport: '/id' */ + rtDW->Sum1[1] = 0; + } + + rtDW->If2_ActiveSubsystem_a = -1; - /* Disable for SwitchCase: '/Switch Case' */ - rtDW->SwitchCase_ActiveSubsystem = -1; + /* End of Disable for If: '/If2' */ - /* Disable for Outport: '/V_phaABC_FOC' */ + /* Disable for Outport: '/V_phaABC_FOC' */ rtDW->Gain4[0] = 0; rtDW->Gain4[1] = 0; rtDW->Gain4[2] = 0; - /* Disable for Outport: '/Vq' */ - rtDW->Merge = 0; - - /* Disable for Outport: '/r_devSignal1' */ + /* Disable for Outport: '/r_devSignal1' */ rtDW->Sum1[0] = 0; - /* Disable for Outport: '/r_devSignal2' */ + /* Disable for Outport: '/r_devSignal2' */ rtDW->Sum1[1] = 0; } if (UnitDelay3 == 0) { - /* Outputs for IfAction SubSystem: '/F04_Field_Oriented_Control' incorporates: - * ActionPort: '/Action Port' - */ - /* Relay: '/n_fieldWeakAuth' */ - if (rtb_Abs5 >= rtP->n_fieldWeakAuthHi) { - rtDW->n_fieldWeakAuth_Mode = true; - } else { - if (rtb_Abs5 <= rtP->n_fieldWeakAuthLo) { - rtDW->n_fieldWeakAuth_Mode = false; - } + if (0 != rtb_Sum2_h) { + /* InitializeConditions for IfAction SubSystem: '/F05_Field_Oriented_Control' incorporates: + * ActionPort: '/Action Port' + */ + /* InitializeConditions for If: '/If1' incorporates: + * UnitDelay: '/UnitDelay4' + */ + rtDW->UnitDelay4_DSTATE_h = 0; + + /* End of InitializeConditions for SubSystem: '/F05_Field_Oriented_Control' */ } - /* Switch: '/Switch1' incorporates: - * Constant: '/a_elecPeriod1' - * Constant: '/b_fieldWeakEna' - * Logic: '/Logical Operator2' - * Relay: '/n_fieldWeakAuth' + /* Outputs for IfAction SubSystem: '/F05_Field_Oriented_Control' incorporates: + * ActionPort: '/Action Port' */ - if (rtP->b_fieldWeakEna && rtDW->n_fieldWeakAuth_Mode) { - /* Abs: '/Abs5' */ - if (rtb_Merge1 < 0) { - rtb_id_fieldWeak_M1 = (int16_T)-rtb_Merge1; - } else { - rtb_id_fieldWeak_M1 = rtb_Merge1; - } - - /* End of Abs: '/Abs5' */ - - /* PreLookup: '/r_fieldWeak_XA' */ - rtb_r_fieldWeak_XA_o1 = plook_u8s16u8n7_evenc_s(rtb_id_fieldWeak_M1, - 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' */ - rtb_id_fieldWeak_M1 = intrp1d_s16s32s32u8u8n7l_s(rtb_r_fieldWeak_XA_o1, - rtb_r_fieldWeak_XA_o2, rtP->id_fieldWeak_M1); + /* Abs: '/Abs1' */ + if (rtDW->Merge1 < 0) { + rtb_Switch2_l = (int16_T)-rtDW->Merge1; } else { - rtb_id_fieldWeak_M1 = 0; + rtb_Switch2_l = rtDW->Merge1; } - /* End of Switch: '/Switch1' */ + /* End of Abs: '/Abs1' */ - /* Gain: '/toNegative' */ - rtb_toNegative = (int16_T)-rtb_id_fieldWeak_M1; + /* Gain: '/toNegative' */ + rtb_toNegative = (int16_T)-rtDW->Divide3; - /* Gain: '/Gain4' incorporates: - * Constant: '/i_max' - */ - rtb_Gain4 = (int16_T)-rtP->i_max; - - /* If: '/If1' incorporates: - * Constant: '/b_selPhaABCurrMeas' + /* If: '/If1' incorporates: + * Constant: '/b_selPhaABCurrMeas' */ if (rtP->b_selPhaABCurrMeas) { - /* Outputs for IfAction SubSystem: '/Clarke_PhasesAB' incorporates: + /* Outputs for IfAction SubSystem: '/Clarke_PhasesAB' incorporates: * ActionPort: '/Action Port' */ /* Gain: '/Gain4' */ - rtb_Gain3 = 18919 * rtb_Saturation; + rtb_Gain3 = 18919 * rtb_Merge; /* Gain: '/Gain2' */ - rtb_DataTypeConversion = 18919 * rtb_Merge; + rtb_DataTypeConversion = 18919 * rtb_Saturation1; /* Sum: '/Sum1' incorporates: * Gain: '/Gain2' @@ -1712,16 +1580,16 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - rtb_Gain2_f = (int16_T)rtb_Gain3; + rtb_DataTypeConversion2 = (int16_T)rtb_Gain3; /* End of Sum: '/Sum1' */ - /* End of Outputs for SubSystem: '/Clarke_PhasesAB' */ + /* End of Outputs for SubSystem: '/Clarke_PhasesAB' */ } else { - /* Outputs for IfAction SubSystem: '/Clarke_PhasesBC' incorporates: + /* Outputs for IfAction SubSystem: '/Clarke_PhasesBC' incorporates: * ActionPort: '/Action Port' */ /* Sum: '/Sum3' */ - rtb_Gain3 = rtb_Saturation - rtb_Merge; + rtb_Gain3 = rtb_Merge - rtb_Saturation1; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -1734,10 +1602,11 @@ void BLDC_controller_step(RT_MODEL *const rtM) * Sum: '/Sum3' */ rtb_Gain3 *= 18919; - rtb_Gain2_f = (int16_T)(((rtb_Gain3 < 0 ? 32767 : 0) + rtb_Gain3) >> 15); + rtb_DataTypeConversion2 = (int16_T)(((rtb_Gain3 < 0 ? 32767 : 0) + + rtb_Gain3) >> 15); /* Sum: '/Sum1' */ - rtb_Gain3 = -rtb_Saturation - rtb_Merge; + rtb_Gain3 = -rtb_Merge - rtb_Saturation1; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -1746,25 +1615,19 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - rtb_Saturation = (int16_T)rtb_Gain3; + rtb_Merge = (int16_T)rtb_Gain3; /* End of Sum: '/Sum1' */ - /* End of Outputs for SubSystem: '/Clarke_PhasesBC' */ + /* End of Outputs for SubSystem: '/Clarke_PhasesBC' */ } - /* End of If: '/If1' */ - - /* PreLookup: '/a_elecAngle_XA' */ - rtb_r_fieldWeak_XA_o1 = plook_u8s16_evencka(rtb_Switch2_fl, 0, 128U, 180U); - - /* Interpolation_n-D: '/r_sin_M1' */ - rtb_MinMax2 = rtConstP.r_sin_M1_Table[rtb_r_fieldWeak_XA_o1]; + /* End of If: '/If1' */ - /* Interpolation_n-D: '/r_cos_M1' */ - rtb_Merge = rtConstP.r_cos_M1_Table[rtb_r_fieldWeak_XA_o1]; + /* PreLookup: '/a_elecAngle_XA' */ + rtb_Sum_l = plook_u8s16_evencka(rtb_Switch2_fl, 0, 128U, 180U); - /* If: '/If2' incorporates: - * Constant: '/cf_currFilt' + /* If: '/If2' incorporates: + * Constant: '/cf_currFilt' * Inport: '/b_motEna' */ rtb_Sum2_h = rtDW->If2_ActiveSubsystem_a; @@ -1775,38 +1638,38 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->If2_ActiveSubsystem_a = UnitDelay3; if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/iq' */ + /* Disable for Outport: '/iq' */ rtDW->Sum1[0] = 0; - /* Disable for Outport: '/id' */ + /* Disable for Outport: '/id' */ rtDW->Sum1[1] = 0; } if (UnitDelay3 == 0) { if (0 != rtb_Sum2_h) { - /* SystemReset for IfAction SubSystem: '/Current_Filtering' incorporates: - * ActionPort: '/Action Port' + /* SystemReset for IfAction SubSystem: '/Current_Filtering' incorporates: + * ActionPort: '/Action Port' */ - /* SystemReset for Atomic SubSystem: '/Low_Pass_Filter' */ + /* SystemReset for Atomic SubSystem: '/Low_Pass_Filter' */ - /* SystemReset for If: '/If2' */ + /* SystemReset for If: '/If2' */ Low_Pass_Filter_Reset(&rtDW->Low_Pass_Filter_m); - /* End of SystemReset for SubSystem: '/Low_Pass_Filter' */ + /* End of SystemReset for SubSystem: '/Low_Pass_Filter' */ - /* End of SystemReset for SubSystem: '/Current_Filtering' */ + /* End of SystemReset for SubSystem: '/Current_Filtering' */ } - /* Sum: '/Sum6' incorporates: - * Interpolation_n-D: '/r_cos_M1' - * Interpolation_n-D: '/r_sin_M1' - * Product: '/Divide1' - * Product: '/Divide4' + /* Sum: '/Sum6' incorporates: + * Interpolation_n-D: '/r_cos_M1' + * Interpolation_n-D: '/r_sin_M1' + * Product: '/Divide1' + * Product: '/Divide4' */ - rtb_Gain3 = (int16_T)((rtb_Gain2_f * - rtConstP.r_cos_M1_Table[rtb_r_fieldWeak_XA_o1]) >> 14) - (int16_T) - ((rtb_Saturation * rtConstP.r_sin_M1_Table[rtb_r_fieldWeak_XA_o1]) >> 14); + rtb_Gain3 = (int16_T)((rtb_DataTypeConversion2 * + rtConstP.r_cos_M1_Table[rtb_Sum_l]) >> 14) - (int16_T)((rtb_Merge * + rtConstP.r_sin_M1_Table[rtb_Sum_l]) >> 14); if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -1815,25 +1678,25 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Outputs for IfAction SubSystem: '/Current_Filtering' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Current_Filtering' incorporates: + * ActionPort: '/Action Port' */ - /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: - * Sum: '/Sum6' + /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: + * Sum: '/Sum6' */ rtb_TmpSignalConversionAtLow_Pa[0] = (int16_T)rtb_Gain3; - /* End of Outputs for SubSystem: '/Current_Filtering' */ + /* End of Outputs for SubSystem: '/Current_Filtering' */ - /* Sum: '/Sum1' incorporates: - * Interpolation_n-D: '/r_cos_M1' - * Interpolation_n-D: '/r_sin_M1' - * Product: '/Divide2' - * Product: '/Divide3' + /* Sum: '/Sum1' incorporates: + * Interpolation_n-D: '/r_cos_M1' + * Interpolation_n-D: '/r_sin_M1' + * Product: '/Divide2' + * Product: '/Divide3' */ - rtb_Gain3 = (int16_T)((rtb_Saturation * - rtConstP.r_cos_M1_Table[rtb_r_fieldWeak_XA_o1]) >> 14) + (int16_T) - ((rtb_Gain2_f * rtConstP.r_sin_M1_Table[rtb_r_fieldWeak_XA_o1]) >> 14); + rtb_Gain3 = (int16_T)((rtb_Merge * rtConstP.r_cos_M1_Table[rtb_Sum_l]) >> + 14) + (int16_T)((rtb_DataTypeConversion2 * + rtConstP.r_sin_M1_Table[rtb_Sum_l]) >> 14); if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -1842,479 +1705,416 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Outputs for IfAction SubSystem: '/Current_Filtering' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Current_Filtering' incorporates: + * ActionPort: '/Action Port' */ - /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: - * Sum: '/Sum1' + /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: + * Sum: '/Sum1' */ rtb_TmpSignalConversionAtLow_Pa[1] = (int16_T)rtb_Gain3; - /* Outputs for Atomic SubSystem: '/Low_Pass_Filter' */ + /* Outputs for Atomic SubSystem: '/Low_Pass_Filter' */ Low_Pass_Filter(rtb_TmpSignalConversionAtLow_Pa, rtP->cf_currFilt, rtDW->Sum1, &rtDW->Low_Pass_Filter_m); - /* End of Outputs for SubSystem: '/Low_Pass_Filter' */ + /* End of Outputs for SubSystem: '/Low_Pass_Filter' */ - /* End of Outputs for SubSystem: '/Current_Filtering' */ + /* End of Outputs for SubSystem: '/Current_Filtering' */ } - /* End of If: '/If2' */ + /* End of If: '/If2' */ - /* If: '/If1' incorporates: - * Constant: '/Vd_max1' - * Constant: '/cf_idKi1' - * Constant: '/cf_idKp1' - * Constant: '/constant1' - * Gain: '/Gain3' - * Sum: '/Sum3' + /* If: '/If3' incorporates: + * Constant: '/Vd_max1' + * Constant: '/i_max' + * UnitDelay: '/UnitDelay5' */ - rtb_Sum2_h = rtDW->If1_ActiveSubsystem_e; - UnitDelay3 = -1; - if (rtb_LogicalOperator) { - UnitDelay3 = 0; - } - - rtDW->If1_ActiveSubsystem_e = UnitDelay3; - if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/Vd' */ - rtDW->Switch1 = 0; - } + if (rtDW->UnitDelay5_DSTATE_l) { + /* Outputs for IfAction SubSystem: '/Motor_Limitations' incorporates: + * ActionPort: '/Action Port' + */ + rtDW->Vd_max1 = rtP->Vd_max; - if (UnitDelay3 == 0) { - if (0 != rtb_Sum2_h) { - /* SystemReset for IfAction SubSystem: '/Vd_Calculation' incorporates: - * ActionPort: '/Action Port' - */ + /* Gain: '/Gain3' incorporates: + * Constant: '/Vd_max1' + */ + rtDW->Gain3 = (int16_T)-rtDW->Vd_max1; - /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_id' */ + /* Interpolation_n-D: '/Vq_max_M1' incorporates: + * Abs: '/Abs5' + * PreLookup: '/Vq_max_XA' + * UnitDelay: '/UnitDelay4' + */ + if (rtDW->UnitDelay4_DSTATE_h < 0) { + rtb_Merge_f_idx_1 = (int16_T)-rtDW->UnitDelay4_DSTATE_h; + } else { + rtb_Merge_f_idx_1 = rtDW->UnitDelay4_DSTATE_h; + } - /* SystemReset for If: '/If1' */ - PI_clamp_fixdt_Reset(&rtDW->PI_clamp_fixdt_id); + rtDW->Vq_max_M1 = rtP->Vq_max_M1[plook_u8s16_evencka(rtb_Merge_f_idx_1, + rtP->Vq_max_XA[0], (uint16_T)(rtP->Vq_max_XA[1] - rtP->Vq_max_XA[0]), + 45U)]; - /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_id' */ + /* End of Interpolation_n-D: '/Vq_max_M1' */ - /* End of SystemReset for SubSystem: '/Vd_Calculation' */ - } + /* Gain: '/Gain5' */ + rtDW->Gain5 = (int16_T)-rtDW->Vq_max_M1; + rtDW->i_max = rtP->i_max; - /* Outputs for IfAction SubSystem: '/Vd_Calculation' incorporates: - * ActionPort: '/Action Port' - */ - /* Switch: '/Switch2' incorporates: - * Constant: '/i_max' - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Switch: '/Switch' + /* Interpolation_n-D: '/iq_maxSca_M1' incorporates: + * Constant: '/i_max' + * Product: '/Divide4' */ - if (rtb_toNegative > rtP->i_max) { - rtb_toNegative = rtP->i_max; + rtb_Gain3 = rtDW->Divide3 << 16; + rtb_Gain3 = (rtb_Gain3 == MIN_int32_T) && (rtDW->i_max == -1) ? + MAX_int32_T : rtb_Gain3 / rtDW->i_max; + if (rtb_Gain3 < 0) { + rtb_Gain3 = 0; } else { - if (rtb_toNegative < rtb_Gain4) { - /* Switch: '/Switch' */ - rtb_toNegative = rtb_Gain4; + if (rtb_Gain3 > 65535) { + rtb_Gain3 = 65535; } } - /* End of Switch: '/Switch2' */ - - /* Sum: '/Sum3' */ - rtb_Gain3 = rtb_toNegative - rtDW->Sum1[1]; - if (rtb_Gain3 > 32767) { - rtb_Gain3 = 32767; - } else { - if (rtb_Gain3 < -32768) { - rtb_Gain3 = -32768; + /* Product: '/Divide1' incorporates: + * Interpolation_n-D: '/iq_maxSca_M1' + * PreLookup: '/iq_maxSca_XA' + * Product: '/Divide4' + */ + rtDW->Divide1_a = (int16_T) + ((rtConstP.iq_maxSca_M1_Table[plook_u8u16_evencka((uint16_T)rtb_Gain3, + 0U, 1311U, 49U)] * rtDW->i_max) >> 16); + + /* Gain: '/Gain1' */ + rtDW->Gain1 = (int16_T)-rtDW->Divide1_a; + + /* SwitchCase: '/Switch Case' incorporates: + * Constant: '/n_max1' + * Constant: '/Constant1' + * Constant: '/cf_KbLimProt' + * Constant: '/cf_nKiLimProt' + * Constant: '/Constant' + * Constant: '/Constant1' + * Constant: '/cf_KbLimProt' + * Constant: '/cf_iqKiLimProt' + * Constant: '/cf_nKiLimProt' + * Sum: '/Sum1' + * Sum: '/Sum1' + * Sum: '/Sum2' + */ + switch (rtDW->z_ctrlMod) { + case 1: + /* Abs: '/Abs5' */ + if (rtDW->Sum1[0] < 0) { + rtb_Merge_f_idx_1 = (int16_T)-rtDW->Sum1[0]; + } else { + rtb_Merge_f_idx_1 = rtDW->Sum1[0]; } - } - /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_id' */ - PI_clamp_fixdt((int16_T)rtb_Gain3, rtP->cf_idKp, rtP->cf_idKi, rtP->Vd_max, - (int16_T)-rtP->Vd_max, 0, &rtDW->Switch1, - &rtDW->PI_clamp_fixdt_id); + /* End of Abs: '/Abs5' */ - /* End of Outputs for SubSystem: '/PI_clamp_fixdt_id' */ + /* Outputs for IfAction SubSystem: '/Voltage_Mode_Protection' incorporates: + * ActionPort: '/Action Port' + */ - /* End of Outputs for SubSystem: '/Vd_Calculation' */ - } + /* Outputs for Atomic SubSystem: '/I_backCalc_fixdt' */ + I_backCalc_fixdt((int16_T)(rtDW->Divide1_a - rtb_Merge_f_idx_1), + rtP->cf_iqKiLimProt, rtP->cf_KbLimProt, rtb_Switch2_l, + 0, &rtDW->Switch2_c, &rtDW->I_backCalc_fixdt_i); - /* End of If: '/If1' */ + /* End of Outputs for SubSystem: '/I_backCalc_fixdt' */ - /* Abs: '/Abs5' */ - if (rtDW->Switch1 < 0) { - rtb_toNegative = (int16_T)-rtDW->Switch1; - } else { - rtb_toNegative = rtDW->Switch1; - } + /* Outputs for Atomic SubSystem: '/I_backCalc_fixdt1' */ + I_backCalc_fixdt((int16_T)(rtP->n_max - rtb_Abs5), rtP->cf_nKiLimProt, + rtP->cf_KbLimProt, rtb_Switch2_l, 0, &rtDW->Switch2_l, + &rtDW->I_backCalc_fixdt1); - /* End of Abs: '/Abs5' */ + /* End of Outputs for SubSystem: '/I_backCalc_fixdt1' */ - /* PreLookup: '/Vq_max_XA' */ - rtb_r_fieldWeak_XA_o1 = plook_u8s16_evencka(rtb_toNegative, rtP->Vq_max_XA[0], - (uint16_T)(rtP->Vq_max_XA[1] - rtP->Vq_max_XA[0]), 45U); + /* End of Outputs for SubSystem: '/Voltage_Mode_Protection' */ + break; - /* Gain: '/Gain5' incorporates: - * Interpolation_n-D: '/Vq_max_M1' - */ - rtb_Gain2_f = (int16_T)-rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1]; + case 2: + /* Outputs for IfAction SubSystem: '/Speed_Mode_Protection' incorporates: + * ActionPort: '/Action Port' + */ + /* Switch: '/Switch2' incorporates: + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' + */ + if (rtDW->Sum1[0] > rtDW->Divide1_a) { + rtb_Merge_f_idx_1 = rtDW->Divide1_a; + } else if (rtDW->Sum1[0] < rtDW->Gain1) { + /* Switch: '/Switch' */ + rtb_Merge_f_idx_1 = rtDW->Gain1; + } else { + rtb_Merge_f_idx_1 = rtDW->Sum1[0]; + } - /* Interpolation_n-D: '/iq_maxSca_M1' incorporates: - * Constant: '/i_max' - * Product: '/Divide4' - */ - rtb_Gain3 = rtb_id_fieldWeak_M1 << 16; - rtb_Gain3 = (rtb_Gain3 == MIN_int32_T) && (rtP->i_max == -1) ? MAX_int32_T : - rtb_Gain3 / rtP->i_max; - if (rtb_Gain3 < 0) { - rtb_Gain3 = 0; - } else { - if (rtb_Gain3 > 65535) { - rtb_Gain3 = 65535; - } - } + /* End of Switch: '/Switch2' */ - /* Product: '/Divide1' incorporates: - * Constant: '/i_max' - * Interpolation_n-D: '/iq_maxSca_M1' - * PreLookup: '/iq_maxSca_XA' - * Product: '/Divide4' - */ - rtb_id_fieldWeak_M1 = (int16_T) - ((rtConstP.iq_maxSca_M1_Table[plook_u8u16_evencka((uint16_T)rtb_Gain3, 0U, - 1311U, 49U)] * rtP->i_max) >> 16); - - /* Gain: '/Gain1' */ - rtb_Saturation = (int16_T)-rtb_id_fieldWeak_M1; - - /* If: '/If1' incorporates: - * Constant: '/CTRL_COMM' - * Constant: '/CTRL_COMM1' - * Logic: '/Logical Operator2' - * RelationalOperator: '/Relational Operator1' - * RelationalOperator: '/Relational Operator2' - */ - rtb_Sum2_h = rtDW->If1_ActiveSubsystem_f; - UnitDelay3 = -1; - if ((rtb_Sum_l == 1) || (rtb_Sum_l == 2)) { - UnitDelay3 = 0; - } + /* Product: '/Divide1' incorporates: + * Constant: '/cf_iqKiLimProt' + * Sum: '/Sum3' + */ + rtDW->Divide1 = (int16_T)(rtb_Merge_f_idx_1 - rtDW->Sum1[0]) * + rtP->cf_iqKiLimProt; - rtDW->If1_ActiveSubsystem_f = UnitDelay3; - if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/iq_limProt' */ - rtDW->Divide4 = 0; - } + /* End of Outputs for SubSystem: '/Speed_Mode_Protection' */ + break; - if (UnitDelay3 == 0) { - /* Outputs for IfAction SubSystem: '/Current_Limit_Protection' incorporates: - * ActionPort: '/Action Port' - */ - /* Switch: '/Switch2' incorporates: - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Switch: '/Switch' - */ - if (rtDW->Sum1[0] > rtb_id_fieldWeak_M1) { - rtb_toNegative = rtb_id_fieldWeak_M1; - } else if (rtDW->Sum1[0] < rtb_Saturation) { - /* Switch: '/Switch' */ - rtb_toNegative = rtb_Saturation; - } else { - rtb_toNegative = rtDW->Sum1[0]; - } + case 3: + /* Outputs for IfAction SubSystem: '/Torque_Mode_Protection' incorporates: + * ActionPort: '/Action Port' + */ - /* End of Switch: '/Switch2' */ + /* Outputs for Atomic SubSystem: '/I_backCalc_fixdt' */ + I_backCalc_fixdt((int16_T)(rtP->n_max - rtb_Abs5), rtP->cf_nKiLimProt, + rtP->cf_KbLimProt, rtDW->Vq_max_M1, 0, &rtDW->Switch2, + &rtDW->I_backCalc_fixdt_g); - /* Product: '/Divide4' incorporates: - * Constant: '/cf_iqKpLimProt' - * Sum: '/Sum3' - */ - rtb_Gain3 = ((int16_T)(rtb_toNegative - rtDW->Sum1[0]) * - rtP->cf_iqKpLimProt) >> 8; - if (rtb_Gain3 > 32767) { - rtb_Gain3 = 32767; - } else { - if (rtb_Gain3 < -32768) { - rtb_Gain3 = -32768; - } - } + /* End of Outputs for SubSystem: '/I_backCalc_fixdt' */ - rtDW->Divide4 = (int16_T)rtb_Gain3; + /* End of Outputs for SubSystem: '/Torque_Mode_Protection' */ + break; + } - /* End of Product: '/Divide4' */ - /* End of Outputs for SubSystem: '/Current_Limit_Protection' */ - } + /* End of SwitchCase: '/Switch Case' */ - /* End of If: '/If1' */ + /* Gain: '/Gain4' */ + rtDW->Gain4_c = (int16_T)-rtDW->i_max; - /* Gain: '/Gain6' incorporates: - * Constant: '/n_max1' - */ - rtb_toNegative = (int16_T)-rtP->n_max; - - /* If: '/If2' incorporates: - * Constant: '/CTRL_COMM2' - * Constant: '/CTRL_COMM3' - * Logic: '/Logical Operator1' - * RelationalOperator: '/Relational Operator3' - * RelationalOperator: '/Relational Operator4' - */ - rtb_Sum2_h = rtDW->If2_ActiveSubsystem_c; - UnitDelay3 = -1; - if ((rtb_Sum_l == 1) || (rtb_Sum_l == 3)) { - UnitDelay3 = 0; + /* End of Outputs for SubSystem: '/Motor_Limitations' */ } - rtDW->If2_ActiveSubsystem_c = UnitDelay3; - if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/n_limProt' */ - rtDW->Divide1 = 0; - } + /* End of If: '/If3' */ - if (UnitDelay3 == 0) { - /* Outputs for IfAction SubSystem: '/Speed_Limit_Protection' incorporates: - * ActionPort: '/Action Port' + /* If: '/If1' incorporates: + * UnitDelay: '/UnitDelay6' + */ + if (rtDW->UnitDelay6_DSTATE) { + /* Outputs for IfAction SubSystem: '/FOC' incorporates: + * ActionPort: '/Action Port' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/n_max1' - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Switch: '/Switch' + /* If: '/If1' incorporates: + * Constant: '/cf_idKi1' + * Constant: '/cf_idKp1' + * Constant: '/constant1' + * Sum: '/Sum3' */ - if (rtb_Switch2_k > rtP->n_max) { - rtb_toNegative = rtP->n_max; - } else { - if (!(rtb_Switch2_k < rtb_toNegative)) { - rtb_toNegative = rtb_Switch2_k; + if (rtb_LogicalOperator) { + /* Outputs for IfAction SubSystem: '/Vd_Calculation' incorporates: + * ActionPort: '/Action Port' + */ + /* Switch: '/Switch2' incorporates: + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' + */ + if (rtb_toNegative > rtDW->i_max) { + rtb_toNegative = rtDW->i_max; + } else { + if (rtb_toNegative < rtDW->Gain4_c) { + /* Switch: '/Switch' */ + rtb_toNegative = rtDW->Gain4_c; + } } - } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Product: '/Divide1' incorporates: - * Constant: '/cf_nKpLimProt' - * Sum: '/Sum1' - */ - rtb_Gain3 = ((int16_T)(rtb_toNegative - rtb_Switch2_k) * - rtP->cf_nKpLimProt) >> 8; - if (rtb_Gain3 > 32767) { - rtb_Gain3 = 32767; - } else { - if (rtb_Gain3 < -32768) { - rtb_Gain3 = -32768; + /* Sum: '/Sum3' */ + rtb_Gain3 = rtb_toNegative - rtDW->Sum1[1]; + if (rtb_Gain3 > 32767) { + rtb_Gain3 = 32767; + } else { + if (rtb_Gain3 < -32768) { + rtb_Gain3 = -32768; + } } - } - - rtDW->Divide1 = (int16_T)rtb_Gain3; - /* End of Product: '/Divide1' */ - /* End of Outputs for SubSystem: '/Speed_Limit_Protection' */ - } + /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt' */ + PI_clamp_fixdt((int16_T)rtb_Gain3, rtP->cf_idKp, rtP->cf_idKi, + rtDW->Vd_max1, rtDW->Gain3, 0, &rtDW->Switch1, + &rtDW->PI_clamp_fixdt_k); - /* End of If: '/If2' */ + /* End of Outputs for SubSystem: '/PI_clamp_fixdt' */ - /* SwitchCase: '/Switch Case' incorporates: - * Constant: '/cf_iqKiLimProt' - * Constant: '/cf_nKi' - * Constant: '/cf_nKp' - * Inport: '/r_inpTgtSca' - * Interpolation_n-D: '/Vq_max_M1' - * Product: '/Divide1' - * SignalConversion: '/Signal Conversion2' - * Sum: '/Sum3' - */ - rtb_Sum2_h = rtDW->SwitchCase_ActiveSubsystem; - switch (rtb_Sum_l) { - case 1: - UnitDelay3 = 0; - break; - - case 2: - UnitDelay3 = 1; - break; - - case 3: - UnitDelay3 = 2; - break; - - default: - UnitDelay3 = 3; - break; - } - - rtDW->SwitchCase_ActiveSubsystem = UnitDelay3; - switch (UnitDelay3) { - case 0: - /* Outputs for IfAction SubSystem: '/Voltage_Mode' incorporates: - * ActionPort: '/Action Port' - */ - /* Sum: '/Sum3' */ - rtb_Gain3 = (rtb_Merge1 + rtDW->Divide4) + rtDW->Divide1; - if (rtb_Gain3 > 32767) { - rtb_Gain3 = 32767; - } else { - if (rtb_Gain3 < -32768) { - rtb_Gain3 = -32768; - } + /* End of Outputs for SubSystem: '/Vd_Calculation' */ } - /* Switch: '/Switch2' incorporates: - * Interpolation_n-D: '/Vq_max_M1' - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Sum: '/Sum3' - * Switch: '/Switch' + /* End of If: '/If1' */ + + /* SwitchCase: '/Switch Case' incorporates: + * Constant: '/cf_nKi' + * Constant: '/cf_nKp' + * Constant: '/cf_iqKi' + * Constant: '/cf_iqKp' + * Constant: '/constant2' + * Inport: '/r_inpTgtSca' + * Sum: '/Sum3' + * Sum: '/Sum2' */ - if ((int16_T)rtb_Gain3 > rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1]) { - /* SignalConversion: '/Signal Conversion2' */ - rtDW->Merge = rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1]; - } else if ((int16_T)rtb_Gain3 < rtb_Gain2_f) { - /* Switch: '/Switch' incorporates: - * SignalConversion: '/Signal Conversion2' + switch (rtDW->z_ctrlMod) { + case 1: + /* Outputs for IfAction SubSystem: '/Voltage_Mode' incorporates: + * ActionPort: '/Action Port' */ - rtDW->Merge = rtb_Gain2_f; - } else { - /* SignalConversion: '/Signal Conversion2' */ - rtDW->Merge = (int16_T)rtb_Gain3; - } - - /* End of Switch: '/Switch2' */ - /* End of Outputs for SubSystem: '/Voltage_Mode' */ - break; + /* MinMax: '/MinMax' */ + if (!(rtb_Switch2_l < rtDW->Switch2_c)) { + rtb_Switch2_l = rtDW->Switch2_c; + } - case 1: - if (UnitDelay3 != rtb_Sum2_h) { - /* SystemReset for IfAction SubSystem: '/Speed_Mode' incorporates: - * ActionPort: '/Action Port' - */ + if (!(rtb_Switch2_l < rtDW->Switch2_l)) { + rtb_Switch2_l = rtDW->Switch2_l; + } - /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_n' */ + /* End of MinMax: '/MinMax' */ - /* SystemReset for SwitchCase: '/Switch Case' */ - PI_clamp_fixdt_n_Reset(&rtDW->PI_clamp_fixdt_n_o); + /* Signum: '/SignDeltaU2' */ + if (rtDW->Merge1 < 0) { + rtb_Merge_f_idx_1 = -1; + } else { + rtb_Merge_f_idx_1 = (int16_T)(rtDW->Merge1 > 0); + } - /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_n' */ + /* End of Signum: '/SignDeltaU2' */ - /* End of SystemReset for SubSystem: '/Speed_Mode' */ - } + /* Product: '/Divide1' */ + rtb_Merge = (int16_T)(rtb_Switch2_l * rtb_Merge_f_idx_1); - /* Outputs for IfAction SubSystem: '/Speed_Mode' incorporates: - * ActionPort: '/Action Port' - */ - /* Sum: '/Sum3' */ - rtb_Gain3 = rtb_Merge1 - rtb_Switch2_k; - if (rtb_Gain3 > 32767) { - rtb_Gain3 = 32767; - } else { - if (rtb_Gain3 < -32768) { - rtb_Gain3 = -32768; + /* Switch: '/Switch2' incorporates: + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' + */ + if (rtb_Merge > rtDW->Vq_max_M1) { + /* SignalConversion: '/Signal Conversion2' */ + rtDW->Merge = rtDW->Vq_max_M1; + } else if (rtb_Merge < rtDW->Gain5) { + /* Switch: '/Switch' incorporates: + * SignalConversion: '/Signal Conversion2' + */ + rtDW->Merge = rtDW->Gain5; + } else { + /* SignalConversion: '/Signal Conversion2' incorporates: + * Switch: '/Switch' + */ + rtDW->Merge = rtb_Merge; } - } - - /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_n' */ - rtDW->Merge = (int16_T) PI_clamp_fixdt_n((int16_T)rtb_Gain3, rtP->cf_nKp, - rtP->cf_nKi, rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1], rtb_Gain2_f, - (int16_T)((rtDW->Divide4 * rtP->cf_iqKiLimProt) >> 10), - &rtDW->PI_clamp_fixdt_n_o); - /* End of Outputs for SubSystem: '/PI_clamp_fixdt_n' */ - - /* End of Outputs for SubSystem: '/Speed_Mode' */ - break; + /* End of Switch: '/Switch2' */ + /* End of Outputs for SubSystem: '/Voltage_Mode' */ + break; - case 2: - if (UnitDelay3 != rtb_Sum2_h) { - /* SystemReset for IfAction SubSystem: '/Torque_Mode' incorporates: - * ActionPort: '/Action Port' + case 2: + /* Outputs for IfAction SubSystem: '/Speed_Mode' incorporates: + * ActionPort: '/Action Port' */ + /* Sum: '/Sum3' */ + rtb_Gain3 = rtDW->Merge1 - rtb_Switch2_k; + if (rtb_Gain3 > 32767) { + rtb_Gain3 = 32767; + } else { + if (rtb_Gain3 < -32768) { + rtb_Gain3 = -32768; + } + } - /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_iq' */ + /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt' */ + PI_clamp_fixdt((int16_T)rtb_Gain3, rtP->cf_nKp, rtP->cf_nKi, + rtDW->Vq_max_M1, rtDW->Gain5, rtDW->Divide1, &rtDW->Merge, + &rtDW->PI_clamp_fixdt_o); - /* SystemReset for SwitchCase: '/Switch Case' */ - PI_clamp_fixdt_Reset(&rtDW->PI_clamp_fixdt_iq); + /* End of Outputs for SubSystem: '/PI_clamp_fixdt' */ - /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_iq' */ + /* End of Outputs for SubSystem: '/Speed_Mode' */ + break; - /* End of SystemReset for SubSystem: '/Torque_Mode' */ - } + case 3: + /* Outputs for IfAction SubSystem: '/Torque_Mode' incorporates: + * ActionPort: '/Action Port' + */ + /* Gain: '/Gain4' */ + rtb_Merge = (int16_T)-rtDW->Switch2; - /* Outputs for IfAction SubSystem: '/Torque_Mode' incorporates: - * ActionPort: '/Action Port' - */ - /* Sum: '/Sum2' */ - rtb_Gain3 = rtb_Merge1 + rtDW->Divide1; - if (rtb_Gain3 > 32767) { - rtb_Gain3 = 32767; - } else { - if (rtb_Gain3 < -32768) { - rtb_Gain3 = -32768; + /* Switch: '/Switch2' incorporates: + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' + */ + if (rtDW->Merge1 > rtDW->Divide1_a) { + rtb_Merge_f_idx_1 = rtDW->Divide1_a; + } else if (rtDW->Merge1 < rtDW->Gain1) { + /* Switch: '/Switch' */ + rtb_Merge_f_idx_1 = rtDW->Gain1; + } else { + rtb_Merge_f_idx_1 = rtDW->Merge1; } - } - /* Switch: '/Switch2' incorporates: - * RelationalOperator: '/LowerRelop1' - * Sum: '/Sum2' - */ - if (!((int16_T)rtb_Gain3 > rtb_id_fieldWeak_M1)) { - /* Switch: '/Switch' incorporates: - * RelationalOperator: '/UpperRelop' - */ - if ((int16_T)rtb_Gain3 < rtb_Saturation) { - rtb_id_fieldWeak_M1 = rtb_Saturation; + /* End of Switch: '/Switch2' */ + + /* Sum: '/Sum2' */ + rtb_Gain3 = rtb_Merge_f_idx_1 - rtDW->Sum1[0]; + if (rtb_Gain3 > 32767) { + rtb_Gain3 = 32767; } else { - rtb_id_fieldWeak_M1 = (int16_T)rtb_Gain3; + if (rtb_Gain3 < -32768) { + rtb_Gain3 = -32768; + } } - /* End of Switch: '/Switch' */ - } + /* MinMax: '/MinMax1' */ + if (rtDW->Vq_max_M1 < rtDW->Switch2) { + rtb_Merge_f_idx_1 = rtDW->Vq_max_M1; + } else { + rtb_Merge_f_idx_1 = rtDW->Switch2; + } - /* End of Switch: '/Switch2' */ + /* End of MinMax: '/MinMax1' */ - /* Sum: '/Sum1' */ - rtb_Gain3 = rtb_id_fieldWeak_M1 - rtDW->Sum1[0]; - if (rtb_Gain3 > 32767) { - rtb_Gain3 = 32767; - } else { - if (rtb_Gain3 < -32768) { - rtb_Gain3 = -32768; + /* MinMax: '/MinMax2' */ + if (!(rtb_Merge > rtDW->Gain5)) { + rtb_Merge = rtDW->Gain5; } - } - /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_iq' */ + /* End of MinMax: '/MinMax2' */ - /* SignalConversion: '/Signal Conversion2' incorporates: - * Constant: '/cf_iqKi' - * Constant: '/cf_iqKp' - * Constant: '/constant' - * Interpolation_n-D: '/Vq_max_M1' - * Sum: '/Sum1' - */ - PI_clamp_fixdt((int16_T)rtb_Gain3, rtP->cf_iqKp, rtP->cf_iqKi, - rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1], rtb_Gain2_f, 0, - &rtDW->Merge, &rtDW->PI_clamp_fixdt_iq); + /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt' */ + PI_clamp_fixdt((int16_T)rtb_Gain3, rtP->cf_iqKp, rtP->cf_iqKi, + rtb_Merge_f_idx_1, rtb_Merge, 0, &rtDW->Merge, + &rtDW->PI_clamp_fixdt_a); - /* End of Outputs for SubSystem: '/PI_clamp_fixdt_iq' */ + /* End of Outputs for SubSystem: '/PI_clamp_fixdt' */ - /* End of Outputs for SubSystem: '/Torque_Mode' */ - break; + /* End of Outputs for SubSystem: '/Torque_Mode' */ + break; - case 3: - /* Outputs for IfAction SubSystem: '/Open_Mode' incorporates: - * ActionPort: '/Action Port' - */ - rtDW->Merge = rtb_Merge1; + default: + /* Outputs for IfAction SubSystem: '/Open_Mode' incorporates: + * ActionPort: '/Action Port' + */ + rtDW->Merge = rtDW->Merge1; - /* End of Outputs for SubSystem: '/Open_Mode' */ - break; + /* End of Outputs for SubSystem: '/Open_Mode' */ + break; + } + + /* End of SwitchCase: '/Switch Case' */ + /* End of Outputs for SubSystem: '/FOC' */ } - /* End of SwitchCase: '/Switch Case' */ + /* End of If: '/If1' */ - /* Sum: '/Sum6' incorporates: - * Product: '/Divide1' - * Product: '/Divide4' + /* Sum: '/Sum6' incorporates: + * Interpolation_n-D: '/r_cos_M1' + * Interpolation_n-D: '/r_sin_M1' + * Product: '/Divide1' + * Product: '/Divide4' */ - rtb_Gain3 = (int16_T)((rtDW->Switch1 * rtb_Merge) >> 14) - (int16_T) - ((rtDW->Merge * rtb_MinMax2) >> 14); + rtb_Gain3 = (int16_T)((rtDW->Switch1 * rtConstP.r_cos_M1_Table[rtb_Sum_l]) >> + 14) - (int16_T)((rtDW->Merge * + rtConstP.r_sin_M1_Table[rtb_Sum_l]) >> 14); if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2323,12 +2123,15 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Sum: '/Sum1' incorporates: - * Product: '/Divide2' - * Product: '/Divide3' + /* Sum: '/Sum1' incorporates: + * Interpolation_n-D: '/r_cos_M1' + * Interpolation_n-D: '/r_sin_M1' + * Product: '/Divide2' + * Product: '/Divide3' */ - rtb_DataTypeConversion = (int16_T)((rtDW->Switch1 * rtb_MinMax2) >> 14) + - (int16_T)((rtDW->Merge * rtb_Merge) >> 14); + rtb_DataTypeConversion = (int16_T)((rtDW->Switch1 * + rtConstP.r_sin_M1_Table[rtb_Sum_l]) >> 14) + (int16_T)((rtDW->Merge * + rtConstP.r_cos_M1_Table[rtb_Sum_l]) >> 14); if (rtb_DataTypeConversion > 32767) { rtb_DataTypeConversion = 32767; } else { @@ -2337,15 +2140,15 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain1' incorporates: - * Sum: '/Sum1' + /* Gain: '/Gain1' incorporates: + * Sum: '/Sum1' */ - rtb_DataTypeConversion = 14189 * (int16_T)rtb_DataTypeConversion; + rtb_DataTypeConversion *= 14189; - /* Sum: '/Sum6' incorporates: - * Gain: '/Gain1' - * Gain: '/Gain3' - * Sum: '/Sum6' + /* Sum: '/Sum6' incorporates: + * Gain: '/Gain1' + * Gain: '/Gain3' + * Sum: '/Sum6' */ rtb_DataTypeConversion = (((rtb_DataTypeConversion < 0 ? 16383 : 0) + rtb_DataTypeConversion) >> 14) - ((int16_T)(((int16_T)rtb_Gain3 < 0) + @@ -2358,9 +2161,9 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Sum: '/Sum2' incorporates: - * Sum: '/Sum6' - * Sum: '/Sum6' + /* Sum: '/Sum2' incorporates: + * Sum: '/Sum6' + * Sum: '/Sum6' */ rtb_Switch1 = -(int16_T)rtb_Gain3 - (int16_T)rtb_DataTypeConversion; if (rtb_Switch1 > 32767) { @@ -2371,39 +2174,39 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* MinMax: '/MinMax1' incorporates: - * Sum: '/Sum2' - * Sum: '/Sum6' - * Sum: '/Sum6' + /* MinMax: '/MinMax1' incorporates: + * Sum: '/Sum2' + * Sum: '/Sum6' + * Sum: '/Sum6' */ - rtb_Merge = (int16_T)rtb_Gain3; + rtb_Switch2_l = (int16_T)rtb_Gain3; if (!((int16_T)rtb_Gain3 < (int16_T)rtb_DataTypeConversion)) { - rtb_Merge = (int16_T)rtb_DataTypeConversion; + rtb_Switch2_l = (int16_T)rtb_DataTypeConversion; } - if (!(rtb_Merge < (int16_T)rtb_Switch1)) { - rtb_Merge = (int16_T)rtb_Switch1; + if (!(rtb_Switch2_l < (int16_T)rtb_Switch1)) { + rtb_Switch2_l = (int16_T)rtb_Switch1; } - /* MinMax: '/MinMax2' incorporates: - * Sum: '/Sum2' - * Sum: '/Sum6' - * Sum: '/Sum6' + /* MinMax: '/MinMax2' incorporates: + * Sum: '/Sum2' + * Sum: '/Sum6' + * Sum: '/Sum6' */ - rtb_Saturation = (int16_T)rtb_Gain3; + rtb_Merge = (int16_T)rtb_Gain3; if (!((int16_T)rtb_Gain3 > (int16_T)rtb_DataTypeConversion)) { - rtb_Saturation = (int16_T)rtb_DataTypeConversion; + rtb_Merge = (int16_T)rtb_DataTypeConversion; } - if (!(rtb_Saturation > (int16_T)rtb_Switch1)) { - rtb_Saturation = (int16_T)rtb_Switch1; + if (!(rtb_Merge > (int16_T)rtb_Switch1)) { + rtb_Merge = (int16_T)rtb_Switch1; } - /* Sum: '/Add' incorporates: - * MinMax: '/MinMax1' - * MinMax: '/MinMax2' + /* Sum: '/Add' incorporates: + * MinMax: '/MinMax1' + * MinMax: '/MinMax2' */ - rtb_Sum1 = rtb_Merge + rtb_Saturation; + rtb_Sum1 = rtb_Switch2_l + rtb_Merge; if (rtb_Sum1 > 32767) { rtb_Sum1 = 32767; } else { @@ -2412,15 +2215,15 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain2' incorporates: - * Sum: '/Add' + /* Gain: '/Gain2' incorporates: + * Sum: '/Add' */ - rtb_Gain2_f = (int16_T)(rtb_Sum1 >> 1); + rtb_DataTypeConversion2 = (int16_T)(rtb_Sum1 >> 1); - /* Sum: '/Add1' incorporates: - * Sum: '/Sum6' + /* Sum: '/Add1' incorporates: + * Sum: '/Sum6' */ - rtb_Gain3 = (int16_T)rtb_Gain3 - rtb_Gain2_f; + rtb_Gain3 = (int16_T)rtb_Gain3 - rtb_DataTypeConversion2; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2429,15 +2232,15 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain4' incorporates: - * Sum: '/Add1' + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' */ rtDW->Gain4[0] = (int16_T)((18919 * rtb_Gain3) >> 14); - /* Sum: '/Add1' incorporates: - * Sum: '/Sum6' + /* Sum: '/Add1' incorporates: + * Sum: '/Sum6' */ - rtb_Gain3 = (int16_T)rtb_DataTypeConversion - rtb_Gain2_f; + rtb_Gain3 = (int16_T)rtb_DataTypeConversion - rtb_DataTypeConversion2; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2446,15 +2249,15 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain4' incorporates: - * Sum: '/Add1' + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' */ rtDW->Gain4[1] = (int16_T)((18919 * rtb_Gain3) >> 14); - /* Sum: '/Add1' incorporates: - * Sum: '/Sum2' + /* Sum: '/Add1' incorporates: + * Sum: '/Sum2' */ - rtb_Gain3 = (int16_T)rtb_Switch1 - rtb_Gain2_f; + rtb_Gain3 = (int16_T)rtb_Switch1 - rtb_DataTypeConversion2; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2463,220 +2266,202 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain4' incorporates: - * Sum: '/Add1' + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' */ rtDW->Gain4[2] = (int16_T)((18919 * rtb_Gain3) >> 14); - /* End of Outputs for SubSystem: '/F04_Field_Oriented_Control' */ + /* Update for UnitDelay: '/UnitDelay4' */ + rtDW->UnitDelay4_DSTATE_h = rtDW->Switch1; + + /* End of Outputs for SubSystem: '/F05_Field_Oriented_Control' */ } /* End of If: '/If1' */ - /* Switch: '/Switch2' incorporates: + /* Switch: '/Switch2' incorporates: * Constant: '/z_ctrlTypSel1' - * Constant: '/CTRL_COMM1' - * RelationalOperator: '/Relational Operator6' + * Constant: '/CTRL_COMM1' + * RelationalOperator: '/Relational Operator6' */ if (rtP->z_ctrlTypSel == 2) { rtb_Merge = rtDW->Merge; } else { - rtb_Merge = rtb_Merge1; + rtb_Merge = rtDW->Merge1; } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* If: '/If' incorporates: + /* If: '/If' incorporates: + * Constant: '/vec_hallToPos' * Constant: '/z_ctrlTypSel1' - * Constant: '/CTRL_COMM2' - * Constant: '/CTRL_COMM3' - * Constant: '/vec_hallToPos' - * Inport: '/V_phaABC_FOC_in' - * Logic: '/Logical Operator1' - * Logic: '/Logical Operator2' - * LookupNDDirect: '/z_commutMap_M1' - * RelationalOperator: '/Relational Operator1' - * RelationalOperator: '/Relational Operator2' - * Selector: '/Selector' + * Constant: '/CTRL_COMM2' + * Constant: '/CTRL_COMM3' + * Inport: '/V_phaABC_FOC_in' + * Logic: '/Logical Operator1' + * Logic: '/Logical Operator2' + * LookupNDDirect: '/z_commutMap_M1' + * RelationalOperator: '/Relational Operator1' + * RelationalOperator: '/Relational Operator2' + * Selector: '/Selector' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ if (rtb_LogicalOperator && (rtP->z_ctrlTypSel == 2)) { - /* Outputs for IfAction SubSystem: '/F05_02_FOC_Method' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/FOC_Method' incorporates: + * ActionPort: '/Action Port' */ - rtb_Saturation = rtDW->Gain4[0]; - rtb_id_fieldWeak_M1 = rtDW->Gain4[1]; - rtb_Merge1 = rtDW->Gain4[2]; + rtb_DataTypeConversion2 = rtDW->Gain4[0]; + rtb_Merge_f_idx_1 = rtDW->Gain4[1]; + rtb_Saturation1 = rtDW->Gain4[2]; - /* End of Outputs for SubSystem: '/F05_02_FOC_Method' */ + /* End of Outputs for SubSystem: '/FOC_Method' */ } else if (rtb_LogicalOperator && (rtP->z_ctrlTypSel == 1)) { - /* Outputs for IfAction SubSystem: '/F05_01_SIN_Method' incorporates: - * ActionPort: '/Action Port' - */ - /* Relay: '/n_fieldWeakAuth' */ - if (rtb_Abs5 >= rtP->n_fieldWeakAuthHi) { - rtDW->n_fieldWeakAuth_Mode_m = true; - } else { - if (rtb_Abs5 <= rtP->n_fieldWeakAuthLo) { - rtDW->n_fieldWeakAuth_Mode_m = false; - } - } - - /* Switch: '/Switch_PhaAdv' incorporates: - * Constant: '/b_fieldWeakEna' - * Logic: '/Logical Operator1' - * Product: '/Divide2' - * Product: '/Divide3' - * Relay: '/n_fieldWeakAuth' - * Sum: '/Sum3' - */ - if (rtP->b_fieldWeakEna && rtDW->n_fieldWeakAuth_Mode_m) { - /* Abs: '/Abs5' */ - if (rtb_Merge1 < 0) { - rtb_id_fieldWeak_M1 = (int16_T)-rtb_Merge1; - } else { - rtb_id_fieldWeak_M1 = rtb_Merge1; - } - - /* End of Abs: '/Abs5' */ - - /* PreLookup: '/r_phaAdv_XA' */ - rtb_Sum = plook_u8s16u8n7_evenc_s(rtb_id_fieldWeak_M1, rtP->r_phaAdv_XA[0], - (uint16_T)(rtP->r_phaAdv_XA[1] - rtP->r_phaAdv_XA[0]), 10U, - &rtb_r_fieldWeak_XA_o1); - - /* Interpolation_n-D: '/a_phaAdv_M1' */ - rtb_MinMax2 = intrp1d_s16s32s32u8u8n7l_s(rtb_Sum, rtb_r_fieldWeak_XA_o1, - rtP->a_phaAdv_M1); - - /* Sum: '/Sum3' incorporates: - * Product: '/Product2' + /* Outputs for IfAction SubSystem: '/SIN_Method' incorporates: + * ActionPort: '/Action Port' + */ + /* Switch: '/Switch_PhaAdv' incorporates: + * Constant: '/b_fieldWeakEna' + * Product: '/Divide2' + * Product: '/Divide3' + * Sum: '/Sum3' + */ + if (rtP->b_fieldWeakEna) { + /* Sum: '/Sum3' incorporates: + * Product: '/Product2' */ - rtb_MinMax2 = (int16_T)(((int16_T)(rtb_MinMax2 * rtDW->Switch2) >> 2) + - rtb_Switch2_fl); - rtb_MinMax2 -= (int16_T)(23040 * (int16_T)div_nde_s32_floor(rtb_MinMax2, - 23040)); + rtb_Saturation1 = (int16_T)((int16_T)((int16_T)(rtDW->Divide3 * + rtDW->Switch2_e) << 2) + rtb_Switch2_fl); + rtb_Saturation1 -= (int16_T)(23040 * (int16_T)div_nde_s32_floor + (rtb_Saturation1, 23040)); } else { - rtb_MinMax2 = rtb_Switch2_fl; + rtb_Saturation1 = rtb_Switch2_fl; } - /* End of Switch: '/Switch_PhaAdv' */ + /* End of Switch: '/Switch_PhaAdv' */ - /* PreLookup: '/a_elecAngle_XA' */ - rtb_Sum = plook_u8s16_evencka(rtb_MinMax2, 0, 128U, 180U); + /* PreLookup: '/a_elecAngle_XA' */ + rtb_Sum = plook_u8s16_evencka(rtb_Saturation1, 0, 128U, 180U); - /* Product: '/Divide2' incorporates: - * Interpolation_n-D: '/r_sin3PhaA_M1' - * Interpolation_n-D: '/r_sin3PhaB_M1' - * Interpolation_n-D: '/r_sin3PhaC_M1' + /* Product: '/Divide2' incorporates: + * Interpolation_n-D: '/r_sin3PhaA_M1' + * Interpolation_n-D: '/r_sin3PhaB_M1' + * Interpolation_n-D: '/r_sin3PhaC_M1' */ - rtb_Saturation = (int16_T)((rtb_Merge1 * + rtb_DataTypeConversion2 = (int16_T)((rtDW->Merge1 * rtConstP.r_sin3PhaA_M1_Table[rtb_Sum]) >> 14); - rtb_id_fieldWeak_M1 = (int16_T)((rtb_Merge1 * + rtb_Merge_f_idx_1 = (int16_T)((rtDW->Merge1 * rtConstP.r_sin3PhaB_M1_Table[rtb_Sum]) >> 14); - rtb_Merge1 = (int16_T)((rtb_Merge1 * rtConstP.r_sin3PhaC_M1_Table[rtb_Sum]) >> - 14); + rtb_Saturation1 = (int16_T)((rtDW->Merge1 * + rtConstP.r_sin3PhaC_M1_Table[rtb_Sum]) >> 14); - /* End of Outputs for SubSystem: '/F05_01_SIN_Method' */ + /* End of Outputs for SubSystem: '/SIN_Method' */ } else { - /* Outputs for IfAction SubSystem: '/F05_00_COM_Method' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/COM_Method' incorporates: + * ActionPort: '/Action Port' */ if (rtConstP.vec_hallToPos_Value[rtb_Sum] > 5) { - /* LookupNDDirect: '/z_commutMap_M1' + /* LookupNDDirect: '/z_commutMap_M1' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2_h = 5; } else if (rtConstP.vec_hallToPos_Value[rtb_Sum] < 0) { - /* LookupNDDirect: '/z_commutMap_M1' + /* LookupNDDirect: '/z_commutMap_M1' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2_h = 0; } else { - /* LookupNDDirect: '/z_commutMap_M1' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + /* LookupNDDirect: '/z_commutMap_M1' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; } - /* LookupNDDirect: '/z_commutMap_M1' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + /* LookupNDDirect: '/z_commutMap_M1' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_DataTypeConversion = rtb_Sum2_h * 3; - /* Product: '/Divide2' incorporates: - * LookupNDDirect: '/z_commutMap_M1' + /* Product: '/Divide2' incorporates: + * LookupNDDirect: '/z_commutMap_M1' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ - rtb_Saturation = (int16_T)(rtb_Merge * + rtb_DataTypeConversion2 = (int16_T)(rtb_Merge * rtConstP.z_commutMap_M1_table[rtb_DataTypeConversion]); - rtb_id_fieldWeak_M1 = (int16_T)(rtConstP.z_commutMap_M1_table[1 + + rtb_Merge_f_idx_1 = (int16_T)(rtConstP.z_commutMap_M1_table[1 + rtb_DataTypeConversion] * rtb_Merge); - rtb_Merge1 = (int16_T)(rtConstP.z_commutMap_M1_table[2 + + rtb_Saturation1 = (int16_T)(rtConstP.z_commutMap_M1_table[2 + rtb_DataTypeConversion] * rtb_Merge); - /* End of Outputs for SubSystem: '/F05_00_COM_Method' */ + /* End of Outputs for SubSystem: '/COM_Method' */ } - /* End of If: '/If' */ + /* End of If: '/If' */ /* Outport: '/DC_phaA' incorporates: - * DataTypeConversion: '/Data Type Conversion6' + * DataTypeConversion: '/Data Type Conversion6' */ - rtY->DC_phaA = (int16_T)(rtb_Saturation >> 4); + rtY->DC_phaA = (int16_T)(rtb_DataTypeConversion2 >> 4); /* Outport: '/DC_phaB' incorporates: - * DataTypeConversion: '/Data Type Conversion6' + * DataTypeConversion: '/Data Type Conversion6' */ - rtY->DC_phaB = (int16_T)(rtb_id_fieldWeak_M1 >> 4); + rtY->DC_phaB = (int16_T)(rtb_Merge_f_idx_1 >> 4); - /* Update for UnitDelay: '/UnitDelay3' incorporates: + /* Update for UnitDelay: '/UnitDelay3' incorporates: * Inport: '/b_hallA ' */ rtDW->UnitDelay3_DSTATE_fy = rtU->b_hallA; - /* Update for UnitDelay: '/UnitDelay1' incorporates: + /* Update for UnitDelay: '/UnitDelay1' incorporates: * Inport: '/b_hallB' */ rtDW->UnitDelay1_DSTATE = rtU->b_hallB; - /* Update for UnitDelay: '/UnitDelay2' incorporates: + /* Update for UnitDelay: '/UnitDelay2' incorporates: * Inport: '/b_hallC' */ rtDW->UnitDelay2_DSTATE_f = rtU->b_hallC; - /* Update for UnitDelay: '/UnitDelay3' */ + /* Update for UnitDelay: '/UnitDelay3' */ rtDW->UnitDelay3_DSTATE = rtb_Switch1_l; - /* Update for UnitDelay: '/UnitDelay4' */ + /* Update for UnitDelay: '/UnitDelay4' */ rtDW->UnitDelay4_DSTATE_e = rtb_Abs5; - /* Update for UnitDelay: '/UnitDelay4' */ + /* Update for UnitDelay: '/UnitDelay2' incorporates: + * UnitDelay: '/UnitDelay6' + */ + rtDW->UnitDelay2_DSTATE_g = rtDW->UnitDelay6_DSTATE; + + /* Update for UnitDelay: '/UnitDelay4' */ rtDW->UnitDelay4_DSTATE_eu = rtb_Merge; - /* Update for UnitDelay: '/UnitDelay1' */ - rtDW->UnitDelay1_DSTATE_p = rtb_Sum_l; + /* Update for UnitDelay: '/UnitDelay5' */ + rtDW->UnitDelay5_DSTATE_l = rtb_RelationalOperator4_d; + + /* Update for UnitDelay: '/UnitDelay6' */ + rtDW->UnitDelay6_DSTATE = rtb_RelationalOperator9; /* Outport: '/DC_phaC' incorporates: - * DataTypeConversion: '/Data Type Conversion6' + * DataTypeConversion: '/Data Type Conversion6' */ - rtY->DC_phaC = (int16_T)(rtb_Merge1 >> 4); + rtY->DC_phaC = (int16_T)(rtb_Saturation1 >> 4); /* Outport: '/n_mot' incorporates: * DataTypeConversion: '/Data Type Conversion1' @@ -2708,48 +2493,42 @@ void BLDC_controller_initialize(RT_MODEL *const rtM) DW *rtDW = ((DW *) rtM->dwork); /* Start for Atomic SubSystem: '/BLDC_controller' */ - /* Start for If: '/If2' */ + /* Start for If: '/If4' */ + rtDW->If4_ActiveSubsystem = -1; + + /* Start for IfAction SubSystem: '/F03_Control_Mode_Manager' */ + /* Start for If: '/If2' */ rtDW->If2_ActiveSubsystem = -1; - /* Start for If: '/If2' */ - rtDW->If2_ActiveSubsystem_j = -1; + /* End of Start for SubSystem: '/F03_Control_Mode_Manager' */ /* Start for If: '/If1' */ rtDW->If1_ActiveSubsystem = -1; - /* Start for IfAction SubSystem: '/F04_Field_Oriented_Control' */ - /* Start for If: '/If2' */ + /* Start for IfAction SubSystem: '/F05_Field_Oriented_Control' */ + /* Start for If: '/If2' */ rtDW->If2_ActiveSubsystem_a = -1; - /* Start for If: '/If1' */ - rtDW->If1_ActiveSubsystem_e = -1; - - /* Start for If: '/If1' */ - rtDW->If1_ActiveSubsystem_f = -1; - - /* Start for If: '/If2' */ - rtDW->If2_ActiveSubsystem_c = -1; - - /* Start for SwitchCase: '/Switch Case' */ - rtDW->SwitchCase_ActiveSubsystem = -1; - - /* End of Start for SubSystem: '/F04_Field_Oriented_Control' */ + /* End of Start for SubSystem: '/F05_Field_Oriented_Control' */ /* End of Start for SubSystem: '/BLDC_controller' */ /* SystemInitialize for Atomic SubSystem: '/BLDC_controller' */ - /* InitializeConditions for UnitDelay: '/UnitDelay3' */ + /* InitializeConditions for UnitDelay: '/UnitDelay3' */ rtDW->UnitDelay3_DSTATE = rtP->z_maxCntRst; - /* SystemInitialize for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' */ - /* SystemInitialize for Outport: '/z_counter' */ + /* InitializeConditions for UnitDelay: '/UnitDelay2' */ + rtDW->UnitDelay2_DSTATE_g = true; + + /* SystemInitialize for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' */ + /* SystemInitialize for Outport: '/z_counter' */ rtDW->z_counterRawPrev = rtP->z_maxCntRst; - /* End of SystemInitialize for SubSystem: '/Raw_Motor_Speed_Estimation' */ + /* End of SystemInitialize for SubSystem: '/Raw_Motor_Speed_Estimation' */ - /* SystemInitialize for Atomic SubSystem: '/Counter' */ + /* SystemInitialize for Atomic SubSystem: '/Counter' */ Counter_Init(&rtDW->Counter_e, rtP->z_maxCntRst); - /* End of SystemInitialize for SubSystem: '/Counter' */ + /* End of SystemInitialize for SubSystem: '/Counter' */ /* SystemInitialize for IfAction SubSystem: '/F02_Diagnostics' */ @@ -2760,13 +2539,68 @@ void BLDC_controller_initialize(RT_MODEL *const rtM) /* End of SystemInitialize for SubSystem: '/F02_Diagnostics' */ - /* SystemInitialize for IfAction SubSystem: '/Open_Mode' */ - /* SystemInitialize for Atomic SubSystem: '/rising_edge_init' */ - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* SystemInitialize for IfAction SubSystem: '/F03_Control_Mode_Manager' */ + /* SystemInitialize for IfAction SubSystem: '/Open_Mode' */ + /* SystemInitialize for Atomic SubSystem: '/rising_edge_init' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ rtDW->UnitDelay_DSTATE_e = true; - /* End of SystemInitialize for SubSystem: '/rising_edge_init' */ - /* End of SystemInitialize for SubSystem: '/Open_Mode' */ + /* End of SystemInitialize for SubSystem: '/rising_edge_init' */ + /* End of SystemInitialize for SubSystem: '/Open_Mode' */ + /* End of SystemInitialize for SubSystem: '/F03_Control_Mode_Manager' */ + + /* SystemInitialize for IfAction SubSystem: '/F05_Field_Oriented_Control' */ + /* SystemInitialize for IfAction SubSystem: '/Motor_Limitations' */ + + /* SystemInitialize for IfAction SubSystem: '/Voltage_Mode_Protection' */ + + /* SystemInitialize for Atomic SubSystem: '/I_backCalc_fixdt' */ + I_backCalc_fixdt_Init(&rtDW->I_backCalc_fixdt_i, 0); + + /* End of SystemInitialize for SubSystem: '/I_backCalc_fixdt' */ + + /* SystemInitialize for Atomic SubSystem: '/I_backCalc_fixdt1' */ + I_backCalc_fixdt_Init(&rtDW->I_backCalc_fixdt1, 0); + + /* End of SystemInitialize for SubSystem: '/I_backCalc_fixdt1' */ + + /* End of SystemInitialize for SubSystem: '/Voltage_Mode_Protection' */ + + /* SystemInitialize for IfAction SubSystem: '/Torque_Mode_Protection' */ + + /* SystemInitialize for Atomic SubSystem: '/I_backCalc_fixdt' */ + I_backCalc_fixdt_Init(&rtDW->I_backCalc_fixdt_g, 0); + + /* End of SystemInitialize for SubSystem: '/I_backCalc_fixdt' */ + + /* End of SystemInitialize for SubSystem: '/Torque_Mode_Protection' */ + + /* SystemInitialize for Outport: '/Vd_max' */ + rtDW->Vd_max1 = 14400; + + /* SystemInitialize for Outport: '/Vd_min' */ + rtDW->Gain3 = -14400; + + /* SystemInitialize for Outport: '/Vq_max' */ + rtDW->Vq_max_M1 = 14400; + + /* SystemInitialize for Outport: '/Vq_min' */ + rtDW->Gain5 = -14400; + + /* SystemInitialize for Outport: '/id_max' */ + rtDW->i_max = 12000; + + /* SystemInitialize for Outport: '/id_min' */ + rtDW->Gain4_c = -12000; + + /* SystemInitialize for Outport: '/iq_max' */ + rtDW->Divide1_a = 12000; + + /* SystemInitialize for Outport: '/iq_min' */ + rtDW->Gain1 = -12000; + + /* End of SystemInitialize for SubSystem: '/Motor_Limitations' */ + /* End of SystemInitialize for SubSystem: '/F05_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 16b45f7..5a11f15 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.1212 + * Model version : 1.1249 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 + * C/C++ source code generated on : Thu Dec 12 20:22:31 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -22,7 +22,7 @@ /* Constant parameters (auto storage) */ const ConstP rtConstP = { /* Computed Parameter: r_sin3PhaA_M1_Table - * Referenced by: '/r_sin3PhaA_M1' + * Referenced by: '/r_sin3PhaA_M1' */ { -13091, -13634, -14126, -14565, -14953, -15289, -15577, -15816, -16009, -16159, -16269, -16340, -16377, -16383, -16362, -16317, -16253, -16172, @@ -44,7 +44,7 @@ const ConstP rtConstP = { -9623, -10411, -11154, -11849, -12496, -13091 }, /* Computed Parameter: r_sin3PhaB_M1_Table - * Referenced by: '/r_sin3PhaB_M1' + * Referenced by: '/r_sin3PhaB_M1' */ { 15172, 15180, 15206, 15248, 15306, 15377, 15461, 15555, 15656, 15762, 15870, 15977, 16079, 16172, 16253, 16317, 16362, 16383, 16377, 16340, 16269, 16159, @@ -66,7 +66,7 @@ const ConstP rtConstP = { 15377, 15306, 15248, 15206, 15180, 15172 }, /* Computed Parameter: r_sin3PhaC_M1_Table - * Referenced by: '/r_sin3PhaC_M1' + * Referenced by: '/r_sin3PhaC_M1' */ { -13091, -12496, -11849, -11154, -10411, -9623, -8791, -7921, -7014, -6075, -5107, -4115, -3104, -2077, -1041, 0, 1041, 2077, 3104, 4115, 5107, 6075, @@ -88,7 +88,7 @@ const ConstP rtConstP = { -15289, -14953, -14565, -14126, -13634, -13091 }, /* Computed Parameter: r_sin_M1_Table - * Referenced by: '/r_sin_M1' + * Referenced by: '/r_sin_M1' */ { 8192, 8682, 9162, 9630, 10087, 10531, 10963, 11381, 11786, 12176, 12551, 12911, 13255, 13583, 13894, 14189, 14466, 14726, 14968, 15191, 15396, 15582, @@ -109,7 +109,7 @@ const ConstP rtConstP = { 2280, 2845, 3406, 3964, 4516, 5063, 5604, 6138, 6664, 7182, 7692, 8192 }, /* Computed Parameter: r_cos_M1_Table - * Referenced by: '/r_cos_M1' + * Referenced by: '/r_cos_M1' */ { 14189, 13894, 13583, 13255, 12911, 12551, 12176, 11786, 11381, 10963, 10531, 10087, 9630, 9162, 8682, 8192, 7692, 7182, 6664, 6138, 5604, 5063, 4516, @@ -130,7 +130,7 @@ const ConstP rtConstP = { 16026, 15897, 15749, 15582, 15396, 15191, 14968, 14726, 14466, 14189 }, /* Computed Parameter: iq_maxSca_M1_Table - * Referenced by: '/iq_maxSca_M1' + * Referenced by: '/iq_maxSca_M1' */ { 65535U, 65523U, 65484U, 65418U, 65326U, 65207U, 65062U, 64890U, 64691U, 64465U, 64211U, 63930U, 63620U, 63281U, 62913U, 62516U, 62088U, 61630U, @@ -140,66 +140,66 @@ const ConstP rtConstP = { 28540U, 25655U, 22323U, 18304U, 12974U }, /* Computed Parameter: z_commutMap_M1_table - * Referenced by: '/z_commutMap_M1' + * Referenced by: '/z_commutMap_M1' */ { -1, 1, 0, -1, 0, 1, 0, -1, 1, 1, -1, 0, 1, 0, -1, 0, 1, -1 }, /* Computed Parameter: vec_hallToPos_Value - * Referenced by: '/vec_hallToPos' + * Referenced by: '/vec_hallToPos' */ { 0, 2, 0, 1, 4, 3, 5, 0 } }; P rtP_Left = { /* Variable: dV_openRate - * Referenced by: '/dV_openRate' + * Referenced by: '/dV_openRate' */ - 4096, + 12288, /* Variable: dz_cntTrnsDetHi - * Referenced by: '/dz_cntTrnsDet' + * Referenced by: '/dz_cntTrnsDet' */ 40, /* Variable: dz_cntTrnsDetLo - * Referenced by: '/dz_cntTrnsDet' + * Referenced by: '/dz_cntTrnsDet' */ 20, /* Variable: z_maxCntRst * Referenced by: - * '/Counter' - * '/z_maxCntRst' - * '/z_maxCntRst2' - * '/UnitDelay3' - * '/z_counter' + * '/Counter' + * '/z_maxCntRst' + * '/z_maxCntRst2' + * '/UnitDelay3' + * '/z_counter' */ 2000, /* Variable: cf_speedCoef - * Referenced by: '/cf_speedCoef' + * Referenced by: '/cf_speedCoef' */ 10667U, /* Variable: t_errDequal * Referenced by: '/t_errDequal' */ - 32000U, + 10667U, /* Variable: t_errQual * Referenced by: '/t_errQual' */ - 9600U, + 3200U, /* Variable: Vd_max * Referenced by: - * '/Vd_max1' - * '/Vd_max' + * '/Vd_max1' + * '/Vd_max' */ 14400, /* Variable: Vq_max_M1 - * Referenced by: '/Vq_max_M1' + * Referenced by: '/Vq_max_M1' */ { 14400, 14396, 14386, 14368, 14343, 14311, 14271, 14225, 14171, 14109, 14040, 13963, 13879, 13786, 13685, 13576, 13459, 13333, 13198, 13053, 12900, 12736, @@ -207,58 +207,59 @@ P rtP_Left = { 9790, 9433, 9051, 8640, 8196, 7713, 7184, 6597, 5935, 5170, 4245, 3019, 0 }, /* Variable: Vq_max_XA - * Referenced by: '/Vq_max_XA' + * Referenced by: '/Vq_max_XA' */ { 0, 320, 640, 960, 1280, 1600, 1920, 2240, 2560, 2880, 3200, 3520, 3840, 4160, 4480, 4800, 5120, 5440, 5760, 6080, 6400, 6720, 7040, 7360, 7680, 8000, 8320, 8640, 8960, 9280, 9600, 9920, 10240, 10560, 10880, 11200, 11520, 11840, 12160, 12480, 12800, 13120, 13440, 13760, 14080, 14400 }, + /* Variable: a_phaAdvMax + * Referenced by: '/a_phaAdvMax' + */ + 400, + /* Variable: i_max * Referenced by: - * '/i_max' - * '/i_max' + * '/i_max' + * '/i_max' */ 12000, - /* Variable: id_fieldWeak_M1 - * Referenced by: '/id_fieldWeak_M1' + /* Variable: id_fieldWeakMax + * Referenced by: '/id_fieldWeakMax' */ - { 0, 80, 240, 560, 1040, 1680, 2400, 3040, 3520, 3840, 4000, 4000 }, + 4000, /* Variable: n_commAcvLo - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ 240, /* Variable: n_commDeacvHi - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ 480, /* Variable: n_fieldWeakAuthHi - * Referenced by: - * '/n_fieldWeakAuth' - * '/n_fieldWeakAuth' + * Referenced by: '/n_fieldWeakAuthHi' */ - 3200, + 6400, /* Variable: n_fieldWeakAuthLo - * Referenced by: - * '/n_fieldWeakAuth' - * '/n_fieldWeakAuth' + * Referenced by: '/n_fieldWeakAuthLo' */ - 2240, + 4800, /* Variable: n_max * Referenced by: - * '/n_max1' - * '/n_max' + * '/n_max1' + * '/n_max' */ - 12800, + 16000, /* Variable: n_stdStillDet - * Referenced by: '/n_stdStillDet' + * Referenced by: '/n_stdStillDet' */ 48, @@ -267,71 +268,71 @@ P rtP_Left = { */ 6400, - /* Variable: r_fieldWeak_XA - * Referenced by: '/r_fieldWeak_XA' + /* Variable: r_fieldWeakHi + * Referenced by: '/r_fieldWeakHi' + */ + 24000, + + /* Variable: r_fieldWeakLo + * Referenced by: '/r_fieldWeakLo' */ - { 9120, 9600, 10080, 10560, 11040, 11520, 12000, 12480, 12960, 13440, 13920, - 14400 }, + 16000, - /* Variable: r_phaAdv_XA - * Referenced by: '/r_phaAdv_XA' + /* Variable: cf_KbLimProt + * Referenced by: + * '/cf_KbLimProt' + * '/cf_KbLimProt' */ - { 0, 1600, 3200, 4800, 6400, 8000, 9600, 11200, 12800, 14400, 16000 }, + 768U, /* Variable: cf_idKp - * Referenced by: '/cf_idKp1' + * Referenced by: '/cf_idKp1' */ 819U, /* Variable: cf_iqKp - * Referenced by: '/cf_iqKp' + * Referenced by: '/cf_iqKp' */ - 2048U, + 1229U, /* Variable: cf_nKp - * Referenced by: '/cf_nKp' + * Referenced by: '/cf_nKp' */ 4833U, /* Variable: cf_currFilt - * Referenced by: '/cf_currFilt' + * Referenced by: '/cf_currFilt' */ 7864U, /* Variable: cf_idKi - * Referenced by: '/cf_idKi1' + * Referenced by: '/cf_idKi1' */ - 246U, + 737U, /* Variable: cf_iqKi - * Referenced by: '/cf_iqKi' + * Referenced by: '/cf_iqKi' */ - 410U, + 1229U, /* Variable: cf_iqKiLimProt - * Referenced by: '/cf_iqKiLimProt' + * Referenced by: + * '/cf_iqKiLimProt' + * '/cf_iqKiLimProt' */ - 167U, + 737U, /* Variable: cf_nKi - * Referenced by: '/cf_nKi' - */ - 84U, - - /* Variable: cf_iqKpLimProt - * Referenced by: '/cf_iqKpLimProt' + * Referenced by: '/cf_nKi' */ - 1843U, + 251U, - /* Variable: cf_nKpLimProt - * Referenced by: '/cf_nKpLimProt' - */ - 1280U, - - /* Variable: a_phaAdv_M1 - * Referenced by: '/a_phaAdv_M1' + /* Variable: cf_nKiLimProt + * Referenced by: + * '/cf_nKiLimProt' + * '/cf_nKiLimProt' */ - { 0, 0, 0, 0, 0, 512, 768, 1280, 2304, 4096, 6400 }, + 246U, /* Variable: z_ctrlTypSel * Referenced by: '/z_ctrlTypSel1' @@ -345,13 +346,13 @@ P rtP_Left = { /* Variable: b_fieldWeakEna * Referenced by: - * '/b_fieldWeakEna' - * '/b_fieldWeakEna' + * '/b_fieldWeakEna' + * '/b_fieldWeakEna' */ 0, /* Variable: b_selPhaABCurrMeas - * Referenced by: '/b_selPhaABCurrMeas' + * Referenced by: '/b_selPhaABCurrMeas' */ 1 }; /* Modifiable parameters */ diff --git a/Src/bldc.c b/Src/bldc.c index a375260..a2ec2ce 100644 --- a/Src/bldc.c +++ b/Src/bldc.c @@ -47,6 +47,7 @@ extern ExtY rtY_Right; /* External outputs */ static int16_t pwm_margin = 100; /* This margin allows to always have a window in the PWM signal for proper Phase currents measurement */ extern uint8_t ctrlModReq; +static int16_t curDC_max = (I_DC_MAX * A2BIT_CONV); int16_t curL_phaA = 0, curL_phaB = 0, curL_DC = 0; int16_t curR_phaB = 0, curR_phaC = 0, curR_DC = 0; uint8_t errCode_Left = 0; @@ -116,13 +117,13 @@ void DMA1_Channel1_IRQHandler(void) { // Disable PWM when current limit is reached (current chopping) // This is the Level 2 of current protection. The Level 1 should kick in first given by I_MOT_MAX - if(ABS(curL_DC) > I_DC_MAX || timeout > TIMEOUT || enable == 0) { + if(ABS(curL_DC) > curDC_max || timeout > TIMEOUT || enable == 0) { LEFT_TIM->BDTR &= ~TIM_BDTR_MOE; } else { LEFT_TIM->BDTR |= TIM_BDTR_MOE; } - if(ABS(curR_DC) > I_DC_MAX || timeout > TIMEOUT || enable == 0) { + if(ABS(curR_DC) > curDC_max || timeout > TIMEOUT || enable == 0) { RIGHT_TIM->BDTR &= ~TIM_BDTR_MOE; } else { RIGHT_TIM->BDTR |= TIM_BDTR_MOE; diff --git a/Src/main.c b/Src/main.c index 368b7d5..4b6de47 100644 --- a/Src/main.c +++ b/Src/main.c @@ -35,18 +35,18 @@ RT_MODEL rtM_Left_; /* Real-time model */ RT_MODEL rtM_Right_; /* Real-time model */ -RT_MODEL *const rtM_Left = &rtM_Left_; -RT_MODEL *const rtM_Right = &rtM_Right_; +RT_MODEL *const rtM_Left = &rtM_Left_; +RT_MODEL *const rtM_Right = &rtM_Right_; -P rtP_Left; /* Block parameters (auto storage) */ -DW rtDW_Left; /* Observable states */ -ExtU rtU_Left; /* External inputs */ -ExtY rtY_Left; /* External outputs */ +P rtP_Left; /* Block parameters (auto storage) */ +DW rtDW_Left; /* Observable states */ +ExtU rtU_Left; /* External inputs */ +ExtY rtY_Left; /* External outputs */ -P rtP_Right; /* Block parameters (auto storage) */ -DW rtDW_Right; /* Observable states */ -ExtU rtU_Right; /* External inputs */ -ExtY rtY_Right; /* External outputs */ +P rtP_Right; /* Block parameters (auto storage) */ +DW rtDW_Right; /* Observable states */ +ExtU rtU_Right; /* External inputs */ +ExtY rtY_Right; /* External outputs */ extern uint8_t errCode_Left; /* Global variable to handle Motor error codes */ extern uint8_t errCode_Right; /* Global variable to handle Motor error codes */ @@ -99,27 +99,27 @@ static uint8_t serialSendCounter; // serial send counter static uint8_t button1, button2; #endif -uint8_t ctrlModReqRaw = CTRL_MOD_REQ; -uint8_t ctrlModReq; // Final control mode request -static int cmd1; // normalized input value. -1000 to 1000 -static int cmd2; // normalized input value. -1000 to 1000 -static int16_t steer; // local variable for steering. -1000 to 1000 -static int16_t speed; // local variable for speed. -1000 to 1000 -static int16_t steerFixdt; // local fixed-point variable for steering low-pass filter -static int16_t speedFixdt; // local fixed-point variable for speed low-pass filter -static int16_t steerRateFixdt; // local fixed-point variable for steering rate limiter -static int16_t speedRateFixdt; // local fixed-point variable for speed rate limiter +uint8_t ctrlModReqRaw = CTRL_MOD_REQ; +uint8_t ctrlModReq = CTRL_MOD_REQ; // Final control mode request +static int cmd1; // normalized input value. -1000 to 1000 +static int cmd2; // normalized input value. -1000 to 1000 +static int16_t steer; // local variable for steering. -1000 to 1000 +static int16_t speed; // local variable for speed. -1000 to 1000 +static int16_t steerFixdt; // local fixed-point variable for steering low-pass filter +static int16_t speedFixdt; // local fixed-point variable for speed low-pass filter +static int16_t steerRateFixdt; // local fixed-point variable for steering rate limiter +static int16_t speedRateFixdt; // local fixed-point variable for speed rate limiter -extern volatile int pwml; // global variable for pwm left. -1000 to 1000 -extern volatile int pwmr; // global variable for pwm right. -1000 to 1000 +extern volatile int pwml; // global variable for pwm left. -1000 to 1000 +extern volatile int pwmr; // global variable for pwm right. -1000 to 1000 -extern uint8_t buzzerFreq; // global variable for the buzzer pitch. can be 1, 2, 3, 4, 5, 6, 7... -extern uint8_t buzzerPattern; // global variable for the buzzer pattern. can be 1, 2, 3, 4, 5, 6, 7... +extern uint8_t buzzerFreq; // global variable for the buzzer pitch. can be 1, 2, 3, 4, 5, 6, 7... +extern uint8_t buzzerPattern; // global variable for the buzzer pattern. can be 1, 2, 3, 4, 5, 6, 7... -extern uint8_t enable; // global variable for motor enable +extern uint8_t enable; // global variable for motor enable -extern volatile uint32_t timeout; // global variable for timeout -extern int16_t batVoltage; // global variable for battery voltage +extern volatile uint32_t timeout; // global variable for timeout +extern int16_t batVoltage; // global variable for battery voltage static uint32_t inactivity_timeout_counter; @@ -187,16 +187,24 @@ int main(void) { rtP_Left.b_selPhaABCurrMeas = 1; // Left motor measured current phases = {iA, iB} -> do NOT change rtP_Left.z_ctrlTypSel = CTRL_TYP_SEL; rtP_Left.b_diagEna = DIAG_ENA; + rtP_Left.i_max = (I_MOT_MAX * A2BIT_CONV) << 4; // fixdt(1,16,4) + rtP_Left.n_max = N_MOT_MAX << 4; // fixdt(1,16,4) rtP_Left.b_fieldWeakEna = FIELD_WEAK_ENA; - rtP_Left.i_max = I_MOT_MAX; - rtP_Left.n_max = N_MOT_MAX; + rtP_Left.id_fieldWeakMax = (FIELD_WEAK_MAX * A2BIT_CONV) << 4; // fixdt(1,16,4) + rtP_Left.a_phaAdvMax = PHASE_ADV_MAX << 4; // fixdt(1,16,4) + rtP_Left.r_fieldWeakHi = FIELD_WEAK_HI << 4; // fixdt(1,16,4) + rtP_Left.r_fieldWeakLo = FIELD_WEAK_LO << 4; // fixdt(1,16,4) rtP_Right.b_selPhaABCurrMeas = 0; // Left motor measured current phases = {iB, iC} -> do NOT change rtP_Right.z_ctrlTypSel = CTRL_TYP_SEL; rtP_Right.b_diagEna = DIAG_ENA; + rtP_Right.i_max = (I_MOT_MAX * A2BIT_CONV) << 4; // fixdt(1,16,4) + rtP_Right.n_max = N_MOT_MAX << 4; // fixdt(1,16,4) rtP_Right.b_fieldWeakEna = FIELD_WEAK_ENA; - rtP_Right.i_max = I_MOT_MAX; - rtP_Right.n_max = N_MOT_MAX; + rtP_Right.id_fieldWeakMax = (FIELD_WEAK_MAX * A2BIT_CONV) << 4; // fixdt(1,16,4) + rtP_Right.a_phaAdvMax = PHASE_ADV_MAX << 4; // fixdt(1,16,4) + rtP_Right.r_fieldWeakHi = FIELD_WEAK_HI << 4; // fixdt(1,16,4) + rtP_Right.r_fieldWeakLo = FIELD_WEAK_LO << 4; // fixdt(1,16,4) /* Pack LEFT motor data into RTM */ rtM_Left->defaultParam = &rtP_Left; @@ -282,34 +290,34 @@ int main(void) { #ifdef CONTROL_NUNCHUCK Nunchuck_Read(); - cmd1 = CLAMP((nunchuck_data[0] - 127) * 8, -1000, 1000); // x - axis. Nunchuck joystick readings range 30 - 230 - cmd2 = CLAMP((nunchuck_data[1] - 128) * 8, -1000, 1000); // y - axis + cmd1 = CLAMP((nunchuck_data[0] - 127) * 8, INPUT_MIN, INPUT_MAX); // x - axis. Nunchuck joystick readings range 30 - 230 + cmd2 = CLAMP((nunchuck_data[1] - 128) * 8, INPUT_MIN, INPUT_MAX); // y - axis button1 = (uint8_t)nunchuck_data[5] & 1; button2 = (uint8_t)(nunchuck_data[5] >> 1) & 1; #endif #ifdef CONTROL_PPM - cmd1 = CLAMP((ppm_captured_value[0] - 500) * 2, -1000, 1000); - cmd2 = CLAMP((ppm_captured_value[1] - 500) * 2, -1000, 1000); - button1 = ppm_captured_value[5] > 500; + cmd1 = CLAMP((ppm_captured_value[0] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); + cmd2 = CLAMP((ppm_captured_value[1] - INPUT_MID) * 2, INPUT_MIN, INPUT_MAX); + button1 = ppm_captured_value[5] > INPUT_MID; float scale = ppm_captured_value[2] / 1000.0f; #endif #ifdef CONTROL_ADC // ADC values range: 0-4095, see ADC-calibration in config.h #ifdef ADC1_MID_POT - cmd1 = CLAMP((adc_buffer.l_tx2 - ADC1_MID) * 1000 / (ADC1_MAX - ADC1_MID), 0, 1000) - -CLAMP((ADC1_MID - adc_buffer.l_tx2) * 1000 / (ADC1_MID - ADC1_MIN), 0, 1000); // ADC1 + cmd1 = CLAMP((adc_buffer.l_tx2 - ADC1_MID) * INPUT_MAX / (ADC1_MAX - ADC1_MID), 0, INPUT_MAX) + -CLAMP((ADC1_MID - adc_buffer.l_tx2) * INPUT_MAX / (ADC1_MID - ADC1_MIN), 0, INPUT_MAX); // ADC1 #else - cmd1 = CLAMP((adc_buffer.l_tx2 - ADC1_MIN) * 1000 / (ADC1_MAX - ADC1_MIN), 0, 1000); // ADC1 + cmd1 = CLAMP((adc_buffer.l_tx2 - ADC1_MIN) * INPUT_MAX / (ADC1_MAX - ADC1_MIN), 0, INPUT_MAX); // ADC1 #endif #ifdef ADC2_MID_POT - cmd2 = CLAMP((adc_buffer.l_rx2 - ADC2_MID) * 1000 / (ADC2_MAX - ADC2_MID), 0, 1000) - -CLAMP((ADC2_MID - adc_buffer.l_rx2) * 1000 / (ADC2_MID - ADC2_MIN), 0, 1000); // ADC2 + cmd2 = CLAMP((adc_buffer.l_rx2 - ADC2_MID) * INPUT_MAX / (ADC2_MAX - ADC2_MID), 0, INPUT_MAX) + -CLAMP((ADC2_MID - adc_buffer.l_rx2) * INPUT_MAX / (ADC2_MID - ADC2_MIN), 0, INPUT_MAX); // ADC2 #else - cmd2 = CLAMP((adc_buffer.l_rx2 - ADC2_MIN) * 1000 / (ADC2_MAX - ADC2_MIN), 0, 1000); // ADC2 + cmd2 = CLAMP((adc_buffer.l_rx2 - ADC2_MIN) * INPUT_MAX / (ADC2_MAX - ADC2_MIN), 0, INPUT_MAX); // ADC2 #endif // use ADCs as button inputs: @@ -327,8 +335,8 @@ int main(void) { if (timeoutCnt-- <= 0) // Timeout de-qualification timeoutFlag = 0; // Timeout flag cleared } else { - cmd1 = CLAMP((int16_t)command.steer, -1000, 1000); - cmd2 = CLAMP((int16_t)command.speed, -1000, 1000); + cmd1 = CLAMP((int16_t)command.steer, INPUT_MIN, INPUT_MAX); + cmd2 = CLAMP((int16_t)command.speed, INPUT_MIN, INPUT_MAX); command.start = 0xFFFF; // Change the Start Frame for timeout detection in the next cycle timeoutCnt = 0; // Reset the timeout counter } @@ -620,12 +628,12 @@ void mixerFcn(int16_t rtu_speed, int16_t rtu_steer, int16_t *rty_speedR, int16_t tmp = prodSpeed - prodSteer; tmp = CLAMP(tmp, -32768, 32767); // Overflow protection *rty_speedR = (int16_t)(tmp >> 4); // Convert from fixed-point to int - *rty_speedR = CLAMP(*rty_speedR, -1000, 1000); + *rty_speedR = CLAMP(*rty_speedR, INPUT_MIN, INPUT_MAX); tmp = prodSpeed + prodSteer; tmp = CLAMP(tmp, -32768, 32767); // Overflow protection *rty_speedL = (int16_t)(tmp >> 4); // Convert from fixed-point to int - *rty_speedL = CLAMP(*rty_speedL, -1000, 1000); + *rty_speedL = CLAMP(*rty_speedL, INPUT_MIN, INPUT_MAX); } // =========================================================== diff --git a/build/firmware.bin b/build/firmware.bin index 58f8369d138118a5f80580d8b478c98b17a0db78..ce6025997a90e901d5d0869dfd19ff87aae2ca19 100644 GIT binary patch delta 5728 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 KmS|~d0Qqk&hI*d> delta 6115 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 diff --git a/build/firmware.elf b/build/firmware.elf index f26bded6e88ab1fd2c9c6869f59886a8493ab1b5..6a0344cda98d640b4d6cb09f98149d6ee0d4e6fe 100644 GIT binary patch literal 391284 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 V3|2H@tz`nHL!O>KU%nfF_myCve`)Q2a# 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 HWzzj$600$S literal 395000 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 Ee|h3MEdT%j delta 28683 zcmXVXV{{+S`*v)jL1Wu?(xkENq)8gv+}QrawryJt+t^NH+fTp0=f7`e_uMlt_UxH! zF5DZL1UY>IfvY47355j)0|o~M21W{&j-cuF3mgn=8o3^q2LdR>xB{n2Z-E(YIkU_M zW+*I`MQp!Wk~c(fJgoDNy4g%@M8&B=V>%e%6V@v%{{%l;rcgm8e|U45<1-78%*V`+ z4h@&@Z;aZ!PW3{_6#79f?mgWeCmD}GjE|V%1v63%LF@9(PU4L!wC{24+=S?B zOkRCRI_#-ytr0*nf)I3yYQ-dFz=)*npiS|!nT%>~lH_t5krO59Gar4C4iB-&Pw3At z)P}`qItsI#J;~V@K^ZL-(o<~%qZ04DV;8o7JZ6H;sHBFr=CNu>#SQ^(z4Iop1tb`@ z(4nEdBnsmd2KB807HpLn*m|T9daEu>BFp0mQS&uZ%1gkIb;{yoM=Q+e(-5vn^y=1? z7FstqF3}xZwd9Q7#Fr4TwbPSeNw_jV>`!&X2A}-}Gwgm_JZ4KrABh7U$D>|%ubf&1 zG?Uv6&qq79Fh}O)ylZ=WCYR?BcH+&6LZ+j99dnr%DcOTz%jSqbZVHeyM>aia%7nYm zrS?45*kFFUs_9avW$!&be%~>Ace))FE3wmNg9vlFM}ARHsNyCfHoc68N`!9q{J=l; zg=hqavV#Q8AufQb5vf4-unP!H*{!!E|GwuLRHHOJGdR#MGsJ=xdKq|$=G1CgSwoh2 zArUMHS8xyhgWopD5`)dL+1`FRd6h}_8ckq2Hy!Ai46fof>?Y%Ppo#g*A*&)IqFIvC zad6k{)7DlD)&09!={sa8B*_NWq4}w~(m)v5S&;;W9*5Jar~M`FU`3FD(GP|rhgsYu zL}IZeHhQ4K{SU;%oXha~e9#wm#fEBL*EPO7W>`evnoFLXzKwf95_L7#qQA>S^=cOu z+fGzwN9QU_VTgi9#SMR-jS7xVdysiR=uP>SGCZ?v4z3w9+}8uGkuvlx7p5LAK_bip z>!_bFpI}IPglv(HYEfa}5XA0wqakStzspAz?27L%iB{MI<%o?b_7&BmD=&g)0vBiK zC!ltX3<8J3f)`d5$}WNc1Iqx_Bhdr4{ys=ZDYLj|JPFu}nYtg_>=u&Wi?Vv;mw#zU`7Y=xXxWRUP z-(hj1*JCr?8`1_)63|KMBXnu(b}9E(-K79kDIt$SsPazcl;K-x4J5?(<*{fF?xZj zOd*5yS$uN5_Zo)-sm!;bbs0HdS8e4KF2ObGv)GbiGYlQX9#nXC9?}66G@cQQo>XE0 zE{mf{YF3JbhKd!Rmv%y}8jm;9%6z`(FHHlg%EDMqIpHwHBiUgXHA_VS(x-6|2a~ab zWYSc|SlF0B!P`2Ew=eRzF)sar#E`=`@H#@&aDv3h|L$~!3|MY%%!I^k^f$&yCr_BXyzY#9%3d!B!ACiFFO(UONXzl%}%dVXbL*MmB zGGB;~9(qIwveKv!obGlVH8ZBR{jaW|+wo21^^9IL<=a_3RSbdNb}bHbo3evDj)nGA zoQf4;(2gE9f<4|+?O#MNu!%HK4C+4!a$e>8^3lWoN-W?*tyP=C#@&r6)wY)Y(6YAg zCd@zL-#X%EMlIhm_t}%k@O4s_M8t_yxfC-x!K_yrpFSz3xj;q<$_3fJJ;93Afeb z{eGUTr)TMmkccaSlI{MfwsHpG;_1YC-W1LdXQg2>`! zUq8FS6Kn<%kO55aA&ima|1wEq7> zGoxl5Z=}6ah#)2f7f>=XrEpXj55v|ACBgV~Vm0{0V}&0IaGLroO7aVSJa^=Sguxzj zsXDX5Z=g%+XPFABS^i0vJj}!`QzPrK>nBoJL&Ry=#y#qi;t_Z0ue%-Tq@o|%FxPie zW-ko^5c$sVFOWPV~y{o#>Y1@!S6z$8+>%5TUY$TYGI`>Lm76I=}UJbmF?8c=j9 z?x-%j>6o?E&C`EI@{l;PmTt52x|FJ!x>-?9w;U4GUhrok4_yHxM;gy6orGZuOhWr+ z8_2T+544m%B;~38WZJ$6yDG-W8H4|34HMMytMPVC?5D94)0{m=#?(U%*$qnB++}CB zj~r~W5?i9^mc~nSPfW!cB7_OF5wl$sZ0RGKRKWX_!;_Rg*H;w78ikc*VF2M8rPBIK z`Ky|Pw!k@|;>P*4DXA%G5y?Ei6C9%|N#N`LIB=S9;D4I8#9yu6=>-b-P>BNi7l{44= z!L-tQ>I@#2(yO7@G|Pfj>Li|;ux6cZRPQQJ8$RGb1Rx@uBV6$e@{E5J4@Y;r=-dZ@ zV>#09k4+j0iWIM|L1F#GC4r=Y!>do@gOjVy!OGXkn9|}c*|q-44to%eW;aE!IO(YN z6QvyAhu@DJR!5J|>9-5da_CI3(M)m543P3~m$YGI3zR?Zr*ScloL>zE1ADT`31};wiuJFH1bxM_B5cTAGA}bb2xFGnq)6TLNw5 zt&UVu>1I=kLeVrdzR6n2o&-_43M1?V+~)rN{6aNa<>M_2SN$I2M#5oSL&`BU58UQ` zK}-3a@;glKD6U*b=Lt=|U{;r3SVv~bPlP?m&I>{?c{ZFadfh4C_81pAew2mmIr0H-U+``mZzG!*L#O!pD14Di99Pb&Ea_~@uiyg z^-|$DTl?*DN{Tb-&oxrL(7cta{k5*sS=B+4PJLIQ-6Y9L#*VszQ-ua7kfU-`n_dfo_uJ zeSkn*Lf~CoS&Gf4aYWGYyIo=UagBV5XF2bY0#KcmB2pC9QbWVZk zqfxI~N|YTQaE=OykQ>1Y^#Y?gIV2 zu$F38FER=HH-Tt!Y)~cgJp##_m&%E!0A!xzvUa3#${+0+yvWH_Kz&xq6TAqjDr1`%R} z>c4exlGE!L$~5)3l_c_sSPiQc7&9fev*Pd^GtB}SASeYmPN0f+ruWWz-b`qlDy_T&d1m0>HL`CuWD;oJl3%dWs+3*E{5XwbLXZ zUoAD9f{wQG%PvkswbOCWGETa}ANz=zR-4}$e2OD$A|wn#fxI=kFYQu@W;%gZtzn%4 zB)ku}J65?dIprN-)AU1q&{CHDIz_CJ8!9-4jI(wFrucCL)j~>mB_FXTw6f50_} z?#+Wzg>^-IbaZ8MAcN@#w;?g{A;w4>1*R-vT#-bo+~Voy9TC*uTHXs|F=~ZgrVB1Y zlt-7MdQ>`Bfv+bdhvJc)7_L$>d|bVcs4P+*t~sswn6doTmPJM1jMtqRXO06Rkv+d8wbwxkqi>SC@h3!UAD z41twy>CeygtawfPh6XJG42B96-7tx|zqnjo_>tH$kBGyequC+5)&aXO&(vUZ&9Bvp zrq)^9XXrZTf^#AnQQTGmF3}=7wd?eC=QTNwt{l16KNFdT`m&=$Y!@0$f)%?R?%;e% zWTht-0QQC#)7cS+_Pt+4MBlQ!u_4fv7dhzrVhIBry5*7l57~zyP|$V4y9BKx%@#Er zuc#9t#^|toXJI7EaPr+F=E4P(})dd6|kT#4GxS5^OrrD z)2EooUkZAjI>-F+I(5b@UgNiv+8|OY_Bp2M2haxDOt-OWqrq!X0zSU_ylt*89-g56 zsupBMnaV!7T^8QjRNi^=ePl>`KrFe?z4Iy$`IO;Im6HrQFFgih9hjFYq?TSDyuI*p z%kZ;^thP(AMz^B;?gla-TGE`Z4xiQ$?$lQ>j&ohp_kXqZ>F<8<%uRI5C5iUdcia4y z3iO(Sv-vARqMv|LHc_))rL*=+Z~kgq>tU@}mKIJN9#Vs7&@6LMqCh0sE)-4$Bxk0_ zaZ09^NmztO5UuRjg+*p%17M-iJ8WvQlBv}%3^=!DW;MG3-|ZQMURFx^krkdB$gl)` z>7x=8SRv#q`PSGe`f)Wk$aZ}}rah$XwGwnGG7~k+k~wnx*6=ubD4qM*Re&^W8E>b zxv41p@oFf%k0Zf$uXf(l1_v;CM>R|`!vvA(iBIHtq#h_&_+^?o;U%3^W}%j_wP{u} zfxsd9h#7)-&f8yZXzv?W7*GmN8M^epTUvfiP{v5AI2eiJN_Ud)<&c9#*BS%}IrkrA*oEdk3~7(`%2jd2y@M zb2Y>IhX>`D?o07AA01Xy2Y~rc*cZJ!C9ixzJTCLW;V?$C!C?>CV^P-t(bEDiwHD{h zLG(8KnNk`xkdR^l;-#uvrb1yk_qb_=!>;ll=Z)8Dn#$PC@u!BzCDXuA7Xi}u2)+|c z7K-#%X652XYH-j*o*Ta^{`$4u`^p z+ME+}6*pX<=RP00R@jsyJ#Z+9u&k(TgKEz5ELAk+8l|%+N>rs!HY(Fg!!uf<7$Qnv zByS~Th4Cq8RjUmi#$heSDOx8USLSmHMc!9-%IEMiD@$RkHO^Wepj~onf_@m&W5*4< zYINvGTNT-w0aZd1qZAGA?^sjw0`$COYkLa{Fvewft8PtNP;(ZBVRAtocXF;3c59q< z-L`Ad^!7j9xKu%^nlP{QOPrI*jZNiU(Q|Tk)+ClSHWRww+Wq@D2ZJn`LML8^^QE&E z+Ej%MtVw7^J7lU1*1?sbdP&?J8PAEQ0L-Y0x(tLo@Mbyt`OYoz_BjWq;dEP4&wyO* zG2B2vsT{vp`1ZZ;$%~2$Jg9Qc5OT8bPFa%?$nwGUdi%2s9{}4h^k5 zU+*&HsgkkQhBv;iTVyXZr5~yOePaR6fCr)TOpNSU&vCwCpO44gEj!f}H&&wc=G|3yiGc+tp=KHCWL8u z7Jj028+BQA<^3HnoO^4z8yA@_bZTXM*w4?BlRHc$k?tasiIS_~17b;5fYthrOw+HD z)={QWPT3|2gC2uD^Y1@kJqccai1Sj6H84{WG@iHPp&`uP`?GIvkRc^nyrgI(DyIK@ z5TO4-i0$J|&c6PZ5_-Rh1XPX{R`a}Z<-%9_Hgn$BbXdjZ8T6BuE_#bKF~A!Z8*G`! zw-@816X*M`xE-25=OFzY8IK2TGQj`c+J*DDm)O@z&Fg_S40^1Py>jq)4M*I5{jv$B zDkDFE+yyP7_sYoU(JNArbL+v_c)Z!w(hBWR5AHD7FazdL^P4g25P&f8&vx!KgE zdAY(>hn{V9fCu!2f*T8%&KQfZ1eP_%lO7)Ry30~aQ#{P`o_V(dGT`2$!F+nnpWi=yO5yFRtSB)@{WD+%FmC#jC> zyWnHSLKz??&}8Bro%V`3{hoj>Rh*4F`*k$qZjW~On&|)ggMy@q8oo^CzWm}LgM#D} zPnD$}42cB?=tpzxXrUHofhp4^=)jts8v|br6Ve+!bt^#S2EeERN#CPMskyWpnjgWOay9JKLnCI8%q~KI<52c@fIJ=>tBhWaH6V<7 z6W1R~wOzGd0Y9zE!4LlW@0kMrR?x@1*|j zxRuuZAUwOZve$#nVPCH(A&jl;2Yb-dU0D6YB<36Zq|7jcavvjQR$ zj38<$SJ1}qn8<@DoS)Q5Bq9Q>(a*W%I$<@k=OHWIu39s@?WfYwUB3i`968RIm%x$9 zt+VT6izPmb8`gYMTWW za!tdMl2EDT2}od^OjPD~{^TCMp-4P$yy~mt>oRo|lpmJ3vT-6Cn9Cc?YdYWVv5C%e z@TD($>Tq%9W-fKHZ{>cxOmw;}CO>O?ZP*ln3!T^jDbrKUN#{0f#|@mdvlm5{p2&|H zF=Z<7sk>H*QFn+>HRBP2*&QG{Ml0tuW|Z`;Dh-K|LaH^ju9R-f{t30f4?F#)jiYM8 zAzgY8Si8Hk*Tj8S#LAGqF*8!xi=}5LbNp2Uo1Iv*95J{CiS)0oI{kfyMmnaJmKNTS zWIq{zX9cUq8hwOm_1eu3rd0`V+Pkyc^J11rJI=Dt62q7cmloX! znPxOX6K-zOh@}(vf)SD6g!`bCbBmT9k0CDI(Ks!|5m>nk0k!H1oJR-VhqkQlys|t? zQS)qqVq0-m?p~@0LLNskB?v+B5^zybIb0dQM$TkSR_tr%*1XL`wprk5@O#2zd1zS- zl+Hy^m8Jw$Mve9_P*pjM&vyjUoiBJ8H7>yYdAwKtOuVdCaJZz2I3Ye6bDblaJb55_ z{GTwWp}1;;Y18mNv`AJ?eeXrnT>e5k5?8u8Un+Zsm%EABKX@<&Xl^Ulr){OtrvQ9tq0It2kg8XsQCJj_S0nN- zm7=H2o4PK1?VnKzdwRvehB2Y94XhppQhVQ4rJ0brt(L9( zqE!CCYI^Uu`lUzS&3rX?jhLQ+X|7HI_+;iQazinNgH@pq8syk}?8XU-mhH3WEYrjj zBq8_tamgVRzjIuX?=LSu`izwD)Wyw|7Z{_e#%b^fLc$ym7{Y7$I)op#mBaqHREhOCWEwD(@lK|fMCItiDxcTiLV(9cCfc*Hz;gzXZ+(Mziz#u@e4io?jlZUO%WU8+H zKjiS=f;|(4TV8?>=lHUpSZi8(eX`X zU!sWS=18x{S*pjcv69|)!o#p-N^i7QPTxd+^NX1?@6r|{`~Im8vxVyK3fpD9twsaD z`R0_lwo}^>yVPaNE*OAe%kcYt_@WbT_Y>E*=O^d6VKbri_FBaOC-&7ib4=h|97$&l z(gcToVToB`-03sx>DofYr1tFJ%nZ&SXam|3&_`Rf6E(R-uA@??Jg1`3I=;G;^_P7* z4$)c{F7i`*y14x>@M$^B6=K#F$dD5%YI2aUmO%eLTWNBODL;^3a=($tPUSuI;J(S& zfmoxFYs=iG@kM2oMuK|;b&unI)kb}^t?|w2WOl`F*m@;UvuQ&wZ2SCRF5V=h_KFsnD~)O6x>Gv_s@69TZlnf7aAIxKhN>~~ChuC>x%)7hUUq`>oq zGgF!P6nEt6ixu=q6YhsWk?)%0hO~qvV49|c1@$$6_O0%qXoQ=`2~0SA?)tD2diZT` zQM(tL&{*-dN&T1DL(9fnbmQXTkE3#n~b3}QJ^-uTht5-PK_inZ&~mDwvrE2X%v;BfS`041nWq|@#Ea3 zf5upLb}Y(qQVvLEWN5hcxQ?37jxy3s`A=5$S_PPTRjNYto-uu7BA7OKpO`}y2{A0I zOd(6X53uGkxJ`{lzE^9_$eiznEFn|T%FpnD9&LILOB+32hm^M-Rsn*usXPt5#x*^b zZ!v|!)_G@af$_UQ&^!@l^69_%Vr4trQpG1$aPJ#2;rc5M#{w`kTC{7^B4$h=Ag$LE zq`4|*Pm;sSQ0lj%EP0>BoMZpS@4|@c*^}vy4{((w1PeuGktmSOa5KJPVl?`Tp9u$0 zHtERI^4b(Ds;p`{oG2~6 z0k}yimQ~r`{8%Q9t`myW*>$*P(F$5Y<(T?55o-qGWTB=KuAu!S4wH^DB}c~@jN$!%Lp*ZcrM|{`*QU&Pevpx zS%R?d&sX-(<)gDA{zMf`CpMJdHvZDzR5Zx`e3_VVTTES%a9Uyr0mpR}mYt?TBwbx` zSuKs~l6k?A&s@6N>N>6v?=x}dpX%6$G}1gsN-N>4PAted`q&_S&wTEZx~&7GQ`HTk zz>6j(#6>>d3oKsIs|BH|&u@r~)GptXhV&5&ZKLjf3bLwcwFbfn@P;LnE}8wDmxe~x zl%Pw|xAUPH8h}gGAS+Mn={~;ETRd5~)c4*naIH8!IH_QdloPWI|E2bsKR9pFt&)7K zxnVzQ#il#cDU-rNKJsD%F|+~v+A6o1SQ?ND8*y37VA>Qw%Va8mEhybXEa7KPF2w&A zvlFnP9G0M&*^Nc0c%#QXT?ryp zI-3b!EAkR%vH@plw`LMh_f`Lqt&}qJ8NB^r@3Hp97n9_apHTO?@Wu6axm;1}KBt$r zVAr=SShIv4ZgG=+ZPMr^Y37@0C1=RLkR%umc_R7yu5QUL5tBw>m9j3L`5=phrxC~U zd_UcG7qyGFl-hBMDIEE9QH=fe(=;9p+|Vo%tM)HH2u$`zbE4{iuOrdQyC4$2?$~}B zGoe%4yB({)%lTRpcp8-CK8Dj@S|aAt64`^ytdY^f#-3S`zpBsb(~Q!eAi05Qt9PfQ z)=iZgY$dc+Br+x$gv0Kjo8u@3S_pIuJF}X=?)@4=&Vl;lVG|Wr&RD%IBI1mrRA3>} z19^ld8M_DXk0AjG=;(?-sH7Mxf+f-5|K0>|O8;^3zXG4GNQ4^?t@nSEI{5v+wB|}h zihC|w5Iahe)AQ9gc7N6>HcX)~YyPc~o;|cn6bQFX#f+T%9fgJn{~ZNh46C!{c-CJ_ z*&=6?qL@-1D>UpH;>=L!w$ zJ|9&ZlRcp3owa*c;&s;ig2W6Naz`&@(ks&YOD?8u!Ap9(BjxU8KQ$z1J`DL9r&HNs z4$Of83qiAE1Wa#MO|hdpdGgynw&U5s4RFu%Ey_mTJrjfRFGBAeenMmZa>{C+dg}w- zyHhGOOs%uCU!4sj@+LuEg(8k9U$MB*<(fN_zwA4VpKst(;&R6%J=VZIH}*oKFOQPP z6)dycE^i0Hc`9%BG1-Upp;8B!B zkWF~d$zYaDhsf3>Yiviy9C;5?&R0lHz6zgEwsM-fmm&K;zx~5pp-*o$RF&Z;TbC?z zKz+{X#&?Mg$s-2>|$tykH~aL?)-_LdKq#gD^f0seLLHtRnO+@D1SsWm1c@kh@ zITI)Fxb95@1svL3KFj!0+9tCCt?N+sxn_F`?$;20FgA#_N@k-Lz8DQOuCsj;0a*!z0MwP;2%7qWTV(=c zc^2pNSD};X%?)xCCt1&S)l9u_m9W6A=f*_H`hr}q%SrwM8d?IMX8DB9oh7TdcFu^a zx(^oxx0bf_p2?;x6;ikGK9`g-49ZU{+A2n7=Y&r`>Zd`<->WilF^ocPZx|K7$hfGtX}}71mGYA zXjj#(WdGDU>C3qSvO?oy;@@m&*II2FPi8xa8V+TdoNIM2U=a^-lm^vwj%^}`qY&&p zUz}X)#GU+yte&g-Ob!XsotS=6ddE9V>nieO{FDv_!R;^v1(S1$itcOEP}pUKa>c$c zd%y4M$?!b9L8t8BtI(DtIy?cqM3jiB4uQWHVG>R~@(IaoBxuP{q|se{h=={ezi~?w z$Yie_bEt^1m@U**b!a2H)oYZ-yp|!4;rf#AWgMLA$4;nz9fX0?BfO}GBs2h`pJ_#hTKbWxDH!>qy-uTCaApWnSGy|>Kwn3BplR`vMA)s z?Yo5_9ezO^3PuHdP!hEhQF6&Q^ueQF*P(uYb>MjLZG#T2+4J(-rw(3UC^Q&ufj&oJ z{I=Em{yy<&|4GmcbNth)!(RSlsT-YI=G#mxWF*Z#Q`W;bVu|#_f=O4n2urkKg$jog z7SF&r0vOc7vOUAJBah&rzome@?j#$|)9Yw7G6&q}sTB?HGm+gwfz_jh*Z zm9t6HhpC5K%Zw@J#fC+4ih&NT<-VojkL+Vk$NVZEt;xsA=f6{oEzeZ#!(Lp3Ec`rb zlAJv5>;!Bf>=a^$qfd_OmA?wB8E_s-IVjg+;?)gBgGtE0%EaigtOfZ& z%40!LKPTg~WgrrngyYh|4om+8vwwvoW@llYbsx3;=xNRPf;$I=3T2>;RCQ9n7TqzP z%<+sbANKmQVdkmY#UxG%7{v=8N)wr0Kb;RtLxIUqkz%~f{yK!RyrHLm)zUWKIb#GR z)=0J0bcLIPoTgr@angYCv!~LbRKDVNr9x*#xR$UfMXTq7BX7lGp&rm zrh-lXhj`Ftb?Dx_vR?ADw`_9?jf`3Mv=?QOS&nF#C|ChFtPD~lU=cYd_j5G}ysG^7 zuj?ambFpkO4&|+CQ+JgcD{rnW>74Gg`cViO2=VoB(nwm#^({9`+y>5@W`um^<_8DS^mL6A=~ zf(5N0u5vOYa4Yz!Iu-cpau_ z6O;V*`!H^#_Ru%`b{AfEVa09_aMOy0FP5G?$-7e;cubEN1QaIs&5`s8oSHE;d}O#N zBJn2<%=}lt4$6+U1nq*T;+qk?7YJ&uW#L2^i`4gmtVlKshV%jLkVwMiI0!ENuy8rx zqz^BAc36>lfODR@DtNmsHG$?%};sLj}OmpOhB1gG$qP9(oM$5ALWgyQbzB+C{5re3rtCO~+%T zP3CR}HqR{m)=$99nS92MRHh|HgdC4=erPnE_I!=^3fQw;8!uc}&lpo0waXxFkOz=6O(m zq83GOAduUJ9BX7S`FV&p@UAv%IZ@CMQPu?2HD-d3xyA3vK*KYVEj#KpKsvBhd6N5?E&#LfK?%RK>9BtM z!r!b@U!WT=T?Bd2*bUNkf-=~7#E8Jk``)7>0k)XkpkNx2q=Ci|zWms*o#4mXNw=Et zA1c^%=pZ&|esXqfy=N6M_&CjijKgfnbMk}Y0`%0~8l#hL>u1FXULG}y#5pa?cej;L zi7fd@fo@iDvpNQx@4)C!x;qgsBZ*ZzbPWxybbSheXIGOdhN`$jeK2cm6hav6^g#(R zE(x;h<0Uwu2mEv+frno%Rx1X$x=FvsZr;aQAWlN-2@~Kc`zMyd#r63p*k3pR5m74wNTM4Jy5puaw&5Ue(DUizACx$`e~KE`YC^PXt_kzh)~YqXVn8 zuc4xz*1pt!;RQNGC4$3{M;0QZhCz(8)LN5=arkeWdfzyg#3Poo<9^jU#|TrZhLLO` zeB0ONKneJ%m#T%UKrTnVulReyS)M8n^#jU25$iVASq zW-KL?$w!@+BHm-_=-0h_ma2|8+%mfs$(d1{hQ&b3jRiwL%@PQ!)z~In3;__US!GAL zpi@tD#oNNd%}NY>rQ%{=vf%`ez=)fyHT;;9@jmunxY?nc&0kMNIp}erK`jl!-(}pd zxuiKX1mB-#CH?pTbw!At%HkdlV%)7;rDXd{J(dgKj6Yd+J-t<{_3yXd{ zkfids$G_^1!4IH*!Yo!sEl00R!2UDf31l!&|;n z!zM!e`A&8E6S)dWM?re=2hri0N<1e5dku3llYa*o?x$NboikDEGf?t3h9D5mz)WT5 za>;B-@lS_IfotF+UG#MiqV%SlRkPp>u%m6PJECN>fYvlKzj|w?t|hNg89+JH+*yp= z&SL+1A>&ZYFe?I)$xMum+Q zH==HWTP0xb6}=@z4-muLzFYM8-TK@1C=k`<$YV~TP%TvA_xW}ca4;TLBw@F@L?XrB z8YqNw73eJ!&tZkwC1S)^5RoWIiKL+s7r`|`{oxQ>el64j3g!`Un2?rnpYWtXDLl z!g?y_oJfyB{QsQt@PC|AgS7;n2yXp9PWdkx*iGcqF5I}9b$K}Ui?D`8=YC++KWnlZP=fOFKUhD0zd3gpJsuYd&=oT~xPJ5QgA~HaB8j?l5QVERP zw3~_43?jI05Hvu3czS=x`rjJBf64jS@`4-rX6HttP!pze;JMz3inr>=UDzZR>w7lc z-z_yd(+ag+xf}ju1fhEw%6vN!05i-VtPwXJi@(nt9z5cNiZ%-4gh$b^9BY;2ahs z4V#(vZBy4K+{aIHuGQk#N@yZ?bU!UR6~4NiqQQjPKEj!aLQwe0Fqo=Odc zn)Kt_`J3Q>T(mply_ip|-L<}aYh%ve`vf13R;3g4inp>l1zEmns~Tt0K| z=iBkbVeiKh`xwU@V4?aUZ=a-!`$80{1t%t@BJv|QkmO!3z9TK3#`J_K%YxT6-iNZZ z9bZ5}LjN@&s)lijIOaEAh$#ZnnaF;*H(vG=(R_nsC1u@wx{~czN`rqqwE7-%DUe`fzbVT`>Zl|TG1hK0uZCyYUaTJZmzH(dWq`g=mOZnwUXtnd8V#whB= zHW;oAs3Lu!e8e>T8Pk%=@BcY(2fo9r z?eM5Jb9uJ?;}zX$nZz?}XldV>Z(1g;7iZhs3%j2`t`2iIT^oCt;%*3a5x=P$Z*tRzx{;o~QTPe}p?eVp519YB#v}WARAvSA`8C_OWjsjce0=i6GkZUFZBIgk)8eCPWFwZ@ zI4;8{Ds%yxeDr7-YqA1JMu9ASED`=$LXhzF`hjF|Xn}^H zFih$I(Oz;~6$b7kxW8#Yt%ob3=&JM_M~K6x;NXspD}EXCqqJ{jUUOp7#G-^dLXFRo zL2ptPX={G^zDv7@k-b0ImQGoSPJHl1%bv>$~vZ=I@uz7k zUukb0S7p;Y4j)2E>E-~^p>%gQNOwzjC=!AfsFXB^21!M_L%JKJL%LJC^ZX9p&*ObR z_xJtpT|NtE=gjW4JG(nGTr)ds5!Qt5s(f-VOe#5t*?$y}Ku(P@2;Oc zdEPI;-j5~fi#bVbHC^onIIiLa#MBLsOobACG)5Hj|y9pexx`4thQav z0mtdy?qajg&Gk@dv3OnLyGf<{sVZ!G2?@+jI5p^Fj@rx~ESaRu_XF;15%Pb%BzxKv zG^WI}FD9$j&BAz~`xR;>{ua>|QUG}@1^3zqQ-!ogtiP%n)j#0)<8%9a%7Yg?BndJU zjW6fN8Kr`Xr;K9vUiH4z8#~X)JCdN7ybczvK zyKWOCIN3HfWN&Ecg-E0s#JZDL9XtE7EAMQnzuf$Zmqhn@Lrq`l z`syt4YW-z&R~x{(s>SlD8X-@bpo-((DoK0LPdi+^z-~m2NchG|ZqJ=oXVy60TE{wJ zz4yulR}!;$>XLjqC*M@g1|W1mF2ZGMG5^2D>r=BbGWfuggIt7o>3 zUqaxw=wIaAg}h6=Hz;(s_O`$791geA2^G*OntQUkV@d_c*K0RxxGNb}$;^?3)yS@{ z_okH{aZGc13mBT#y;7^nXZc>=FW&Cdv<-Sbxe=rFZvz|I5BZ&0E$f@NC#CWvUzksY&I@Ok45LWZ}

mj;^M6;JBc5TfVTf?9G4U@zZzV-ZWJ`g^E+#5*vZf|aaq zui*~bz&-L}UXo3$X&n(?t`LhBaG0H+3-_xo4}Y>Zw?>4+&%Oxw_YKOXbBJL6}C|`=U8hzks2Yd(Yhi0ll5c*+h)pd zC~^~#nfz)xs2L9>-(SYr{9i3!1LjX!5{vqOU|nYIxAD?fW$vk|STCDRZ#h>OCh+IF z|KTrngCUmxgQ6D3pAi@XOui2?4cH_JC5cTY=OS1U9^UD$U*u7z@YX_Sa4Mj3C@?YF zO6Xvqtk;hmw!qIz*l7QAAR6*Di}>s4by9q|r=!;Nbo7E3b5?waaB6;XRW6xEr_>#Y zzF1i4Fkn%)A9Q-6jBC{df_eK1r~g;8qmChoJ4av| z&=m79dNAnpWy^d*Grkl9?@2%sFGhS-%y~_^I_S2(um7UFLmR2)*}e^Q2xN zi0NX53067~;fOrlBQREjYbbs{t&E`<5gTJ7h4YQh&+_mHNZGr0Lo+lmj|s&wMDT49 z7-Li>_`}rfFx>`~Fz)V=TD25&0vj=XTtTNxuVXk_5K;LkE@D}V}|Jv`dIm;4AQv<@D9CT_;(k!;9GG`NmS^#ggbmu zN$&pMGW$-~E>OHBX^=)zN~3x~v3GB=9w>Fs%ZHy4iXWLeK&$xgDYgp~_=}&y1X9cH zmGmfN9JP+$x?@5np#h!MJP6uKUOy%4C*>!k1XW?CS4*8-UYqHVOGu#LGRb&I?EU>o zEvgy<;3??1Nf*Y&wYOSDXIS&~TsU#iv9m|=Kw21k8>P`D$Ei}y*Jo^ml;+APMD&vM zHY{|{giEoo#LY^ePH2gVtDZV-Lkq6H8stm27_~t*U=Vg$8qxXQ5L>e@L|+oN8&0WE(r1 zLauNb(#{I~{dXFgb?i*!^^B)$zS$rv^!p>56RxE_9HiOkZ_XjB#U;MW`>XigqGj8% zc4k@aUj);G`vwORt@G`_e`82H?_Lidt}AjukB={Ak3LAQU_8ghYF~Y(kdtUZ@8;Q0 z07YYnnK}1&-hY#6`qKgLpVzR@J$k>7?-5fr7eDeprys@}UVgnlLgs%CcS4&@UOVvj zoQDGutwq5BNmz#&BVlDzt_4_hLvlfqgZJHdi!OQYlFd|w|5n( zZG#QDL=s`Zv7;I|;N&GYbf~ZP6WT&II~FZkFRWheIlw+*0n48}nYG$0)FZr{3?N4u z*#Bel<7RHwEEyr|hbPu7l`k>ea$$la;Y)Qcn!8!FCRVGIZ!;FXnTg22Zl%V*{e5$| zMqhxlX`~a%RnQA68J*;=WTsFLg-qbBNJVtURMDM+S0weSFfBg5aP`K1z!O@_FY#JO z-^4q8&C|xamNnH{xuVc!TiTX?4;Zu1Ah)1xg}I6rGP|y$&2SstDR0*UiMtZoVw40c z5ZhP63TzLcKMKpl>cVG11B*Kk@%3$JvqGA4Y|8tR z**>ohWDTg*H|Vyqup+*{gN00IpwdfpL3I#eAKgETpNw{Np>g=VjOM@d69x}VD4TgM zqfvul3>g3kp&KJPbs2L(1@z6LXMI&utEudMYRTDMKRbI2Ib6Lp98|ZUAk#2GHL-?h zLv;QjC|4OkxrJC9Eb0W7$&BCKgQ=3TNi_0PA`ZEc0*e5G4FuuViwigNy*N<#5o8_NLDn#ZaMvt$4_VwJ%d zbYK#0B71waFNz`3xaOK5^hrgpFfDS~rz(b(GK~5(z$nO-!D6_-^aVSMGhJt^1`l1n zMAeQ|?5yM_8o{;xoB4M*$q$t71mdqpUgSsvLLA@FJZ(2T3*3MG?1=*tDAhjmEW6L9 zuN#NgO&^9FYa7TG3lMTM4FA`)|8gfEcP$GZG=sEu0|wDnSmaA%A|i(<8XC$IG0XhG z5-~gCg55EQ;e_DUk0%mNeyvtQFZkn6#lX_i(bLrBP>-%!pHcs= zo3U7AE!*bcwb|L2t@_)$?P`^z?dr8uk4U{JRfssg%(Y`QPpM0Q9Yhq1(=LqM%W0sr z90Qd~EK@i)7LenNrpBI!k454nO(7(9t2<_CPxKH8&d_f!4^j3e43eiCE=QD@+EjU# z@*q4K)VsT7!)cx*2U)a&LmSKG*!sL(H7b#$4$Rn4UI;qHQ`^kP3KCNB=a(p?7aot} zeymP{_Wqo(YmBN>5!1lX<`T80DDeUj2;y#5pn!e3Goy-oiFj^ojvhIhOe>OsZ6BBl z6`#I))T|u$*D~1H+EmU4?U#F3XRaHZ^WIU{p$;JP20G zY#0aufPA%+R6IEMvSL$44T*{D7|f`(*Eg9V={x%>8yHF{74q^?-Pu<6EL&2sr^E8* zN|11_u*KA)Py9*t`{JN++f5-E?w*2C7OHs31(-V zy*`g?0)Fts)12qeCzMbyDR!JiQ4jm!rlO^5Q0yaTXxeK;g$_xm!WA3egyl`5fesS@ zb^O;(BtKvt-f5Ch3s0)~5;0kvbA)R@J|qkTMwYt0uXuNWE=GHc5DVkpwsGU2awU|k zISSNUrM5KDd-yLtI@h^BxeaE?&-;5m zjXgvka$ZEBt!mY0Dmgmtv!GQ?sO13eCIT{}CKsTBxouIfOFGA5X-mvWURmg_ge%`c zg1HHVuK6zm?PhNwFPAJkZKovKsE5>=pCKh z&}wra>Z`oKc~bCdwMTF;XteI=2k2+7u>}wg(W798F(uz2N*OaI9z38sE=(wbqi^EK zh@}6;$W%f?V&%zZ5(NEfB^wGs=)nj@DGiUjf|^D#+ALq{u}(cEeq zA=iMCByp!k(;YB%=rhs#EdoEPxpQ_&jT|v|^4QBK90be^kt&<)Iyl``J2E`v7pKW)^afo!aJaNnxLwgD9r&0uZo4oWm* znEiUWk)yL~mdhXxd8>GftZnbeoYlLPQ|-xfRPR?5acFh`3b8-UA@9U;tt(nCmKYg? z?k4QLTbjw&keBaJqvbJ$WmEnM`T7_uN=gL6^_#(V`+n5DYQlZPh#mqgXuK zlJSU7>>wam6iC#FmjX?PbAhS9HX>MUykl%kEh2?yIRlB<6D_fJ1Fu1YfH5E>+oC*V}P!^Q#QP)*O=~x(@2f58Kv=fkksEFIc~xjxLSjjz-fn2 zCG)s;1Uayp;AY;@3w4Xg-yjLtxL-4uPSnLnEDS(6BMVH$e{cbh<-V$WNOB1rv_zrk zRb!{L!yuM6XzYN@&D3ut+RHwYVX-pCge==zy&dMSpNRLm0JT21##0DcU{ddd&gINd zPo&yW2Q?uM?T;v68eET%%n2NFvCpBQ95~v4i+<`5R!BdwwtBhK`2^pzsxPgu_~+39 zV;tatU_gPTpM2a;RGRv=69hK?$hB50RdmG?mo_JZ1&xAaf-9Fve64_%DoCED^q$UOF$+o2Nb~-58uGJ)!sHN+psse?Ky{ z(V9gP%;!Hh<31lXo`#t4N%%EuwNKml!r+EEqHxwbXVFRwyvWCZWI8R zQPN@OA)sW!pgfd`d%mK1XFDNXB@D(0CyawQ+a7iMeU{WWe-pM)K2$!8ZYuS=HR&m! z(%9M(sw3{wHGdYuKF5y;oST`sU)$A{vxE{BGlHiQIr*{A6jZ znz`SJ2Vqk?H=1EDd)eSf2HA|@ug(BRDPB&ADoVz|6grUQX*U6O5nFWus6u*Mxch2b zuo+Y2Ltu*h8>Mabt@=QsNJ^n?oY{JTyR#RKJ&lrulcBu0psH5n(Rl7uX`p@^Iw0!PP#>upClSDN&vq8v+SkAki{d zuAk{0$*V4X>fUb3{dBtDqL$ zX35A9YYMlWUxE{ubZqKDdmr8(e;~h!ajEz|DjD;;O9UxfCH#^_6aRLg`;hJkfBu(( zzY|xiwYVqNcD`B!e|2pc%viI6YAAU@^zmuFj%;hok`5(up-eTJYa;+g>QUl`fA6s^ zoNVaSLklaXVf=rTn!0b}wxQZ6rryc5wMGoLRc#i8p9T?pP_8S#RFCwcS;PI+n+8pN zjOat%B_TT6eY5dXy<0}FkOBX#h;fs*YqMPSN{&J4$>2u`x&Icai497%XjOc zZU|f{wFz;o0@T0%urD+P3taA(RFv^2LY`vwH#2`Gmg~u7)$jd{p>~tPK#F)dq!|G= zW_H&=0kIfWQ8EJLQFjF^5kbrv0K61@eN0yT(RQJ{2)8r>u)zz!$9Jylyb!>$H;oO6 z7F#lJjKoOj*0vTmp=fmZr$C(hj~Gu%u4$J1AKYWpwdSQIRZ=(~y9$_l7Km?zLIqSMX0KDNSxZy7$@iF43)pR$IOI6k& z8!&bm8h^mw7w^&Ed~=WUyC!QD{*!_H-}gFS;-6F@RNILi128!um2ANHb8}!#W3s3- z49p?1ztgNmcngc6&*C#EDpj3z9_q&xZ1qYWs7@SS`%oW-<`UcL4&0EBv91;yUT$kZ z1dx;_+NvhHq+v>kO9&gJvsB?d}F_~xzNXcoG z%wqsR>mn*};uIlRq#-~bgSdD}D4gRN^XMrAW3H5i)8yzb%HZA?%T>VX<>5bm`J%W; zC~ODYawRJo8@N^WDwP`^Mu#`^XFsZB{$u$jUuRKb*Z$|1*3nwfC3CiiB2u0_9x?oe znT*lE;pfgFx1{BfBYqYi-<4OhWkGsxfFui;Yi;(g9ZMrHJ997RvQxvz{gA{@U!@=T z5Ti+s4gGMdln$qAzB)&>Ba|&)=02X2_cr2?t;GyYM zr>x$h{IXD@o{DqsIVDCLD*7O?sI(10x~|c_lX2NnW7y-ppBKqAsqG+r%7!*&@`}A6 zFRJ=^QC5bww|q{Wq@a?nzFA__#upcsw^%ynqX+d8v3Q>yx!@D;APvGHf-xvle2K8i ze*~Cg3Mf-~8MbHWaSb?o;1EqrYR52X{F>$GqCy90iyNRTrf6WQZ~nGX`;Y`27c+&V zHDUlac1Ed7ylNB|8;cXWg?F#nKZEymiDRoNIL3JE@XBMzX%f+=j8gP3<$=o;XJ}Pv zmWgBo7w&5y2*qB#68-B6V)V0*3+$C>ez9fA|E&pV@i@|_02iS|k9S_WI*Bb95m<@xt`*c0{I=^xlL{Fml z2Uvl2t`ROk|LTli0QEtbn}cP&>F&!4K_b2yg;`OHJ#cL@9b7hdgT%hJ58y;h9+{EP z)zpsCE0ZpuIw|-7I^vMb5}eXQ;fL-!aL`k7d7)1arD-ry^&u_Kg4hR)dh_Lt<;p*k z+Fsdek&Q&Jizp&%xy_^gzpBmxsE(#t*s!>}YY6TZG`K^8ySuvt=ODpd4C3r}1cjxkcZ|?v7cWZ06o}Qkrk>1*xsh*j%oj#Wz7Be1`6hC8XB~TRKfTRsJ zLt+XHmFLY2#~#JwJM>nvXg_^K=55G5kLO% z!9kFT)q}A2D-CnK7uVD~q%HyIQ51=I{&DmnJJ1aT_v==fq=gi}TUZ7^cz^}>rJ-y! zFtus=eZXw?h=&Y zX~JAF`v+X@C48?#=bRRNS>zp#dX_viv&sb2Wb6YgtgX}3Rw(6eN%VFcqQ~|f%C_qc zc&|VKt2@DMD(YA^Wx13hg2hWtqg5`4!$*s)5}l3MPNAVtlun+f+>!bjVl-d`595iK z-!|zrl`RIrce$DCZ{J$2^y@1xjXF8^_9)c8j0Sj7v+KQTon0c}JF&arOknVYHi`N8 zS|e7kb`;e2idy4ou5n6?EG37=-?*o{y4!(HRw!>=D(hMCbDWYNXsE2Sl4ctf_&&xw z*1KZ9i;de9Z@WU&DmeE_vr`pb{NmkH*cpDH-{94#AAU0T)iTDaT#PxXU0F8&YUB?V zzt}qnm)7hiW12%35WuRO#uP_Y3vtuz4#y@ETPEk3Ghx~5vy7bCW;w}XvrG1qPqNZ=7!#@ z3ms!hwV*$FB_OT8pw)+|w1#AR;XL$KMXQtkvLd)f5tU~=^fAFHCkG{sFn^?#ca*U9 zeWwz+3Qzk5j{~0$QKdf0N+XZT^RfMx>eJ^pl=|9QBK#yV<>7~VX^>Y&yx{sQkY1dmiwF9EKv})q4g((NOxR14>?YQDdC-$cx{fHqI2X zfUl}<$cgL1WMN|l_9Cbzx@laxMl>h97!||lA%**rGaErz!X9QQNAg&p>%}MZW?y2;)q_GT{d%Q{K0L3E#Q~g5RfZz2Lqco4c?VLJ3Y1?lbGc>3x%^%S=Vo2t*W)FP)@q?$CBK>r8G>_?;Zy@3HFkWQE37OU?JB!u#+hqB9$Tr)2U3A5UylRjk2ymKijhGN>9 zIK7+bCD@^|U$_MwcxL)gZFrL0(Ve_;* z+u5#FzGdmS9$)UBu>vari$#FC5;(%M+%e!&fjxPzT-3+zh`4z^P+;?ZfU=U7mlhTJ z43RA4Lu zlS6~)o{_dAo1ZNL>in+fQ+E~ywViuCv@Ai5^@^5h(gLaY#sc>jUjBM*sEk76Hj^>^ z)q1+AfS9+CO+#l+J6g<x?gydI1T}q?Jdgh7_Gv(8La7$<3%aTz#PPG7MkKR02l^q&5EywTUG=3*oU(X4cQ+ zQaq@!jw9GPwINSO<)^!W?aV8oDoUkrt3A z`a7SmDN8#jRacw8zysXhiy-qlm#5`VImmnq)#y zWi9I;aN1fhJ5%(7OUn$FE>bL)4W(|%toN(XnVpUgh_40w4pVh#6gGTlclCIPkMHWK zehu62lNiLVw8d)PBfZ5~BiiXFt=o&53MpXE967aT0)=v9uRhcd{=RJBJQf%)&&Kz9 z8@3c(!m5lmN`Sw#e7dyurxMlaKjRsE)`fM}E#@5tikBDGb@NVTAWuOoH3dcF@+M>BZCavJM5;S`Y) z;veF?InW=ji=)GX+Mv^K<1GAyYQ!=zpM#WaJWhH&$Y2YbNzDQ_LxOn%e%~`GiluSo z_%xR{@{7jOz&A4@Nj8_;$4p^a#j$GD?AAb2RzY(t4PiQHew`+X1QI=4kRM8X3HNXU zKCvRRz4PmHxEH9;=BG;%$CEYTZp*4M%y2F>HShIE>*ZTNUn4>D#E#8w3y?rx9CMN; ze)AXlIyDE>PrMgJG@O4adEltD(9#$&~Vq{=J}8^TceP< z@bRQ+!ax6Fg$NyLNX7k5)|{Vo*M+-~=NV~*tNOeavezM1Hw#{^S|aWo`uh9fKp(#Z)PdHj!h7xdCVe^UW$xv^1sv@-7T^fLMi?kD0OQ<4TVF z0Vl-lqx2rmzGq8uOpZNAtuf94miadkIv9j8j`!C@{YT&2g}xYN1K1CvZ5{R7_SI{F zNp^)oNfaiO%W6e7_l+El=_M|mTcK(dtAa~bz)ON^hO}J zBB|Bqiz&b5H<^vT26ZY-wk1ZaRa2(qYga0!BCVl8C%=$>`N7}!MHvj-+w)+=Eqx#F zT9D{4MPTd#Qdjf64vRJXbFI!N?nnqN{f&&SClTKqz$y4$)A9didbEqH+U-{w7MDMU z(+ONHIJKJ7_{J|qIx)K~qN1XV;erbSI5SLrMk?#X1?To3x>#XnO)}q1^TfPPpUA6( z#_&;#pr`LoNA~T&S4-f8FCCvp4Cu5h_INfg3X2xMfsh9F#=j@&2azPkfb_rw-Kzql zs?C6nmHV^Pd$|m`4K0qKeHK?A11^Y?A%-C1ZISxZY}v*m9*1?--e#}dK`*G&{bfbt zLQ@B5d#Z{B=j4j`C>I63jtaIZqv#^UDC!0$X^%f>1>f(O@%!s{>k)lq);<*prcS9r z>-+CR^}3x+$`F(|xWYy{O#4LEoKKx_&`=_>o}w5bMGI72O`7uGlSzX}h0mLq{zwuO z*Z6gBHv4kF?5qK)YyY@;YMu@Xri-YH69NG3VLF9r&Ov(mOb*++d$Ibrtw}mFz$gb;{{M6mfG$WutA|VObir zSb^L2vghlcmE(+WB_%33q2y^<#>!30>6dVyD&up{9XtsN04$dRapgo(`#JG@ci{LTA_avGKYaU|n zI{X<*MO3ESz=>$R*JmIZtJA|UITuhfIh{iDyGzOn<3*773_0E?$f^^i*AN^1aFO!e zcbbj5^Ui^?!+W)@gFReE48&ZX5P7H{sy~ppW~5jZ9Uy%%T=)Qr7G7#NVBW%|O5_PZ zJ4OjgH*`wSU@I7h@xssO!0b2H;$Gmi`Pp!uN#T;0uGgmz4jyZ5SsLBLyiY3kvS2cP z%Ne{&|Mt?i5>i`3qCgQfvl9WwV#~a^nK6b9Iq>iO>F5&2Y=%x2>2sCC?sDNO7lUGN&~~%g>hs zk9VJuZXar1)2<2ij`3riSlrb}1x&$ZuI;^+&5deyFLqjEu9CQZC44!RB=!3hTX3`x zp+!b5Wg)vyiE-}%?blabFaaoYoU<(xNd*q#8gJ%ui=99T@eq%CjgadeW2&n%(Y{^| zp2=o^RUr?l!9OVKWJUM05~!i4EFRva+Xn_6cj79~I>SZ&BSNcRDaV7l0|Who{QQGH z_y+~u-#v_t=ItZ!HNDKPg)#Sw0$ThT?5UU8sGMUA!p1wLP)cbGNMQKUF8YWj^c+8O zacB*aH%^p$x%%~a+&Fi0%{cdpnSRyfW+nFL1Xk-}86X6UTJ55V(+CFxgG>shr~nv1 zMjk(fumhoWCq8#SNy(`>rFQV;{j!u|A~_E)6p9vNiwyK=8s5o+0_Ukzkq*SCntc57 z%!_C3uMb|P{CB%e5SDdAQM2&3tsjlXc*WbMEWV2IzZL;4@vU7ecTf=+EpvmC@ei&b81W%8!DyWA*|%nz|6VvJ&_;yXS9yfsd5 zbf(}$!vz_e@Lpp5CCVv=C$x`0-G;iSRn`6ZK)*S;eCNse#OFT_u5#2oLmpyFYCRO+!JuqRd$TlrI_*S^Top?Dxw^toBzNyii!#Ew=z zn3N^rf0&`QqeDp`H%xcl+Zp$fjDsBwe_7@o1vO!4w{9pS`nDJ^IZ7$Xp95i9^#Ms9 zRam?z{j491UAhC=dIqWeJqv{tsOh>vUnEKTw^Q7{^9--57OR@GAb)mioTtJ<>Q9$s z85U&Zw&tG`mvyT=Ks@HMYst_DgPMifk-Z34Id6>|QuYyo!Jip*Kq91{AT5E`$I4@r zgtiAhGkHOoL3EF&mM6y%Z%Zh}h+>lvaBO~k4kx#%l?b=F$P&$B6}MvFfcg_k^3j^W zB)^Y{yOX3LKa$P+GN+TIhQgR53!w%-Av4OrlYGS(oInT_GL}voVm#0SgK&!`owbnR zOz#NA`p!3W9zp6_d;X296-mbyzAEIT5gZ91I33{nyEIo+tSCuw;~cemTirOm1;bj8 z4(i0B-Ti`=#rLlZ3iLFNlnaV=6$w*c-M9m=c}ki=aqIbkBUh*0*y9dO}?|F zTK2{<;kr60_DaOL=Rs(!_xyTN9@XEJad^k0+OiSRxNTUD--IYkGfQlpQc9=2^020= z%70d~v{qk{QANh+WEtAhEeqM4*?lXI1tq}z;+>kSgH$!JvnR?!hg8PCU1z_bM?}DJTlMUq`EY*WbQ`V3|l`B`8f!nVj@IN zq+!Kt)46`1@4gu{duz#`AXT-N>hqhRHr7xg$fn;mM++lqn?HbzRv?_?U;9jeuEMd^&BhM!B%_`Owa5AW)Ch6}tr?j8CT zZZ#yK>)?Jve5SoTmGBbJjet!}j$_z%gJs?#)%! zSA)hy$nC&XXf%HMXcc{I{IdM9!pmvoSpLCx!%x{oltS3t_UuE(kl<+*Q5;*H)sixP zmc;fwE3)7d&y93dn=w@g0aU6saINRUBJ#ck8qFxLy|D7u{p-dL(3cg1`7GLOUa3)) zq1oG`1&>oXvFw8hpI@?b3m)ucJkaKqHYXXbZNF2PR4z}pXXo+BAwkHhV`|9ouskDT z#J5oo(V`h`jvC~v>MxrZo1D8{VmlYg%H#=GLs$%AvLDF($j{f&qtJ?~o_x1W93E>G z^o6d_)JXc72Vm?_LA>~bg84Mx%OeD%UeR6DnRB&fJ4#(6QN8{;P*ZrTORYid1DEMA z_G^fQXr_k}V=QBl$yq1(M`-8EGA@%wPZ2J!f>Q;i&DNh=f3_)vY8QyA;MJwnU|*pY zqwfdX3ehgt2UEl2OviyT!qKR^t?cxdx(qFy8bOcu?-}}<@Ij|rm&XXf9PX$C=(r(X zg{QY^w&uUK^XDsIHPPP`J9QR!88Ek%#`xzR6$1PU!}WjYo0~pIgeh-#Ehv5K^R?no zlZUk;)#MFRQH>KfFCRFc^7q1-Q@Y>r=y7NXTInl+8l5W`n`=gP&})m!aj>Zj-Ktw` zFc(#qwR9{vwt^a5=}<$MxnU*=zM~T`iVH3rsM)&Y8Lfn#{Lvv6yplvf$UZA!Iu@Lj z*&cCy<_QTiciNj$CQW5rU2Lwmtf^42B6MI(6E>QkSg0$|1b4+&2$R5f`E z!QrvAoH@a7bRx5omzS$bv>$R~Tt`**#wpl}pl`}03WI`tn%h&L26DN=i(k+Dz+W6* z!a|^lf#-PJBUbloGL#vyBM5@RI_p_!bn#a_agOYH^LGZH(R@iY0oyn>n{!9(FeF#$m_6ThIBcsC!*%Ly?- zXI27W8Fx@c`b}2mm~MHgI|-_E#7#-SHR!huK@iPD%Bv*xY@e++lIzpu^1ZV8#WAOa znlo6KX`0*qg*I4eXgU=5j6^M?ya963X=W|v`K<5zc~voOQp?~KQKJX>-71-_74s`p zXHWJKMk?3WFw;7|5Zy=CYlzUQ(l2e|qH4#ayyF7tvR~S%anCB@-HVIIf808b`UI_y z&@$$h1M3ttcrkmrtfLGa8GaY-_~i6O_Q)!4Km?S4%!DwVYS z1F8D*+LAuTju4hUs4dkbF)H1yn*b{-;p*!HHNAEYOABC5f>DLk|88#@j%FG?$}>ml zm+<7vd2-)IU{8;$f7($3|u_z8q+Aza@L5yKZz_;W$yQ&_f)7t1G`dIqvhS*h!BqHtAiD{WFy_>JQI8}CyQ7v?3Y(_5LsUk$o+ znd5J_JITc8Nn7r9!ko9ElUBzX+jmn3*`u^ueF9CTyS?nS20A$_{9}RMI_0N$YPFza z&_`!hioup(S)*TD&B&JYrj$q_+qzE?nv@Sdu{6BgT`_|hId>;fL$4_t&AQkrle=Sv zE^uaW66M~qN1l%O@N&Q1lEL#|U+CdlBc*g<_b+`?k+GNHCSC%*as=6vRhgEEOGj?;OThvn`XSCuSyRP>9rK0 zJUxpzNr7_e&2H^)(Cwc_fm_3fQpEbd@5z~9ap)z=b#=Y!s-JZ-(hv1so`ckcUqE99 zr#4k=CJsx)Vms#YrN)|M^NPwjgDvl}u5I`*+ zUJY+oWD}G}GDV`@<+BQE%F`i^+WB)CxDCIT)%DFStmdoi9ijyld867~7-c4~MHS}AhrRP@wwq&9!|DV%9-_C%-eNHQtFj{0xSY;`6I3(#?g5)jK^AaKXw%0}O6$t zSdnO9bfWEWYi;7ym&SfVcH;0f5qg(AaIXa1Db-xzK*$T+?d)VM?IhLWPv1q$6+fgG zzuS>7A6Tq$(Va7;JzC0P? zv>Py&RB)-gc*Sry(4%9H#jGp_U<&$$J+zLp+1i3Cyu6u^A<1uEZv!`XShKC42|CAn zi{W^Vo!Qy1c3T!h)UG4!K|Mh>MdtWz{y7h1?CTznLCb2%RM#5;qSUp>kmj5KPQ&E) zF{0T}q;K!fnyz&NMTw6DNUQ<{@~|R>Mf&dgzhLpRLrHoz;Q7%imf>ePfd~DzRX!xi*3y-O{ZIC$ zYuM1o1%09IGrKB3k~^UvO2bS^5z!b3-cNZd&p@mE7N7zL_oaja%)Sq>!EwGESY^Bq zD6}T-0%@?gumB7UKFrIA6^7B^i!##)%TI9oKJXi%hlea72V8gn=mTB2;N)!pKlKO~ z8+>~Spo7^D0ZL$z@PDO9V7o(rgxnF~m`>Un7Dl!M6Nco);y)Mcf1Vpesn0}Y;Pyj+ z8O|^W_T_&G;DK)s0S-8`&wmNK6&3+3b@Za(+x}M+cJ!i~6It8SH!lV3YrMgbxEl^?$N@$Adqe07`&OGI;w0kOu@(z+9(*7J!uc&l?Z? z`4o@6-8U}{&{}^;l1HjJp01+7BMGvfT29N?~IbfGFKn$?T z1J|Dc{BWE30C>F%AY%RhYxqw`{_{DHzqEcN8Vn5W|FNq39n5wPr~5CUI`SEW`)<4kyAJ71p#{LybT>`|&FHWWM9Fsr`#=Hawftr7l z;06D2vC~TcA8c^>;wW6>|K`ZNd@+;p7Y_e{`@fL1_u^E_R{%3$3jJ3XeD%^icP|gb K0qBc^!u${N$T0)} diff --git a/01_Matlab/init_model.m b/01_Matlab/init_model.m index 183ff24..647d4b6 100644 --- a/01_Matlab/init_model.m +++ b/01_Matlab/init_model.m @@ -10,7 +10,7 @@ % >> improved motor efficiency -> lower energy consumption % % Author: Emanuel FERU -% Copyright © 2019 Emanuel FERU +% Copyright © 2019-2020 Emanuel FERU % % This program is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by @@ -59,7 +59,8 @@ r_cos_M1 = cos((a_elecAngle_XA + 30)*(pi/180)); %% Control Manager % Control type selection CTRL_COM = 0; % [-] Commutation Control -CTRL_FOC = 1; % [-] Field Oriented Control (FOC) +CTRL_SIN = 1; % [-] Sinusoidal Control +CTRL_FOC = 2; % [-] Field Oriented Control (FOC) z_ctrlTypSel = CTRL_FOC; % [-] Control Type Selection (default) % Control model request @@ -89,7 +90,7 @@ cf_currFilt = 0.12; % [%] Current filter coefficient [0, 1]. Lower v b_diagEna = 1; % [-] Diagnostics enable flag: 0 = Disabled, 1 = Enabled (default) t_errQual = 0.6 * f_ctrl; % [s] Error qualification time t_errDequal = 2.0 * f_ctrl; % [s] Error dequalification time -r_errInpTgtThres = 200; % [-] Error input target threshold (for "Blocked motor" detection) +r_errInpTgtThres = 400; % [-] Error input target threshold (for "Blocked motor" detection) %% F04_Field_Oriented_Control @@ -146,10 +147,30 @@ iq_maxSca_M1 = sqrt(1 - iq_maxSca_XA.^2); %------------------------------- %% F05_Control_Type_Management + % Commutation method z_commutMap_M1 = [-1 -1 0 1 1 0; % Phase A 1 0 -1 -1 0 1; % Phase B 0 1 1 0 -1 -1]; % Phase C [-] Commutation method map + +% Sinusoidal method +% The map below was experimentaly calibrated on the real motor. Objectives: minimum noise and minimum torque ripple +a_phaAdv_M1 = [0 0 0 0 0 2 3 5 9 16 25]; % [deg] Phase advance angle +r_phaAdv_XA = [0 100 200 300 400 500 600 700 800 900 1000]; % [-] Scaled input target grid +% plot(r_phaAdv_XA, a_phaAdv_M1); + +omega = a_elecAngle_XA*(pi/180); +pha_adv = 30; % [deg] Phase advance to mach commands with the Hall position +r_sinPhaA_M1 = -sin(omega + pha_adv*(pi/180)); +r_sinPhaB_M1 = -sin(omega - 120*(pi/180) + pha_adv*(pi/180)); +r_sinPhaC_M1 = -sin(omega + 120*(pi/180) + pha_adv*(pi/180)); + +% Sinusoidal 3rd armonic method +A = 1.15; % Sine amplitude (tunable to get the Saddle sin maximum to value 1000) +sin3Arm = -0.224*sin(3*(omega + pha_adv*(pi/180))); % 3rd armonic +r_sin3PhaA_M1 = sin3Arm + A*r_sinPhaA_M1; +r_sin3PhaB_M1 = sin3Arm + A*r_sinPhaB_M1; +r_sin3PhaC_M1 = sin3Arm + A*r_sinPhaC_M1; disp('---- BLDC_controller: Initialization OK ----'); @@ -158,64 +179,70 @@ show_fig = 0; if show_fig + % Apply scaling sca_factor = 1000; % [-] scalling factor (to avoid truncation approximations on integer data type) + r_sinPhaA_M1sca = sca_factor * r_sinPhaA_M1; + r_sinPhaB_M1sca = sca_factor * r_sinPhaB_M1; + r_sinPhaC_M1sca = sca_factor * r_sinPhaC_M1; + r_sin3PhaA_M1sca = sca_factor * r_sin3PhaA_M1; + r_sin3PhaB_M1sca = sca_factor * r_sin3PhaB_M1; + r_sin3PhaC_M1sca = sca_factor * r_sin3PhaC_M1; - % Trapezoidal method - a_trapElecAngle_XA = [0 60 120 180 240 300 360]; % [deg] Electrical angle grid - r_trapPhaA_M1 = sca_factor*[ 1 1 1 -1 -1 -1 1]; - r_trapPhaB_M1 = sca_factor*[-1 -1 1 1 1 -1 -1]; - r_trapPhaC_M1 = sca_factor*[ 1 -1 -1 -1 1 1 1]; - - % Sinusoidal method - a_sinElecAngle_XA = 0:10:360; - omega = a_sinElecAngle_XA*(pi/180); - pha_adv = 30; % [deg] Phase advance to mach commands with the Hall position - r_sinPhaA_M1 = -sca_factor*sin(omega + pha_adv*(pi/180)); - r_sinPhaB_M1 = -sca_factor*sin(omega - 120*(pi/180) + pha_adv*(pi/180)); - r_sinPhaC_M1 = -sca_factor*sin(omega + 120*(pi/180) + pha_adv*(pi/180)); + % Commutation method + a_commElecAngle_XA = [0 60 120 180 240 300 360]; % [deg] Electrical angle grid + hall_A = [0 0 0 1 1 1 1] + 4; + hall_B = [1 1 0 0 0 1 1] + 2; + hall_C = [0 1 1 1 0 0 0]; % SVM (Space Vector Modulation) calculation - SVM_vec = [r_sinPhaA_M1; r_sinPhaB_M1; r_sinPhaC_M1]; + SVM_vec = [r_sinPhaA_M1sca; r_sinPhaB_M1sca; r_sinPhaC_M1sca]; SVM_min = min(SVM_vec); SVM_max = max(SVM_vec); SVM_sum = SVM_min + SVM_max; SVM_vec = SVM_vec - 0.5*SVM_sum; SVM_vec = (2/sqrt(3))*SVM_vec; - - hall_A = [0 0 0 1 1 1 1] + 4; - hall_B = [1 1 0 0 0 1 1] + 2; - hall_C = [0 1 1 1 0 0 0]; - + color = ['m' 'g' 'b']; lw = 1.5; figure - s1 = subplot(221); hold on - stairs(a_trapElecAngle_XA, hall_A, color(1), 'Linewidth', lw); - stairs(a_trapElecAngle_XA, hall_B, color(2), 'Linewidth', lw); - stairs(a_trapElecAngle_XA, hall_C, color(3), 'Linewidth', lw); - xticks(a_trapElecAngle_XA); + s1 = subplot(231); hold on + stairs(a_commElecAngle_XA, hall_A, color(1), 'Linewidth', lw); + stairs(a_commElecAngle_XA, hall_B, color(2), 'Linewidth', lw); + stairs(a_commElecAngle_XA, hall_C, color(3), 'Linewidth', lw); + xticks(a_commElecAngle_XA); grid yticks(0:5); yticklabels({'0','1','0','1','0','1'}); title('Hall sensors'); legend('Phase A','Phase B','Phase C','Location','NorthEast'); - s2 = subplot(222); hold on - stairs(a_trapElecAngle_XA, hall_A, color(1), 'Linewidth', lw); - stairs(a_trapElecAngle_XA, hall_B, color(2), 'Linewidth', lw); - stairs(a_trapElecAngle_XA, hall_C, color(3), 'Linewidth', lw); - xticks(a_trapElecAngle_XA); + s2 = subplot(232); hold on + stairs(a_commElecAngle_XA, hall_A, color(1), 'Linewidth', lw); + stairs(a_commElecAngle_XA, hall_B, color(2), 'Linewidth', lw); + stairs(a_commElecAngle_XA, hall_C, color(3), 'Linewidth', lw); + xticks(a_commElecAngle_XA); grid yticks(0:5); yticklabels({'0','1','0','1','0','1'}); title('Hall sensors'); legend('Phase A','Phase B','Phase C','Location','NorthEast'); - s3 = subplot(223); hold on - stairs(a_trapElecAngle_XA, sca_factor*[z_commutMap_M1(1,:) z_commutMap_M1(1,1)] + 6000, color(1), 'Linewidth', lw); - stairs(a_trapElecAngle_XA, sca_factor*[z_commutMap_M1(2,:) z_commutMap_M1(2,1)] + 3000, color(2), 'Linewidth', lw); - stairs(a_trapElecAngle_XA, sca_factor*[z_commutMap_M1(3,:) z_commutMap_M1(3,1)], color(3), 'Linewidth', lw); - xticks(a_trapElecAngle_XA); + s3 = subplot(233); hold on + stairs(a_commElecAngle_XA, hall_A, color(1), 'Linewidth', lw); + stairs(a_commElecAngle_XA, hall_B, color(2), 'Linewidth', lw); + stairs(a_commElecAngle_XA, hall_C, color(3), 'Linewidth', lw); + xticks(a_commElecAngle_XA); + grid + yticks(0:5); + yticklabels({'0','1','0','1','0','1'}); + title('Hall sensors'); + legend('Phase A','Phase B','Phase C','Location','NorthEast'); + + s4 = subplot(234); hold on + stairs(a_commElecAngle_XA, sca_factor*[z_commutMap_M1(1,:) z_commutMap_M1(1,1)] + 6000, color(1), 'Linewidth', lw); + stairs(a_commElecAngle_XA, sca_factor*[z_commutMap_M1(2,:) z_commutMap_M1(2,1)] + 3000, color(2), 'Linewidth', lw); + stairs(a_commElecAngle_XA, sca_factor*[z_commutMap_M1(3,:) z_commutMap_M1(3,1)], color(3), 'Linewidth', lw); + xticks(a_commElecAngle_XA); yticks(-1000:1000:7000); yticklabels({'-1000','0','1000','-1000','0','1000','-1000','0','1000'}); ylim([-1000 7000]); @@ -223,16 +250,27 @@ if show_fig title('Commutation method [0]'); xlabel('Electrical angle [deg]'); - s4 = subplot(224); hold on - plot(a_sinElecAngle_XA, SVM_vec(1,:), color(1), 'Linewidth', lw); - plot(a_sinElecAngle_XA, SVM_vec(2,:), color(2), 'Linewidth', lw); - plot(a_sinElecAngle_XA, SVM_vec(3,:), color(3), 'Linewidth', lw); - xticks(a_trapElecAngle_XA); + s5 = subplot(235); hold on + plot(a_elecAngle_XA, r_sin3PhaA_M1sca, color(1), 'Linewidth', lw); + plot(a_elecAngle_XA, r_sin3PhaB_M1sca, color(2), 'Linewidth', lw); + plot(a_elecAngle_XA, r_sin3PhaC_M1sca, color(3), 'Linewidth', lw); + xticks(a_commElecAngle_XA); + ylim([-1000 1000]) + grid + title('SIN method [1]'); + xlabel('Electrical angle [deg]'); + + s6 = subplot(236); hold on + plot(a_elecAngle_XA, SVM_vec(1,:), color(1), 'Linewidth', lw); + plot(a_elecAngle_XA, SVM_vec(2,:), color(2), 'Linewidth', lw); + plot(a_elecAngle_XA, SVM_vec(3,:), color(3), 'Linewidth', lw); + xticks(a_commElecAngle_XA); ylim([-1000 1000]) grid - title('FOC method [1]'); + title('FOC method [2]'); xlabel('Electrical angle [deg]'); - linkaxes([s1 s2 s3 s4],'x'); + + linkaxes([s1 s2 s3 s4 s5 s6],'x'); xlim([0 360]); end diff --git a/Inc/BLDC_controller.h b/Inc/BLDC_controller.h index 6583d08..2c08169 100644 --- a/Inc/BLDC_controller.h +++ b/Inc/BLDC_controller.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1199 + * Model version : 1.1212 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Nov 3 12:28:16 2019 + * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -30,122 +30,138 @@ /* Forward declaration for rtModel */ typedef struct tag_RTM RT_MODEL; -/* Block signals and states (auto storage) for system '/Counter' */ +/* Block signals and states (auto storage) for system '/Counter' */ typedef struct { - int16_T UnitDelay_DSTATE; /* '/UnitDelay' */ + int16_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_Counter; -/* Block signals and states (auto storage) for system '/PI_clamp_fixdt_id' */ +/* Block signals and states (auto storage) for system '/PI_clamp_fixdt_id' */ typedef struct { - int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ - boolean_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ + int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ + boolean_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ } DW_PI_clamp_fixdt; -/* Block signals and states (auto storage) for system '/Low_Pass_Filter' */ +/* Block signals and states (auto storage) for system '/Low_Pass_Filter' */ typedef struct { - int16_T UnitDelay3_DSTATE[2]; /* '/UnitDelay3' */ + int16_T UnitDelay3_DSTATE[2]; /* '/UnitDelay3' */ } DW_Low_Pass_Filter; -/* Block signals and states (auto storage) for system '/PI_clamp_fixdt_n' */ +/* Block signals and states (auto storage) for system '/PI_clamp_fixdt_n' */ typedef struct { - int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ - boolean_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ + int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ + boolean_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ } DW_PI_clamp_fixdt_c; -/* Block signals and states (auto storage) for system '/Counter' */ +/* Block signals and states (auto storage) for system '/Counter' */ typedef struct { - uint16_T UnitDelay_DSTATE; /* '/UnitDelay' */ + uint16_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_Counter_l; -/* Block signals and states (auto storage) for system '/either_edge' */ +/* Block signals and states (auto storage) for system '/either_edge' */ typedef struct { - boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ + boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_either_edge; /* Block signals and states (auto storage) for system '/Debounce_Filter' */ typedef struct { - DW_either_edge either_edge_k; /* '/either_edge' */ - DW_Counter_l Counter_h; /* '/Counter' */ - DW_Counter_l Counter_i0; /* '/Counter' */ - boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ + DW_either_edge either_edge_k; /* '/either_edge' */ + DW_Counter_l Counter_h; /* '/Counter' */ + DW_Counter_l Counter_i0; /* '/Counter' */ + boolean_T UnitDelay_DSTATE; /* '/UnitDelay' */ } DW_Debounce_Filter; /* Block signals and states (auto storage) for system '' */ typedef struct { DW_either_edge either_edge_a; /* '/either_edge' */ DW_Debounce_Filter Debounce_Filter_f;/* '/Debounce_Filter' */ - DW_PI_clamp_fixdt PI_clamp_fixdt_iq; /* '/PI_clamp_fixdt_iq' */ - DW_PI_clamp_fixdt_c PI_clamp_fixdt_n_o;/* '/PI_clamp_fixdt_n' */ - DW_Low_Pass_Filter Low_Pass_Filter_m;/* '/Low_Pass_Filter' */ - DW_PI_clamp_fixdt PI_clamp_fixdt_id; /* '/PI_clamp_fixdt_id' */ - DW_Counter Counter_e; /* '/Counter' */ - int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ - int16_T Gain4[3]; /* '/Gain4' */ - int16_T Sum1[2]; /* '/Sum1' */ - int16_T z_counterRawPrev; /* '/z_counterRawPrev' */ + DW_PI_clamp_fixdt PI_clamp_fixdt_iq; /* '/PI_clamp_fixdt_iq' */ + DW_PI_clamp_fixdt_c PI_clamp_fixdt_n_o;/* '/PI_clamp_fixdt_n' */ + DW_Low_Pass_Filter Low_Pass_Filter_m;/* '/Low_Pass_Filter' */ + DW_PI_clamp_fixdt PI_clamp_fixdt_id; /* '/PI_clamp_fixdt_id' */ + DW_Counter Counter_e; /* '/Counter' */ + int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ + int16_T Gain4[3]; /* '/Gain4' */ + int16_T Sum1[2]; /* '/Sum1' */ + int16_T z_counterRawPrev; /* '/z_counterRawPrev' */ int16_T Merge; /* '/Merge' */ - int16_T Divide1; /* '/Divide1' */ - int16_T Divide4; /* '/Divide4' */ - int16_T Switch1; /* '/Switch1' */ - int16_T Divide11; /* '/Divide11' */ - int16_T UnitDelay3_DSTATE; /* '/UnitDelay3' */ - int16_T UnitDelay4_DSTATE; /* '/UnitDelay4' */ - int16_T UnitDelay4_DSTATE_p; /* '/UnitDelay4' */ - int16_T UnitDelay2_DSTATE; /* '/UnitDelay2' */ - int16_T UnitDelay3_DSTATE_o; /* '/UnitDelay3' */ - int16_T UnitDelay5_DSTATE; /* '/UnitDelay5' */ - int16_T UnitDelay4_DSTATE_e; /* '/UnitDelay4' */ - int16_T UnitDelay4_DSTATE_er; /* '/UnitDelay4' */ - int8_T Switch2; /* '/Switch2' */ - int8_T UnitDelay2_DSTATE_b; /* '/UnitDelay2' */ + int16_T Divide1; /* '/Divide1' */ + int16_T Divide4; /* '/Divide4' */ + int16_T Switch1; /* '/Switch1' */ + int16_T Divide11; /* '/Divide11' */ + int16_T UnitDelay3_DSTATE; /* '/UnitDelay3' */ + int16_T UnitDelay4_DSTATE; /* '/UnitDelay4' */ + int16_T UnitDelay2_DSTATE; /* '/UnitDelay2' */ + int16_T UnitDelay3_DSTATE_o; /* '/UnitDelay3' */ + int16_T UnitDelay5_DSTATE; /* '/UnitDelay5' */ + int16_T UnitDelay4_DSTATE_e; /* '/UnitDelay4' */ + int16_T UnitDelay4_DSTATE_eu; /* '/UnitDelay4' */ + int8_T Switch2; /* '/Switch2' */ + int8_T UnitDelay2_DSTATE_b; /* '/UnitDelay2' */ int8_T If2_ActiveSubsystem; /* '/If2' */ + int8_T If2_ActiveSubsystem_j; /* '/If2' */ int8_T If1_ActiveSubsystem; /* '/If1' */ int8_T If2_ActiveSubsystem_a; /* '/If2' */ int8_T If1_ActiveSubsystem_e; /* '/If1' */ - int8_T If1_ActiveSubsystem_f; /* '/If1' */ - int8_T If2_ActiveSubsystem_c; /* '/If2' */ + int8_T If1_ActiveSubsystem_f; /* '/If1' */ + int8_T If2_ActiveSubsystem_c; /* '/If2' */ int8_T SwitchCase_ActiveSubsystem; /* '/Switch Case' */ - uint8_T UnitDelay3_DSTATE_fy; /* '/UnitDelay3' */ - uint8_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ - uint8_T UnitDelay2_DSTATE_f; /* '/UnitDelay2' */ + uint8_T UnitDelay3_DSTATE_fy; /* '/UnitDelay3' */ + uint8_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ + uint8_T UnitDelay2_DSTATE_f; /* '/UnitDelay2' */ uint8_T UnitDelay1_DSTATE_p; /* '/UnitDelay1' */ uint8_T UnitDelay_DSTATE_c; /* '/UnitDelay' */ uint8_T is_active_c1_BLDC_controller;/* '/F03_02_Control_Mode_Manager' */ uint8_T is_c1_BLDC_controller; /* '/F03_02_Control_Mode_Manager' */ uint8_T is_ACTIVE; /* '/F03_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_fieldWeakAuth_Mode; /* '/n_fieldWeakAuth' */ - boolean_T dz_cntTrnsDet_Mode; /* '/dz_cntTrnsDet' */ + boolean_T Merge_n; /* '/Merge' */ + boolean_T dz_cntTrnsDet; /* '/dz_cntTrnsDet' */ + boolean_T UnitDelay_DSTATE_e; /* '/UnitDelay' */ + boolean_T UnitDelay1_DSTATE_n; /* '/UnitDelay1' */ + boolean_T n_commDeacv_Mode; /* '/n_commDeacv' */ + boolean_T n_fieldWeakAuth_Mode; /* '/n_fieldWeakAuth' */ + boolean_T n_fieldWeakAuth_Mode_m; /* '/n_fieldWeakAuth' */ + boolean_T dz_cntTrnsDet_Mode; /* '/dz_cntTrnsDet' */ } DW; /* Constant parameters (auto storage) */ typedef struct { - /* Computed Parameter: z_commutMap_M1_table - * Referenced by: '/z_commutMap_M1' + /* Computed Parameter: r_sin3PhaA_M1_Table + * Referenced by: '/r_sin3PhaA_M1' + */ + int16_T r_sin3PhaA_M1_Table[181]; + + /* Computed Parameter: r_sin3PhaB_M1_Table + * Referenced by: '/r_sin3PhaB_M1' + */ + int16_T r_sin3PhaB_M1_Table[181]; + + /* Computed Parameter: r_sin3PhaC_M1_Table + * Referenced by: '/r_sin3PhaC_M1' */ - int16_T z_commutMap_M1_table[18]; + int16_T r_sin3PhaC_M1_Table[181]; /* Computed Parameter: r_sin_M1_Table - * Referenced by: '/r_sin_M1' + * Referenced by: '/r_sin_M1' */ int16_T r_sin_M1_Table[181]; /* Computed Parameter: r_cos_M1_Table - * Referenced by: '/r_cos_M1' + * Referenced by: '/r_cos_M1' */ int16_T r_cos_M1_Table[181]; /* Computed Parameter: iq_maxSca_M1_Table - * Referenced by: '/iq_maxSca_M1' + * Referenced by: '/iq_maxSca_M1' */ uint16_T iq_maxSca_M1_Table[50]; + /* Computed Parameter: z_commutMap_M1_table + * Referenced by: '/z_commutMap_M1' + */ + int8_T z_commutMap_M1_table[18]; + /* Computed Parameter: vec_hallToPos_Value - * Referenced by: '/vec_hallToPos' + * Referenced by: '/vec_hallToPos' */ int8_T vec_hallToPos_Value[8]; } ConstP; @@ -178,27 +194,24 @@ typedef struct { /* Parameters (auto storage) */ struct P_ { int32_T dV_openRate; /* Variable: dV_openRate - * Referenced by: '/dV_openRate' + * Referenced by: '/dV_openRate' */ int16_T dz_cntTrnsDetHi; /* Variable: dz_cntTrnsDetHi - * Referenced by: '/dz_cntTrnsDet' + * Referenced by: '/dz_cntTrnsDet' */ int16_T dz_cntTrnsDetLo; /* Variable: dz_cntTrnsDetLo - * Referenced by: '/dz_cntTrnsDet' - */ - int16_T r_errInpTgtThres; /* Variable: r_errInpTgtThres - * Referenced by: '/r_errInpTgtThres' + * Referenced by: '/dz_cntTrnsDet' */ int16_T z_maxCntRst; /* Variable: z_maxCntRst * Referenced by: - * '/Counter' - * '/z_maxCntRst' - * '/z_maxCntRst2' - * '/UnitDelay3' - * '/z_counter' + * '/Counter' + * '/z_maxCntRst' + * '/z_maxCntRst2' + * '/UnitDelay3' + * '/z_counter' */ uint16_T cf_speedCoef; /* Variable: cf_speedCoef - * Referenced by: '/cf_speedCoef' + * Referenced by: '/cf_speedCoef' */ uint16_T t_errDequal; /* Variable: t_errDequal * Referenced by: '/t_errDequal' @@ -206,77 +219,90 @@ struct P_ { uint16_T t_errQual; /* Variable: t_errQual * Referenced by: '/t_errQual' */ - uint16_T cf_idKp; /* Variable: cf_idKp - * Referenced by: '/cf_idKp1' - */ - 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' - * '/Vd_max' + * '/Vd_max1' + * '/Vd_max' */ int16_T Vq_max_M1[46]; /* Variable: Vq_max_M1 - * Referenced by: '/Vq_max_M1' + * Referenced by: '/Vq_max_M1' */ int16_T Vq_max_XA[46]; /* Variable: Vq_max_XA - * Referenced by: '/Vq_max_XA' + * Referenced by: '/Vq_max_XA' */ int16_T i_max; /* Variable: i_max * Referenced by: - * '/i_max' - * '/i_max' + * '/i_max' + * '/i_max' */ int16_T id_fieldWeak_M1[12]; /* Variable: id_fieldWeak_M1 - * Referenced by: '/id_fieldWeak_M1' + * Referenced by: '/id_fieldWeak_M1' */ int16_T n_commAcvLo; /* Variable: n_commAcvLo - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ int16_T n_commDeacvHi; /* Variable: n_commDeacvHi - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ int16_T n_fieldWeakAuthHi; /* Variable: n_fieldWeakAuthHi - * Referenced by: '/n_fieldWeakAuth' + * Referenced by: + * '/n_fieldWeakAuth' + * '/n_fieldWeakAuth' */ int16_T n_fieldWeakAuthLo; /* Variable: n_fieldWeakAuthLo - * Referenced by: '/n_fieldWeakAuth' + * Referenced by: + * '/n_fieldWeakAuth' + * '/n_fieldWeakAuth' */ int16_T n_max; /* Variable: n_max * Referenced by: - * '/n_max1' - * '/n_max' + * '/n_max1' + * '/n_max' */ int16_T n_stdStillDet; /* Variable: n_stdStillDet - * Referenced by: '/n_stdStillDet' + * Referenced by: '/n_stdStillDet' + */ + int16_T r_errInpTgtThres; /* Variable: r_errInpTgtThres + * Referenced by: '/r_errInpTgtThres' */ int16_T r_fieldWeak_XA[12]; /* Variable: r_fieldWeak_XA - * Referenced by: '/r_fieldWeak_XA' + * Referenced by: '/r_fieldWeak_XA' + */ + int16_T r_phaAdv_XA[11]; /* Variable: r_phaAdv_XA + * Referenced by: '/r_phaAdv_XA' + */ + uint16_T cf_idKp; /* Variable: cf_idKp + * Referenced by: '/cf_idKp1' + */ + uint16_T cf_iqKp; /* Variable: cf_iqKp + * Referenced by: '/cf_iqKp' + */ + uint16_T cf_nKp; /* Variable: cf_nKp + * Referenced by: '/cf_nKp' */ uint16_T cf_currFilt; /* Variable: cf_currFilt - * Referenced by: '/cf_currFilt' + * Referenced by: '/cf_currFilt' */ uint16_T cf_idKi; /* Variable: cf_idKi - * Referenced by: '/cf_idKi1' + * Referenced by: '/cf_idKi1' */ uint16_T cf_iqKi; /* Variable: cf_iqKi - * Referenced by: '/cf_iqKi' + * Referenced by: '/cf_iqKi' */ uint16_T cf_iqKiLimProt; /* Variable: cf_iqKiLimProt - * Referenced by: '/cf_iqKiLimProt' + * Referenced by: '/cf_iqKiLimProt' */ uint16_T cf_nKi; /* Variable: cf_nKi - * Referenced by: '/cf_nKi' + * Referenced by: '/cf_nKi' */ uint16_T cf_iqKpLimProt; /* Variable: cf_iqKpLimProt - * Referenced by: '/cf_iqKpLimProt' + * Referenced by: '/cf_iqKpLimProt' */ uint16_T cf_nKpLimProt; /* Variable: cf_nKpLimProt - * Referenced by: '/cf_nKpLimProt' + * Referenced by: '/cf_nKpLimProt' + */ + int16_T a_phaAdv_M1[11]; /* Variable: a_phaAdv_M1 + * Referenced by: '/a_phaAdv_M1' */ uint8_T z_ctrlTypSel; /* Variable: z_ctrlTypSel * Referenced by: '/z_ctrlTypSel1' @@ -285,10 +311,12 @@ struct P_ { * Referenced by: '/b_diagEna' */ boolean_T b_fieldWeakEna; /* Variable: b_fieldWeakEna - * Referenced by: '/b_fieldWeakEna' + * Referenced by: + * '/b_fieldWeakEna' + * '/b_fieldWeakEna' */ boolean_T b_selPhaABCurrMeas; /* Variable: b_selPhaABCurrMeas - * Referenced by: '/b_selPhaABCurrMeas' + * Referenced by: '/b_selPhaABCurrMeas' */ }; @@ -313,26 +341,24 @@ extern void BLDC_controller_step(RT_MODEL *const rtM); /*- * These blocks were eliminated from the model due to optimizations: * - * Block '/Scope2' : Unused code path elimination - * Block '/Scope' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Scope2' : Unused code path elimination + * Block '/Scope' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination * Block '/Scope12' : Unused code path elimination * Block '/Scope8' : Unused code path elimination * Block '/Scope9' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Duplicate' : Unused code path elimination - * Block '/Data Type Propagation' : Unused code path elimination - * Block '/Data Type Conversion2' : Eliminate redundant data type conversion - * Block '/Data Type Conversion3' : Eliminate redundant data type conversion - * Block '/Data Type Conversion6' : Eliminate redundant data type conversion + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Data Type Duplicate' : Unused code path elimination + * Block '/Data Type Propagation' : Unused code path elimination + * Block '/Scope' : Unused code path elimination */ /*- @@ -359,67 +385,74 @@ extern void BLDC_controller_step(RT_MODEL *const rtM); * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager' * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control' * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Input_Scaling' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_02_Edge_Detector' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_03_Position_Calculation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Direction_Detection' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_06_Electrical_Angle_Estimation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Input_Scaling/Commutation_Control_Type' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Input_Scaling/FOC_Control_Type' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation/Counter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation/Raw_Motor_Speed_Estimation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Speed_Estimation/Counter/rst_Delay' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/either_edge' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Default' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/either_edge' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter/rst_Delay' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter/rst_Delay' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_01_Mode_Transition_Calculation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_02_Control_Mode_Manager' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Field_Weakening' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Clarke_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Park_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Park_Transform' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesAB' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesBC' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering/Low_Pass_Filter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection/Saturation Dynamic1' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/Rate_Limiter' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/rising_edge_init' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/Rate_Limiter/Delay_Init1' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode/Rate_Limiter/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Clamping_circuit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Integrator' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Saturation_hit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Clamping_circuit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Integrator' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Saturation_hit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/Saturation Dynamic' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Clamping_circuit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Integrator' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Saturation_hit' - * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_01_Edge_Detector' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_02_Position_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_03_Direction_Detection' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_05_Electrical_Angle_Estimation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Raw_Motor_Speed_Estimation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F01_Estimations/F01_04_Speed_Estimation/Counter/rst_Delay' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/either_edge' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Default' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/either_edge' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Dequalification/Counter/rst_Delay' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F02_Diagnostics/Debounce_Filter/Qualification/Counter/rst_Delay' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_01_Mode_Transition_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_02_Control_Mode_Manager' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Control_Type' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Default_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/FOC_Control_Type' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/rising_edge_init' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Delay_Init1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F03_Control_Mode_Manager/F03_03_Input_Target_Synthesis/Open_Mode/Rate_Limiter/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Field_Weakening' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Clarke_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Inv_Park_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Open_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Park_Transform' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesAB' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Clarke_Transform/Clarke_PhasesBC' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Current_Filtering/Low_Pass_Filter' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Current_Limit_Protection/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Motor_Limitations/Speed_Limit_Protection/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Clamping_circuit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Speed_Mode/PI_clamp_fixdt_n/Saturation_hit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Clamping_circuit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Torque_Mode/PI_clamp_fixdt_iq/Saturation_hit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/Saturation Dynamic' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Clamping_circuit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Integrator' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Vd_Calculation/PI_clamp_fixdt_id/Saturation_hit' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F04_Field_Oriented_Control/Voltage_Mode/Saturation Dynamic1' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_00_COM_Method' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_02_FOC_Method' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation' + * '' : 'BLDCmotorControl_FOC_R2017b_fixdt/BLDC_controller/F05_Control_Type_Management/F05_01_SIN_Method/Phase_Advance_Calculation/Modulo_fixdt' */ #endif /* RTW_HEADER_BLDC_controller_h_ */ diff --git a/Inc/config.h b/Inc/config.h index a4669e3..00e4eee 100644 --- a/Inc/config.h +++ b/Inc/config.h @@ -142,8 +142,8 @@ // ############################### MOTOR CONTROL (overwrite) ######################### -#define CTRL_TYP_SEL 1 // [-] Control type selection: 0 = Commutation , 1 = FOC Field Oriented Control (default) -#define CTRL_MOD_REQ 1 // [-] Control mode request: 0 = Open mode, 1 = Voltage mode (default), 2 = Speed mode, 3 = Torque mode +#define CTRL_TYP_SEL 2 // [-] Control type selection: 0 = Commutation , 1 = Sinusoidal, 2 = FOC Field Oriented Control (default) +#define CTRL_MOD_REQ 1 // [-] Control mode request: 0 = Open mode, 1 = VOLTAGE mode (default), 2 = SPEED mode, 3 = TORQUE mode. Note: SPEED and TORQUE modes are only available for FOC! #define DIAG_ENA 1 // [-] Motor Diagnostics enable flag: 0 = Disabled, 1 = Enabled (default) #define FIELD_WEAK_ENA 0 // [-] Field Weakening enable flag: 0 = Disabled (default), 1 = Enabled #define I_MOT_MAX (15 * A2BIT_CONV) << 4 // [A] Maximum motor current limit (Change only the first number, the rest is needed for fixed-point conversion, fixdt(1,16,4)) diff --git a/Inc/rtwtypes.h b/Inc/rtwtypes.h index 2ffd35b..51b2686 100644 --- a/Inc/rtwtypes.h +++ b/Inc/rtwtypes.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'BLDC_controller'. * - * Model version : 1.1197 + * Model version : 1.1212 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Thu Oct 31 21:29:42 2019 + * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex diff --git a/README.md b/README.md index cfc50cf..36971d5 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The main firmware architecture includes: - **Diagnostics**: implements error detection such as unconnected Hall sensor, motor blocked, MOSFET defective - **Control Manager**: manages the transitions between control modes (Voltage, Speed, Torque) - **FOC Algorithm**: implements the FOC strategy -- **Control Type Manager**: Manages the transition between Commutation and FOC Algorithm +- **Control Type Manager**: Manages the transition between Commutation, Sinusoidal, and FOC control type ![Firmware architecture](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/FW_architecture.png) @@ -29,15 +29,17 @@ The FOC algorithm architecture is illustrated in the figure below: ![FOC algorithm](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/FOC_algorithm.png) -In this firmware two control methods are available: -- Commutation method -- FOC method +In this firmware 3 control types are available: +- Commutation +- SIN (Sinusoidal) +- FOC (Field Oriented Control) ![Schematic representation of the available control methods](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/01_Matlab/02_Figures/control_methods.png) -A short video showing the noise performance of the Commutation method vs Advanced control method: - -[â–ºVideo: Commutation method vs Advanced control](https://drive.google.com/file/d/1vC_kEkp2LE2lAaMCJcmK4z2m3jrPUoBD/view) +Demo videos: +[â–ºVideo: Commutation vs Advanced control (constant speed)](https://drive.google.com/open?id=1vC_kEkp2LE2lAaMCJcmK4z2m3jrPUoBD) +[â–ºVideo: Commutation vs Advanced control (variable speed)](https://drive.google.com/open?id=1rrQ4k5VLhhAWXQzDSCar_SmEdsbM-hq2) +[â–ºVideo: Reliable Serial Communication demo](https://drive.google.com/open?id=1mUM-p7SE6gmyTH7zhDHy5DUyczXvmy5d) ![Hoverboard wheel](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/blob/master/docs/pictures/hoverboard_wheel.JPG) @@ -71,7 +73,7 @@ Each motor is constantly monitored for errors. These errors are: - **Error 002**: Hall sensor short circuit - **Error 004**: Motor NOT able to spin (Possible causes: motor phase disconnected, MOSFET defective, operational Amplifier defective, motor blocked) -The error codes above are reported for each motor in the variables **errCode_Left** and **errCode_Right** for Left motor (long wired motor) and Right motor (short wired motor), respectively. +The error codes above are reported for each motor in the variables **errCode_Left** and **errCode_Right** for Left motor (long wired motor) and Right motor (short wired motor), respectively. In case of error, the motor power is reduced to 0, while an audible (fast beep) can be heard to notify the user. --- @@ -146,9 +148,6 @@ Currently supported: Wii Nunchuck, analog potentiometer and PPM-Sum signal from A good example of control via UART, eg. from an Arduino or raspberryPi, can be found here: https://github.com/p-h-a-i-l/hoverboard-firmware-hack -### Future work - - convert all calculations and remaining filters (for the battery voltage, current, and temperature) from floating point to fixed-point. This will reduce further the SMT32 computational load -> **DONE** - --- ## Acknowledgements diff --git a/Src/BLDC_controller.c b/Src/BLDC_controller.c index ba768e5..561ee33 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.1199 + * Model version : 1.1212 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Nov 3 12:28:16 2019 + * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -93,14 +93,15 @@ preprocessor word size checks. #endif #endif -uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T - maxIndex); 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, +uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T + maxIndex); +uint8_T plook_u8s16u8n7_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T maxIndex, uint8_T *fraction); -int16_T intrp1d_s16s32s32u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const int16_T +int16_T intrp1d_s16s32s32u8u8n7l_s(uint8_T bpIndex, uint8_T frac, const int16_T table[]); +int32_T div_nde_s32_floor(int32_T numerator, int32_T denominator); 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); @@ -124,7 +125,7 @@ extern void Debounce_Filter_Init(DW_Debounce_Filter *localDW); extern void Debounce_Filter_Reset(DW_Debounce_Filter *localDW); extern void Debounce_Filter(boolean_T rtu_u, uint16_T rtu_tAcv, uint16_T rtu_tDeacv, boolean_T *rty_y, DW_Debounce_Filter *localDW); -uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T +uint8_T plook_u8s16_evencka(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T maxIndex) { uint8_T bpIndex; @@ -140,7 +141,7 @@ uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T if (u <= bp0) { bpIndex = 0U; } else { - fbpIndex = (uint16_T)((uint32_T)(uint16_T)((uint32_T)u - bp0) / bpSpace); + fbpIndex = (uint16_T)((uint32_T)(uint16_T)(u - bp0) / bpSpace); if (fbpIndex < maxIndex) { bpIndex = (uint8_T)fbpIndex; } else { @@ -151,7 +152,7 @@ uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T return bpIndex; } -uint8_T plook_u8s16_evencka(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T +uint8_T plook_u8u16_evencka(uint16_T u, uint16_T bp0, uint16_T bpSpace, uint32_T maxIndex) { uint8_T bpIndex; @@ -167,7 +168,7 @@ uint8_T plook_u8s16_evencka(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T if (u <= bp0) { bpIndex = 0U; } else { - fbpIndex = (uint16_T)((uint32_T)(uint16_T)(u - bp0) / bpSpace); + fbpIndex = (uint16_T)((uint32_T)(uint16_T)((uint32_T)u - bp0) / bpSpace); if (fbpIndex < maxIndex) { bpIndex = (uint8_T)fbpIndex; } else { @@ -178,7 +179,7 @@ uint8_T plook_u8s16_evencka(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T return bpIndex; } -uint8_T plook_u8s16u8n6_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, +uint8_T plook_u8s16u8n7_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, uint32_T maxIndex, uint8_T *fraction) { uint8_T bpIndex; @@ -202,17 +203,17 @@ uint8_T plook_u8s16u8n6_evenc_s(int16_T u, int16_T bp0, uint16_T bpSpace, if (fbpIndex < maxIndex) { bpIndex = (uint8_T)fbpIndex; *fraction = (uint8_T)(((uint32_T)(uint16_T)((uint32_T)uAdjust - (uint16_T) - ((uint32_T)bpIndex * bpSpace)) << 6) / bpSpace); + ((uint32_T)bpIndex * bpSpace)) << 7) / bpSpace); } else { bpIndex = (uint8_T)(maxIndex - 1U); - *fraction = 64U; + *fraction = 128U; } } return bpIndex; } -int16_T intrp1d_s16s32s32u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const int16_T +int16_T intrp1d_s16s32s32u8u8n7l_s(uint8_T bpIndex, uint8_T frac, const int16_T table[]) { uint32_T offset_0d; @@ -225,26 +226,32 @@ int16_T intrp1d_s16s32s32u8u8n6l_s(uint8_T bpIndex, uint8_T frac, const int16_T */ offset_0d = bpIndex; return (int16_T)((int16_T)(((table[offset_0d + 1U] - table[offset_0d]) * frac) - >> 6) + table[offset_0d]); + >> 7) + table[offset_0d]); +} + +int32_T div_nde_s32_floor(int32_T numerator, int32_T denominator) +{ + return (((numerator < 0) != (denominator < 0)) && (numerator % denominator != + 0) ? -1 : 0) + numerator / denominator; } -/* System initialize for atomic system: '/Counter' */ +/* System initialize for atomic system: '/Counter' */ void Counter_Init(DW_Counter *localDW, int16_T rtp_z_cntInit) { - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtp_z_cntInit; } -/* Output and update for atomic system: '/Counter' */ +/* Output and update for atomic system: '/Counter' */ int16_T Counter(int16_T rtu_inc, int16_T rtu_max, boolean_T rtu_rst, DW_Counter * localDW) { int16_T rtu_rst_0; int16_T rty_cnt_0; - /* Switch: '/Switch1' incorporates: - * Constant: '/Constant23' - * UnitDelay: '/UnitDelay' + /* Switch: '/Switch1' incorporates: + * Constant: '/Constant23' + * UnitDelay: '/UnitDelay' */ if (rtu_rst) { rtu_rst_0 = 0; @@ -252,42 +259,42 @@ int16_T Counter(int16_T rtu_inc, int16_T rtu_max, boolean_T rtu_rst, DW_Counter rtu_rst_0 = localDW->UnitDelay_DSTATE; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Sum: '/Sum1' */ + /* Sum: '/Sum1' */ rty_cnt_0 = (int16_T)(rtu_inc + rtu_rst_0); - /* MinMax: '/MinMax' */ + /* MinMax: '/MinMax' */ if (rty_cnt_0 < rtu_max) { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rty_cnt_0; } else { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtu_max; } - /* End of MinMax: '/MinMax' */ + /* End of MinMax: '/MinMax' */ return rty_cnt_0; } /* * System reset for atomic system: - * '/PI_clamp_fixdt_id' - * '/PI_clamp_fixdt_iq' + * '/PI_clamp_fixdt_id' + * '/PI_clamp_fixdt_iq' */ void PI_clamp_fixdt_Reset(DW_PI_clamp_fixdt *localDW) { - /* InitializeConditions for UnitDelay: '/UnitDelay1' */ + /* InitializeConditions for UnitDelay: '/UnitDelay1' */ localDW->UnitDelay1_DSTATE = false; - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = 0; } /* * Output and update for atomic system: - * '/PI_clamp_fixdt_id' - * '/PI_clamp_fixdt_iq' + * '/PI_clamp_fixdt_id' + * '/PI_clamp_fixdt_iq' */ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T rtu_satMax, int16_T rtu_satMin, int32_T rtu_ext_limProt, @@ -300,8 +307,8 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T int32_T tmp; int16_T tmp_0; - /* Sum: '/Sum2' incorporates: - * Product: '/Divide2' + /* Sum: '/Sum2' incorporates: + * Product: '/Divide2' */ q0 = rtu_err * rtu_I; if ((q0 < 0) && (rtu_ext_limProt < MIN_int32_T - q0)) { @@ -312,10 +319,10 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T q0 += rtu_ext_limProt; } - /* Switch: '/Switch1' incorporates: - * Constant: '/a_elecPeriod1' - * Sum: '/Sum2' - * UnitDelay: '/UnitDelay1' + /* Switch: '/Switch1' incorporates: + * Constant: '/a_elecPeriod1' + * Sum: '/Sum2' + * UnitDelay: '/UnitDelay1' */ if (localDW->UnitDelay1_DSTATE) { tmp = 0; @@ -323,14 +330,14 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T tmp = q0; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Sum: '/Sum1' incorporates: - * UnitDelay: '/UnitDelay' + /* Sum: '/Sum1' incorporates: + * UnitDelay: '/UnitDelay' */ rtb_Sum1_b4 = tmp + localDW->UnitDelay_DSTATE; - /* Product: '/Divide5' */ + /* Product: '/Divide5' */ tmp = (rtu_err * rtu_P) >> 11; if (tmp > 32767) { tmp = 32767; @@ -340,9 +347,9 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T } } - /* Sum: '/Sum1' incorporates: - * DataTypeConversion: '/Data Type Conversion1' - * Product: '/Divide5' + /* Sum: '/Sum1' incorporates: + * DataTypeConversion: '/Data Type Conversion1' + * Product: '/Divide5' */ tmp = (((rtb_Sum1_b4 >> 16) << 1) + tmp) >> 1; if (tmp > 32767) { @@ -353,33 +360,33 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T } } - /* RelationalOperator: '/LowerRelop1' incorporates: - * Sum: '/Sum1' + /* RelationalOperator: '/LowerRelop1' incorporates: + * Sum: '/Sum1' */ rtb_LowerRelop1_e = ((int16_T)tmp > rtu_satMax); - /* RelationalOperator: '/UpperRelop' incorporates: - * Sum: '/Sum1' + /* RelationalOperator: '/UpperRelop' incorporates: + * Sum: '/Sum1' */ rtb_UpperRelop_f = ((int16_T)tmp < rtu_satMin); - /* Switch: '/Switch1' incorporates: - * Sum: '/Sum1' - * Switch: '/Switch3' + /* Switch: '/Switch1' incorporates: + * Sum: '/Sum1' + * Switch: '/Switch3' */ if (rtb_LowerRelop1_e) { *rty_out = rtu_satMax; } else if (rtb_UpperRelop_f) { - /* Switch: '/Switch3' */ + /* Switch: '/Switch3' */ *rty_out = rtu_satMin; } else { *rty_out = (int16_T)tmp; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Signum: '/SignDeltaU2' incorporates: - * Sum: '/Sum2' + /* Signum: '/SignDeltaU2' incorporates: + * Sum: '/Sum2' */ if (q0 < 0) { q0 = -1; @@ -387,10 +394,10 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T q0 = (q0 > 0); } - /* End of Signum: '/SignDeltaU2' */ + /* End of Signum: '/SignDeltaU2' */ - /* Signum: '/SignDeltaU3' incorporates: - * Sum: '/Sum1' + /* Signum: '/SignDeltaU3' incorporates: + * Sum: '/Sum1' */ if ((int16_T)tmp < 0) { tmp_0 = -1; @@ -398,86 +405,86 @@ void PI_clamp_fixdt(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T tmp_0 = (int16_T)((int16_T)tmp > 0); } - /* End of Signum: '/SignDeltaU3' */ + /* End of Signum: '/SignDeltaU3' */ - /* Update for UnitDelay: '/UnitDelay1' incorporates: - * DataTypeConversion: '/DataTypeConv4' - * Logic: '/AND1' + /* Update for UnitDelay: '/UnitDelay1' incorporates: + * DataTypeConversion: '/DataTypeConv4' * Logic: '/AND1' - * RelationalOperator: '/Equal1' + * Logic: '/AND1' + * RelationalOperator: '/Equal1' */ localDW->UnitDelay1_DSTATE = ((q0 == tmp_0) && (rtb_LowerRelop1_e || rtb_UpperRelop_f)); - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtb_Sum1_b4; } -/* System reset for atomic system: '/Low_Pass_Filter' */ +/* System reset for atomic system: '/Low_Pass_Filter' */ void Low_Pass_Filter_Reset(DW_Low_Pass_Filter *localDW) { - /* InitializeConditions for UnitDelay: '/UnitDelay3' */ + /* InitializeConditions for UnitDelay: '/UnitDelay3' */ localDW->UnitDelay3_DSTATE[0] = 0; localDW->UnitDelay3_DSTATE[1] = 0; } -/* Output and update for atomic system: '/Low_Pass_Filter' */ +/* Output and update for atomic system: '/Low_Pass_Filter' */ void Low_Pass_Filter(const int16_T rtu_u[2], uint16_T rtu_coef, int16_T rty_y[2], DW_Low_Pass_Filter *localDW) { uint16_T rtb_Sum5; - /* Sum: '/Sum5' */ + /* Sum: '/Sum5' */ rtb_Sum5 = (uint16_T)(65535U - rtu_coef); - /* Sum: '/Sum1' incorporates: - * Product: '/Divide1' - * Product: '/Divide2' - * UnitDelay: '/UnitDelay3' + /* Sum: '/Sum1' incorporates: + * Product: '/Divide1' + * Product: '/Divide2' + * UnitDelay: '/UnitDelay3' */ rty_y[0] = (int16_T)(((rtu_u[0] * rtu_coef) >> 16) + ((localDW->UnitDelay3_DSTATE[0] * rtb_Sum5) >> 16)); - /* Update for UnitDelay: '/UnitDelay3' */ + /* Update for UnitDelay: '/UnitDelay3' */ localDW->UnitDelay3_DSTATE[0] = rty_y[0]; - /* Sum: '/Sum1' incorporates: - * Product: '/Divide1' - * Product: '/Divide2' - * UnitDelay: '/UnitDelay3' + /* Sum: '/Sum1' incorporates: + * Product: '/Divide1' + * Product: '/Divide2' + * UnitDelay: '/UnitDelay3' */ rty_y[1] = (int16_T)(((rtu_u[1] * rtu_coef) >> 16) + ((localDW->UnitDelay3_DSTATE[1] * rtb_Sum5) >> 16)); - /* Update for UnitDelay: '/UnitDelay3' */ + /* Update for UnitDelay: '/UnitDelay3' */ localDW->UnitDelay3_DSTATE[1] = rty_y[1]; } -/* System reset for atomic system: '/PI_clamp_fixdt_n' */ +/* System reset for atomic system: '/PI_clamp_fixdt_n' */ void PI_clamp_fixdt_n_Reset(DW_PI_clamp_fixdt_c *localDW) { - /* InitializeConditions for UnitDelay: '/UnitDelay1' */ + /* InitializeConditions for UnitDelay: '/UnitDelay1' */ localDW->UnitDelay1_DSTATE = false; - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = 0; } -/* Output and update for atomic system: '/PI_clamp_fixdt_n' */ +/* Output and update for atomic system: '/PI_clamp_fixdt_n' */ int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, int16_T rtu_satMax, int16_T rtu_satMin, int16_T rtu_ext_limProt, DW_PI_clamp_fixdt_c *localDW) { boolean_T rtb_LowerRelop1_ge; - boolean_T rtb_UpperRelop_cm; + boolean_T rtb_UpperRelop_o; int32_T rtb_Sum1_mz; int32_T q0; int32_T q1; int16_T tmp; int16_T rty_out_0; - /* Sum: '/Sum2' incorporates: - * Product: '/Divide2' + /* Sum: '/Sum2' incorporates: + * Product: '/Divide2' */ q0 = rtu_err * rtu_I; q1 = rtu_ext_limProt << 10; @@ -489,10 +496,10 @@ int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, q0 += q1; } - /* Switch: '/Switch1' incorporates: - * Constant: '/a_elecPeriod1' - * Sum: '/Sum2' - * UnitDelay: '/UnitDelay1' + /* Switch: '/Switch1' incorporates: + * Constant: '/a_elecPeriod1' + * Sum: '/Sum2' + * UnitDelay: '/UnitDelay1' */ if (localDW->UnitDelay1_DSTATE) { q1 = 0; @@ -500,14 +507,14 @@ int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, q1 = q0; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Sum: '/Sum1' incorporates: - * UnitDelay: '/UnitDelay' + /* Sum: '/Sum1' incorporates: + * UnitDelay: '/UnitDelay' */ rtb_Sum1_mz = q1 + localDW->UnitDelay_DSTATE; - /* Product: '/Divide5' */ + /* Product: '/Divide5' */ q1 = (rtu_err * rtu_P) >> 11; if (q1 > 32767) { q1 = 32767; @@ -517,9 +524,9 @@ int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, } } - /* Sum: '/Sum1' incorporates: - * DataTypeConversion: '/Data Type Conversion1' - * Product: '/Divide5' + /* Sum: '/Sum1' incorporates: + * DataTypeConversion: '/Data Type Conversion1' + * Product: '/Divide5' */ q1 = (((rtb_Sum1_mz >> 16) << 1) + q1) >> 1; if (q1 > 32767) { @@ -530,33 +537,33 @@ int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, } } - /* RelationalOperator: '/LowerRelop1' incorporates: - * Sum: '/Sum1' + /* RelationalOperator: '/LowerRelop1' incorporates: + * Sum: '/Sum1' */ rtb_LowerRelop1_ge = ((int16_T)q1 > rtu_satMax); - /* RelationalOperator: '/UpperRelop' incorporates: - * Sum: '/Sum1' + /* RelationalOperator: '/UpperRelop' incorporates: + * Sum: '/Sum1' */ - rtb_UpperRelop_cm = ((int16_T)q1 < rtu_satMin); + rtb_UpperRelop_o = ((int16_T)q1 < rtu_satMin); - /* Switch: '/Switch1' incorporates: - * Sum: '/Sum1' - * Switch: '/Switch3' + /* Switch: '/Switch1' incorporates: + * Sum: '/Sum1' + * Switch: '/Switch3' */ if (rtb_LowerRelop1_ge) { rty_out_0 = rtu_satMax; - } else if (rtb_UpperRelop_cm) { - /* Switch: '/Switch3' */ + } else if (rtb_UpperRelop_o) { + /* Switch: '/Switch3' */ rty_out_0 = rtu_satMin; } else { rty_out_0 = (int16_T)q1; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Signum: '/SignDeltaU2' incorporates: - * Sum: '/Sum2' + /* Signum: '/SignDeltaU2' incorporates: + * Sum: '/Sum2' */ if (q0 < 0) { q0 = -1; @@ -564,10 +571,10 @@ int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, q0 = (q0 > 0); } - /* End of Signum: '/SignDeltaU2' */ + /* End of Signum: '/SignDeltaU2' */ - /* Signum: '/SignDeltaU3' incorporates: - * Sum: '/Sum1' + /* Signum: '/SignDeltaU3' incorporates: + * Sum: '/Sum1' */ if ((int16_T)q1 < 0) { tmp = -1; @@ -575,37 +582,37 @@ int16_T PI_clamp_fixdt_n(int16_T rtu_err, uint16_T rtu_P, uint16_T rtu_I, tmp = (int16_T)((int16_T)q1 > 0); } - /* End of Signum: '/SignDeltaU3' */ + /* End of Signum: '/SignDeltaU3' */ - /* Update for UnitDelay: '/UnitDelay1' incorporates: - * DataTypeConversion: '/DataTypeConv4' - * Logic: '/AND1' - * Logic: '/AND1' - * RelationalOperator: '/Equal1' + /* Update for UnitDelay: '/UnitDelay1' incorporates: + * DataTypeConversion: '/DataTypeConv4' + * Logic: '/AND1' + * Logic: '/AND1' + * RelationalOperator: '/Equal1' */ localDW->UnitDelay1_DSTATE = ((q0 == tmp) && (rtb_LowerRelop1_ge || - rtb_UpperRelop_cm)); + rtb_UpperRelop_o)); - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtb_Sum1_mz; return rty_out_0; } /* * System initialize for atomic system: - * '/Counter' - * '/Counter' + * '/Counter' + * '/Counter' */ void Counter_b_Init(DW_Counter_l *localDW, uint16_T rtp_z_cntInit) { - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtp_z_cntInit; } /* * Output and update for atomic system: - * '/Counter' - * '/Counter' + * '/Counter' + * '/Counter' */ uint16_T Counter_i(uint16_T rtu_inc, uint16_T rtu_max, boolean_T rtu_rst, DW_Counter_l *localDW) @@ -613,9 +620,9 @@ uint16_T Counter_i(uint16_T rtu_inc, uint16_T rtu_max, boolean_T rtu_rst, uint16_T rtu_rst_0; uint16_T rty_cnt_0; - /* Switch: '/Switch1' incorporates: - * Constant: '/Constant23' - * UnitDelay: '/UnitDelay' + /* Switch: '/Switch1' incorporates: + * Constant: '/Constant23' + * UnitDelay: '/UnitDelay' */ if (rtu_rst) { rtu_rst_0 = 0U; @@ -623,50 +630,50 @@ uint16_T Counter_i(uint16_T rtu_inc, uint16_T rtu_max, boolean_T rtu_rst, rtu_rst_0 = localDW->UnitDelay_DSTATE; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Sum: '/Sum1' */ + /* Sum: '/Sum1' */ rty_cnt_0 = (uint16_T)((uint32_T)rtu_inc + rtu_rst_0); - /* MinMax: '/MinMax' */ + /* MinMax: '/MinMax' */ if (rty_cnt_0 < rtu_max) { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rty_cnt_0; } else { - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtu_max; } - /* End of MinMax: '/MinMax' */ + /* End of MinMax: '/MinMax' */ return rty_cnt_0; } /* * System reset for atomic system: - * '/either_edge' + * '/either_edge' * '/either_edge' */ void either_edge_Reset(DW_either_edge *localDW) { - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = false; } /* * Output and update for atomic system: - * '/either_edge' + * '/either_edge' * '/either_edge' */ boolean_T either_edge(boolean_T rtu_u, DW_either_edge *localDW) { boolean_T rty_y_0; - /* RelationalOperator: '/Relational Operator' incorporates: - * UnitDelay: '/UnitDelay' + /* RelationalOperator: '/Relational Operator' incorporates: + * UnitDelay: '/UnitDelay' */ rty_y_0 = (rtu_u != localDW->UnitDelay_DSTATE); - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = rtu_u; return rty_y_0; } @@ -674,35 +681,35 @@ boolean_T either_edge(boolean_T rtu_u, DW_either_edge *localDW) /* System initialize for atomic system: '/Debounce_Filter' */ void Debounce_Filter_Init(DW_Debounce_Filter *localDW) { - /* SystemInitialize for IfAction SubSystem: '/Qualification' */ + /* SystemInitialize for IfAction SubSystem: '/Qualification' */ - /* SystemInitialize for Atomic SubSystem: '/Counter' */ + /* SystemInitialize for Atomic SubSystem: '/Counter' */ Counter_b_Init(&localDW->Counter_i0, 0U); - /* End of SystemInitialize for SubSystem: '/Counter' */ + /* End of SystemInitialize for SubSystem: '/Counter' */ - /* End of SystemInitialize for SubSystem: '/Qualification' */ + /* End of SystemInitialize for SubSystem: '/Qualification' */ - /* SystemInitialize for IfAction SubSystem: '/Dequalification' */ + /* SystemInitialize for IfAction SubSystem: '/Dequalification' */ - /* SystemInitialize for Atomic SubSystem: '/Counter' */ + /* SystemInitialize for Atomic SubSystem: '/Counter' */ Counter_b_Init(&localDW->Counter_h, 0U); - /* End of SystemInitialize for SubSystem: '/Counter' */ + /* End of SystemInitialize for SubSystem: '/Counter' */ - /* End of SystemInitialize for SubSystem: '/Dequalification' */ + /* End of SystemInitialize for SubSystem: '/Dequalification' */ } /* System reset for atomic system: '/Debounce_Filter' */ void Debounce_Filter_Reset(DW_Debounce_Filter *localDW) { - /* InitializeConditions for UnitDelay: '/UnitDelay' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = false; - /* SystemReset for Atomic SubSystem: '/either_edge' */ + /* SystemReset for Atomic SubSystem: '/either_edge' */ either_edge_Reset(&localDW->either_edge_k); - /* End of SystemReset for SubSystem: '/either_edge' */ + /* End of SystemReset for SubSystem: '/either_edge' */ } /* Output and update for atomic system: '/Debounce_Filter' */ @@ -712,69 +719,69 @@ void Debounce_Filter(boolean_T rtu_u, uint16_T rtu_tAcv, uint16_T rtu_tDeacv, uint16_T rtb_Sum1_l; boolean_T rtb_RelationalOperator_f; - /* Outputs for Atomic SubSystem: '/either_edge' */ + /* Outputs for Atomic SubSystem: '/either_edge' */ rtb_RelationalOperator_f = either_edge(rtu_u, &localDW->either_edge_k); - /* End of Outputs for SubSystem: '/either_edge' */ - - /* If: '/If2' incorporates: - * Constant: '/Constant6' - * Constant: '/Constant6' - * Inport: '/yPrev' - * Logic: '/Logical Operator1' - * Logic: '/Logical Operator2' - * Logic: '/Logical Operator3' - * Logic: '/Logical Operator4' - * UnitDelay: '/UnitDelay' + /* End of Outputs for SubSystem: '/either_edge' */ + + /* If: '/If2' incorporates: + * Constant: '/Constant6' + * Constant: '/Constant6' + * Inport: '/yPrev' + * Logic: '/Logical Operator1' + * Logic: '/Logical Operator2' + * Logic: '/Logical Operator3' + * Logic: '/Logical Operator4' + * UnitDelay: '/UnitDelay' */ if (rtu_u && (!localDW->UnitDelay_DSTATE)) { - /* Outputs for IfAction SubSystem: '/Qualification' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Qualification' incorporates: + * ActionPort: '/Action Port' */ - /* Outputs for Atomic SubSystem: '/Counter' */ + /* Outputs for Atomic SubSystem: '/Counter' */ rtb_Sum1_l = (uint16_T) Counter_i(1U, rtu_tAcv, rtb_RelationalOperator_f, &localDW->Counter_i0); - /* End of Outputs for SubSystem: '/Counter' */ + /* End of Outputs for SubSystem: '/Counter' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant6' - * RelationalOperator: '/Relational Operator2' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant6' + * RelationalOperator: '/Relational Operator2' */ *rty_y = ((rtb_Sum1_l > rtu_tAcv) || localDW->UnitDelay_DSTATE); - /* End of Outputs for SubSystem: '/Qualification' */ + /* End of Outputs for SubSystem: '/Qualification' */ } else if ((!rtu_u) && localDW->UnitDelay_DSTATE) { - /* Outputs for IfAction SubSystem: '/Dequalification' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Dequalification' incorporates: + * ActionPort: '/Action Port' */ - /* Outputs for Atomic SubSystem: '/Counter' */ + /* Outputs for Atomic SubSystem: '/Counter' */ rtb_Sum1_l = (uint16_T) Counter_i(1U, rtu_tDeacv, rtb_RelationalOperator_f, &localDW->Counter_h); - /* End of Outputs for SubSystem: '/Counter' */ + /* End of Outputs for SubSystem: '/Counter' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant6' - * RelationalOperator: '/Relational Operator2' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant6' + * RelationalOperator: '/Relational Operator2' */ *rty_y = ((!(rtb_Sum1_l > rtu_tDeacv)) && localDW->UnitDelay_DSTATE); - /* End of Outputs for SubSystem: '/Dequalification' */ + /* End of Outputs for SubSystem: '/Dequalification' */ } else { - /* Outputs for IfAction SubSystem: '/Default' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Default' incorporates: + * ActionPort: '/Action Port' */ *rty_y = localDW->UnitDelay_DSTATE; - /* End of Outputs for SubSystem: '/Default' */ + /* End of Outputs for SubSystem: '/Default' */ } - /* End of If: '/If2' */ + /* End of If: '/If2' */ - /* Update for UnitDelay: '/UnitDelay' */ + /* Update for UnitDelay: '/UnitDelay' */ localDW->UnitDelay_DSTATE = *rty_y; } @@ -792,13 +799,17 @@ void BLDC_controller_step(RT_MODEL *const rtM) boolean_T rtb_RelationalOperator1_m; uint8_T rtb_Sum_l; uint8_T rtb_r_fieldWeak_XA_o1; - int16_T rtb_Merge; - int16_T rtb_Switch2_fv; + int16_T rtb_Switch2_k; int16_T rtb_Abs5; + int16_T rtb_Switch2_fl; int16_T rtb_Switch1_l; - int16_T rtb_Switch2_d; - uint16_T rtb_Divide2_h; + int16_T rtb_Merge; + int16_T rtb_Merge1; + int32_T rtb_DataTypeConversion; int16_T rtb_Saturation; + int32_T rtb_Switch1; + int32_T rtb_Sum1; + int32_T rtb_Gain3; int16_T rtb_toNegative; int16_T rtb_Gain4; uint8_T rtb_r_fieldWeak_XA_o2; @@ -806,17 +817,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) int16_T rtb_id_fieldWeak_M1; int16_T rtb_MinMax2; int16_T rtb_TmpSignalConversionAtLow_Pa[2]; - int32_T rtb_DataTypeConversion; - int32_T rtb_Switch1; - int32_T rtb_Sum1; - int32_T rtb_Gain3; int16_T tmp[4]; int8_T UnitDelay3; /* Outputs for Atomic SubSystem: '/BLDC_controller' */ - /* Sum: '/Sum' incorporates: - * Gain: '/g_Ha' - * Gain: '/g_Hb' + /* Sum: '/Sum' incorporates: + * Gain: '/g_Ha' + * Gain: '/g_Hb' * Inport: '/b_hallA ' * Inport: '/b_hallB' * Inport: '/b_hallC' @@ -824,128 +831,46 @@ 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' - */ - rtb_Gain3 = rtU->r_inpTgt << 4; - - /* If: '/If1' incorporates: - * Constant: '/z_ctrlTypSel1' - * Inport: '/r_inpTgt' - * Inport: '/r_inpTgt' - * Saturate: '/Saturation2' - */ - if (rtP->z_ctrlTypSel == 1) { - /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* SignalConversion: '/TmpSignal ConversionAtSelectorInport1' incorporates: - * Constant: '/Vd_max' - * Constant: '/constant1' - * Constant: '/i_max' - * Constant: '/n_max' - */ - tmp[0] = 0; - tmp[1] = rtP->Vd_max; - tmp[2] = rtP->n_max; - tmp[3] = rtP->i_max; - - /* End of Outputs for SubSystem: '/FOC_Control_Type' */ - - /* Saturate: '/Saturation2' incorporates: - * Inport: '/r_inpTgt' - */ - if (rtb_Gain3 >= 16000) { - rtb_toNegative = 16000; - } else if (rtb_Gain3 <= -16000) { - rtb_toNegative = -16000; - } else { - rtb_toNegative = (int16_T)(rtU->r_inpTgt << 4); - } - - /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* Product: '/Divide1' incorporates: - * Inport: '/z_ctrlModReq' - * Product: '/Divide4' - * Selector: '/Selector' - */ - rtb_Merge = (int16_T)(((uint16_T)((tmp[rtU->z_ctrlModReq] << 5) / 125) * - rtb_toNegative) >> 12); - - /* End of Outputs for SubSystem: '/FOC_Control_Type' */ - } else if (rtb_Gain3 >= 16000) { - /* Outputs for IfAction SubSystem: '/Commutation_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* Saturate: '/Saturation2' incorporates: - * Inport: '/r_inpTgt' - */ - rtb_Merge = 16000; - - /* End of Outputs for SubSystem: '/Commutation_Control_Type' */ - } else if (rtb_Gain3 <= -16000) { - /* Outputs for IfAction SubSystem: '/Commutation_Control_Type' incorporates: - * ActionPort: '/Action Port' - */ - /* Saturate: '/Saturation2' incorporates: - * Inport: '/r_inpTgt' - */ - 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 If: '/If1' */ - - /* Logic: '/Logical Operator' incorporates: + /* Logic: '/Logical Operator' incorporates: * Inport: '/b_hallA ' * Inport: '/b_hallB' * Inport: '/b_hallC' - * UnitDelay: '/UnitDelay1' - * UnitDelay: '/UnitDelay2' - * UnitDelay: '/UnitDelay3' + * UnitDelay: '/UnitDelay1' + * UnitDelay: '/UnitDelay2' + * UnitDelay: '/UnitDelay3' */ rtb_LogicalOperator = (boolean_T)((rtU->b_hallA != 0) ^ (rtU->b_hallB != 0) ^ (rtU->b_hallC != 0) ^ (rtDW->UnitDelay3_DSTATE_fy != 0) ^ (rtDW->UnitDelay1_DSTATE != 0)) ^ (rtDW->UnitDelay2_DSTATE_f != 0); - /* If: '/If2' incorporates: + /* If: '/If2' incorporates: * If: '/If2' - * Inport: '/z_counterRawPrev' - * UnitDelay: '/UnitDelay3' + * Inport: '/z_counterRawPrev' + * UnitDelay: '/UnitDelay3' */ if (rtb_LogicalOperator) { - /* Outputs for IfAction SubSystem: '/F01_04_Direction_Detection' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/F01_03_Direction_Detection' incorporates: + * ActionPort: '/Action Port' */ - /* UnitDelay: '/UnitDelay3' */ + /* UnitDelay: '/UnitDelay3' */ UnitDelay3 = rtDW->Switch2; - /* Sum: '/Sum2' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' - * UnitDelay: '/UnitDelay2' + /* Sum: '/Sum2' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' + * UnitDelay: '/UnitDelay2' */ rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] - rtDW->UnitDelay2_DSTATE_b); - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant20' - * Constant: '/Constant23' - * Constant: '/Constant24' - * Constant: '/Constant8' - * Logic: '/Logical Operator3' - * RelationalOperator: '/Relational Operator1' - * RelationalOperator: '/Relational Operator6' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant20' + * Constant: '/Constant23' + * Constant: '/Constant24' + * Constant: '/Constant8' + * Logic: '/Logical Operator3' + * RelationalOperator: '/Relational Operator1' + * RelationalOperator: '/Relational Operator6' */ if ((rtb_Sum2_h == 1) || (rtb_Sum2_h == -5)) { rtDW->Switch2 = 1; @@ -953,39 +878,38 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->Switch2 = -1; } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Update for UnitDelay: '/UnitDelay2' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + /* Update for UnitDelay: '/UnitDelay2' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' */ rtDW->UnitDelay2_DSTATE_b = rtConstP.vec_hallToPos_Value[rtb_Sum]; - /* End of Outputs for SubSystem: '/F01_04_Direction_Detection' */ + /* End of Outputs for SubSystem: '/F01_03_Direction_Detection' */ - /* Outputs for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' incorporates: + * ActionPort: '/Action Port' */ rtDW->z_counterRawPrev = rtDW->UnitDelay3_DSTATE; - /* Sum: '/Sum7' incorporates: - * Inport: '/z_counterRawPrev' - * UnitDelay: '/UnitDelay3' - * UnitDelay: '/UnitDelay4' + /* Sum: '/Sum7' incorporates: + * Inport: '/z_counterRawPrev' + * UnitDelay: '/UnitDelay3' + * UnitDelay: '/UnitDelay4' */ - rtb_Switch2_fv = (int16_T)(rtDW->z_counterRawPrev - - rtDW->UnitDelay4_DSTATE_p); + rtb_Switch2_k = (int16_T)(rtDW->z_counterRawPrev - rtDW->UnitDelay4_DSTATE); - /* Abs: '/Abs2' */ - if (rtb_Switch2_fv < 0) { - rtb_Switch1_l = (int16_T)-rtb_Switch2_fv; + /* Abs: '/Abs2' */ + if (rtb_Switch2_k < 0) { + rtb_Switch1_l = (int16_T)-rtb_Switch2_k; } else { - rtb_Switch1_l = rtb_Switch2_fv; + rtb_Switch1_l = rtb_Switch2_k; } - /* End of Abs: '/Abs2' */ + /* End of Abs: '/Abs2' */ - /* Relay: '/dz_cntTrnsDet' */ + /* Relay: '/dz_cntTrnsDet' */ if (rtb_Switch1_l >= rtP->dz_cntTrnsDetHi) { rtDW->dz_cntTrnsDet_Mode = true; } else { @@ -996,111 +920,111 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->dz_cntTrnsDet = rtDW->dz_cntTrnsDet_Mode; - /* End of Relay: '/dz_cntTrnsDet' */ + /* End of Relay: '/dz_cntTrnsDet' */ - /* RelationalOperator: '/Relational Operator4' */ + /* RelationalOperator: '/Relational Operator4' */ rtb_RelationalOperator4_d = (rtDW->Switch2 != UnitDelay3); - /* Switch: '/Switch3' incorporates: - * Constant: '/Constant4' - * Logic: '/Logical Operator1' - * Switch: '/Switch1' - * Switch: '/Switch2' - * UnitDelay: '/UnitDelay1' + /* Switch: '/Switch3' incorporates: + * Constant: '/Constant4' + * Logic: '/Logical Operator1' + * Switch: '/Switch1' + * Switch: '/Switch2' + * UnitDelay: '/UnitDelay1' */ if (rtb_RelationalOperator4_d && rtDW->UnitDelay1_DSTATE_n) { rtb_Switch1_l = 0; } else if (rtb_RelationalOperator4_d) { - /* Switch: '/Switch2' incorporates: - * UnitDelay: '/UnitDelay4' + /* Switch: '/Switch2' incorporates: + * UnitDelay: '/UnitDelay4' */ rtb_Switch1_l = rtDW->UnitDelay4_DSTATE_e; } else if (rtDW->dz_cntTrnsDet) { - /* Switch: '/Switch1' incorporates: - * Constant: '/cf_speedCoef' - * Product: '/Divide14' - * Switch: '/Switch2' + /* Switch: '/Switch1' incorporates: + * Constant: '/cf_speedCoef' + * Product: '/Divide14' + * Switch: '/Switch2' */ rtb_Switch1_l = (int16_T)((rtP->cf_speedCoef << 4) / rtDW->z_counterRawPrev); } else { - /* Switch: '/Switch1' incorporates: - * Constant: '/cf_speedCoef' - * Gain: '/g_Ha' - * Product: '/Divide13' - * Sum: '/Sum13' - * Switch: '/Switch2' - * UnitDelay: '/UnitDelay2' - * UnitDelay: '/UnitDelay3' - * UnitDelay: '/UnitDelay5' + /* Switch: '/Switch1' incorporates: + * Constant: '/cf_speedCoef' + * Gain: '/g_Ha' + * Product: '/Divide13' + * Sum: '/Sum13' + * Switch: '/Switch2' + * UnitDelay: '/UnitDelay2' + * UnitDelay: '/UnitDelay3' + * UnitDelay: '/UnitDelay5' */ rtb_Switch1_l = (int16_T)(((uint16_T)(rtP->cf_speedCoef << 2) << 4) / (int16_T)(((rtDW->UnitDelay2_DSTATE + rtDW->UnitDelay3_DSTATE_o) + rtDW->UnitDelay5_DSTATE) + rtDW->z_counterRawPrev)); } - /* End of Switch: '/Switch3' */ + /* End of Switch: '/Switch3' */ - /* Product: '/Divide11' */ + /* Product: '/Divide11' */ rtDW->Divide11 = (int16_T)(rtb_Switch1_l * rtDW->Switch2); - /* Update for UnitDelay: '/UnitDelay4' */ - rtDW->UnitDelay4_DSTATE_p = rtDW->z_counterRawPrev; + /* Update for UnitDelay: '/UnitDelay4' */ + rtDW->UnitDelay4_DSTATE = rtDW->z_counterRawPrev; - /* Update for UnitDelay: '/UnitDelay2' incorporates: - * UnitDelay: '/UnitDelay3' + /* Update for UnitDelay: '/UnitDelay2' incorporates: + * UnitDelay: '/UnitDelay3' */ rtDW->UnitDelay2_DSTATE = rtDW->UnitDelay3_DSTATE_o; - /* Update for UnitDelay: '/UnitDelay3' incorporates: - * UnitDelay: '/UnitDelay5' + /* Update for UnitDelay: '/UnitDelay3' incorporates: + * UnitDelay: '/UnitDelay5' */ rtDW->UnitDelay3_DSTATE_o = rtDW->UnitDelay5_DSTATE; - /* Update for UnitDelay: '/UnitDelay5' */ + /* Update for UnitDelay: '/UnitDelay5' */ rtDW->UnitDelay5_DSTATE = rtDW->z_counterRawPrev; - /* Update for UnitDelay: '/UnitDelay1' */ + /* Update for UnitDelay: '/UnitDelay1' */ rtDW->UnitDelay1_DSTATE_n = rtb_RelationalOperator4_d; - /* End of Outputs for SubSystem: '/Raw_Motor_Speed_Estimation' */ + /* End of Outputs for SubSystem: '/Raw_Motor_Speed_Estimation' */ } - /* End of If: '/If2' */ + /* End of If: '/If2' */ - /* Outputs for Atomic SubSystem: '/Counter' */ + /* Outputs for Atomic SubSystem: '/Counter' */ - /* Constant: '/Constant6' incorporates: - * Constant: '/z_maxCntRst2' + /* Constant: '/Constant6' incorporates: + * Constant: '/z_maxCntRst2' */ rtb_Switch1_l = (int16_T) Counter(1, rtP->z_maxCntRst, rtb_LogicalOperator, &rtDW->Counter_e); - /* End of Outputs for SubSystem: '/Counter' */ + /* End of Outputs for SubSystem: '/Counter' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant4' - * Constant: '/z_maxCntRst' - * RelationalOperator: '/Relational Operator2' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant4' + * Constant: '/z_maxCntRst' + * RelationalOperator: '/Relational Operator2' */ if (rtb_Switch1_l > rtP->z_maxCntRst) { - rtb_Switch2_fv = 0; + rtb_Switch2_k = 0; } else { - rtb_Switch2_fv = rtDW->Divide11; + rtb_Switch2_k = rtDW->Divide11; } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Abs: '/Abs5' */ - if (rtb_Switch2_fv < 0) { - rtb_Abs5 = (int16_T)-rtb_Switch2_fv; + /* Abs: '/Abs5' */ + if (rtb_Switch2_k < 0) { + rtb_Abs5 = (int16_T)-rtb_Switch2_k; } else { - rtb_Abs5 = rtb_Switch2_fv; + rtb_Abs5 = rtb_Switch2_k; } - /* End of Abs: '/Abs5' */ + /* End of Abs: '/Abs5' */ - /* Relay: '/n_commDeacv' */ + /* Relay: '/n_commDeacv' */ if (rtb_Abs5 >= rtP->n_commDeacvHi) { rtDW->n_commDeacv_Mode = true; } else { @@ -1109,18 +1033,79 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Logic: '/Logical Operator2' incorporates: - * Constant: '/CTRL_COMM' - * Constant: '/z_ctrlTypSel1' - * Logic: '/Logical Operator1' - * RelationalOperator: '/Relational Operator3' - * Relay: '/n_commDeacv' + /* Logic: '/Logical Operator2' incorporates: + * Logic: '/Logical Operator1' + * Relay: '/n_commDeacv' */ - rtb_LogicalOperator = ((rtP->z_ctrlTypSel == 1) && rtDW->n_commDeacv_Mode && ( - !rtDW->dz_cntTrnsDet)); + rtb_LogicalOperator = (rtDW->n_commDeacv_Mode && (!rtDW->dz_cntTrnsDet)); - /* RelationalOperator: '/Relational Operator9' incorporates: - * Constant: '/n_stdStillDet' + /* Switch: '/Switch2' incorporates: + * Constant: '/Constant16' + * Product: '/Divide1' + * Product: '/Divide3' + * RelationalOperator: '/Relational Operator7' + * Sum: '/Sum3' + * Switch: '/Switch3' + */ + if (rtb_LogicalOperator) { + /* MinMax: '/MinMax' */ + rtb_Switch2_fl = rtb_Switch1_l; + if (!(rtb_Switch2_fl < rtDW->z_counterRawPrev)) { + rtb_Switch2_fl = 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 == 1) { + rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; + } else { + rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); + } + + rtb_Switch2_fl = (int16_T)(((int16_T)((int16_T)((rtb_Switch2_fl << 14) / + rtDW->z_counterRawPrev) * rtDW->Switch2) + (rtb_Sum2_h << 14)) >> 2); + } else { + if (rtDW->Switch2 == 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_fl = (int16_T)(rtb_Sum2_h << 12); + } + + /* End of Switch: '/Switch2' */ + + /* MinMax: '/MinMax1' incorporates: + * Constant: '/Constant1' + */ + if (!(rtb_Switch2_fl > 0)) { + rtb_Switch2_fl = 0; + } + + /* End of MinMax: '/MinMax1' */ + + /* Product: '/Divide2' */ + rtb_Switch2_fl = (int16_T)((15 * rtb_Switch2_fl) >> 4); + + /* RelationalOperator: '/Relational Operator9' incorporates: + * Constant: '/n_stdStillDet' */ rtb_RelationalOperator4_d = (rtb_Abs5 < rtP->n_stdStillDet); @@ -1195,16 +1180,16 @@ void BLDC_controller_step(RT_MODEL *const rtM) if ((rtDW->UnitDelay_DSTATE_c & 4) != 0) { rtb_RelationalOperator1_m = true; } else { - if (rtDW->UnitDelay4_DSTATE < 0) { + if (rtDW->UnitDelay4_DSTATE_eu < 0) { /* Abs: '/Abs4' incorporates: * UnitDelay: '/UnitDelay4' */ - rtb_toNegative = (int16_T)-rtDW->UnitDelay4_DSTATE; + rtb_toNegative = (int16_T)-rtDW->UnitDelay4_DSTATE_eu; } else { /* Abs: '/Abs4' incorporates: * UnitDelay: '/UnitDelay4' */ - rtb_toNegative = rtDW->UnitDelay4_DSTATE; + rtb_toNegative = rtDW->UnitDelay4_DSTATE_eu; } rtb_RelationalOperator1_m = ((rtb_toNegative > rtP->r_errInpTgtThres) && @@ -1264,16 +1249,16 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of If: '/If2' */ - /* Logic: '/Logical Operator4' incorporates: - * Constant: '/constant2' - * Constant: '/constant8' + /* Logic: '/Logical Operator4' incorporates: + * Constant: '/constant2' + * Constant: '/constant8' * Inport: '/b_motEna' * Inport: '/z_ctrlModReq' - * Logic: '/Logical Operator1' - * Logic: '/Logical Operator7' - * RelationalOperator: '/Relational Operator10' - * RelationalOperator: '/Relational Operator11' - * RelationalOperator: '/Relational Operator2' + * Logic: '/Logical Operator1' + * Logic: '/Logical Operator7' + * RelationalOperator: '/Relational Operator10' + * RelationalOperator: '/Relational Operator11' + * RelationalOperator: '/Relational Operator2' * UnitDelay: '/UnitDelay1' */ rtb_RelationalOperator1_m = ((!rtU->b_motEna) || rtDW->Merge_n || @@ -1281,20 +1266,20 @@ void BLDC_controller_step(RT_MODEL *const rtM) && (rtDW->UnitDelay1_DSTATE_p != 0))); /* Chart: '/F03_02_Control_Mode_Manager' incorporates: - * Constant: '/constant' - * Constant: '/constant1' - * Constant: '/constant5' - * Constant: '/constant6' - * Constant: '/constant7' + * Constant: '/constant' + * Constant: '/constant1' + * Constant: '/constant5' + * Constant: '/constant6' + * Constant: '/constant7' * Inport: '/z_ctrlModReq' - * Logic: '/Logical Operator3' - * Logic: '/Logical Operator6' - * Logic: '/Logical Operator9' - * RelationalOperator: '/Relational Operator1' - * RelationalOperator: '/Relational Operator3' - * RelationalOperator: '/Relational Operator4' - * RelationalOperator: '/Relational Operator5' - * RelationalOperator: '/Relational Operator6' + * Logic: '/Logical Operator3' + * Logic: '/Logical Operator6' + * Logic: '/Logical Operator9' + * RelationalOperator: '/Relational Operator1' + * RelationalOperator: '/Relational Operator3' + * RelationalOperator: '/Relational Operator4' + * RelationalOperator: '/Relational Operator5' + * RelationalOperator: '/Relational Operator6' */ if (rtDW->is_active_c1_BLDC_controller == 0U) { rtDW->is_active_c1_BLDC_controller = 1U; @@ -1341,70 +1326,212 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Chart: '/F03_02_Control_Mode_Manager' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/Constant16' - * Product: '/Divide1' - * Product: '/Divide3' - * RelationalOperator: '/Relational Operator7' - * Sum: '/Sum3' - * Switch: '/Switch3' + /* Saturate: '/Saturation2' incorporates: + * Inport: '/r_inpTgt' */ - if (rtb_LogicalOperator) { - /* MinMax: '/MinMax' */ - rtb_Switch2_d = rtb_Switch1_l; - if (!(rtb_Switch2_d < rtDW->z_counterRawPrev)) { - rtb_Switch2_d = rtDW->z_counterRawPrev; - } + rtb_Gain3 = rtU->r_inpTgt << 4; + + /* If: '/If1' incorporates: + * Constant: '/z_ctrlTypSel1' + * Inport: '/r_inpTgt' + * Inport: '/r_inpTgt' + * Saturate: '/Saturation2' + */ + if (rtP->z_ctrlTypSel == 2) { + /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* SignalConversion: '/TmpSignal ConversionAtSelectorInport1' incorporates: + * Constant: '/Vd_max' + * Constant: '/constant1' + * Constant: '/i_max' + * Constant: '/n_max' + */ + tmp[0] = 0; + tmp[1] = rtP->Vd_max; + tmp[2] = rtP->n_max; + tmp[3] = rtP->i_max; - /* End of MinMax: '/MinMax' */ + /* End of Outputs for SubSystem: '/FOC_Control_Type' */ - /* Switch: '/Switch3' incorporates: - * Constant: '/Constant16' - * Constant: '/vec_hallToPos' - * RelationalOperator: '/Relational Operator7' - * Selector: '/Selector' - * Sum: '/Sum1' + /* Saturate: '/Saturation2' incorporates: + * Inport: '/r_inpTgt' */ - if (rtDW->Switch2 == 1) { - rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; + if (rtb_Gain3 >= 16000) { + rtb_toNegative = 16000; + } else if (rtb_Gain3 <= -16000) { + rtb_toNegative = -16000; } else { - rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); + rtb_toNegative = (int16_T)(rtU->r_inpTgt << 4); } - rtb_Switch2_d = (int16_T)(((int16_T)((int16_T)((rtb_Switch2_d << 14) / - rtDW->z_counterRawPrev) * rtDW->Switch2) + (rtb_Sum2_h << 14)) >> 2); + /* Outputs for IfAction SubSystem: '/FOC_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* Product: '/Divide1' incorporates: + * Inport: '/z_ctrlModReq' + * Product: '/Divide4' + * Selector: '/Selector' + */ + rtb_Merge = (int16_T)(((uint16_T)((tmp[rtU->z_ctrlModReq] << 5) / 125) * + rtb_toNegative) >> 12); + + /* End of Outputs for SubSystem: '/FOC_Control_Type' */ + } else if (rtb_Gain3 >= 16000) { + /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* Saturate: '/Saturation2' incorporates: + * Inport: '/r_inpTgt' + */ + rtb_Merge = 16000; + + /* End of Outputs for SubSystem: '/Default_Control_Type' */ + } else if (rtb_Gain3 <= -16000) { + /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + /* Saturate: '/Saturation2' incorporates: + * Inport: '/r_inpTgt' + */ + rtb_Merge = -16000; + + /* End of Outputs for SubSystem: '/Default_Control_Type' */ } else { - if (rtDW->Switch2 == 1) { - /* Switch: '/Switch3' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + /* Outputs for IfAction SubSystem: '/Default_Control_Type' incorporates: + * ActionPort: '/Action Port' + */ + rtb_Merge = (int16_T)(rtU->r_inpTgt << 4); + + /* End of Outputs for SubSystem: '/Default_Control_Type' */ + } + + /* End of If: '/If1' */ + + /* If: '/If2' incorporates: + * Inport: '/r_inpTgtScaRaw' + */ + rtb_Sum2_h = rtDW->If2_ActiveSubsystem_j; + UnitDelay3 = (int8_T)!(rtb_Sum_l == 0); + rtDW->If2_ActiveSubsystem_j = UnitDelay3; + switch (UnitDelay3) { + case 0: + if (UnitDelay3 != rtb_Sum2_h) { + /* SystemReset for IfAction SubSystem: '/Open_Mode' incorporates: + * ActionPort: '/Action Port' */ - rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; + /* SystemReset for Atomic SubSystem: '/rising_edge_init' */ + /* SystemReset for If: '/If2' incorporates: + * UnitDelay: '/UnitDelay' + * UnitDelay: '/UnitDelay' + */ + rtDW->UnitDelay_DSTATE_e = true; + + /* End of SystemReset for SubSystem: '/rising_edge_init' */ + + /* SystemReset for Atomic SubSystem: '/Rate_Limiter' */ + rtDW->UnitDelay_DSTATE = 0; + + /* End of SystemReset for SubSystem: '/Rate_Limiter' */ + /* End of SystemReset for SubSystem: '/Open_Mode' */ + } + + /* Outputs for IfAction SubSystem: '/Open_Mode' incorporates: + * ActionPort: '/Action Port' + */ + /* DataTypeConversion: '/Data Type Conversion' incorporates: + * UnitDelay: '/UnitDelay4' + */ + rtb_Gain3 = rtDW->UnitDelay4_DSTATE_eu << 12; + rtb_DataTypeConversion = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | + -134217728 : rtb_Gain3 & 134217727; + + /* Outputs for Atomic SubSystem: '/rising_edge_init' */ + /* UnitDelay: '/UnitDelay' */ + rtb_RelationalOperator4_d = rtDW->UnitDelay_DSTATE_e; + + /* Update for UnitDelay: '/UnitDelay' incorporates: + * Constant: '/Constant' + */ + rtDW->UnitDelay_DSTATE_e = false; + + /* End of Outputs for SubSystem: '/rising_edge_init' */ + + /* Outputs for Atomic SubSystem: '/Rate_Limiter' */ + /* Switch: '/Switch1' incorporates: + * UnitDelay: '/UnitDelay' + */ + if (rtb_RelationalOperator4_d) { + rtb_Switch1 = rtb_DataTypeConversion; } else { - /* Switch: '/Switch3' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' - * Sum: '/Sum1' + rtb_Switch1 = rtDW->UnitDelay_DSTATE; + } + + /* End of Switch: '/Switch1' */ + + /* Sum: '/Sum1' */ + rtb_Gain3 = -rtb_Switch1; + rtb_Sum1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : rtb_Gain3 + & 134217727; + + /* Switch: '/Switch2' incorporates: + * Constant: '/dV_openRate' + * RelationalOperator: '/LowerRelop1' + */ + if (rtb_Sum1 > rtP->dV_openRate) { + rtb_Sum1 = rtP->dV_openRate; + } else { + /* Gain: '/Gain3' */ + rtb_Gain3 = -rtP->dV_openRate; + rtb_Gain3 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : + rtb_Gain3 & 134217727; + + /* Switch: '/Switch' incorporates: + * RelationalOperator: '/UpperRelop' */ - rtb_Sum2_h = (int8_T)(rtConstP.vec_hallToPos_Value[rtb_Sum] + 1); + if (rtb_Sum1 < rtb_Gain3) { + rtb_Sum1 = rtb_Gain3; + } + + /* End of Switch: '/Switch' */ } - rtb_Switch2_d = (int16_T)(rtb_Sum2_h << 12); - } + /* End of Switch: '/Switch2' */ - /* End of Switch: '/Switch2' */ + /* Sum: '/Sum2' */ + rtb_Gain3 = rtb_Sum1 + rtb_Switch1; + rtb_Switch1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : + rtb_Gain3 & 134217727; - /* MinMax: '/MinMax1' incorporates: - * Constant: '/Constant1' - */ - if (!(rtb_Switch2_d > 0)) { - rtb_Switch2_d = 0; - } + /* Switch: '/Switch2' */ + if (rtb_RelationalOperator4_d) { + /* Update for UnitDelay: '/UnitDelay' */ + rtDW->UnitDelay_DSTATE = rtb_DataTypeConversion; + } else { + /* Update for UnitDelay: '/UnitDelay' */ + rtDW->UnitDelay_DSTATE = rtb_Switch1; + } + + /* End of Switch: '/Switch2' */ + /* End of Outputs for SubSystem: '/Rate_Limiter' */ - /* End of MinMax: '/MinMax1' */ + /* DataTypeConversion: '/Data Type Conversion1' */ + rtb_Merge1 = (int16_T)(rtb_Switch1 >> 12); - /* Product: '/Divide2' */ - rtb_Divide2_h = (uint16_T)((15 * rtb_Switch2_d) >> 4); + /* End of Outputs for SubSystem: '/Open_Mode' */ + break; + + case 1: + /* Outputs for IfAction SubSystem: '/Default_Mode' incorporates: + * ActionPort: '/Action Port' + */ + rtb_Merge1 = rtb_Merge; + + /* End of Outputs for SubSystem: '/Default_Mode' */ + break; + } + + /* End of If: '/If2' */ /* Saturate: '/Saturation' incorporates: * Inport: '/i_phaAB' @@ -1425,11 +1552,11 @@ void BLDC_controller_step(RT_MODEL *const rtM) */ rtb_Gain3 = rtU->i_phaBC << 4; if (rtb_Gain3 >= 32000) { - rtb_Switch2_d = 32000; + rtb_Merge = 32000; } else if (rtb_Gain3 <= -32000) { - rtb_Switch2_d = -32000; + rtb_Merge = -32000; } else { - rtb_Switch2_d = (int16_T)(rtU->i_phaBC << 4); + rtb_Merge = (int16_T)(rtU->i_phaBC << 4); } /* End of Saturate: '/Saturation1' */ @@ -1439,7 +1566,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) */ rtb_Sum2_h = rtDW->If1_ActiveSubsystem; UnitDelay3 = -1; - if (rtP->z_ctrlTypSel == 1) { + if (rtP->z_ctrlTypSel == 2) { UnitDelay3 = 0; } @@ -1447,10 +1574,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { /* Disable for If: '/If2' */ if (rtDW->If2_ActiveSubsystem_a == 0) { - /* Disable for Outport: '/iq' */ + /* Disable for Outport: '/iq' */ rtDW->Sum1[0] = 0; - /* Disable for Outport: '/id' */ + /* Disable for Outport: '/id' */ rtDW->Sum1[1] = 0; } @@ -1460,7 +1587,7 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Disable for If: '/If1' */ if (rtDW->If1_ActiveSubsystem_e == 0) { - /* Disable for Outport: '/Vd' */ + /* Disable for Outport: '/Vd' */ rtDW->Switch1 = 0; } @@ -1468,36 +1595,32 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of Disable for If: '/If1' */ - /* Disable for If: '/If1' */ + /* Disable for If: '/If1' */ if (rtDW->If1_ActiveSubsystem_f == 0) { - /* Disable for Outport: '/iq_limProt' */ + /* Disable for Outport: '/iq_limProt' */ rtDW->Divide4 = 0; } rtDW->If1_ActiveSubsystem_f = -1; - /* End of Disable for If: '/If1' */ + /* End of Disable for If: '/If1' */ - /* Disable for If: '/If2' */ + /* Disable for If: '/If2' */ if (rtDW->If2_ActiveSubsystem_c == 0) { - /* Disable for Outport: '/n_limProt' */ + /* Disable for Outport: '/n_limProt' */ rtDW->Divide1 = 0; } rtDW->If2_ActiveSubsystem_c = -1; - /* End of Disable for If: '/If2' */ + /* End of Disable for If: '/If2' */ /* Disable for SwitchCase: '/Switch Case' */ rtDW->SwitchCase_ActiveSubsystem = -1; - /* Disable for Outport: '/r_phaA' */ + /* Disable for Outport: '/V_phaABC_FOC' */ rtDW->Gain4[0] = 0; - - /* Disable for Outport: '/r_phaB' */ rtDW->Gain4[1] = 0; - - /* Disable for Outport: '/r_phaC ' */ rtDW->Gain4[2] = 0; /* Disable for Outport: '/Vq' */ @@ -1511,22 +1634,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) } if (UnitDelay3 == 0) { - if (0 != rtb_Sum2_h) { - /* InitializeConditions for IfAction SubSystem: '/F04_Field_Oriented_Control' incorporates: - * ActionPort: '/Action Port' - */ - /* InitializeConditions for If: '/If1' incorporates: - * UnitDelay: '/UnitDelay4' - */ - rtDW->UnitDelay4_DSTATE_er = 0; - - /* End of InitializeConditions for SubSystem: '/F04_Field_Oriented_Control' */ - } - /* Outputs for IfAction SubSystem: '/F04_Field_Oriented_Control' incorporates: * ActionPort: '/Action Port' */ - /* Relay: '/n_fieldWeakAuth' */ + /* Relay: '/n_fieldWeakAuth' */ if (rtb_Abs5 >= rtP->n_fieldWeakAuthHi) { rtDW->n_fieldWeakAuth_Mode = true; } else { @@ -1535,60 +1646,60 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Switch: '/Switch1' incorporates: - * Constant: '/a_elecPeriod1' - * Constant: '/b_fieldWeakEna' - * Logic: '/Logical Operator2' - * Relay: '/n_fieldWeakAuth' + /* Switch: '/Switch1' incorporates: + * Constant: '/a_elecPeriod1' + * Constant: '/b_fieldWeakEna' + * Logic: '/Logical Operator2' + * Relay: '/n_fieldWeakAuth' */ if (rtP->b_fieldWeakEna && rtDW->n_fieldWeakAuth_Mode) { - /* Abs: '/Abs5' */ - if (rtb_Merge < 0) { - rtb_id_fieldWeak_M1 = (int16_T)-rtb_Merge; + /* Abs: '/Abs5' */ + if (rtb_Merge1 < 0) { + rtb_id_fieldWeak_M1 = (int16_T)-rtb_Merge1; } else { - rtb_id_fieldWeak_M1 = rtb_Merge; + rtb_id_fieldWeak_M1 = rtb_Merge1; } - /* End of Abs: '/Abs5' */ + /* End of Abs: '/Abs5' */ - /* PreLookup: '/r_fieldWeak_XA' */ - rtb_r_fieldWeak_XA_o1 = plook_u8s16u8n6_evenc_s(rtb_id_fieldWeak_M1, + /* PreLookup: '/r_fieldWeak_XA' */ + rtb_r_fieldWeak_XA_o1 = plook_u8s16u8n7_evenc_s(rtb_id_fieldWeak_M1, 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' */ - rtb_id_fieldWeak_M1 = intrp1d_s16s32s32u8u8n6l_s(rtb_r_fieldWeak_XA_o1, + /* Interpolation_n-D: '/id_fieldWeak_M1' */ + rtb_id_fieldWeak_M1 = intrp1d_s16s32s32u8u8n7l_s(rtb_r_fieldWeak_XA_o1, rtb_r_fieldWeak_XA_o2, rtP->id_fieldWeak_M1); } else { rtb_id_fieldWeak_M1 = 0; } - /* End of Switch: '/Switch1' */ + /* End of Switch: '/Switch1' */ - /* Gain: '/toNegative' */ + /* Gain: '/toNegative' */ rtb_toNegative = (int16_T)-rtb_id_fieldWeak_M1; - /* Gain: '/Gain4' incorporates: - * Constant: '/i_max' + /* Gain: '/Gain4' incorporates: + * Constant: '/i_max' */ rtb_Gain4 = (int16_T)-rtP->i_max; - /* If: '/If1' incorporates: - * Constant: '/b_selPhaABCurrMeas' + /* If: '/If1' incorporates: + * Constant: '/b_selPhaABCurrMeas' */ if (rtP->b_selPhaABCurrMeas) { - /* Outputs for IfAction SubSystem: '/Clarke_PhasesAB' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Clarke_PhasesAB' incorporates: + * ActionPort: '/Action Port' */ - /* Gain: '/Gain4' */ + /* Gain: '/Gain4' */ rtb_Gain3 = 18919 * rtb_Saturation; - /* Gain: '/Gain2' */ - rtb_DataTypeConversion = 18919 * rtb_Switch2_d; + /* Gain: '/Gain2' */ + rtb_DataTypeConversion = 18919 * rtb_Merge; - /* Sum: '/Sum1' incorporates: - * Gain: '/Gain2' - * Gain: '/Gain4' + /* Sum: '/Sum1' incorporates: + * Gain: '/Gain2' + * Gain: '/Gain4' */ rtb_Gain3 = (((rtb_Gain3 < 0 ? 32767 : 0) + rtb_Gain3) >> 15) + (int16_T) (((rtb_DataTypeConversion < 0 ? 16383 : 0) + rtb_DataTypeConversion) >> @@ -1603,14 +1714,14 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_Gain2_f = (int16_T)rtb_Gain3; - /* End of Sum: '/Sum1' */ - /* End of Outputs for SubSystem: '/Clarke_PhasesAB' */ + /* End of Sum: '/Sum1' */ + /* End of Outputs for SubSystem: '/Clarke_PhasesAB' */ } else { - /* Outputs for IfAction SubSystem: '/Clarke_PhasesBC' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Clarke_PhasesBC' incorporates: + * ActionPort: '/Action Port' */ - /* Sum: '/Sum3' */ - rtb_Gain3 = rtb_Saturation - rtb_Switch2_d; + /* Sum: '/Sum3' */ + rtb_Gain3 = rtb_Saturation - rtb_Merge; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -1619,14 +1730,14 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain2' incorporates: - * Sum: '/Sum3' + /* Gain: '/Gain2' incorporates: + * Sum: '/Sum3' */ rtb_Gain3 *= 18919; rtb_Gain2_f = (int16_T)(((rtb_Gain3 < 0 ? 32767 : 0) + rtb_Gain3) >> 15); - /* Sum: '/Sum1' */ - rtb_Gain3 = -rtb_Saturation - rtb_Switch2_d; + /* Sum: '/Sum1' */ + rtb_Gain3 = -rtb_Saturation - rtb_Merge; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -1637,23 +1748,23 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_Saturation = (int16_T)rtb_Gain3; - /* End of Sum: '/Sum1' */ - /* End of Outputs for SubSystem: '/Clarke_PhasesBC' */ + /* End of Sum: '/Sum1' */ + /* End of Outputs for SubSystem: '/Clarke_PhasesBC' */ } - /* End of If: '/If1' */ + /* End of If: '/If1' */ - /* PreLookup: '/a_elecAngle_XA' */ - rtb_r_fieldWeak_XA_o1 = plook_u8u16_evencka(rtb_Divide2_h, 0U, 128U, 180U); + /* PreLookup: '/a_elecAngle_XA' */ + rtb_r_fieldWeak_XA_o1 = plook_u8s16_evencka(rtb_Switch2_fl, 0, 128U, 180U); - /* Interpolation_n-D: '/r_sin_M1' */ + /* Interpolation_n-D: '/r_sin_M1' */ rtb_MinMax2 = rtConstP.r_sin_M1_Table[rtb_r_fieldWeak_XA_o1]; - /* Interpolation_n-D: '/r_cos_M1' */ - rtb_Switch2_d = rtConstP.r_cos_M1_Table[rtb_r_fieldWeak_XA_o1]; + /* Interpolation_n-D: '/r_cos_M1' */ + rtb_Merge = rtConstP.r_cos_M1_Table[rtb_r_fieldWeak_XA_o1]; /* If: '/If2' incorporates: - * Constant: '/cf_currFilt' + * Constant: '/cf_currFilt' * Inport: '/b_motEna' */ rtb_Sum2_h = rtDW->If2_ActiveSubsystem_a; @@ -1664,34 +1775,34 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->If2_ActiveSubsystem_a = UnitDelay3; if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/iq' */ + /* Disable for Outport: '/iq' */ rtDW->Sum1[0] = 0; - /* Disable for Outport: '/id' */ + /* Disable for Outport: '/id' */ rtDW->Sum1[1] = 0; } if (UnitDelay3 == 0) { if (0 != rtb_Sum2_h) { /* SystemReset for IfAction SubSystem: '/Current_Filtering' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* SystemReset for Atomic SubSystem: '/Low_Pass_Filter' */ + /* SystemReset for Atomic SubSystem: '/Low_Pass_Filter' */ /* SystemReset for If: '/If2' */ Low_Pass_Filter_Reset(&rtDW->Low_Pass_Filter_m); - /* End of SystemReset for SubSystem: '/Low_Pass_Filter' */ + /* End of SystemReset for SubSystem: '/Low_Pass_Filter' */ /* End of SystemReset for SubSystem: '/Current_Filtering' */ } - /* Sum: '/Sum6' incorporates: - * Interpolation_n-D: '/r_cos_M1' - * Interpolation_n-D: '/r_sin_M1' - * Product: '/Divide1' - * Product: '/Divide4' + /* Sum: '/Sum6' incorporates: + * Interpolation_n-D: '/r_cos_M1' + * Interpolation_n-D: '/r_sin_M1' + * Product: '/Divide1' + * Product: '/Divide4' */ rtb_Gain3 = (int16_T)((rtb_Gain2_f * rtConstP.r_cos_M1_Table[rtb_r_fieldWeak_XA_o1]) >> 14) - (int16_T) @@ -1705,20 +1816,20 @@ void BLDC_controller_step(RT_MODEL *const rtM) } /* Outputs for IfAction SubSystem: '/Current_Filtering' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: - * Sum: '/Sum6' + /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: + * Sum: '/Sum6' */ rtb_TmpSignalConversionAtLow_Pa[0] = (int16_T)rtb_Gain3; /* End of Outputs for SubSystem: '/Current_Filtering' */ - /* Sum: '/Sum1' incorporates: - * Interpolation_n-D: '/r_cos_M1' - * Interpolation_n-D: '/r_sin_M1' - * Product: '/Divide2' - * Product: '/Divide3' + /* Sum: '/Sum1' incorporates: + * Interpolation_n-D: '/r_cos_M1' + * Interpolation_n-D: '/r_sin_M1' + * Product: '/Divide2' + * Product: '/Divide3' */ rtb_Gain3 = (int16_T)((rtb_Saturation * rtConstP.r_cos_M1_Table[rtb_r_fieldWeak_XA_o1]) >> 14) + (int16_T) @@ -1732,18 +1843,18 @@ void BLDC_controller_step(RT_MODEL *const rtM) } /* Outputs for IfAction SubSystem: '/Current_Filtering' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: - * Sum: '/Sum1' + /* SignalConversion: '/TmpSignal ConversionAtLow_Pass_FilterInport1' incorporates: + * Sum: '/Sum1' */ rtb_TmpSignalConversionAtLow_Pa[1] = (int16_T)rtb_Gain3; - /* Outputs for Atomic SubSystem: '/Low_Pass_Filter' */ + /* Outputs for Atomic SubSystem: '/Low_Pass_Filter' */ Low_Pass_Filter(rtb_TmpSignalConversionAtLow_Pa, rtP->cf_currFilt, rtDW->Sum1, &rtDW->Low_Pass_Filter_m); - /* End of Outputs for SubSystem: '/Low_Pass_Filter' */ + /* End of Outputs for SubSystem: '/Low_Pass_Filter' */ /* End of Outputs for SubSystem: '/Current_Filtering' */ } @@ -1751,12 +1862,12 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of If: '/If2' */ /* If: '/If1' incorporates: - * Constant: '/Vd_max1' - * Constant: '/cf_idKi1' - * Constant: '/cf_idKp1' - * Constant: '/constant1' - * Gain: '/Gain3' - * Sum: '/Sum3' + * Constant: '/Vd_max1' + * Constant: '/cf_idKi1' + * Constant: '/cf_idKp1' + * Constant: '/constant1' + * Gain: '/Gain3' + * Sum: '/Sum3' */ rtb_Sum2_h = rtDW->If1_ActiveSubsystem_e; UnitDelay3 = -1; @@ -1766,47 +1877,47 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->If1_ActiveSubsystem_e = UnitDelay3; if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/Vd' */ + /* Disable for Outport: '/Vd' */ rtDW->Switch1 = 0; } if (UnitDelay3 == 0) { if (0 != rtb_Sum2_h) { /* SystemReset for IfAction SubSystem: '/Vd_Calculation' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_id' */ + /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_id' */ /* SystemReset for If: '/If1' */ PI_clamp_fixdt_Reset(&rtDW->PI_clamp_fixdt_id); - /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_id' */ + /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_id' */ /* End of SystemReset for SubSystem: '/Vd_Calculation' */ } /* Outputs for IfAction SubSystem: '/Vd_Calculation' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/i_max' - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Switch: '/Switch' + /* Switch: '/Switch2' incorporates: + * Constant: '/i_max' + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' */ if (rtb_toNegative > rtP->i_max) { rtb_toNegative = rtP->i_max; } else { if (rtb_toNegative < rtb_Gain4) { - /* Switch: '/Switch' */ + /* Switch: '/Switch' */ rtb_toNegative = rtb_Gain4; } } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Sum: '/Sum3' */ + /* Sum: '/Sum3' */ rtb_Gain3 = rtb_toNegative - rtDW->Sum1[1]; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; @@ -1816,39 +1927,39 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_id' */ + /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_id' */ PI_clamp_fixdt((int16_T)rtb_Gain3, rtP->cf_idKp, rtP->cf_idKi, rtP->Vd_max, (int16_T)-rtP->Vd_max, 0, &rtDW->Switch1, &rtDW->PI_clamp_fixdt_id); - /* End of Outputs for SubSystem: '/PI_clamp_fixdt_id' */ + /* End of Outputs for SubSystem: '/PI_clamp_fixdt_id' */ /* End of Outputs for SubSystem: '/Vd_Calculation' */ } /* End of If: '/If1' */ - /* Abs: '/Abs5' */ + /* Abs: '/Abs5' */ if (rtDW->Switch1 < 0) { rtb_toNegative = (int16_T)-rtDW->Switch1; } else { rtb_toNegative = rtDW->Switch1; } - /* End of Abs: '/Abs5' */ + /* End of Abs: '/Abs5' */ - /* PreLookup: '/Vq_max_XA' */ + /* PreLookup: '/Vq_max_XA' */ rtb_r_fieldWeak_XA_o1 = plook_u8s16_evencka(rtb_toNegative, rtP->Vq_max_XA[0], (uint16_T)(rtP->Vq_max_XA[1] - rtP->Vq_max_XA[0]), 45U); - /* Gain: '/Gain5' incorporates: - * Interpolation_n-D: '/Vq_max_M1' + /* Gain: '/Gain5' incorporates: + * Interpolation_n-D: '/Vq_max_M1' */ rtb_Gain2_f = (int16_T)-rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1]; - /* Interpolation_n-D: '/iq_maxSca_M1' incorporates: - * Constant: '/i_max' - * Product: '/Divide4' + /* Interpolation_n-D: '/iq_maxSca_M1' incorporates: + * Constant: '/i_max' + * Product: '/Divide4' */ rtb_Gain3 = rtb_id_fieldWeak_M1 << 16; rtb_Gain3 = (rtb_Gain3 == MIN_int32_T) && (rtP->i_max == -1) ? MAX_int32_T : @@ -1861,25 +1972,25 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Product: '/Divide1' incorporates: - * Constant: '/i_max' - * Interpolation_n-D: '/iq_maxSca_M1' - * PreLookup: '/iq_maxSca_XA' - * Product: '/Divide4' + /* Product: '/Divide1' incorporates: + * Constant: '/i_max' + * Interpolation_n-D: '/iq_maxSca_M1' + * PreLookup: '/iq_maxSca_XA' + * Product: '/Divide4' */ rtb_id_fieldWeak_M1 = (int16_T) ((rtConstP.iq_maxSca_M1_Table[plook_u8u16_evencka((uint16_T)rtb_Gain3, 0U, 1311U, 49U)] * rtP->i_max) >> 16); - /* Gain: '/Gain1' */ + /* Gain: '/Gain1' */ rtb_Saturation = (int16_T)-rtb_id_fieldWeak_M1; - /* If: '/If1' incorporates: - * Constant: '/CTRL_COMM' - * Constant: '/CTRL_COMM1' - * Logic: '/Logical Operator2' - * RelationalOperator: '/Relational Operator1' - * RelationalOperator: '/Relational Operator2' + /* If: '/If1' incorporates: + * Constant: '/CTRL_COMM' + * Constant: '/CTRL_COMM1' + * Logic: '/Logical Operator2' + * RelationalOperator: '/Relational Operator1' + * RelationalOperator: '/Relational Operator2' */ rtb_Sum2_h = rtDW->If1_ActiveSubsystem_f; UnitDelay3 = -1; @@ -1889,33 +2000,33 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->If1_ActiveSubsystem_f = UnitDelay3; if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/iq_limProt' */ + /* Disable for Outport: '/iq_limProt' */ rtDW->Divide4 = 0; } if (UnitDelay3 == 0) { - /* Outputs for IfAction SubSystem: '/Current_Limit_Protection' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Current_Limit_Protection' incorporates: + * ActionPort: '/Action Port' */ - /* Switch: '/Switch2' incorporates: - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Switch: '/Switch' + /* Switch: '/Switch2' incorporates: + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' */ if (rtDW->Sum1[0] > rtb_id_fieldWeak_M1) { rtb_toNegative = rtb_id_fieldWeak_M1; } else if (rtDW->Sum1[0] < rtb_Saturation) { - /* Switch: '/Switch' */ + /* Switch: '/Switch' */ rtb_toNegative = rtb_Saturation; } else { rtb_toNegative = rtDW->Sum1[0]; } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Product: '/Divide4' incorporates: - * Constant: '/cf_iqKpLimProt' - * Sum: '/Sum3' + /* Product: '/Divide4' incorporates: + * Constant: '/cf_iqKpLimProt' + * Sum: '/Sum3' */ rtb_Gain3 = ((int16_T)(rtb_toNegative - rtDW->Sum1[0]) * rtP->cf_iqKpLimProt) >> 8; @@ -1929,23 +2040,23 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->Divide4 = (int16_T)rtb_Gain3; - /* End of Product: '/Divide4' */ - /* End of Outputs for SubSystem: '/Current_Limit_Protection' */ + /* End of Product: '/Divide4' */ + /* End of Outputs for SubSystem: '/Current_Limit_Protection' */ } - /* End of If: '/If1' */ + /* End of If: '/If1' */ - /* Gain: '/Gain6' incorporates: - * Constant: '/n_max1' + /* Gain: '/Gain6' incorporates: + * Constant: '/n_max1' */ rtb_toNegative = (int16_T)-rtP->n_max; - /* If: '/If2' incorporates: - * Constant: '/CTRL_COMM2' - * Constant: '/CTRL_COMM3' - * Logic: '/Logical Operator1' - * RelationalOperator: '/Relational Operator3' - * RelationalOperator: '/Relational Operator4' + /* If: '/If2' incorporates: + * Constant: '/CTRL_COMM2' + * Constant: '/CTRL_COMM3' + * Logic: '/Logical Operator1' + * RelationalOperator: '/Relational Operator3' + * RelationalOperator: '/Relational Operator4' */ rtb_Sum2_h = rtDW->If2_ActiveSubsystem_c; UnitDelay3 = -1; @@ -1955,35 +2066,35 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->If2_ActiveSubsystem_c = UnitDelay3; if ((rtb_Sum2_h != UnitDelay3) && (rtb_Sum2_h == 0)) { - /* Disable for Outport: '/n_limProt' */ + /* Disable for Outport: '/n_limProt' */ rtDW->Divide1 = 0; } if (UnitDelay3 == 0) { - /* Outputs for IfAction SubSystem: '/Speed_Limit_Protection' incorporates: - * ActionPort: '/Action Port' + /* Outputs for IfAction SubSystem: '/Speed_Limit_Protection' incorporates: + * ActionPort: '/Action Port' */ - /* Switch: '/Switch2' incorporates: - * Constant: '/n_max1' - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Switch: '/Switch' + /* Switch: '/Switch2' incorporates: + * Constant: '/n_max1' + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Switch: '/Switch' */ - if (rtb_Switch2_fv > rtP->n_max) { + if (rtb_Switch2_k > rtP->n_max) { rtb_toNegative = rtP->n_max; } else { - if (!(rtb_Switch2_fv < rtb_toNegative)) { - rtb_toNegative = rtb_Switch2_fv; + if (!(rtb_Switch2_k < rtb_toNegative)) { + rtb_toNegative = rtb_Switch2_k; } } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Product: '/Divide1' incorporates: - * Constant: '/cf_nKpLimProt' - * Sum: '/Sum1' + /* Product: '/Divide1' incorporates: + * Constant: '/cf_nKpLimProt' + * Sum: '/Sum1' */ - rtb_Gain3 = ((int16_T)(rtb_toNegative - rtb_Switch2_fv) * + rtb_Gain3 = ((int16_T)(rtb_toNegative - rtb_Switch2_k) * rtP->cf_nKpLimProt) >> 8; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; @@ -1995,20 +2106,21 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtDW->Divide1 = (int16_T)rtb_Gain3; - /* End of Product: '/Divide1' */ - /* End of Outputs for SubSystem: '/Speed_Limit_Protection' */ + /* End of Product: '/Divide1' */ + /* End of Outputs for SubSystem: '/Speed_Limit_Protection' */ } - /* End of If: '/If2' */ + /* End of If: '/If2' */ /* SwitchCase: '/Switch Case' incorporates: - * Constant: '/cf_iqKiLimProt' - * Constant: '/cf_nKi' - * Constant: '/cf_nKp' - * Interpolation_n-D: '/Vq_max_M1' - * Product: '/Divide1' - * SignalConversion: '/Signal Conversion2' - * Sum: '/Sum3' + * Constant: '/cf_iqKiLimProt' + * Constant: '/cf_nKi' + * Constant: '/cf_nKp' + * Inport: '/r_inpTgtSca' + * Interpolation_n-D: '/Vq_max_M1' + * Product: '/Divide1' + * SignalConversion: '/Signal Conversion2' + * Sum: '/Sum3' */ rtb_Sum2_h = rtDW->SwitchCase_ActiveSubsystem; switch (rtb_Sum_l) { @@ -2033,10 +2145,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) switch (UnitDelay3) { case 0: /* Outputs for IfAction SubSystem: '/Voltage_Mode' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* Sum: '/Sum3' */ - rtb_Gain3 = (rtb_Merge + rtDW->Divide4) + rtDW->Divide1; + /* Sum: '/Sum3' */ + rtb_Gain3 = (rtb_Merge1 + rtDW->Divide4) + rtDW->Divide1; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2045,51 +2157,51 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Switch: '/Switch2' incorporates: - * Interpolation_n-D: '/Vq_max_M1' - * RelationalOperator: '/LowerRelop1' - * RelationalOperator: '/UpperRelop' - * Sum: '/Sum3' - * Switch: '/Switch' + /* Switch: '/Switch2' incorporates: + * Interpolation_n-D: '/Vq_max_M1' + * RelationalOperator: '/LowerRelop1' + * RelationalOperator: '/UpperRelop' + * Sum: '/Sum3' + * Switch: '/Switch' */ if ((int16_T)rtb_Gain3 > rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1]) { - /* SignalConversion: '/Signal Conversion2' */ + /* SignalConversion: '/Signal Conversion2' */ rtDW->Merge = rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1]; } else if ((int16_T)rtb_Gain3 < rtb_Gain2_f) { - /* Switch: '/Switch' incorporates: - * SignalConversion: '/Signal Conversion2' + /* Switch: '/Switch' incorporates: + * SignalConversion: '/Signal Conversion2' */ rtDW->Merge = rtb_Gain2_f; } else { - /* SignalConversion: '/Signal Conversion2' */ + /* SignalConversion: '/Signal Conversion2' */ rtDW->Merge = (int16_T)rtb_Gain3; } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ /* End of Outputs for SubSystem: '/Voltage_Mode' */ break; case 1: if (UnitDelay3 != rtb_Sum2_h) { /* SystemReset for IfAction SubSystem: '/Speed_Mode' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_n' */ + /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_n' */ /* SystemReset for SwitchCase: '/Switch Case' */ PI_clamp_fixdt_n_Reset(&rtDW->PI_clamp_fixdt_n_o); - /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_n' */ + /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_n' */ /* End of SystemReset for SubSystem: '/Speed_Mode' */ } /* Outputs for IfAction SubSystem: '/Speed_Mode' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* Sum: '/Sum3' */ - rtb_Gain3 = rtb_Merge - rtb_Switch2_fv; + /* Sum: '/Sum3' */ + rtb_Gain3 = rtb_Merge1 - rtb_Switch2_k; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2098,13 +2210,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_n' */ + /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_n' */ rtDW->Merge = (int16_T) PI_clamp_fixdt_n((int16_T)rtb_Gain3, rtP->cf_nKp, rtP->cf_nKi, rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1], rtb_Gain2_f, (int16_T)((rtDW->Divide4 * rtP->cf_iqKiLimProt) >> 10), &rtDW->PI_clamp_fixdt_n_o); - /* End of Outputs for SubSystem: '/PI_clamp_fixdt_n' */ + /* End of Outputs for SubSystem: '/PI_clamp_fixdt_n' */ /* End of Outputs for SubSystem: '/Speed_Mode' */ break; @@ -2112,24 +2224,24 @@ void BLDC_controller_step(RT_MODEL *const rtM) case 2: if (UnitDelay3 != rtb_Sum2_h) { /* SystemReset for IfAction SubSystem: '/Torque_Mode' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_iq' */ + /* SystemReset for Atomic SubSystem: '/PI_clamp_fixdt_iq' */ /* SystemReset for SwitchCase: '/Switch Case' */ PI_clamp_fixdt_Reset(&rtDW->PI_clamp_fixdt_iq); - /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_iq' */ + /* End of SystemReset for SubSystem: '/PI_clamp_fixdt_iq' */ /* End of SystemReset for SubSystem: '/Torque_Mode' */ } /* Outputs for IfAction SubSystem: '/Torque_Mode' incorporates: - * ActionPort: '/Action Port' + * ActionPort: '/Action Port' */ - /* Sum: '/Sum2' */ - rtb_Gain3 = rtb_Merge + rtDW->Divide1; + /* Sum: '/Sum2' */ + rtb_Gain3 = rtb_Merge1 + rtDW->Divide1; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; } else { @@ -2138,13 +2250,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Switch: '/Switch2' incorporates: - * RelationalOperator: '/LowerRelop1' - * Sum: '/Sum2' + /* Switch: '/Switch2' incorporates: + * RelationalOperator: '/LowerRelop1' + * Sum: '/Sum2' */ if (!((int16_T)rtb_Gain3 > rtb_id_fieldWeak_M1)) { - /* Switch: '/Switch' incorporates: - * RelationalOperator: '/UpperRelop' + /* Switch: '/Switch' incorporates: + * RelationalOperator: '/UpperRelop' */ if ((int16_T)rtb_Gain3 < rtb_Saturation) { rtb_id_fieldWeak_M1 = rtb_Saturation; @@ -2152,12 +2264,12 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_id_fieldWeak_M1 = (int16_T)rtb_Gain3; } - /* End of Switch: '/Switch' */ + /* End of Switch: '/Switch' */ } - /* End of Switch: '/Switch2' */ + /* End of Switch: '/Switch2' */ - /* Sum: '/Sum1' */ + /* Sum: '/Sum1' */ rtb_Gain3 = rtb_id_fieldWeak_M1 - rtDW->Sum1[0]; if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; @@ -2167,126 +2279,29 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_iq' */ + /* Outputs for Atomic SubSystem: '/PI_clamp_fixdt_iq' */ - /* SignalConversion: '/Signal Conversion2' incorporates: - * Constant: '/cf_iqKi' - * Constant: '/cf_iqKp' - * Constant: '/constant' - * Interpolation_n-D: '/Vq_max_M1' - * Sum: '/Sum1' + /* SignalConversion: '/Signal Conversion2' incorporates: + * Constant: '/cf_iqKi' + * Constant: '/cf_iqKp' + * Constant: '/constant' + * Interpolation_n-D: '/Vq_max_M1' + * Sum: '/Sum1' */ PI_clamp_fixdt((int16_T)rtb_Gain3, rtP->cf_iqKp, rtP->cf_iqKi, rtP->Vq_max_M1[rtb_r_fieldWeak_XA_o1], rtb_Gain2_f, 0, &rtDW->Merge, &rtDW->PI_clamp_fixdt_iq); - /* End of Outputs for SubSystem: '/PI_clamp_fixdt_iq' */ + /* End of Outputs for SubSystem: '/PI_clamp_fixdt_iq' */ /* End of Outputs for SubSystem: '/Torque_Mode' */ break; case 3: - if (UnitDelay3 != rtb_Sum2_h) { - /* SystemReset for IfAction SubSystem: '/Open_Mode' incorporates: - * ActionPort: '/Action Port' - */ - /* SystemReset for Atomic SubSystem: '/rising_edge_init' */ - /* SystemReset for SwitchCase: '/Switch Case' incorporates: - * UnitDelay: '/UnitDelay' - * UnitDelay: '/UnitDelay' - */ - rtDW->UnitDelay_DSTATE_g = true; - - /* End of SystemReset for SubSystem: '/rising_edge_init' */ - - /* SystemReset for Atomic SubSystem: '/Rate_Limiter' */ - rtDW->UnitDelay_DSTATE = 0; - - /* End of SystemReset for SubSystem: '/Rate_Limiter' */ - /* End of SystemReset for SubSystem: '/Open_Mode' */ - } - /* Outputs for IfAction SubSystem: '/Open_Mode' incorporates: - * ActionPort: '/Action Port' - */ - /* DataTypeConversion: '/Data Type Conversion' incorporates: - * UnitDelay: '/UnitDelay4' - */ - rtb_Gain3 = rtDW->UnitDelay4_DSTATE_er << 12; - rtb_DataTypeConversion = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | - -134217728 : rtb_Gain3 & 134217727; - - /* Outputs for Atomic SubSystem: '/rising_edge_init' */ - /* 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' */ - - /* Outputs for Atomic SubSystem: '/Rate_Limiter' */ - /* Switch: '/Switch1' incorporates: - * UnitDelay: '/UnitDelay' - */ - if (rtb_RelationalOperator4_d) { - rtb_Switch1 = rtb_DataTypeConversion; - } else { - rtb_Switch1 = rtDW->UnitDelay_DSTATE; - } - - /* End of Switch: '/Switch1' */ - - /* Sum: '/Sum1' */ - rtb_Gain3 = -rtb_Switch1; - rtb_Sum1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : - rtb_Gain3 & 134217727; - - /* Switch: '/Switch2' incorporates: - * Constant: '/dV_openRate' - * RelationalOperator: '/LowerRelop1' + * ActionPort: '/Action Port' */ - if (rtb_Sum1 > rtP->dV_openRate) { - rtb_Sum1 = rtP->dV_openRate; - } else { - /* Gain: '/Gain3' */ - rtb_Gain3 = -rtP->dV_openRate; - rtb_Gain3 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : - rtb_Gain3 & 134217727; - - /* Switch: '/Switch' incorporates: - * RelationalOperator: '/UpperRelop' - */ - if (rtb_Sum1 < rtb_Gain3) { - rtb_Sum1 = rtb_Gain3; - } - - /* End of Switch: '/Switch' */ - } - - /* End of Switch: '/Switch2' */ - - /* Sum: '/Sum2' */ - rtb_Gain3 = rtb_Sum1 + rtb_Switch1; - rtb_Switch1 = (rtb_Gain3 & 134217728) != 0 ? rtb_Gain3 | -134217728 : - rtb_Gain3 & 134217727; - - /* Switch: '/Switch2' */ - if (rtb_RelationalOperator4_d) { - /* Update for UnitDelay: '/UnitDelay' */ - rtDW->UnitDelay_DSTATE = rtb_DataTypeConversion; - } else { - /* Update for UnitDelay: '/UnitDelay' */ - rtDW->UnitDelay_DSTATE = rtb_Switch1; - } - - /* End of Switch: '/Switch2' */ - /* End of Outputs for SubSystem: '/Rate_Limiter' */ - - /* DataTypeConversion: '/Data Type Conversion1' */ - rtDW->Merge = (int16_T)(rtb_Switch1 >> 12); + rtDW->Merge = rtb_Merge1; /* End of Outputs for SubSystem: '/Open_Mode' */ break; @@ -2294,11 +2309,11 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* End of SwitchCase: '/Switch Case' */ - /* Sum: '/Sum6' incorporates: - * Product: '/Divide1' - * Product: '/Divide4' + /* Sum: '/Sum6' incorporates: + * Product: '/Divide1' + * Product: '/Divide4' */ - rtb_Gain3 = (int16_T)((rtDW->Switch1 * rtb_Switch2_d) >> 14) - (int16_T) + rtb_Gain3 = (int16_T)((rtDW->Switch1 * rtb_Merge) >> 14) - (int16_T) ((rtDW->Merge * rtb_MinMax2) >> 14); if (rtb_Gain3 > 32767) { rtb_Gain3 = 32767; @@ -2308,12 +2323,12 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Sum: '/Sum1' incorporates: - * Product: '/Divide2' - * Product: '/Divide3' + /* Sum: '/Sum1' incorporates: + * Product: '/Divide2' + * Product: '/Divide3' */ rtb_DataTypeConversion = (int16_T)((rtDW->Switch1 * rtb_MinMax2) >> 14) + - (int16_T)((rtDW->Merge * rtb_Switch2_d) >> 14); + (int16_T)((rtDW->Merge * rtb_Merge) >> 14); if (rtb_DataTypeConversion > 32767) { rtb_DataTypeConversion = 32767; } else { @@ -2322,15 +2337,15 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain1' incorporates: - * Sum: '/Sum1' + /* Gain: '/Gain1' incorporates: + * Sum: '/Sum1' */ rtb_DataTypeConversion = 14189 * (int16_T)rtb_DataTypeConversion; - /* Sum: '/Sum6' incorporates: - * Gain: '/Gain1' - * Gain: '/Gain3' - * Sum: '/Sum6' + /* Sum: '/Sum6' incorporates: + * Gain: '/Gain1' + * Gain: '/Gain3' + * Sum: '/Sum6' */ rtb_DataTypeConversion = (((rtb_DataTypeConversion < 0 ? 16383 : 0) + rtb_DataTypeConversion) >> 14) - ((int16_T)(((int16_T)rtb_Gain3 < 0) + @@ -2343,9 +2358,9 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Sum: '/Sum2' incorporates: - * Sum: '/Sum6' - * Sum: '/Sum6' + /* Sum: '/Sum2' incorporates: + * Sum: '/Sum6' + * Sum: '/Sum6' */ rtb_Switch1 = -(int16_T)rtb_Gain3 - (int16_T)rtb_DataTypeConversion; if (rtb_Switch1 > 32767) { @@ -2356,24 +2371,24 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* MinMax: '/MinMax1' incorporates: - * Sum: '/Sum2' - * Sum: '/Sum6' - * Sum: '/Sum6' + /* MinMax: '/MinMax1' incorporates: + * Sum: '/Sum2' + * Sum: '/Sum6' + * Sum: '/Sum6' */ - rtb_Switch2_d = (int16_T)rtb_Gain3; + rtb_Merge = (int16_T)rtb_Gain3; if (!((int16_T)rtb_Gain3 < (int16_T)rtb_DataTypeConversion)) { - rtb_Switch2_d = (int16_T)rtb_DataTypeConversion; + rtb_Merge = (int16_T)rtb_DataTypeConversion; } - if (!(rtb_Switch2_d < (int16_T)rtb_Switch1)) { - rtb_Switch2_d = (int16_T)rtb_Switch1; + if (!(rtb_Merge < (int16_T)rtb_Switch1)) { + rtb_Merge = (int16_T)rtb_Switch1; } - /* MinMax: '/MinMax2' incorporates: - * Sum: '/Sum2' - * Sum: '/Sum6' - * Sum: '/Sum6' + /* MinMax: '/MinMax2' incorporates: + * Sum: '/Sum2' + * Sum: '/Sum6' + * Sum: '/Sum6' */ rtb_Saturation = (int16_T)rtb_Gain3; if (!((int16_T)rtb_Gain3 > (int16_T)rtb_DataTypeConversion)) { @@ -2384,11 +2399,11 @@ void BLDC_controller_step(RT_MODEL *const rtM) rtb_Saturation = (int16_T)rtb_Switch1; } - /* Sum: '/Add' incorporates: - * MinMax: '/MinMax1' - * MinMax: '/MinMax2' + /* Sum: '/Add' incorporates: + * MinMax: '/MinMax1' + * MinMax: '/MinMax2' */ - rtb_Sum1 = rtb_Switch2_d + rtb_Saturation; + rtb_Sum1 = rtb_Merge + rtb_Saturation; if (rtb_Sum1 > 32767) { rtb_Sum1 = 32767; } else { @@ -2397,13 +2412,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain2' incorporates: - * Sum: '/Add' + /* Gain: '/Gain2' incorporates: + * Sum: '/Add' */ rtb_Gain2_f = (int16_T)(rtb_Sum1 >> 1); - /* Sum: '/Add1' incorporates: - * Sum: '/Sum6' + /* Sum: '/Add1' incorporates: + * Sum: '/Sum6' */ rtb_Gain3 = (int16_T)rtb_Gain3 - rtb_Gain2_f; if (rtb_Gain3 > 32767) { @@ -2414,13 +2429,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain4' incorporates: - * Sum: '/Add1' + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' */ - rtDW->Gain4[0] = (int16_T)((18919 * rtb_Gain3) >> 18); + rtDW->Gain4[0] = (int16_T)((18919 * rtb_Gain3) >> 14); - /* Sum: '/Add1' incorporates: - * Sum: '/Sum6' + /* Sum: '/Add1' incorporates: + * Sum: '/Sum6' */ rtb_Gain3 = (int16_T)rtb_DataTypeConversion - rtb_Gain2_f; if (rtb_Gain3 > 32767) { @@ -2431,13 +2446,13 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain4' incorporates: - * Sum: '/Add1' + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' */ - rtDW->Gain4[1] = (int16_T)((18919 * rtb_Gain3) >> 18); + rtDW->Gain4[1] = (int16_T)((18919 * rtb_Gain3) >> 14); - /* Sum: '/Add1' incorporates: - * Sum: '/Sum2' + /* Sum: '/Add1' incorporates: + * Sum: '/Sum2' */ rtb_Gain3 = (int16_T)rtb_Switch1 - rtb_Gain2_f; if (rtb_Gain3 > 32767) { @@ -2448,13 +2463,10 @@ void BLDC_controller_step(RT_MODEL *const rtM) } } - /* Gain: '/Gain4' incorporates: - * Sum: '/Add1' + /* Gain: '/Gain4' incorporates: + * Sum: '/Add1' */ - rtDW->Gain4[2] = (int16_T)((18919 * rtb_Gain3) >> 18); - - /* Update for UnitDelay: '/UnitDelay4' */ - rtDW->UnitDelay4_DSTATE_er = rtDW->Merge; + rtDW->Gain4[2] = (int16_T)((18919 * rtb_Gain3) >> 14); /* End of Outputs for SubSystem: '/F04_Field_Oriented_Control' */ } @@ -2464,123 +2476,217 @@ void BLDC_controller_step(RT_MODEL *const rtM) /* Switch: '/Switch2' incorporates: * Constant: '/z_ctrlTypSel1' * Constant: '/CTRL_COMM1' - * DataTypeConversion: '/Data Type Conversion10' - * DataTypeConversion: '/Data Type Conversion8' * RelationalOperator: '/Relational Operator6' */ - if (rtP->z_ctrlTypSel == 1) { - rtb_Merge = (int16_T)(rtDW->Merge >> 4); + if (rtP->z_ctrlTypSel == 2) { + rtb_Merge = rtDW->Merge; } else { - rtb_Merge = (int16_T)(rtb_Merge >> 4); + rtb_Merge = rtb_Merge1; } /* End of Switch: '/Switch2' */ - /* Switch: '/Switch1' incorporates: - * Constant: '/vec_hallToPos' - * LookupNDDirect: '/z_commutMap_M1' - * Product: '/Divide2' - * Selector: '/Selector' + /* If: '/If' incorporates: + * Constant: '/z_ctrlTypSel1' + * Constant: '/CTRL_COMM2' + * Constant: '/CTRL_COMM3' + * Constant: '/vec_hallToPos' + * Inport: '/V_phaABC_FOC_in' + * Logic: '/Logical Operator1' + * Logic: '/Logical Operator2' + * LookupNDDirect: '/z_commutMap_M1' + * RelationalOperator: '/Relational Operator1' + * RelationalOperator: '/Relational Operator2' + * Selector: '/Selector' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ - if (rtb_LogicalOperator) { - rtb_Switch2_d = rtDW->Gain4[0]; - rtb_Saturation = rtDW->Gain4[1]; - rtb_id_fieldWeak_M1 = rtDW->Gain4[2]; + if (rtb_LogicalOperator && (rtP->z_ctrlTypSel == 2)) { + /* Outputs for IfAction SubSystem: '/F05_02_FOC_Method' incorporates: + * ActionPort: '/Action Port' + */ + rtb_Saturation = rtDW->Gain4[0]; + rtb_id_fieldWeak_M1 = rtDW->Gain4[1]; + rtb_Merge1 = rtDW->Gain4[2]; + + /* End of Outputs for SubSystem: '/F05_02_FOC_Method' */ + } else if (rtb_LogicalOperator && (rtP->z_ctrlTypSel == 1)) { + /* Outputs for IfAction SubSystem: '/F05_01_SIN_Method' incorporates: + * ActionPort: '/Action Port' + */ + /* Relay: '/n_fieldWeakAuth' */ + if (rtb_Abs5 >= rtP->n_fieldWeakAuthHi) { + rtDW->n_fieldWeakAuth_Mode_m = true; + } else { + if (rtb_Abs5 <= rtP->n_fieldWeakAuthLo) { + rtDW->n_fieldWeakAuth_Mode_m = false; + } + } + + /* Switch: '/Switch_PhaAdv' incorporates: + * Constant: '/b_fieldWeakEna' + * Logic: '/Logical Operator1' + * Product: '/Divide2' + * Product: '/Divide3' + * Relay: '/n_fieldWeakAuth' + * Sum: '/Sum3' + */ + if (rtP->b_fieldWeakEna && rtDW->n_fieldWeakAuth_Mode_m) { + /* Abs: '/Abs5' */ + if (rtb_Merge1 < 0) { + rtb_id_fieldWeak_M1 = (int16_T)-rtb_Merge1; + } else { + rtb_id_fieldWeak_M1 = rtb_Merge1; + } + + /* End of Abs: '/Abs5' */ + + /* PreLookup: '/r_phaAdv_XA' */ + rtb_Sum = plook_u8s16u8n7_evenc_s(rtb_id_fieldWeak_M1, rtP->r_phaAdv_XA[0], + (uint16_T)(rtP->r_phaAdv_XA[1] - rtP->r_phaAdv_XA[0]), 10U, + &rtb_r_fieldWeak_XA_o1); + + /* Interpolation_n-D: '/a_phaAdv_M1' */ + rtb_MinMax2 = intrp1d_s16s32s32u8u8n7l_s(rtb_Sum, rtb_r_fieldWeak_XA_o1, + rtP->a_phaAdv_M1); + + /* Sum: '/Sum3' incorporates: + * Product: '/Product2' + */ + rtb_MinMax2 = (int16_T)(((int16_T)(rtb_MinMax2 * rtDW->Switch2) >> 2) + + rtb_Switch2_fl); + rtb_MinMax2 -= (int16_T)(23040 * (int16_T)div_nde_s32_floor(rtb_MinMax2, + 23040)); + } else { + rtb_MinMax2 = rtb_Switch2_fl; + } + + /* End of Switch: '/Switch_PhaAdv' */ + + /* PreLookup: '/a_elecAngle_XA' */ + rtb_Sum = plook_u8s16_evencka(rtb_MinMax2, 0, 128U, 180U); + + /* Product: '/Divide2' incorporates: + * Interpolation_n-D: '/r_sin3PhaA_M1' + * Interpolation_n-D: '/r_sin3PhaB_M1' + * Interpolation_n-D: '/r_sin3PhaC_M1' + */ + rtb_Saturation = (int16_T)((rtb_Merge1 * + rtConstP.r_sin3PhaA_M1_Table[rtb_Sum]) >> 14); + rtb_id_fieldWeak_M1 = (int16_T)((rtb_Merge1 * + rtConstP.r_sin3PhaB_M1_Table[rtb_Sum]) >> 14); + rtb_Merge1 = (int16_T)((rtb_Merge1 * rtConstP.r_sin3PhaC_M1_Table[rtb_Sum]) >> + 14); + + /* End of Outputs for SubSystem: '/F05_01_SIN_Method' */ } else { + /* Outputs for IfAction SubSystem: '/F05_00_COM_Method' incorporates: + * ActionPort: '/Action Port' + */ if (rtConstP.vec_hallToPos_Value[rtb_Sum] > 5) { - /* LookupNDDirect: '/z_commutMap_M1' + /* LookupNDDirect: '/z_commutMap_M1' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2_h = 5; } else if (rtConstP.vec_hallToPos_Value[rtb_Sum] < 0) { - /* LookupNDDirect: '/z_commutMap_M1' + /* LookupNDDirect: '/z_commutMap_M1' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2_h = 0; } else { - /* LookupNDDirect: '/z_commutMap_M1' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + /* LookupNDDirect: '/z_commutMap_M1' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_Sum2_h = rtConstP.vec_hallToPos_Value[rtb_Sum]; } - /* LookupNDDirect: '/z_commutMap_M1' incorporates: - * Constant: '/vec_hallToPos' - * Selector: '/Selector' + /* LookupNDDirect: '/z_commutMap_M1' incorporates: + * Constant: '/vec_hallToPos' + * Selector: '/Selector' * - * About '/z_commutMap_M1': + * About '/z_commutMap_M1': * 2-dimensional Direct Look-Up returning a Column */ rtb_DataTypeConversion = rtb_Sum2_h * 3; - rtb_Switch2_d = (int16_T)(rtb_Merge * + + /* Product: '/Divide2' incorporates: + * LookupNDDirect: '/z_commutMap_M1' + * + * About '/z_commutMap_M1': + * 2-dimensional Direct Look-Up returning a Column + */ + rtb_Saturation = (int16_T)(rtb_Merge * rtConstP.z_commutMap_M1_table[rtb_DataTypeConversion]); - rtb_Saturation = (int16_T)(rtConstP.z_commutMap_M1_table[1 + + rtb_id_fieldWeak_M1 = (int16_T)(rtConstP.z_commutMap_M1_table[1 + rtb_DataTypeConversion] * rtb_Merge); - rtb_id_fieldWeak_M1 = (int16_T)(rtConstP.z_commutMap_M1_table[2 + + rtb_Merge1 = (int16_T)(rtConstP.z_commutMap_M1_table[2 + rtb_DataTypeConversion] * rtb_Merge); + + /* End of Outputs for SubSystem: '/F05_00_COM_Method' */ } - /* End of Switch: '/Switch1' */ + /* End of If: '/If' */ + + /* Outport: '/DC_phaA' incorporates: + * DataTypeConversion: '/Data Type Conversion6' + */ + rtY->DC_phaA = (int16_T)(rtb_Saturation >> 4); - /* Update for UnitDelay: '/UnitDelay3' incorporates: + /* Outport: '/DC_phaB' incorporates: + * DataTypeConversion: '/Data Type Conversion6' + */ + rtY->DC_phaB = (int16_T)(rtb_id_fieldWeak_M1 >> 4); + + /* Update for UnitDelay: '/UnitDelay3' incorporates: * Inport: '/b_hallA ' */ rtDW->UnitDelay3_DSTATE_fy = rtU->b_hallA; - /* Update for UnitDelay: '/UnitDelay1' incorporates: + /* Update for UnitDelay: '/UnitDelay1' incorporates: * Inport: '/b_hallB' */ rtDW->UnitDelay1_DSTATE = rtU->b_hallB; - /* Update for UnitDelay: '/UnitDelay2' incorporates: + /* Update for UnitDelay: '/UnitDelay2' incorporates: * Inport: '/b_hallC' */ rtDW->UnitDelay2_DSTATE_f = rtU->b_hallC; - /* Update for UnitDelay: '/UnitDelay3' */ + /* Update for UnitDelay: '/UnitDelay3' */ rtDW->UnitDelay3_DSTATE = rtb_Switch1_l; - /* Update for UnitDelay: '/UnitDelay4' */ + /* Update for UnitDelay: '/UnitDelay4' */ rtDW->UnitDelay4_DSTATE_e = rtb_Abs5; /* Update for UnitDelay: '/UnitDelay4' */ - rtDW->UnitDelay4_DSTATE = rtb_Merge; + rtDW->UnitDelay4_DSTATE_eu = rtb_Merge; /* Update for UnitDelay: '/UnitDelay1' */ rtDW->UnitDelay1_DSTATE_p = rtb_Sum_l; - /* End of Outputs for SubSystem: '/BLDC_controller' */ - - /* Outport: '/DC_phaA' */ - rtY->DC_phaA = rtb_Switch2_d; - - /* Outport: '/DC_phaB' */ - rtY->DC_phaB = rtb_Saturation; - - /* Outport: '/DC_phaC' */ - rtY->DC_phaC = rtb_id_fieldWeak_M1; + /* Outport: '/DC_phaC' incorporates: + * DataTypeConversion: '/Data Type Conversion6' + */ + rtY->DC_phaC = (int16_T)(rtb_Merge1 >> 4); - /* Outputs for Atomic SubSystem: '/BLDC_controller' */ /* Outport: '/n_mot' incorporates: * DataTypeConversion: '/Data Type Conversion1' */ - rtY->n_mot = (int16_T)(rtb_Switch2_fv >> 4); + rtY->n_mot = (int16_T)(rtb_Switch2_k >> 4); /* Outport: '/a_elecAngle' incorporates: * DataTypeConversion: '/Data Type Conversion7' */ - rtY->a_elecAngle = (int16_T)((uint32_T)rtb_Divide2_h >> 6); + rtY->a_elecAngle = (int16_T)(rtb_Switch2_fl >> 6); /* Outport: '/r_devSignal1' incorporates: * DataTypeConversion: '/Data Type Conversion4' @@ -2605,6 +2711,9 @@ void BLDC_controller_initialize(RT_MODEL *const rtM) /* Start for If: '/If2' */ rtDW->If2_ActiveSubsystem = -1; + /* Start for If: '/If2' */ + rtDW->If2_ActiveSubsystem_j = -1; + /* Start for If: '/If1' */ rtDW->If1_ActiveSubsystem = -1; @@ -2615,10 +2724,10 @@ void BLDC_controller_initialize(RT_MODEL *const rtM) /* Start for If: '/If1' */ rtDW->If1_ActiveSubsystem_e = -1; - /* Start for If: '/If1' */ + /* Start for If: '/If1' */ rtDW->If1_ActiveSubsystem_f = -1; - /* Start for If: '/If2' */ + /* Start for If: '/If2' */ rtDW->If2_ActiveSubsystem_c = -1; /* Start for SwitchCase: '/Switch Case' */ @@ -2628,19 +2737,19 @@ void BLDC_controller_initialize(RT_MODEL *const rtM) /* End of Start for SubSystem: '/BLDC_controller' */ /* SystemInitialize for Atomic SubSystem: '/BLDC_controller' */ - /* InitializeConditions for UnitDelay: '/UnitDelay3' */ + /* InitializeConditions for UnitDelay: '/UnitDelay3' */ rtDW->UnitDelay3_DSTATE = rtP->z_maxCntRst; - /* SystemInitialize for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' */ - /* SystemInitialize for Outport: '/z_counter' */ + /* SystemInitialize for IfAction SubSystem: '/Raw_Motor_Speed_Estimation' */ + /* SystemInitialize for Outport: '/z_counter' */ rtDW->z_counterRawPrev = rtP->z_maxCntRst; - /* End of SystemInitialize for SubSystem: '/Raw_Motor_Speed_Estimation' */ + /* End of SystemInitialize for SubSystem: '/Raw_Motor_Speed_Estimation' */ - /* SystemInitialize for Atomic SubSystem: '/Counter' */ + /* SystemInitialize for Atomic SubSystem: '/Counter' */ Counter_Init(&rtDW->Counter_e, rtP->z_maxCntRst); - /* End of SystemInitialize for SubSystem: '/Counter' */ + /* End of SystemInitialize for SubSystem: '/Counter' */ /* SystemInitialize for IfAction SubSystem: '/F02_Diagnostics' */ @@ -2651,15 +2760,13 @@ 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' */ - /* InitializeConditions for UnitDelay: '/UnitDelay' */ - rtDW->UnitDelay_DSTATE_g = true; + /* SystemInitialize for IfAction SubSystem: '/Open_Mode' */ + /* SystemInitialize for Atomic SubSystem: '/rising_edge_init' */ + /* InitializeConditions for UnitDelay: '/UnitDelay' */ + rtDW->UnitDelay_DSTATE_e = 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: '/rising_edge_init' */ + /* End of SystemInitialize for SubSystem: '/Open_Mode' */ /* End of SystemInitialize for SubSystem: '/BLDC_controller' */ } diff --git a/Src/BLDC_controller_data.c b/Src/BLDC_controller_data.c index 7c7dd15..16b45f7 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.1199 + * Model version : 1.1212 * Simulink Coder version : 8.13 (R2017b) 24-Jul-2017 - * C/C++ source code generated on : Sun Nov 3 12:28:16 2019 + * C/C++ source code generated on : Sat Nov 30 08:54:28 2019 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex @@ -21,13 +21,74 @@ /* Constant parameters (auto storage) */ const ConstP rtConstP = { - /* Computed Parameter: z_commutMap_M1_table - * Referenced by: '/z_commutMap_M1' - */ - { -1, 1, 0, -1, 0, 1, 0, -1, 1, 1, -1, 0, 1, 0, -1, 0, 1, -1 }, + /* Computed Parameter: r_sin3PhaA_M1_Table + * Referenced by: '/r_sin3PhaA_M1' + */ + { -13091, -13634, -14126, -14565, -14953, -15289, -15577, -15816, -16009, + -16159, -16269, -16340, -16377, -16383, -16362, -16317, -16253, -16172, + -16079, -15977, -15870, -15762, -15656, -15555, -15461, -15377, -15306, + -15248, -15206, -15180, -15172, -15180, -15206, -15248, -15306, -15377, + -15461, -15555, -15656, -15762, -15870, -15977, -16079, -16172, -16253, + -16317, -16362, -16383, -16377, -16340, -16269, -16159, -16009, -15816, + -15577, -15289, -14953, -14565, -14126, -13634, -13091, -12496, -11849, + -11154, -10411, -9623, -8791, -7921, -7014, -6075, -5107, -4115, -3104, + -2077, -1041, 0, 1041, 2077, 3104, 4115, 5107, 6075, 7014, 7921, 8791, 9623, + 10411, 11154, 11849, 12496, 13091, 13634, 14126, 14565, 14953, 15289, 15577, + 15816, 16009, 16159, 16269, 16340, 16377, 16383, 16362, 16317, 16253, 16172, + 16079, 15977, 15870, 15762, 15656, 15555, 15461, 15377, 15306, 15248, 15206, + 15180, 15172, 15180, 15206, 15248, 15306, 15377, 15461, 15555, 15656, 15762, + 15870, 15977, 16079, 16172, 16253, 16317, 16362, 16383, 16377, 16340, 16269, + 16159, 16009, 15816, 15577, 15289, 14953, 14565, 14126, 13634, 13091, 12496, + 11849, 11154, 10411, 9623, 8791, 7921, 7014, 6075, 5107, 4115, 3104, 2077, + 1041, 0, -1041, -2077, -3104, -4115, -5107, -6075, -7014, -7921, -8791, + -9623, -10411, -11154, -11849, -12496, -13091 }, + + /* Computed Parameter: r_sin3PhaB_M1_Table + * Referenced by: '/r_sin3PhaB_M1' + */ + { 15172, 15180, 15206, 15248, 15306, 15377, 15461, 15555, 15656, 15762, 15870, + 15977, 16079, 16172, 16253, 16317, 16362, 16383, 16377, 16340, 16269, 16159, + 16009, 15816, 15577, 15289, 14953, 14565, 14126, 13634, 13091, 12496, 11849, + 11154, 10411, 9623, 8791, 7921, 7014, 6075, 5107, 4115, 3104, 2077, 1041, 0, + -1041, -2077, -3104, -4115, -5107, -6075, -7014, -7921, -8791, -9623, -10411, + -11154, -11849, -12496, -13091, -13634, -14126, -14565, -14953, -15289, + -15577, -15816, -16009, -16159, -16269, -16340, -16377, -16383, -16362, + -16317, -16253, -16172, -16079, -15977, -15870, -15762, -15656, -15555, + -15461, -15377, -15306, -15248, -15206, -15180, -15172, -15180, -15206, + -15248, -15306, -15377, -15461, -15555, -15656, -15762, -15870, -15977, + -16079, -16172, -16253, -16317, -16362, -16383, -16377, -16340, -16269, + -16159, -16009, -15816, -15577, -15289, -14953, -14565, -14126, -13634, + -13091, -12496, -11849, -11154, -10411, -9623, -8791, -7921, -7014, -6075, + -5107, -4115, -3104, -2077, -1041, 0, 1041, 2077, 3104, 4115, 5107, 6075, + 7014, 7921, 8791, 9623, 10411, 11154, 11849, 12496, 13091, 13634, 14126, + 14565, 14953, 15289, 15577, 15816, 16009, 16159, 16269, 16340, 16377, 16383, + 16362, 16317, 16253, 16172, 16079, 15977, 15870, 15762, 15656, 15555, 15461, + 15377, 15306, 15248, 15206, 15180, 15172 }, + + /* Computed Parameter: r_sin3PhaC_M1_Table + * Referenced by: '/r_sin3PhaC_M1' + */ + { -13091, -12496, -11849, -11154, -10411, -9623, -8791, -7921, -7014, -6075, + -5107, -4115, -3104, -2077, -1041, 0, 1041, 2077, 3104, 4115, 5107, 6075, + 7014, 7921, 8791, 9623, 10411, 11154, 11849, 12496, 13091, 13634, 14126, + 14565, 14953, 15289, 15577, 15816, 16009, 16159, 16269, 16340, 16377, 16383, + 16362, 16317, 16253, 16172, 16079, 15977, 15870, 15762, 15656, 15555, 15461, + 15377, 15306, 15248, 15206, 15180, 15172, 15180, 15206, 15248, 15306, 15377, + 15461, 15555, 15656, 15762, 15870, 15977, 16079, 16172, 16253, 16317, 16362, + 16383, 16377, 16340, 16269, 16159, 16009, 15816, 15577, 15289, 14953, 14565, + 14126, 13634, 13091, 12496, 11849, 11154, 10411, 9623, 8791, 7921, 7014, + 6075, 5107, 4115, 3104, 2077, 1041, 0, -1041, -2077, -3104, -4115, -5107, + -6075, -7014, -7921, -8791, -9623, -10411, -11154, -11849, -12496, -13091, + -13634, -14126, -14565, -14953, -15289, -15577, -15816, -16009, -16159, + -16269, -16340, -16377, -16383, -16362, -16317, -16253, -16172, -16079, + -15977, -15870, -15762, -15656, -15555, -15461, -15377, -15306, -15248, + -15206, -15180, -15172, -15180, -15206, -15248, -15306, -15377, -15461, + -15555, -15656, -15762, -15870, -15977, -16079, -16172, -16253, -16317, + -16362, -16383, -16377, -16340, -16269, -16159, -16009, -15816, -15577, + -15289, -14953, -14565, -14126, -13634, -13091 }, /* Computed Parameter: r_sin_M1_Table - * Referenced by: '/r_sin_M1' + * Referenced by: '/r_sin_M1' */ { 8192, 8682, 9162, 9630, 10087, 10531, 10963, 11381, 11786, 12176, 12551, 12911, 13255, 13583, 13894, 14189, 14466, 14726, 14968, 15191, 15396, 15582, @@ -48,7 +109,7 @@ const ConstP rtConstP = { 2280, 2845, 3406, 3964, 4516, 5063, 5604, 6138, 6664, 7182, 7692, 8192 }, /* Computed Parameter: r_cos_M1_Table - * Referenced by: '/r_cos_M1' + * Referenced by: '/r_cos_M1' */ { 14189, 13894, 13583, 13255, 12911, 12551, 12176, 11786, 11381, 10963, 10531, 10087, 9630, 9162, 8682, 8192, 7692, 7182, 6664, 6138, 5604, 5063, 4516, @@ -69,7 +130,7 @@ const ConstP rtConstP = { 16026, 15897, 15749, 15582, 15396, 15191, 14968, 14726, 14466, 14189 }, /* Computed Parameter: iq_maxSca_M1_Table - * Referenced by: '/iq_maxSca_M1' + * Referenced by: '/iq_maxSca_M1' */ { 65535U, 65523U, 65484U, 65418U, 65326U, 65207U, 65062U, 64890U, 64691U, 64465U, 64211U, 63930U, 63620U, 63281U, 62913U, 62516U, 62088U, 61630U, @@ -78,45 +139,45 @@ const ConstP rtConstP = { 45470U, 44069U, 42581U, 40997U, 39307U, 37494U, 35541U, 33422U, 31105U, 28540U, 25655U, 22323U, 18304U, 12974U }, + /* Computed Parameter: z_commutMap_M1_table + * Referenced by: '/z_commutMap_M1' + */ + { -1, 1, 0, -1, 0, 1, 0, -1, 1, 1, -1, 0, 1, 0, -1, 0, 1, -1 }, + /* Computed Parameter: vec_hallToPos_Value - * Referenced by: '/vec_hallToPos' + * Referenced by: '/vec_hallToPos' */ { 0, 2, 0, 1, 4, 3, 5, 0 } }; P rtP_Left = { /* Variable: dV_openRate - * Referenced by: '/dV_openRate' + * Referenced by: '/dV_openRate' */ 4096, /* Variable: dz_cntTrnsDetHi - * Referenced by: '/dz_cntTrnsDet' + * Referenced by: '/dz_cntTrnsDet' */ 40, /* Variable: dz_cntTrnsDetLo - * Referenced by: '/dz_cntTrnsDet' + * Referenced by: '/dz_cntTrnsDet' */ 20, - /* Variable: r_errInpTgtThres - * Referenced by: '/r_errInpTgtThres' - */ - 200, - /* Variable: z_maxCntRst * Referenced by: - * '/Counter' - * '/z_maxCntRst' - * '/z_maxCntRst2' - * '/UnitDelay3' - * '/z_counter' + * '/Counter' + * '/z_maxCntRst' + * '/z_maxCntRst2' + * '/UnitDelay3' + * '/z_counter' */ 2000, /* Variable: cf_speedCoef - * Referenced by: '/cf_speedCoef' + * Referenced by: '/cf_speedCoef' */ 10667U, @@ -130,30 +191,15 @@ P rtP_Left = { */ 9600U, - /* Variable: cf_idKp - * Referenced by: '/cf_idKp1' - */ - 819U, - - /* Variable: cf_iqKp - * Referenced by: '/cf_iqKp' - */ - 2048U, - - /* Variable: cf_nKp - * Referenced by: '/cf_nKp' - */ - 4833U, - /* Variable: Vd_max * Referenced by: - * '/Vd_max1' - * '/Vd_max' + * '/Vd_max1' + * '/Vd_max' */ 14400, /* Variable: Vq_max_M1 - * Referenced by: '/Vq_max_M1' + * Referenced by: '/Vq_max_M1' */ { 14400, 14396, 14386, 14368, 14343, 14311, 14271, 14225, 14171, 14109, 14040, 13963, 13879, 13786, 13685, 13576, 13459, 13333, 13198, 13053, 12900, 12736, @@ -161,7 +207,7 @@ P rtP_Left = { 9790, 9433, 9051, 8640, 8196, 7713, 7184, 6597, 5935, 5170, 4245, 3019, 0 }, /* Variable: Vq_max_XA - * Referenced by: '/Vq_max_XA' + * Referenced by: '/Vq_max_XA' */ { 0, 320, 640, 960, 1280, 1600, 1920, 2240, 2560, 2880, 3200, 3520, 3840, 4160, 4480, 4800, 5120, 5440, 5760, 6080, 6400, 6720, 7040, 7360, 7680, 8000, 8320, @@ -170,93 +216,127 @@ P rtP_Left = { /* Variable: i_max * Referenced by: - * '/i_max' - * '/i_max' + * '/i_max' + * '/i_max' */ 12000, /* Variable: id_fieldWeak_M1 - * Referenced by: '/id_fieldWeak_M1' + * Referenced by: '/id_fieldWeak_M1' */ { 0, 80, 240, 560, 1040, 1680, 2400, 3040, 3520, 3840, 4000, 4000 }, /* Variable: n_commAcvLo - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ 240, /* Variable: n_commDeacvHi - * Referenced by: '/n_commDeacv' + * Referenced by: '/n_commDeacv' */ 480, /* Variable: n_fieldWeakAuthHi - * Referenced by: '/n_fieldWeakAuth' + * Referenced by: + * '/n_fieldWeakAuth' + * '/n_fieldWeakAuth' */ 3200, /* Variable: n_fieldWeakAuthLo - * Referenced by: '/n_fieldWeakAuth' + * Referenced by: + * '/n_fieldWeakAuth' + * '/n_fieldWeakAuth' */ 2240, /* Variable: n_max * Referenced by: - * '/n_max1' - * '/n_max' + * '/n_max1' + * '/n_max' */ 12800, /* Variable: n_stdStillDet - * Referenced by: '/n_stdStillDet' + * Referenced by: '/n_stdStillDet' */ 48, + /* Variable: r_errInpTgtThres + * Referenced by: '/r_errInpTgtThres' + */ + 6400, + /* Variable: r_fieldWeak_XA - * Referenced by: '/r_fieldWeak_XA' + * Referenced by: '/r_fieldWeak_XA' */ { 9120, 9600, 10080, 10560, 11040, 11520, 12000, 12480, 12960, 13440, 13920, 14400 }, + /* Variable: r_phaAdv_XA + * Referenced by: '/r_phaAdv_XA' + */ + { 0, 1600, 3200, 4800, 6400, 8000, 9600, 11200, 12800, 14400, 16000 }, + + /* Variable: cf_idKp + * Referenced by: '/cf_idKp1' + */ + 819U, + + /* Variable: cf_iqKp + * Referenced by: '/cf_iqKp' + */ + 2048U, + + /* Variable: cf_nKp + * Referenced by: '/cf_nKp' + */ + 4833U, + /* Variable: cf_currFilt - * Referenced by: '/cf_currFilt' + * Referenced by: '/cf_currFilt' */ 7864U, /* Variable: cf_idKi - * Referenced by: '/cf_idKi1' + * Referenced by: '/cf_idKi1' */ 246U, /* Variable: cf_iqKi - * Referenced by: '/cf_iqKi' + * Referenced by: '/cf_iqKi' */ 410U, /* Variable: cf_iqKiLimProt - * Referenced by: '/cf_iqKiLimProt' + * Referenced by: '/cf_iqKiLimProt' */ 167U, /* Variable: cf_nKi - * Referenced by: '/cf_nKi' + * Referenced by: '/cf_nKi' */ 84U, /* Variable: cf_iqKpLimProt - * Referenced by: '/cf_iqKpLimProt' + * Referenced by: '/cf_iqKpLimProt' */ 1843U, /* Variable: cf_nKpLimProt - * Referenced by: '/cf_nKpLimProt' + * Referenced by: '/cf_nKpLimProt' */ 1280U, + /* Variable: a_phaAdv_M1 + * Referenced by: '/a_phaAdv_M1' + */ + { 0, 0, 0, 0, 0, 512, 768, 1280, 2304, 4096, 6400 }, + /* Variable: z_ctrlTypSel * Referenced by: '/z_ctrlTypSel1' */ - 1U, + 2U, /* Variable: b_diagEna * Referenced by: '/b_diagEna' @@ -264,12 +344,14 @@ P rtP_Left = { 1, /* Variable: b_fieldWeakEna - * Referenced by: '/b_fieldWeakEna' + * Referenced by: + * '/b_fieldWeakEna' + * '/b_fieldWeakEna' */ 0, /* Variable: b_selPhaABCurrMeas - * Referenced by: '/b_selPhaABCurrMeas' + * Referenced by: '/b_selPhaABCurrMeas' */ 1 }; /* Modifiable parameters */ diff --git a/Src/main.c b/Src/main.c index d50a2e8..8c3b85a 100644 --- a/Src/main.c +++ b/Src/main.c @@ -74,7 +74,7 @@ typedef struct{ uint16_t checksum; } Serialcommand; static volatile Serialcommand command; -static int16_t timeoutCnt = 0 // Timeout counter for Rx Serial command +static int16_t timeoutCnt = 0; // Timeout counter for Rx Serial command #endif static uint8_t timeoutFlag = 0; // Timeout Flag for Rx Serial command: 0 = OK, 1 = Problem detected (line disconnected or wrong Rx data) @@ -99,7 +99,8 @@ static uint8_t serialSendCounter; // serial send counter static uint8_t button1, button2; #endif -uint8_t ctrlModReq = CTRL_MOD_REQ; +uint8_t ctrlModReqRaw = CTRL_MOD_REQ; +uint8_t ctrlModReq; // Final control mode request static int cmd1; // normalized input value. -1000 to 1000 static int cmd2; // normalized input value. -1000 to 1000 static int16_t steer; // local variable for steering. -1000 to 1000 @@ -349,7 +350,7 @@ int main(void) { cmd1 = 0; cmd2 = 0; } else { - ctrlModReq = CTRL_MOD_REQ; // Follow the Mode request + ctrlModReq = ctrlModReqRaw; // Follow the Mode request } timeout = 0; diff --git a/build/firmware.bin b/build/firmware.bin index 7593664cabf93dda16b6021c245d596eeda76e0b..58f8369d138118a5f80580d8b478c98b17a0db78 100644 GIT binary patch delta 8318 zcmcgxdstIfw%_~YBm{^Mz$${(lSBmpZ9qlpi*N!*ASkW1t&esZ#9HtfA8l=?a}x?9 zV%w2&XsbydR%u6TX(ft|tV^IRrU(ohWVZyh4wg* zOIrI6(zDV3YwoIlc=11KX|dtRlG;`;l88oXBn=ju5RhJ6D#N{}pZs zba!hlw>lS$vgtfdo#keyab%hhqfZmmC_ZkX5p}hxk<&8!>&V8gW@~l8>kDbdff$TZ zW8GMjM=yv4Lz+Nm;||$M!fNN`l$|Hd$4VYX@)A3*K)7oYX7}N2Is3IUl#Lk)t8{2$ zth=1UGL(3?t>u41)$(RFN*e4xMTNdQ*t=`#rQGebKD+FujHnhiKa<~F%Rj2G73O<< zaf_WenP`?zGH~x$ZCKYNFsOo`uW#aW^<~bl;~dV>PV~Tj_hPz&f7HC+J=*CKNWHo8 zAdP&LFu#IdB`LDh@~f(!$*JIv;jpmFiKlf!kth5+2h3 z)>y~qqB=fXU&rUS*6{_NI({x#wU*jQZ=%d4DAkw}{l)>{^x@UzwB=%xkPQkH?CJ}P z>3Ao}l6IHSp=armOVSpW>uV(v=2Iwn85ny8<}PUocQgsp)UVLH-Qf&Qig!NM;*ha$ z1CJQvowBY?=~&13wkpQm?07ES`R6Xhun;RdDN4y65-9x}yh)>CoqaF+YK6zti$fRF z+i92ZpSBAAF}WVsDf9TYu((UQQ>CZXe4u0N-1wHLp=WE9asaI?HrFskwHkD0nAar%mOS_8P z*C1zW`KMt7aSO|cWR+W%fD_)}^HaYN2s4pfcvCUVz&&1uwDr7!O0sVG?DmUK)$=sv z;(w&-`D|!ULd#ILZbR8H7&G`X%hH{89#heKa2HMdPLn1mQ|95CfVaEG`IwRMMW#=a zf>c{8Jg%kimrp*8sWY>|DN`7ea9eT6r};|~VMe75-DST~Hl64*W}7J^o^rq&7z zs0x08dJ8?KIqqPsu#gHn(7s7qDZ+Uc!Fd)^p$F=C8n{JNt*{tI>%eg$oNqDopP+~X z?UjYS;<`Hi2{`Yu8!GM2N^K@QecP-U$xySFnYiV3j2 zvZ1f6JFI$MDEJG_qpNAjPh>NKyY-i~ZlWsDc*Ko;xu*?1VBl_+LGlg z%+Bphap#uY-Cg0ba(Xr^3!iE&=~UV+olV-+kYAzg6LcZ%aG`6p?MRc*Uc@}y4!{=i zG<*^fYXR<_Y+c>bB+OD@;hWl0v)6(j*GfL$m<6uPVnUroIkHQ6AkAZ5WtxO^NGNU8 z$6bV~2V_0c%>U?tnLP~YRYkb?B+Y3nuWBW|Ga^p&%2vtL=^H2_vhP(+^fv|`Z^zo# z!MjgV`WA(q^bU>q5LCJNF;OmlqDETLBp7TiKBZ0Ni&RAflml~pTPOakA+|rd6+x^% zNx?jzS?aXxux!E?NkltY8eiB|Ij-GWP49QBnH`mycBIulx1{J~C(>v(w3%P+41u6n z-Hel0wm>LT3=1tjEFI%p&9d(BG3W!E?hdz!M;PSHOqfVvFG(}iMob{Tc?PL!;@eAIU$rZJg1 zchMP@s~2L_sLMzI$(+J+O`~uoZLM*galJ9iw>6daZB3Jce17}jweJBy{h(9jxB!=X zrL#$Qxf9t$QG!X^VNpcoqG+XaLme)sESnWJPu1PLx?Y~V+b!40z(8zvweZ~VYT@~W zYGLElQsZ*t3S+1<+8OU0(~gpIni0h461{HSE{o1m3*6$6%-iwx0C;+rz(HmD5{hWN z(@wj4BkD=VwwyDNg;;md8ESW+kffn*G>#aDtVv2Yo-`>th7%Q}mymr_b)yRKltQc$ zl9==^lZpO625R|bdhJG?g{8yYk}0`EZhv>J(#@`wI~*@a+ko7J%gF4x{4vb6pa-ly z=RTHj8zp7-{1s$HdOJ-tkCw1Hp_VU}(5L6CkFj=a1z$`N5F|?}l<>D}l546Ok#=W! zdwG~WJRswUfU^568yT6IH7=^2pQR_g=>+K=DT~}K`akUpaR5+Kc=}>ECxE0LaZP0? z$-wO{3vmE&f)^0Cuk0%?f+~NK-5MEZh4@X>xOghc6Xz1t`qRA1LwacyM6(CtA6n9L z6siOAMIy+9{?j}>W+5^{`kDk9c74~WE@8FWC0MBK;9Rl3%DFgh9=u#?oQ;8QUrKUj zufP7H6VOX9hihyUqV)?Xc!#`uEj;le3nQK;r$b2<+nZ zZK2MH0QPEpks6q+#t*oJAJtG_Y?(c8*MIJnMFh*$tUm()J<&=w@4u&ZmQ6Ac1=#R9 zO>td~8I*|VV@!{_OGneM|%00@1P zFhdOvroy&`2MAxT@d`h*&EVUrm(nRdZha0Q*Gv1|>zS}^I1nD7jV9mL=~B9}*~Q?o zV#Wvf=3}nrEMkn^tJdyzFJbbf%JbU=l6S&KIN5AjSIauuHuG*@$<|TyqP-0r+}=;QU{NlL%bT~4^ibdg(E&n zR;F@T9Z|+IxE_6cR5`R6&>k&|*>~tVw>88eZJ_cKDcQ&9bxY=VND^z$!=JnaoUKEu z{zpr2$u9meY8Sr%Xc5p8RD+;|mZ26^#{C{?FWBrhtSyIEk@P)-&`r4EFVy5~@*XjV zZPpYx*}q3w?>{GfeNiE*2HMR)TYz2#`U6lkTNRyvH?R%S0c>aMW8TA$vU7%hP7e5a zkyYMju^xj-n}8~SP60IoeFyXnP%Y3IAT${pPzp922L6cDS7L()+P?vvmHH}dAVU$g zLjmja;hUlw8!D8DYK5^g(C-OB)Jfn^0DTX131|b1Bdt0_6P1g(RU$iZ-(2f8kaMo# zdBY3CHaGBuXY=M$n}<}*t$L;EtE$R<2=Fu1ImS7`neIG&gG_~TMM9$cqM=7T7M_>E zAWkWUnHH7gABZc_a+ruSFEC#*$Cc1QK4c$v2wu8iqerq2`x=P|LxxLPAZLn879Y?p zD$&80C7pS|f2-eY{=uv(F$Vh?hwe^9W5P_~xg#y%rtmo#xnpVddvyz+TnYxU(Ko9hq+~adrM`M zw9maodrOZO$bgfxatG$h`jK`G7mlJB%)J)m!-9NekPi*=cju5n{pH$bumkZMT zR>3adcLA?6zmfl@>4^C%w9K0(+FTqIylmcOp2~>+DTel9d@7nuY=#x@G_2rf= z*|PGUd<*UAHnQFk@wkZ{5;xkqIQI%)`#MkqVcyOo>T7r&e|I2t(vsxi=TcLbj30V# zzG*2HXHn>I&2%`%DuL9Upd_wDz&dQ7lRM2)1y)3V^nl6qg@Di%zTo{hI3Twcv!eg= zfqBe9kV<{gzi$9LuJHPXMvyFGvU;~$qfnISUotQ&xHL`@fkaxkAUIX|zBHBmNEY=G z7y(7IghO)MHPGKYi++b(Y^LFXJ2)Ktu+)JfZN)R#W+rpj1abt!eqM|9|=F{bzu zGFg5u!IY2}XFdTXJlsrexsNe)Z`BO(MiWp;MZa!9lOMAYPrB$FnvA;Nv&C5QC3IF3 zhRGx(3?z+&GOvassvnT04v=LGv_pYNK#p1<32`Kpk&r|}7zqL;BwAlhp?be4KE{jU zL)S;6bHGbTCMD#%kdUjbpsWN)f+q=zmIA*3C>a(=+4=jj(P>HM%Samsn3Zm_)7IX~PelL3 zI}#YY-GOxW4&c@u>pfuhv4g#=s($Cv;|Y4;Me2*piND{uOc4cBGfYA z4)(uaMFvMd>(A;wg-4nSZzjh}+mlSnV3Y+Mc&mR!XGDJV#^?jmXIz6yJI#W%)t%EUf9Q-W!D(*; z21?fmDe zc>hz@q&|aA!(=cD&_AZn_7gvfS_6LLt`ANFFSiRa z*hHc<5w>)3aHJY@X9Z<&M8P5$`36Q{R#5c`0o#L{09{80<)G`!L4F73J`<25XcE@$ z8`QePin)&j$pg|UPxB*TpF0Jc4$k@FT^Z)=zfe*OV}nZm0CG4F9}8RCJjlcPmw!@@ zxtE|$qVfEUiPh5BxJL$^|BN(f9PF8;!Jm2y*~_DgaV48Y#iYJ1N-DLC zYLA|YW>4QxHAU2(z7e@0supwZ0o5K-D>?p)foZ`Rm~*ker*sb%h}eY;b+dBkusXYL4sde3xH{X+= zx+g!u)@$MwHi+5zs>W|Lqwp{ZaM2jZT7(S+&?@1HgjA3#pWuGBL8rs9jc0X}WYHV| zX)jP85Q4uK#x}+!gvk^be)^6!u}MiC*uq97e=4^?x^G~QC$AuCRcu;HQo=?M>;R~i z-m@952$P(N-6#QEBmD9ip06&EUOk9=mn~1xguV?Ju?=VkTc0vDdK;{gB-j*N0;}EI zRBUgG7QfAom=M6**!w1~!P^>tKar9R*BV0+HyRP}HX-tU^u(g%Z=6 zamfhN&@tQTvFBo;(1#eqvYmmR?ixfaJzCrh*{?GmD+w#n8Oc&@k9D5Tm|d#n^n}h> zQ3@kKF~)E+)*_va*HGofHlEVQGU`JLQ+Re`pvUJxvZbWyd?%)QIzvdpz>9a>eBh27 zkpwn0_N0~&5kf%0=t{Q9PMi__z5u&?@~DWbLD6=Z^Q`E<9AMv^T#~grD0(mCN0_xU zV2dXb{pagDJ;HOk+)@C+yO2Yjcf}=Oi zTZ1cC!OG(0@4-qVtX#&HPnn5lvxlc74@nK!m`NoUS-vggudt;U zc6@rm2(fQRmlExxKRX}VDS;nCG;ITT-^P}vYl!wf_SJO#l&|{aa5y{8y!}TgU`P54 zu<_pWr#nRdmwg`Kzd!#M;6Dq_a$xK2TA1}I>rH>2Xr|faQ&$s$z+RYI607K2Q4+%7 zVnEJ#N^C;tYHYGMyOI4LSs$m-slAsyEqvJa%=8}B?QDn^YK0{$ZL zjz2zNnJxXl4#YZD2PPzXTgAp@rCBeZ`qRnpPQ?G^t>d$gB^=E-^8Dd8&w5XaC&Yt2 z!#qY$x#x^0_3&GVi6g6zoI5h}sN?9Zqv^*i$LzzPNtFTJqma%7wR zTF&($KmPqztM97+Rsf+W@_r?yic$Mw4h~-y?;Z8H_N}pd6Kj(5CN}GJljtcEr~Z&p zI_<#p^D|D&teQ1C^R>(~nL?(Rc{B4+=I=67GQXWwI%{BN&CJA^M`t`eBWlLU>DAMh zO)r?94YUmSlhdO>Zaq395he}HES>f3tQ1&y2o#8*=nNU`hAS|-Gv(qvrOrYkh*|28adg|%bMN3vb zy_A|TVMrMIS-iA#{V(JIQg^>CvF+J&i4SmNTFx|b=u1#}ks6^yG!!+5>>ZDOXB*3I z&TF-z5j%9YvE~HBcq$o9Xr1WM??|&vHm4gh5HcuiDo->TVHj;2>q$mwh78-RNiw8t zi{3w~7uoS2(R?&11j)hV;2(ix&<_PuBM6K!La7RMadXJe|CUNKcjl8YB<%;I{{o4n B-8%pP delta 6772 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 diff --git a/build/firmware.elf b/build/firmware.elf index 67bfa453d09e119fdebce817bcff0fd91086576f..f26bded6e88ab1fd2c9c6869f59886a8493ab1b5 100644 GIT binary patch literal 395000 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 OqczUABu0IibpJm%IT_ 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