A two-point controller, also knows as a Bang-Bang or On-off controller, is a closed loop system – a measured parameter is compared to an operator specified set point and if the measured parameter is not equal to the set point, an action is taken in the form of turning something on or off. The idea here is to bring the measured parameter more closely in line with the set point.
An example of a two-point controller is the thermostat or HVAC controller you have in your home. When set for heat, if the temperature drops below the threshold you specify, the home heating system turns on until the temperature equals or exceeds the threshold and at that point the system turns back off.
To operate a two-point temperature controller, you need a data acquisition device capable of measuring temperature and one digital output bit. Measurement Computing offers many options such as the E-TC, TC-32, USB-TC/TEMP, USB-5201/3, the USB-2408 and USB-2416.
Some of these devices, such as the E-TC, can run autonomously using InstaCal to configure the sensor type, temperature limits and alarms (to control the digital IO). Once powered up without the computer, these devices measure temperature and make decisions regarding the digital logic state based on the configured parameters. Alternatively, all the devices listed above can be operated by a program created with C++®, C#®, VB.NET™ or higher level programs such as DASYLab™ or NI LabVIEW™.
For the purposes of discussion, I will demonstrate using a thermocouple input on an E-TC utilizing a T type thermocouple. For control, I will use a digital output to control a fictional 120 VAC heater, and create the application in DASYLab.
The E-TC and external wiring to the heater:
DASYLab has a built-in module for two-point control as part of all versions except DASYLab Lite. Here is what a basic two-point control worksheet would look like:
And the Layout:
These are the basics of implementing a two-point temperature controller. There are some additional settings and options used here, but I wanted to keep focus on the process itself. For more information and examples of how to set this up in LabVIEW and VB.NET, check out our full KnowledgeBase article.