4Diac Forte and Bacnet [message #1817317] |
Wed, 20 November 2019 06:21  |
Eclipse User |
|
|
|
Hello all,
I am working on a project using a STM32MP157C-DK2 which is running FORTE on the openSTlinux Kernel.
So far everything was very straight forward as the setup is similar to a raspberry pi.
It uses posix architecture and the sysfs Processinterface.
I am now looking for a way to use the System with BacNet support.
If anyone is already working on it, every bit of help would be appreciated.
best regards,
Niklas Huhs
|
|
|
Re: 4Diac Forte and Bacnet [message #1817373 is a reply to message #1817317] |
Thu, 21 November 2019 06:14   |
Eclipse User |
|
|
|
Hello Niklas,
I am currently working on a bachelor's thesis which focuses on integrating BACnet into 4DIAC. I am using the BACnet stack library [1] for all of the BACnet related operations.
How to use it on your system? One possible (and the easiest) way is to use Client/Server Service FBs and to implement a new communication protocol following this page [2], which will use the functionality provided by the BACnet Stack library (see bacnet-stack/demos folder for examples). This means that for every BACnet Service Request/Object you will need a Client/Server Function block.
Another possible approach (that's the one I am implementing) is to use a number of daisy-chained service function blocks, which are responsible for setting up the communication sockets and needed BACnet objects (in case you want your 4diac app to act as a server), or configuring BACnet service requests (in case your app is a client). This approach is based on the generic I/O concept introduced in FORTE 1.9.0. ATM I am able to configure and to issue ReadProperty service. My plan is to implement the WriteProperty and COVSubscribe services for the client-side, and Analog/Binary Input/Output/Value objects for the server-side. Here, again, I am using the BACnet Stack for encoding/decoding the PDUs and managing transaction state machines.
Hope it helps :)
Regards,
Alexander Tepaev
P.S. I work at a slow but steady pace, so I cannot tell you when I am going to finish it, but If you are interested in the second approach, feel free to contact me. Any piece of feedback would be highly appreciated.
[Updated on: Thu, 21 November 2019 14:03] by Moderator
|
|
|
|
|
|
|
|
|
Re: 4Diac Forte and Bacnet [message #1817626 is a reply to message #1817531] |
Tue, 26 November 2019 16:41   |
Eclipse User |
|
|
|
Hey ;)
Niklas Huhs wrote on Mon, 25 November 2019 13:39 where sendData creates and object?
If I understood you correctly and by "sendData creates an object" you mean "creates a network packet", then yeah, that is how I see it as well.
Niklas Huhs wrote on Mon, 25 November 2019 13:39 Is it right to create top, middle and bottom layer or is it possible to use existing layers from the com_infra in forte?
I remember that I put top+middle layers into one layer and I wanted to use the existing CIPComLayer class (see cominfra/ipcomlayer.[h | cpp]) as a bottom layer for managing the UDP sockets, but something stopped me from doing it and eventually everything ended up in a single layer (a layer + an external event handler for doing the sendto(...)/recv(...) thing). I can't tell you what exactly stopped me, since I don't have access to my code during weekdays, but I will be able to look at it on the coming weekend. What really helped me is to look at the implementation of supported protocols, especially HTTP and OPC_UA (forte 1.10, 'cause there is a new OPC_UA implementation in 1.11).
|
|
|
|
|
|
|
Re: 4Diac Forte and Bacnet [message #1852072 is a reply to message #1817317] |
Thu, 28 April 2022 07:26  |
Eclipse User |
|
|
|
Hi,
I know this is an old thread, but I would be interested in having a look at your Thesis, Alexander. Did everything go successfully?
I couldn't find anything online.
So if you're reading this let me know.
BR
Niklas
|
|
|
Powered by
FUDForum. Page generated in 0.09768 seconds