Category Archives: Relay

Modbus RTU Click PLC Master to BRX PLC Slave Communication

Recently I was asked to demonstrate communication between a Click PLC and BRX PLC using Modbus RTU. Both PLCs are available from automation direct com. Modbus serial communication (Modbus RTU) is a standard protocol used in many automation devices. It works on a Master / Slave configuration. You can have only one master per network on Modbus RTU (Remote Terminal Unit). A maximum of 32 devices (Nodes) on the network can communicate to the master. A review of the Modbus RTU protocol (RTU frames) can be seen at the following URL.
http://www.rtaautomation.com/technologies/modbus-rtu/
Using the Click PLC as a Master we will be communicating to the BRX PLC (Slave). Our example will read 10 registers from the BRX PLC and write 10 registers to the Click PLC. Let’s get started! Keep on Reading!

Wiring Interposing Relays

Interposing relay means a device that will separate two different circuits. The isolation can be for current consumption, voltage differences, voltage references or a combination of both current and voltage. We can use these relays to help connect our inputs and outputs on our programmable logic controller. (PLC) 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…

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.

Five Steps to PLC Program Development

Programming a PLC can sometimes be a daunting task. The best method is to break the task into some smaller steps. These are the steps that I have used for years. We will apply them to a die stamping application.

1 – Define the task:

What has to happen?

A master switch is used to start the process and to shut it down. Two sensors: an upper limit switch that indicates when the piston is fully retracted and a lower limit switch that indicates when the piston is fully extended. When the master switch is turned on the piston reciprocates between the extended and retracted positions. This is achieved with an up and down solenoid. When the master switch is turned off, the piston returns to the retracted position and all solenoids are off.

2 – Define the Inputs and Outputs:

Inputs:
Master Switch – On/Off
Upper Limit Switch – On/Off
Lower Limit Switch – On/Off

Outputs:
Down Solenoid – On/Off
Up Solenoid – On/Off

3 – Develop a logical sequence of operation:

This can be done with the use of a flow chart or sequence table. You can use anything to fully understand the logic of the operation before programming. Many people do not use this step and jump straight to programming.

Fully understanding the logic before starting to program can save you time and frustration.

Sequence Table: The following is a sequence table for our die stamping application. I usually review this sequence with the person with the most knowledge of the machine. This can be the designer and / or the machine operator.

How to read the Sequence Table: Follow the steps from left to right, top to bottom. Inputs and outputs are labelled as 1 (ON), 0 (OFF) or X (Does not Matter). Step 1 indicates that it does not matter the upper and lower limit switch positions. The master switch is off, so the up and down solenoids are off. Steps 3 and 4 repeat themselves as long as the master switch is on.

Note: You will notice that at step 2, after the master switch turns on the up solenoid will be activated. So the piston always retracts when the master switch is first turned on.  This operation was picked up in development of our logical sequence.

4 – Develop the PLC program:

Look at the sequence table in respect to the following logic. I have used Set and Reset conditions so it is easily followed by the sequence table. When the master switch turns on the up solenoid is activated. Notice the first rung is a direct correlation. Follow the rest of the sequence table with this ladder logic.


Document, Document, Document This is a vital part of every program, which will save you time and money when you have to return to the program years later.

5 – Test the program:


Test the program with a simulator or actual machine. Make modifications as necessary. Check with the people most knowledgeable on the machine, to see if it is doing what they expect. Do they need something else? Follow up after a time frame to see if any problems arise that need to be addressed.

These five steps will help you in your PLC programming.

  1. Define the task
  2. Define the inputs and outputs
  3. Develop a logical sequence of operation
  4. Develop the PLC program
  5. Test the program

The five steps form the basis of all PLC development. You will notice that the actual programming does not occur until the second last step. Usually more time is spent on understanding the task and sequence of operation.

Watch on YouTube : Five Steps to PLC Program Development
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.

How to Make a One Shot in the PLC

A one shot in the PLC will turn an output on for one scan. This is used to trigger events that should only happen once. An example of this would be to increment a value in memory. If a one shot is not used, then every scan of the PLC will increment the value.

One shots are known by several other names. Differential Up (DIFU), Differential Down (DIFD), One Shot Relay (OSR), Powerflow Modifier, Leading edge contact, Trailing edge contact, etc. This all relates to the programmable controller that you are programming.

Lets take a look at programming a one shot using bit logic only. We will program both a leading edge one shot and a trailing edge one shot bit. This program will work in all PLCs.
Note: The white background in the increment (INC) instruction just indicates the reset for the animation.

Leading edge one shot bit: This will turn on a bit for one scan when the input condition makes a transition from 0 to 1. (Off to on)
When input X0 turns on C0 is turned on for one scan. This is because it is in series with the C1 lead work bit. The next rung will latch this on and not unlatch it until the input condition X0 turns off. C0 will only be on for one scan when X0 turns on.

Trailing edge one shot bit: This will turn on a bit for one scan when the input condition makes a transition from 1 to 0. (On to off)
When input X0 turns off C2 is turned on for one scan. This is because it is in series with C3 trail work bit. The next rung will latch this on and not unlatch it until the input condition X0 turns off.

The Do-more PLC has several different ways to do the leading and trailing edge one shots. Here are a couple:

The leading or trailing edge contact instruction will allow logic flow for one scan from a transition. (On to off / Off to on)

The leading and trailing edge Powerflow Modifier is placed before the output. It will turn multiple input signals into a one shot for the output.

Watch on YouTube : How to Make a One Shot in the PLC
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.

Creating a Flip Flop Circuit in the PLC

A flip flop curcuit in a PLC usually has one input and two outputs. When the input is activated, the two outputs latch on/off opposite to each other alternately.  Basically it is used to toggle (latch) an output on and off with just one input. In the PLC it is a single input that will toggle an output on and off each time the input signal is activated.

Here is an example of a hard wired flip flop circuit using relays.

The PLC program will be a little different than the relays because of the way in which the PLC scans. Scanning takes place from left to right, top to bottom. The output conditions from the logic are available to the next rung as the logic is solved. Outputs and inputs are read usually only once at the end of the scan. Remember to think of the outputs in the PLC as make before break. This is the opposite of the relay logic presented above which is break before make.

Lets look at the logic. This is programmed using the Do-More Programming Software which comes with a simulator. This full programming package is free of charge and can be downloaded here.

The input is on a leading edge instruction. (One Scan) If output 2 is on then it will set output 1. If output 2 is not on then it will reset output 1. The third line of code will determine the state of output 2 based upon output 1.

You may be asking yourself why do we not just use the conditions from output 1 to control output 1.  This is because if we substituted output 1 for the conditions on the input then the output 1 would never turn on/off. The output conditions are available for the next line of PLC code. This would allow the output to be set and reset within the scan without being updated. Using output 2 is the only way in which this logic would work.

Here is an automated picture to show the input toggling on / off and the outputs flip flopping.

Note: An emergency condition can be added to the set or reset rungs to automatically control the output either way.

Watch on YouTube : Creating a Flip Flop Circuit in the PLC
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.

The Secret of Using Counters

Counters  are used in the majority of PLC programs. This is especially true if part of your SCADA system. Counters like the animated picture above count things. In this situation we are counting the number of turns the little guy makes. The counter is displaying the total number. This is considered a totalizing counter. If an output turned on to do something then it would be a preset (target number entered for the count) counter. There are also a wide variety of off the shelf industrial counters that you can use. The implementation of counters can be vast, however it all starts with a TIMING CHART. This is the same as the timing charts we discussed in ‘The Secret of Timers’ post.

A timing chart is the secret behind understanding of the counter that you need in your application. Making a timing chart before writing the program will ensure that all of the information will be accounted.

The timing chart is mapped out on a x and y plain. The ‘y’ plain has the state of the input on/off (1 or 0). The ‘x’ plain will show time.

The following shows a timing chart for a counter:
As you can see in this timing chart, you have an input, output and display.

Inputs:
Inputs are used usually sensors that are wired to the counter (PLC) to indicate the items that we need to count. They can be switches, photoelectric sensors, proximity sensors, encoders, etc. (Wiring of NPN / PNP devices) A counter will generally have only one input. In the case of an encoder input it is still only one input, however this is wired usually as a A, B and Z phase. Z is always the reset. A and B indicate the pulses and are leading or trailing each other by 90 degrees depending on direction. Allot of counters will also allow you to as a direction input signal. However this is all still only one input.

Outputs:
Outputs from counters are generally discrete. This means that they are on or off, similar to the inputs. Outputs will trigger when the count value matches the set value. The duration that the output is on depends on the reset signal, to start the count again. (DC Solenoids protection) Allot of the counters today will allow you to have multiple outputs. These multifunction counters can have several preset outputs that trigger when the counter set value has been reached. Batch outputs are also available on some of the industrial counters. A batch output counts the number of times that the preset has been reached. This output will be turned on when the number entered for the batch has been reached.

Set Value – SV:
This is usually on the display and shows the preset value. It is the target number of counts.

Present Value – PV:
This is usually on the display and shows the current or accumulated value.

The PLC programming is usually not that much different then the industrial counter. Allot of the manufactures will have an up counter, down counter and/or an up/down counter. Just as the name implies the display is either counting up or down. You have to refer to the instruction manual of the manufacturer you are programming for the way in which the counter will be programmed.

In the above example Do-More PLC program we have an up and a down counter. X0 is the input and X1 is the reset on both of these counters. (CT0, CT1)
The preset value is stored in memory location D0. This value is set to the number 3.
When the present value (accumulated) reaches the set value (preset) then the CT0.Done bit goes on and the output Y0 is active. Y0 will remain on until the reset input goes on.
The only difference for down counter is the display. You will see that the present value will count down to zero (0) before the CT1.Done bit is turned on.
These counters are memory retentive. So in order to make the counter non-memory retentive, use the first scan bit of the PLC to trigger the reset of the counter. (ST0 – $FirstScan)

Every PLC has counters. They all have different types depending on what you are trying to achieve. It will all start with your Timing Chart.

Watch on YouTube : Learn PLC Programming – Free 9 – The Secret of Counters

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.

The Secret of Using Timers

Timers are used in the majority of PLC programs. There are also a wide variety of off the shelf industrial timers that you can use. The implementation of timers can be vast, however it all starts with a TIMING CHART.

A timing chart is the secret behind understanding of the timer that you need in your application. Making a timing chart before writing the program will ensure that all of the information will be accounted.

The timing chart is mapped out on a x and y plain. The ‘y’ plain has the state of the input on/off (1 or 0). The ‘x’ plain will show time.

Lets take a look at a timing chart for an On-Delay Timer. This is the basic operation for an Omron H3BR industrial timer.

Power –  When dealing with PLC’s we must consider when power to the unit is removed what happens to the current time and output conditions.
Start – In this case the start signal is momentary to start the time cycle. (t) We could modify this signal to be maintained until the output switches.
Output – The output will show when it turns on. This can also indicate the opposite, and show when it turns off.
Time – Time is shown by the relationship between the start signal and the output. Our example shows timing starts on the leading edge of the Start. This could have also been on the trailing edge.

Here is the same on-delay timing chart with some more detail. Several conditions are added to the chart.

These conditions prompt us to ask the following questions.
What happens when:

  • Power is removed / restored
  • Multiple start signals are received
  • Do we need a Reset signal. If so what happens during its operation
  • Do we need a display of the time. Present Value (PV) / Set Value (SV)

As you can see the timing chart is vital in determining how the sequence will be performed. This is the exact same method that I use when determining timing sequences in a PLC program.

Lets look at an example.

When we hit the start button, the warning light then comes on. After a fixed time the warning light goes off and the motor starts. The motor will run until the stop button is hit.

We will start by using the Start / Stop Circuit we did earlier.

You will notice that we have added an internal memory bit (C0) as our Start Sequence. This is a memory retentive bit, so we can use the (ST0) $FirstScan to make this circuit non-memory retentive. If power goes off, or the PLC is put into program mode the circuit does not remember the last state. It will default to be off.
The sequence is as follows:

  • Start pressed
  • TMR starts to time (10seconds)
  • Warning output comes on
  • After TMR (10seconds)
    • Warning output goes off
    • Motor output comes on
  • Stop pressed
    • TMR is reset to 0
    • Warning light off
    • Motor is off

Every PLC has timers. They all have different types depending on what you are trying to achieve. It will all start with your Timing Chart.

Watch on YouTube : Learn PLC Programming – Free 8 – The Secret of Timers

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.

Get Rid Of Surges That Are Destroying Your PLC Outputs

DC Solenoids are the worse culprits for electrical surges on your system. When the electrically generated field collapses an opposite polarity voltage is generated. This voltage spike can be high enough to weld the contacts on a PLC output relay.

To protect your PLC output relay, use a diode to ensure that when the solenoid switches off the voltage spike is released through the diode instead of the relay.

 

The diode should be rated to handle 10 times the voltage that you are switching and enough for the current flow of the circuit.

Parts of the diode:

The cathode of the diode is marked by a band.  The electron flow will only occur in one direction.

Installation:
Install the diode as close as possible in parallel with the solenoid. The cathode should be wired to the positive source of the solenoid. (Dissipate negative polarity voltage spike)

Note: You could also install an interposing device to handle the surge such as a SSR. (Solid State Relay) This is generally more money, space in the panel and wiring.

Note: Allot of solenoids come already with surge suppressing diodes from the manufacturer. If not, you will usually need this information when troubleshooting and discover your welded contacts of the output relay.

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.