ELE239 - Programmable Controllers

Introduction

ELE239 Programmable Controllers:
Examines installation, programming, interfacing, and concepts of troubleshooting programmable controllers.

Required Materials:
Programmable Logic Controllers: A Practical Approach to IEC 61131-3 using CoDeSys - Dag Hanssen

Software:
CODESYS v3 x64 - Windows
CODESYS v3 x86 - Windows

Resources:
IEC 61131
Textbook

8.20 - Welcome!

We spent the class introducing ourselves and the major elements of the semester. We looked at requirements and how the class will be structured. Make sure that you have the textbook before next class! If you would like to get a jumpstart, you can download and install Codesys using the above links. If you'd like to play with more products, feel free to create your own account and see what there is to offer. We will be working with Codesys v3 this semester.
During class we created group systems and worked together to build a device that performs a continuous function, reacts to environmental changes, and has some form of digital and analog inputs/outputs. We then split up and developed smaller systems and had the opposing group reverse engineer the logic behind the other team's system. This helped us build a relationship for our programmable logic control circuits and give real context to developing a system. Great examples and creative ideas!

For next class:
Read chapters 1 & 2 of Hanssen.
Photo/Media Release
Safety Guidelines
Safety Guideline Agreement

Resources:
"Masters of Manufacturing: Dick Morley" - Patrick Waurzyniak
"The History of the PLC as told to Howard Hendricks" - Dick Morley

8.27 - Logic & Ladder

Today we reviewed basic logic and understanding truth tables. We looked at comparing AND, OR, NAND, and NOR logic using a simple two switch and light circuit. We built truth tables and converted these into ladder logic programs. We built the logic behind a custom pinball following the below requirements:
Create a unique pinball machine design
Pinball machine must be a digital only system
Machine must contain at least 10 digital sensors with variety
Include 1 user input to intiate the game, and 2 user control inputs
Create a system to keep track of the score
Your machine must have a story, adventure, levels or major goals
Create a system level explanation of your game, including a technical over of the machine, I/O and sensors chosen
Build a ladder logic diagram and create a finalized version in Codesys

Resources:
8.27-Class Notes

For next class:
Read chapter 3 of Hanssen.
Documentation Sharing Link
THERE IS NO CLASS NEXT MONDAY, 9/3 DUE TO LABOR DAY!

9.03 - Labor Day - No Class

We will resume our pinball machine designs and work in CodeSys next class.

9.10 - Analog & Codesys

Today we worked on our pinball machine designs and built them in Ladder Logic using CODESYS to simulate and tests our theories. We also looked at rudimentary methods for converting analog signals into digital signals to control digital outputs or even other analog devices. Next week we will present our ladder logic, a portion of it simulated, and our complete design meeting all requirements from the previous class.

Resources:
CODESYS Introduction
Analog to Digital Converter (ADC) - GreatScott!

9.17 - Machines & Counters

Today in class we shared our pinball machine designs, ladder logic, and sensors used. We discussed how we accomplished various goals in our designs using simple contacts and coils. We looked into a few ways to make Start/Stop Operations for our projects. We will use these to build working programs with built in safety. Check the video below describing how to create a counter. Listed below are the goals to make a simple program that we will review for next class.
Create a simple start/stop to drive a counter.
Build a counter that triggers an output coil at 12 counts, and resets when that output is triggered.
Build another up down counter that counts the amount of resets of the previous counter, if a preset value is loaded on the previous counter, then count down.
When the up down counter reaches 20, let the output turn the machine off.

Resources:
CODESYS - Counters
Read Chapter 9-9.4 for next week

9.24 - Timers & Counters

We spent the class going over timers and counters in detail and checking our previous example from class. We reviewed the start/stop, using multiple counters, and connecting various inputs and outputs. The next challenge incorporated building a traffic light at an intersection that:
Changed signals of green, amber, and red
Counted cars at the intersection
Regularly change signals for normal flow of traffic
Counted a certain number of cars and would adjust the change of lights to improve flow
Examines the output of the lights for live troubleshooting

10.01 - Share & Project Time

We had in class time to work through and troubleshoot our stoplight problems. We shared how we implemented timers and counters and some info on visualizations. We worked with another person to share our progress and work on our ladder logic. REMINDER: No class next week, fall break.

Resources:
CodeSYS Tutorials (LD) - Tohid Alizadeh
CodeSYS Visualizations 101 - The Reimber

10.08 - FALL BREAK
10.15 - Intro to Actual PLCs

Today we began building our PLC test benches. The goal is to build a team that can program, design, and build a test bench that covers a variety of tasks using a simple PLC setup. We looked over the Click series PLCs and how to program them, connect and we picked out setups for next class.

Resources:
Click Series PLC
Click PLC Programming Environment
10-Part Getting Started with AutomationDirect

10.22 - Benches and PLCs

This class period is devoted to primarily building and designing the entirety of the bench. We looked at use of space and components while building custom cables and brackets. Our main group goals included:
Create a template to laser cut and layout your components and PLC modules
Laser cut a custom DIN Rail
Solder and crimp a custom programming cable
Design schematic and wiring diagram for your test bench to include terminals for an AC motor and relay, DC motor, lights, start/stop sequence, extra relays, and switches.

Resources:
Programming Cables for Click PLCs - Automation Direct

10.29 - Benches and PLCs, pt. 2

Another class devoted to completing the testing bench setup. Everyone is rocking, splitting responsibilities and writing test programs in the Click IDE as well as a generic test bench for CodeSYS.

11.05 - Hardware Testing

In class we determined settin up the Click PLC and connected our hardware layouts. We looked at how to route up different I/O to the PLC and the requirements for controlling the devices on the testbench. We are going to be creating a test of our full test bench. Chapter 3 of the user manual has detailed instructions on connecting various I/O for different applications. Please read Chapter 11 - Structured Text for next class!

Resources:
Click PLC User Manual
Click PLC - Tutorial Series - Garry Shortt

11.12 - Structured Text

We looked at structured text (ST) in CodeSYS and compared it's affordances to ladder logic. We used some of the examples in Chapter 11 - Hanssen text to compare our projects in ST. You should be able to begin converting some of your testbench to ST next class. We also looked at our final projects and some of the requirements necessary. We will be building out simple systems using either the Click PLC, Siemens PLC, or AB PLC provided. You are going to choose a group and develop a simple, industrial problem to be solved. Your goal is to develop a process chart and ladder logic to control various inputs and outputs in your system. More to come!

Resources:
Structured Text Tutorial - Knoware
Structured Text Tutorial - PLCAcademy
Structured Text - PLCOpen

11.19 - No Class