Hello,
I'm trying to send float values over DNP3 from an SEL RTAC to my Ignition designer window, and I can't seem to stop it from rounding like an integer. For example, when I push a value of 123.45 over DNP3 I get a value of 123.00 from my tag.
I've tried a few things so far, but to no avail:
-I updated the Variation of my DNP3 tag to 5 for a single-precision float.
-I updated my Device Connection settings in my gateway so that the defaults value types for Analog Input Points are Floats.
-I made sure the Data Type of my OPC tag is float
I still can't tell if the problem is on the SEL RTAC side or on the Ignition side. Either way looking for any tips to stop the rounding from general DNP3 users or for people that have used SEL RTAC with Ignition before.
Any thoughts?
Wireshark would be a good place to start.
Also, if you’re on Ignition 8.1 and can upgrade to latest, check out the sticky post about the new DNP3 beta module.
1 Like
Did you ever manage to find a fix? I am running into a similar problem. When Ignition performs an integrity poll its truncating the floats to integers, but regular event data seems to be fine. This issue I'm only seeing with SEL RTACs, Allen Bradley PLCs in the same system aren't showing this behavior.
I'm on Ignition Version 8.1
Investigating the same matter, here are my findings so far.
When using DNP unsolicited event messaging with SEL devices (SEL-735 is my reference) it seems the default for analog values is Group 30 Variation 4 (16 bit integer). When you apply per point scaling it stills send a 16 bit integer just multiplied by 10 for each decimal place.
- 123.456 scaled with no scaling gets sent as 123
- 123.456 scaled with one decimal place gets sent as 1234
- 123.456 scaled with one decimal place gets sent as 12345
Signed 16 bit integers have a max value of 32767, so if you set per point scaling to use 3 decimal places the max value is 32.767 (sent as 32767).
The manual suggests that one may change the default variation for group 30 using terminal command DNP DVAR x where x is the variation (1-5). DNP DVAR 5 should change the default from 4 (16 bit integer) to 5 (short floating point). This setting does not seem to be available through the AcSELerator Quickset GUI. The setting change should apply to group 30 Variation 0 requests and (presumably) to unsolicited events.
DNP DVAR S Show the current analog input variation
DNP DVAR H Show the command syntax
DNP DVAR x Set Object 30 default variation to numeric value x, 1–5
DNP DVAR C Resets the Object 30 to default variation 4 and Object 32 to default variation to 2
I have yet to test and verify this.
Also, I am working with the new DNP3 driver (not the legacy one). Realizing now that the OP may have been using the Legacy DNP3 driver (avoid that at all costs). My comments likely apply equally well to the integrity poll and unsolicited events under the Legacy DNP3 driver for which the SEL device would have used its default group/variation.
2 Likes