We know that each BACnet field panel connects to multiple physical devices (TECs), and it should also talk to the server (HMI). Each BACnet device should have unique object identifiers, but imagine TEC1 and TEC2 both have the same object ID (e.g. analog value 1) how does the code reflect/distinguish these two Object IDs at the field panel? Does it create a new ID for any duplicate object ID and keep a table to keep track of this? I haven't been able to find relative java file/ function in the code... Does anyone know about this? Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I notice that in LocalDevice.java, if a newly added object has the same oid with an existing one... it justs throw an error, looks like there's no mapping, am I right?
public void addObject(BACnetObject obj) throws BACnetServiceException {
if (getObject(obj.getId()) != null)
throw new BACnetServiceException(ErrorClass.object, ErrorCode.objectIdentifierAlreadyExists);
if (getObject(obj.getObjectName()) != null)
throw new BACnetServiceException(ErrorClass.object, ErrorCode.duplicateName);
//Ensure that all required properties have values.
obj.validate();
localObjects.add(obj);
// Create a reference in the device's object list for the new object.
getObjectList().add(obj.getId());
}
Last edit: penpentoro 2015-12-21
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
We know that each BACnet field panel connects to multiple physical devices (TECs), and it should also talk to the server (HMI). Each BACnet device should have unique object identifiers, but imagine TEC1 and TEC2 both have the same object ID (e.g. analog value 1) how does the code reflect/distinguish these two Object IDs at the field panel? Does it create a new ID for any duplicate object ID and keep a table to keep track of this? I haven't been able to find relative java file/ function in the code... Does anyone know about this? Thanks!
I notice that in LocalDevice.java, if a newly added object has the same oid with an existing one... it justs throw an error, looks like there's no mapping, am I right?
Last edit: penpentoro 2015-12-21