New DNP3 Driver Beta

Could you send me the SCADAPack 570 configuration file?

@Mark_Phillips

I sent you a PM with a Dropbox link to our program. In testing things locally, I am seeing weird behavior where the device isn't sending value deviation class events until I force an Out of Range event. At that point, the quality get updated, and when I bring everything back to normal limits, the Value Deviation aspects are working as expected. I am looking into this on our side to see if there is anything off, but right now it is looking to be device specific. Let me know if you see something similar.

Thanks,
Garth

1 Like

Thank you for clarifying. That makes sense.

1 Like

@Kevin.Herron @ggross It looks like I had the "Source Address - Local (master) DNP3 data link address" set wrong. Everything seems to be working great. I will do some more testing and let you know if I find any issues. Thanks for all your help.

@Kevin.Herron It appears that the "On Change" history for a DNP3 Analog tag is looking at the integrity poll value and not logging history on the DNP3 events from the tag. Is there anyway to change that? I changed the tag to log on the SOE tag group I created for the DNP3 polling the device, but it seems to be logging the history on the periotic value.
Let me know if there is a best practice for History on a DNP3 tag.
image

@Mark_Phillips, can you please check your Tag Group settings for the primary tag to ensure they are setup properly?

  1. Buffered Events require the following settings in the Tag Group definition:
  2. Sampling Interval set to 0
  3. Queue Size set to a >0 value

If these values are not setup correctly, then the Ignition tag can't handle everything being sent to it from the device.

The other thing you may want to change is the Min Time Between Samples history setting. Depending on the timestamps being received, you might not be outside the default 1 second range.

1 Like

The sampling interval and queue have been set to the following:


This is implemented on the tag:
image
Below are the History settings:
image
I see the live values come in via the event polling from Ignition, but the History is only logging the data according to the Integrity Poll values.

Your screenshot on the tag shows a min time between samples of one hour.

I changed the min time between samples to 5 seconds and I am having the same issue.
image

I'm pretty sure Garth was hinting that you should set it to zero.

I changed it to zero and I am having the same issue.
image

@Mark_Phillips, sorry it took so long to get back to you on this. I think the deadband is what is causing the issue you are seeing. If you change the Deadband Mode to Off does it change any of the behavior you are seeing?

Garth

No worries, I changed the Deadband mode to Off and it did not resolve the issue.

Both Deadband Modes are set to off:

Let's try and dump all events on the tag we are working with. Can you do the following:

  1. In the Gateway: Navigate to Status > Logs
  2. Click the Settings icon (Gear)
  3. Click the Context tab
  4. For key enter: tag
    5: For value enter the tag name
  5. Change level to trace
  6. Click the Add Level button

Example:
My Tag structure looks like:
Structure

The log setup looks like the following for AnalogOutput30:

If everything is working as intended, you should see logs coming through that look like the following as values change:

Can you DM me your wrapper log for a case where the history might not be logged properly?

I can see the events in the log, and I can see the tag change is designer. I just have an issue on the history being logged on the tag event values. Can you send me a screenshot of a trend working with your test bench set up? I will send over the wrapper log shortly.

<img width="1216" height="831" style="width:12.6666in;height:8.6562in" id="Picture_x0020_5" src="//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/business4/uploads/inductiveautomation/original/3X/5/0/50d13f3a7cf96fa321d79b5474bdab46ba260b03.png" alt="A screenshot of a computer

Description automatically generated">

<img width="447" height="153" style="width:4.6562in;height:1.5937in" id="Picture_x0020_6" src="//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/business4/uploads/inductiveautomation/original/3X/5/e/5ebc6f300dfbfddd057658faebed341b1cb75d59.png" alt="A screenshot of a computer

Description automatically generated">

<img width="454" height="148" style="width:4.7291in;height:1.5416in" id="Picture_x0020_7" src="//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/business4/uploads/inductiveautomation/original/3X/7/1/71094bf6e0898db0ad9d5562b9db60bf818083bc.png" alt="A blue line with white circles and a blue stripe

Description automatically generated">

The highlighted point is the integrity poll when I restarted the ignition server. The chart will follow the live value, but not put anything into history even when it’s set to “On Change”.

<img width="1681" height="824" style="width:17.5104in;height:8.5833in" id="Picture_x0020_9" src="//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/business4/uploads/inductiveautomation/original/3X/0/a/0a4df7f1f03c935c3992b75d7f080bf6d0fb17f9.png" alt="A screenshot of a computer

Description automatically generated">

The program for this device is counting from 1-1000 and resetting back the baseline. At 2:11 a Gateway restart was performed and the trend is continuing.:

Keep in mind that your device might not be buffering as many things as you are thinking it is. For example, the device used to generate the data above is a Siemens Simatic RTU3010C. It looks to be buffering everything I am expecting to come across. For our SCADAPack 570 (running essentially the same program), despite the setting being set to 1000 for number of items to buffer, I am only getting 6 items buffered at most for any tag and I am seeing gaps.

When we look at the wireshark capture, we are confirming that Ignition is handling all the values we are getting from the device, but the device isn't sending us everything we would expect. I have yet to find a setting that modifies this behavior.

The goal of having you send me the logging is:

  1. It will show changes Ignition is seeing to the OPC tags
  2. It will show the chain of events of how Ignition history is determining what to store (which is ultimately where the data the graph is showing comes from)

Thanks, how do you want me to send you the log wrapper?

@markphillips thank you for sending the logs
This is what I believe is happening:

  1. When the trial in place, Ignition isn't storing data to tag history and isn't doing any class polls
  2. When the trial is cleared, the integrity poll has already occurred without device provided timestamp, so it gets the timestamp from the Ignition gateway is applied to the opc tag in Ignition.
  3. We do a class poll and get the remaining missing values, but the timestamps are provided from the device and they have a value prior to the timestamp Ignition logged when the integrity poll occurred.
  4. Ignition sees the history with the timestamp before the latest timestamp known for the tag, and rejects storing it.

We know that Integrity Polls are going to cause problems like this with the default configuration of Ignition. In Ignition, each tag provider has an Advanced Option for Allow Back-fill Data that will take effect immediately when set. Can you please try enabling this setting and seeing if it makes things better?

Setting is located here:
Config > Tags > Realtime > {Edit Provider} > Advanced > Allow Back-fill Data

Additional information about this setting can be found in the manual

Garth

@ggross I just noticed the time in the Ignition gateway is incorrect, that seems to be the issue. The integrity polls are coming in on the Ignition gateway time, and the class polls are coming in on the device time. The class polls are highlighted in the yellow. Sorry for wasting your time on this.