Reputation: 1460
I am using bacnet stack from http://bacnet.sourceforge.net/ with mitshubishi bacnet gateway ( model bac-hd150 ). The network is setup correctly and i can do bacnet who is and bacnet epic properly:
;Device MAC (hex) SNET SADR (hex) APDU
;-------- -------------------- ----- -------------------- ----
5053 C0:A8:00:0A:BA:C0 0 00 1024
4194303 C0:A8:00:BD:BA:C0 0 00 1476
100 C0:A8:00:0B:BA:C0 0 00 1024
;
; Total Devices: 3
Device 100 is the bacnet device in question. Bacnet epic of this device is attached with the mail.
However, whenever i try to read and write any property to/from this device, i always get:
BACnet Error: object: unknown-object
For this device : The object list : http://img36.imageshack.us/img36/7102/jv7a.png Instance numbers: http://img706.imageshack.us/img706/1948/yocq.png
now based on this, i am trying to read a property ( ON OFF STATE ) like this: Usage: bacrp device-instance object-type object-instance property [index]
./bacrp 100 3 2 85
where
100 : device-instance
3: object-type ( binary input, according to [http://img36.imageshack.us/img36/7102/jv7a.png][1] )
2: object-instance ( instance number according to
[http://img706.imageshack.us/img706/1948/yocq.png][2] )
85: property ( PROP_PRESENT_VALUE according to bacenum.h file )
however, the response is always:
root@FINGI:/tmp# ./bacrp 100 3 2 8
BACnet Error: object: unknown-object
Can anyone suggest what might be wrong ? i have tried different values for object-instance ( for example 0 to 10 ) but result is always the same.
Desperately trying to get this work!any suggestions will be most appreciated
Upvotes: 1
Views: 3748
Reputation: 488
The answer is referring to the "OBJECT-LIST"/'OBJECT_LIST', and the first data-element/array-indexed value within it is the count of data-elements that are contained within the array, but the rest should be object-identifiers.
If you're having trouble reading properties, it's worth starting with the basics/mandatory ones (- with the exception of the property_list):
Object_Identifier BACnetObjectIdentifier - unique within the device that maintains them
Object_Type BACnetObjectType
Object_Name CharacterString - unique within the device that maintains them; at least 1 char length & only printable chars
x Property_List BACnetARRAY of BACnetPropertyIdentifier
As much as property_list is mandatory by the BACnet standard, it would seem that vendors don't seem to support/implement it (- whereas object_list always seems to be available/populated), and even if they do, you might not be able to access it / it might not get percolated to the service, if your accessing the target (/underlying) physical device via a gateway device.
Upvotes: 0
Reputation: 474
Just read the object list, property id 76, of the device object. You obtain the list of all valid object identifiers.
Further, if I interpret your project specific rules of instance numbers correct, the instance number of the desired object "ON OFF STATE" is 01xx02, where xx shall be the group. I don't know which "groups" are available at your project. You could try 10102 for the first group.
Upvotes: 2