I am trying to read data from a temperature controller called ATR-401 using MATLAB's tool box called Instrument Control Toolbox but every time i try to read data from it i get an error "A timeout occurred before the Terminator was reached". I have attached 2 images below ,First one is the configurations i used to connect to the device and the second image is the reading data from the device :

Configure ATR-401

Reading from Controller

As it can be seen, i get an error while reading, i have set it according to the datasheet for the device but i am still not sure why it is not able to read.

  • \$\begingroup\$ There is nothing in your post about baud rate, stop bits, parity bits, ect. If you don't set those correctly then you won't be able to communicate to the temp controller with any serial program \$\endgroup\$
    – Voltage Spike
    Commented Oct 4, 2019 at 21:30
  • \$\begingroup\$ I have already set the Baud Rate: 19200 bps , 8 bits, none for parity and 1 for stop. in the first image. The device settings in the datasheet are shown on Pg 27 of the link in the question \$\endgroup\$
    – sk95
    Commented Oct 4, 2019 at 21:37

1 Answer 1


Step 1) Get a serial terminal program (like realterm)
Step 2) Set the device to your RS485 controller Step 3) Set the baud rate (the default for the temp controller is 19200 baud)
Step 4) Set the stop bits and parity bits 8, N, 1 (8 bit, no parity, 1 stop)
Step 5)

EN26Parameter has the same meaning of cycle time for heating action .Parameter (Cooling Fluid) pre-selects the proportional band multiplier and the cooling P.I.D. cycle time according to cooling fluid type:Cooling fluid type Air1.00 10Oil 1.254Water2.502 Once parameter , has been selected, the parameters , and can be however modified.9 Serial CommunicationATR401-22ABC-T is provided with RS485 and can receive / broadcast data via MODBUS-RTU protocol. Device can be configured only as Slave.This function allows to control multiple controllers connected to a supervisory system. Each instrument will answer to a Master query only if contains same address as on parameter 93 .Allowed addresses are from 1 to 254 and there should not be controllers with the same address on the same line.Address 255 can be used by the Master to communicate with all connected equipment's (broadcast mode), while with 0 all devices receive command, but no answer is expected.ATR401 can introduce an answer delay (in milliseconds) to Master request.This delay has to be set on parameter 94 .At each parameters modification, instrument stores values in EEPROM memory (100000 writing cycles), while setpoints are stored with a delay of 10 seconds after last modification.

Then see if you can access one of the registers and read values out of it.

Once you have done this in realterm, then transfer the baud rate/stop/parity bits to matlab and try and read the register there.

  • \$\begingroup\$ So i used Tera Term and reached step 4, but how do i access the registers and read values out of it ? \$\endgroup\$
    – sk95
    Commented Oct 4, 2019 at 22:23
  • \$\begingroup\$ The manual is not clear on that, and it's not clear on if there are any special characters either (like terminator characters). Check to see if there is more documentation from the manufacturer \$\endgroup\$
    – Voltage Spike
    Commented Oct 4, 2019 at 22:30
  • \$\begingroup\$ That is the only documentation from the manufacturer , so how do i access the registers from Tera Term ? because i did until step 4) as described above. \$\endgroup\$
    – sk95
    Commented Oct 4, 2019 at 22:34
  • \$\begingroup\$ Try this: yoctopuce.com/EN/article/a-quick-tutorial-on-rs485-and-modbus \$\endgroup\$
    – Voltage Spike
    Commented Oct 4, 2019 at 22:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.