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.

DNP 3 Internal Memory Re-initialized


gabriel Nov 5, 2012 12:58 AM

I'm having problems implementing DNP3 on a CR800 (OS version 24) , Every time i either reprogram the unit (even when no code change has occurred hit save send compile twice in a row still does has the same issue.) or power the unit off then on.

It comes up with the same message "Warning: Internal Data Storage Memory was re-initialized" screen shot below

https://docs.google.com/open?id=0B3OmHo8tuQcKVlNadGYwSV9ZOEk

code

'Public ResetSystem as Boolean
Public Battery_Vdc
Public Level_Mtr
'Dimensioned Variables (not displayed)
Dim I
Dim Time(9)
Dim DNPvars(3) As Long
'Water Data Table Auto Allocated
DataTable (Water,True,-1)
DataInterval (0,15,Min,10)
Sample (1,Level_Mtr,IEEE4)
Sample (1,Battery_Vdc,FP2)
EndTable
'subroutine to put all the loggernet variables into the DNP variables
Sub UpdateDNPVars
DNPvars(1) = Battery_Vdc *100
DNPvars(2) = Status.PanelTemp *10
DNPvars(3) = Level_Mtr*100
EndSub
'Main Program (Comment out unused code as required)
BeginProg
'Setup DNP variables and coms
DNP (ComRS232,-115200,1)
DNPVariable (DNPvars(),3,30,1,0,0,0,0)
DNPVariable (DNPvars(),3,32,3,1,0,0,70000)
'70000 events approx. 729 days table does 862 days.
'Perform Critical Tasks
Scan (3,Min,0,0)
'Update program time variables
RealTime (Time)
'Measure Sensors
Battery (Battery_Vdc)
SDI12Recorder (Level_Mtr,1,0,"M!",1.0,0)
CallTable(Water)
'every 15 mins update and send unsolicted dnp Events
If IfTime(0,15,Min) Then
UpdateDNPVars()
DNPUpdate (15385,30000)
EndIf
NextScan
EndProg

* Last updated by: gabriel on 11/4/2012 @ 5:59 PM *


Dana Nov 5, 2012 07:40 PM

This just means that you sent the same program to the datalogger, but that program has changed such that memory had to be reset in the process. It is an informational message only.

We've actually removed that message from the OS, because it seems to cause concern while providing little information. Any time you send a new or changed program to the datalogger, you should expect that your previously stored data may not be preserved.

Dana W.


gabriel Nov 5, 2012 09:26 PM

I understand what the message means.

My problem is everytime I send the program to the data logger it resets the memory. even when i make no changes to the code at all ! and i mean zero changes.

It also resets the memory on power loss and reboot.

* Last updated by: gabriel on 11/5/2012 @ 2:26 PM *


Sam Nov 5, 2012 11:23 PM

Gabriel,
I have confirmed what you have reported. I am investigating the possibility of a solution without requiring an OS update. But indeed, when the power is cycled on the logger, the datatable "water" is being reset / cleared.


Sam Nov 6, 2012 05:20 PM

Gabriel,

With apologies, I have an update for you.

I have confirmed your report for OS 25 and 24. This behavior is not present in OS 22. Though OS 22 does handle event reporting, it does not do it 100% correct. It seems like the best thing to do is to use OS 22 for approximately 2 months until OS 26 is released with a fix for this issue. Realizing that a variety of changes and improvements have been made since OS 22, I think you will be able to use OS 22 successfully until OS 26 is released. Below is your program with suggested changes when using with OS 22.


'Public ResetSystem as Boolean
Public Battery_Vdc
Public Level_Mtr

'Dimensioned Variables (not displayed)
Dim I
Dim Time(9)
Dim DNPvars(3) As Long
Dim DNPflag(3) As Boolean = {1,1,1} 'default quality flags to good/online

'Water Data Table Auto Allocated
DataTable (Water,True,-1)
DataInterval (0,15,Min,10)
Sample (1,Level_Mtr,IEEE4)
Sample (1,Battery_Vdc,FP2)
EndTable

'subroutine to put all the loggernet variables into the DNP variables
Sub UpdateDNPVars
DNPvars(1) = Battery_Vdc *100
DNPvars(2) = Status.PanelTemp *10
DNPvars(3) = Level_Mtr*100
EndSub

'Main Program (Comment out unused code as required)
BeginProg
'Setup DNP variables and coms
DNP (ComRS232,-115200,0001)
DNPVariable (DNPvars(),3,30,1,0,0,0,0)
DNPVariable (DNPvars(),3,32,3,1,0,0,33000)

Scan (3,Min,0,0)

'Update program time variables
RealTime (Time)

'Measure Sensors
Battery (Battery_Vdc)
SDI12Recorder (Level_Mtr,1,0,"M!",1.0,0)
CallTable(Water)

'every 15 mins update
If IfTime(0,15,Min) Then
UpdateDNPVars()
DNPUpdate (15385,30000)
EndIf
NextScan

EndProg


gabriel Nov 6, 2012 09:23 PM

Thanks for the update, might end up waiting for the new release is there a mailing list for Software release ?

We are looking at updating around 85 CR800 and CR1000 to do DNP3 functionality. so updating the OS twice isn't the best option.


Sam Nov 7, 2012 04:00 AM

You can be configure your Customer Care account to notify you by email.

https://www.campbellsci.com/register


gabriel Mar 18, 2013 01:33 AM

" It seems like the best thing to do is to use OS 22 for approximately 2 months until OS 26 is released with a fix for this issue"

Any more updates on the release of OS 26

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