Eurotherm
Contents |
Instroduction
Eurotherm 3216 is a temperature controller. To talk to Eurotherm one need to use Modbus device serves. Connection to Modbus is done via the Serialline.
Tango Device Server settings
Eurotherm
#---------------------------------------------------------
# SERVER Eurotherm/gumstix, Eurotherm device declaration
#---------------------------------------------------------
Eurotherm/gumstix/DEVICE/Eurotherm: "gumstix/eurotherm/1"
Modbus
#---------------------------------------------------------
# SERVER Modbus/gumstix, Modbus device declaration
#---------------------------------------------------------
Modbus/gumstix/DEVICE/Modbus: "gumstix/modbus/1"
# --- gumstix/modbus/1 properties
gumstix/modbus/1->Protocol: RTU
gumstix/modbus/1->Serialline: "gumstix/serial/1"
Serialline
#---------------------------------------------------------
# SERVER Modbus/gumstix, Serial device declaration
#---------------------------------------------------------
Modbus/gumstix/DEVICE/Serial: "gumstix/serial/1"
# --- gumstix/serial/1 properties
gumstix/serial/1->Serialline: "/dev/ttyS0"
gumstix/serial/1->Timeout: 1000
Device Server
Attributes
- Temperature - (Read/Write)
- SetPoint - (Read/Write)
- Rate - (Read/Write)
- Mode - (Read/Write)
- CalculatedError - (Read)
Implementation
TemperatureController abstract class
Some information which I've found useful and are not included to "The Abstract Device Pattern" by Andy Gotz.
- Declarations of attributes can be removed from MyConcrete.h
- Since there is no such a method as init in MyAbstractDeviceClass, following lines from MyAbstractDeviceClass.cpp have to be commented out:
Tango::DeviceClass *_create_MyAbstractDevice_class(const char *name)
{
return MyAbstractDevice_ns::MyAbstractDeviceClass::init(name);
}
link if another directory
ln -s ../TemperatureReader/TemperatureReaderClass.cpp .



