# Productivity Series Controllers Automation direct

**URL:** <https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952>\
**Category:** Ignition\
**Created:** [June 23, 2020, 11:36pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952 "2020-06-23T23:36:42Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![alex.cordova.ee](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@alex.cordova.ee](https://forum.inductiveautomation.com/u/alex.cordova.ee)\
**Post date:** [June 23, 2020, 11:36pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/1 "2020-06-23T23:36:42Z")

</div>

I have a Productivity Series 2000 PLC with an ethernet connection form automation direct. Does ignition have a driver for that?  
If so, would it be the **UDP and TCP Drivers** or **Modbus Driver**? and will it auto browse tags like the opc connection for AB PLC.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 23, 2020, 11:39pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/2 "2020-06-23T23:39:22Z")

</div>

Modbus, and no it will not browse because that’s not part of the Modbus protocol.

---

<div class="post-metadata">

**Author:** ![alex.cordova.ee](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@alex.cordova.ee](https://forum.inductiveautomation.com/u/alex.cordova.ee)\
**Post date:** [June 23, 2020, 11:43pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/3 "2020-06-23T23:43:04Z")

</div>

so do i have to map everything and is there a thread that gives me an example on how to do this?

---

<div class="post-metadata">

**Author:** ![alex.cordova.ee](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@alex.cordova.ee](https://forum.inductiveautomation.com/u/alex.cordova.ee)\
**Post date:** [June 23, 2020, 11:44pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/4 "2020-06-23T23:44:22Z")

</div>

I also seen a video on modbus setup on entering the addresses in the gateway on what i want to read and write to. Not sure if this is correct.

---

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [June 24, 2020, 3:52pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/5 "2020-06-24T15:52:38Z")

</div>

Three videos from inductive university that might help.

1. [Connecting To a Modbus Device](https://www.inductiveuniversity.com/videos/connecting-to-modbus-device/8.0)
2. [About Modbus Addressing](https://www.inductiveuniversity.com/videos/about-modbus-addressing/8.0)
3. [About Modbus Address Mapping](https://www.inductiveuniversity.com/videos/about-modbus-address-mapping/8.0)

The page from the user manual that gives further explaination. There are some other pages close to this one that may also help.

- [Modubus Addressing](https://docs.inductiveautomation.com/display/DOC80/Modbus+Addressing)

---

<div class="post-metadata">

**Author:** ![Seth\_Kahle](https://avatars.discourse-cdn.com/v4/letter/s/eb9ed0/32.png) [@Seth\_Kahle](https://forum.inductiveautomation.com/u/Seth_Kahle)\
**Post date:** [January 14, 2023, 4:48am UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/6 "2023-01-14T04:48:16Z")

</div>

I am interested to know what you ended up doing for this project. I am in a similar situation now where I have 20x P2-550s and probably tens of thousands of tags I want to reference from an HMI.

I was considering using AutomationDirects C-more HMI platform, but to my jaw dropping surprise, the development software does not have a tag search & replace feature, which means mapping every single reference by hand. It’s also feeling a bit outdated compared to Ignition, although a fraction of the cost.

Has anyone been able to develop some kind of tag import utility that utilizes the Productivity Tag Database .CSV file to generate OPC tags? I know you can use the Ignition MODBUS configuration file import, but it would be awfully nice if there was an Ignition utility to process the AD .csv file and automatically configure OPC points using the tag name, data type, and MODBUS addresses stored in that file.

---

<div class="post-metadata">

**Author:** ![diat150](https://avatars.discourse-cdn.com/v4/letter/d/a587f6/32.png) [@diat150](https://forum.inductiveautomation.com/u/diat150)\
**Post date:** [January 14, 2023, 6:24pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/7 "2023-01-14T18:24:11Z")

</div>

you could use kepwares productivity driver or write your own script to create tags based off of the csv export from the productivity software.

---

<div class="post-metadata">

**Author:** ![Seth\_Kahle](https://avatars.discourse-cdn.com/v4/letter/s/eb9ed0/32.png) [@Seth\_Kahle](https://forum.inductiveautomation.com/u/Seth_Kahle)\
**Post date:** [January 14, 2023, 7:02pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/8 "2023-01-14T19:02:44Z")

</div>

The first thing I did when deciding to abandon C-More was try the Productivity Driver for Kewpwares KEPserver; I’ve used it extensively in the past for other projects / protocols, but never the Productivity driver. The tag database import/creation did not go as expected, but perhaps I need to explicitly define MODBUS addresses for everything in my Productivity Project. I am not sure how it works with C-more / Productivity, but somehow they are able to do read/write communications based on tag names without explicitly defining MODBUS registers. I’ve done plenty of RX and WX comm instructions of variables with no MB address; somehow it is able to access the tags by remembering the physical memory location in the remote project. If anyone has any tips on getting a clean Kepware tag creation; I’m listening.

Also, completely new to Ignition. I’ve just watched enough Inductive University videos to know this a pretty slick platform. My major concerns are:

1. Being able to generate the OPC tags programmatically through scripting (also looking for pointers) or by using Kepware.

2. Being able to create graphic library objects that are a fit for my underlying Productivity UDS.

3. Being able to search and replace tag references, so I don’t have to manually bind 10,000 tags like I would have to in C-more. Even better is if there a method for creating a parameterized graphic element, for which I only need to change the root tag at the top level and all references within the object / group will be updated (similar to PlantPAx objects in AB)

---

<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:** [January 15, 2023, 2:42am UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/9 "2023-01-15T02:42:18Z")

</div>

> [@Seth\_Kahle](#):
>
> I am not sure how it works with C-more / Productivity, but somehow they are able to do read/write communications based on tag names without explicitly defining MODBUS registers.

The Productivity series has its own protocol for direct access. I haven't seen any published protocol documentation--if there is, that would be a good candidate for a new drivers.

---

<div class="post-metadata">

**Author:** ![Seth\_Kahle](https://avatars.discourse-cdn.com/v4/letter/s/eb9ed0/32.png) [@Seth\_Kahle](https://forum.inductiveautomation.com/u/Seth_Kahle)\
**Post date:** [January 15, 2023, 4:40pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/10 "2023-01-15T16:40:41Z")

</div>

Seems like Automation Direct and Kepware had some kind of joint development effort in the past. Automation Direct used to sell KEPDirect, but the website now states you can purchase this product directly from PTC / Kepware as the KEPserverEX with AutomationDirect Suite.

It would be a GREAT idea for Inductive Automation to work with AD to develop a driver. Ignition is not at the same price point as C-more, so they are unlikely to cannibalize existing business. Productivity, which boast the ability to have systems in the tens-of-thousands of IO, is useless without an HMI that is equally capable. C-more just isn’t going to work if you have a project of that size.

---

<div class="post-metadata">

**Author:** ![Seth\_Kahle](https://avatars.discourse-cdn.com/v4/letter/s/eb9ed0/32.png) [@Seth\_Kahle](https://forum.inductiveautomation.com/u/Seth_Kahle)\
**Post date:** [January 15, 2023, 5:03pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/11 "2023-01-15T17:03:11Z")

</div>

Looks like Software Toolbox also makes a Productivity driver with automatic tag generation for their TopServer product:

**AutomationDirect Productivity Series Ethernet**

> **[Automation Direct (Koyo PLCs/PLC Direct) PLCs TOP Server Suite](https://www.softwaretoolbox.com/topserverv6/DriverDetailPagev6.asp?pn=41233136-N)**
>
> This suite of drivers provides connectivity to Automation Direct Productivity Series PLCs via TCP/IP Ethernet to ECOM offered by AutomationDirect and Productivity Series Devices via Modbus TCP/IP, as well as serial DirectNet and K-Sequence Protocol...

---

<div class="post-metadata">

**Author:** ![Seth\_Kahle](https://avatars.discourse-cdn.com/v4/letter/s/eb9ed0/32.png) [@Seth\_Kahle](https://forum.inductiveautomation.com/u/Seth_Kahle)\
**Post date:** [January 15, 2023, 5:33pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/12 "2023-01-15T17:33:31Z")

</div>

Well, I think Software Toolbox's TOP Server w/ Productivity Driver is just a licensed and rebranded version of KEPwareEX.

I've got a tech support issue into Kepware regarding this, but the issue with using this product is that the Productivity user defined structures (UDS) do not result in properly generated tag names when importing to the CSV to Kepware. The physical memory addresses are used as the OPC Tag names. If you check the box to "Allow Automatically Generated Subgroups" then it DOES generate OPC Tag name based on the Productivity Tag Name, but organizes the tags into folders by Datatype, meaning your OPC tag becomes something like Driver.PLC.ARY1DF32.Actual\_Tag\_Name. This is less than desirable when developing HMI applications since its ruins Intellisense.

---

<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:** [January 15, 2023, 7:52pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/13 "2023-01-15T19:52:47Z")

</div>

> [@Seth\_Kahle](#):
>
> but organizes the tags into folders by Datatype

This is an unfortunate side effect of the design of "UDS" types in the Productivity family. Instead of true structures (contiguous block of memory) like AB or Omron or in high-level languages, Productivity User-Defined Structure types are really collections of named aliases into blocks of memory of specific primitive data types. It is ugly.

---

<div class="post-metadata">

**Author:** ![Seth\_Kahle](https://avatars.discourse-cdn.com/v4/letter/s/eb9ed0/32.png) [@Seth\_Kahle](https://forum.inductiveautomation.com/u/Seth_Kahle)\
**Post date:** [January 15, 2023, 10:53pm UTC](https://forum.inductiveautomation.com/t/productivity-series-controllers-automation-direct/35952/14 "2023-01-15T22:53:42Z")

</div>

Well that is unfortunate, but it doesn’t explain why it is capable of extracting and using the tag name when grouping, but using memory addresses only when not grouped. I am thinking it might just be easier for me to take the Tag Database .CSV from Productivity and write own VBA script for Excel to create the tag list in the desired format for KEPserverEX.

The down side is that I don’t need a lot of variables in the HMI and don’t want to bog down comms or the OPC server with internal PLC variables. I supposed I could use the “remote access” column in Productivity for this, but of course that is NOT a setting you can set a default selection for in Productivity UDS definition. I’ll have to build some functionality into my VBA to automatically check that box for me based on some string matching.

I pray to Inductive Automation to release a driver for Productivity in the next 3 weeks.
