Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Similarities of PLC's and microcontrollers. Whats involved

Status
Not open for further replies.

dirtyb15

Member
I am currently interviewing for a new job as our defense contract was not renewed. :(
Anyways, i keep seeing that many employers desire engineers with PLC programming experience. I would like to learn more about them, but dont now where to start. How similar are they to programming PICS? Is there a cheap setup i could buy to practice with? What are the most common PLC's
One company specifically wanted Allen Bradley PLC experience.
Any help is appreciated.
thanks all
 
I'm not certain if this is exactly what you're looking for, but as I understand it, PLC is sort of blanket term for most varieties of Programmable Logic Devices. The dominate family is the FPGA (Fully-Programmable Gate Array), which is able to hold thousands of gates rather the hundreds done by the prior generations. I've been told Verilog is a dominate language for FPGA development.

Anyway, the biggest difference between PLC programming and µcontroller or µprocessor programming is the fact that functions are aften carried out simultaneoulsy by the chip--reguardless of where they appear in the code. Verilog does allow functions to be sequentialized, but for the most part it's all simultaneous. Xilinx develops chips and software packages for FPGA's, and our professor commonly referred us to their app-notes when we needed the specifics. Also, FPGA 4 Fun was extremely helpful.
 
DigiTan said:
PLC is sort of blanket term for most varieties of Programmable Logic Devices. quote]

Not so.

PLC = Programmable Logic Controller

PLCs are generally used to control some machine or process.
For example: an automatic lathe, a welding machine, a beer bottling plant.

PLCs generally come in two types, modular and self contained "bricks", and even some of the bricks accept expansion I/O modules.

Usually there is a backplane, into which you can plug a PSU, a processor, and analogue and digital I/O modules. The I/O modules can be the simple digital inputs where nor state is 0volts, the other is 24volts.
Digital outputs can be switched 24volt or relay contacts. Analogue inputs can be from thermocouples, resistance thermometers or just 4 to 20mA current loop.
There are more complex modules for rotary encoders, counters etc.

Programming is often done in "Ladder Logic". A graphical method where digital inputs and outputs are represented by "relay" contacts and coils.
There are function blocks in ladder logic which will perform mathematical operations.
Ladder logic is easy for non-programmers to understand. Depending on the PLC, there may be other more software oriented programming languages available.

JimB
 
DigiTan said:
I'm not certain if this is exactly what you're looking for, but as I understand it, PLC is sort of blanket term for most varieties of Programmable Logic Devices. The dominate family is the FPGA (Fully-Programmable Gate Array), which is able to hold thousands of gates rather the hundreds done by the prior generations. I've been told Verilog is a dominate language for FPGA development.

Anyway, the biggest difference between PLC programming and µcontroller or µprocessor programming is the fact that functions are aften carried out simultaneoulsy by the chip--reguardless of where they appear in the code. Verilog does allow functions to be sequentialized, but for the most part it's all simultaneous. Xilinx develops chips and software packages for FPGA's, and our professor commonly referred us to their app-notes when we needed the specifics. Also, FPGA 4 Fun was extremely helpful.

As JimB says.
Ladder logic is what is usually used in industrial controllers

what you are talking about are more PLD's (with CPLD's being made out of lots of PLD and an FPGA even more complex)
 
Then it's a good thing I said I wasn't certain about it. :wink: I haven't heard much about these so I'm guessing they're mostly used strictly in industry?
 
DigiTan said:
... I'm guessing they're mostly used strictly in industry?
I would say that's true. Most people wouldn't have a need to control things at home like they do in industry. And although the 'brick' style of PLC can be relatively inexpensive, the rack-style with expansion slots (PLC-5, SLC-500) can turn out to be frightfully expensive when loaded with modules. As a result, industrial plants are often the only ones with pockets deep enough to afford them. One of the plants in my area that I have been to has them in cabinets all over the plant. Since they're all networked via ethernet, the programmer can modify the programs for any of them without leaving his office.
JB
 
Allen Bradley is one of industry leaders. It is very popular in North America since
it's local company (they have office in Cleveland, OH).
This means that manuals and support are better than for (translated) products from overseas
such as Siemens or Mitsubishi for example. Allen Bradley is often considered much simpler
to use too but it's products are considerably more expencive than competing equivalent.
once you get familiar with ladder logic it is very easy to work (program) just about any plc,
although one might have to swallow pill or two during inital setup.
it is not uncommon (at least if you are new to product) that initial setup is done by
distributor etc. there are also other languages like structured text (looks like any high
level language on pc), function block diagram (looks like collection of TTL or CMOS gates),
instruction list (looks like assembler) etc. function blocks are popular in europe while ladder
is dominating north america. ladder is visual language resembling relay circuits.
i preffer ladder for most day to day applications although other languages have strengths too.
while in the past one would usually have no choice but to use only one language for particular
product, nowdays it is common to see variety of languages for one and same product (within same
programming enviroment). i hope things will get better in near future since this multi language
support is often poorly implemented. for example, there are stil rather few products
that will allow comfortable work or completing of a project (if at all) in just one language.
that's why bulk of code in most cases is still done in ladder (or fbd). if you want to get taste
of function block or ladder logic, download Zelio_2 software. Zelio is not real plc, it's so
called smart relay but it is ok to see what the language is and you can even simulate (simulation
is something you see rare on plcs these days).
Rockwell Automation (Allen Bradley) has some of the products for download too (RSLinxLite for sure
but maybe some time expiring student version of RSLogix too, I'm not quite sure).
You can get mitsubishi software from www.meau.com and it should work for a while without licence
(GX Developer for PLC programming, GT Works for HMI programming etc.).
someone mentioned parallel execution of logic. although it looks that way, that's not true.
logic is simply scanned very fast. often whole program is scanned continuously for simplicity
but one can use common forms of branching and subroutines to change that if application requires it
(faster scan is important in high speed packaging for example).
scann time will depend on plc and program size but it is usually in 1-20ms range. this is rather slow
compared to microcontrollers for example but PLC is not microcontroller. AC inputs and outputs are still popular
in some applications (like when wiring is very long etc.) but it is largely moved to 24VDC. it is not
only lower voltage and safer to work with, it is standard regardless of where machine will be installed
(AC voltage and frequency are different from countriy to country).
although standard scan time or digital I/Os are slower than on average MCU, PLCs have hardware that
can take care of time critical or complex tasks (counting, positioning, communication etc.).
also plcs can have far more i/o than MCU (most PLCs i work with, support up to some 8k inputs and 8k outputs
and this can be further expanded using fieldbus networks etc.) but this doesn't mean that my projects
get this large. the biggest one i worked on was using DCS (big brother of PLC) and it had only about 4k I/O,
(most ware anlogue - there was some 1200 PID loops among other logic). most projects i work on these days
are limited to some 150-300 I/O. another significant feature of PLCs is ability to change running program
(modify existing, not download new one) without stopping process. we use this all the time since
many processes cannot be simply shut down (you don't want to stop line in car assembly plant just because
you have to rewrite some logic. you simply keep adding/deleting/editing and testing logic
while equipment is running). major changes however, are better done offline (in my work field this
may mean working on a weekend or even at night).
 
Caveat-

Stay away from eBay and other sites like eBay to get your PLC programming software. They are licensed and large companies like Rockwell (that rape industrial users via exorbitant prices) can afford to police the 'net looking for illegal copies of their stuff. If you don't believe me, I had two of my electricians (Lenny B. and Joe P.) severely blistered when they got caught bootlegging on eBay.
 
Panic mode: What a great job.

PLC's are somtimes wierd in terms of terminology. A digital output is a "coil". They don't inherently have HMI's (Human Machine Interfaces) built in and may sometimes be controlled by Wonderware or other such HMI.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top