Code covered by the BSD License  

Highlights from
Motion Control Demo

image thumbnail

Motion Control Demo

by

 

30 Oct 2007 (Updated )

Model Based Design Demonstration Based on a Motion Control Case Study

pt=DMC_system_demopt
function pt=DMC_system_demopt
pt = [];
pt(1).blockname = 'Tunable Controller/Constant';
pt(1).paramname = 'Value';
pt(1).class     = 'scalar';
pt(1).nrows     = 1;
pt(1).ncols     = 1;
pt(1).subsource = 'SS_DOUBLE';
pt(getlenPT) = pt(1);

pt(2).blockname = 'Tunable Controller/Convert to Voltage Ref for Current Loop';
pt(2).paramname = 'Gain';
pt(2).class     = 'scalar';
pt(2).nrows     = 1;
pt(2).ncols     = 1;
pt(2).subsource = 'SS_DOUBLE';

pt(3).blockname = 'Plant/Rapid Prototyping/Saturation';
pt(3).paramname = 'UpperLimit';
pt(3).class     = 'scalar';
pt(3).nrows     = 1;
pt(3).ncols     = 1;
pt(3).subsource = 'SS_DOUBLE';

pt(4).blockname = 'Plant/Rapid Prototyping/Saturation';
pt(4).paramname = 'LowerLimit';
pt(4).class     = 'scalar';
pt(4).nrows     = 1;
pt(4).ncols     = 1;
pt(4).subsource = 'SS_DOUBLE';

pt(5).blockname = 'Plant/Rapid Prototyping/D//A';
pt(5).paramname = 'P1';
pt(5).class     = 'scalar';
pt(5).nrows     = 1;
pt(5).ncols     = 1;
pt(5).subsource = 'SS_DOUBLE';

pt(6).blockname = 'Plant/Rapid Prototyping/D//A';
pt(6).paramname = 'P2';
pt(6).class     = 'scalar';
pt(6).nrows     = 1;
pt(6).ncols     = 1;
pt(6).subsource = 'SS_DOUBLE';

pt(7).blockname = 'Plant/Rapid Prototyping/D//A';
pt(7).paramname = 'P3';
pt(7).class     = 'scalar';
pt(7).nrows     = 1;
pt(7).ncols     = 1;
pt(7).subsource = 'SS_DOUBLE';

pt(8).blockname = 'Plant/Rapid Prototyping/D//A';
pt(8).paramname = 'P4';
pt(8).class     = 'scalar';
pt(8).nrows     = 1;
pt(8).ncols     = 1;
pt(8).subsource = 'SS_DOUBLE';

pt(9).blockname = 'Plant/Rapid Prototyping/D//A';
pt(9).paramname = 'P5';
pt(9).class     = 'scalar';
pt(9).nrows     = 1;
pt(9).ncols     = 1;
pt(9).subsource = 'SS_DOUBLE';

pt(10).blockname = 'Plant/Rapid Prototyping/D//A';
pt(10).paramname = 'P6';
pt(10).class     = 'scalar';
pt(10).nrows     = 1;
pt(10).ncols     = 1;
pt(10).subsource = 'SS_DOUBLE';

pt(11).blockname = 'Plant/Rapid Prototyping/D//A';
pt(11).paramname = 'P7';
pt(11).class     = 'scalar';
pt(11).nrows     = 1;
pt(11).ncols     = 1;
pt(11).subsource = 'SS_DOUBLE';

pt(12).blockname = 'Plant/Rapid Prototyping/ENC1';
pt(12).paramname = 'P1';
pt(12).class     = 'scalar';
pt(12).nrows     = 1;
pt(12).ncols     = 1;
pt(12).subsource = 'SS_DOUBLE';

pt(13).blockname = 'Plant/Rapid Prototyping/ENC1';
pt(13).paramname = 'P2';
pt(13).class     = 'scalar';
pt(13).nrows     = 1;
pt(13).ncols     = 1;
pt(13).subsource = 'SS_DOUBLE';

pt(14).blockname = 'Plant/Rapid Prototyping/ENC1';
pt(14).paramname = 'P3';
pt(14).class     = 'scalar';
pt(14).nrows     = 1;
pt(14).ncols     = 1;
pt(14).subsource = 'SS_DOUBLE';

pt(15).blockname = 'Plant/Rapid Prototyping/ENC1';
pt(15).paramname = 'P4';
pt(15).class     = 'scalar';
pt(15).nrows     = 1;
pt(15).ncols     = 1;
pt(15).subsource = 'SS_DOUBLE';

pt(16).blockname = 'Plant/Rapid Prototyping/ENC1';
pt(16).paramname = 'P5';
pt(16).class     = 'scalar';
pt(16).nrows     = 1;
pt(16).ncols     = 1;
pt(16).subsource = 'SS_DOUBLE';

pt(17).blockname = 'Plant/Rapid Prototyping/ENC1';
pt(17).paramname = 'P6';
pt(17).class     = 'scalar';
pt(17).nrows     = 1;
pt(17).ncols     = 1;
pt(17).subsource = 'SS_DOUBLE';

pt(18).blockname = 'Plant/Rapid Prototyping/ENC2';
pt(18).paramname = 'P1';
pt(18).class     = 'scalar';
pt(18).nrows     = 1;
pt(18).ncols     = 1;
pt(18).subsource = 'SS_DOUBLE';

pt(19).blockname = 'Plant/Rapid Prototyping/ENC2';
pt(19).paramname = 'P2';
pt(19).class     = 'scalar';
pt(19).nrows     = 1;
pt(19).ncols     = 1;
pt(19).subsource = 'SS_DOUBLE';

pt(20).blockname = 'Plant/Rapid Prototyping/ENC2';
pt(20).paramname = 'P3';
pt(20).class     = 'scalar';
pt(20).nrows     = 1;
pt(20).ncols     = 1;
pt(20).subsource = 'SS_DOUBLE';

pt(21).blockname = 'Plant/Rapid Prototyping/ENC2';
pt(21).paramname = 'P4';
pt(21).class     = 'scalar';
pt(21).nrows     = 1;
pt(21).ncols     = 1;
pt(21).subsource = 'SS_DOUBLE';

pt(22).blockname = 'Plant/Rapid Prototyping/ENC2';
pt(22).paramname = 'P5';
pt(22).class     = 'scalar';
pt(22).nrows     = 1;
pt(22).ncols     = 1;
pt(22).subsource = 'SS_DOUBLE';

pt(23).blockname = 'Plant/Rapid Prototyping/ENC2';
pt(23).paramname = 'P6';
pt(23).class     = 'scalar';
pt(23).nrows     = 1;
pt(23).ncols     = 1;
pt(23).subsource = 'SS_DOUBLE';

pt(24).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Constant';
pt(24).paramname = 'Value';
pt(24).class     = 'scalar';
pt(24).nrows     = 1;
pt(24).ncols     = 1;
pt(24).subsource = 'SS_DOUBLE';

pt(25).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Enable';
pt(25).paramname = 'Value';
pt(25).class     = 'scalar';
pt(25).nrows     = 1;
pt(25).ncols     = 1;
pt(25).subsource = 'SS_DOUBLE';

pt(26).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Enable1';
pt(26).paramname = 'Value';
pt(26).class     = 'scalar';
pt(26).nrows     = 1;
pt(26).ncols     = 1;
pt(26).subsource = 'SS_DOUBLE';

pt(27).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/ReqMove';
pt(27).paramname = 'Value';
pt(27).class     = 'scalar';
pt(27).nrows     = 1;
pt(27).ncols     = 1;
pt(27).subsource = 'SS_DOUBLE';

pt(28).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/ReqMove1';
pt(28).paramname = 'Value';
pt(28).class     = 'scalar';
pt(28).nrows     = 1;
pt(28).ncols     = 1;
pt(28).subsource = 'SS_DOUBLE';

pt(29).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Ts';
pt(29).paramname = 'Value';
pt(29).class     = 'scalar';
pt(29).nrows     = 1;
pt(29).ncols     = 1;
pt(29).subsource = 'SS_DOUBLE';

pt(30).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/a';
pt(30).paramname = 'Value';
pt(30).class     = 'scalar';
pt(30).nrows     = 1;
pt(30).ncols     = 1;
pt(30).subsource = 'SS_DOUBLE';

pt(31).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/d';
pt(31).paramname = 'Value';
pt(31).class     = 'scalar';
pt(31).nrows     = 1;
pt(31).ncols     = 1;
pt(31).subsource = 'SS_DOUBLE';

pt(32).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/j';
pt(32).paramname = 'Value';
pt(32).class     = 'scalar';
pt(32).nrows     = 1;
pt(32).ncols     = 1;
pt(32).subsource = 'SS_DOUBLE';

pt(33).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/p';
pt(33).paramname = 'Value';
pt(33).class     = 'scalar';
pt(33).nrows     = 1;
pt(33).ncols     = 1;
pt(33).subsource = 'SS_DOUBLE';

pt(34).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/v';
pt(34).paramname = 'Value';
pt(34).class     = 'scalar';
pt(34).nrows     = 1;
pt(34).ncols     = 1;
pt(34).subsource = 'SS_DOUBLE';

pt(35).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Gain';
pt(35).paramname = 'Gain';
pt(35).class     = 'scalar';
pt(35).nrows     = 1;
pt(35).ncols     = 1;
pt(35).subsource = 'SS_DOUBLE';

pt(36).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Gain1';
pt(36).paramname = 'Gain';
pt(36).class     = 'scalar';
pt(36).nrows     = 1;
pt(36).ncols     = 1;
pt(36).subsource = 'SS_DOUBLE';

pt(37).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/only >0';
pt(37).paramname = 'UpperLimit';
pt(37).class     = 'scalar';
pt(37).nrows     = 1;
pt(37).ncols     = 1;
pt(37).subsource = 'SS_DOUBLE';

pt(38).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/only >0';
pt(38).paramname = 'LowerLimit';
pt(38).class     = 'scalar';
pt(38).nrows     = 1;
pt(38).ncols     = 1;
pt(38).subsource = 'SS_DOUBLE';

pt(39).blockname = 'Tunable Controller/Manual Switch/Constant';
pt(39).paramname = 'Value';
pt(39).class     = 'scalar';
pt(39).nrows     = 1;
pt(39).ncols     = 1;
pt(39).subsource = 'SS_UINT8';

pt(40).blockname = 'Tunable Controller/Manual Switch/SwitchControl';
pt(40).paramname = 'Threshold';
pt(40).class     = 'scalar';
pt(40).nrows     = 1;
pt(40).ncols     = 1;
pt(40).subsource = 'SS_UINT8';

pt(41).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/offset 1';
pt(41).paramname = 'Value';
pt(41).class     = 'scalar';
pt(41).nrows     = 1;
pt(41).ncols     = 1;
pt(41).subsource = 'SS_DOUBLE';

pt(42).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/offset 2';
pt(42).paramname = 'Value';
pt(42).class     = 'scalar';
pt(42).nrows     = 1;
pt(42).ncols     = 1;
pt(42).subsource = 'SS_DOUBLE';

pt(43).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/Encoder 1 Position [rad]';
pt(43).paramname = 'Gain';
pt(43).class     = 'scalar';
pt(43).nrows     = 1;
pt(43).ncols     = 1;
pt(43).subsource = 'SS_DOUBLE';

pt(44).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/Encoder 2 Position [rad]';
pt(44).paramname = 'Gain';
pt(44).class     = 'scalar';
pt(44).nrows     = 1;
pt(44).ncols     = 1;
pt(44).subsource = 'SS_DOUBLE';

pt(45).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Select: 4th | RB';
pt(45).paramname = 'Value';
pt(45).class     = 'scalar';
pt(45).nrows     = 1;
pt(45).ncols     = 1;
pt(45).subsource = 'SS_DOUBLE';

pt(46).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Select: x1 | x2';
pt(46).paramname = 'Value';
pt(46).class     = 'scalar';
pt(46).nrows     = 1;
pt(46).ncols     = 1;
pt(46).subsource = 'SS_DOUBLE';

pt(47).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/acceleration';
pt(47).paramname = 'gainval';
pt(47).class     = 'scalar';
pt(47).nrows     = 1;
pt(47).ncols     = 1;
pt(47).subsource = 'SS_DOUBLE';

pt(48).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/acceleration';
pt(48).paramname = 'InitialCondition';
pt(48).class     = 'scalar';
pt(48).nrows     = 1;
pt(48).ncols     = 1;
pt(48).subsource = 'SS_DOUBLE';

pt(49).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/jerk';
pt(49).paramname = 'gainval';
pt(49).class     = 'scalar';
pt(49).nrows     = 1;
pt(49).ncols     = 1;
pt(49).subsource = 'SS_DOUBLE';

pt(50).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/jerk';
pt(50).paramname = 'InitialCondition';
pt(50).class     = 'scalar';
pt(50).nrows     = 1;
pt(50).ncols     = 1;
pt(50).subsource = 'SS_DOUBLE';

pt(51).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/position';
pt(51).paramname = 'gainval';
pt(51).class     = 'scalar';
pt(51).nrows     = 1;
pt(51).ncols     = 1;
pt(51).subsource = 'SS_DOUBLE';

pt(52).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/position';
pt(52).paramname = 'InitialCondition';
pt(52).class     = 'scalar';
pt(52).nrows     = 1;
pt(52).ncols     = 1;
pt(52).subsource = 'SS_DOUBLE';

pt(53).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/velocity';
pt(53).paramname = 'gainval';
pt(53).class     = 'scalar';
pt(53).nrows     = 1;
pt(53).ncols     = 1;
pt(53).subsource = 'SS_DOUBLE';

pt(54).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/velocity';
pt(54).paramname = 'InitialCondition';
pt(54).class     = 'scalar';
pt(54).nrows     = 1;
pt(54).ncols     = 1;
pt(54).subsource = 'SS_DOUBLE';

pt(55).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/(2-k//b12*Ts)//(2+k//b12*Ts)';
pt(55).paramname = 'Gain';
pt(55).class     = 'scalar';
pt(55).nrows     = 1;
pt(55).ncols     = 1;
pt(55).subsource = 'SS_DOUBLE';

pt(56).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/(2-k//b12*Ts)//(2+k//b12*Ts) copy';
pt(56).paramname = 'Gain';
pt(56).class     = 'scalar';
pt(56).nrows     = 1;
pt(56).ncols     = 1;
pt(56).subsource = 'SS_DOUBLE';

pt(57).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/(J1+J2)*b12+J1*b2+J2*b1';
pt(57).paramname = 'Gain';
pt(57).class     = 'scalar';
pt(57).nrows     = 1;
pt(57).ncols     = 1;
pt(57).subsource = 'SS_DOUBLE';

pt(58).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/(J1+J2)*k+b1*b2+(b1+b2)*b12';
pt(58).paramname = 'Gain';
pt(58).class     = 'scalar';
pt(58).nrows     = 1;
pt(58).ncols     = 1;
pt(58).subsource = 'SS_DOUBLE';

pt(59).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/(b1+b2)*k';
pt(59).paramname = 'Gain';
pt(59).class     = 'scalar';
pt(59).nrows     = 1;
pt(59).ncols     = 1;
pt(59).subsource = 'SS_DOUBLE';

pt(60).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/1//b12*Ts//(2+k//b12*Ts)';
pt(60).paramname = 'Gain';
pt(60).class     = 'scalar';
pt(60).nrows     = 1;
pt(60).ncols     = 1;
pt(60).subsource = 'SS_DOUBLE';

pt(61).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/1//b12*Ts//(2+k//b12*Ts)  copy';
pt(61).paramname = 'Gain';
pt(61).class     = 'scalar';
pt(61).nrows     = 1;
pt(61).ncols     = 1;
pt(61).subsource = 'SS_DOUBLE';

pt(62).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/1//k';
pt(62).paramname = 'Gain';
pt(62).class     = 'scalar';
pt(62).nrows     = 1;
pt(62).ncols     = 1;
pt(62).subsource = 'SS_DOUBLE';

pt(63).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/J1*J2';
pt(63).paramname = 'Gain';
pt(63).class     = 'scalar';
pt(63).nrows     = 1;
pt(63).ncols     = 1;
pt(63).subsource = 'SS_DOUBLE';

pt(64).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/J2';
pt(64).paramname = 'Gain';
pt(64).class     = 'scalar';
pt(64).nrows     = 1;
pt(64).ncols     = 1;
pt(64).subsource = 'SS_DOUBLE';

pt(65).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/RB: (J1+J2)*k';
pt(65).paramname = 'Gain';
pt(65).class     = 'scalar';
pt(65).nrows     = 1;
pt(65).ncols     = 1;
pt(65).subsource = 'SS_DOUBLE';

pt(66).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/RB: (b1+b2)*k';
pt(66).paramname = 'Gain';
pt(66).class     = 'scalar';
pt(66).nrows     = 1;
pt(66).ncols     = 1;
pt(66).subsource = 'SS_DOUBLE';

pt(67).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/RB: tune a';
pt(67).paramname = 'Gain';
pt(67).class     = 'scalar';
pt(67).nrows     = 1;
pt(67).ncols     = 1;
pt(67).subsource = 'SS_DOUBLE';

pt(68).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/RB: tune v';
pt(68).paramname = 'Gain';
pt(68).class     = 'scalar';
pt(68).nrows     = 1;
pt(68).ncols     = 1;
pt(68).subsource = 'SS_DOUBLE';

pt(69).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/b2+b12';
pt(69).paramname = 'Gain';
pt(69).class     = 'scalar';
pt(69).nrows     = 1;
pt(69).ncols     = 1;
pt(69).subsource = 'SS_DOUBLE';

pt(70).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/dry friction compensation';
pt(70).paramname = 'Gain';
pt(70).class     = 'scalar';
pt(70).nrows     = 1;
pt(70).ncols     = 1;
pt(70).subsource = 'SS_DOUBLE';

pt(71).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/k';
pt(71).paramname = 'Gain';
pt(71).class     = 'scalar';
pt(71).nrows     = 1;
pt(71).ncols     = 1;
pt(71).subsource = 'SS_DOUBLE';

pt(72).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/tune a';
pt(72).paramname = 'Gain';
pt(72).class     = 'scalar';
pt(72).nrows     = 1;
pt(72).ncols     = 1;
pt(72).subsource = 'SS_DOUBLE';

pt(73).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/tune ax1';
pt(73).paramname = 'Gain';
pt(73).class     = 'scalar';
pt(73).nrows     = 1;
pt(73).ncols     = 1;
pt(73).subsource = 'SS_DOUBLE';

pt(74).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/tune d';
pt(74).paramname = 'Gain';
pt(74).class     = 'scalar';
pt(74).nrows     = 1;
pt(74).ncols     = 1;
pt(74).subsource = 'SS_DOUBLE';

pt(75).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/tune j';
pt(75).paramname = 'Gain';
pt(75).class     = 'scalar';
pt(75).nrows     = 1;
pt(75).ncols     = 1;
pt(75).subsource = 'SS_DOUBLE';

pt(76).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/tune v';
pt(76).paramname = 'Gain';
pt(76).class     = 'scalar';
pt(76).nrows     = 1;
pt(76).ncols     = 1;
pt(76).subsource = 'SS_DOUBLE';

pt(77).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/tune vx1';
pt(77).paramname = 'Gain';
pt(77).class     = 'scalar';
pt(77).nrows     = 1;
pt(77).ncols     = 1;
pt(77).subsource = 'SS_DOUBLE';

pt(78).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Switch16';
pt(78).paramname = 'Threshold';
pt(78).class     = 'scalar';
pt(78).nrows     = 1;
pt(78).ncols     = 1;
pt(78).subsource = 'SS_DOUBLE';

pt(79).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Switch17';
pt(79).paramname = 'Threshold';
pt(79).class     = 'scalar';
pt(79).nrows     = 1;
pt(79).ncols     = 1;
pt(79).subsource = 'SS_DOUBLE';

pt(80).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Unit Delay';
pt(80).paramname = 'X0';
pt(80).class     = 'scalar';
pt(80).nrows     = 1;
pt(80).ncols     = 1;
pt(80).subsource = 'SS_DOUBLE';

pt(81).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Unit Delay1';
pt(81).paramname = 'X0';
pt(81).class     = 'scalar';
pt(81).nrows     = 1;
pt(81).ncols     = 1;
pt(81).subsource = 'SS_DOUBLE';

pt(82).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Unit Delay2';
pt(82).paramname = 'X0';
pt(82).class     = 'scalar';
pt(82).nrows     = 1;
pt(82).ncols     = 1;
pt(82).subsource = 'SS_DOUBLE';

pt(83).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Unit Delay3';
pt(83).paramname = 'X0';
pt(83).class     = 'scalar';
pt(83).nrows     = 1;
pt(83).ncols     = 1;
pt(83).subsource = 'SS_DOUBLE';

pt(84).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Unit Delay4';
pt(84).paramname = 'X0';
pt(84).class     = 'scalar';
pt(84).nrows     = 1;
pt(84).ncols     = 1;
pt(84).subsource = 'SS_DOUBLE';

pt(85).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Unit Delay5';
pt(85).paramname = 'X0';
pt(85).class     = 'scalar';
pt(85).nrows     = 1;
pt(85).ncols     = 1;
pt(85).subsource = 'SS_DOUBLE';

pt(86).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/Enable1';
pt(86).paramname = 'Value';
pt(86).class     = 'scalar';
pt(86).nrows     = 1;
pt(86).ncols     = 1;
pt(86).subsource = 'SS_DOUBLE';

pt(87).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/Memory1';
pt(87).paramname = 'X0';
pt(87).class     = 'scalar';
pt(87).nrows     = 1;
pt(87).ncols     = 1;
pt(87).subsource = 'SS_DOUBLE';

pt(88).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/Memory2';
pt(88).paramname = 'X0';
pt(88).class     = 'scalar';
pt(88).nrows     = 1;
pt(88).ncols     = 1;
pt(88).subsource = 'SS_DOUBLE';

pt(89).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/Memory3';
pt(89).paramname = 'X0';
pt(89).class     = 'scalar';
pt(89).nrows     = 1;
pt(89).ncols     = 1;
pt(89).subsource = 'SS_DOUBLE';

pt(90).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/Memory6';
pt(90).paramname = 'X0';
pt(90).class     = 'scalar';
pt(90).nrows     = 1;
pt(90).ncols     = 1;
pt(90).subsource = 'SS_DOUBLE';

pt(91).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/Switch';
pt(91).paramname = 'Threshold';
pt(91).class     = 'scalar';
pt(91).nrows     = 1;
pt(91).ncols     = 1;
pt(91).subsource = 'SS_DOUBLE';

pt(92).blockname = 'Tunable Controller/Feedback Controller/Tuned 10Hz/Gain';
pt(92).paramname = 'Gain';
pt(92).class     = 'scalar';
pt(92).nrows     = 1;
pt(92).ncols     = 1;
pt(92).subsource = 'SS_DOUBLE';

pt(93).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/Manual Switch1/Constant';
pt(93).paramname = 'Value';
pt(93).class     = 'scalar';
pt(93).nrows     = 1;
pt(93).ncols     = 1;
pt(93).subsource = 'SS_UINT8';

pt(94).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/Manual Switch1/SwitchControl';
pt(94).paramname = 'Threshold';
pt(94).class     = 'scalar';
pt(94).nrows     = 1;
pt(94).ncols     = 1;
pt(94).subsource = 'SS_UINT8';

pt(95).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/Manual Switch2/Constant';
pt(95).paramname = 'Value';
pt(95).class     = 'scalar';
pt(95).nrows     = 1;
pt(95).ncols     = 1;
pt(95).subsource = 'SS_UINT8';

pt(96).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/Manual Switch2/SwitchControl';
pt(96).paramname = 'Threshold';
pt(96).class     = 'scalar';
pt(96).nrows     = 1;
pt(96).ncols     = 1;
pt(96).subsource = 'SS_UINT8';

pt(97).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/peak removal/Peak removal';
pt(97).paramname = 'p1';
pt(97).class     = 'scalar';
pt(97).nrows     = 1;
pt(97).ncols     = 1;
pt(97).subsource = 'SS_DOUBLE';

pt(98).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/peak removal/Peak removal';
pt(98).paramname = 'p2';
pt(98).class     = 'scalar';
pt(98).nrows     = 1;
pt(98).ncols     = 1;
pt(98).subsource = 'SS_DOUBLE';

pt(99).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 1/offset 1';
pt(99).paramname = 'Value';
pt(99).class     = 'scalar';
pt(99).nrows     = 1;
pt(99).ncols     = 1;
pt(99).subsource = 'SS_DOUBLE';

pt(100).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 1/Memory';
pt(100).paramname = 'X0';
pt(100).class     = 'scalar';
pt(100).nrows     = 1;
pt(100).ncols     = 1;
pt(100).subsource = 'SS_DOUBLE';

pt(101).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 2/offset 1';
pt(101).paramname = 'Value';
pt(101).class     = 'scalar';
pt(101).nrows     = 1;
pt(101).ncols     = 1;
pt(101).subsource = 'SS_DOUBLE';

pt(102).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 2/Memory';
pt(102).paramname = 'X0';
pt(102).class     = 'scalar';
pt(102).nrows     = 1;
pt(102).ncols     = 1;
pt(102).subsource = 'SS_DOUBLE';

pt(103).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Discrete variable delay1/1-alpha';
pt(103).paramname = 'Gain';
pt(103).class     = 'scalar';
pt(103).nrows     = 1;
pt(103).ncols     = 1;
pt(103).subsource = 'SS_DOUBLE';

pt(104).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Discrete variable delay1/Unit Delay';
pt(104).paramname = 'X0';
pt(104).class     = 'scalar';
pt(104).nrows     = 1;
pt(104).ncols     = 1;
pt(104).subsource = 'SS_DOUBLE';

pt(105).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Discrete variable delay2/1-alpha';
pt(105).paramname = 'Gain';
pt(105).class     = 'scalar';
pt(105).nrows     = 1;
pt(105).ncols     = 1;
pt(105).subsource = 'SS_DOUBLE';

pt(106).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Discrete variable delay2/Unit Delay';
pt(106).paramname = 'X0';
pt(106).class     = 'scalar';
pt(106).nrows     = 1;
pt(106).ncols     = 1;
pt(106).subsource = 'SS_DOUBLE';

pt(107).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Discrete variable delay4/1-alpha';
pt(107).paramname = 'Gain';
pt(107).class     = 'scalar';
pt(107).nrows     = 1;
pt(107).ncols     = 1;
pt(107).subsource = 'SS_DOUBLE';

pt(108).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Feedforward/Discrete variable delay4/Unit Delay';
pt(108).paramname = 'X0';
pt(108).class     = 'scalar';
pt(108).nrows     = 1;
pt(108).ncols     = 1;
pt(108).subsource = 'SS_DOUBLE';

pt(109).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/detect/Memory3';
pt(109).paramname = 'X0';
pt(109).class     = 'scalar';
pt(109).nrows     = 1;
pt(109).ncols     = 1;
pt(109).subsource = 'SS_DOUBLE';

pt(110).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/Constant20';
pt(110).paramname = 'Value';
pt(110).class     = 'scalar';
pt(110).nrows     = 1;
pt(110).ncols     = 1;
pt(110).subsource = 'SS_DOUBLE';

pt(111).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/Settling time';
pt(111).paramname = 'Value';
pt(111).class     = 'scalar';
pt(111).nrows     = 1;
pt(111).ncols     = 1;
pt(111).subsource = 'SS_DOUBLE';

pt(112).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/constant';
pt(112).paramname = 'Value';
pt(112).class     = 'scalar';
pt(112).nrows     = 1;
pt(112).ncols     = 1;
pt(112).subsource = 'SS_DOUBLE';

pt(113).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/constant1';
pt(113).paramname = 'Value';
pt(113).class     = 'scalar';
pt(113).nrows     = 1;
pt(113).ncols     = 1;
pt(113).subsource = 'SS_DOUBLE';

pt(114).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/Discrete-Time Integrator';
pt(114).paramname = 'gainval';
pt(114).class     = 'scalar';
pt(114).nrows     = 1;
pt(114).ncols     = 1;
pt(114).subsource = 'SS_DOUBLE';

pt(115).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/Discrete-Time Integrator';
pt(115).paramname = 'InitialCondition';
pt(115).class     = 'scalar';
pt(115).nrows     = 1;
pt(115).ncols     = 1;
pt(115).subsource = 'SS_DOUBLE';

pt(116).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/djerk sequence';
pt(116).paramname = 'Gain';
pt(116).class     = 'vector';
pt(116).nrows     = 1;
pt(116).ncols     = 17;
pt(116).subsource = 'SS_DOUBLE';

pt(117).blockname = 'Reference and Feedforward/Fourth Order P2P GUI/Generate Profile/djerk profile calculation/Switch';
pt(117).paramname = 'Threshold';
pt(117).class     = 'scalar';
pt(117).nrows     = 1;
pt(117).ncols     = 1;
pt(117).subsource = 'SS_DOUBLE';

pt(118).blockname = 'Tunable Controller/Feedback Controller/Tuned 10Hz/Leadlag/Discrete Transfer Fcn';
pt(118).paramname = 'A';
pt(118).class     = 'scalar';
pt(118).nrows     = 1;
pt(118).ncols     = 1;
pt(118).subsource = 'SS_DOUBLE';

pt(119).blockname = 'Tunable Controller/Feedback Controller/Tuned 10Hz/Leadlag/Discrete Transfer Fcn';
pt(119).paramname = 'C';
pt(119).class     = 'scalar';
pt(119).nrows     = 1;
pt(119).ncols     = 1;
pt(119).subsource = 'SS_DOUBLE';

pt(120).blockname = 'Tunable Controller/Feedback Controller/Tuned 10Hz/Leadlag/Discrete Transfer Fcn';
pt(120).paramname = 'D';
pt(120).class     = 'scalar';
pt(120).nrows     = 1;
pt(120).ncols     = 1;
pt(120).subsource = 'SS_DOUBLE';

pt(121).blockname = 'Tunable Controller/Feedback Controller/Tuned 10Hz/Notch/Discrete Transfer Fcn';
pt(121).paramname = 'A';
pt(121).class     = 'vector';
pt(121).nrows     = 2;
pt(121).ncols     = 1;
pt(121).subsource = 'SS_DOUBLE';

pt(122).blockname = 'Tunable Controller/Feedback Controller/Tuned 10Hz/Notch/Discrete Transfer Fcn';
pt(122).paramname = 'C';
pt(122).class     = 'vector';
pt(122).nrows     = 1;
pt(122).ncols     = 2;
pt(122).subsource = 'SS_DOUBLE';

pt(123).blockname = 'Tunable Controller/Feedback Controller/Tuned 10Hz/Notch/Discrete Transfer Fcn';
pt(123).paramname = 'D';
pt(123).class     = 'scalar';
pt(123).nrows     = 1;
pt(123).ncols     = 1;
pt(123).subsource = 'SS_DOUBLE';

pt(124).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 1/Subsystem/maxcount';
pt(124).paramname = 'Value';
pt(124).class     = 'scalar';
pt(124).nrows     = 1;
pt(124).ncols     = 1;
pt(124).subsource = 'SS_DOUBLE';

pt(125).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 1/Subsystem/Memory';
pt(125).paramname = 'X0';
pt(125).class     = 'scalar';
pt(125).nrows     = 1;
pt(125).ncols     = 1;
pt(125).subsource = 'SS_DOUBLE';

pt(126).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 2/Subsystem/maxcount';
pt(126).paramname = 'Value';
pt(126).class     = 'scalar';
pt(126).nrows     = 1;
pt(126).ncols     = 1;
pt(126).subsource = 'SS_DOUBLE';

pt(127).blockname = 'Plant/Rapid Prototyping/Conditioning and Scaling/unwrapper 2/Subsystem/Memory';
pt(127).paramname = 'X0';
pt(127).class     = 'scalar';
pt(127).nrows     = 1;
pt(127).ncols     = 1;
pt(127).subsource = 'SS_DOUBLE';

function len = getlenPT
len = 127;

Contact us