This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

LM as BACNET CLient slow connection
#1
Hi!

We're having trouble with the Bacnet Client APP. We have 5 Fancoil controllers communicating via Bacnet. The mapping of the variables was rather slow but we get all of them to work.

But now the variables take too long to update the values (our customer says 20 minutes) and its impossible to control the fancoils this way. Is there some configuration that we're missing? Is it possible to confirm the COV funcionality?

Any ideia towards some solution will be appreciated.

The LM's firmware is Version: 20200116.


BR,
André Neves
Reply
#2
The bacnet client was designed for very small integrations. No there is no COV only pooling. I assume you do it via the app. First recommendation would be to limit the amount of objects to absolute minimum. If this won't help then probably control via script would be better here.
------------------------------
Ctrl+F5
Reply
#3
Daniel, thanks for the quick reply.

We have 105 objects in total (21 for each fancoil). is it too much for the app?

What is the pooling rate? is it possible to change the rate?

Can you point me to an example how to do this via script? It would be great if I could keep the mapping already done.

Thnak you.
Reply
#4
I would say you should not go over 50, No we can't modify the pooling of the app.
https://openrb.com/logicmachine-as-bacnet-client/
------------------------------
Ctrl+F5
Reply
#5
(16.07.2021, 14:15)Daniel. Wrote: I would say you should not go over 50, No we can't modify the pooling of the app.
https://openrb.com/logicmachine-as-bacnet-client/
OK...

Can you tell me the pooling rate?

If I change to the bacnet "via tab" will be able to have a good performance for the 100+ points?

Can I schedule the poolings so it doesn't strain too much the bus?

Thanks.
Reply
#6
Reading object by object won't help much I think. There is option to read whole device at once and then you will need to extract each objects from the list.  Make sure that all is a single resident script.

Read whole device like this:
Code:
device, objects = bacnet.scandevice(ID)
To read single present value form this objects list do this:
Code:
function findobject(objects, objtype, objid)
   for _, object in ipairs(objects) do
     if object.identifier == objid and object.type == objtype then
       return object
     end
   end
end

object = findobject(objects, 'analog value', Object-ID)
log(tonumber(object["present-value"]))
Test this and see if it works better.
------------------------------
Ctrl+F5
Reply


Forum Jump: