Topic: DMD0177

Help File Version: 2.9.4.37

TMR - Up Timer


The Up Timer (TMR) 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 (E/R) - which both enables and resets 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 the input leg logic is OFF the Timer will be disabled and will reset which means the accumulator value will return to 0 and the Timer's associated structure fields will be reset.

 

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:

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 input logic is ON and the Timer's accumulator value (.Acc) is greater than or equal to its Preset value.

 

.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 NOT being held in Reset by a Reset Timer (RSTT) instruction. Will remain ON after .Done turns ON.

 

.Reset (read-only) will be ON any time the Timer's input logic is OFF or is being reset by a Reset Timer (RSTT) instruction.

 

.TT (read-only) will be ON if 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 input logic is ON and 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: