On the DirectLOGIC D06 with an EZ-Touch EZs6mr, define the V-memory tag as BCD_INT_16 before using it in a numeric-entry object; the timer’s 0.1-second resolution is a separate conversion from the HMI’s data type.
Separate the timer increment from the tag format
Two different operations are involved when an operator enters a duration in seconds. First, the HMI tag must represent the PLC memory value in the format expected by the DirectLOGIC timer. Second, the entered duration must be converted into the timer’s 0.1-second increments.
For a timer value expressed in tenths of a second, the arithmetic is:
timer preset units = requested seconds × 10
This arithmetic does not decide how those units are encoded in V memory. Treating the value as an unsigned decimal word when the timer expects BCD can produce incorrect values, even if the scale factor is right.
Keep the two checks separate: verify that the HMI tag uses the correct data type, then verify that seconds convert to tenths as intended. Check: Confirm that the timer preset is in 0.1-second units and that the tag is configured for the timer’s expected representation before adjusting any scale setting.
Define the V-memory tag as BCD_INT_16
For the D06 case, the prescribed correction is in the tag database, not only in the numeric-entry object’s visible format choices. Create a tag for the same V-memory location already used by the timer. In the tag creation dialog, select BCD_INT_16 before confirming the tag. Then use that new tag in the numeric-entry object.
- Open the project’s tag database and create a new tag.
- Assign the same V-memory address that the timer preset uses.
- Select
BCD_INT_16from the tag data-type list before accepting the tag. - Set the numeric-entry object to use this new tag.
Do not create a different address for the corrected tag: the purpose is to apply the correct data type to the existing timer preset location. The numeric-entry object’s list of unsigned decimal, octal, or hexadecimal display choices does not replace the tag’s data-type assignment. Configure the object and tag consistently with the project’s intended operator presentation, but retain BCD_INT_16 for this DirectLOGIC timer location.
Check: Reopen the tag properties and confirm both the address and BCD_INT_16; then inspect the numeric-entry object and confirm it references that exact tag.
Convert operator seconds into timer increments
After correcting the tag format, decide where the seconds-to-tenths conversion will occur. The source case identifies the 0.1-second timer resolution and the required tag type, but does not specify a particular EZ-Touch scaling control or a PLC program conversion instruction. Do not infer an editor setting from the fact that the numeric-entry object has display-format options.
If the HMI is to accept whole seconds while the timer preset is stored as tenths, the value reaching the preset must equal the requested seconds multiplied by 10. Configure the conversion in the mechanism available in the project, or have the PLC perform it, but avoid applying the factor twice. A display scale and a PLC-side multiplication together could turn a correct request into a preset ten times too large.
For example, determine in advance whether entering 5 on the HMI writes 5 or 50 to the timer preset location. The intended preset for five seconds is 50 tenths. This check distinguishes the operator-facing unit from the value the timer consumes.
Read the timer instruction and the project’s configured range before allowing operators to enter unrestricted values. The evidence provides no timer maximum, minimum, or object scaling limits; use the applicable D06 and EZ-Touch documentation and the actual project configuration for those bounds.
Check: Trace one known entry through the conversion path and verify the exact value written to the preset before testing longer durations.
Avoid fixes that only change the numeric display
| Quick fix | Why it misses the problem | Correct check |
|---|---|---|
| Choose unsigned decimal, octal, or hexadecimal in the numeric-entry object and stop there. | The object’s available display choices do not assign the required tag data type. | Inspect the tag database and confirm BCD_INT_16 on the V-memory tag. |
| Multiply the entered value by 10 without correcting the tag. | The scale factor handles seconds-to-tenths arithmetic, not BCD-versus-unsigned representation. | Correct the tag first, then trace the resulting timer preset. |
| Keep the existing tag and create no correctly typed tag reference. | The numeric-entry object remains connected through the existing tag definition. | Create a tag at the same address with the correct type and bind the object to it. |
Accumulated error that grows with the entered duration is a reason to check both encoding and scaling. Do not compensate for a type mismatch by changing the multiplier until you have verified the raw value and its interpretation. Likewise, do not assume that a value that looks correct in an HMI field is the value the timer reads.
Check: Confirm one small value in the HMI, tag definition, and PLC timer preset. If these do not agree in both value and units, stop and correct the data path rather than increasing the scale factor.
Commission with known short durations
Test at the machine only under the site’s normal commissioning controls. Begin with short, known entries so a unit or encoding error does not create an unexpectedly long delay. Check that the timer starts, counts, and completes using the preset being tested.
- With the timer inactive, enter a known whole-second value, such as 1 second.
- Read the V-memory preset through the PLC programming software or another project-approved diagnostic view. Confirm that the timer receives 10 units for 1 second.
- Run the timer and compare the observed interval with the entered duration using a suitable time reference. Confirm the PLC timer reaches its done condition at the expected interval.
- Repeat after a power cycle or project reload if the installation requires the operator-entered preset to be retained.
The 1-second and 2-second examples validate the ten-units-per-second conversion; they do not establish the allowed operating range or accuracy tolerance. Use the timer specification and machine acceptance criteria for those decisions.
Check: Do not release the entry for normal use until both the stored preset and the measured timer interval match the selected test durations.
Trace mismatches before returning the timer to service
If the test fails, walk the value path in order rather than changing several settings at once:
- Verify the numeric-entry object references the newly created tag.
- Verify that the tag references the timer’s actual V-memory preset address and is typed
BCD_INT_16. - Observe the preset value after HMI entry and determine whether the seconds-to-tenths factor is applied zero, one, or two times.
- Check the timer instruction’s preset source and confirm it uses the address being edited.
Change one cause at a time, then repeat the short-duration test. If the tag type is correct but the preset still changes unexpectedly, inspect the PLC logic for other writes to the same V-memory address and check the project’s HMI-to-PLC communication and data mapping. Consult the project documentation for the valid timer range and any restrictions on values.
Check: A stable preset value at the correct address, followed by a measured timer interval matching the test request, is the release condition.
Escalate when the value path cannot be verified
Keep the temporary restore distinct from the permanent repair. A controlled temporary method may be used only if it is approved for the machine and the operator can still enter a verified preset; document the limitation and do not leave an unverified scaling workaround in service.
Stop testing if the HMI value, V-memory value, and timer behavior disagree, or if the acceptable timer range is unclear. Record the D06, EZs6mr, tag address and type, numeric-entry configuration, entered value, observed preset, and measured interval; then contact official AutomationDirect support or the responsible controls engineer with those details.
FAQ
How do I enter seconds for a DirectLOGIC timer?
Convert seconds to 0.1-second timer units: multiply the requested seconds by 10. Confirm the preset written to the timer matches that value.
How do I set the EZ-Touch tag type for a D06 timer?
Create a tag at the same V-memory address as the timer preset and select BCD_INT_16 in the tag creation dialog. Bind the numeric-entry object to this tag.
Why does multiplying by 10 still give the wrong timer value?
The multiplier converts seconds to tenths; it does not correct a mismatch in data type. Verify the tag is BCD_INT_16 and trace the value to the timer preset before changing scaling.
When should I stop and call support?
Stop if the tag, preset, and measured interval do not agree or if the valid preset range is unknown. Provide the address, tag type, entered value, observed preset, and timing result to official AutomationDirect support or your responsible controls engineer.