420 likes | 653 Views
Open House. March 26, 10-2, in Bell Hall Suitable Presentation = B Which groups? . No Homework. If you feel that you need extra credit, you can do the Washing Machine/PLC homework. Otherwise, I don’t want to impede progress on the project. Schedule your Design Reviews – MWF at 10 or at 2.
E N D
Open House March 26, 10-2, in Bell Hall Suitable Presentation = B Which groups?
No Homework • If you feel that you need extra credit, you can do the Washing Machine/PLC homework. Otherwise, I don’t want to impede progress on the project. • Schedule your Design Reviews – MWF at 10 or at 2.
Programmable Logic Controllers A Concise Exploration
Industrial Automation • Common knowledge: computers are used in factories... • Robotic arm, CNC, injection molding
Industrial Automation • Donut machine, Ice cream sandwich machines
Industrial Automation • Not common knowledge: today this is usually accomplished with Programmable Logic Controllers (PLCs) • PLCs are the answer to a variety of needs: durability, reliability, flexibility, scalability, reprogrammability, etc...
Industrial Automation • Why should you care? Because you will run into PLCs... • Median starting salary for entry-level “Electrical Controls Engineer” is $57,452. (EE is $55K, HW Eng is $48K, SW Eng is $53K) [monster.com] • As long as there is industry, it will be computer controlled and engineers will earn paychecks.
History • Machines become autonomous. • Common method: relay logic
Relay Logic • Conditional logic can be represented in terms of contacts and coils. • Contact: A simple input switch. • Coil: An output load, e.g., a relay or motor. • Symbolic representation called ladder logic. current
Relay Logic • To clarify: “Ladder Logic” is a notation originally used to describe & document relay logic configurations. • Later became the basis for PLC programming languages
Ladder Logic • Power supply rails drawn as parallel vertical lines on left and right • Connection of rails implies current will flow • An output is “on” when a connection is completed and current flows through the load’s coil
Ladder Logic • Simple “always on” load: [Always_On = 1] note: sometimes illegal • Boring... Load controlled by a single contact: [Switch_Con = Switch]
Ladder Logic • Boolean logic - C = A and B • C = A or B
Ladder Logic • C = not A • A contact with a slash through it is “normally closed.” This indicates a connection when A is NOT triggered. • So when sensor/input A is activated, there is an open circuit
Ladder Logic • Each rung of the ladder is a statement that is asynchronous when implemented in relay logic, but evaluated sequentially by the PLC. • X = (A or B) and (C or D), Y = ~A and [B or (C and D)]
Ladder Logic • Converting between ladder logic and physical electronics is straight forward. • So this…
Ladder Logic • …becomes this:
PLC • The first PLC was invented by Dick Morely in 1978. • Morely designed a computer with three components: a processor, memory, and a logic solver. • “[The logic solver] allowed us to get the speed we needed in this application-specific computer to solve the perceptually simple problem of several cabinets full of relay wiring.” -Morely
Industrial Installation CPU Optical Isolation Wiring to Sensors and Machinary
PLC • The first PLC (the 084) was extremely durable and reliable... • “We used to test the programmable controllers with a Tesla coil that struck a quarter inch to half-inch arch anywhere on the system, and the programmable controller still had to continue to run.” –Morely • FYI, this is a Tesla coil: http://www.youtube.com/watch?v=FY-AS13fl30
PLC • Hello World on the PLC. Real hardware: • In ladder logic:
PLC • Not very interesting… how about a “stay-on” variation? (When the switch is released, the light stays on) • PLC benefit: The state of an “output” in one rung may be used as a “contact” in another. • In fact, there are “internal utility relays” – virtual outputs that act as intermediate steps toward real outputs.
PLC • Latched (“stay-on”) Hello World: • When the switch is pressed, “Neon” will be active in the first evaluation. • In subsequent evaluations, “Neon” will force itself to stay on. • NOTE: OUTPUTS CAN ALSO BE INPUTS
PLC • A bit more convoluted: toggling Hello World with a single button. • Remember - Switch state: ON OFF ON OFF • Figure it out
input: Latch = (Switch AND notNeon) OR (Latch AND notSwitch) Neon = (Latch AND notSwitch) OR (Neon AND Switch)
The logic A = SW and NeonInv B = SWInv and Latch C = SW and Neon Latch = A or B Neon = B or C
PLC • PLCs also support a range of special functions: timers, counters, sequencers, memory instructions, etc… • Beyond the basics, they are non-standard and manufacturer-specific.
Timers and Counters • Timer: When enabled it counts down, then enables a rung when it reaches zero • Counter: counts down when pulsed, then enables a rung when it reaches zero
Exercises • Turn 8 LEDs on and off in sequence, repeat. • 1 minute Egg Timer. • Turn a pump on for 60 seconds, then off for 40 seconds, then repeat. Use a switch to start it off.
LEDs: Using a sequencer • Define a Counter output – call it Seq1 • Give it a set value 1 greater than your desired sequences: • e.g. if 4, then 0 thru 4 = a set value of 5 • Use special bits as inputs • Use Seq1:0 to reset the sequencer by defining an output FUNC
Egg Timer IO Table - Inputs: 1/s Clock Outputs: EggDone Counters: Count down from 60 Steps: 1/sec used to trigger counter 60 times When counter at 0, energize EggDone Problem: Use a switch to reset counter Problem: Add a Start Switch
Add a start switch Use a Latch Enable counter with Latch Add ~Reset to Latch Circuit
60 sec ON/ 40 sec OFF Inputs: None Outputs: None Timers: 60 sec, 40 sec. Steps - Count down the 60 sec Timer ONLY WHEN the 40 sec Timer is OFF Count down the 40 sec Timer ONLY WHEN the 60 sec Timer is ON
A Timer is ON when it is at zero, not when it is counting. • A Timer counts when it is being energized by its circuit.- A Timer is RESET when its circuit is shut off. This is important • State1: at startup, Timer40 is OFF so Timer60 starts counting. • State2: Timer60 is counting, so Timer60 is OFF, so Timer 40 is not counting • State3: Timer60 is zero, therefore Timer40 is counting, therefore -Timer40 keeps Timer60 from counting • State4: When Timer40 reaches zero, Timer40 is ON, -Timer40 is OFF, Timer60 gets reset, therefore OFF, then Timer 40 is reset, therefore OFF, and Timer60 starts counting again.
Extend the problem • Add a pump, on for 40, off for 60 • The pump should be on when Timer40 is counting • Timer40 counts when Timer60 is at zero • Add the pump output with Timer60 Input • Add a Start Switch • Just put a Latch everywhere
Special Bits Use with Counters named “SeqN” Unchangeable SWITCH (always ON)
Special FUNCTION Inputs
Special Bits Normally ON Flag - Norm.ON • You can make use of this flag if you need to keep something permanently ON regardless of any input conditions. This is because a coil or a special function is not allowed to connect directly to the power line (the vertical line on the left end of the ladder diagram). If you need to permanently enable a coil, consider using the "Normally-ON" bit from the "Special Bits" menu, as follows:
References http://en.wikipedia.org/wiki/Programmable_logic_controller http://www.plcs.net/contents.shtml http://www.plcdev.com/plc_timeline http://www.barn.org/FILES/historyofplc.html http://www.jach.hawaii.edu/ets/mech/JCMT/carousel/car_eng.html - Old relay logic http://www.rootcompromise.org/gallery/v/blackhat/bh-windows-2004/bh_windows_2004_014.jpg.html - Donut machine http://www.fiona.co.jp/BOOK_JUV_PAGE/homerprice.htm - Homer Price http://www.youtube.com/watch?v=gKzJqXSPuRE - Krispie Kreme http://www.youtube.com/watch?v=-kiSQx0imxs – Ice Cream Sandwiches http://www.youtube.com/watch?v=0PUFwwSDAWg – DVD Boxes http://www.youtube.com/watch?v=ibc69W_N2h0 – Plasma Cutting http://www.youtube.com/watch?v=y2mzjExWXzo – Injection Molding http://rds.yahoo.com/_ylt=A9gnMiYBqv1FGjkBFlGjzbkF;_ylu=X3oDMTBsdmIydTZhBHNlYwNwcm9mBHZ0aWQDSTAwMV83MA--/SIG=12imesfu9/EXP=1174338433/**http%3A//www.plastic-gear-manufacturer.com/injection-molding.htm -- Injection Molding http://rds.yahoo.com/_ylt=A9gnMiIVqv1Fs60AJw.jzbkF;_ylu=X3oDMTBsdmIydTZhBHNlYwNwcm9mBHZ0aWQDSTAwMV83MA--/SIG=12pk1f58s/EXP=1174338453/**http%3A//www.offshoresolutions.com/products/plastic/injectionMolded.htm -- Injection Molding http://home.howstuffworks.com/washer.htm http://en.wikipedia.org/wiki/Industrial_revolution http://en.wikipedia.org/wiki/Niagara_falls#Historical_background http://en.wikipedia.org/wiki/VHDL