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!
The Click PLC can use remote inputs and outputs from Stride. The Stride Field I/O Modules are simple and compact. They provide an economical means to connect inputs and outputs to an Ethernet Modbus TCP communication network. Every module operates as a standalone Modbus TCP server and can be configured via a built-in web server.
Previously we looked at the Stride Field Remote IO Modules Modbus TCP Ethernet wiring and configuration.
Stride Field Remote IO Modules Modbus TCP Ethernet|
– Unboxing SIO MB12CDR and SIO MB04ADS Video
– Powering and Configuring Video
We will be connecting two Stride remote inputs and outputs to the Click PLC. Modbus TCP will be the protocol over Ethernet to communicate to the SIO-MB12CDR and SIO-MB04ADS units.
– STRIDE discrete combo module, Input: 8-point, 12-24 VDC, sinking, Output: 4-point, relay, (4) Form C (SPDT) relays, 2A/point, (1) Ethernet (RJ45) port(s), Modbus TCP server.
– STRIDE analog input module, 4-channel, current/voltage, 16-bit, isolated, input current signal range(s) of +/- 20 mA, input voltage signal range(s) of +/- 10 VDC, (1) Ethernet (RJ45) port(s), Modbus TCP server.
We will be reading an analog voltage into the Click PLC from the remote IO unit. We will then set an output to pulse on and off at a time range indicated by this analog signal. The output will be on the other remote IO unit and will trigger the input to signal. We will look at the Frequency, Count, and Status of this input. Our Click PLC program will also take into consideration watchdog (communication time out) and power-up events for the Stride remote input and output units.
Let’s get started. Keep on Reading!
The Click PLC can perform indirect addressing. This means that I can ask for information to be moved to and from locations in the PLC using a pointer that will indicate the address.
Stephen Covey in The 7 Habits of Highly Effective People said: “Begin With the End in Mind.” This is especially true when looking at storing or logging data within the programmable logic controller. (PLC) It is important to fully define what you want to accomplish with your program.
In our Click PLC example, we want to take a series of consecutive memory locations (DS1 to DS10) and store them in memory areas DS100 to DS4100 each minute. We will be able to store 400 entries (400 minutes) in our storage area. Every entry will include the real-time clock (RTC) of the Click. This will show the date and time of each entry. Let’s get started! Keep on Reading!
A PID (Proportional, Integral, and Derivative) control is possible with the Click PLC. The Click Programming Software version 2.50 now includes PID. This features 8 full-featured control loops with an easy graphical user interface (GUI). PID will run on all of the Ethernet-enabled Click PLCs.
We will be using this PID along with a Factory IO scene to demonstrate PID control and Autotuning using our Click PLC.
Here are some references on PID control:
PID without a Ph.D. By Tim Wescott
Understanding PID in 4 minutes
PID Control – A brief introduction
PID Controllers Explained
Who Else Wants to Learn about On-Off and PID Control?
Our Factory IO scene will be controlling the level of water in a tank. PID will be used to maintain the level based on a dial pot knob on the control panel. Let’s get started! Keep on Reading!
A dusk to dawn sensor usually is discrete on/off of the lighting control. If we want to vary the lights to mimic more of the sunset and rise, we would use an analog output to control the lights. I was recently asked about such a program. Every day they wanted the lights to go off at 10 pm and come back on at 6 am. At 9:30 pm the lights would be on at 70% or 7volts of a 0-10V signal. In the next half hour, the program will bring the lights from 70% down to 0%. In the morning the lights will come back on within the half-hour from 0% to 70%. Poultry Farms are one place that would utilize this program.
We will be developing a program that will do this with our Click PLC. Let’s get started! Keep on Reading!
Rotary encoders are modern digital devices that have taken over from the potentiometer in stereos and many other applications. This is because of their fine digital control and they can fully rotate without end stops. We can connect the rotary encoder into the PLC using just two digital inputs. This human machine interface (HMI) has the advantage over touch screens and other methods of control into the PLC. The operator can control the rate and set point with the dial (rotary encoder) without looking at the control. This will allow the operator to concentration on other tasks.
We will be connecting a rotary encoder with dial into the Click PLC. The signals being sent from the rotary encoder will be explained. Different methods of programming this input in our PLC will be discussed. Let’s get started. Keep on Reading!
Firmware is usually PLC operating system code that is written into a read only memory. The BIOS (Basic Input Output System) of a PC (personal computer) is a good example of firmware. It provides the low level interface between the hardware and software. The Click PLC firmware comes with the programming software.
We will be updating our firmware of our Click PLC from 2.10 to 2.30. Let’s get started! Keep on Reading!
Recently I was asked to demonstrate communication between a Click PLC and BRX PLC using Modbus RTU. Both PLCs are available from automation direct com. Modbus serial communication (Modbus RTU) is a standard protocol used in many automation devices. It works on a Master / Slave configuration. You can have only one master per network on Modbus RTU (Remote Terminal Unit). A maximum of 32 devices (Nodes) on the network can communicate to the master. A review of the Modbus RTU protocol (RTU frames) can be seen at the following URL.
Using the Click PLC as a Master we will be communicating to the BRX PLC (Slave). Our example will read 10 registers from the BRX PLC and write 10 registers to the Click PLC. Let’s get started! Keep on Reading!
Advanced HMI is a powerful, adaptable HMI/SCADA (Supervisory Control and Data Acquisition) development package that takes advantage of Visual Studio. There is no coding required and you can simply drag and drop items onto the page. The best thing is that the software is free. We will look at using AdvancedHMI with the Click PLC. Our sample Click PLC program will read the present value (PV) and the indicating lights on our Solo Process Temperature Controller. It will then write the set value (SV) to the Solo. This communication will be done using Modbus RTU protocol over a RS485 serial port on the Click. The AdvancedHMI package will communicate Modbus TCP over Ethernet to the Click PLC. We will be able to monitor our PV and set our SV on the Solo via the AdvancedHMI window. Keep on Reading!
Receive and Send instructions will allow you to send and receive serial data to an external device. The communication method that you setup can be ASCII or Modbus. ASCII (American Standard Communication for Information Interchange) can be used to send to devices such as a printer. Receiving ASCII can be used for connecting barcode scanners to the PLC. The barcode will be read as an ASCII string in the PLC. Modbus serial communication (Modbus RTU) is a standard protocol used in many automation devices. We will demonstrate the Send and Receive instruction by communicating Modbus to a Solo Temperature Controller. Our example will read the current process (PV) value and write the set point value (SV) in the controller. Keep on Reading!