Category Archives: analog

BRX PLC Numbering Systems and Addressing

The BRX PLC like all of the PLCs in the Do-More Series use strong data typing. This means that there are fixed memory structures to work with in your program. Errors will be displayed if you try to put the wrong type of value in the memory location. The data structures will automatically assist you in your automation system.
Memory can now be as flexible as you want and need. You can define and allocate all the data memory the way you want it up to specific maximums. As a system integrator you determine what best fits your automation framework.
We will be looking at the addressing and numbering systems in the BRX Series PLC. Let’s get started. Continue Reading!

BRX PLC System Hardware

The BRX series of programmable logic controllers is a stackable micro brick. This is sometimes also referred to as a shoebox PLC because of the shape and way in which expansion modules are added. This new BRX series PLC is the latest in the Do-More series of controllers that have hit the market.

Do-More H2 (Micro Modular PLC)
Do-More T1H (Stackable PLC)
BRX Series PLC (Stackable Micro Brick)

The BRX series offer built-in data logging, integrated motion control, customization communication ports and expansion capabilities. These features like other Automation Direct products are offered at a very good price point. BRX series of controllers will use the same software as the other Do-More PLCs (Do-More Designer) and is a free download. We will be looking at this full featured software that comes with a simulator later in this series.

We will be walking through allot of the features of this powerful controller. Let’s start by looking at the hardware. Continue Reading!

Implementing the Solo Process Temperature Controller

The SOLO Temperature Controller is a single loop dual output process temperature controller that can control both heating and cooling simultaneously. It is available in 1/32, 1/16, 1/8 and 1/4 DIN panel sizes and is UL, CUL and CE approved. The name of temperature controller is deceiving. This unit will also accept voltage and current into them, which is great for process control.

Recently I was asked: How you can change the pressure value from PSI to Bar?

They were bringing into the controller a voltage signal. This can be scaled using the tP-H (High level signal) and tP-L (Low level signal). The units on the display scaled for you. The default is -999 to 999. See section 11-2 of the following information guide that comes with the controller. Continue Reading!

Create an Analog Voltage Input Tester for a PLC

We will create a simple and inexpensive analog voltage tester for a PLC using a potentiometer and a 9VDC battery. The potentiometer will be 5K ohms. This should be enough impedance for most analog inputs of the programmable logic controller. (PLC) Voltage impedance for analog voltage inputs are in the mega ohm range where current input is typically 250 ohms. Our tester will be for analog voltage inputs (0-10 VDC). Check your input specifications before wiring anything to your PLC. I have used this tester for other voltage inputs along with a meter to ensure that the voltage levels do not get out of range for the input signal.
Analog inputs to the PLC are continuous and can come in a variety of signals. These signals can come from temperature, flow rate, pressure, distance, etc. Continue Reading!

The 7 Essential Parts of a PLC System

When I was in school PLC’s were just in their infancy. We were taught that the PLC consisted of the central processing unit (CPU), analog and digital inputs and outputs. Everything was programmed with dedicated handheld devices and/or software devices on specialized hardware. We now have modern PLC systems that are capable of so much more. Let’s look at how we can now break up these modern PLC system into the seven essential components.

CPU
Inputs and Outputs (I/O)
Analog I/O
Specialty I/O
Programming Tools
HMI
Networking Continue Reading…

Click PLC Numbering System and Addressing

Continuing our series, we will now look at the numbering systems and addressing used in the Click PLC. Previously we have discussed:
Click PLC System Hardware
Click PLC Installing the Software
Click PLC Establish Communication
The programming software and manuals can be downloaded from the Automation Direct website free of charge. These are being used exclusively in our Click PLC series.  Keep on Reading!

Click PLC System Hardware

Many people ask me what I do when looking at a new PLC model or system. My approach is very straight forward and we will view this in action with this Click PLC series. This series will go from examining the hardware to programming and communicating to the PLC in several ways. If you have questions along the way, please let me know. Keep on Reading!

AdvancedHMI to Solo Process Temperature Controller

Modbus RTU will be the serial (RS485) method in which we will communicate between the AdvancedHMI Screen and the Automation Direct Solo Process Temperature Controller.
We can address up to 247 (Solo 1 to 247) devices on this master – slave protocol. A maximum of 32 devices (Nodes) on the network can communicate to the master. A review of the Modbus RTU protocol can be seen at the following URL.
http://www.rtaautomation.com/technologies/modbus-rtu/

AdvancedHMI is a free HMI programming package the runs on Microsoft Visual Studio. It can be downloaded at the following URL.
https://sourceforge.net/projects/advancedhmi/

Connections:
We will be running the AdvancedHMI software on the computer. One of the USB ports will have an USB to RS485 adapter and communicate RS485 to the Solo process temperature controller.

See the following post to install the USB to RS485 adapter.
http://accautomation.ca/usb-to-rs485-pc-adapter-installation/

Solo Controller Settings:
In the Initial Setting Mode we will change the on line configuration to on and make the changes to the Modbus settings as follows: 9600 Baud, Even, 7 Data Bits, 1 Stop Bit, Modbus ASCII Format. We will leave the default unit number as 1. See the following post to set the controller:
http://accautomation.ca/solo-process-temperature-controller/

Modbus RTU (Addresses)
The following address will be used in our project:


AdvancedHMI will use the Modbus Decimal value in the PLCAddressValue to determine the information that you want to get. For a list of all Modbus addresses that can be used in your project, refer to the Solo Manual located a the following URL:
https://www.automationdirect.com/adc/Manuals/Catalog/Process_Control_-a-_Measurement/Temperature_-z-_Process_Controllers

Screen Display: (AdvancedHMI)
Here is what our screen will look like:

We have mimicked the look of the solo process temperature controller. Our PV and SV values are DigitalPanelMeters from the AdvancedHMI toolbar.  The eight output indicators are just labels.

Our ModbusRTUCom1 settings are as follows:

Settings: 9600, 8, Even, One StopBit and Station 1 should all match the settings in the Solo process temperature controller that we did previously.
PollRateOverride will allow us to determine how often the communication will take place to the controller. (250msec)
The PortName will be the same port number that the computer will communicate out of. This will be set when you install the USB to RS485 adapter. It may change if a different USB port is used.

The DataSubsciber1 will be used to determine the status of the controller.

PLCAddressValue = 44139

We read the value of the eight status bits and convert this into a string so we can determine the status of each of the individual bits. Here is the code that is used to do this. It is the only code required for this application.

Private Sub DataSubscriber1_DataChanged(sender As Object, e AsDrivers.Common.PlcComEventArgs) Handles DataSubscriber1.DataChanged
        Dim i As Integer = DataSubscriber1.Value
        Dim Status As String
        Status = Convert.ToString(i, 2).PadLeft(8, "0") '8 bits
        'There are 8 bits that we need to check and account for on our screen. 
        'Modbus Decimal - 44139
        'Bit 0 - ALM3 - Alarm 3
        'Bit 1 - ALM2 - Alarm 2
        'Bit 2 - C degrees
        'Bit 3 - F degrees
        'Bit 4 - ALM1 - Alarm 1
        'Bit 5 - OUT 2 
        'Bit 6 - OUT 1
        'Bit 7 - AT - Auto Tuning

The complete AdvancedHMI code for this application can be downloaded at the end of the post.

The PV and SV indicators are DigitalPanelMeters as mentioned above.


They both have four digits with a decimal position of 1. This will give us a value between 000.0 and 999.9.
The SV includes a keypad to change the set value. KeypadScaleFactor is set to 0.1 to allow for the decimal place.

Included in our display is a BasicTrendChart from the AdvancedHMI toolbar.


You want to make sure that the YMaximum and YMinimum settings are set so the values will not go past these settings. If they do then the graph line will disappear from the chart at that point and time.
This will show a running trend for the last 5 minutes.
Polling rate is 250msec x 1200 points in the chart = 300 000msec
300 000msec / 1000 = 300 seconds
300 seconds / 60 (seconds in minute) = 5 minutes

Notes: Displaying Extended ASCII Symbols in Visual Studio (VB.NET)
You can display any symbol in the visual studio environment by holding the ‘Alt’ key down and typing the decimal number of the symbol that you want. In our example the degrees symbol is Alt 248.
Here are the extended ASCII symbols:

http://www.asciitable.com/

Running the Application:

You will notice that the response rate is very quick. (250msec) As the PV, SV or indication values change, the screen will get updated.

The trend chart will show the last 5 minutes of the PV value. 

As you can see, programming the AdvancedHMI to communicate to the Solo process temperature controller is very easily done.

Download the AdvancedHMI code for this project here.

Watch on YouTube : AdvancedHMI to Solo Process Temperature Controller
If you have any questions or need further information please contact me.
Thank you,
Garry



If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLC’s are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimal, Hexadecimal, ASCII and Floating Point.

To get this free article, subscribe to my free email newsletter.


Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you subscribe to ACC Automation.

Solo Process Temperature Controller

The SOLO Temperature Controller is a single loop dual output process temperature controller that can control both heating and cooling simultaneously. It is available in 1/32, 1/16, 1/8 and 1/4 DIN panel sizes and is UL, CUL and CE approved.

There are four types of control modes:
PID (Auto Tuning (AT) function)
P stands for proportional and accounts for present values of the error – It reacts to the amount of error which is the difference between the SP (Set Point) and the PV (Present Value)
I stands for integral and accounts for past values of the error – It uses math to basically find the approximation of area under the curve.
D stands for derivative and accounts for possible future values of the error, based upon rate of change – It uses math to determine the slop of the error over time and multiply this by the derivative gain.
AT – Auto Tuning as the name implies will automatically cycle your control system through two cycles and set the PID parameters.

ON / OFF
On/Off control is the simplest form of control. In the case of temperature the output will be on when the temperature is below set point. When the temperature gets above the set point of the controller the output will be off. When this cycling occurs frequently, you can add a hysteresis to the output. This will limit the time the output goes on and off by a number of degrees.

Manual
Manual mode is when you need to control the output directly. By entering manual mode the operator can adjust the values of the output(s).

Ramp / Soak control
The Ramp / Soak control mode is used to control the outputs according to the pre-programmed SP patterns with the PID control method. The Solo can have eight programs with eight steps each. Note: This can be increased with the additional use of hardware and software via HMI or PLC.

The available outputs include relay, voltage pulse, current, and linear voltage. There are up to three alarm outputs available to allow seventeen alarm types in the initial setting mode. SOLO can accept various types of thermocouple, RTD, or analog input. This means that cascade control is possible with these controllers.

Cascade (Application)
When you use the output of one of the Solo process controllers as the input to another, this would be cascade control.

It has a built in RS-485 interface using Modbus slave (ASCII or RTU) communication protocol.
The Solo Process Temperature Controller can be configured through the buttons on the front of the unit or by the configuration software. Monitoring of up to four controllers at once can be done thought the same configuration software.

The following is the wiring of the Modbus Serial communication. We will use a USB to RS485 converter from Automation Direct. (USB-485M)
Installation and operation instructions can be found at the following link: USB to RS485 PC Adapter Installation

The solo process temperature controller needs to be setup before we can communicate to it. The default setting is ‘Off’ for the On-Line Configuration. Here is the way to change into the different modes in the Solo.

In the Initial Setting Mode we will change the on line configuration to on and make the changes to the Modbus settings as follows: 9600 Baud, Even, 7 Data Bits, 1 Stop Bit, Modbus ASCII Format. We will leave the default unit number as 1.

Our controller is now set to communicate.

Download the documentation and/or configuration and monitoring software at the following URL link:
http://support.automationdirect.com/products/solo.html

The configuration and monitoring software does not have to be installed. You just need to download the file “slsoft.zip”.
Once downloaded right click on the file and select “Extract All…”. The file ADC1105.exe can now be run.

The recommended screen resolution is 1024 x 768. If you do not have this resolution then there is another program that will allow us to create a shortcut to this program and change our default resolution. After we exit the program, our screen resolution will return to its original state.

Reso is a free application that works well. It can be downloaded at the following URL link:
http://www.bcheck.net/apps/reso.htm

Download the exe file (reso.exe) into the same extracted folder that you have the ADC1105.exe file.

Click on the reso.exe file in the folder to run the application.
Click the Browse… button and select the ADC1105.exe solo configuration software.
Under the Graphics Mode: Resolution: select 1024×768
We can leave the rest to the defaults as shown below. Now Click Create Shortcut.

Put the shortcut in the same directory as the software that was downloaded.

We will receive notification that the shortcut was created. Click OK.

Our folder will now look like this.

Click on our shortcut (ADC1105 (at 1024×768)) to start the Automation Direct Solo Series Configuration Software.

There are six icons on the main menu. Follow these in order from left to right to setup or troubleshoot your system.

Under the Com port setup we configure the serial port of the computer to communicate to the Solo. In our case we will use COM5, 9600, Even, 7 Data Bits, 1 Stop Bit, Modbus ASCII Format.

In the Configuration menu we will select the address of the controller that we will be communicating. This will be the default of the Solo which is 1.

Selecting Connect will then communicate to the Solo process temperature controller and you will see on the screen a picture of the controller with the PV, SV and indicator lights active.

This screen will now allow you to set up all of the parameters in the Solo. Once you enter a value it will be red on the screen. After hitting enter on the keyboard and the value will then be sent to the controller and be displayed in black again.

The recorder screen is used to monitor the temperature over time. You can monitor up to ten Solo Controllers at once.

Command Test is used to send individual Modbus command out. This is done in Hexadecimal.

The software for the Solo Process Temperature Controllers is very functional. Using the Reso software, you will be able to put the Solo Software in the 1024 x 768 that it was created for without manually changing the screen every time.

Watch on YouTube : Solo Process Temperature Controller

Watch on YouTube : Analog Input to a Solo Process Temperature Controller
If you have any questions or need further information please contact me.
Thank you,
Garry



If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLC’s are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimal, Hexadecimal, ASCII and Floating Point.

To get this free article, subscribe to my free email newsletter.


Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you subscribe to ACC Automation.

PLC Bits Numbers and Position

People often ask “What is a PLC?” and “PLC Meaning”. A programmable logic controller (PLC) is a piece of hardware that isolates inputs from outputs. Programs are written to look at the inputs solve logic and set the outputs to perform work. Today we are going to look at the basic fundamental way we program. Every PLC company will do this…

Everything in the programmable logic controller actually boils down to bits in the memory.

It is these bits that we manipulate in order to accomplish the work that we need done by the PLC. The instruction set is the method we use to do this. In general, there are several ways to view the bits. Discrete input and output, Numbers and Position of bits will be covered. Understanding the different ways in which we can view these bits will help in developing programs.
Bits are part of the memory of all PLC systems. The memory can be retentive or non-memory retentive. Memory retentive means that if power is lost to the PLC, the status of the bit remains the same when power is restored. If the bit is non-memory retentive, and power is lost the bit returns to the off state. Addressing refers to how the controller understands what memory location to look at. When we address memory in the PLC we can do this in two different ways:
Direct Addressing: Specify a location of the memory location
Indirect Addressing: Specify a location that contains a value to point to the memory location required.

Refer to the manual of the specific PLC that you are using for the way in which memory is addressed and if it is memory retentive or not.

Discrete bits are the basic building blocks in the PLC. When we talk of digital I/O this is referring to the individual bits that you can wire switches, pushbuttons, proximity sensors, or any other device that is either on or off. (1 or 0) They can be usually wired to the PLC as a normally open or normally closed contact. The ladder logic is written in a way that you examine the bit as either on or off.
HOW PLC INPUTS WORK

HOW PLC OUTPUTS WORK
We also must look at the frequency (rate of change from off to on) of the input bits or output in some cases. The maximum frequency that we can read an input to the PLC will be determined by the scan of the PLC.
Example:
A 2 ms Scan (0.002 second) means that we can read the inputs and solve the logic in 2 ms. In order to ensure that the input is read in both states (on / off) we have to ensure that the input is off or on for at least 2 ms. The maximum frequency (Switching / Second) that the input could switch would be 2 ms = 1/.002 times per second = 500hz

Numbers in the PLC are all based on binary. Analog inputs and outputs are based upon the number of bits put together in order to display the range for the input. (12 bit or 16 bit) The values from the analog 12bit input will go from 000 to FFF base 16 (Hex). Hexadecimal is used to display the binary bits in the word or register. Some of the more common numbering systems in the PLC are binary, hexadecimal, BCD (binary coded decimal) and octal (based on 8 bits)

Additional Information on understanding numbering systems in the PLC:
What Everybody Ought to Know about PLC (Programmable Logic Controller) Numbering Systems

Position of the bits within the word, stack or accumulator can be very useful. Usually we can use this to track items. The typical example of this is to track items on a conveyor belt. The belt movement is usually a pulse input from an encoder. A sensor indicates the item on the conveyor.
PLC PROGRAMMING EXAMPLE – SHIFT REGISTER (CONVEYOR REJECT)

Bits are the basic building blocks that we use to program programmable logic controllers. The three ways to view bits (Discrete, Number and Position) will help use to understand the different ways to program.
Here are some additional links that you may find helpful:
Five Steps to PLC Program Development
PLC Programming Example – Process Mixer
PLC Programming Example – Shift Register (Conveyor Reject)
PLC Programming Example – Paint Spraying

The Secret of Using Counters
The Secret of Using Timers

Watch on YouTube : PLC Bits Numbers and Position
If you have any questions or need further information please contact me.
Thank you,
Garry



If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLC’s are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimal, Hexadecimal, ASCII and Floating Point.

To get this free article, subscribe to my free email newsletter.


Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you subscribe to ACC Automation.