我正在使用来自http://bacnet.sourceforge.net/的bacnet栈和mitshubishi网关(模型bac 150 )。网络的设置是正确的,我可以正确地完成bacnet who和bacnet史诗:
;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设备100是有问题的bacnet设备。这个设备的Bacnet史诗是附在邮件上的。
但是,每当我尝试将任何属性读/写到这个设备/从这个设备,我总是得到:
BACnet Error: object: unknown-object用于此设备:对象列表:http://img36.imageshack.us/img36/7102/jv7a.png实例编号:http://img706.imageshack.us/img706/1948/yocq.png
现在基于此,我尝试读取一个属性( OFF状态),如: Usage: bacrp设备-实例类型的对象-实例属性索引。
./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 )然而,答复总是:
root@FINGI:/tmp# ./bacrp 100 3 2 8
BACnet Error: object: unknown-object有人能提出什么可能是错的吗?我尝试过对象实例的不同值(例如0到10 ),但是结果总是一样的。
拼命想要得到这份工作!任何建议都会很感激的。
发布于 2014-02-04 07:23:37
只需读取设备对象的对象列表,属性id 76。您将获得所有有效对象标识符的列表。
此外,如果我解释您的项目特定的实例编号规则是正确的,那么所需对象“OFF STATE”的实例号是01xx02,其中xx将是组。我不知道在你的项目中有哪些“小组”。第一组你可以试10102次。
发布于 2019-02-09 00:56:18
答案是指"OBJECT-LIST"/'OBJECT_LIST',其中的第一个数据元素/数组索引值是数组中包含的数据元素的计数,但其余的应该是对象标识符。
如果您在读取属性时遇到问题,那么从基础/强制属性开始(除了property_list之外)是值得的:
虽然property_list在BACnet标准中是强制性的,但似乎供应商似乎不支持/实现它(- -而object_list似乎总是可用/填充的),即使是这样,如果您通过网关设备访问目标(/underlying)物理设备,则可能无法访问它/它可能不会被过滤到服务中。
https://stackoverflow.com/questions/21526210
复制相似问题