Re: [Bacnet-developers] COV subscriptions and management
Brought to you by:
skarg
|
From: Steve K. <st...@ka...> - 2008-03-08 22:01:48
|
Hello Salvatore, > I'm thinking to develop an application to monitor some values in a BACnet > device, so I expose my problem an my test environment. Sounds like a fun project! > 1) I don't understand, how use the "pid" parameter. I know that pid > identify a process, but in the COV subscribing context, I would know > "who is" and "what does it do" this process that I pass such as parameter > of bacnet-stack-0.4.2/demo/ucov/bacucov pid is just an additional way of identifying that it is your subscription. You can just make up this value. > 2) Why I have to pass the "Value" parameter? COV means ChangeOfValue, and the Value is the data that is being communicated. > 3) With google, I found this: [snip quote] > COV subscription is not yet complete. The current status (in subversion - I don't recall if it is in the current release) is this: 1 There is the encoding/decoding core file (src/cov.c). 2. There is a demo client application (demo/ucov/) that performs UnconfirmedCOVNotification requests. 3. There is a demo server application (demo/server/) that handles SubscribeCOV, but not SubscribeCOVProperty for a demo object (binary input - see demo/object/bi.c and demo/handler/h_cov.c). It was tested with VTS3 because there is not a demo client application for SubscribeCOV yet. > 4) I would make a BACnet network with a > SCADA web service and a device named "D_extra" used to receive all (or > about all) COV events. > I would make an interoperability with BACnet and a defined platform named > DOMOnet using the "open protocol" of web service to comunicate from DOMOnet > to BACnet. > In this scenario is used the Polling to manage the update fase and this > introduce many problem (response time almost linear at number of Objects, > overload the network with unnecessary messages etc). > > Have you any idea to solve this problem? Sounds like COV might solve the polling problem. > For the (b) comunication, starting from your > bacnet-stack-0.4.2/demo/ucov/bacucov, I would use the stack BACnet to > manage the COV ... > This is possible? Yes, it is possible. You should use a SubscribeCOV client application that would fall back to polling by way of ReadProperty if the target did not support SubscribeCOV. That application could then store the data until your main client asked for it. The SubscribeCOV client application demo is not written yet. The method that you should return the data to your application is probably the BACnet Web Services: http://www.bacnet.org/Addenda/Add-2004-135c.pdf That is not implemented into the BACnet Stack at SourceForge yet. So, it could be done, but there is some work to do. Best Regards, Steve -- http://steve.kargs.net/ |