Tag Archives: plc basics programming

Productivity 1000 Series 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 Productivity 1000 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!

BRX Do-More PLC to Modbus TCP RTU Remote IO Controller BX-MBIO

The BRX Do-More PLC can communicate to a remote I/O (input and output) controller modules using the Modbus protocol for communications. The BX-MBIO provides both Modbus RTU and Modbus TCP interfaces. Modbus RTU is a serial communication and Modbus TCP is an Ethernet communication. Modbus RTU is supported over an RS-485 serial connection. Modbus TCP is supported over an Ethernet connection. They function as listening/replying devices (slave, server) and can connect with any mastering (master, client) device that communicates using the Modbus protocol.
Previously we looked at the BX-MBIO Modbus RTU TCP Remote IO Controller wiring and configuration.
Modbus RTU TCP Remote IO Controller BX-MBIO
BX-MBIO Hardware Video
BX-MBIO Powering and Configuring Video

We will connect the BRX Do-More PLC to the Modbus remote IO. This will be done using the Modbus TCP and Modbus RTU protocol. Ethernet and serial RS485 communication to the BX-MBIO unit will be the media.
The BX-MBIO remote I/O expansion units feature the following:
• RJ45 Ethernet port for communications via Modbus TCP
• RS485 serial port for communications via Modbus RTU
• Supports up to 8 additional Expansion Modules (Add the discrete or analog I/O you require)
• AC and DC powered units available
• AC powered units include an integral 24VDC auxiliary output power supply
• Power connector and serial port connector included
Let’s get started. Continue Reading!

Productivity 1000 PLC to Stride Field IO Modbus TCP

The Productivity Series of 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 P1000 PLC. Modbus TCP will be the protocol over Ethernet to communicate to the SIO-MB12CDR and SIO-MB04ADS units.

SIO-MB12CDR
– 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.
SIO-MB04ADS
– 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 Productivity 1000 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 Productivity 10000 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!

Stride Field Remote IO Modules Modbus TCP Ethernet




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.

We will be looking at the following two Stride Remote IO Modules:
SIO-MB12CDR

– 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.
SIO-MB04ADS

– 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, external 20-30 VDC required.
We will be unboxing both of these units. Powering and then setting them up (configuring) via the webserver. Let’s get started. Continue Reading!

BRX PLC PID Ramp Soak Profile

The purpose of a ramp soak profile is to make gradual, controlled changes in temperature (Ramp), followed by a temperature hold (Soak) period.
We will be using our Proportional-Integral-Derivative PID Instruction with PWM output that we looked at last time to apply the ramp/soak profile.
Using the immersion heater in a cup of water to keep the temperature at a constant value, we will be adjusting the profile of the temperature as we increase the setpoint (Ramp) and hold that set point for a predetermined time. (Soak) We will then decrease that temperature back to the original setting. (Ramp)

We will be modifying our existing program from our PID with PWM Output post. Let’s get started. Continue Reading!

BRX PLC PID with PWM Output

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.

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?
We will be using an immersion heater in a cup of water to keep the temperature at a constant value. Using the Do-More Designer software we will perform an autotune on our PID instruction.
Our immersion heater will be controlled through a relay using time proportional control from our PID output. Let’s get started! Continue Reading!

BRX PLC INC DEC 512 Registers for DMX512

I was recently asked the following question after posting the Analog Dust to Dawn program:
” I was wondering if there’s an easy way to increment and decrement a range of values.
e.g. I have a range of registers (V100 ~V611) the values in each register are different. But I want to increment or decrement all the registers values by 1 at the same time. So that the ramp rate is the same.
Is that possible without having to do 6 rungs of logic for each register?
To elaborate a little on my use case. 512 registers were chosen because that equals one DMX universe. So my scaling factor is 0~255.
16 channels are mapped to two BX-08DA-2B modules to control 0-10 fixtures. All other channels are mapped to SERIO module to control DMX512 fixtures and other devices.”

We will be looking at the DMX512 protocol and how to control 512 registers at a time using our BRX PLC (Do-More). Let’s get started! Continue Reading!

BRX PLC Analog Dusk to Dawn Program

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 BRX PLC (Do-More). Let’s get started! Continue Reading!

BRX PLC HTTP JSON Instructions

One of the features of the BRX Series PLC is the ability to expand its capability to fit your application. Software and hardware changes are ongoing so the PLC can grow with your needs. Communication is something that the BRX PLC can do very well. As part of the internet of things (IoT), the BRX will share and exchange data. You can also refer to this as the industrial internet of things. This will suit several industrial applications.

The Do-more Updates Release 2.5.2 on April 22, 2019, has introduced new instructions. Here are the instructions that we will be using:
HTTPCMD – HTTP Request / Response with Server (BRX only)
JSONPARSE – Parse JSON Text (BRX only)
We will be using these instructions to read the weather conditions from a website. Let’s get started. Continue Reading!

Productivity 1000 Series PLC PID Ramp Soak Instruction

PID Ramp Soak Instruction
The purpose of a ramp soak instruction is to make gradual, controlled changes in temperature (Ramp), followed by a temperature hold (Soak) period.
We will be using our Proportional-Integral-Derivative PID Instruction that we looked at last time to apply the ramp/soak instruction.

Using the immersion heater in a cup of water to keep the temperature at a constant value, we will be adjusting the profile of the temperature as we increase the set point (Ramp) and hold that set point for a predetermined time. (Soak)

We will be modifying our existing program from our PID loop instruction. Let’s get started. Continue Reading!