Examples of temperature controls carried out with an USB data acquisition module from TECHNETEA
The same installation as before is used to illustrate some quick examples ot temperature controls with a setpoint of 40°C.
The temperature control is carried out in real time by a PC computer, to which is connected the USB data acquisition module. The temperature control function is written in JavaScript in an HTML page. This allows a very quick evaluation of various methods, without the need of a compiler.
In each of the 3 following examples, the temperature control function is called 4 times per second.
 
    
    
   
   
//**********************************************************************************************************************
//****	Temperature control
//**********************************************************************************************************************
/* Temperature control on T1, with a rather too simple process but sometimes quite suffisant
*/
var	_SETPOINT = 40;
function TemperatureControl()
{
	var	module = document.getElementById("TPR1H3RE").m_oEquipment;  // link to module Serial Number TPR1H3RE
	var	T1 = module.Value[1];			// read temperature T1 on the channel 1 of the module
	if( T1 < _SETPOINT ) 				// if T1 is below the SetPoint ... 
		module.SetDataChannel(4, 1); 		// heating ON
	else 
		module.SetDataChannel(4, 0); 		// if not, stop heating
}
//**********************************************************************************************************************
//****	Temperature control
//**********************************************************************************************************************
/* Temperature control on T2, with the same process as before.
*/
var	_SETPOINT = 40;
function TemperatureControl()
{
	var	module = document.getElementById("TPR1H3RE").m_oEquipment;  // link to module Serial Number TPR1H3RE
	var	T2 = module.Value[2];			// read temperature T2 on the channel 2 of the module
	if( T2 < _SETPOINT ) 				// if T2 is below the SetPoint  ... 
		module.SetDataChannel(4, 1); 		// heating ON
	else 
		module.SetDataChannel(4, 0); 		// if not, stop heating
}
//**********************************************************************************************************************
//****	Temperature control
//**********************************************************************************************************************
/* Temperature control on T2 with a little more efficient process. The function is called every 250 ms.
*/
var	TimeCounter=0, DeltaTemp = 0, LastValue = 0;
var	_SETPOINT = 40;
function TemperatureControl()
{
	var	module = document.getElementById("TPR1H3RE").m_oEquipment;  // link to module Serial Number TPR1H3RE
	var	T2 = module.Value[2];			// read temperature T2 on the channel 2 of the module
	if(++TimeCounter >= 12)				// do the calculation every 3 seconds (12 x 250 ms)
	{	DeltaTemp = T2 - LastValue;		// DelTemp is the temperature change in 3 seconds
		LastValue = T2;				// store temperature T2 for the next cakculation of DeltaTemp
		TimeCounter = 0;			// reset the timer
	}
	if( (T2 + 1*DeltaTemp) < _SETPOINT ) 		// if T2 + ALPHA* DeltaT2 is below the SetPoint ... 
		module.SetDataChannel(4, 1); 		// heating ON
	else 
		module.SetDataChannel(4, 0); 		// if not, stop heating
}