151 lines
32 KiB
XML
151 lines
32 KiB
XML
|
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||
|
|
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="_bsp___p_i_d_8cpp_source" xml:lang="zh">
|
||
|
|
<title>bsp_PID.cpp</title>
|
||
|
|
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_PID.cpp</primary></indexterm>
|
||
|
|
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___p_i_d_8cpp_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00002"/>00002 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00003"/>00003 <emphasis role="comment"> #  Copyright (c) 2022 Yuankang Liang(XerolySkinner)</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00004"/>00004 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00005"/>00005 <emphasis role="comment"> #  本软件按原样提供,无任何明示或暗示</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00006"/>00006 <emphasis role="comment"> #  在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00007"/>00007 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00008"/>00008 <emphasis role="comment"> #  使用的许可声明:</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00009"/>00009 <emphasis role="comment"> #  1.  不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00010"/>00010 <emphasis role="comment"> #  2.  免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00011"/>00011 <emphasis role="comment"> #      并且版权声明和许可声明同时出现.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00012"/>00012 <emphasis role="comment"> #  3.  你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00013"/>00013 <emphasis role="comment"> #  4.  如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00014"/>00014 <emphasis role="comment"> #  5.  本通知不得从任何来源删除或更改.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00015"/>00015 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00016"/>00016 <emphasis role="comment"> #  Yuankang Liang(XerolySkinner)</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00017"/>00017 <emphasis role="comment"> #      E-mail:zabbcccbbaz@163.com</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00018"/>00018 <emphasis role="comment"> #      QQ:2715099320</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00019"/>00019 <emphasis role="comment"> #      Mobile Phone:13005636215</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00020"/>00020 <emphasis role="comment"> #</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00021"/>00021 <emphasis role="comment"> #  All rights reserved.</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00022"/>00022 <emphasis role="comment"> */</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00023"/>00023
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00035"/>00035 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00036"/>00036 <emphasis role="comment">//  头文件</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00037"/>00037 <emphasis role="comment">//  </emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00038"/>00038 <emphasis role="preprocessor">#include "<link linkend="_bsp___p_i_d_8h">bsp_PID.h</link>"</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00040"/>00040 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00041"/>00041 <emphasis role="comment">//  类函数</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00042"/>00042 <emphasis role="comment">//  </emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00048"/><link linkend="_classbsp___position___p_i_d_1ac658466d8bc1d12fcd403c4b6f9ca9f7">00048</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">float</emphasis> <link linkend="_classbsp___position___p_i_d_1ac658466d8bc1d12fcd403c4b6f9ca9f7">bsp_Position_PID::PID</link>(<emphasis role="keywordtype">float</emphasis> temp) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00049"/>00049     <emphasis role="keywordtype">float</emphasis> thisError;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00050"/>00050     thisError = <link linkend="_classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc">target</link> - temp;      <emphasis role="comment">//当前误差等于设定值减去当前值</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00051"/>00051     <link linkend="_classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05">integral</link> += thisError;          <emphasis role="comment">//误差积分,把所有误差累加起来</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00052"/>00052     <link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link> = 
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00053"/>00053         <link linkend="_classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52">Kp</link> * thisError + 
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00054"/>00054         <link linkend="_classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68">Ki</link> * <link linkend="_classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05">integral</link> + 
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00055"/>00055         <link linkend="_classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75">Kd</link> * (thisError - <link linkend="_classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada">lasterror</link>);
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00056"/>00056     <link linkend="_classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada">lasterror</link> = thisError;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00057"/>00057
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00058"/>00058     <emphasis role="keywordflow">if</emphasis> (<link linkend="_classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a">result_H</link> == <link linkend="_classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196">result_L</link>)<emphasis role="keywordflow">return</emphasis> <link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00059"/>00059     <emphasis role="keywordflow">if</emphasis> (<link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link> >= <link linkend="_classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a">result_H</link>)<link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link> == <link linkend="_classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a">result_H</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00060"/>00060     <emphasis role="keywordflow">else</emphasis> <emphasis role="keywordflow">if</emphasis> (<link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link> <= <link linkend="_classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196">result_L</link>)<link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link> == <link linkend="_classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196">result_L</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00061"/>00061     <emphasis role="keywordflow">return</emphasis> <link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00062"/>00062 }
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00063"/>00063 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00069"/><link linkend="_classbsp___increment___p_i_d_1a7f39310ecc4cd1f8029a6545bd37e0a9">00069</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">float</emphasis> <link linkend="_classbsp___increment___p_i_d_1a7f39310ecc4cd1f8029a6545bd37e0a9">bsp_Increment_PID::PID</link>(<emphasis role="keywordtype">float</emphasis> temp) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00070"/>00070     <emphasis role="keywordtype">float</emphasis> thisError=<link linkend="_classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1">target</link> - temp;  <emphasis role="comment">//当前误差等于设定值减去当前值</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00071"/>00071     <emphasis role="keywordtype">float</emphasis> increment;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00072"/>00072     <emphasis role="keywordtype">float</emphasis> pError, dError, iError;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00073"/>00073
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00074"/>00074     pError = thisError - <link linkend="_classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b">lasterror</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00075"/>00075     iError = thisError;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00076"/>00076     dError = thisError - 2 * <link linkend="_classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b">lasterror</link> + <link linkend="_classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82">preerror</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00077"/>00077
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00078"/>00078     increment = 
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00079"/>00079         <link linkend="_classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b">Kp</link> * pError + 
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00080"/>00080         <link linkend="_classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec">Ki</link> * iError + 
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00081"/>00081         <link linkend="_classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627">Kd</link> * dError;                <emphasis role="comment">//增量计算</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00082"/>00082     <link linkend="_classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82">preerror</link> = <link linkend="_classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b">lasterror</link>;           <emphasis role="comment">//存放偏差用于下次运算</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00083"/>00083     <link linkend="_classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b">lasterror</link> = thisError;          <emphasis role="comment">//存放偏差用于下次运算</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00084"/>00084     <link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link> += increment;            <emphasis role="comment">//上次结果叠加增量</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00085"/>00085
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00086"/>00086     <emphasis role="keywordflow">if</emphasis> (<link linkend="_classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a">result_H</link> == <link linkend="_classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd">result_L</link>)<emphasis role="keywordflow">return</emphasis> <link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00087"/>00087     <emphasis role="keywordflow">if</emphasis> (<link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link> >= <link linkend="_classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a">result_H</link>)<link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link> == <link linkend="_classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a">result_H</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00088"/>00088     <emphasis role="keywordflow">else</emphasis> <emphasis role="keywordflow">if</emphasis> (<link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link> <= <link linkend="_classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd">result_L</link>)<link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link> == <link linkend="_classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd">result_L</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00089"/>00089     <emphasis role="keywordflow">return</emphasis> <link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link>;}
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00090"/>00090 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00091"/>00091 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00096"/><link linkend="_classbsp___position___p_i_d_1a7b60d7f8a80c632c501561e7e0765f14">00096</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___position___p_i_d_1a7b60d7f8a80c632c501561e7e0765f14">bsp_Position_PID::clean</link>(<emphasis role="keywordtype">void</emphasis>) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00097"/>00097     <link linkend="_classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05">integral</link> = 0;       <emphasis role="comment">//积分值</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00098"/>00098     <link linkend="_classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada">lasterror</link> = 0;      <emphasis role="comment">//前一拍偏差</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00099"/>00099     <link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">result</link> = 0;         <emphasis role="comment">//输出值</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00100"/>00100     }
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00101"/>00101 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00106"/><link linkend="_classbsp___increment___p_i_d_1aa1cab8492ec6a289debfc215689d9b38">00106</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___increment___p_i_d_1aa1cab8492ec6a289debfc215689d9b38">bsp_Increment_PID::clean</link>(<emphasis role="keywordtype">void</emphasis>) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00107"/>00107     <link linkend="_classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b">lasterror</link> = 0;      <emphasis role="comment">//前一拍偏差   </emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00108"/>00108     <link linkend="_classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82">preerror</link> = 0;       <emphasis role="comment">//前两拍偏差</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00109"/>00109     <link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">result</link> = 0;         <emphasis role="comment">//输出值</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00110"/>00110     }
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00111"/>00111 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00112"/>00112 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00119"/><link linkend="_classbsp___position___p_i_d_1add37a6f47b3f9b6dd0d945def8ed2ef1">00119</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___position___p_i_d_1add37a6f47b3f9b6dd0d945def8ed2ef1">bsp_Position_PID::set</link>(<emphasis role="keywordtype">float</emphasis> P, <emphasis role="keywordtype">float</emphasis> I, <emphasis role="keywordtype">float</emphasis> D) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00120"/>00120     <link linkend="_classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52">Kp</link> = P; <link linkend="_classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68">Ki</link> = I; <link linkend="_classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75">Kd</link> = D;}
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00121"/>00121 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00128"/><link linkend="_classbsp___increment___p_i_d_1aeddd6d60b615571d390653e9a958b2b4">00128</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___increment___p_i_d_1aeddd6d60b615571d390653e9a958b2b4">bsp_Increment_PID::set</link>(<emphasis role="keywordtype">float</emphasis> P, <emphasis role="keywordtype">float</emphasis> I, <emphasis role="keywordtype">float</emphasis> D) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00129"/>00129     <link linkend="_classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b">Kp</link> = P; <link linkend="_classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec">Ki</link> = I; <link linkend="_classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627">Kd</link> = D;}
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00131"/>00131 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00132"/>00132 <emphasis role="comment">//  构造函数</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00133"/>00133 <emphasis role="comment">//  </emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00134"/><link linkend="_classbsp___position___p_i_d_1ac50b1ff29153eed1fcb252a3eee2aa69">00134</link> <link linkend="_classbsp___position___p_i_d_1ac50b1ff29153eed1fcb252a3eee2aa69">bsp_Position_PID::bsp_Position_PID</link>(<emphasis role="keywordtype">void</emphasis>) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00135"/>00135     <link linkend="_classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc">bsp_Position_PID::target</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00136"/>00136     <link linkend="_classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada">bsp_Position_PID::lasterror</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00137"/>00137     <link linkend="_classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52">bsp_Position_PID::Kp</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00138"/>00138     <link linkend="_classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68">bsp_Position_PID::Ki</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00139"/>00139     <link linkend="_classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75">bsp_Position_PID::Kd</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00140"/>00140     <link linkend="_classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05">bsp_Position_PID::integral</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00141"/>00141     <link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">bsp_Position_PID::result</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00142"/>00142     <link linkend="_classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a">bsp_Position_PID::result_H</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00143"/>00143     <link linkend="_classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196">bsp_Position_PID::result_L</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00144"/>00144 }
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00145"/>00145 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00155"/><link linkend="_classbsp___position___p_i_d_1aa16c488294e5bfba71c8ef83ee76a250">00155</link> <emphasis role="comment"></emphasis><link linkend="_classbsp___position___p_i_d_1ac50b1ff29153eed1fcb252a3eee2aa69">bsp_Position_PID::bsp_Position_PID</link>(
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00156"/>00156         <emphasis role="keywordtype">float</emphasis> Kp, <emphasis role="keywordtype">float</emphasis> Ki, <emphasis role="keywordtype">float</emphasis> Kd, <emphasis role="keywordtype">float</emphasis> target,
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00157"/>00157         <emphasis role="keywordtype">float</emphasis> result_H, <emphasis role="keywordtype">float</emphasis> result_L) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00158"/>00158     <link linkend="_classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc">bsp_Position_PID::target</link> = <link linkend="_classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc">target</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00159"/>00159     <link linkend="_classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada">bsp_Position_PID::lasterror</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00160"/>00160     <link linkend="_classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52">bsp_Position_PID::Kp</link> = <link linkend="_classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52">Kp</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00161"/>00161     <link linkend="_classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68">bsp_Position_PID::Ki</link> = <link linkend="_classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68">Ki</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00162"/>00162     <link linkend="_classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75">bsp_Position_PID::Kd</link> = <link linkend="_classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75">Kd</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00163"/>00163     <link linkend="_classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05">bsp_Position_PID::integral</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00164"/>00164     <link linkend="_classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2">bsp_Position_PID::result</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00165"/>00165     <link linkend="_classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a">bsp_Position_PID::result_H</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00166"/>00166     <link linkend="_classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196">bsp_Position_PID::result_L</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00167"/>00167 }
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00168"/>00168 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00169"/><link linkend="_classbsp___position___p_i_d_1a9cd33ec75d5ca15939d132644d4ceea8">00169</link> <link linkend="_classbsp___position___p_i_d_1a9cd33ec75d5ca15939d132644d4ceea8">bsp_Position_PID::~bsp_Position_PID</link>(<emphasis role="keywordtype">void</emphasis>) {}
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00170"/>00170 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00171"/><link linkend="_classbsp___increment___p_i_d_1a1dec336ee026d7e1148dfb68052055d2">00171</link> <link linkend="_classbsp___increment___p_i_d_1a1dec336ee026d7e1148dfb68052055d2">bsp_Increment_PID::bsp_Increment_PID</link>(<emphasis role="keywordtype">void</emphasis>) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00172"/>00172     <link linkend="_classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1">bsp_Increment_PID::target</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00173"/>00173     <link linkend="_classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b">bsp_Increment_PID::lasterror</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00174"/>00174     <link linkend="_classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82">bsp_Increment_PID::preerror</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00175"/>00175     <link linkend="_classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b">bsp_Increment_PID::Kp</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00176"/>00176     <link linkend="_classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec">bsp_Increment_PID::Ki</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00177"/>00177     <link linkend="_classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627">bsp_Increment_PID::Kd</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00178"/>00178     <link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">bsp_Increment_PID::result</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00179"/>00179     <link linkend="_classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a">bsp_Increment_PID::result_H</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00180"/>00180     <link linkend="_classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd">bsp_Increment_PID::result_L</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00181"/>00181 }
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00182"/>00182 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00192"/><link linkend="_classbsp___increment___p_i_d_1a33b07a33c9ba2accc10a4bcf5a8b7be9">00192</link> <emphasis role="comment"></emphasis><link linkend="_classbsp___increment___p_i_d_1a1dec336ee026d7e1148dfb68052055d2">bsp_Increment_PID::bsp_Increment_PID</link>(
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00193"/>00193         <emphasis role="keywordtype">float</emphasis> Kp, <emphasis role="keywordtype">float</emphasis> Ki, <emphasis role="keywordtype">float</emphasis> Kd, <emphasis role="keywordtype">float</emphasis> target,
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00194"/>00194     <emphasis role="keywordtype">float</emphasis> result_H, <emphasis role="keywordtype">float</emphasis> result_L) {
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00195"/>00195     <link linkend="_classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1">bsp_Increment_PID::target</link> = <link linkend="_classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1">target</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00196"/>00196     <link linkend="_classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b">bsp_Increment_PID::lasterror</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00197"/>00197     <link linkend="_classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82">bsp_Increment_PID::preerror</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00198"/>00198     <link linkend="_classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b">bsp_Increment_PID::Kp</link> = <link linkend="_classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b">Kp</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00199"/>00199     <link linkend="_classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec">bsp_Increment_PID::Ki</link> = <link linkend="_classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec">Ki</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00200"/>00200     <link linkend="_classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627">bsp_Increment_PID::Kd</link> = <link linkend="_classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627">Kd</link>;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00201"/>00201     <link linkend="_classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40">bsp_Increment_PID::result</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00202"/>00202     <link linkend="_classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a">bsp_Increment_PID::result_H</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00203"/>00203     <link linkend="_classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd">bsp_Increment_PID::result_L</link> = 0;
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00204"/>00204 }
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00205"/>00205 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
||
|
|
<anchor xml:id="_bsp___p_i_d_8cpp_source_1l00206"/><link linkend="_classbsp___increment___p_i_d_1a3eb46ef6d491464f9cc8bfdc0ded1155">00206</link> <link linkend="_classbsp___increment___p_i_d_1a3eb46ef6d491464f9cc8bfdc0ded1155">bsp_Increment_PID::~bsp_Increment_PID</link>(<emphasis role="keywordtype">void</emphasis>) {}
|
||
|
|
</programlisting></section>
|