⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 water.cpp

📁 很好c语言编写的pid算法,具有很好的参考价值
💻 CPP
字号:
////////////////////////////////////////////////////////
//	僼傽僀儖偺愢柧丗僥僗僩梡偺悈僋儔僗幚懱
////////////////////////////////////////////////////////
#include <iostream.h>
#include "Water.h"
#include "RealTimeClock.h"

extern ClockTime __nowTime;

////////////////////////////////////////////////////////
//	僋儔僗丗僥僗僩梡偺悈僋儔僗
//	婡  擻丗僐儞僗僩儔僋僞
//			悈壏丄悈検偺弶婜愝掕傪偍偙側偆
//	堷  悢丗側偟
//	栠傝抣丗側偟
////////////////////////////////////////////////////////
Water::Water()
{
	this->roomTemp = 25.0;			// 幒壏
	this->temp = this->roomTemp;	// 悈壏 = 幒壏
	this->volume = 500.0;			// 悈検 500ml
	this->heater = FALSE;			// 僸乕僞乕 OFF 忬懺
	this->elaps = 0;

}

////////////////////////////////////////////////////////
//	僋儔僗丗僥僗僩梡偺悈僋儔僗
//	婡  擻丗帪娫傪宱夁偝偣傞
//			僸乕僞偺 ON/OFF 忬懺偲宱夁帪娫偱悈壏傪曄壔偝偣傞丅
//			曄壔検偼堦師幃偱
//			僸乕僞 ON 偺偲偒乮 10暘偱 50亷忋偑傞偲偡傞乯
//				temp = temp + time * (50 / (60*10))
//				忋尷偼 100 亷
//			僸乕僞 OFF 偺偲偒乮 10暘偱 5亷壓偑傞偲偡傞乯
//				temp = temp - time * ( 5 / (60*10))
//				壓尷偼幒壏
//			偲傝偁偊偢悈検偼尒偰偄側偄丅
//	堷  悢丗宱夁偝偣傞帪娫
//	栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID Water::giveTime( USHORT time )
{
	if( this->heater )
	{
		// 僸乕僞 ON 偺偲偒
		double nextTemp = this->temp + (double)time * 50.0 / (60.0*10.0);
		if( nextTemp > 100.0 )
		{
			this->temp = 100.0;			// 100亷挻偺帪
		}
		else
		{
			this->temp = nextTemp;		// 100亷枹枮偺帪
		}
	}
	else
	{
		// 僸乕僞 OFF 偺偲偒
		double nextTemp = this->temp - (double)time * 5.0 / (60.0*10.0);
		if( nextTemp < this->roomTemp )
		{
			this->temp = this->roomTemp;	// 幒壏枹枮偺帪
		}
		else
		{
			this->temp = nextTemp;		// 幒壏埲忋偺帪
		}
	}
	this->elaps += time;
	CHAR timeStr[10];
	__nowTime.getTimeStr( timeStr );
	cout << timeStr << " = " << this->temp << endl;
};

////////////////////////////////////////////////////////
//	僌儘乕僶儖娭悢
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
//	婡  擻丗悈僆僽僕僃僋僩庢摼
//			悈僆僽僕僃僋僩偺惗惉偲僆僽僕僃僋僩億僀儞僞偺庢摼
//	堷  悢丗側偟
//	栠傝抣丗悈僆僽僕僃僋僩
////////////////////////////////////////////////////////
Water * getWaterObject()
{
	static Water waterObj;
	return &waterObj;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -