Comments (5)
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.
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.
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.
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.
"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)
- Problem with Analog_Input_Present_Value_Set HOT 3
- Schedule Write PROP_WEEKLY_SCHEDULE HOT 1
- segmentation support & BTL Cert HOT 3
- Zephyr hello_bacnet_stack sample build fail HOT 4
- ethernet.c file does not exist in ports/zephyr directory
- Linux Router app Makefile
- undefined reference to 'xxx_function' with cgo_gcc when build the golang codes with shared library HOT 4
- Update to Zephyr v3.6.0 HOT 1
- Life Safety Zone object support
- Inconsistent bacnet-config.h inclusion in header order HOT 1
- Inconsistant use of index/object_instance in ai.c
- the bacserv of MSTP in win32 work abnormal ! HOT 4
- NPDU: DNET=708. Discarded!
- Issue with writing schedule using /apps/writeprop/bacwp HOT 3
- Pipeline static analysis issues with Some hardware. HOT 1
- Invoke ID mismatch HOT 3
- Bacnet on linux HOT 1
- Structured-View-Object HOT 1
- Basic Objects av.c & ai.c have different Alarm_Ack functionality HOT 1
- how to work bacnetip and mstp together HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bacnet-stack.