Communication between multiple t3-tb controllers

i have purchased three t3-tb controllers. i would like to have the program lie on the first controller panel id 1. i would like to read inputs from panel id 2 and 3. i would like to write to the output of panel id 2 and three. the three controllers are connected through ethernet.
the following program seems to work
10 var1 = 2.2.in1
20 end
if I add the following line i get an endless loop
20 2.2.out1 = var1
30 end

i would like to connect these three controllers via rs485 instead of ethernet

can you give me an example of how to communicate between controllers on ethernet and rs485?

what settings should i use for rs485 communications 1 Modbus master and the rest Modbus slave?
thanks for the help

Just give each panel a unique number, starting with Panel1, Panel2, Panel3 and so on. Then you can use the intrinsic reference scheme, its the simplest and most basic of referencing in the system. It works over Ethernet too.

10 VAR1 = 2IN1

The only time you need to mess arround with the 2.2 notation is when you are mixing references from the main ethernet network to RS485 subnet devices. Here is a link describing all the possible Ethernet/RS485 and bacnet/modbus scenarios.

Note: Subtle point here but you dont actually need the END statement, the program will run to the last line of the program and loop back to the beginning just fine without it.

I can get var1 = 2in1 to work over Ethernet.
How do I read the same value over rs485?
Can I write an output on the second or third controller from the first controller?
Thanks

Maybe I am missing something from your questions here but as I mentioned, VAR = 2IN1 will work from one controller to another over Ethernet. And it will work the same from one controller to another over RS485. Its just when you are going from ethernet to RS485 that you need the 2.2 notations. Check the link I sent before for these scenarios.

I looked at the scenarios
What I can’t get to work is var = 2in1 over rs485.
I must not be setting something up right.
What should I set the rs485 main to?
Modbus master and modbus slaves or bacnet master and bacnet slaves.
Thanks

Set the subnets to Bacnet or modbus, your call. The ‘intrinsic’ referencing takes care of everything behind the scenes.

Show a quick sketch of your network with the panel IDs and details of the program and where its running. Maybe I can pick something up from that.

Maurice,
I have control 1 set for modbus master. The other two controls are set as modbus slaves. T3000 reads the controls just fine.
I have attached the program for each controller. The programs work if I plug the controls into ethernet but I would like to use rs485.

program is if in2 is on on controller 2 turn on out1 on controller 1
if var1 on controller1 turn on out1 on controller2 and out2 on controller3.
just to verify i have communication before i write and test a larger program.
thanks

TEST_MB485_PROGRAM.txt (278 Bytes)

TEST_MB485_T3-TB-1 .prog (65.6 KB)

The ‘MAC’ address as its called is at Tab1 is the address on the RS485 subnet.

The ‘Panel Number’ at Tab2 is the panel ID on the main Ethernet network.

I will ask Fandu to clarify how these interact with each other but for now set both to 1 on panel 1, both to 2 on panel2 and so on.

This is the way I had the controllers set up all along.
I have rearranged my inputs and output to where I only have two network variables. I will use Ethernet if I can’t get rs485 to work.
If you can make the program work I sent you on rs485 please send all the correct settings.

Thanks

RS485 networks are tried and true. I will have our team do a test and show you the steps.

Here is an example using modbus RS485 to read the value of IN1 of the child device TB-2 and assign the value to VAR1 of TB-1


PROGRAM IN T3-TB-1
10 VAR1 = 2IN1
20 IF VAR1 THEN START OUT2 ELSE STOP OUT2
30 END

**
The code of TB-1 needs to be changed to the following
10 VAR1 = ( 1.2.MB_REG7484 * 65536 + 1.2.MB_REG7485 ) / 1000
20 IF VAR1 THEN START OUT2 ELSE STOP OUT2
30 END
**

In modbus slave mode, the slave cannot read var of panel 1
PROGRAM IN T3-TB-2
10 VAR1 = 1VAR1 //this can’t work ,if want’s this work ,need TB-1 TB-2 TB-3 all use cable connect to network ,use MODBUS IP or Bacnet IP
20 IF VAR1 THEN START OUT1 ELSE STOP OUT1
30 END

PROGRAM IN T3-TB-3
10 VAR1 = 1VAR1 //this also can’t work
20 IF VAR1 THEN START OUT2 ELSE STOP OUT2
30 END

Chelsea and I are gonna make this easier
Sub-device read and write just confirmed with Chelsea that 2IN3 is not supported for the time being regardless of the protocol. 2IN3 Supports only network Modbus IP or Bacnet IP

Thanks for verifying what I found during testing.
I’ve adjusted my design to use Ethernet instead of rs485.

1 last question hopefully.
I am reading the room temperature from controller 1 to controller 2.
var1 = 1var44 or var1 = 100AV44 both work perfectly on ethernet.
How do I detect a communication loss on controller 2 so I can set a default temperature?

TEMP101 = 1VAR44
IF STATUS( 0 ) THEN VAR1 = 75 ELSE VAR1 = TEMP101

This code locks up the controller. if i take out STATUS( 0 ) and replace it with anything else the controller runs fine.
by locks up i mean the BEAT light quits blinking and the ETHER light goes out

thanks

Currently we don’t have a similar function to determine whether other panels are online. We will consider adding them. Thank you!

Are you saying the “STATUS” function listed in the software manual and the online help does not work?

The “STATUS” function is not currently available, we will improve this feature. If available we’ll let you know as soon as possible. Thanks!

we have already added STATUS function in latest firmware rev64.8.

Chelsea,
Thanks for getting this implemented.
Can you give descriptions of the numbers in parentheses.
The help file only has 0,1 and 2
0 = loss of communication
1= ok
2= no program

Thank you

Chelsea
Never mind that question I now see from your picture the number in parentheses is the panel ID. I will try this out when I get back to a computer. Hopefully this will work over a Ethernet connection also and not just a rs485
Thank you.