On the EA9 C-More with a Do-More DM1E, display the countdown as a controller-generated string: format T0.Acc with FmtTmr() inside STRPRINT, then bind a C-More string display to that result. This avoids building separate hour, minute, and second values for every timer.
Replace the numeric display with a formatted string
A numeric display bound directly to T0.Acc presents the accumulated timer value as a number, not as an hours-minutes-seconds clock. The compact solution is to create the text in the Do-More program and display that text on the HMI. The controller already owns the timer value, so it is the right place to perform the conversion.
Use STRPRINT to generate a string and include FmtTmr() to format the timer value. Configure the C-More object as a string display and point it to the resulting controller string. The required operation is:
- Use the timer’s accumulated value, such as
T0.Acc, as the value to format. - Use
STRPRINTandFmtTmr()in the Do-More logic to write the formatted result into a string tag. - Configure a C-More string display to read that string tag.
Use the Do-More instruction help in the installed software to confirm the exact FmtTmr() argument form and string destination requirements for the controller project. The available instruction name and approach are clear, but its exact signature and string-tag configuration are not specified here; do not substitute guessed syntax.
Check the timer source before formatting it
Confirm that the value being passed to FmtTmr() is the timer’s accumulated value, not its preset or a separate numeric calculation. In a countdown application, the intended display usually follows the changing accumulated value; verify that this matches the behavior of the specific timer logic before changing the HMI.
Monitor T0.Acc in the Do-More programming environment while the timer runs and while it is stopped or reset. This confirms that the selected value changes as expected and identifies whether the timer logic itself is responsible for an unexpected display. If the accumulated value is incorrect, repair the timer logic first; formatting cannot correct a bad source value.
Also confirm what unit the timer’s accumulated value represents in the actual project. Do not presume a timer base or add a conversion factor unless the project configuration and instruction documentation establish it. The formatter is intended to present timer time, but the timer setup remains the source of truth for the value being shown.
Generate one string for each displayed timer
In the controller logic, connect the timer value to FmtTmr() within a STRPRINT operation and direct the resulting text to a string tag. For additional countdown timers, create a corresponding formatted string for each timer that the operator must see. Keep each display’s source tag unambiguous so one timer cannot overwrite another timer’s displayed text.
Do not reproduce the conversion with three numeric objects and multiple arithmetic operations unless the project has a specific requirement that the formatted string cannot meet. Separate calculations create extra logic to maintain and additional opportunities for incorrect rollover, padding, or mismatched values. The formatted-string method keeps the conversion together at the controller interface.
Before downloading or editing a running machine, follow the site’s established change procedure and preserve a recoverable copy of the existing program. Make the smallest change possible: add the string generation and its destination, then test it before altering other timer logic.
Bind and size the C-More string object
On the EA9 C-More project, add a string display object rather than a numeric display. Assign the controller string tag produced by STRPRINT as its source. Confirm the HMI driver and existing controller connection can read the tag using the project’s established tag-mapping method; no particular address or communications configuration is specified for this setup.
Set the object’s visible width and text presentation so the complete formatted value fits at the installed screen resolution. Use the HMI project’s object preview or offline simulation, if available, to check clipping and alignment. Do not enter an assumed character count or format pattern: inspect the actual string generated by the controller and size the object to that result.
Prove the countdown updates from controller to screen
Test the string-generation logic while monitoring both the timer value and the generated string. Then verify the same string appears on the EA9 display and changes during the countdown. Check normal operation, completion, and the reset or stopped condition relevant to the machine sequence. The HMI value should correspond to the controller’s current formatted result in each tested state.
If the controller string is correct but the C-More object is blank or stale, troubleshoot the string tag binding and controller-to-HMI data path rather than rewriting the timer math. If both controller and HMI show an incorrect time, inspect the timer source, the formatting instruction configuration, and the actual timer units. Change one item at a time and repeat the test so the cause remains identifiable.
Before releasing the screen to operators, verify all displayed timers independently. Confirm that each object references its own generated string and that changing one timer does not alter another timer’s display. Treat a successful controller-only test as incomplete until the value is visible and updates on the installed HMI.
FAQ: Display Do-More timer values on C-More
How do I show a Do-More timer in hours, minutes, and seconds?
Use FmtTmr() inside STRPRINT to generate a controller string from the timer accumulated value, such as T0.Acc. Bind a C-More string display to that string tag.
How do I display T0.Acc on an EA9 C-More?
Do not bind T0.Acc directly to a numeric object if you need formatted time. Format it in the Do-More program, store the result in a string tag, and display that tag with a C-More string object.
How do I avoid three numeric displays for one timer?
Generate one formatted text value with STRPRINT and FmtTmr(). This replaces separate hour, minute, and second displays and their associated arithmetic.
How do I troubleshoot a blank or stale timer string?
First monitor the generated string in the controller. If it is correct, check the C-More object type, source tag, and communications path; if it is wrong, check the timer source and formatter configuration.
When should I stop and contact support?
Stop changing production logic if the installed Do-More software does not show the required FmtTmr() signature or string destination behavior, or if the HMI cannot read the generated string after the tag binding is checked. Use official AutomationDirect support with the controller project, HMI project, and observed controller/HMI values available for diagnosis.