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
84248members
353348posts

SCADA side flow totalization, it should be done in PLC but...

EcoStruxure Geo SCADA Expert Forum

Find out how SCADA systems and networks, like EcoStruxure Geo SCADA Expert, help industrial organizations maintaining efficiency, processing data for smarter decision making with IoT, RTU and PLC devices.

Solved
Tanquen
Lt. Commander
Lt. Commander
0 Likes
2
1237

SCADA side flow totalization, it should be done in PLC but...

The customer has a handful of flows that they would like totalized and averaged.

 

I’m using this Expression to get the average and it seems to work but the update seems finicky. It seems no value is displayed until the historical value it is looking at is updated. 

 

FORMATVAL('#.00', "..Tags DNP.Odor Control.Level;Average;H;1H") + ' ppm'

 

They're asking for a total flow and the flow is gallons per day. And then they also want a total gallons used from some chem tanks?

 

I’m not sure how to best make a flow totalizer. There are some clues here but I’m unsure if they are saying it worked and not sure how it would be implemented.

 

https://community.exchange.se.com/t5/Geo-SCADA-Expert-Forum/Imported-Accumulator-to-get-Flow-Total/m...

 

>>Message imported from previous forum - Category:ClearSCADA Software<<

User: MikeForshock, originally posted: 2019-10-10 21:36:49 Id:540

We have a Flow (GPH) coming in via an Analog Point.

We would like to create a totalizer (total volume) that continues until manually reset by the operator.

Have tried nearly every variation of processing options (Current, Value Change, Timed Report, etc.) combined with the Timed Report and End of Period Reset interval.

Should only need the EOP interval to 1H, but the value is almost always x60. Additionally displaying a historical tag for Total over an hour shows an erroneous value.

We have created a random number generator that varies from 60-60.000001 to cause value change, so would expect ~60 over a hour but that is not the case.

Previously we had to create an additional Calculation point and divide the GPH by 3600 to get the calculated value. This wastes a point...

Continuous

Timed Report Int: 10S

Timed Report Offset: M

EOP Int: 0 (No reset period)

EOP Offset: Day

Historic Filter Checked for all

Tags (1)

Accepted Solutions
Hardin4019
Lieutenant
Lieutenant
0 Likes
1
1214

Re: SCADA side flow totalization, it should be done in PLC but...

I feel your pain. I had a flow computer that for some reason wouldn't give us a Today's or Yesterday's volumes.

 

I was able to make ClearSCADA calculated Today's Volume using the ClearSCADA "Accumulator > Integrator". You point it to the instantaneous flow rate,  under Source Object, check the box for Value Change. Make sure "Continuous" at the top is unchecked. My timed report is setup for 20S with offset of 1Hr. My "End of Period Reset" is setup for Every 1D, Offset 10H, with local time and DST checked for 10:00 AM Eastern Time reset.

 

My value updates every 20 seconds. The Accumulator Integrator assumes that the value it is accumulating is in Units per SECOND. So if you are reading flow in Gallons Per Minute, you will need to do another calculation point as an in between step to get Gallons per SECOND first. Mine for instance was in Barrels Per Hour, so I made a calculation point with the source of the BPH reading then / 3600. Now this calculation point is in BBL / Second. This is now the source object I used in the Accumulator Integrator.

See Answer In Context

Tags (1)
2 Replies 2
Hardin4019
Lieutenant
Lieutenant
0 Likes
1
1215

Re: SCADA side flow totalization, it should be done in PLC but...

I feel your pain. I had a flow computer that for some reason wouldn't give us a Today's or Yesterday's volumes.

 

I was able to make ClearSCADA calculated Today's Volume using the ClearSCADA "Accumulator > Integrator". You point it to the instantaneous flow rate,  under Source Object, check the box for Value Change. Make sure "Continuous" at the top is unchecked. My timed report is setup for 20S with offset of 1Hr. My "End of Period Reset" is setup for Every 1D, Offset 10H, with local time and DST checked for 10:00 AM Eastern Time reset.

 

My value updates every 20 seconds. The Accumulator Integrator assumes that the value it is accumulating is in Units per SECOND. So if you are reading flow in Gallons Per Minute, you will need to do another calculation point as an in between step to get Gallons per SECOND first. Mine for instance was in Barrels Per Hour, so I made a calculation point with the source of the BPH reading then / 3600. Now this calculation point is in BBL / Second. This is now the source object I used in the Accumulator Integrator.

Tags (1)
Tanquen
Lt. Commander
Lt. Commander
0 Likes
0
1202

Re: SCADA side flow totalization, it should be done in PLC but...

Gallons Used

 

I used a Logic Structured Text Program to get the gallons used and it seems to work. I messed with an Accumulator Delta but could not get it to do what I wanted.

 

PROGRAM NewStructuredTextProgram

 

VAR

Current_Tank6701Gal AT %I(..Calcium Nitrate Tank 6701.Gal) : REAL;

Current_Tank6702Gal AT %I(..Calcium Nitrate Tank 6702.Gal) : REAL;

 

Internal_Last_Gal_Tank_6701 AT %M(.Last Gal Tank 6701) : REAL;

Internal_Last_Gal_Tank_6702 AT %M(.Last Gal Tank 6702) : REAL;

Internal_Total_Gal AT %M(.Total Gal) : REAL;

END_VAR

 

IF Current_Tank6701Gal < Internal_Last_Gal_Tank_6701 THEN

     Internal_Total_Gal := Internal_Total_Gal + (Internal_Last_Gal_Tank_6701 - Current_Tank6701Gal);

END_IF;

 

IF Current_Tank6702Gal < Internal_Last_Gal_Tank_6702 THEN

     Internal_Total_Gal := Internal_Total_Gal + (Internal_Last_Gal_Tank_6702 - Current_Tank6702Gal);

END_IF;

 

Internal_Last_Gal_Tank_6701 := Current_Tank6701Gal;

Internal_Last_Gal_Tank_6702 := Current_Tank6702Gal;

 

END_PROGRAM

 

Flow Total

 

If Continuous is not selected it seems the Accumulator Integrator value only updates when the flow changes. If the flow doesn’t change for a time the total will be off. Also, it seems you can’t have a manual reset without setting the Continuous option. With it one you can select Initialize or rest from the left click menu. I was also able to add a Rest button with a Pick Action that has a Reset method.

 

As you suggested I added a Calculation Analog Point that divides the Gallons per Day by 86400 to get the Gallons per Second. I used the new Calculation Analog Point in the Accumulator Integrator Object Source and it seems to be working.

 

I’m not sure about all the Source Object options. They are all checked by default but would you really need anything other than Value Change. I did use the Override one for testing.

Tags (1)