1. Solucions PLC obertes
Treball de Final de Carrera
d'Enginyeria Tècnica d'Informàtica de Sistemes
Universitat Oberta de Catalunya
Juny 2006
Alumne: Oriol López Llauradó
Director del projecte: Roger Baig Viñas
2. Introducció:
En aquest treball:
● S'exposa la necessitat de l'ús de solucions PLC
obertes i s'especifiquen els requisits que ha de
complir una solució PLC per a què es pugui
considerar veritablement oberta.
● Es presenten tres projectes de PLC obert, un
d'ells, el que considerem més viable, amb una
mica més de detall.
● S'exposen alguns factors claus dels quals
depèn la implantació dels PLC oberts.
3. Objectius del treball
● Definir el concepte de PLC obert.
● Conèixer les principals iniciatives en
aquest sentit.
● Posar aquesta informació a disposició
dels professionals automatistes.
4. Abast
● Només s'han tractat solucions per a sistema
operatiu GNU/Linux.
● La menció al maquinari és molt breu.
● Només es mencionen les xarxes de tipus
Ethernet (notablemet sobre dimesionades per evitar
col·lisions i no violar les condicions de RT).
● L'apartat sobre llenguatges de programació
dels PLC remet a l'estàndard IEC-61131-3.
5. Motivació personal
● He treballat durant anys com a formador en
programació de PLCs, on he pogut observar les
dificultats per a:
– Integrar sistemes propietaris de diferents fabricants.
– Migrar projectes d'automatització d'un fabricant d'un
PLC propietari a un altre.
– Reutilitzar el “know-how” entre PLCs propietaris de
diferents fabricants.
● A través de la UOC he conegut el programari
obert, la qual cosa m'ha interessat en l'aplicació
d'aquest programari en el món dels PLC per tal
de resoldre els problemes esmentats.
6. Concepte previ: Què és un PLC
● Un PLC (Programmable Logic Controller) és un
ordinador especialment dissenyat per al control
de màquines i processos seqüencials, en
temps real, i en un entorn industrial.
● No sol a disposar de disc dur (“embedded”).
● Disposa de perifèrics especials per a la
captació de senyals d'estat del procés i per a
l'enviament de senyals de control del procés.
● Utilitza llenguatges de programació específics
per a control de processos.
7. Necessitat:
Els fabricants de PLCs coneixen la necessitat
que tenen els seus clients de sistemes oberts i
presenten els seus productes propietaris com a
sistemes oberts. Això fa necessari:
– Clarificar què és un PLC obert i què no ho és.
– Presentar alguns projectes de PLC oberts
actualment disponibles i comparar-los.
8. Definició de PLC obert
● Té un maquinari estandarditzat, amb
connexions i fixacions estàndard.
● Utilitza protocols de comunicació
estandarditzats.
● El seu sistema operatiu i el seu programari és
de codi obert, independent del fabricant.
● El programa de control es pot introduir utilitzant
llenguatges de programació estandarditzats.
9. El sistema operatiu per al PLC obert
GNU/Linux és una bona opció:
● Per les seves prestacions, la seva àmplia difusió i
disponibilitat de documentació.
● Per l'existència d'extensions RTLinux o RTAI per al
suport al temps real i per la seva provada capacitat
com a sistema operatiu “embedded”.
● Per la disponibilitat de drivers per als perifèrics
específics dels PLC (projecte Comedi) i pel suport als
protocols de comunicacions més emprats en
automatització.
● Per l'existència de projectes de PLC obert que ja
l'utilitzen.
10. La xarxa per al PLC obert
Seguint la tendència actual en el món de
l'automatització:
● A nivell físic i d'enllaç, Ethernet, amb
adaptacions per al suport del temps real.
● A nivell de xarxa, IP.
● A nivell de transport, TCP-UDP.
● A nivell d'aplicació: Modbus/TCP, Ethernet/IP,
Profinet, etc.
11. El llenguatge de programació per al
PLC obert
● Estàndard IEC 61131-3 de IEC, any 1992
● Estandarditza els llenguatges de programació:
– Gràfics:
● LD (Ladder Diagram, llenguatge de contactes).
● SFC (Sequential Function Chart, similar a GRAFCET).
● FBD (Function Block Diagram, diagrama de blocs
funcionals).
– Textuals:
● IL (Instructions List, llista d'instruccions, similar a
assembler).
● ST (Structured List, llista d'instruccions estructurada,
similar a C).
12. El paquet de programació per al
PLC obert.
● Cal que es tracti de programari obert.
● Cal que funcioni sobre GNU/Linux.
● Cal que permeti la introducció del programa de
control en almenys algun dels llenguatges
normalitzats per IEC 61131-3.
13. Alguns projectes interessants de
PLC obert
● Projectes actualment sense suport per a temps
real veritable:
– OpenController
– MatPLC
● Projecte amb suport per a temps real veritable:
– ClassicLadder
Pel seu suport per a temps real veritable,
actualment, ClassicLadder és, dels esmentats,
el projecte més viable com a substitut dels PLC
propietaris.
14. El projecte ClassicLadder
● Iniciat el 2001 per Marc Le Dourain.
● Hostatjat a:
http://www.sourceforge.net/projects/classicladder
● Llicència GPL.
● Funciona sobre GNU/Linux.
● Possibilitat de funcionament en temps real a
través de RTLinux o RTAI.
● Suport per a sistemes “embedded”.
● Suport de drivers Comedi.
● Llenguatges de programació LD i SFC.
15. Algunes aplicacions interessants de
ClassicLadder
● Aplicació a l'ensenyament amb el nom SimuladorPLC en
el programari Linuxedu per a la distribució gnuLinex.
● Aplicació en el projecte SmartControl de la Universitat de
Victoria del Canadà (un PC corrent ClassicLadder i unitats
d'E/S distribuïdes de baix cost de disseny propi).
● Aplicació en el projecte MatPLC per dotar-lo d'editor gràfic
del programa de control en llenguatges LD i SFC.
● Aplicació en el projecte EMC (Enhanced Machine
Controller), un programari de codi obert per al control de
màquines-eina, iniciat pel govern dels Estats Units, amb el
patrocini de General Motors.
16. El futur del PLC obert
● És probable que les solucions propietàries
comparteixin mercat amb les solucions obertes.
● És fonamental la difusió que es faci dels
avantatges dels sistemes oberts i de la seva
disponibilitat actual.
● Cal continuar treballant en la millora constant
de projectes com ClassicLadder, sobretot en
aspectes com:
– Seguiment encara més fidel de l'IEC 61131-3.
– Inclusió de nous drivers i protocols de xarxa.
– Millora i ampliació de la documentació.
17. Conclusions
● És avantatjós l'ús de solucions PLC obertes.
● Aquestes utilitzen programari obert amb llicència GPL
o similar, sobre sistemes operatius oberts com
GNU/Linux, suporten protocols de xarxa basats en
Ethernet, i permeten la programació del PLC en
llenguatges que segueixen l'estàndard IEC 61131-3.
● Un dels projectes més interessants i amb més
possibilitats és ClassicLadder.
● La implantació del PLC obert ja és possible i dependrà
de factors com la difusió de les solucions obertes i els
seus avantatges entre els professionals automatistes.
18. Obertura de línies de treball per a
futurs projectes en el camp dels
PLC oberts
● Millora de l'adaptació de ClassicLadder a IEC-61131-
3, ampliació de drivers i protocols suportats, i millora i
ampliació de la documentació.
● Elaboració de llibreries amb funcions usuals, projectes
d'automatització basats en ClassicLadder, aplicacions
en domòtica, disseny de panells d'operació oberts,
projectes d'aplicacions distribuïdes, etc.
● Elaboració d'un portal del PLC obert de referència per
als professionals del sector, amb informació sobre
projectes, fabricants, distribuïdors, documentació,
aplicacions, fòrums, etc.
19. Treballs futurs
Seguint la línia oberta per aquest TFC, seria
interessant continuar l'exploració de l'aplicació de
les solucions obertes en altres àmbits del món
industrial:
● Control de màquines-eina amb programari
lliure: el projecte EMC (Enhanced Machine
Controller)
● Control de robots amb programari lliure: el
projecte OROCOS (Open Robot Control
Software)