Giter VIP home page Giter VIP logo

Comments (5)

skarg avatar skarg commented on June 8, 2024

The BACnet network number is only used within a routing device (two or more network ports). When a BACnet PDU is routed via a router, the message uses an address that includes routing information, or lack of routing information if destined for the local segment.

Therefore, the network port number is meaningless in a non-router device. Note: It's possible for a device to learn which network number it is occupying if there exist BACnet routers on the network.

Using the bacwi with the "--dnet" option will add the extra addressing info to send a message that will be routed to the designated network number if a BACnet router and network segment with that number exist.

from bacnet-stack.

monexiao avatar monexiao commented on June 8, 2024

Thank you for your kind reply.
Our project is a IoT device to provide sensor data, also providing data by BACnet/IP protocol, but not a BACnet router-device. I think that our device do not need to run as a BACnet router role.
BUT our colleague always SAY all BACnet/IP devices should to provide network number (and run as BACnet router role) because some BACnet controller vendor have provided.
This is very confusing me since our device does not connect any BACnet device on other network ports, only be connected by BACnet controller by IP network.

from bacnet-stack.

skarg avatar skarg commented on June 8, 2024

Use a Network_Number of 0 which indicates that the Network_Number is not known or cannot be determined.

Per BACnet standard ANSI/ASHRAE Standard 135-2016

12.56.11 Network_Number
This property, of type Unsigned16, represents the BACnet network number associated with this network.
The range for this property shall be 0 .. 65534. A Network_Number of 0 indicates that the Network_Number is not known or
cannot be determined. Writing 0 to the Network_Number property shall force the value of the Network_Number_Quality
property to UNKNOWN and allows the device to attempt to learn the network number, if possible. Writing a value other than
0 shall force the Network_Number_Quality property to CONFIGURED.
If the Network_Type is PTP or NON_BACNET, then this property shall be read-only and contain a value of 0.
This property shall be writable in routers, secure devices, and any other device that requires knowledge of the network
number for proper operation. Routers are permitted to refuse a value of 0. In that case, the write request shall result in an
error response with ‘Error Class’ of PROPERTY and an ‘Error Code’ of VALUE_OUT_OF_RANGE.
If this property is writable, then a successful write to this property shall set the Changes_Pending property to TRUE. A value
written to this property shall become effective when the device receives a ReinitializeDevice service request with a
'Reinitialized State of Device' of ACTIVATE_CHANGES or WARMSTART.
12.56.12 Network_Number_Quality
This read-only property, of type BACnetNetworkNumberQuality, represents the current quality of the Network_Number
property. If the Network_Type is PTP, the Network_Number_Quality shall be CONFIGURED.
This property shall have one of the following values:
UNKNOWN None of the below meanings.
LEARNED The Network_Number was learned via receipt of a Network-Number-Is
message with a flag value of 0 (learned).
LEARNED_CONFIGURED The Network_Number was learned via receipt of a Network-Number-Is
message with a flag value of 1 (configured).
CONFIGURED The Network_Number is configured for this port.

from bacnet-stack.

monexiao avatar monexiao commented on June 8, 2024

Thanks you reply, I use network number 0 in our project indeed, includes previous project. But still been asked why it can't be set to other numbers.
To sum up briefly, as long as our product type is not defined as BACnet Router, is there no need to provide the function of to change Number Number ?

from bacnet-stack.

skarg avatar skarg commented on June 8, 2024

"This property shall be writable in routers, secure devices, and any other device that requires knowledge of the network
number for proper operation."

A BACnet router "requires knowledge of the network number for proper operation". The router uses the number for routing, and this property is used to configure the network number so it is required that it be writable.

Since your device does not "requires knowledge of the network number for proper operation" - it is not required to be writable. The network number could be learned by your device and populated, but the number should not be writable. If the network number was made writable in your product, it would have no effect on the operation and only give misinformation to others.

from bacnet-stack.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.