Connect to a EuroTherm 3504


I am trying to get values from 10 separate EuroTherm 3504 controllers. Each are connected and have their own IP address. I can create the device just fine on the gateway and it connects immediately. When I try to add an OPC tag in the designer it ultimately says it isn’t connected.

If I create the device with type Modbus RTU over TCP, it will blink back an forth between Connected and Disconnected and the tag will have a constant red X.

If I create the device with type Modbus TCP, the device will remain connected but the tag will blink back and forth between a green ? (Unknown) and a red X (Not Connected).

I have tried a bunch of different variations of the device configuration as well as addressing. Their entire manual was too big to upload so I attached some screenshots from the modbus addressing section. It seems that something like [Device]1.HR22 should give me the Programmer.Run.CurProg value. I couldn’t find anything definitive regarding the Unit so I also tried [Device]HR22 as well as [Device]2.HR22 - [Device]10.HR22

Thanks in advance. This has been driving me crazy!


Looking at the document you submitted it looks like the values are floating point. So maybe try


Also, is this zero-based addressing? There is an additional settings in the device configuration for this. I would guess that the device would use the Modbus TCP connection. Also, for the unit ID, this may or may not be in the documentation. You can try the unit ID again of


but this is going to be a guess, there is no way to actually tell unless it has been documented somewhere.

It may be easier if you call tech support and have one of us take a look at the configuration.

I am facing a similar situation with a Eurotherm 2604 controller. I have no issues connecting to the devices with the appropriate slave unit IDs that were provided by the customer. However I am also not able to get meaningful values for the variables as described in the documentation. It's odd that they list 2 different addresses for each variable and there is no mention of data type anywhere in the document. Each variable has what they are calling a "canonical" address and an "actual" address. For example the variable Program Number has 5820 and 44408 as these addresses. I'd be interested in what the answer to your issue was as far as data type and which address was used. Poor documentation on the part of Eurotherm.