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!
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!
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!
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!
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!
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!
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!
Last time we created our first program and transferred this to our connected Productivity 1000 Series PLC. This was programmed with our computer running the Productivity Suite Software. One of the most important aspects of programming the PLC is to document. This will aid you and your team in programming, troubleshooting and modifying the automation control system. Your documentation should read like a book so information can be quickly obtained when required. Time spent on the documentation will be priceless when you go to read your program in 1, 3 or 10 years from now. The Productivity Suite software provides several different methods for documenting your program.
Tag Names and Details, Task Names and Descriptions, Rung Comments and Instruction comments are the ways that we will be looking at documenting our program.
Let’s get started. Continue Reading!
The Productivity 1000 Series PLC uses the Productivity Suite Software. The software can be downloaded free of charge. It is the full package without restrictions or limitations.
The latest Productivity Suite software version is 188.8.131.52. Automation Direct has put 20 years of programmable controller software experience along with customer suggestions and feedback into this programming package. It has great features that we will be exploring as we program our Productivity 1000 Series PLC.
This is the same software that will program the entire Productivity Series of programmable logic controllers.
Productivity 1000 (Stackable Micro PLC)
Productivity 2000 (Micro Modular Programmable Controller)
Productivity 3000 (Modular Programmable Controller)
We will be installing and reviewing the Productivity Suite software version 184.108.40.206.
Let’s get started. Continue Reading!
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!