Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

DNP3 - Event Driven Data


CJ Aug 26, 2014 01:27 AM

Hi,

I'm setting up a CR800 (OS27) to communicate via DNP3.
I can successfully poll the CR800 with MicroWorks DNP3 software and collect all the values (the static data). However I cannot get the CR800 to send unsolicited responses (the event data). I'm using the Campbell example program found in CR800 manual (Revision 5/13) on page 349:

-------------------
Public IArray(4) As Long
Public BArray(2) As Boolean

Public WindSpd
Public WindDir
Public Batt_Volt
Public PTemp_C

Units WindSpd=meter/Sec
Units WindDir=Degrees
Units Batt_Volt=Volts
Units PTemp_C=Deg C

'Main Program
BeginProg

'DNP communication over the RS-232 port at 115.2kbps. Datalogger
'DNP address is 1
DNP(ComRS232,115200,1000,0,100)

'DNPVariable(Source, Swath, DNPObject, DNPVariation, DNPClass, DNPFlag,
'DNPEvent, DNPNumEvents)
DNPVariable(IArray,4,30,2,0,&B00000000,0,0)

'Object group 30, variation 2 is used to return analog data when the CR800
'is polled. Flag is set to an empty 8 bit number(all zeros), DNPEvent is a
'reserved parameter and is currently always set to zero. Number of events is
'only used for event data.
DNPVariable(IArray,4,32,2,3,&B00000000,0,10)
DNPVariable(BArray,2,1,1,0,&B00000000,0,0)
DNPVariable(BArray,2,2,1,1,&B00000000,0,1)

Scan(1,Sec,1,0)
'Wind Speed & Direction Sensor measurements WS_ms and WindDir:
PulseCount(WindSpd,1,1,1,3000,2,0)
IArray(1) = WindSpd * 100
BrHalf(WindDir,1,mV2500,3,1,1,2500,True,0,_60Hz,355,0)
If WindDir>=360 Then WindDir=0
IArray(2) = WindDir * 100

'Default Datalogger Battery Voltage measurement Batt_Volt:
Battery(Batt_Volt)
IArray(3) = Batt_Volt * 100

'Wiring Panel Temperature measurement PTemp_C:
PanelTemp(PTemp_C,_60Hz)
IArray(1) =PTemp_C
PortGet(BArray(1),1)

'Update DNP arrays and send unsolicited requests to DNP Master address 3
DNPUpdate(2,3)
NextScan
EndProg
-------------------

When I watch the raw binary data on the RS232 port of the logger I can't see any output on the port when an event is triggered. Judging from the program I would expect any change to the values in "IArray()" would trigger event data and I would see data output on the RS232 port destined for the DNP3 master.


CJ Sep 22, 2014 12:21 AM

***Update***

I logged a tech support request for the problem above. Campbell responded and confirmed the manual mentions unsolicited responses but the current firmware version doesn't support this. Unsolicited responses will be available in CR800 OS28.

Log in or register to post/reply in the forum.