Anda di halaman 1dari 4

http://designmp.

net/category/script-php/loja-virtual-script-php/
http://www.edaboard.com/thread288227.html
http://forums.futura-sciences.com/electronique/568460-communication-modbus-pic16
f877-2.html
http://www.waitingforfriday.com/index.php/PIC18F_USART_implementation_with_Go-ba
ck-N_ARQ
http://www.logicio.com/HTML/ioext-modbuscommands.htm
https://plus.google.com/communities/103448404752517561409/stream/dea89181-f213-4
514-8f00-e4b709d5f85e?hl=pt-BR
/*working variables*/
unsigned long lastTime;
double Input, Output, Setpoint;
double ITerm, lastInput;
double kp, ki, kd;
int SampleTime = 1000; //1 sec
double outMin, outMax;

https://mega.nz/#!zwB2nbhB!tUghXj9fEZCOO10oiG5zBcgO8L_T7-dUfIAIs8S0TAs
https://mega.nz/#!L55gmYbD!F8Vxo_d8fLmvKn35Xd4ZoPqXlPojXa4pxT5FUz_ZeE0
https://mega.nz/#!vohUlZoA!JDYOKORlrfz--5XHqL08Jq0CuyEFPvk5FznrcjJmkDs
https://mega.nz/#!G1Bi2S7Q!JZaGGHrHMsnbg1KOXkrvCdqZGduiWuEITdkLrPbWlWc
<link href="%%GLOBAL_TPL_PATH%%/Styles/hover.css" rel="stylesheet" media="all
">
void Compute()
{
unsigned long now = millis();
int timeChange = (now - lastTime);
if(timeChange>=SampleTime)
{
/*Compute all the working error variables*/
double error = Setpoint - Input;
ITerm+= (ki * error);
if(ITerm> outMax) ITerm= outMax;
else if(ITerm< outMin) ITerm= outMin;
double dInput = (Input - lastInput);
/*Compute PID Output*/
Output = kp * error + ITerm- kd * dInput;
if(Output > outMax) Output = outMax;
else if(Output < outMin) Output = outMin;
/*Remember some variables for next time*/
lastInput = Input;
lastTime = now;
}
}
void SetTunings(double Kp, double Ki, double Kd)
{
double SampleTimeInSec = ((double)SampleTime)/1000;
kp = Kp;

ki = Ki * SampleTimeInSec;
kd = Kd / SampleTimeInSec;
}
void SetSampleTime(int NewSampleTime)
{
if (NewSampleTime > 0)
{
double ratio = (double)NewSampleTime
/ (double)SampleTime;
ki *= ratio;
kd /= ratio;
SampleTime = (unsigned long)NewSampleTime;
}
}
void SetOutputLimits(double Min, double Max)
{
if(Min > Max) return;
outMin = Min;
outMax = Max;
if(Output > outMax) Output = outMax;
else if(Output < outMin) Output = outMin;
if(ITerm> outMax) ITerm= outMax;
else if(ITerm< outMin) ITerm= outMin;
}

if(SHT7x_Temperature >= 10000) {


#ifdef nokia_3310
Nokia_3310_Set_Position(0, 0);
Nokia_3310_LCD_Write_CP(Tmp[0]);
Nokia_3310_Set_Position(6, 0);
Nokia_3310_LCD_Write_CP(Tmp[1]);
Nokia_3310_Set_Position(12, 0);
Nokia_3310_LCD_Write_CP(Tmp[2]);
Nokia_3310_Set_Position(18, 0);
Nokia_3310_LCD_Write_CP('.');
Nokia_3310_Set_Position(24, 0);
Nokia_3310_LCD_Write_CP(Tmp[3]);
Nokia_3310_Set_Position(30, 0);
Nokia_3310_LCD_Write_CP(Tmp[4]);
#endif
#ifdef nokia_pcd
/*
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
*/
#endif

0,
1,
2,
3,
4,
5,

Tmp[0]);
Tmp[1]);
Tmp[2]);
'.');
Tmp[3]);
Tmp[4]);

}
else if(SHT7x_Temperature < 10000 && SHT7x_Temperature >= 1000) {
#ifdef nokia_3310

Nokia_3310_Set_Position(0, 0);
Nokia_3310_LCD_Write_CP(' ');
Nokia_3310_Set_Position(6, 0);
Nokia_3310_LCD_Write_CP(Tmp[1]);
Nokia_3310_Set_Position(12, 0);
Nokia_3310_LCD_Write_CP(Tmp[2]);
Nokia_3310_Set_Position(18, 0);
Nokia_3310_LCD_Write_CP('.');
Nokia_3310_Set_Position(24, 0);
Nokia_3310_LCD_Write_CP(Tmp[3]);
Nokia_3310_Set_Position(30, 0);
Nokia_3310_LCD_Write_CP(Tmp[4]);
#endif
#ifdef nokia_pcd
/*
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
*/
#endif

0,
1,
2,
3,
4,
5,

' ');
Tmp[1]);
Tmp[2]);
'.');
Tmp[3]);
Tmp[4]);

}
else if(SHT7x_Temperature < 1000 & SHT7x_Temperature >= 100) {
#ifdef nokia_3310
Nokia_3310_Set_Position(0, 0);
Nokia_3310_LCD_Write_CP(' ');
Nokia_3310_Set_Position(6, 0);
Nokia_3310_LCD_Write_CP(' ');
Nokia_3310_Set_Position(12, 0);
Nokia_3310_LCD_Write_CP(Tmp[2]);
Nokia_3310_Set_Position(18, 0);
Nokia_3310_LCD_Write_CP('.');
Nokia_3310_Set_Position(24, 0);
Nokia_3310_LCD_Write_CP(Tmp[3]);
Nokia_3310_Set_Position(30, 0);
Nokia_3310_LCD_Write_CP(Tmp[4]);
#endif
#ifdef nokia_pcd
/*
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
*/
#endif

0,
1,
2,
3,
4,
5,

' ');
' ');
Tmp[2]);
'.');
Tmp[3]);
Tmp[4]);

}
else if(SHT7x_Temperature < 100 && SHT7x_Temperature >= 0) {
#ifdef nokia_3310
Nokia_3310_Set_Position(0, 0);
Nokia_3310_LCD_Write_CP(' ');
Nokia_3310_Set_Position(6, 0);
Nokia_3310_LCD_Write_CP(' ');
Nokia_3310_Set_Position(12, 0);
Nokia_3310_LCD_Write_CP('0');

Nokia_3310_Set_Position(18, 0);
Nokia_3310_LCD_Write_CP('.');
Nokia_3310_Set_Position(24, 0);
Nokia_3310_LCD_Write_CP(Tmp[3]);
Nokia_3310_Set_Position(30, 0);
Nokia_3310_LCD_Write_CP(Tmp[4]);
#endif
#ifdef nokia_pcd
/*
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
NOKIA_Chr(0,
*/
#endif
}

0,
1,
2,
3,
4,
5,

' ');
' ');
Tmp[2]);
'.');
Tmp[3]);
Tmp[4]);

Anda mungkin juga menyukai