# Automation Direct Tag Setup Ideas

**URL:** <https://forum.inductiveautomation.com/t/automation-direct-tag-setup-ideas/32355>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [February 17, 2020, 11:23pm UTC](https://forum.inductiveautomation.com/t/automation-direct-tag-setup-ideas/32355 "2020-02-17T23:23:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![robert1](https://avatars.discourse-cdn.com/v4/letter/r/48db29/32.png) [@robert1](https://forum.inductiveautomation.com/u/robert1)\
**Post date:** [February 17, 2020, 11:23pm UTC](https://forum.inductiveautomation.com/t/automation-direct-tag-setup-ideas/32355/1 "2020-02-17T23:23:35Z")

</div>

Hello-

I’ve been working with automation direct PLCs (Productivity 3000) along with Ignition HMI now for some time and am quite happy with what I’ve been able to do. I’m working on a new project with relatively simple process control but lots of tag values: a recipe based tank farm temperature control system where ‘template’ program is repeated many times over since we have lots of tanks.

I thought I had figured out a way to do this with the AD software and Ignition relatively painlessly- I created a python script to generate PLC tags for 50 tanks, imported tag list to Automation direct, created UDT in Ignition with tag structure, but then hit a wall when I realized I cannot paramterize the OPC address very easily. It seems like you cannot make very complicated UDT parameter offset adjustments (they seem to only be able to work with a single operation (+ or -) and cant add parameters together, etc. I was hoping to just write a simple equation to calculate modbus address (tagX modbus = vesselNo \* valveNo + 8 etc) but I don’t think this is going to work.

I also have access to KEPServerEX with automation direct plugin, but I’m not sure that really solves my problem. I haven’t dove very deep into KEP yet though- I just got it linked to Ignition and working but I have the same issue with address parameterizing.

So my question is for those of you with AD/Ignition experience: if I was starting from scratch with AD PLC, KEP server available, and a blank UDT, what would the most efficient way to build this tag system assuming manual tag mapping is basically not an option? I don’t want to manually type thousands of tag addresses…

---

<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, 2020, 12:07am UTC](https://forum.inductiveautomation.com/t/automation-direct-tag-setup-ideas/32355/2 "2020-02-18T00:07:15Z")

</div>

Scripting is your friend. Define the UDTs with a “base address” parameter, and everything within the UDT a base+offset in the OPC item address. Then script the creation of the instances with a fancy python calculation of those base addresses.

---

<div class="post-metadata">

**Author:** ![robert1](https://avatars.discourse-cdn.com/v4/letter/r/48db29/32.png) [@robert1](https://forum.inductiveautomation.com/u/robert1)\
**Post date:** [February 18, 2020, 2:49am UTC](https://forum.inductiveautomation.com/t/automation-direct-tag-setup-ideas/32355/3 "2020-02-18T02:49:47Z")

</div>

Thank you. I was already heading down this road but wasn’t sure if there was a simpler way I was glossing over. I had started scripting each address in the UDT manually by looping system.tag.addTag and making a giant dictionary for all the address overrides but if I understand what you mean I think this will be much faster 🙂
