guoln 发表于 2012-1-4 09:58:38

开发BACnet想到的

接了一个把OPC转成BACnet的活,用C#开发。先准备了一下读取OPC的知识。网上有针对C#的开发包,而且OPC的技术手册也很简短,下载开发包试了试,比较顺利。 BACnet可就头大了,光技术手册就600页,而且还是E文的。读了好几天,对这个协议有了大概的了解。这个协议过于复杂,如果完全了解细节,并不是短时间、读一本书所能完成的。上网搜开发包,开源有C的,C++的,JAVA的....就是没有.net的! 只好参考这些源代码自己写!写了一个多星期,终于算是成型了。用VTS测试了一下,数据也没问题。当然,我仅仅写了3个自己所要的功能而已,接收Who-Is,发送 I-Am,接收ReadProperty,发送ReadProperty-ACK.接收ReadPropertyMultiple,发送ReadPropertyMultiple-ACK. 这次碰到的最大的难题是对方带了一个arrayindex=0来读Object list,我怎么回对方都不认,如果对方缺省这个值就没事。反复读技术手册,An index of 0(zero) shall specify that the count of the number of data elements be returned。。。指数是0表明数据元素数量的数量将返回。。。是不是就是读取数组的长度?试了试果然是!唉!折腾好几天! 这次最大的体会是VTS特别重要(免费的,网上有下),它不仅能测试BACnet,而且能给出正确的编码供参考。 C#真是为单枪匹马干的人打造的利器,如果在公司干别使她。用什么JAVA,C++。。。反正公司付工资,慢悠悠地编,想快也快不了。呵呵!
页: [1]
查看完整版本: 开发BACnet想到的