亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pid2.c

?? PID微分,積分算法程序,編譯已通過,可以直接使用!
?? C
字號:
#include <stdio.h>#include<math.h>struct _pid {	int pv; /*integer that contains the process value*/	int sp; /*integer that contains the set point*/	float integral;	float pgain;	float igain;	float dgain;	int deadband;	int last_error;};struct _pid warm,*pid;int process_point, set_point,dead_band; float p_gain, i_gain, d_gain, integral_val,new_integ;;                                                                                                                                                     /*------------------------------------------------------------------------ pid_init                                                                                                                                              DESCRIPTION This function initializes the pointers in the _pid structure   to the process variable and the setpoint. *pv and *sp are                  integer pointers.                                                          ------------------------------------------------------------------------*/ void pid_init(struct _pid *warm, int process_point, int set_point){ 	struct _pid *pid;   	pid = warm;  	pid->pv = process_point;  	pid->sp = set_point; } /*------------------------------------------------------------------------ pid_tune DESCRIPTION Sets the proportional gain (p_gain), integral gain (i_gain), derivitive gain (d_gain), and the dead band (dead_band) of a pid control structure _pid. ------------------------------------------------------------------------*/ void pid_tune(struct _pid *pid, float p_gain, float i_gain, float d_gain, int dead_band) {  	pid->pgain = p_gain;  	pid->igain = i_gain;  	pid->dgain = d_gain;  	pid->deadband = dead_band;  	pid->integral= integral_val;  	pid->last_error=0; } /*------------------------------------------------------------------------ pid_setinteg DESCRIPTION Set a new value for the integral term of the pid equation. This is useful for setting the initial output of the pid controller at start up. ------------------------------------------------------------------------*/ void pid_setinteg(struct _pid *pid,float new_integ){  pid->integral = new_integ;  pid->last_error = 0; } /*------------------------------------------------------------------------ pid_bumpless DESCRIPTION Bumpless transfer algorithim. When suddenly changing setpoints, or when restarting the PID equation after an extended pause, the derivative of the equation can cause a bump in the controller output. This function will help smooth out that bump. The process value in *pv should be the updated just before this function is used. ------------------------------------------------------------------------*/ void pid_bumpless(struct _pid *pid) {  	pid->last_error = (pid->sp)-(pid->pv);  } /*------------------------------------------------------------------------ pid_calc DESCRIPTION Performs PID calculations for the _pid structure *a. This function uses the positional form of the pid equation, and incorporates an integral windup prevention algorithim. Rectangular integration is used, so this function must be repeated on a consistent time basis for accurate control. RETURN VALUE The new output value for the pid loop. USAGE #include "control.h"*/ float pid_calc(struct _pid *pid){ 	int err;	float pterm, dterm, result, ferror;   	err = (pid->sp) - (pid->pv);  	if (abs(err) > pid->deadband)  	{  		ferror = (float) err; /*do integer to float conversion only once*/  		pterm = pid->pgain * ferror;  		if (pterm > 100 || pterm < -100) 		{ 			pid->integral = 0.0;  		} 		else  		{  			pid->integral += pid->igain * ferror;  			if (pid->integral > 100.0)  			{ 				pid->integral = 100.0;  			} 			else if (pid->integral < 0.0) 			{  				pid->integral = 0.0; 			}  		}  		dterm = ((float)(err - pid->last_error)) * pid->dgain;  		result = pterm + pid->integral + dterm;  	}  	else 	{  		result = pid->integral;  	} 	 	pid->last_error = err;  	return (result); }void main(void){ 	float display_value; 	int count=0; 	pid = &warm;	/* printf("Enter the values of Process point, Set point, P gain, I gain, D gain \n"); */	/* scanf("%d%d%f%f%f", &process_point, &set_point, &p_gain, &i_gain, &d_gain); */ 	process_point = 30; 	set_point = 40; 	p_gain = (float)(5.2); 	i_gain = (float)(0.77); 	d_gain = (float)(0.18); 	 	dead_band = 2; 	integral_val =(float)(0.01); 	 	printf("The values of Process point, Set point, P gain, I gain, D gain \n"); 	printf(" %6d %6d %4f %4f %4f\n", process_point, set_point, p_gain, i_gain, d_gain);	printf("Enter the values of Process point\n"); 	while(count<=20) 	{ 		scanf("%d",&process_point); 		pid_init(&warm, process_point, set_point); 		pid_tune(&warm, p_gain,i_gain,d_gain,dead_band); 		pid_setinteg(&warm,0.0); //pid_setinteg(&warm,30.0); 		 		/*Get input value for process point*/ 		pid_bumpless(&warm); 		/* how to display output */ 		display_value = pid_calc(&warm);  		printf("%f\n", display_value);  		/* printf("\n%f%f%f%f",warm.pv,warm.sp,warm.igain,warm.dgain); */ 		count++;  	} }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色悠悠久久综合| 亚洲精品视频一区| 黄一区二区三区| 精品日韩欧美一区二区| 久久国产剧场电影| 久久一夜天堂av一区二区三区| 免费不卡在线观看| 久久久亚洲国产美女国产盗摄| 福利一区二区在线| 亚洲欧美一区二区久久 | 日韩美女视频一区| 色婷婷综合久久久中文一区二区| 一区二区三区成人| 日韩你懂的在线观看| 国产精品18久久久久久久网站| 国产精品免费丝袜| 欧美色网一区二区| 黑人巨大精品欧美一区| ...av二区三区久久精品| 欧美午夜片在线看| 激情图片小说一区| 亚洲同性gay激情无套| 91精品国产综合久久精品性色| 国产精品中文字幕日韩精品| 亚洲精品美腿丝袜| 久久久一区二区| 欧美艳星brazzers| 国产乱人伦精品一区二区在线观看| 中文字幕一区二区三区在线不卡 | 国产欧美精品国产国产专区| 日本韩国欧美国产| 狠狠色丁香九九婷婷综合五月| 国产精品二三区| 日韩一区二区在线观看视频| 成人在线视频首页| 视频一区视频二区中文| 欧美激情综合在线| 91精品国产色综合久久ai换脸 | 播五月开心婷婷综合| 91久久精品网| 一区二区三区精品久久久| 欧美一区二区三区思思人| av爱爱亚洲一区| 丰满放荡岳乱妇91ww| 国产在线不卡一区| 亚洲国产日韩一级| 国产精品久久久久久久久快鸭| 3atv一区二区三区| 91蝌蚪porny| 国产精品白丝av| 蜜桃久久av一区| 亚洲自拍与偷拍| 综合中文字幕亚洲| 久久久国际精品| 日韩一区二区三区在线视频| 在线免费一区三区| 99精品视频一区二区| 国产酒店精品激情| 激情综合五月婷婷| 日本不卡一二三区黄网| 亚洲成在人线免费| 一级精品视频在线观看宜春院| 欧美国产一区在线| 国产亚洲精品精华液| 日韩久久久久久| 在线中文字幕一区二区| bt7086福利一区国产| 国产一区在线精品| 蜜臀99久久精品久久久久久软件 | 欧美日韩dvd在线观看| 91精品办公室少妇高潮对白| 91在线观看高清| 不卡高清视频专区| av欧美精品.com| av午夜精品一区二区三区| 99久久精品国产一区二区三区| 成人午夜精品在线| 国产精品久久777777| 色婷婷综合久色| 欧美在线免费视屏| 91久久精品一区二区二区| 在线观看av一区| 欧美在线观看18| 欧美高清一级片在线| 国产精品欧美极品| 国产成人午夜片在线观看高清观看| 香蕉久久夜色精品国产使用方法| 亚洲综合色区另类av| 亚洲一区二区视频| 日本中文一区二区三区| 蜜臀av一区二区三区| 国产精品一级片在线观看| 夫妻av一区二区| 色综合久久久久久久久| 欧美日韩一区二区三区四区 | 亚洲男女一区二区三区| 亚洲柠檬福利资源导航| 亚洲在线视频免费观看| 日韩精彩视频在线观看| 紧缚捆绑精品一区二区| 成人黄色av电影| 欧美三级乱人伦电影| 56国语精品自产拍在线观看| 久久亚洲精品国产精品紫薇 | 国产精品成人一区二区三区夜夜夜| 亚洲视频一区二区在线观看| 亚洲一区二区综合| 不卡的电视剧免费网站有什么| 日韩欧美色电影| 日本一区二区三区dvd视频在线| 中文字幕不卡一区| 亚洲国产精品欧美一二99| 日韩制服丝袜先锋影音| 国产91富婆露脸刺激对白| 色综合久久久久久久| 日韩欧美区一区二| 亚洲特级片在线| 欧美aaaaaa午夜精品| 成人性生交大片免费看在线播放 | 亚洲综合免费观看高清在线观看| 日韩av在线免费观看不卡| 国产iv一区二区三区| 欧美在线免费观看视频| 久久久久99精品一区| 亚洲一区二三区| 成人免费观看视频| 91精品国产麻豆国产自产在线 | 亚洲精品第一国产综合野| 强制捆绑调教一区二区| 97aⅴ精品视频一二三区| 欧美电影免费观看高清完整版在线观看| 国产精品人妖ts系列视频| 日韩和欧美一区二区三区| 99精品国产99久久久久久白柏 | 2021国产精品久久精品| 一区二区成人在线视频| 国产精品综合二区| 日韩一区二区精品在线观看| 国产91综合一区在线观看| 337p亚洲精品色噜噜噜| 国产区在线观看成人精品| 一区二区高清免费观看影视大全| 国产精品一二三四区| 欧美—级在线免费片| 久久精品国产亚洲aⅴ| 91香蕉视频污| 99热99精品| 91色九色蝌蚪| 成人avav影音| 白白色 亚洲乱淫| 大陆成人av片| 波多野结衣中文字幕一区| 国产大陆a不卡| 丰满少妇久久久久久久| 国产精品99久久久久久似苏梦涵| 免费成人在线影院| 美国精品在线观看| 韩国三级在线一区| 国产精选一区二区三区| 国产 欧美在线| 99久久婷婷国产精品综合| av在线不卡电影| 在线视频国内一区二区| 欧美性色aⅴ视频一区日韩精品| 欧美亚洲自拍偷拍| 欧美精品亚洲二区| 欧美成人国产一区二区| 久久先锋影音av| 日本一区二区成人在线| 亚洲视频小说图片| 亚洲国产wwwccc36天堂| 秋霞国产午夜精品免费视频| 九九**精品视频免费播放| 国产成人在线电影| 91美女片黄在线观看| 欧美高清精品3d| 精品国产一区二区亚洲人成毛片| 久久精品免视看| 亚洲一区二区三区四区不卡| 三级精品在线观看| 国产成人精品亚洲午夜麻豆| 91免费看片在线观看| 91精品欧美综合在线观看最新 | 麻豆精品久久久| 成人激情动漫在线观看| 欧美系列一区二区| 久久久99精品免费观看不卡| 亚洲免费视频中文字幕| 麻豆成人久久精品二区三区小说| 国产成人亚洲综合色影视| 欧美视频一区二区三区四区| 久久久久久麻豆| 一区二区三区成人在线视频| 精品一区二区在线免费观看| 色婷婷久久久久swag精品| 精品奇米国产一区二区三区| 一区二区不卡在线播放 | 久久久久久久久久久久久夜| 国产欧美视频一区二区| 亚洲午夜在线电影|