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 that you accept these cookies being set.

Queueing and throttling in logic machine
#1
Hello,

I have a system where at times, a good number of commands will be sent to the logic machine.
Currently, I am controlling the number of commands sent to the logic machine within my backend code of the system, setting delay times for each command because if I send too many commands at once, the CPU/load of the logic machine will increase and some commands are lost during the process.
I want to make it so that I can send the commands all at once, and queue the group addresses/values that have been sent within the Logic Machine, and execute grp.write() when the CPU/load is back to normal.

I would say I'm looking to implement something close to API rate limits, and I believe there are multiple ways to do this.
Any suggestions/recommendations on how to do this?

Thanks in advance!
Reply
#2
Is it IP or TP?
------------------------------
Ctrl+F5
Reply
#3
Thanks for the reply!

We are using TP.
Reply
#4
Then your bottleneck is TP bus anyway. TP uart chip has its limits and the only thing you can do is to limit telegrams on the bus. In KNX settings you can set queue limit but if too many telegrams are sent at once then you will loose some. Some years ago I did some testing using standard KNX routers and the real limit was 20 telegrams at once.
------------------------------
Ctrl+F5
Reply
#5
In that case, if it's not really useful to check the CPU or load of the Logic Machine, is there a way to check how much telegrams are transmitted through the TP bus so we can limit the amount of telegrams that might be sent when a command is executed?
Reply
#6
Can you describe your use case? Why do you need to send so many commands at once?
Reply


Forum Jump: