Writing from HMI to T3-BB

To free-up some physical inputs, I am trying to migrate some simple binary inputs from T3-BB Inputs to HMI (Weintek MT8072iP).

I initially thought to allocate some of the “virtual” inputs in the Input table (ie IN33 to IN64). I defined labels and range (=1) for some virtual inputs, however when I imported (BACnet) tags into the HMI, these Inputs (>IN33) were not included. Is this a function of the BACnet tag generation process - ie Inputs above the physical limit are excluded??

If I instead define variables in the Variable Table, these tags are imported OK by HMI.

However, I am uncertain if the T3-BB will “accept” external state changes written into the variables by HMI?
Do I need to do anything special when programming T3-BB or HMI to achieve the Write result? (pun intended)

My basic question is - Does the T3-BB by default accept data written to a variable in the table from an external device? If not by default, then how?

For sure the T3 vars can be written to. The default tool for troubleshooting any communications and integrating problems is the ‘Yabe’ bacnet tool. You can access it from T3000 → tools → Bacnet tool. If yabe can read or write to something on the T3 controller then your environment can do the same. If Yabe is working but your HMI is not, use wireshark to compare the packets. Yabe + wireshark are required tools for an integrator working with any Bacnet integrations.

That said, there’s an upper limit on the number of IO you can define on a T3 controller, its listed on the T3 gamily product page the maximum for each version. There’s also a table where you configure expansion IO, that may be interacting with your setup in some way.

Writing to outputs in particular can be tricky becuase of the priority array, search this forum for more details on that.

Some clients have been using spare inputs as variables, I am not sure you can write to them over bacnet but you can give it a try. Set them to ‘manual’ mode so that you can be in charge of them rather than auto mode where they will be looking at the actual (non existent) expansion IO.

All the best with your project.

Thank you..
I wont be writing to any Outputs.
The unused >32 Inputs in the table have “type” = virtual (not Analog or Digital)
I select to Manual. These are not included in the BACnet tags list - neither under BACnet Tools (T3000) not Taglist imported by HMI.
I wont pursue this idea further.- but will keep trying to write to Variables from HMI.
BACnet Tool “finds” all my defined variables, and the tag list imported into HMI is also complete.
Is there anything I need to do in the variable definition (Table) to tell the T3-BB to accept data written by HMI??

The inputs need to have a range set to something, the defualt is ‘unused’ and in that state they are not yet created as bacnet objects.

Also note, when creating new objects on the T3 controller you will need to rediscover all bacnet objects from your HMI.

I should have said I set range to 1 (digital off/on) - IN35 for testing
Yes, I refreshed the tag list - but no IN35.

I dont know a lot about BACnet - but in Modbus I would use different function codes for reading (01) and writing (05) of a binary value. Is there an equivalent in BACnet?

Modbus: Registers and function codes.
Bacnet: Bacnet objects and properties.

Some things are mapped between bacnet and modbus in our system direcltly, like the values.

Other things are implemented in Modbus but not in Bacnet and vice versa, priority arrays for example are strictly part of Bacnet protocol.

Final note: The T3 controller supports both protocols simultaneosly so if you hit a wall with Bacnet objects perhaps you can do a work around via Modbus. Check the Modbus registers in our device by viewing T3000 → Tools → Modbus Register list.

Just to let you know - I am now able to send binary data from HMI to T3-Variables. Not sure exactly what the problem was - but I went back over all the settings and now it works. I did have some minor but critical settings in the HMI wrong.

The BACnet tag-transfer from T3-BB to MHI is fairly simple now that I have figured it out. It means a complete rewrite of the lag list each time, but it doesnt take long.

Thanks for the update. We’re standing by for any other issues that come up.