Category Archives: PLC Basics

Arduino Uno Super Starter Kit Hardware


Arduino consists of a family of single programmable circuit boards and the IDE (Integrated Development Environment) that uses a streamlined version of C++ to write and upload code to the boards. Many pre-configured circuit boards, called “shields”, are available to expand the functionality of the Arduino controller. These shields can provide Ethernet, WiFi, GPS, LCD displays, and motor controls, among others, by simply “stacking” or connecting the shields to the Arduino controller board. This Lego-style building of electronic devices is becoming more popular.

The Arduino UNO is one of the best board to learn about electronics and coding. This robust board is the most used and documented board of the whole Arduino family.

We will be looking at the Elegoo Arduino UNO R3 Super Starter Kit. Opening up this great learning tool and discussing the Uno board itself.
Save an additional 15% using the Amazon code: SGAE7TC3 at checkout from the following associate link:
https://amzn.to/3iLGcgn
This link is good until October 15, 2020
Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Watchdog Timer


A watchdog is a piece of code that will timeout when an error occurs in our program. It will usually cause the CPU (program/sketch) to stop or reset.

We will now look at the instructions for the watchdog timer in productivity blocks. This includes the Configure Watchdog, Start Watchdog, Stop Watchdog, and Pet Watchdog.

Our sample sketch will modify the P1000 Expansion Digital Inputs and Outputs Part 2 program by adding a watchdog timer.
Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino P1000 Expansion Digital Inputs and Outputs Part 2


In part 1 we adding additional discrete input and output modules (cards) to our P1AM-START1 ProductivityOpen starter kit with Ethernet. A program was then discussed that will print the modules in our system and then set and reset discrete digital inputs and outputs.
P1-16TR – Productivity1000 relay output module, 16-point, 6-24 VDC/6-120 VAC, (16) Form A (SPST) no-suppression, 2 isolated common(s), 8 point(s) per common, 2A/point, 8A/common.
P1-16CDR – Productivity1000 discrete combo module, Input: 8-point, 24 VAC/VDC, sinking/sourcing, Output: 8-point, 6-24 VDC/6-120 VAC, relay, (8) Form A (SPST) relays, 1A/point.
P1-08SIM – Productivity1000 simulator input module, 8-point.


We will now discuss additional instructions in our industrial Arduino controller that will be used with our P1000 expansion modules. (cards) Our sample sketch will include a simple start/stop circuit and a shifting circuit.
Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino P1000 Expansion Digital Inputs and Outputs Part 1


The productivity open P1AM I/O interface chip-set supports the full suite of Productivity 1000 I/O expansion modules. These modules are industry approved and proven in the industrial environment. Modern industrial signal levels for digital and analog inputs and outputs are used.

P1000 modules available to you include the following:
• Discrete
• Analog
• Temperature
• Relay
• High-speed Input
• PWM

We will be adding additional discrete input and output modules (cards) to our P1AM-START1 ProductivityOpen starter kit with Ethernet. A program will then be discussed that will print the modules in our system and then set and reset discrete digital inputs and outputs.
P1-16TR – Productivity1000 relay output module, 16-point, 6-24 VDC/6-120 VAC, (16) Form A (SPST) no-suppression, 2 isolated common(s), 8 point(s) per common, 2A/point, 8A/common.
P1-16CDR – Productivity1000 discrete combo module, Input: 8-point, 24 VAC/VDC, sinking/sourcing, Output: 8-point, 6-24 VDC/6-120 VAC, relay, (8) Form A (SPST) relays, 1A/point.
P1-08SIM – Productivity1000 simulator input module, 8-point.
Let’s get started. Continue Reading!

Click PLC Modbus ASCII Protocol


Modbus is a communication method used for transmitting information over serial lines between electronic devices. The device requesting the information is called the Modbus Master (Client) and the devices supplying information are Modbus Slaves (Servers). This protocol was originally developed by Modicon systems.
Modbus protocol comes in basically three different types. Ethernet (Modbus TCP) or Serial (Modbus RTU or Modbus ASCII). Modbus TCP and Modbus RTU come as standard protocols in the productivity series of PLCs.

We will connect the Click PLC to a Solo process temperature controller. This will be done using the Modbus ASCII protocol over serial RS485 communication wire. (Media) The present and set values (PV / SV) will be read from the Solo controller and the set value will be written when required. Let’s get started. Keep on Reading!

Productivity Open P1AM Industrial Arduino P1000 Expansion Analog Combination Module


The productivity open P1AM I/O interface chip-set supports the full suite of Productivity 1000 I/O expansion modules. These modules are industry approved and proven in the industrial environment. Modern industrial signal levels for digital and analog inputs and outputs are used.

P1000 modules available to you include the following:
• Discrete
• Analog
• Temperature
• Relay
• High-speed Input
• PWM

We will be wiring and programming our P1-4ADL2DAL-1 combination analog input and output module that came with the P1AM-START1 ProductivityOpen starter kit with Ethernet. Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Time Instructions


Time instructions in our productivity blocks programming (Arduino sketches) consist of runtime (ms), runtime (us), delay ms, and delay microseconds us.

We will be looking at each of these instructions that are available for our program using productivity blocks. Delay instructions in our sketches should be used with caution. They will pause our program for the delayed time, not allowing other parts of the program to function. We will be looking at this and the method to do the exact same delay functions without pausing your program.

A sample program will be discussed to demonstrate the time functions in our program. Let’s get started. Continue Reading!

Productivity Open P1AM Industrial Arduino Math Instructions


Math instructions in your Arduino sketches (programs) consist of arithmetic operations, compound operators, absolute, power, square root, sin, cos, tan, random, map and constrain.

These instructions will be generally used with other instructions in your sketch.

We will be looking at each of these instructions that are available using productivity blocks. A sample program will be discussed that will involve some of these math instructions. Let’s get started. Continue Reading!

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 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!