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!
One of the features of the BRX Series PLC is the ability to expand its capability to fit your application. This is easily done by “snap-on” modules that will fit on the side of the BRX MPU (Multi Processor Unit). As we have seen before in the BRX PLC System Configuration post we can add additional discrete inputs and outputs. Automation Direct now offers Analog Voltage and Analog Current input and output modules. These modules come as an 8 point channel unit. There is also a 4 point thermocouple input module also available. We will be configuring, scaling and programming the Analog input and output Voltage modules for our BRX PLC. Let’s get started. Continue 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 BRX Series PLC.
Our sample BRX PLC program will display a digital panel meter and a gauge of a value in the PLC. Stop and start momentary pushbuttons on the HMI will allow this number to increase or stop. An indication will turn green when the number is increasing and red when it has stopped. The AdvancedHMI package will communicate Modbus TCP over Ethernet to the BRX PLC. We will be able to monitor our process via the AdvancedHMI window. Lets get started. Watch on YouTube… Continue Reading!
Sending email messages from the PLC sounds like an easy task. However, very few applications do this on the production floor. This is probably due to the networks involved and user authentication can be complicated. In our example, we will use a restricted Gmail SMTP server so no authentication will be required. We will walk through sending email and text messages from the PLC to Google Gmail. Once in your Gmail account, the message can be automatically forwarded to another verified email or SMS text message address.
The BRX Series PLC also has this Email capability along with attaching files. We will also be looking at secure email services with the BRX Series PLC. Let’s get started. Continue Reading!