Menu

#60 Segmentation response

release
open
nobody
None
1
2023-12-06
2021-04-19
Anonymous
No

Hi all,
I'm using bacnet-stack to create device have 1000 bacnet point. I wonder how to answer PDU_TYPE_CONFIRMED_SERVICE_REQUEST/ SERVICE_CONFIRMED_READ_PROPERTY / OBJECT_DEVICE / PROP_OBJECT_LIST. 1000 point will exceed MAX APDU length.
Thank you

Discussion

  • Steve Karg

    Steve Karg - 2021-04-20

    The BACnet Device object has a property: object_list
    The object_list property is a BACnetARRAY which means:
    array index 0 is the array length (number of objects)
    array index 1..N are the BACnet object-identifier (object-type + object-instance) of each object.

    A ReadProperty or ReadPropertyMultiple to an object_list property with a large number of objects in a device - using the array index of ALL - without segmentation - would likely return "segmentation not supported". The client could then fallback to using either a single array index or multiple array indices (ReadPropertyMultiple).

    Even if the device supported segmentation, it is possible that the size of the giant object-list would not fit into the number of segments that are supported by the device, and so it is required that the client fallback using one or more indices of a BACnetARRAY property.

     
    • Anonymous

      Anonymous - 2023-12-06

      I want to use BACnet stack 1.3 for my appliation, but I hope to support segmentation. Current code does not support segmentation, I remembered that you have ever created a branch about segmentation seversl years ago, but I cannot find it now, could please help me to provide the link? thanks.

       
      • Steve Karg

        Steve Karg - 2023-12-06

        The jbennet branch includes BACnet segmentation:
        https://sourceforge.net/p/bacnet/src/ci/jbennet/tree/

         

Anonymous
Anonymous

Add attachments
Cancel