Eurotherm 3504 User Manual

Reads and writes information to Eurotherm controllers via Modbus RTU protocols. Currently only tested with serial RS232, but should work the same with RS485 if wired correctly. So far only tested with Eurotherm 2416 and 3216 temperature controllers but they all use the same language so it should be widely applicable. The code is well commented so you should be able to modify it easily. I've currently only implemented it using read and write n words (codes 3 and 16), but I'd be happy to implement the other features, such as fast status read etc. (code 7). This code is derived from that in CO2gui, but is implemented using the native MATLAB serial interface only.
To use it:
1. Generate the serial object (this one is done on COM7)
serialObject = tempobj(7);
2. Connect to the object:
tempobjconnect(serialObject)
3. Start sending commands!
format:
tempobjcomm(commandType, serialObject, deviceAddress, parameterAddress, values)
e.g. to get the set temperature and the current temperature (process variable) in one go, do:
(assuming a default device address of 1)
data = tempobjcomm('read', serialObject, 1, 1, 2);

where data(1) is the current temperature and data(2) is the set temperature. Note that if your temperature controller has decimal places on the front panel, the outputs using 'read' will be scaled. E.g. if 1 decimal place, 24.2 will be returned as 242.

Higher resolution can be obtained using 'readfullres' instead, and also avoids any scaling issues.

Three Eurotherm 3504 temperature controller and i wonder how. From there as I am expecting 18Vdc at 8mA max from the user manual. Eurotherm 3504. 2704 and 2704f High Performance Multi-Loop Controller and Programmer Manual Power Up Mode Process regulator / temperature / programmable 3504. Ascon X1 Heat / Cool Temperature Controller with 4 outputs. Reads and writes information to Eurotherm controllers via Modbus RTU protocols. Currently only tested with serial RS232, but should work the same with RS485 if wired correctly. So far only tested with Eurotherm 2416 and 3216 temperature controllers but they all use the same language so it should be widely applicable.

To set a new set temperature:

tempobjcomm('write', serialObject, 1, 2, newTemperature)

Eurotherm Controller Manual

'writefullres' can be used again if required for higher resolution. The same scaling issues apply as above for reading temperatures.

Eurotherm 3500 Manual

UPDATE

A deviceAddress can included in the initial serial object (see notes) for persistence' sake.

Eurotherm 3504 Controller Manual

A host of sample settings files for Eurotherm controllers are included (with a device address of 1, but these can be easily modified). /jumpstart-download-for-windows-7.html.