When this input receives a pulse, it either increases or decreases the number in the Accumulatr output register by an amount defined by the Multiplier setup register. Linking this input is mandatory.
When this input is ON, the module is enabled; when it is set to OFF, the module is disabled, counting stops, and the Accumulatr output register retains the last value it received. This input is optional; if you leave it unlinked, the module will be enabled by default.
When this input receives a pulse, it resets the Counter module, and sets the Accumulatr output register to the value in the Preset setup register. Linking this input is optional; the module will still operate if you leave this input unlinked.
The Counter module setup registers define the magnitude, direction and update rate of the count.
This register specifies the amount to increase (or decrease) the output for every incoming count. By default, Multiplier is set to ONE.
This register determines if the module increments or decrements the value in the output register. Select UP to set the mode to increasing value (count up) and DOWN to set the mode to decreasing value (count down). By default, Count Mode is set to UP.
This register specifies what value the Accumulatr output register should be reset to in the event of a reset pulse or rollover. (A rollover occurs when the Accumulatr output reaches the value specified in the RollValue setup register.) By default, the Preset register is set to zero.
When the Accumulatr output register reaches the value specified by the RollValue setup register, the Result output register will be reset to the value in the Preset setup register. Setting this register to zero disables the Rollover feature (no rollovers will occur). By default, this register is set to zero.
This enumerated register defines how frequently the Accumulatr output register is updated (one second or high-speed/half-cycle).
This numeric variable register contains the accumulated count. Highest count (up or down) is ±1 x 1099. See note in “Detailed Module Operation” section.
This register generates a pulse every time the Accumulatr output reaches the value specified in the RollValue setup register.
All events are recorded in the Event register. Possible events and their associated priority numbers are:
|Event priority group||Priority||Description|
|Reset||5||A module reset has occurred.|
|Setup Change||10||Input links, setup registers or labels have changed|
The Event output register stores the following information for each ION event: time stamp, priority, cause, effect, and any values or conditions associated with the cause and effect.
Detailed module operation
When a pulse is received on the Count input, the Counter module updates the Accumulatr output register by the amount defined in the setup registers. The Rollover output will send a pulse when the Accumulatr output value reaches RollValue setup register value.
The figures below illustrate the operation of a Counter module. These examples indicate how the setup registers affect what value is written in the Accumulatr output register, and when Rollover pulses are sent.
Example 1 — Standard operation
Note that the value at the Accumulatr output never actually reaches the RollValue; instead, when RollValue is reached, the output jumps to the Preset value. The Rollover pulse is sent the instant the Preset value is written into the Accumulatr output.
Example 2 — Overshooting the RollValue
The module’s operation must be considered carefully if the range defined by Preset and RollValue registers is not directly divisible by the Multiplier value. This type of configuration will cause the RollValue to be “overshot”.
As shown above, the Accumulatr does not lose counts if the RollValue is overshot. Instead, when the count goes above the RollValue, the amount of the overshoot (the remainder) is added to the Preset value and the Accumulatr value is updated. The Rollover pulse is sent when the Preset + remainder value is written into the Accumulatr output.
Example 3 — Count-to-Zero
Note that the RollValue is set to –1 to create a count-to-zero function.
Responses to special conditions
The following table summarizes how the module behaves under different conditions.
|Condition||Response of output registers|
|After the module is re-linked or its setup registers are changed||The Accumulatr output register value is set to the Preset setup register value.|
|When the device is started or powered-up (either the first time, or after a shut-down)||The Accumulatr output register retains the value it held at shutdown.|
Illegal Counter Setup Values
Some combinations of setup register values constitute illegal setups. If the Counter module is setup with illegal values, the module will not go online when the device starts up. Illegal setup combinations are as follows:
The Multiplier setup register cannot be set to zero.
The module will not operate if Preset equals RollValue (unless both registers are set to zero, disabling rollover)
The Multiplier value must be smaller than the absolute value of the Preset value minus the RollValue. If the Multiplier were larger than the range between Preset and RollValue, rollover would occur with every count.
The count must always move towards the RollValue, unless RollValue is set to zero. Any combination of setup register values that cause the module to count away from the RollValue are not permitted.