Totalizing in Siemens


Thread Starter


Can anyone please help? I have a application where I want to totalize ore. We fill a flask with rock, and on a digital input from the field I want to take the mass (Read in as a PIW)into a Siemens S7-315,and add it up every time.This happens about 300 times a day. The totalizer must then be reset every morning at six. The total loaded rock must be read from a DB and sent to a SCADA.


Donald Pittendrigh

There is an integrator function block as part of the modular PID tool software suite, it should work for your application.

Regards Donald Pittendrigh

<p>First "Read-In" your analog input signal and "Store" it in a Data Block (Byte/Word/Double Word).

<p>When you Get the digital signal to "Store" the information Also carry Out The Following.
L DBW.CurentValue (Current value read-in)
L DBW.TotalValue (Total value so far)
+I (Or D) (Add together)
T DBW.TotalValue (save)
<p>The above needs to be done once only.
You will have to program a "One-Shot" to perform the above, this one-shot should be from the digital Input signal.

<p>Then a Six in the morining you would program some thing similar,
L DBW.TotalValue
T DBW.Six_Morn_Value
L 0
T TotalValue
<p>Again the above should only be carried out by using a "One-Shot" that occurs at six in the morning. You will have to use the S7 Time and Date for this.

<p>You Now have two values that you can display on your Scada,
(This is Total for the Day)

(This is total for previous day)
<p>(You could also use DBW.CurrentValue to display on the Scada as well)


[email protected]

Shahid Waqas Chaudhry

Just adding to what Steve has send:

The single shot function can be implemented using OB. The logic used by Steve can be used in the Obs. With a digital input, you can use the hardware interrupt OB for calling the program for totalizing. For the six o'clock update, use the time interrupt OB for using the program.

PS: It would be better to probably use a Real value instead of integer.
Thanks and Best Regards, Shahid Waqas Chaudhry