# Modbus DL06 TMRA Timer Accumulator

**URL:** <https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [February 17, 2022, 11:52pm UTC](https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291 "2022-02-17T23:52:44Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mshaw.ca](https://avatars.discourse-cdn.com/v4/letter/m/85e7bf/32.png) [@mshaw.ca](https://forum.inductiveautomation.com/u/mshaw.ca)\
**Post date:** [February 17, 2022, 11:52pm UTC](https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291/1 "2022-02-17T23:52:45Z")

</div>

In DL06 when using TMRA instruction the Accumulator value is stored at TA# and is a double word BCD value. Can anyone tell me how to configure the Modbus driver to read this location properly so that I can display the decimal value of the Timers accumulator?

…likewise, how to configure the V# memory location for the preset value, so that I can enter it as decimal on the screen with an implied decimal?

Thanks,

Mike

---

<div class="post-metadata">

**Author:** ![josborn](https://avatars.discourse-cdn.com/v4/letter/j/4bbf92/32.png) [@josborn](https://forum.inductiveautomation.com/u/josborn)\
**Post date:** [February 18, 2022, 12:02am UTC](https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291/2 "2022-02-18T00:02:46Z")

</div>

Think you are going to need to use actual [modbus addressing](https://docs.inductiveautomation.com/display/DOC81/Modbus+Addressing). I think the type you want is HRBCD\_32, but you will need to know the register number for the first holding register. I have some Schneider plc’s that use topological addressing when programming, but in ignition i have to use modbus addressing.

Edit:  
The DL06 manual shows holding registers are from 768 to 3839, so your ignition tag would be something like `[device_name]1HRBCD_32768` where the 1 being the device ID (If you device id is 1, that is the default and you can omit it.) and 768 being the first holding register of you double word. Similarly your preset value, assuming it is a single word would be something like `[device_name]1HR768`

The DL06 modbus addressing says something about Timer input registers are on addresses 0 through 127, so you may need to use`[device_name]1IRBCD_320` instead. Also your device setup in ignition will need to use zero based addressing.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [February 18, 2022, 4:43am UTC](https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291/3 "2022-02-18T04:43:10Z")

</div>

A decimal representation used in Modbus typically comes in 2 words of 2 bytes each.  
You **must** refer to your device manual to understand how data should be read. A typical case is BCD conversion, but I've seen a lot of devices that lets you read data as INT (32 bits) and then you must apply a mathematical operation over it: example divide by 100.

> [@mshaw.ca](#):
>
> …likewise, how to configure the V# memory location for the preset value, so that I can enter it as decimal on the screen with an implied decimal?

If read with BCD, don't worry, Ignition will write in BCD doing the conversion behind scenes.

---

<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:** [February 18, 2022, 1:20pm UTC](https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291/4 "2022-02-18T13:20:38Z")

</div>

> [@jespinmartin1](#):
>
> apply a mathematical operation over it: example divide by 100.

See the numerical scaling options for OPC tags.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [February 18, 2022, 9:23pm UTC](https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291/5 "2022-02-18T21:23:11Z")

</div>

Thanks @pturmel

> [@pturmel](#):
>
> See the numerical scaling options for OPC tags.

Yes, applying Scaling in Tag Configurations\*\*

---

<div class="post-metadata">

**Author:** ![Brian](https://avatars.discourse-cdn.com/v4/letter/b/97f17d/32.png) [@Brian](https://forum.inductiveautomation.com/u/Brian)\
**Post date:** [February 18, 2022, 9:48pm UTC](https://forum.inductiveautomation.com/t/modbus-dl06-tmra-timer-accumulator/56291/6 "2022-02-18T21:48:13Z")

</div>

AutomationDirect has a spreadsheet that will calculate the Modbus addresses for various DirectLogic memory registers. It’s available here: [AutomationDirect Technical Support - Technical and Application Notes](https://support.automationdirect.com/technotes.html) It’s listed as ‘AN-MISC-010’.

For TMRA0, for example, the Modbus address would be 6145. In Ignition, that would be [devicename]HRBCD\_326145.

Also note that the ‘Reverse Word Order’ check box needs to be checked in the driver page.
