Modbus poll vs temco modbus poll for external devices

I connected a Graigar Ultrasonic flowmeter TUF-2000M to my T3-LB.
Prior to that, tested the device through serial and connection and result were as expected:

Note here that I choose to display data as “float inverse” to show temperatures (Celsius here)

I connected then the unit to my T3-LB and the result is OK, I can reach the third party unit without communication errors. And this is good :slight_smile:

That said, Temco Modbus poll displays only signed/unsigned values.

My questions are then:

  • how can I display the right data on T3 registers ?
    I have a specific function in my PLC (pack32) to transform 2 x unsigned integers into a float, but I don’t know how to do that conversion in the T3 units

  • what are the instructions to insert those values into a T3 program ?

Thank you

Mike , TEMCO Modbus doesn’t support to show float data .
we supply four format instructions to convert float data in T3000 .
case BAC_FLOAT_ABCD:
ptr_panel.info[i].name = “MB_REG_FLOAT_ABCD”;
break;
case BAC_FLOAT_CDAB:
ptr_panel.info[i].name = “MB_REG_FLOAT_CDAB”;
break;
case BAC_FLOAT_BADC:
ptr_panel.info[i].name = “MB_REG_FLOAT_BADC”;
break;
case BAC_FLOAT_DCBA:
ptr_panel.info[i].name = “MB_REG_FLOAT_DCBA”;

T3-Controller program Demo ,
Device connects to T3-Controller via RS485
AR1 = 20.2.MB_REG_FLOAT_ABCD300
VAR1 : No. 1 VAR
20: T3_Controller panel number
2: Device Modbus ID
MB_REG_FLOAT_ABCD : Device float data format
3009 : Device Modbus register address .

Why 3009 (and not 300, taken from your data formatting) ?

In my case, T3 unit = 107, the rs485 sub modbus device ID = 40 and the 2 int16 addresses I want to poll are 35 & 36 and transform those 2 integers into 1 float
what should be the programming line ?

Update:
I tried to poll separately the int values from the subnet modbus device, like:

200 8096V3 = 107.40.MB_REG35
210 8098V4 = 107.40.MB_REG36

And I obtained the right values. How can I merge them into 1 float ?

Thank you

Solved the problem, but another one is now there…

I poll directly the integers and transform them into float:. I noticed that I need to poll the address of the low integer. But the result is there.

10 TEMPUS = TIME
606 8094V2 = 107.40.MB_REG_FLOAT_ABCD33
608 8096V3 = 107.40.MB_REG_FLOAT_ABCD35
800 REM TEMP DIFFERENCE BETWEEN 2 TEMP SENSORS
810 8098V4 = 8096V3 - 8094V2

However, after few minutes, spontaneously, the setting of the sub network of my T3-LB, while polling, is going from master to slave and the poll stops.Firmware 54.4 and latest T3000
Any idea ?

Update: switched modbus networks: set sub rs485 as unused and set main rs485 as master and will see how it behaves. feedback on this later.
Nope, test finished: same problem, the rs485 switches always from master to slave and stops communication with my 3rd party device.

Update 2: changed rs485 sub for slave and rs485 main for master (despite the topic of this post about the unused setting): no changes, returned to slave after few minutes.

Even rs485 is set to master, if receive some packet from a modbus master, rs485 port of T3XB will switch master to slave automatically. But it never save this change, it is useful for test sometime.

Thank you for the explanation, but what can I do to solve this problem ?

The job of a controls tech is difficult enough already, let’s simplify their lives a little and allow only one option which includes both master and slave functions.

Chelsea will work on this. we need to make our equipment easy to work with.

Maurice Duteau

I know it’s very difficult for you to manage this, but do you have a “real” approximative estimate about the time you’ll take to solve those connection problems with sub-networks ? 1 month, 6 months or not scheduled at all ?
Just to know if I wait to connect my third-party devices to temco products without errors or if I should find another way.
Thank you

We’re in the middle of the local holiday but will definitely take a look at your issues as soon as everyone returns to work Feb20.

Update: We’ve made many improvements and updates since this post, if you are experiencing subnet connectivity issues please update the T3000 application first, then update the device firmware.

Maurice Duteau

1 Like

hello everyone,

I’m traying to read input registers for example 34141 and 34142 with a T3-nano but I’m having problems with the code and syntax. It is possible to read those floating registers with one variable? and how is the syntax?

Thanks.

Floats are a new feature and possibly not implemented on all products. please try updates and report back here.

Maurice