Q. What is a “PAC” and how is it different from your existing PLCs? 

A. PAC is the acronym for Programmable Automation Controller where PLC is the acronym for Programmable Logic Controller. The Wikipedia* definition for a PAC is broad, but accurate; “A Programmable Automation Controller (PAC) is a compact controller that combines the features and capabilities of a PC-based control system with that of a typical Programmable Logic Controller (PLC). A PAC thus provides not only the reliability of a PLC, but also the task flexibility and computing power of a PC. PACs are most often used in industrial settings for process control, data acquisition, remote equipment monitoring, machine vision, and motion control. Additionally, because they function and communicate over popular network interface protocols like TCP/IP, OLE for process control (OPC) and SMTP, PACs are able to transfer data from the machines they control to other machines and components in a networked control system or to application software and databases. A PAC at the core of an automation system can integrate multiple field bus networks like RS-485, RS-232, RS-422, CAN, Ethernet, EtherNet/IP, and others.”

The Productivity3000® started with a solid historical PLC foundation and added several new capabilities. Tag-name-based programming gives users the freedom to identify data types they need, and identify their tags with real word names. In typical fixed-address-based PLCs, you are allocated a fixed amount of memory for Timers, Counters, integers, register, etc. and use abstract nomenclature, all of which mean nothing to real world users, to identify data registers.

An additional feature not found in our DirectLOGIC PLCs is direct Enterprise connectivity. When used in conjunction with our DataWorx P3K software, the Productivity3000 interfaces with a standard database through a Modbus TCP server. With the simple configuration you can retrieve, add, delete and update records in a Microsoft Access, SQL or ODBC compliant database.

Another feature which sets this product apart from our PLCs is the seamless integration with our C-more operator interface panels and GS series variable frequency drives. Users can save countless hours of development by sharing the tag name database between the Productivity3000 and C-more operator interface panels.

With our Ethernet Remote I/O network, the user can connect Ethernet-enabled GS drives and use the auto-discovery feature in the Productivity3000 project’s Hardware Configuration. From here you can modify the drives’ configuration and save the project; you also have the option of writing the drive configuration to each drive connected to the network each time you transfer the project to the PAC. You can also take advantage of the standard GSR and GSW (Read and Write) instructions which greatly simplify communications to the drives.

Q. Does the Productivity3000 support Motion Control?

A. This has been a frequently asked question since the launch of the Productivity3000. As mentioned above, our variable frequency drives are tightly integrated to the product, both from a hardware and software standpoint. However, the initial release of the Productivity3000 does not include a high speed counter or pulse output module.

Both modules have been planned since the very beginning of the development project, and the engineering and development efforts for these modules are ongoing. When available, they will be accompanied by the same type of easy-to-use, fill-in-the-blank style instructions that are the hallmark of the Productivity Suite programming software.

In the meantime, we have recommended that customers with appropriate applications connect their Productivity3000 PACs to a Terminator I/O CTRIO high-speed counter and pulse output module (T1H-CTRIO) over Ethernet via Modbus TCP (also requires a Terminator I/O Ethernet Base Controller, T1H-EBC100). This offers the possibility for high-speed I/O, including motion control from the Productivity3000. (This is an interim solution, and may not be suitable for all applications.)

For servo and stepper applications, we recommend that customers consider our SureServo™ and SureStep™ product lines. Both products communicate with the Productivity3000 via a Modbus connection. SureServo drives have a built-in indexer which can control various types of single-axis moves; use Modbus to adjust the indexing parameters on-the-fly and to initiate moves. Connect and communicate with several drives at the same time for loosely coordinated motion. Electronic gearing between SureServo axes is also possible. If your application requires tightly coordinated multi-axis control, our
current offering may not suffice.

Q. What are Arrays and how can they be useful?

A. An Array is a storage area for a group of tags of a common data type which have some relationship to each other and need to be manipulated as a group. The Productivity3000 allows you to work with one-dimensional and two–dimensional Arrays (1D or 2D).

Each data location within an Array is called an Element. An Array may contain 65,536 Elements maximum, regardless of the data type.

In the Array example shown below, the origin is at the upper left and is addressed as 1,1. The Y axis is labeled “Rows” and the X axis is labeled “Columns” (Figure 1)


Individual Elements are addressed by their Index. In a 2D Array, the format is Array Name(Row),(Column). Row and Column Indexing begin at 1. In the 2D Array example below, the Array is named Widget Progress. So to address the Element highlighted in this 2D Array, use Widget Progress(4),(2). (Figure2)


A 1D Array consists of a single Row and multiple Columns and only the Column Index is specified. For example, in the 1D Array below, the Array is named Widget Progress. To address the element in Column 2 of this 1D Array, use Widget Progress(2). (Figure 3)


By Jeff Payne,
AutomationDirect Product Manager,
PLC, I/O and PC Control

Originally Published: Dec. 1, 2010