Tag Archives: do-more plc tutorial

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!

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!

BRX PLC Program Control

The program control instructions will allow us to specify what parts of the logic get solved and when this happens. This will control how the PLC will scan and solve your logic in your program using a synchronous PLC Scan. Understanding the PLC program scan will explain the synchronous and asynchronous program scanning. Ladder logic programs get solved left to right, top to bottom. The result of the rung before is available for the next rung.
Using programs, tasks and subroutines in our BRX Series PLC we can divide up our program into smaller segments. This will help when we troubleshoot the system in the field as the system integrator. Let’s look at some samples of each of the above mentioned methods. Continue Reading!

BRX PLC High Speed IO

The BRX series of programmable logic controllers has built in high speed inputs and outputs. Every CPU will have either 6 or 10 high speed inputs (HSI) available depending on the model. These inputs can be used for input frequencies from 0 to 250Khz. 250Khz represents 250000 input counts per second that can be coming from devices connected to your PLC like an encoder. Every BRX CPU unit also has 2, 4 or 8 high speed outputs (HSO) available depending on the model. The outputs can send a frequency of pulses out up to 250Khz. Due to the speed of the IO, these functions available on the BRX PLC will operate asynchronous with the PLC scan time.
We will be looking at sending an output of pulses at different frequencies from our BRX PLC and inputting these back into the high speed inputs of the PLC. So our output will be wired back into our input. We will then display the frequency of the input pulses and the count. As a system integrator, this ability to send and receive high speed inputs and outputs can prove very useful to you in the field when commissioning your automation system.
Let’s get started with the BRX PLC High Speed IO. Continue Reading!

BRX PLC Counters

A majority of the programmable logic controller (PLC) programs will include a counter instruction. The BRX series of programmable logic controllers have several different counters available for your program. There are five different basic counter instructions in the PLC. The memory area for counters (CT), include the Counter PVs (Present Values) Counter SVs (Set Values) and the Counter Completion Flags. The default size of the counter area is CT0 – CT255. This size can change to the amount that we need for our program. Please see BRX PLC Numbering Systems and Addressing on how to change the memory configuration of the controller.
We will be looking at the counter instructions in the BRX PLC along with some programming examples. As a system integrator, this ability can prove very useful to you in the field when commissioning your automation system. When dealing with counters, we need to look at timing charts. The Secret of Using Counters is a good refresher on using timing charts.
Let’s get started with the BRX PLC Counters. Continue Reading!