Tag Archives: Automation Direct

Productivity Open P1AM Industrial Arduino GPIO Inputs and Outputs


The P1AM-GPIO is an industrial rated shield for the P1AM-100 Arduino system. It provides a connection from most of the P1AM-100 GPIO pins to the front 18 position terminal block connector.

We will be looking at the wiring and programming of this input and output industrial rated shield that mounts on the left side of the P1AM-100 CPU arduino unit.

Analog points will be wired to a potentiometer and LED (light-emitting diode) for demonstration of the voltage range that we can input and output. Digital points will be wired for discrete input and output using a pushbutton switch and LED. PWM (pulse width modulation) will also be used to control the brightness of a LED connected to a digital output. Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Operators


Operators in your Arduino sketches (programs) consist of comparison blocks, concatenate strings, bitwise operators, string conversion, ‘not’ operator, and compound operators. These operations generally will be used with other instructions in your sketch. It is important to understand what instructions are available and what they are designed to accomplish.

We will be looking at each of these instructions that are available using productivity blocks. A sample sketch will be shown that will use some of these operators. The sketch will get a number between 1 and 100 from the built-in Arduino IDE (integrated development environment) serial monitor. It will print the number on the monitor if it is between 1 and 100, else it will print try again. Let’s get started! Continue Reading!

Productivity Open P1AM Industrial Arduino Program Control

Arduino programs (sketches) can be written in thousands of different ways. The best way will determine the purpose of your program and what you are trying to accomplish. To simplify the logic we will be looking at program control that can be achieved using productivity blocks.
Program control will look at subroutines (sometimes referred to as methods or functions), conditional statements and looping statements. These three items can be combined to reduce your code length, make your program easier to read, and in turn easier to troubleshoot.

We will be looking at each of these instructions that are available using productivity blocks. A sample program will then be discussed that will contain some program control as a demonstration. Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Serial Monitor COM

The Arduino integrated development environment (IDE) has a built-in pop-up serial monitor. The serial monitor can be used to receive and send serial data to our Arduino program. This can be a great feature to help us in debugging or controlling Arduino programs. (Sketches)
We will be modifying the blinking light program that we did previously and add a one to an integer every time the P1AM-100 arduino CPU switch is on. This will be then printed on the serial monitor.

Removing the blinking light, we will run our program again an see the difference in speed with the delay instructions removed. Productivity blocks will be used to program our industrial arduino controller.
We will then look at escape character codes that we can use with our industrial arduino. Since the built-in serial monitor will not interpret the escape codes, we will be using Putty as our serial monitor program. Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Variables Data Types

Data types in the C++ language are used to determine the variable or function applied for the given type. The type will determine the size of the storage (bits), and the method to interpret the information.

Microprocessors can only understand binary (on / off) numbering systems. The interpretation of these binary numbers will allow us to have several different data types. We will be reviewing the different data types that we can use in our sketches (programs) for our P1AM-100 arduino industrial controller. Only the variables data types available in ProductivityBlocks will be discussed, but references will be made for all data types that can be used. We will then look at a program that will list some integer and string variables. This will then be displayed on the serial monitor of the Arduino IDE. Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Program Structure

The P1AM-100 industrial controller is programmed with the Arduino IDE (Integrated Development Environment). The arduino IDE will allow us to write sketches (programs). These sketches have basic common elements like setup and loop.

We will be looking at these elements in our first program in the Arduino IDE and ProductivityBlocks. We will be modifying our first program with the selector switch. When it is on we will flash the CPU LED light on and off. When it is off we will ensure that the CPU LED light is off. Let’s get started.

Continue Reading!

Productivity Open P1AM Industrial Arduino First Program




The P1AM-100 industrial controller is programmed with the Arduino IDE (Integrated Development Environment). We installed the Arduino IDE, P1AM-100 library and ProductivityBlocks. Using this software we will be setting it up to program our P1AM Arduino industrial controller.

The Boards Manager will be used to set up our P1AM-100 Arduino board. We will then ensure that our device driver has been installed so we can communicate to the Productivity Open Controller. Using ProductivityBlocks, we will call up one of the sample programs, verify and upload the program to the P1AM-100. This program will blink the CPU LED light on and off. Let’s get started. Continue Reading!

ACC Automation 2019 Review

Accelerate Learning …
Accelerate Machines…
Accelerate Knowledge…
ACC Automation

It is a good time to be in the automation business. Technologies are merging and communicating like never before. What was impossible is now possible for the industrial plant floor. We are looking forward to the New Year and new possibilities for implementing your control solution.
Each year we like to take a few minutes and reflect on the past, current, and future of ACC Automation. You have helped us to build the site that you see today through questions, comments, and suggestions. Thank you.
2019 has been our best year yet thanks to you. Keep on Reading!

ACC Automation 2018 Review

We would like to take a few minutes and reflect on the past, current and future of ACC Automation. Your questions, comments and suggestions have helped us to build the site that you see today. Thank you.
YouTube Channel : ACC Automation
2018 has been our best year yet thanks to you. Keep on Reading!

Productivity 1000 Series PLC Documenting the Program

Last time we created our first program and transferred this to our connected Productivity 1000 Series PLC. This was programmed with our computer running the Productivity Suite Software. One of the most important aspects of programming the PLC is to document. This will aid you and your team in programming, troubleshooting and modifying the automation control system. Your documentation should read like a book so information can be quickly obtained when required. Time spent on the documentation will be priceless when you go to read your program in 1, 3 or 10 years from now. The Productivity Suite software provides several different methods for documenting your program.

Tag Names and Details, Task Names and Descriptions, Rung Comments and Instruction comments are the ways that we will be looking at documenting our program.
Let’s get started. Continue Reading!