# Need to create a timer in Designer

**URL:** <https://forum.inductiveautomation.com/t/need-to-create-a-timer-in-designer/103974>\
**Category:** Ignition\
**Created:** [March 20, 2025, 6:44pm UTC](https://forum.inductiveautomation.com/t/need-to-create-a-timer-in-designer/103974 "2025-03-20T18:44:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![halbiglogan05](https://avatars.discourse-cdn.com/v4/letter/h/9f8e36/32.png) [@halbiglogan05](https://forum.inductiveautomation.com/u/halbiglogan05)\
**Post date:** [March 20, 2025, 6:44pm UTC](https://forum.inductiveautomation.com/t/need-to-create-a-timer-in-designer/103974/1 "2025-03-20T18:44:57Z")

</div>

So I am working on small project to where when about 5 different tags from a Mitsubishi PLC get a True Condition back I want a timer to start to add up from the time the tag becomes true and stop once it becomes false. If the Tag becomes true again I want it to start to keep adding up the time. then reset at the end of each shift.

How do I do this?

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [March 20, 2025, 6:52pm UTC](https://forum.inductiveautomation.com/t/need-to-create-a-timer-in-designer/103974/2 "2025-03-20T18:52:46Z")

</div>

> [@Curiosity? Gateway Timer Event Scripts](https://forum.inductiveautomation.com/t/curiosity-gateway-timer-event-scripts/102368/9):
>
> As Ryan suggests, don't count in a timer event. The timing is not very precise. To get retention of prior time, you need at least two timestamps to hold state, updated when the signal changes. A stop timestamp, and an adjusted start timestamp. The start timestamp needs to be adjusted backwards from now() by the amount accumulated before. Drop these tags into a test folder to see how to set this up: { "tags": [{ "valueSource": "expr", "expression": "if(\n\t{[.]RTO\_Reset},…

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 20, 2025, 7:04pm UTC](https://forum.inductiveautomation.com/t/need-to-create-a-timer-in-designer/103974/3 "2025-03-20T19:04:58Z")

</div>

Can you really not do it in the PLC code? It would be so much simpler.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 20, 2025, 7:08pm UTC](https://forum.inductiveautomation.com/t/need-to-create-a-timer-in-designer/103974/4 "2025-03-20T19:08:46Z")

</div>

> [@Transistor](#):
>
> simpler

And more accurate. A PLC's timer will be as accurate as its scan time, per transition. That is almost always dramatically better than an external monitor, which cannot be more accurate than its poll rate, per transition.
