This is the working page for the use of the OpenPLC for an undergraduate course in industrial controls. The first iteration is occurring at Western Carolina University in the School of Engineering + Technology. Students in the Electrical and Computer Engineering program will use the OpenPLC as their introductory platform in ECET 290. The students in the Engineering Technology - Applied Systems program use Allen-Bradley Compact Logix PLCs in a separate course, ET 472. In both cases, preparing students for positions in industry is the primary mission.
Programmable Logic Controllers (PLCs) are THE standard control platform in manufacturing environments. They are ideal for mission-critical systems that are custome designed for a task. The complimentary controllers are embedded control systems programmed in languages like C. PLC hardware will cost more but allow a much faster design and implementation that will take some serious abuse. Both have their places, pros, and cons.
Key Concepts:
The programming software is called the OpenPLC editor. It runs well on Windows and Linux. Sadly the MacOS implementation is beta and buggy. Note that the Editor also goes by the name Beremiz, based on the original project.
The OpenPLC runtime is the business end of the software. It imports a configuration file (in text format) and creates executable code, monitors IO, and more. This runs well on most platforms. It does not need to run on the same platform as the editor.
Remote devices (Like Arduinos) can be connected to actual hardware, but require the Runtime engine somewhere. Higher level devices like a Raspberry Pi can run the executable and handle IO.
The OpenPLC uses the IEC 61131-3 standard programming languages. These are portable to almost all PLCs on the market.
The knowledge and skills learned will support the transition to other PLC hardware and software platforms.
High Level Steps:
(Essential) Install the OpenPLC editor on your laptop or desktop. - https://openplcproject.com/download/
(Optional for now) Install the OpenPLC Runtime. - https://openplcproject.com/docs/2-1-openplc-runtime-overview
(Optional for now) Connect hardware for IO.