DNP3 Class polling
- mhargreaves
- Posts:84
- Joined: Thu Nov 11, 2010 12:31 pm
DNP3 Class polling
Is it possible to configure DNP3 to poll each class type at a different rate?
- alug
- Posts:42
- Joined: Mon Oct 18, 2010 11:00 am
Re: DNP3 Class polling
you can trigger the reading of all points assigned to a class using the internal data point
_Dnp3Station.Command.GQ. The value of the DPE defines which class(es) should be read.
Details for the values are described in Online Help (Drivers->DNP3->Internal Data points...).
You need a script running and set periodically the DPE in order to realize periodic reading of all class data in different intervals.
The driver itself does periodic polling only based on address configs, which are individual reads for each address.
But I think that is not what you want.
Data of the Classes 1,2 and 3 can also be received using "Unsolicited Mode" by enabling it for the corresponding class.
This can also be done using internal DP _Dnp3Station.Command.UnsolicitedResponse
_Dnp3Station.Command.GQ. The value of the DPE defines which class(es) should be read.
Details for the values are described in Online Help (Drivers->DNP3->Internal Data points...).
You need a script running and set periodically the DPE in order to realize periodic reading of all class data in different intervals.
The driver itself does periodic polling only based on address configs, which are individual reads for each address.
But I think that is not what you want.
Data of the Classes 1,2 and 3 can also be received using "Unsolicited Mode" by enabling it for the corresponding class.
This can also be done using internal DP _Dnp3Station.Command.UnsolicitedResponse
- mhargreaves
- Posts:84
- Joined: Thu Nov 11, 2010 12:31 pm
Re: DNP3 Class polling
I have now implemented the event polling in CTRL by writing to the GQ point, as you suggested.
I now have another question:
How should I set the state of the DPEs, which have data coming from DNP3, to be Invalid when the DNP3 link state fails.
I now have another question:
How should I set the state of the DPEs, which have data coming from DNP3, to be Invalid when the DNP3 link state fails.
- leoknipp
- Posts:2928
- Joined: Tue Aug 24, 2010 7:28 pm
Re: DNP3 Class polling
the functionality to set the dp elements to invalid if the connection to the peripheral device is lost is not implemented in the DNP3 driver.
Why do you want to set the invalid state at the dp elements?
If you want to show the information that the value is not valid in the UI you could read the DNP3 link state and show it at the graphical objects in the UI.
Best Regards
Leopold Knipp
Senior Support Specialist
Why do you want to set the invalid state at the dp elements?
If you want to show the information that the value is not valid in the UI you could read the DNP3 link state and show it at the graphical objects in the UI.
Best Regards
Leopold Knipp
Senior Support Specialist
- mhargreaves
- Posts:84
- Joined: Thu Nov 11, 2010 12:31 pm
Re: DNP3 Class polling
Hi Leopold
Thanks for your reply. I was trying to set the invalid state at the dp elements as it will be running in a redundant project configuration, so only the state of the online driver should be considered.
I have dnp3Stations named _ff and _ff_2 which I can read the ConnState of but not sure how to know which one is currently active.
Also I have a script which writes to _Dnp3Station.Command.GQ from a timedFunc to do a periodic request for class 1, 2 and 3 events. Both servers are triggering the _FF.Command.GQ but really I want _FF_2.Command.GQ to be triggered on the second partner.
Any suggestions would be greatly appreciated!
Thanks
Mark
Thanks for your reply. I was trying to set the invalid state at the dp elements as it will be running in a redundant project configuration, so only the state of the online driver should be considered.
I have dnp3Stations named _ff and _ff_2 which I can read the ConnState of but not sure how to know which one is currently active.
Also I have a script which writes to _Dnp3Station.Command.GQ from a timedFunc to do a periodic request for class 1, 2 and 3 events. Both servers are triggering the _FF.Command.GQ but really I want _FF_2.Command.GQ to be triggered on the second partner.
Any suggestions would be greatly appreciated!
Thanks
Mark