How can I exctract 2 values from a 1-by-3 array in Simulink ?

Hi everyone,
I am using the Surface Mount PMSM block from the Motor Control Blockset in Simulink to develop an FOC algorithm. The output of the block (PhaseCurr) is a 1-by-3 array containing my 3 phase currents a, b and c. How can I extract the 2 currents (phase a and b) from my array in Simulink so that I can process them in the Clarke transform ? Please any help would be appreciated.

Answers (1)

Jonas
Jonas on 15 Apr 2020
Edited: Jonas on 15 Apr 2020
Use a Demux block with three outputs to extract the three signals, and then another Mux block with two inputs to combine the two you want again.

4 Comments

Hi @Jonas thanks fo your answer. But what if I want to extract phase A and B. how do I know I'm extracting these singnals and not phase C ?
The phases will be ordered A, B and C, so you use a Demux with three outputs and then the first two will be A and B respectively.
Hi, thanks again for you answer @Jonas. By any chance have you used Simulink's Motor Control Blockset before (MATLAB 2020a) ? I am struggling to understand how to set up a few blocks in there to develop a Field-Oriented Control algorithm. Your help would be really appreciated.

Sign in to comment.

Categories

Find more on Motor Control Blockset in Help Center and File Exchange

Products

Release

R2020a

Asked:

on 15 Apr 2020

Commented:

on 15 Apr 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!