Accelerate Learning …
In this Covid-19 world, we are continuing to adapt. Social distancing, mask-wearing, hygiene, etc are the way we currently live. Video conferencing with Zoom, Teams, and Google Meet are the norm in business today. Information is knowledge, and everyone more than ever wants to be able to see, control and summarize production data on a regular basis. Open intuitive technologies are available to communicate like never before. Industrial plant data is rapidly changing. Factory 4.0 benefits are being seen and everyone wants to take advantage. 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.
We will now connect our Productivity Open P1AM Arduino to a Click PLC. Using Modbus TCP the Arduino will be the Client (Master) and the Click will be the Server (Slave).
We will explain how to connect our P1AM-ETH Industrial Arduino Ethernet Shield to the Click PLC. The protocol will be Modbus TCP on an Ethernet communication network. Modbus is a master-slave type of communication. Masters will always send the commands to read or write to the slaves on the network. The slaves will respond if the communication is directed at them. Since this is an Ethernet network our master is known as a client and the slave as a server.
The P1AM Example from Automation Direct on GitHub will be used. It will be modified to write to holding registers and coils in the Click PLC.
The temperature from the thermocouple input unit on the P1AM will be written to the Click PLC. Inputs from the simulator input card on our Arduino P1AM will be written to the Click PLC outputs directly. The Click PLC will also be programmed with a heartbeat circuit. This will detect if communications have been severed and will reset the outputs after 5 seconds. Let’s get started with our Arduino P1AM Modbus client to Click Modbus server.
We will now look at the productivity Arduino Ethernet web server that we will implement on our Productivity Open P1AM industrial Arduino controller.
This P1AM Web Server Example is based on an example found here. This example uses the productivity open P1AM-ETH shield to create a web server that displays the input values of a P1-08SIM and P1-04THM to a web page. This page is automatically updated every 3 seconds. The IP address of the webserver is set in the Arduino program (Sketch) Entering this IP address in your browser to view the web page. This will display the information from our Arduino P1AM on our web browser. Let’s get started.
A Proportional-Integral-Derivative algorithm is a generic Control Loop feedback formula widely used in industrial control systems. A PID algorithm attempts to correct the error between a measured process variable and the desired setpoint by calculating and then outputting a corrective action that can adjust the process accordingly and rapidly, to keep the Error to a minimum.
The following links will explain the PID instruction.
PID for Dummies
PID Theory Explained
Wikipedia PID Controller
We will be using an immersion heater in a cup of water to keep the temperature at a constant value.
Our immersion heater will be controlled through a relay using time proportional control from our PID output. A J type thermocouple will be used with the P1-04THM thermocouple temperature and voltage input module. The Arduino PID Library by Brett Beauregard will be used with our productivity open P1AM industrial arduino. Our program sketch will use productivity blocks, that will then be verified into the C++ code in the Arduino IDE. Let’s get started.
We will now look at the arduino thermocouple module. The productivity open P1AM industrial arduino P1000 thermocouple module can be connected to our P1AM-START1 ProductivityOpen starter kit with Ethernet. We will be programming our arduino thermocouple module using the configuration tool on Github and productivity blocks.
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:
• High-speed Input
We will be adding and programming a P1-04THM thermocouple temperature and voltage input module to our P1AM-START1 ProductivityOpen starter kit with Ethernet. This card is very flexible and we will use the configuration tool on Github and productivity blocks. Let’s get started.
In part 1 we added additional discrete digital inputs and outputs modules (cards) to our P1AM-START1 (Industrial Arduino) 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 (P1) expansion modules. (cards) Our sample sketch will include a simple start/stop circuit and a shifting circuit.
Let’s get started.