Tag Archives: plc programming ladder logic

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!

BRX Do-More PLC Ethernet Remote IO Controller BX-DMIO

The BRX Do-More PLC has its own line of remote input and output expansion units. You can add up to 8 I/O expansion units per controller (CPU) and 8 BRX expansion modules per expansion unit. This will make your system grow with your needs.

The remote I/O expansion units feature the following:
• All units have built-in Ethernet port, 10/100 Mbps
• MBIO units have onboard RS-485 port with removable 3-Pin connector
• Support for 8 expansion modules
• AC and DC powered units available
• AC powered units include an integral 24VDC auxiliary output power supply
• Power connector and serial port connector included

We will be looking at the BX-DMIO-M. This is the Do-More Ethernet Remote I/O supported protocol unit. We will discuss the hardware and then connect and configure the unit to work with our existing BRX Do-more PLC. Let’s get started. Continue Reading!

Click PLC to Stride Field IO Modbus TCP

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

Click PLC Logging Data with Time and Date Stamp




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!

BRX Do-More PLC MQTT Communications

MQTT stands for Message Queuing Telemetry Transport. This simple publish and subscribe communication protocol does not take too many resources.
Constrained devices with low bandwidth are ideal for MQTT. This protocol provides machine to machine (M2M) connectivity which is ideal for the Internet of Things. (IoT) This protocol is not for remote IO or real-time (deterministic) applications. MQTT is a good solution for applications that move data from hundreds or thousands of machines (sensors) to clients in many networks.

We will be installing a windows based broker called Mosquitto. The Do-More BRX PLC will be one of the clients publishing and subscribing to the MQTT broker. MQTT Lens (Chrome Browser App) will be the other client publishing and subscribing to the MQTT broker. Each client will share information. Let’s get started. Continue Reading!

BRX Do-More Simulator MQTT Publish Subscribe

MQTT stands for Message Queuing Telemetry Transport. It is a simple publish and subscribe communication protocol that does not take too many resources.
Constrained devices with low bandwidth are ideal for MQTT. This protocol provides machine to machine (M2M) connectivity which is ideal for the Internet of Things (IoT) or Industrial Internet of Things. (IIoT)

We will be using a free on-line public MQTT broker from HiveMQ. Messages will be published and subscribed to by two clients. The first will be an MQTT Browser Client by HiveMQ. The Do-More Designer Simulator PLC will be the second MQTT Client. Information in the form of bits and words will be published and sent to both clients. 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!

Click PLC PID Instruction and Autotuning using Factory IO

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!

Click PLC PID using Factory IO

A PID (Proportional, Integral, and Derivative) control is possible with the Click PLC. A sample program was written for this PLC by Bernie Carlton in the following thread from the Automation Direct Forum. This was based on the math/process presented by Tim Wescott on is paper titled PID without a Ph.D. We will be using this sample program along with a Factory IO scene to demonstrate PID control 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. We will also discuss the math that the PID loop uses. Let’s get started! Keep on Reading!