Metering & Power Quality
Schneider Electric support forum about Power Meters (ION, PowerTag, PowerLogic) and Power Quality from design, implementation to troubleshooting and more.
Posted: 2020-09-16 05:36 AM
Link copied. Please paste this link to share this article on your social media post.
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.
Link copied. Please paste this link to share this article on your social media post.
Hello @Anonymous user
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
Link copied. Please paste this link to share this article on your social media post.
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.
Link copied. Please paste this link to share this article on your social media post.
Hello @Anonymous user ,
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
Posted: 2020-09-17 06:03 AM
Link copied. Please paste this link to share this article on your social media post.
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.
Link copied. Please paste this link to share this article on your social media post.
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.
Link copied. Please paste this link to share this article on your social media post.
Hello @Anonymous user
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
Posted: 2020-09-18 06:13 AM
Link copied. Please paste this link to share this article on your social media post.
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 |
Link copied. Please paste this link to share this article on your social media post.
Hello @Anonymous user
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.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.