Topic: DMD0095

Help File Version: 2.9.4.37

TMRAG - Global Accumulating Up Timer


The Global Accumulating Up Timer (TMRAG) instruction is used to accumulate time for a specified duration, typically to initiate some action when the Timer has accumulated the prescribed amount of time. The instruction has a single ladder logic input leg - labeled (EN) - which both enables and disables the Timer. If the input leg logic in ON the Timer is enabled and will begin to accumulate time upward from 0 toward a preset value. When this input logic is OFF, the Timer will stop timing, but the accumulator and the status flags will retain their current values. If this input logic comes back ON, the Timer will continue to accumulate time.

 

Although this is an accumulating Timer it does NOT have a Reset input leg like the Accumulating Up Timer (TMRA) and Accumulating Down Timer (TMRADOWN); the RSTT - Reset Timer instruction is the proper method to reset a Global Accumulating up Timer.

 

This is the only Timer that does NOT have termination logic, meaning that it does NOT automatically reset if the Program, Task, or Stage in which the instruction is placed is disabled.

 

When a new Timer is added to the ladder logic the Common Timer Editor will be used. When editing an existing Timer, the following type-specific editor will be used. This can be changed in the View -> Options -> Ladder tab -> Editing section by selecting either Use only with new Timers (the default) or Use with new and existing Timers

 

 


Parameters:

Note: Use the F9 key to open the Default Element Selection Tool (the Element Picker or the Element Browser) or use the Down-Arrow key (Auto-Complete) on any parameter field to see a complete list of the memory locations that are valid for that parameter of the instruction.

 

Timer Struct specifies which Timer number to edit, and by extension, the name of the Timer's associated structure. This can be any of the System-created Timers, or any user-created Timer. The default Memory Configuration contains 255 predefined Timers named T0 through T255.

 

Preset is the amount of time after which you want some action to take place. All Timers have a resolution of 1 millisecond. The maximum value for a Preset is 2,147,483,647 milliseconds. The Preset value can be specified in one of two ways:

Constant means the Preset is a fixed amount of time and can only be changed by editing the instruction. The Preset value is specified using the Time format (HH : MM : SS : mmm). The maximum Time value in this form is 596 hours, 31 minutes, 23 seconds, and 647 milliseconds. If needed, the value entered for the Timer Preset will be normalized to its standard value. For example, if you entered a value of 97 Seconds, that value will be converted and displayed as 1 Minute and 37 Seconds. When editing the Constant Preset value the following keystrokes are available to make entering the value easier and faster: h, m, s, and mm move the edit cursor to the Hours, Minutes, Seconds or milliseconds fields respectively.

 

Variable allows the Preset to be changed while the PLC is running. The Preset is specified as a numeric memory location that will contain the total number of milliseconds desired (from 0 to 2,147,483,647). This can be any readable numeric location.


Termination Scan Behavior:

All Timers - with one exception - have termination logic. This means if the Timer instruction is contained within a Program, a Task, or a Stage, the Timer will automatically be reset any time that Program, Task, or Stage stops executing because of an End Program, End Task, or Disable Stage respectively.

 

The Global Accumulating Up Timer (TMRAG) instruction does NOT have termination logic, meaning that it will retain it's accumulated time and the state of it's internal flags even if it is contained within a Program, a Task, or a Stage, that is disabled.

 

Refer to the Help topic on Termination Behavior for detailed information on the programming elements that have termination logic.

 


Status Display:

 

The yellow triangle in the upper left corner indicates this is a Multi-Scan instruction.

 


Timer Structure Members:

Global Accumulating Up Timers have an associated structure with fields that can be used in the ladder program. The structure fields are updated whenever the Timer instruction is processed in the PLC scan. The syntax for using them is <Timer structure>.<field name>, for example, T7.Acc.

 

.Acc (read/write) is a 32-bit signed value that represents the total accumulated time whenever the Timer is enabled. If the Timer is still enabled after the Preset is reached, the .Acc value keeps incrementing to a maximum of 2,147,483,647 ms (596 hrs, 31 min, 23.647s), it does not wrap.

 

.Done (read-only) will be ON any time the Timer's accumulator value (.Acc) is 0

 

.Zero (read-only) will be ON any time the Timer's accumulator value (.Acc) is 0.

 

.Timing (read-only) will be ON any time the Timer's input logic is ON and is NOT being held in Reset by a Reset Timer (RSTT) instruction. Will remain ON after .Done turns ON.

 

.Reset (read-only) will be ON if the Timer is being reset by a Reset Timer (RSTT) instruction.

 

.TT (read-only) will be ON any time the Timer's input logic is ON and is NOT being held in Reset by a Reset Timer (RSTT) instruction. Will turn OFF when .DN turns ON.

 

.EN (read-only) will be ON any time the Timer's input logic is ON and is NOT being held in Reset by a Reset Timer (RSTT) instruction.

 

.DN (read-only) will be ON any time the Timer's accumulator value (.Acc) is greater than or equal to the its Preset value.

 


See Also:

TMR - Up Timer

 

TMRDOWN - Down Timer

 

TMRA - Accumulating Up Timer

 

TMRADOWN - Accumulating Down Timer

 

TMRAG - Global Accumulating Up Timer

 


Related Topics:

RSTT - Reset Timer

 

OFFDTMR - OFF Delay Timer

 

ONDTMR - On Delay Timer

 

TIMEDOUT - Timed Output

 


Rung Example: