Schneider PLCs Micro and Premium. Arduino.
MSc dissertation
proposal 2016/2017
Industrial Processes Identification
-- Information at fenix:
Objectives:
Programmable Logic Controllers (PLCs) are the most
common devices for integrating and controlling industrial processes. Despite
having standard programming languages, it is still time consuming their direct
programming. Using higher level programming languages, as IO Petri nets,
followed by the translation to the PLC languages, is a convenient way to create
PLC programs. Since PLC standard languages do not have all the features of
Petri nets, in some cases the PLC implementation may not be exactly the desired
one. Using external hardware devices, which monitor the PLC inputs and outputs
during a verification stage, is promising way to go.
The main objectives of the work are the following:
-
Develop one digital (binary) interface between one Arduino and one PLC
-
Use the Arduino for logging, along time, the input and output binary signals of
the PLC
-
Identify simple Discrete Event Systems (observable, described by a small number
of states)
Requirements
(grades, required courses, etc):
-
Place
for conducting the work-proposal:
ISR / IST
Observations:
Previous works provide good starting points for the
thesis. In particular a number of hardware prototypes already exist, together
with a number of system models already available in a database.
This work is conducted in collaboration with the
company Inocam, responsible for the engineering design
of industrial machines used in the footwear industry.
-- More information:
Building real world reliable and robust control systems
usually means using Programmable Logic Controllers (PLCs). PLCs are modular digital computers
that allow using a large variety, and number, of electrical input and/or output
interfaces. The mechanical, hardware and software designs are made robust in
order to handle continuous operation in environments overwhelmed with
electromagnetic and mechanical (e.g. vibration) noise. Without noticing, PLCs
are almost everywhere, from the industrial assembly lines, to the elevators,
power grid control, etc (see [PLC_intro]).
IO Petri net tools, as [IOPN-www], are a convenient way to
create PLC programs. One defines the discrete event systems in a
high level language (Petri nets) and then converts the code to the PLC
language. Since PLC languages do not implement all the features of Petri nets, the
code conversion is, in a number of cases, not exact. Verifying that
specifications are fulfilled usually requires extensive testing.
Monitoring PLCs is usually provided by proprietary
(closed) software. The manufacturers of the PLCs generally provide the
monitoring software but do not open their interfaces. When one needs to develop
hardware peripherals, or hardware that interacts with PLCs, effective (fast)
monitoring is frequently hard to obtain with the provided software
monitoring tools.
Hardware monitors allow testing and verifying PLC
programs. Identification
of Discrete Event Systems formed by PLC programs, considering only
binary inputs and outputs, is of particular interest.
The main objective of this work is the design of an Arduino based hardware
interface that allows fast monitoring of the physical interface of a PLC.
Given the hardware interface, an additional objective consists of identifying
discrete event systems using Petri Net tools.
Detailed
description:
Major automation companies offer modular digital
computers that allow using a large variety, and number, of electrical input
and/or output interfaces, the so called Programmable Logic Controllers (PLC -
term invented by Allen Bradley [PLC_intro]). Together
with the hardware, the automation companies also offer, or sell, monitoring
software. The software interfaces are however usually closed. Developing fast (software)
monitors of the physical inputs and outputs of a PLC is normally challenging or
even impossible with the tools provided by default by the automation companies.
In this work is proposed the construction of a
hardware "sniffer" for the digital (physical) interface of PLCs,
namely the PLCs available in the IST/MEEC graduation courses, i.e. the
Schneider Premium TSX57 [Schneider_Premium]. The
choice of constructing a hardware interface brings the advantage that the
operating frequency can be much higher than the frequency that monitoring
software can provide. In addition, being an external hardware interface, one
has the guarantee that monitoring does not increase the memory/time complexity
of the PLC software.
The proposed hardware to implement the
"sniffer" is the Arduino [Arduino-www] combined with a logging shield. In particular one
has to pay attention to the voltage levels, 5V in the Arduino vs 24V in the PLC. While reducing can be done simply by a
voltage divider, augmenting from 5V to 24V implies using, for instance, a
comparator and a DC-DC converter for power supply.
Other aspects to consider are the generation of
signals and the number of monitored binary channels. Generating signals can in
many useful cases be done by a table of timed events saved in the Arduino
memory. The number of channels requires some exploration of some more hardware.
The most common Arduino, the "Uno", has just 14 digital inputs /
outputs, which is much lesser than the common 16 inputs +16 outputs found in
the PLCs. Strategies for augmenting the number of monitored channels are also
supposed to be discussed.
Given the hardware signals generator and
"sniffer", provides a development environment where PLC programs can
be generated from higher level representations, such as IO Petri nets [IOPN-www],
and then tested by interacting with the PLC inputs and outputs.
An interesting development of monitoring the PLC
binary inputs and outputs is the identification of the Discrete Events System
represented by the PLC [Vargas13]. In this case, one can compare the PLC system
with the system originally specified.
The
work is therefore organized in the following main steps:
-
Develop one input and output, pass-through, bit hardware interface between the
Arduino and the PLC
-
Log along time the binary signals passing through the bit interface
-
Augment the number of IO bits handled by the interface
-
Identify simple Discrete Event Systems (observable, described by a small number
of states)
This work is conducted in collaboration with the
company Inocam [Inocam-www],
responsible for the engineering design of industrial machines used in the
footwear industry.
References:
[PLC_intro] "What is a
PLC?", in Machine Information Systems website, http://www.machine-information-systems.com/PLC.html
[Schneider_Premium]
"Schneider PAC, PLC & other Controllers"
http://www2.schneider-electric.com/corporate/en/products-services/products-services-intermediate.page?f=NNM1:PAC%2C+PLC+%26+other+Controllers&p_function_id=2
[Arduino-www] "Arduino open-source electronics
prototyping platform", http://www.arduino.cc/
[Inocam-www] http://www.inocam.com/
[IOPN-www] "IO Petri Net tools", GRES-Uninova / FCT, http://gres.uninova.pt/IOPT-Tools/login.php
[Vargas13] "Identification of Partially
Observable Discrete Event Manufacturing Systems", Ana Paula
Estrada-Vargas, Ernesto López-Mellado, Jean-Jacques
Lesage, IEEE 18th Conference on Emerging Technologies & Factory Automation
(ETFA), pp1-7, 2013
Expected
results:
At the end of the work, the students will have
enriched their experience in creating system based on a PLC using
off-the-shelve components. In particular are expected to develop and assess:
- The hardware integration of the various components
-
Software to interface and monitor the system
-
Software to identify simple Discrete Event Systems
Quotation:
"In summary...you don't always get the luxury to
pick your term project, but if you can, find a problem you want to solve for
yourself in your own life. Design a novel solution for it with a PIC or other
microprocessor. Wire it up and program it. Understand the hardware and software
well so that you can present it well. Have a fun time doing it. If you find
that you lose track of time while you are working on the program and find it
hard to put it down even at midnight, you've got exactly the right idea! Best
wishes!"
[excerpt extracted from
http://www.vermontficks.org/students.htm]
More MSc
dissertation proposals on Computer and Robot Vision in:
http://omni.isr.ist.utl.pt/~jag