Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84257members
353354posts

Running hours counter with ION Framework

Metering & Power Quality

Collaborate with multiple experts and discuss various topics about Power Meters and Power Quality. From design & implementation to troubleshooting and more, get support from experts and share your experiences by subscribing to the Schneider Electric Exchange forum today.

Solved
sesa468221_brid
Crewman Crewman
Crewman
0 Likes
7
1089

Running hours counter with ION Framework

Hello,

 

Our customer is requesting some custom features on an ION7400 meter. One of the applications is a running hours counter for an engine where digital input is monitored (one pulse per second when engine is on, no pulses when it's off). 

 

For me the first though was that this could be achieved with the same principle as WAGES monitoring in (Port S1 -> Counter -> Periodic Timer + Data recorder) so that running time is counted in seconds and then modified to hours or hours / 10^4. Would there be alternative solution?

 

However, as they are installed in retrofit locations, there is a need to manually change the running hours number to an user specified value when meter is installed. Customer was requesting that this could be done via meter's display. Is this possible? Alternative option could be via ION Setup or internal webpages. PME / Designer might be a bit too heavy in this case.

 

There is also a request for custom Modbus tables to make the installation easier to background systems. One of the features is alive indicator. How this can be achieved with ION meters. I think there was some value read by PME to show if communications are working or not but I can't remember what it was.

 

Tags (1)

Accepted Solutions
Charles_Murison
Picard Picard
Picard
0 Likes
2
1067

Re: Running hours counter with ION Framework

Hello @sesa468221_brid 

 

Sadly, there is no way to preset a value on the counter module except using the Preset setup register then resetting the module. The danger in doing this is that if the module is reset or rolls over at a later date, the count output will reset to this predefined value. Also, any change to the input links or setup registers will reset the module so it is not possible to define this preset, pulse the reset, then change the preset value.

 

The option to use Arithmetic modules is likely the best option at this point. I know it is less than ideal but can work. Given the requirement to have engine run time in seconds (perhaps confirm if value expected is 0-60 or 0-X where X is the highest number possible for the modbus register format), you will likely need to use ART module to calculate hours from the given number of seconds. Only 1 more formula to calculate result/1000

 

The count module has a recommendation to have the rollover set to 16777216 or below. This is due to 32 bit floating point precision. Usually easier to have this happen at a specific point like X days or X hours or X seconds. When the count reaches the rollover, the output "Rollover" is pulsed and the accumulation is reset to preset value. (This rollover is why having something in the preset setup register is not advised.)

 

'original format " may need a little more explaining. energy divided by 10^4 is easy with Arithmetic module, as is divided by 10^8 depending no what the expected format is. Having more knowledge around what the expected modbus formats are, and the expected ranges for the modbus values would also help.

 

Regards,

Charles

 

L4 Prime for Advanced metering and Utilities

See Answer In Context

Tags (1)
7 Replies 7
RobGraham
Lt. Commander Lt. Commander
Lt. Commander
0 Likes
0
1084

Re: Running hours counter with ION Framework

I think your method is probably the best with the counter module.  You can set the multiplier to a value less than 1 to scale the seconds down to hours.  You can also set the Preset register to the starting hours value that you are looking for.

 

The only alternative I see is converting the digital status to a Numeric value and integrating it, then using the Divisor register for scaling.  The output of the integrator module can be written directly in ION Setup to preset it.  I'm not sure this has any advantages, however.

 

To your last question, unless something has changed, the front panel buttons on the 8000 and 7400 are not available for configuration.  There are rough directions in the user manual for creating a custom web page.  It's also possible to create a custom ION Setup Assistant.  However, both of these options are rather time-consuming in themselves.  Unless this procedure will be done many times by many different people, I would recommend just writing a very precise set of instructions for Advanced ION Setup.

 

Alternately, if the customer has PME installed, it's quite simple to modify the standard device diagram to add a control object for configuration.

Tags (1)
Charles_Murison
Picard Picard
Picard
0 Likes
5
1082

Re: Running hours counter with ION Framework

Hello @sesa468221_brid ,

 

The option from Rob is a good one. The power of ION is that there is usually more than 1 way to do things. For example you could feed the count value as well as external numeric to arithmetic module. The external numeric module holds the original running hours.  The ART module calculates the new hours (or count module has pulse weight as Rob suggested) and then adds the second input to get the new total hours. 

 

 

When you are asking about the customer Modbus Table I am not 100% sure I understand what you are looking for. Are you looking to change the default modbus mapping in the meter to match what was in the replacement device before? If so, you might be able to do something like this but devil is in the details, how much data, what kinds of data types etc.

 

The meter has a set point module "Pwr Up" perhaps this could be used as alive indicator but this is just a guess as I am not sure what you are looking to indicate.

PME communications uses a poll to determine if meter is still communicating with the system. The value read by PME depended on the alarm configuration, typically it was something like device type.

 

Regards,

Charles

L4 Prime for Advanced metering and Utilities
Tags (1)
sesa468221_brid
Crewman Crewman
Crewman
0 Likes
4
1072

Re: Running hours counter with ION Framework

Thanks for your and Rob's solution. Using an external numeric for original hour value would work here really well. Setting this value could be done in the first phase via ION Setup but I assume that a simplified solution is required as meters are part of global projects and commissioned by persons with different skill levels.

 

Actually Modbus map document from the replaceable device says that engine running seconds are also calculated as well as hours and hours/1000. How does the counter module behave when it's going to reach it's maximum value? From ION reference manual it seems that the highest count (up or down) is ±1 x 1099 and the module updates the Accumulatr output register every time the Count input is pulsed, up to a value of 16,777,216. How should I notice this when doing the programming?

 

In this project we're promoting ION series meters as a substitute to VAMP V260/V96 power monitoring units that are reaching their end of life. Custom Modbus mapping is required to match original values as meters are connected to a control system (Modbus values are about the same as with Protection relay P3U30). There are still some cross-checks to be done regarding data types etc. Most of the required values are basic power meter measurements but then there's some extra stuff like value of energy delivered/received in original format and divided by 10^4 or 10^8, alive indicators etc.

Tags (1)
RobGraham
Lt. Commander Lt. Commander
Lt. Commander
0 Likes
0
1068

Re: Running hours counter with ION Framework

Unfortunately, I don't have personal experience with hitting the maximum output.  If you're concerned with rollover and you're going to use an Arithmetic module to perform the calculation anyway, I would probably just set Roll Value to a reasonable amount, like 10,000,000, then feed the Rollover pulse to another counter module.  You can then run both of these counters into an Arithmetic module to combine them into a single reasonable value.

Tags (1)
Charles_Murison
Picard Picard
Picard
0 Likes
2
1068

Re: Running hours counter with ION Framework

Hello @sesa468221_brid 

 

Sadly, there is no way to preset a value on the counter module except using the Preset setup register then resetting the module. The danger in doing this is that if the module is reset or rolls over at a later date, the count output will reset to this predefined value. Also, any change to the input links or setup registers will reset the module so it is not possible to define this preset, pulse the reset, then change the preset value.

 

The option to use Arithmetic modules is likely the best option at this point. I know it is less than ideal but can work. Given the requirement to have engine run time in seconds (perhaps confirm if value expected is 0-60 or 0-X where X is the highest number possible for the modbus register format), you will likely need to use ART module to calculate hours from the given number of seconds. Only 1 more formula to calculate result/1000

 

The count module has a recommendation to have the rollover set to 16777216 or below. This is due to 32 bit floating point precision. Usually easier to have this happen at a specific point like X days or X hours or X seconds. When the count reaches the rollover, the output "Rollover" is pulsed and the accumulation is reset to preset value. (This rollover is why having something in the preset setup register is not advised.)

 

'original format " may need a little more explaining. energy divided by 10^4 is easy with Arithmetic module, as is divided by 10^8 depending no what the expected format is. Having more knowledge around what the expected modbus formats are, and the expected ranges for the modbus values would also help.

 

Regards,

Charles

 

L4 Prime for Advanced metering and Utilities
Tags (1)
sesa468221_brid
Crewman Crewman
Crewman
0 Likes
1
1061

Re: Running hours counter with ION Framework

Required Modbus values are as below. Most of them are pretty basic but some like state values might need more clarification from the customer side. I'm also wondering is it possible to get phase to earth voltage as a calculated value? Wiring installation is either delta or 3W-WYE (have to confirm).

    Name                                 Access   Scaling                                                                                                                       Setting for scaling  Address Type
    Events                               R -      1  = 1                                                                                                                           -                    401996...402000 5 x 16-bit unsigned integer
    Alive indicator                      R -      1  = 1                                                                                                                           -                    402001 16-bit unsigned integer
    DI                                   R -      1  = 1                                                                                                                           -                    402007 16-bit unsigned integer
    DIs after DI16 for ModBus            R -      1  = 1                                                                                                                           -                    402008 16-bit unsigned integer
    Phase current IL1                    R -      1 A = 1                                                                                                                          -                    402009 16-bit unsigned integer
    Phase current IL2                    R -      1 A = 1                                                                                                                          -                    402010 16-bit unsigned integer
    Phase current IL3                    R -      1 A = 1                                                                                                                          -                    402011 16-bit unsigned integer
    Io1 residual current                 R -      1.00 A = 100                                                                                                                     -                    402012 16-bit unsigned integer
    Line-to-line voltage U12             R -      1000 V = 1000                                                                                                                    Voltage scaling      402014 16-bit unsigned integer
    Line-to-line voltage U23             R -      1000 V = 1000                                                                                                                    Voltage scaling      402015 16-bit unsigned integer
    Line-to-line voltage U31             R -      1000 V = 1000                                                                                                                    Voltage scaling      402016 16-bit unsigned integer
    Phase-to-earth voltage UL1           R -      1000 V = 1000                                                                                                                    Voltage scaling      402017 16-bit unsigned integer
    Phase-to-earth voltage UL2           R -      1000 V = 1000                                                                                                                    Voltage scaling      402018 16-bit unsigned integer
    Phase-to-earth voltage UL3           R -      1000 V = 1000                                                                                                                    Voltage scaling      402019 16-bit unsigned integer
    Residual voltage                     R -      1.0 % = 10                                                                                                                       -                    402020 16-bit unsigned integer
    Frequency                            R -      50.000 Hz = 5000                                                                                                                 Frequency scaling    402021 16-bit unsigned integer
    Active power                         R -      1000 kW = 1000                                                                                                                   Power scaling        402022 16-bit unsigned integer
    Reactive power                       R -      1000 kvar = 1000                                                                                                                 Power scaling        402023 16-bit unsigned integer
    Apparent power                       R -      1000 kVA = 1000                                                                                                                  Power scaling        402024 16-bit unsigned integer
    Power factor                         R -      1.00  = 100                                                                                                                      PF and cos scaling   402025 16-bit signed integer
    Energy Eexp                          R -      1  = 1                                                                                                                           -                    402026 16-bit unsigned integer
    Eexp/10^4                            R -       10^4 = 1                                                                                                                        -                    402027 16-bit unsigned integer
    Eexp/10^8                            R -       10^8 = 1                                                                                                                        -                    402028 16-bit unsigned integer
    Energy EqExp                         R -      1  = 1                                                                                                                           -                    402029 16-bit unsigned integer
    EqExp/10^4                           R -       10^4 = 1                                                                                                                        -                    402030 16-bit unsigned integer
    EqExp/10^8                           R -       10^8 = 1                                                                                                                        -                    402031 16-bit unsigned integer
    Energy Eimp                          R -      1  = 1                                                                                                                           -                    402032 16-bit unsigned integer
    Eimp/10^4                            R -       10^4 = 1                                                                                                                        -                    402033 16-bit unsigned integer
    Eimp/10^8                            R -       10^8 = 1                                                                                                                        -                    402034 16-bit unsigned integer
    Energy EqImp                         R -      1  = 1                                                                                                                           -                    402035 16-bit unsigned integer
    EqImp/10^4                           R -       10^4 = 1                                                                                                                        -                    402036 16-bit unsigned integer
    EqImp/10^8                           R -       10^8 = 1                                                                                                                        -                    402037 16-bit unsigned integer
    Tan phi                              R -      1.000  = 1000                                                                                                                    Tan phii scaling     402038 16-bit signed integer
    Phase current IL                     R -      1 A = 1                                                                                                                          -                    402039 16-bit unsigned integer
    Average line voltage                 R -      1000 V = 1000                                                                                                                    Voltage scaling      402040 16-bit unsigned integer
    Average phase voltage                R -      1000 V = 1000                                                                                                                    Voltage scaling      402041 16-bit unsigned integer
    Obj1 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402042 16-bit unsigned integer
    Obj2 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402043 16-bit unsigned integer
    Obj3 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402044 16-bit unsigned integer
    Obj4 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402045 16-bit unsigned integer
    Obj5 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402046 16-bit unsigned integer
    Obj6 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402047 16-bit unsigned integer
    Remote/Local State                   R W      REMOTE=0,LOCAL=1                                                                                                                 -                    402048 16-bit unsigned integer
    Output relays                        R -      1  = 1                                                                                                                           -                    402049 16-bit unsigned integer
    Obj7 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402050 16-bit unsigned integer
    Obj8 state                           R -      Open=0,Close=1,Undef=2                                                                                                           -                    402051 16-bit unsigned integer
    Run hours/10^0 to ModBus             R -      1  = 1                                                                                                                           -                    402057 16-bit unsigned integer
    Run hours/10^4 to ModBus             R -      1  = 1                                                                                                                           -                    402058 16-bit unsigned integer
    Engine running seconds               R W      1 s = 1                                                                                                                          -                    402059 16-bit unsigned integer
    Start counter                        R W      1  = 1                                                                                                                           -                    402060 16-bit unsigned integer
Tags (1)
Charles_Murison
Picard Picard
Picard
0 Likes
0
1052

Re: Running hours counter with ION Framework

Hello @sesa468221_brid 

 

The Unsigned 16 bit numbers have a maximum of 2^16 -1 (65535), What a device does after this number can very per device. Most devices will roll over to 0. So this may or may not come into play.

The ION7400 meter does not have a VE terminal like the ION9000 meter does. 

L4 Prime for Advanced metering and Utilities
Tags (1)