Programmable Logic Controllers
IDE4PLC (https://ide4plc.wordpress.com/) is a programming environment for Programmable Logic Controllers (PLC), a family of embedded computers widely used for automation tasks in industrial environments. It supports the graphical language Ladder, allowing a user experience similar to that given by mainstream commercial tools. IDE4PLC is based on an abstract model of controller, what enables it to support different controller architecures, and on a software model which strictly complies the IEC 61131-3 standard. It is a free, open and multiplatform (Windows, Linux, IOS) product, contrarily to most PLC programming environments and tools, which are tightly coupled with device vendors. This product is developed mainly by Eric Pernia. Carlos Lombardi collaborates with the software design.
IDE4PLC is the official PLC programming environment for CIAA project (http://proyecto-ciaa.com.ar), an initiative by ACSE (http://www.sase.com.ar/asociacion-civil-sistemas-embebidos/) and CADIEEL (http://www.cadieel.org.ar/esp/index.php) supported by several institutions of the state, university, and business sectors, aiming to design and assemble Open Industrial Computers in Argentina. As such, it was shown in several academic and business events across the country.
IDE4PLC is completely developed on Pharo, using Morphic extensively for the complex and highly-dynamic GUI for graphical programming. The combination of the agility of the programming experience in Pharo, the features given by Morphic for flexible and interactive UI, and the modeling power of object-oriented design, allowed to craft IDE4PLC in one person-year, an order of magnitude less time than that what can be expected using more traditional tools and methodologies. The ability of explore the software model of a running IDE4PLC instance, and to perceive immediately the effects of code change, were crucial for the success of this project. Carlos Lombardi.