89 | | <a name="l00042"></a>00042 |
90 | | <a name="l00044"></a><a class="code" href="classUIpmsmDS.html">00044</a> <span class="keyword">class </span><a class="code" href="classUIpmsmDS.html" title="UI for pmsmDS,.">UIpmsmDS</a>: <span class="keyword">public</span> <a class="code" href="classbdm_1_1UIbuilder.html" title="Builds computational object from a UserInfo structure.">UIbuilder</a> { |
91 | | <a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keywordtype">void</span> tmp_set ( Setting &S, <a class="code" href="classpmsmDS.html" title="Simulator of PMSM machine with predefined profile on omega.">pmsmDS</a>* <a class="code" href="classbdm_1_1DS.html" title="Abstract class for discrete-time sources of data.">DS</a> ) { |
92 | | <a name="l00046"></a>00046 <span class="comment">//pmsmsim_set_parameters (( Rs0, Ls0, Fmag0, Bf0, p0, kp0, J0, Uc0, DT0, dt0);</span> |
93 | | <a name="l00047"></a>00047 DS-><a class="code" href="classpmsmDS.html#73073ee4f905af3f9f96a6130e9a9e22">set_parameters</a> ( S[<span class="stringliteral">"Rs"</span>], S[<span class="stringliteral">"Ls"</span>], S[<span class="stringliteral">"Fmag"</span>], S[<span class="stringliteral">"Bf"</span>], S[<span class="stringliteral">"p"</span>], S[<span class="stringliteral">"kp"</span>], \ |
94 | | <a name="l00048"></a>00048 S[<span class="stringliteral">"J"</span>], S[<span class="stringliteral">"Uc"</span>], S[<span class="stringliteral">"DT"</span>], 1.0e-6 ); |
95 | | <a name="l00049"></a>00049 }; |
96 | | <a name="l00050"></a>00050 <span class="keyword">public</span>: |
97 | | <a name="l00051"></a>00051 <a class="code" href="classUIpmsmDS.html" title="UI for pmsmDS,.">UIpmsmDS</a>() :<a class="code" href="classbdm_1_1UIbuilder.html#c75103dd58395644e80f1eea886c656b" title="Constructor needs to be run only once macro UIREGISTER.">UIbuilder</a> ( <span class="stringliteral">"pmsmDS"</span> ) {}; |
98 | | <a name="l00052"></a><a class="code" href="classUIpmsmDS.html#bccf3ecf6a270599c2d2fc1005ab13af">00052</a> <a class="code" href="classbdm_1_1bdmroot.html" title="Root class of BDM objects.">bdmroot</a>* <a class="code" href="classUIpmsmDS.html#bccf3ecf6a270599c2d2fc1005ab13af" title="Function building the computational object.">build</a> ( Setting &S )<span class="keyword"> const </span>{ |
99 | | <a name="l00053"></a>00053 <a class="code" href="classpmsmDS.html" title="Simulator of PMSM machine with predefined profile on omega.">pmsmDS</a>* tmp = <span class="keyword">new</span> <a class="code" href="classpmsmDS.html" title="Simulator of PMSM machine with predefined profile on omega.">pmsmDS</a> ( ); |
100 | | <a name="l00054"></a>00054 <span class="comment">//Calling function tmp->tmp_set</span> |
101 | | <a name="l00055"></a>00055 UIcall<pmsmDS*> ( S[<span class="stringliteral">"params"</span>], &tmp_set , tmp ); |
102 | | <a name="l00056"></a>00056 <span class="comment">//</span> |
103 | | <a name="l00057"></a>00057 <span class="keywordflow">if</span> ( S.exists ( <span class="stringliteral">"profile"</span> ) ) { |
104 | | <a name="l00058"></a>00058 tmp-><a class="code" href="classpmsmDS.html#60d213a13fd9c3b4ac9e8202ca5d772e">set_profile</a> ( S[<span class="stringliteral">"tstep"</span>],getvec ( S[<span class="stringliteral">"profile"</span>] ) ); |
105 | | <a name="l00059"></a>00059 } |
106 | | <a name="l00060"></a>00060 <span class="keywordflow">else</span> { |
107 | | <a name="l00061"></a>00061 tmp-><a class="code" href="classpmsmDS.html#60d213a13fd9c3b4ac9e8202ca5d772e">set_profile</a> ( 1.0, vec ( <span class="stringliteral">"1"</span> ) ); |
108 | | <a name="l00062"></a>00062 } |
109 | | <a name="l00063"></a>00063 <span class="keywordflow">return</span> tmp; |
110 | | <a name="l00064"></a>00064 }; |
111 | | <a name="l00065"></a>00065 |
112 | | <a name="l00066"></a>00066 }; |
113 | | <a name="l00067"></a>00067 UIREGISTER ( <a class="code" href="classUIpmsmDS.html" title="UI for pmsmDS,.">UIpmsmDS</a> ); |
| 89 | <a name="l00043"></a><a class="code" href="classUIpmsmOM.html">00043</a> <span class="keyword">class </span><a class="code" href="classUIpmsmOM.html" title="UI for pmsm observation model.">UIpmsmOM</a>: <span class="keyword">public</span> <a class="code" href="classbdm_1_1UIbuilder.html" title="Builds computational object from a UserInfo structure.">UIbuilder</a> { |
| 90 | <a name="l00044"></a>00044 <span class="keyword">public</span>: |
| 91 | <a name="l00045"></a>00045 <a class="code" href="classUIpmsmOM.html" title="UI for pmsm observation model.">UIpmsmOM</a>():<a class="code" href="classbdm_1_1UIbuilder.html#c75103dd58395644e80f1eea886c656b" title="Constructor needs to be run only once macro UIREGISTER.">UIbuilder</a>(<span class="stringliteral">"pmsmOM"</span>){}; |
| 92 | <a name="l00046"></a><a class="code" href="classUIpmsmOM.html#3135772387690bf3196c13965d3eb903">00046</a> <a class="code" href="classbdm_1_1bdmroot.html" title="Root class of BDM objects.">bdmroot</a>* <a class="code" href="classUIpmsmOM.html#3135772387690bf3196c13965d3eb903" title="Function building the computational object.">build</a> ( Setting &S )<span class="keyword"> const </span>{ |
| 93 | <a name="l00047"></a>00047 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classOMpmsm.html" title="Observation model for PMSM drive and its derivative with respect to .">OMpmsm</a>; |
| 94 | <a name="l00048"></a>00048 } |
| 95 | <a name="l00049"></a>00049 }; |
| 96 | <a name="l00050"></a>00050 UIREGISTER ( <a class="code" href="classUIpmsmOM.html" title="UI for pmsm observation model.">UIpmsmOM</a> ); |
| 97 | <a name="l00051"></a>00051 |
| 98 | <a name="l00052"></a>00052 |
| 99 | <a name="l00053"></a>00053 |
| 100 | <a name="l00055"></a><a class="code" href="classUIpmsmDS.html">00055</a> <span class="keyword">class </span><a class="code" href="classUIpmsmDS.html" title="UI for pmsmDS,.">UIpmsmDS</a>: <span class="keyword">public</span> <a class="code" href="classbdm_1_1UIbuilder.html" title="Builds computational object from a UserInfo structure.">UIbuilder</a> { |
| 101 | <a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keywordtype">void</span> tmp_set ( Setting &S, <a class="code" href="classpmsmDS.html" title="Simulator of PMSM machine with predefined profile on omega.">pmsmDS</a>* <a class="code" href="classbdm_1_1DS.html" title="Abstract class for discrete-time sources of data.">DS</a> ) { |
| 102 | <a name="l00057"></a>00057 <span class="comment">//pmsmsim_set_parameters (( Rs0, Ls0, Fmag0, Bf0, p0, kp0, J0, Uc0, DT0, dt0);</span> |
| 103 | <a name="l00058"></a>00058 DS-><a class="code" href="classpmsmDS.html#73073ee4f905af3f9f96a6130e9a9e22">set_parameters</a> ( S[<span class="stringliteral">"Rs"</span>], S[<span class="stringliteral">"Ls"</span>], S[<span class="stringliteral">"Fmag"</span>], S[<span class="stringliteral">"Bf"</span>], S[<span class="stringliteral">"p"</span>], S[<span class="stringliteral">"kp"</span>], \ |
| 104 | <a name="l00059"></a>00059 S[<span class="stringliteral">"J"</span>], S[<span class="stringliteral">"Uc"</span>], S[<span class="stringliteral">"DT"</span>], 1.0e-6 ); |
| 105 | <a name="l00060"></a>00060 }; |
| 106 | <a name="l00061"></a>00061 <span class="keyword">public</span>: |
| 107 | <a name="l00062"></a>00062 <a class="code" href="classUIpmsmDS.html" title="UI for pmsmDS,.">UIpmsmDS</a>() :<a class="code" href="classbdm_1_1UIbuilder.html#c75103dd58395644e80f1eea886c656b" title="Constructor needs to be run only once macro UIREGISTER.">UIbuilder</a> ( <span class="stringliteral">"pmsmDS"</span> ) {}; |
| 108 | <a name="l00063"></a><a class="code" href="classUIpmsmDS.html#bccf3ecf6a270599c2d2fc1005ab13af">00063</a> <a class="code" href="classbdm_1_1bdmroot.html" title="Root class of BDM objects.">bdmroot</a>* <a class="code" href="classUIpmsmDS.html#bccf3ecf6a270599c2d2fc1005ab13af" title="Function building the computational object.">build</a> ( Setting &S )<span class="keyword"> const </span>{ |
| 109 | <a name="l00064"></a>00064 <a class="code" href="classpmsmDS.html" title="Simulator of PMSM machine with predefined profile on omega.">pmsmDS</a>* tmp = <span class="keyword">new</span> <a class="code" href="classpmsmDS.html" title="Simulator of PMSM machine with predefined profile on omega.">pmsmDS</a> ( ); |
| 110 | <a name="l00065"></a>00065 <span class="comment">//Calling function tmp->tmp_set</span> |
| 111 | <a name="l00066"></a>00066 UIcall<pmsmDS*> ( S[<span class="stringliteral">"params"</span>], &tmp_set , tmp ); |
| 112 | <a name="l00067"></a>00067 <span class="comment">//</span> |
| 113 | <a name="l00068"></a>00068 <span class="keywordflow">if</span> ( S.exists ( <span class="stringliteral">"profile"</span> ) ) { |
| 114 | <a name="l00069"></a>00069 tmp-><a class="code" href="classpmsmDS.html#60d213a13fd9c3b4ac9e8202ca5d772e">set_profile</a> ( S[<span class="stringliteral">"tstep"</span>],getvec ( S[<span class="stringliteral">"profile"</span>] ) ); |
| 115 | <a name="l00070"></a>00070 } |
| 116 | <a name="l00071"></a>00071 <span class="keywordflow">else</span> { |
| 117 | <a name="l00072"></a>00072 tmp-><a class="code" href="classpmsmDS.html#60d213a13fd9c3b4ac9e8202ca5d772e">set_profile</a> ( 1.0, vec ( <span class="stringliteral">"1"</span> ) ); |
| 118 | <a name="l00073"></a>00073 } |
| 119 | <a name="l00074"></a>00074 <span class="keywordflow">return</span> tmp; |
| 120 | <a name="l00075"></a>00075 }; |
| 121 | <a name="l00076"></a>00076 |
| 122 | <a name="l00077"></a>00077 }; |
| 123 | <a name="l00078"></a>00078 UIREGISTER ( <a class="code" href="classUIpmsmDS.html" title="UI for pmsmDS,.">UIpmsmDS</a> ); |