# Etiquetas de Memoria

**URL:** <https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685>\
**Category:** Ignition\
**Created:** [June 13, 2022, 1:59pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685 "2022-06-13T13:59:18Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![JHON\_FLOREZ](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@JHON\_FLOREZ](https://forum.inductiveautomation.com/u/JHON_FLOREZ)\
**Post date:** [June 13, 2022, 1:59pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/1 "2022-06-13T13:59:18Z")

</div>

Saludos, su ayuda por favor estoy utilizando etiquetas OPC las cuales están leyendo las horas trabajadas de un motor, pero necesito un contador al llegar a un tiempo determinado de horas trabajadas pueda resetar estas horas a cero  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/1/e1668540c49d3c01e2b10f1fa1a0b2a7578817b5.png)

sin cambiar el valor de la etiqueta, espero me sepa explicar

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [June 13, 2022, 2:07pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/2 "2022-06-13T14:07:47Z")

</div>

You probably don’t want to reset the counter. Instead, log the counter’s value in your database when the reset button is used. Your hours value is the current OPC value minus the database value.

---

<div class="post-metadata">

**Author:** ![JHON\_FLOREZ](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@JHON\_FLOREZ](https://forum.inductiveautomation.com/u/JHON_FLOREZ)\
**Post date:** [June 13, 2022, 3:12pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/3 "2022-06-13T15:12:01Z")

</div>

entiendo registro el valor en la base pero al momento de reiniar el valor a cero no quiero que los datos de la etiqueta OPC se me reinicien en cambio quiero que las horas continuen su curso

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [June 13, 2022, 3:16pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/4 "2022-06-13T15:16:50Z")

</div>

You actually do not reset anything to zero. The database holds the value from “last reset” while the OPC value continues to count without reset. OPC value is never reset and can be displayed along with “hours since reset” which is just the OPC value minus the database value. Nothing is ever set to zero with this setup.

---

<div class="post-metadata">

**Author:** ![JHON\_FLOREZ](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@JHON\_FLOREZ](https://forum.inductiveautomation.com/u/JHON_FLOREZ)\
**Post date:** [June 13, 2022, 4:11pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/5 "2022-06-13T16:11:13Z")

</div>

sabes, necesito que el contador de horas inicie desde cero EJEMPLO: si en mi etiqueta OPC tengo un valor de 5.800 horas transcurridas necesito que en un “Numeric Label” empiece desde uno y llegado a un numero determinado (“3000”) pueda volver a cero(0) con un BOTON  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/5/c/5c4489fabea08028747f322846d0fc9a7a517dcc.png)  
Example

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [June 13, 2022, 4:59pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/6 "2022-06-13T16:59:19Z")

</div>

1. OPC value = 5804.1 hours
2. Horas trancurridas = expression binding → OPC - Database value (database tag)
3. Press Reseteo
4. Database value updates to 5804.1
5. Horas trancurridas = OPC - Database value → 5804.1 - 5804.1 = 0 horas
6. Machine runs for 10 hours = OPC - Database value → 5814.1 - 5804.1 = 10 horas
7. Repeat

---

<div class="post-metadata">

**Author:** ![JHON\_FLOREZ](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@JHON\_FLOREZ](https://forum.inductiveautomation.com/u/JHON_FLOREZ)\
**Post date:** [June 13, 2022, 6:30pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/7 "2022-06-13T18:30:38Z")

</div>

DISCULPA no entiendo tu proceso me ayudarias con un ejemplo, por favor 🙏

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [June 13, 2022, 6:42pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/8 "2022-06-13T18:42:51Z")

</div>

I assume you have a database connected that you can alter? That is one way, another, simpler way is to use a memory tag.

1. Create a memory tag named something like `machineResetHours`

2. Create an expression tag that subtracts the two values and name it `machineHours` or whatever you want. The expression should look something like `coalesce({[.]OpcValue} - {[.]machineResetHours},0)` (coalesce returns 0 if the subtraction is null)

3. Bind your popup labels to the tags

4. In your button script do something like this with your actual tag paths

```auto
tags = system.tag.readBlocking( ["[default]OpcValue"])
hours = tags[0].value
system.tag.writeBlocking(["[default]machineResetHours"],hours)

```

---

<div class="post-metadata">

**Author:** ![JHON\_FLOREZ](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@JHON\_FLOREZ](https://forum.inductiveautomation.com/u/JHON_FLOREZ)\
**Post date:** [June 14, 2022, 1:55pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/9 "2022-06-14T13:55:16Z")

</div>

lo que entiendo es que `machineResetHours` seria mi variable en cero y debería restar con mi etiqueta OPC en mi caso llamada `TM01`

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [June 14, 2022, 2:10pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/10 "2022-06-14T14:10:09Z")

</div>

Yes, `machineResetHours` holds the value of TM01 at time of pressing the reset button using this script

```auto
tags = system.tag.readBlocking( ["[default]PathTo/TM01"])
hours = tags[0].value
system.tag.writeBlocking(["[default]machineResetHours"],hours)

```

---

<div class="post-metadata">

**Author:** ![JHON\_FLOREZ](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@JHON\_FLOREZ](https://forum.inductiveautomation.com/u/JHON_FLOREZ)\
**Post date:** [June 14, 2022, 3:35pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/11 "2022-06-14T15:35:57Z")

</div>

Uploading: image.png…  
se me presenta este error asi que decido dejar en `system.tag.read(...)`

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/c/0c8bcbf94db59d599014e9b5aeb57b573ef666ea.png)  
luego sucede este error en la linea 2 en la cual dejo asi el valor `tags.value`  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/2/a20ef6948e3b41e54335c62e7bd18d074b858d89.png)  
pero no llegue a nada ya que en la linea 3 me sucede lo mismo que en la linea 1 asi que realizo lo mismo y el boton no se ejecuta QUE SUCEDIO

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [June 14, 2022, 3:39pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/12 "2022-06-14T15:39:00Z")

</div>

Are you on v7.9? I assumed v8.1.

For v7.9

```auto
tag = system.tag.read( "[default]PathTo/TM01")
system.tag.write("[default]machineResetHours",tag.value)

```

---

<div class="post-metadata">

**Author:** ![JHON\_FLOREZ](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@JHON\_FLOREZ](https://forum.inductiveautomation.com/u/JHON_FLOREZ)\
**Post date:** [June 14, 2022, 3:50pm UTC](https://forum.inductiveautomation.com/t/etiquetas-de-memoria/60685/13 "2022-06-14T15:50:33Z")

</div>

una vez mas lo HICISTE gracias por tu valiosa ayuda 👍 👍
