Full text
Títol: Automatizació d'una màquina per al mecanitzat d'estructures d'alumini intercalari Volum: Primer Alumne: Humbert Giménez Font Director/Ponent: Jose Fernndez Ruzafa Departament: ESAII Data: 12/01/2008
2
3 Agraïments Aquest projecte final de carrera ha resultat, ens molts aspectes, un sacrifici personal per mi, i per les persones que m’han envoltat, per això, què menys que dedicar unes línies d’aquesta memòria a totes les persones que m’han ajudat, i han patit amb mi. Primer de tot, agrair al meu pare, el dissenyador mecànic, l’oportunitat que m’ha brindat per enriquir-me a nivell professional i personal. A la meva mare, que ha suportat els mals humors quan les coses no sortien. A la meva germana, el meu cunyat i el meu germà, per haver-me ajudat en la realització de la memòria. A la meva xicota, que li he fet perdre moltes festes i molts sopars, i m’ha ajudat a finalitzar el projecte. Finalment, agrair a tota la família en general, que durant tota la carrera m’ha donat suport incondicional, i m’ha ajudat a aprendre a aprendre. A tots doncs, moltes gràcies.
4
5 DADES DEL PROJECTE Títol del Projecte: Automatizació d'una màquina per al mecanitzat d'estructures d'alumini intercalari Nom de l'estudiant: Humbert Giménez Font Titulació: Enginyeria en Informàtica Crèdits: 37,5 Director/Ponent: Jose Fernández Ruzafa Departament:ESAII MEMBRES DEL TRIBUNAL (nom i signatura) President: Pere Marés Martí Vocal: Víctor Muntés i Mulero Secretari: Jose Fernández Ruzafa QUALIFICACIÓ Qualificació numèrica: Qualificació descriptiva: Data:
6
7 Índex 1. Introducció................................................................................................................ 9 1.1 Motivació........................................................................................................... 9 1.2 Breu descripció del projecte ............................................................................ 10 1.3 Metodologia del projecte................................................................................. 11 2. Antecedents ............................................................................................................ 15 2.1 Fabricació del doble vidre................................................................................ 15 2.2 Barrotets existents............................................................................................ 16 2.3 Automatismes existents ................................................................................... 18 3. Tecnologies disponibles al mercat.......................................................................... 21 3.1 Embedded System............................................................................................ 21 3.2 Controlador lògic programable........................................................................ 23 3.3 Ordinador personal amb targeta d’entrades i sortides...................................... 24 4. Descripció de la mecànica del sistema................................................................... 27 4.1 Especificació del sistema................................................................................. 27 4.2 Esquema de la mecànica donada ..................................................................... 27 4.2.1 Entrada i sortida de peça:.......................................................................... 29 4.2.2 Tall horitzontal:........................................................................................ 30 4.2.3 Tall Vertical:............................................................................................. 32 4.3 Elements necessaris per a la realització del mecanitzat................................... 34 5. Avaluació de les alternatives.................................................................................. 37 5.1 Disseny propi de la electrònica i del software................................................. 37 5.2 Controlador lògic programable amb interfície d’usuari................................... 39 5.3 Controlador lògic programable amb PC Industrial.......................................... 40 6. Implementació del Sistema..................................................................................... 43 6.1 Control elèctric de la màquina......................................................................... 43 6.1.1 Motors....................................................................................................... 43 6.1.2 Actuadors pneumàtics............................................................................... 49 6.1.3 Sistema sensorial...................................................................................... 50 6.1.4 Quadre elèctric.......................................................................................... 52 6.2 Control software de la màquina....................................................................... 54 6.2.1 PLC........................................................................................................... 55 6.2.2 Protocol Modbus TCP/IP RTU (RLLIB)................................................. 59 6.2.3 Protocol propietari JVL............................................................................ 67 6.2.4 Interfície gràfica d’usuari ......................................................................... 71 6.2.5 Motor de funcionament ............................................................................ 75 7. Avaluació del sistema............................................................................................. 82 7.1 Proves realitzades i resultats obtinguts............................................................ 82 7.2 Avantatges i inconvenients de la solució......................................................... 83 8. Conclusions ............................................................................................................ 86 8.1 Valoració personal........................................................................................... 86 8.2 Tecnologies i eines utilitzades per la realització del projecte.......................... 86 8.3 Cost del sistema............................................................................................... 87 8.4 Planificació Final............................................................................................. 87 8.5 Millores possibles............................................................................................ 88 9. Annex A: Manual d’usuari de l’aplicació............................................................... 90
8 9.1 Posada en marxa .............................................................................................. 91 9.2 Configuració de les ordres............................................................................... 91 9.3 Configuració del barrotet................................................................................. 93 9.4 Configuració de paràmetres interns................................................................. 94 9.5 Moviments manuals......................................................................................... 95
9 1. Introducció 1.1 Motivació La motivació d’aquest projecte és portar a la pràctica la fabricació d’un nou producte pel ram del vidre, concretament el sector del doble vidre. El producte es tracta d’un nou estil d’unió del barrotet. Els barrotets s’utilitzen d’adornament en les finestres de doble vidre. La figura 1 mostra un exemple de finestra de doble vidre amb barrotet: Depenent de la zona geogràfica, aquest tipus d’adornament s’estila molt, ja que segons el clima, és necessari posar doble vidre, i amb ell, aquestes barres d’alumini. Cada dia més, aquest estil és aplicat a diverses zones del món, encara que no sigui necessari per la climatologia. Per tant, es parla d’un mercat creixent. És important doncs, facilitar i abaratir la producció d’aquest segment tant especialitzat del ram del vidre. La següent figura mostra els diferents tipus existents actualment: Castellà Creueta Punta de fletxa Barrot de 6 2 Tipus d'unió existents al mercat El nou tipus d’unió comporta certes avantatges constructives i de qualitat respecte els existents, però existeixen dificultats de mecanitzat, de manera que s’ha desenvolupat un sistema mecànic que ho resol. El que s’ha implementat és un prototipus funcional de sistema automàtic que és capaç de realitzar les mecanitzacions necessàries per fer viable aquest producte. Els requeriments, estudiats més endavant, fan que la solució sigui molt interessant a varis nivells, ja sigui a nivell informàtic, elèctric i mecànic. 1 Exemple d'aplicació del producte
16 tindrem amb perfil acabat ales mides desitjades en barres de 6 metres, el butil en dipòsits de 200 kg. i el producte anti-humitat en barrils de 200 kg.. Caldrà doncs manipular aquests productes de forma adient, per això seran necessàries les màquines per: tallar el vidre, tallar el perfil, doblar o empalmar i omplir del producte anti-humitat el perfil, rentar el vidre amb les dues cares interiors, impregnar de butil el perfil i muntar el vidre pressionant-lo perquè quedi fixat definitivament. Com a últimes operacions quedaran la col·locació del butil per tot el canto exterior del vidre i la operació del vuit, per treure-li l’aire del interior. Amb això s’obté un doble vidre de finestra. El procediment descrit és vàlid també per aquelles finestres que portin incorporat el barrotet, que s’ha d’haver fabricat amb anterioritat i incorporar-se a la línea de muntatge en el mateix lloc que el perfil d’alumini. 2.2 Barrotets existents Actualment existeixen quatre tipus bàsics de barrotets. De les seves característiques farem la comparativa de dues: La quantitat de peces i el cost (en operacions manuals) de cada un d’ells. Per últim, exposarem les avantatges i inconvenients del nou tipus de barrotet. Peces Operacions a realitzar manualment Castellà - 1 unió metàl·lica per intersecció de barrotets. - 1 topall per cada punta de barrotet. - 2 plàstics interns per intersecció. - Tallar per cada intersecció verticalment. - Fresar la peca no tallada per les dues bandes. - Fer el muntatge de tots el components. Creueta - 1 unió de plàstic en forma de creueta. - 1 topall per cada punta de barrotet. - Tallar totes les peces per poder fer les interseccions. - Muntar les unions i els topalls
17 Punta de fletxa - 1 unió de plàstic interna al barrotet. - 1 topall per cada punta de barrotet. - Tallar totes les peces per poder fer les interseccions. - Fer el fresat que acabi en punta - Fer el muntatge de tots els components Barrot de 6 - 1 unió metàl·lica interna. - 1 unió metàl·lica exterior - 1 topall per cada punta de barrotet - Tallar totes les peces per poder fer les interseccions. - Muntar les unions i els topalls Un cop vistos aquestes característiques, cal destacar que actualment no existeix cap màquina al mercat per poder realitzar o facilitar la producció a nivell de muntatge. A continuació la següent figura ens mostra el nou tipus de barrotet, que dota de sentit pràctic aquest projecte: 5 Nou tipus d'unió de barrotet Aquest tipus de barrotet, es diferencia de la resta, per ser massís, és a dir, el perfil exterior continua sent d’alumini, però s’ha omplert el seu interior amb poliuretà, amb una duresa mitja. Al ser massís, podem fer un mecanitzat com el de la figura anterior, que ens permet unir-lo mitjançant una gota de cola. A més, alhora de grapar el marc exterior, ja no cal que hi posem cap topall, ja que el poliuretà fa la seva feina. En resum, podem concloure que, alhora de fer el muntatge, necessitem menys components que en tots els casos anteriors, per tant, tenim la possibilitat de baixar significativament els costos i els temps de producció. El problema, que soluciona aquest
18 projecte, és la dificultat de mecanització que suposa aquest tipus de barrotet, ja que es tracta d’un perfil d’alumini extrusionat, que per tant és dèbil, i les operacions han de ser lentes, i tenir cura de que les pintures i els tractaments no es vegin afectats. 2.3 Automatismes existents Alhora de realitzar el present projecte, s’ha fet una recerca i un anàlisi de tots els automatismes existents al mercat, per fer un recull d’idees, i poder tenir molt clars els requeriments que ha de tenir un automatisme com el que es proposa. A continuació es mostren les màquines i utillatges rellevants d’aquest sector, que han inspirat el disseny, tant mecànic com automàtic, d’aquest projecte. MGB Màquina automàtica per grapar els barrotets amb els marcs exteriors. Aquesta màquina ha estat automatitzada pel mateix autor del present projecte. És una màquina de 4 eixos sense interpolació. Cal destacar que els eixos estaven pilotats per un PC convencional, carregat amb un software fet a mida amb Visual Basic.
19 “Futbolín” Màquina totalment manual, que fa exactament el mateix que MGB. Els principis bàsics de funcionament són exactament iguals. No té part automàtica, només consta de 6 cilindres pneumàtics amb una vàlvula pneumàtica de polsador. Maquinària i útils varis per la realització dels mecanitzats dels barrotets existents actualment. Són automatismes molt simples, amb o sense part elèctrica, majoritàriament consisteixen d’actuadors pneumàtics
20 Posicionador de tall. Aquesta màquina, consta d’un eix servo-controlat per un terminal dissenyat i fabricat també per l’autor d’aquest projecte. També hi ha una versió que l’eix està controlat per un PC Industrial, que permet connectivitat de xarxa, disquetera, etc. Màquina per hermetitzar les finestres de doble vidre. Disposa de servo-motors, CNC i sensorería per seguir el contorn de la figura de vidre.
21 3. Tecnologies disponibles al mercat Com es pot observar, la maquinaria que permet la fabricació d’aquest producte, està dotada d’alta tecnologia. Aquest capítol tracta d’explicar les diferents tecnologies disponibles al mercat per realitzar la tasca d’automatització. Al capítol “Breu descripció del projecte”, es descriuen per sobre els processos a realitzar, d’on ens podem fer una idea del que necessitem: - Control d’eixos sense interpolar - Pneumàtica simple - Sensors i finals de carrera Vistos per sobre els requeriments, es descriuran 3 possibles solucions al nostre problema: - Embedded Systems - PLC - PC + IO 3.1 Embedded System Un sistema integrat (embedded System), és un sistema informàtic d’ús específic, construït dins d’un dispositiu major. Els sistemes integrats s’utilitzen per a usos molt diferents dels que s’utilitzen els ordinadors personals. En un sistema integrat, la majoria de components es troben a la placa base. Les dues diferències principals són el preu i el consum. Donat que els sistemes integrats es poden fabricar per milers o per milions d’unitats, una de les màximes preocupacions és la de reduir els costos de fabricació. Els sistemes integrats solen utilitzar un processador relativament petit de prestacions, juntament amb poca capacitat de memòria per reduir els costos. Un dels màxims inconvenients que suposa utilitzar sistemes integrats és que un problema en un component suposa el canvi de tota la placa. Lentitud no significa que vagin a la velocitat del rellotge. En general, es sol simplificar tota la arquitectura del computador per reduir els costos. Per exemple, els sistemes integrats utilitzen sovint perifèrics controlats per interfícies síncrones sèrie, que són de deu a centenars de vegades més lents que els perifèrics d’un ordinador normal. Els primers equips integrats els va desenvolupar IBM als anys 1980.
22 Normalment, els programes que corren dins els sistemes integrats, es dediquen a tasques de temps real. Totes aquestes característiques, fan que el sistema integrat sigui una possible solució al problema de l’automatització. De totes maneres, aquesta solució té dues vessants: - Implementar des de zero un nou sistema integrat, que s’ajusti a les nostres necessitats. - Utilitzar solucions existents de mercat, que es puguin ajustar als nostres requeriments. Un exemple de solució existent és la casa Moxa. Entre d’altres productes, fabriquen sistemes integrats, que utilitzen com a sistema operatiu un derivat de Linux en temps real, anomenat eCos. Aquest sistema ens ofereix connectivitat LAN, 4 ports sèries, i la possibilitat d’incorporar-hi entrades i sortides. La primera solució és òptima en el cas que pensem en el futur de l’automatisme, ja que la complexitat de programació esdevé exactament igual que si trobem una solució de mercat ja existent. La avantatge d’implementar des de zero és que el sistema que creem segur que compleix les especificacions requerides, i que tindrà un cost econòmic (en material) molt inferior a la segona solució. Més endavant discutirem si és possible o no, dins el context d’aquest projecte, desenvolupar tot el sistema.
23 3.2 Controlador lògic programable El PLC o controlador lògic programable (Programmable Logic Controller) són dispositius molt utilitzats en l’automatització industrial. La seva història es remunta a finals de la dècada dels 60, quan la indústria va buscar en les noves tecnologies electròniques una solució més eficient per substituir els sistemes de control basats en circuits elèctrics amb relés, interruptors i altres components utilitzats molt freqüentment en aquella època en sistemes de lògica combinacional. Avui en dia, els PLC no només controlen la lògica de funcionament de les màquines, plantes i processos industrials, sinó que també poden realitzar operacions aritmètiques, tractar senyals analògiques per realitzar estratègies de control, tals com el control PID. Els PLC actuals es poden comunicar amb altres controladors i computadores en xarxes d’àrea local, i són una part fonamental dels moderns sistemes de control distribuït. Existeixen varis llenguatges de programació, tradicionalment els més utilitzats són els de diagrama d’escala LADDER, preferit pels electricistes, llista d’instruccions i programació per estats, encara que s’han incorporat llenguatges més intuïtius que permeten implementar algorismes més complexes mitjançant senzills diagrames de flux, més fàcils d’interpretar i de mantenir. Un llenguatge més recent, preferit pels informàtics i electrònics, és el FBD (en anglès Function Block Diagram), que utilitza portes lògiques i blocs funcionals connectats entre sí, és el sistema més semblant als llenguatges orientats a objectes. En la Programació es poden incloure diferents tipus d’operands, des dels més simples com la lògica booleana, comptadors, temporitzadors, contactes, bobines i operadors 6 Exemple de programació amb LADDER
24 matemàtics, fins a operacions més complexes com ara l’utilització de taules, punters, algorismes PID i funcions de comunicació multi protocol que li permeten comunicar-se amb altres dispositius. Un exemple de PLC que està dotada de 20 entrades de 24 Volts, 20 sortides de relé, i un mòdul de comunicació Ethernet amb comunicació ModBus. 3.3 Ordinador personal amb targeta d’entrades i sortides Veient les tecnologies anteriors, les limitacions i avantatges que ens poden aportar, podem barrejar les dues tecnologies creant-ne una de nova, que actualment s’està posant de moda en el món industrial: Arquitectura PC + mòdul d’entrades i sortides. A continuació veurem les possibles combinacions i les avantatges que ens aporta el fet de combinar aquests sistemes. El fet de posar una electrònica amb arquitectura PC, per un informàtic és clarament avantatjós, ja que aquest perfil de professionals sap “treure el suc” d’aquests aparells. Un dels avantatges més importants és l’entorn de desenvolupament, ja sigui entorn Linux o Windows, existeixen centenars d’IDE’s i desenes de llenguatges per realitzar programes sota aquests Sistemes Operatius. És doncs, responsabilitat del o dels desenvolupadors triar l’eina més adient per realitzar el seu projecte. En un projecte d’automatització basat en PC, s’han de tenir en compte les següents característiques: - Necessitat de sistema en temps real: És importantíssim preveure si el sistema que estem instal·lant serà capaç de processar senyals en temps real, en cas de que sigui necessari, està clar. Si en aquest punt no tenim en compte això, o
25 fem una tria equivocada, pot ser que el nostre projecte no funcioni correctament, o que tingui un rendiment no adequat a les necessitats del client, o del propi sistema. - Busos de comunicació: En un entorn PC, hem de tenir en compte que la capacitat de comunicació amb l’exterior, a nivell industrial, és molt limitada. Per resoldre aquests problemes, existeix electrònica capaç de fer de pont entre el PC i qualsevol senyal d’entrada o de sortida. Per posar un exemple, el voltatge de control de l’electrònica industrial són 24 Volts, mentre que el processador treballa a 3,3 Volts, i típicament els busos de sortida com el port paral·lel són de 5 Volts. Típicament existeixen com a producte de mercat solucions connectades als ports PCI, USB, sèrie, Ethernet, ... - El llenguatge de programació: Està clar que si existeixen diferents llenguatges, és perquè cada un ens aporta característiques diferents. Els desenvolupadors dels automatismes que optin per aquestes solucions, hauran d’analitzar un per un tots els llenguatges i escollir correctament. Un dels problemes més greus alhora de desenvolupar els sistemes automàtics és enllaçar els dispositius. Una bona tria del llenguatge, en alguns casos ens pot reduir el temps de desenvolupament. - Llibreries existents: Un dels grans reptes dels professors de l’enginyeria del software és ensenyar als seus alumnes a realitzar programes reutilitzables. És evident, doncs, que quan un desenvolupador ha de realitzar una tasca, una feina prèvia a desenvolupar ha de ser la recerca de solucions existents, ja siguin de pagament, o lliures. Una bona recerca en aquest camp, pot fer que el nostre projecte acabi a temps, que sigui molt més robust, o fins i tot, que sigui molt més barat. - Interfície d’usuari: En el cas de la necessitat d’interacció avançada amb l’usuari, entenent avançada com que els simples comandaments típics dels electricistes no són suficients per al correcte funcionament de la màquina, disposem d’un ampli ventall de solucions existents, que passen per pantalles tàctils de les dimensions més petites, fins a les pantalles més grans, de 17 polzades o fins i tot de 19. Sempre cal considerar els entorns on es pot situar l’automatisme, ja que podem demanar els models amb diferents rangs de seguretat.
32 Com a resum final doncs, tenim el següent: 4 Taula d'elements del tall horitzontal Element Tipus Descripció Motor moviment Servo - Motor elèctric Motor de posicionament. Sensor calibració Sensor presència Sensor de calibració. Màxim recorregut Per software Mínim recorregut Per software Motor amplada Servo - Motor elèctric Motor de posicionament. Sensor calibració Sensor presència Sensor de calibració. 4.2.3 Tall Vertical: La figura mostra el sistema mecànic, que també és arrossegat pel conjunt de tall horitzontal, que realitza el tall vertical. L’objectiu d’aquesta mecànica és poder mecanitzar els dos traus de la peça, quan el sistema es mou en sentit horitzontal. Quan el sistema es mou en vertical, mecanitza el trau en una cara del barrotet. La posició del primer mecanitzat (els dos traus laterals de la peça) ve determinada pel motor del sistema de tall horitzontal. El recorregut del segon mecanitzat (trau de rebaixat), ha de ser un recorregut de mínim a màxim. D’aquesta manera, amb un simple pistó pneumàtic amb el recorregut limitat mecànicament, ja podem donar la funcionalitat que desitgem.
33 12 Dibuix de la mecànica del sistema de tall vertical En resum, els actuadors i sensors que es necessiten són els següents: 5 Taula d'elements del tall vertical Element Tipus Descripció Cilindre moviment Cilindre pneumàtic Motor de posicionament. Màxim recorregut Sensor de presència Detecta presència en el seu recorregut màxim. Mínim recorregut Sensor de presència Detecta presència en el seu recorregut màxim.
34 4.3 Elements necessaris per a la realització del mecanitzat Com s’ha pogut observar en l’apartat anterior, necessitem varis actuadors pneumàtics i elèctrics. La taula que es mostra a continuació engloba tots aquests elements, i els classifica per entrada, sortida, etc. 6 Taula resum d'elements a utilizar Element Tipus Descripció E/S Motor entrada Servo - Motor elèctric Motor de posicionament. S Sensor entrada Sensor presència Sensor de calibració del barrotet. E Motor expulsió Motor normal Motor per expulsar el barrotet. S Sensor expulsió Sensor presència Sensor per detectar si el barrotet ha estat expulsat. E Motor moviment Servo - Motor elèctric Motor de posicionament. S Sensor calibració Sensor presència Sensor de calibració. E Màxim recorregut Per software Soft Mínim recorregut Per software Soft Cilindre moviment Cilindre pneumàtic Motor de posicionament. S Màxim recorregut Sensor de presència Detecta presència en el seu recorregut màxim. E Mínim recorregut Sensor de presència Detecta presència en el seu recorregut màxim. E Motor amplada Servo - Motor elèctric Motor de posicionament. S Sensor calibració Sensor presència Sensor de calibració. E El que podem veure, per una banda, són tots els elements necessaris, a nivell d’entrades i sortides. A més, es pot veure que hem de triar els elements en funció de les característiques necessàries.
35 7 Taula dels elements que s'utilitzaràn 13 Motor JVL Mac 800 14 Motor JVL Mac 140 15 Motor Kelvin 63.105 16 Sensor Omron E2AU 17 Electrovàlbula Festo 18 Cilindre Festo ISO 15552 19 Cilindre Festo ISO 21287 Aquests són els elements electromecànics i pneumàtics que s’utilitzaran per poder fer tots els moviments. La taula següent mostra la relació de cada moviment amb el seu actuador o sensor.
36 Element Tipus Motor entrada Motor JVL Mac 140 Sensor entrada Sensor Omron E2AU Motor expulsió Motor Kelvin 63.105 Sensor expulsió Sensor Omron E2AU Motor moviment Servo - Motor elèctric Sensor calibració Sensor Omron E2AU Màxim recorregut Per software Mínim recorregut Per software Cilindre moviment Cilindre pneumàtic Màxim recorregut Sensor Omron E2AU Mínim recorregut Sensor Omron E2AU Motor amplada Motor JVL Mac 140 Sensor calibració Sensor Omron E2AU Les característiques necessàries del sistema que es necessita per poder pilotar tots els actuadors i sensors, ha de complir com a mínim el següent: Ha de tenir comunicació sèrie per comunicar amb els motors (RS-232). Hi ha d’haver la possibilitat de comptar amb un sistema en temps real. Ha d’oferir una interfície d’usuari. S’ha de poder connectar a una xarxa compatible amb Windows. Ha de poder accedir a una base de dades d’Access (.mdb) o en el seu defecte un fitxer de text. Ha de poder pilotar senyals industrials (24 Volts). Ha d’oferir un entorn de programació conegut al perfil d’informàtic. En capítols posteriors s’explicarà la decisió final que s’ha pres per controlar els actuadors i sensors de que disposem.
37 5. Avaluació de les alternatives Un cop analitzades totes les possibilitats que ens ofereix el mercat, a l’etapa de disseny es tracta de decidir els productes finals, i fer el disseny del que serà la solució definitiva. En el moment d’arribar a aquest punt, hi ha tres alternatives que compleixen els requeriments per la realització del projecte: 1. Disseny propi de la electrònica i del software 2. PLC + HMI 3. PLC + PC A continuació s’expliquen les tres alternatives, amb els seus avantatges i inconvenients. 5.1 Disseny propi de la electrònica i del software La idea de dissenyar una electrònica i un software expressament per aquesta aplicació rau únicament pensant en possibles sèries de la màquina. El sistema empotrat que pot complir els requeriments del projecte és el següent: • Processador amb capacitat per dur un sistema en temps real (QNX). • Sistema de comunicacions Ethernet. • 3 ports RS-232. • Pantalla tàctil. • Llibreries del RTOS per poder realitzar el HMI (Human Machine Interface) de la màquina. • Com a mínim 16 entrades i 16 sortides digitals, a 24 Volts (nivell de tensió industrial). Primer cal, doncs, fer un disseny de l’electrònica, i trobar els components necessaris per realitzar-ho. La solució més viable, és utilitzar un sistema embedded existent al mercat. Les solucions de mercat utilitzen estàndards per poder-los utilitzar. Un producte molt comú pot ser per exemple els semblants a la marca Moxa. Aquest estil d’equips porten un sistema Linux en temps real (opcional), amb la connectivitat necessària per poder comandar dispositius. El problema està amb el HMI. Cap d’aquests dispositius disposa de connexió VGA, i si més no, les llibreries disponibles per poder-lo desenvolupar no són prou potents.
38 20 Esquema de la solució amb Embedded System El sistema implementat a la figura, pot ser una possible solució. Les avantatges que comporta són: • És un sistema integrat. • Totalment configurable. • Compleix els requeriments de connectivitat Els inconvenients que comporta la utilització d’aquest sistema: • Interfície HMI molt limitada. • És necessària la implementació del protocol Modbus per un embedded system (HMI de ProFace ST400). • Temps de desenvolupament excessiu.
39 5.2 Controlador lògic programable amb interfície d’usuari Una vegada examinats els Embedded Systems, podem veure que el temps de desenvolupament ha de ser inferior, per tant, s’ha d’optar per un producte de mercat suficientment flexible per poder connectar els sistemes triats. Una altra alternativa per poder controlar el nostre sistema, és implementar un sistema amb una PLC i un HMI. Els requeriments de la PLC han de ser els següents: • Connectivitat amb dispositius via RS-232. • Versatilitat per implementar protocols sobre qualsevol bus de comunicació. Evidentment, al ser un producte industrial ja disposa de connectivitat de senyals als voltatges adequats (24 Volts). L’esquema de la solució final, es mostra a la següent figura: 21 Esquema de la solució amb PLC + HMI
40 Al examinar la solució amb PLC + HMI, veiem que és molt difícil trobar un PLC accessible a nivell econòmic que sigui capaç d’integrar comunicacions propietàries. Grans marques com, per exemple, Telemechanique, no permeten l’accés als seus ports, si el protocol no està implementat per la mateixa casa. El HMI és un ProFace ST400, amb connexió Modbus Ethernet, que funciona directament amb les PLC’s de Telemechanique (Grup Schneider). Com a resum, podem determinar certes avantatges: • Sistema industrial testejat i fiable. • La programació és un estàndard. De totes maneres, el problema més important és la restricció de la comunicació amb RS-232, ja que els motors que usarem porten aquesta connexió de sèrie. 5.3 Controlador lògic programable amb PC Industrial Donat que els requeriments del projecte vénen determinats no tan sols per la tecnologia, si no també pel temps de desenvolupament, s’ha d’optar per la manera més ràpida i efectiva que es pugui. La solució de PLC + PC industrial és ideal pel perfil d’informàtic, ja que sobre un PC es dominen totes les tecnologies, i la feina que ha de fer la PLC és simplement de connectivitat i temps real. D’aquesta manera, el que s’ha buscat amb aquesta solució és facilitar la feina al màxim, utilitzant eines de desenvolupament molt conegudes, com ara el Visual Studio, amb el llenlguatge C++, llibreries d’accés al port RS-232, interfícies gràfiques amb MFC, ... A més, amb un PC de nivell industrial (seguint les normes establertes), disposa de tota la flexibilitat possible, ja que moltes empreses disposen de productes personalitzables. D’aquesta manera, els requeriments del PLC són només: • Com a mínim 16 entrades i 16 sortides a 24 Volts. • Connexió Ethernet Modbus. Els requeriments del PC doncs: • 3 ports RS-232 • Connexió Ethernet • Sistema operatiu Windows. • Pantalla Tàctil
41 22 Esquema de la solució de PC + PLC L’esquema mostra la manera de connectar els perifèrics, que queden distribuïts de la següent manera: • Al PC s’hi connecten els motors via RS-232. La PLC també es connecta per Ethernet, amb el protocol ModBus. • A la PLC s’hi connecten tots els dispositius, tant actuadors (electrovàlvules), com els varis sensors.
48 Finalment, el tercer tipus de motor utilitzat és un motor de corrent contínua, amb escombretes i sense controlador. Aquest motor és l’actuador destinat a extreure el barrotet ja mecanitzat de la màquina, de manera que no necessitem cap tipus de precisió, per tant, no ens cal encóder, i la velocitat de sortida la regularem directament amb un potenciòmetre connectat en sèrie. D’aquesta manera, podem regular la velocitat, manualment, i no es podrà canviar des del sistema automàtic. Des del PC només es podrà engegar i parar el motor, a la velocitat establerta anteriorment. 31 Motor Kelvin utilitzat a la solució 32 Quadre de característiques del motor Kelvin Encara que no tinguem controlador, aquest motor es pot cremar per sobreintensitat, tant si es bloqueja mecànicament el motor, com si l’esforç que està realitzant és massa gran, encara que s’estigui movent. Per tant, necessitem protegir-lo, i com es pot observar a la taula anterior, la intensitat a 24 Volts és de 3 ampers, però com que el tenim connectat a un potenciòmetre, podem arribar a baixar la tensió fins a 12 Volts, de manera que la intensitat màxima que pot consumir aquest motor és de 6 ampers. Aquí doncs, hi col·locarem un fusible de 8 ampers, perquè no salti als mateixos 6.
49 6.1.2 Actuadors pneumàtics Els actuadors pneumàtics d’aquesta màquina realitzen moviments fins a final de carrera determinats mecànicament. El control d’aquests moviments és molt simple, però cal tenir certs detalls en compte. Per comandar els cilindres que tenim instal·lats a les pinces de subjecció, i a l’elevador dels discs de tall, cal connectar una vàlvula de pas. Aquesta vàlvula, per permetre el moviment en les dues direccions, ha de ser de 5 vies. Per comandar la electrovàlvula, cal instal·lar unes bobines, que al passar-hi tensió, creen un camp magnètic que atrauen un cos metàl·lic, que aquest cos, a la vegada, obtura els passos de l’aire, i inverteix el flux del mateix, creant el moviment en l’altre sentit. Alhora d’instal·lar les bobines, cal pensar si necessitem comandar els dos sentits, és a dir, el nucli metàl·lic, pot estar lligat a una molla, de manera que si traiem tensió de la bobina, el retorn del nucli és automàtic. En el cas d’aquesta aplicació s’ha instal·lat una sola bobina, de manera que quan es dóna senyal a la bobina, el cilindre actua, i quan es treu senyal, el cilindre torna a la posició de repòs. 33 Electrovàlbula Festo 34 Cilindre Festo ISO 15552 35 Cilindre Festo ISO 21287 La pressió de treball dels cilindres i de la electrovàlvula és de 6 bars. Aquesta pressió és ajustada mitjançant un pressòstat. La tensió de treball de les bobines és de 24 Volts, amb un amperatge màxim de 500 mA, de manera que es pot connectar directament a la
50 sortida de la PLC, ja que admet aquest amperatge, i ja es protegeix automàticament en cas de sobretensió. La velocitat d’aquests moviments vénen directament determinats pel cabdal d’aire d’entrada, i del diàmetre del cos del cilindre. Per les pinces, necessitem un moviment molt ràpid, però no cal que es faci un gran esforç en cap dels dos sentits. El cilindre elevador, però, necessitem un gran esforç i una velocitat acceptable. El problema, al ser un sistema amb aire (l’aire es comprimeix i fa que les inèrcies produeixin canvis de càrrega sobtats), l’aturada en el cas de baixada, que és on es suporta el pes total del sistema, més la força d’acceleració en el mateix sentit, pot produir un cop que malmeti la mecànica. Per corregir aquest problema, cal instal·lar uns components pneumàtics anomenats escanyadors, que fan que si la pressió augmenta, obturen el pas de l’aire, de manera que el cilindre disminueix la seva velocitat, i no malmet la mecànica. 6.1.3 Sistema sensorial Cada actuador de la màquina té el seu sensor associat. El sensor que s’ha buscat és un sensor que sigui capaç de detectar metall, i si més no, materials fèrrics. Aquests sensors són els anomenats inductius. Els objectes que són necessaris detectar són o estructures de la pròpia màquina, o el barrotet d’alumini. L’alumini, encara que no es el millor material per ser detectat amb un sensor inductiu, el detecta, tot i que amb menys intensitat. Hi ha moltes companyies que fabriquen sensors inductius. S’ha escollit la casa Omron per les seves capacitats de detecció. El sensor escollit és el E2AU-M12S04. El sensor porta un cos roscat a mètric 12, per tant, per la seva subjecció és tant senzill com fer un forat de 11,5 mm, i roscar-lo a M12. La seva capacitat de detecció, que es mostra a la figura de més avall, es correspon a la referència S04, ja que el seu rang de detecció màxim és de 4 mm. Aquestes característiques són del tot satisfactòries pels requeriments de la màquina, ja que la seva construcció és en ferro i alumini, i el cos del barrotet és d’alumini. S’ha d’anar en compte, però, de la distància de detecció, ja que l’alumini el detecta als 2 mm, i per tant, s’ha de situar el sensor de manera que no corri perill d’impacte.
51 36 Sensor Omron E2AUM12S04 37 Gràfica de la distància de detecció 38 Connexionat elèctric del sensor Aquests sensors porten un connector amb quatre fils, dos dels quals són l’alimentació a 24 Volts, i els altres dos són la senyal normalment oberta (NO) i normalment tancada (NT). La senyal de sortida és de 24 Volts en el cas de PNP (tipus de transistor intern) i 0V en el cas de NPN. El model escollit, però, no té la senyal NO. Les entrades del PLC Twido són PNP, és a dir, que s’ha d’injectar 24 Volts per activar la senyal. El sensor, doncs, serà PNP, i farem que sigui de senyal NT, és a dir, que normalment estigui donant senyal, excepte quan detecti, que llavors donarà 0V. D’aquesta manera (lògica invertida), si s’espatlla el sensor, el motor associat a aquest no funcionarà, ja que si es un final de carrera, detectarà sempre, com si és el sensor de calibració, que llavors simplement no es mourà. La connexió finalment es farà amb els fils 3 i 1 a 0 i 24 Volts respectivament i el fil 4 a l’entrada de la PLC.
52 6.1.4 Quadre elèctric Per poder fer funcionar tots els actuadors i sensors de la màquina, s’han de connectar elèctricament. Aquestes connexions han de seguir un ordre, i sobretot, complir les seguretats requerides per la unió europea. En l’elaboració d’aquest disseny ha participat una empresa externa, que ha assessorat de les seguretats que s’han de tenir en compte alhora de muntar un quadre elèctric. Aquest esquema està dividit en quatre parts: • Potència: Components i connexionat necessari per alimentar tots els dispositius que formen part del sistema. • Maniobra: Components i connexionat que permeten actuar i llegir els actuadors i sensors del sistema. • Entrades: Connexionat d’entrades de la PLC. • Sortides: Connexionat de sortides de la PLC. 39 Esquema elèctric de la potencia Com es pot observar a l’esquema, s’han connectat els motors de les serres directament a 230 Volts, amb les seves proteccions pertinents, per tal de protegir la xarxa de curtcircuits. Aquests motors corren a velocitat fixa. S’ha disposat de tres fonts
53 d’alimentació separades, una per cada Servo-Motor, totes elles protegides per un fusible de 10 Ampers. 40 Esquema elèctric de la maniobra La part de maniobra de la màquina serveix exclusivament per l’activació general i pel funcionament dels motors de les serres. Aquests motors s’activen mitjançant uns polsadors (un per cada motor), que es re alimenten, de manera que fins que no es torna a polsar el botó, no es desactiven. Per tant, aquests motors no estan controlats per la PLC, sinó directament per l’operari de la màquina. Igualment, per veure que aquests motors estan engegats, es disposa de tres bombetes que indiquen l’estat. 41 Esquema elèctric de les entrades
54 Les entrades del sistema estan destinades a llegir la informació que ens proporcionen els sensors. Aquests sensors s’alimenten de 24 Volts, i donen una senyal positiva quan detecten algun objecte. Aquesta senyal, doncs, és la que s’ha de connectar a la PLC per poder rebre la informació. 42 Esquema elèctric de les sortides Les sortides del sistema són l’activació dels Servo-Motors, així com l’activació de les electrovàlvules que accionen els cilindres pneumàtics. Totes aquestes senyals activen els relés pertinents per fer funcionar aquests actuadors. Totes les sortides estan protegides per fusibles de 2 Ampers, ja que si s’espatlla algun relé, no s’espatllarà la PLC, de manera que substituint el relé i el fusible, ja es pot tenir la màquina altre cop en funcionament. 6.2 Control software de la màquina Per poder implementar el sistema software de la màquina, s’han fet servir eines molt comunes en el món del desenvolupament de software, però no tan usualment utilitzades en el món de l’automatització industrial. Això és així perquè el perfil dels professionals dedicats a la automatització, no són informàtics. Com veurem més endavant, això està canviant, i existeixen projectes creats per informàtics, i que han d’utilitzar informàtics (si més no amb grans coneixements de programació, busos de camp, etc) per desenvolupar les aplicacions finals.
55 Així doncs, aquest capítol explica amb cert detall la implementació del sistema, juntament amb la seva justificació. 6.2.1 PLC La feina que ha de dur a terme la PLC és purament de pont entre el PC i els dispositius connectats a la PLC. La programació, doncs, serà senzilla. Cal tenir en compte que, pel moviment de l’elevador, la PLC fa la funció d’activar i desactivar l’electrovàlvula de forma automàtica. L’activació d’aquesta funció es fa mitjançant un flanc ascendent en una variable de memòria. 6.2.1.1 Configuració de la PLC Per configurar la PLC, primerament cal tenir el software adient, com pot ser el TwidoSoft, que permet la comunicació, programació i vista en temps real de tots els paràmetres i execucions actuals del sistema. El primer pas per configurar correctament aquest sistema, és necessari connectar el cable USB-RS485, de la marca Telemechanique, i configurar el programa perquè identifiqui en quin port la té connectada. Cal tenir en compte que aquest cable s’ha de connectar enlloc de l’adaptador Ethernet-RS485, ja que se li ha de dir a la PLC que l’utilitzi. 43 Finestra de preferències de TwidoSoft Una vegada connectada la PLC, s’ha de configurar que al port RS-485 hi té l’adaptador Ethernet. A més, aquest nou adaptador, formarà part d’una LAN, per tant, també s’ha de
56 configurar la seva adreça IP. Les dues configuracions necessàries es mostren a les següents il·lustracions. 44 Finestres de configuració de TwidoSoft A partir d’aquest punt, cal desconnectar el cable USB, i connectar el mòdul Ethernet a la PLC, que ara ja està configurada. En aquest punt, s’ha de configurar una nova connexió al TwidoSoft, de manera que a partir d’ara s’hi connectarà a través del port Ethernet. 45 Finestra de configuració de la comunicació amb la PLC des de TwidoSoft La nova connexió s’anomena “Mi conexión 1”, configurada per TCP/IP, a l’adreça 192.168.0.3 al punt 1. És molt important el punt, ja que és el node que penja d’aquella connexió Ethernet. 6.2.1.2 Programació de la PLC Una vegada ja està configurat el sistema, s’ha implementat el programa que permet la comunicació amb el PC industrial. La filosofia d’aquest programa és ben simple, només
57 es tracta de passar les variables que ens interessa a través del port Ethernet. El protocol de comunicació entre la PLC i el PC és ModBus, de manera que només podrem passar dades numèriques enteres (més endavant s’expliquen les limitacions d’aquest protocol). En el cas d’aquesta aplicació, només fa falta passar dades de tipus bit, ja que simplement farem el pas d’entrades i sortides pel ModBus. El programa doncs, consta de dues parts molt simples: • El pas de les entrades digitals • El pas de les sortides digitals Les 6 primeres línies del programa fan el pas a les sortides digitals, és a dir, posen a la sortida el valor de la variable de memòria corresponent a l’índex de la sortida. Això és així ja que aquest PLC mapeja les direccions de memòria (MW) directament a la taula de transmissió ModBus. Les 10 següents línies del codi mostren el pas de les entrades digitals cap al bus. El que realment fan aquestes línies és detectar en quin estat està l’entrada, i assignar un 1 o un 0 a una posició de memòria concreta. Finalment, les tres últimes línies detecten el flanc ascendent i executen la funció automàtica de l’elevador, que acciona la electrovàlvula en un sentit, i després, quan l’altre sensor dóna senyal, li treu la senyal, de manera que el pistó inverteix el sentit.
64 6.2.2.4 Implementació de la part mestre de Modbus El problema rau alhora de fer una escriptura en un registre, ja que la llibreria no ofereix cap funció per realitzar l’execució de la funció 16. Vist això, és clar que aquesta llibreria està implementada per dissenyar un esclau Modbus, però el que interessa en aquest projecte, és implementar un mestre, per poder comunicar amb un esclau. Així doncs, aprofitant que les lectures i les respostes són completament iguals en un mestre i en un esclau, es tracta de fer un codi per muntar una trama, i enviar-la a l’esclau, amb el format corresponent. La llibreria ens ofereix una crida genèrica, que ens permet escriure de manera general: int write(int slave,int function,const unsigned char *data, int len); Bàsicament, aquest funció escriu la trama de dades apuntada per “data”, a l’esclau “slave” amb la funció “function”. La longitud de les dades s’indica mitjançant “len”. El següent codi, mostra la manera de muntar la trama necessària, amb el format indicat, per escriure en un registre d’un esclau. void ModPLC::writeRegister(int reg, int value){ int slave = 1; int function = 16; rlsleep(MODBUS_IDLETIME); unsigned char* data = new unsigned char[9]; data[0] = (unsigned char) ( reg/256 ); //Starting address Hi data[1] = (unsigned char) ( reg%256 ); //Starting address Lo data[2] = (unsigned char) ( 0 ); //Number of registers Hi data[3] = (unsigned char) ( 1 ); //Number of registers Lo data[4] = (unsigned char) ( 2 ); //Byte count data[5] = (unsigned char) ( value/256 ); //Data Hi data[6] = (unsigned char) ( value%256 ); //Data Lo int ret = mod->write(slave, function, data, 7); ret = mod->response( &slave, &function, data); }
65 Per formar la trama, primer s’especifica el registre en el qual es vol escriure. Al estar en Little Endian, s’han de muntar els bytes de manera que primer vagin els de més pes, i després els de menys pes. Després s’especifiquen el nombre de registres que es volen escriure, en el cas d’aquesta implementació només és un. El següent pas és posar el nombre de bytes que s’envien, ocupant un sol byte. Finalment, es posen els bytes de dades. Una vegada muntada la trama, es crida la funció “write”, amb les dades necessàries. La resposta del controlador es pot llegir igualment amb la funció “response”, de manera que s’ha re aprofitat al màxim les funcionalitats que ens ofereix la llibreria. 6.2.2.5 Integració amb Visual Studio 2005 Aquesta llibreria es subministra de tres maneres diferents: • Codi font. • Compilat com a llibreria per Windows. • Compilat com a llibreria per Linux. El més interessant i ràpid d’aplicar sens dubte és integrar la llibreria compilada per Windows a l’entorn de desenvolupament Visual Studio 2005. Per fer aquesta integració, es tant senzill com: 49 Finestra de configuració per afegir la llibreria rllib
66 És a dir, a les propietats del projecte, hem d’afegir a les referències, la ruta a la llibreria compilada. El problema d’aquest mètode és que aquesta llibreria compilada crea referències creuades amb la llibreria “libc”, llavors s’ha d’especificar al compilador que ignori aquesta llibreria. Això es fa amb la següent operació: 50 Finestra de configuració del projecte per no compilar el libc 6.2.2.6 La classe ModPLC Una vegada vist tot el protocol necessari per comunicar amb la PLC, s’ha implementat una classe que fa la representació de manera fàcil i intuïtiva, i que fa accessible tots els actuadors i sensors de la màquina pel software que s’implementa.
67 51 Classe ModPLC per les comunicacions amb la PLC La classe disposa d’una funció per dispositiu, de manera que per cada sensor i per cada actuador i per cada sensor, existeix una funció per llegir o escriure, depenent de les entrades i sortides del sistema. 6.2.3 Protocol propietari JVL Per fer la comunicació amb els motors, es necessiten dos components de programari essencials: • Accés al port RS-232 del PC. • Implementació del protocol de comunicacions. La llibreria de Modbus que s’ha integrat, també disposa d’una classe per accedir al port de comunicacions sèrie del PC: rlSerial. L’avantatge que suposa la utilització d’aquesta classe bàsicament rau en el temps de desenvolupament, ja que aquest codi ha estat provat i utilitzat diverses vegades, i assegura el bon funcionament de l’aplicació final. A més, ofereix vàries funcions, que permeten fer diversos tipus de comunicació amb la mateixa classe. int openDevice(const char *devicename, int speed=B9600, int block=1, int rtscts=1, int bits=8, int stopbits=1, int parity=rlSerial::NONE);
68 int select(int timeout=500); int readChar(); int writeChar(unsigned char uchar); int readBlock(unsigned char *buf, int len); int writeBlock(const unsigned char *buf, int len); int readLine(unsigned char *buf, int maxlen); int closeDevice(); void setTrace(int on); A part de les funcions bàsiques per escriure caràcters, aquesta classe per defecte escriu les dades, i les operacions de lectura són no bloquejants, és a dir, que una lectura, llegeix del buffer del dispositiu, i si no hi ha res, retorna un codi d’error, però retorna immediatament. Això permet no bloquejar el programa esperant una trama, i per tant millora el rendiment. De totes maneres, la funció “select”, quan es crida espera a que es rebi algun caràcter pel dispositiu, amb un màxim de temps definit per l’usuari. Amb la classe rlSerial, està solucionat el problema de l’accés al port RS-232 del PC. Ara doncs, queda estudiar el protocol de comunicacions que utilitza el motor JVL per poder executar comandes, i llegir certs estats del sistema, de manera que es pugui interactuar de manera fàcil i intuïtiva amb aquests dispositius. El motor JVL conté més de 150 registres accessibles des del port RS-232. Els registres interessants pel funcionament normal, són els següents: 9 Taula dels registres utilitzats per l'aplicació # Nom Longitud Unitats Descripció 3 P_SOLL 32 bits Polsos Encóder Posició final 35 ERR_STAT 16 bits ---------------- Motor status: Bit 0: Overload Bit 1: Follow error Bit 2: Function error Bit 3: Regenerative error Bit 4: In position Bit 5: Accelerating Bit 6: Decelerating Bit 7: Position limits error
69 Amb el registre P_SOLL, es pot determinar a la posició que es vol assolir, i amb el registre ERR_STAT, es pot saber quan el motor ha assolit aquesta posició mitjançant el bit 4. Tota la resta de paràmetres, es configuraran amb el software que proporciona JVL: MacTalk. Aquest software permet connectar el motor a través de la interfície RS-232, i permet gravar tots els paràmetres desitjats a la EEPROM del motor. A partir d’aquest punt, cal entendre i estudiar el protocol de comunicacions del motor. Aquest protocol és propietat de JVL, és a dir, que la casa ha decidit no seguir cap estàndard, com pot ser per exemple Modbus. Això obliga a implementar des de zero totes les comunicacions. La marca ens proporciona una gramàtica, que cal seguir per poder enviar comandes i llegir valors dels registres del motor. Com ja s’ha comentat abans, cal poder fer una escriptura d’un valor, i també cal fer una lectura d’un registre. D’aquesta manera, la documentació del motor, especifica que una transmissió s’ha de fer de la següent manera: 10 Taula de la gramàtica d'escriptura Dades enviades pel controlador Resposta del motor <Write><Address><RegNum><Len><Data><End> <Accept> És a dir, el controlador, que en aquest cas es tracta del PC industrial, corrent l’aplicatiu, ha d’enviar la comanda “Write”, que està formada per tres caràcters (o nombre natural de 8 bits) 52h (la “h” representa notació hexadecimal). Seguidament, s’envia l’adreça del motor, l’adreça que es vol escriure (el registre, en aquest cas el 3h), la longitud de les dades, i la paraula “End”, que està formada per dos caràcters AAh, marcant el final del missatge. 11 Taula d'exemple de les trames enviades per fer una escriptura Nom de Bloc Protegit Exemple Descripció <Write> No 52h,52h,52h Comanda d’escriptura <Address> Si 07h,F8h (Address 7) L’adreça del motor <RegNum> Si 05h,FAh (RegNum 5) L’adreça del registre <Len> Si 02h,FDh (Len = 2) El nombre de bytes de dades <Data> Si E8h,17h, 03h,FCh (Data = 1000) Les dades a transferir cap al registre <End> No AAh, AAh Terminació de comanda <Accept> No 11h, 11h,11h Acceptació des del motor
70 A excepció de la comanda “Write” i la comanda “End”, la resta de dades d’entremig estan protegides, és a dir, que a part d’enviar el seu valor, s’envia el seu valor invertit. Això s’aconsegueix de dues maneres possibles, o fent la següent resta: 255 – valor, o bé fent l’operació: valor XOR 0xFF, és a dir, invertir tots els bits. La taula anterior mostra varis exemples clars d’aquesta protecció. Finalment, quan el motor hagi llegit, interpretat i escrit els valors corresponents, respondrà amb la cadena “Accept”, que es composa de tres bytes 11h, de manera que el controlador podrà saber en tot moment si la seva comanda ha estat executada satisfactòriament o no. De la mateixa manera, hi ha l’especificació de la lectura. Les dues taules següents mostren de manera equivalent a l’escriptura, les dades necessàries a enviar. 12 Taula de la gramàtica de lectura El controlador envia El motor respòn <Read><Address><RegNum><End> <Write><Address><RegNum><Len><Data><End> La resposta del motor però, ara ha de ser amb contingut, és a dir, que el que es vol fer és una lectura d’un registre, de manera que ara el motor ha de contestar amb aquest valor. El mètode que utilitza el motor per contestar dades, és com si ara el motor volgués escriure aquesta dada al controlador principal, que sempre té adreça 0, en el mateix nombre de registre. La resta de dades són exactament iguals que l’escriptura que s’ha de fer des del controlador 13 Taula d'exemple de les trames enviades per llegir Nom de Bloc Protegit Exemple Descripció <Read> No 50h,50h,50h Comanda de lectura <Address> Si 07h,F8h (Address 7) L’adreça del motor <RegNum> Si 05h,FAh (RegNum 5) El registre que es vol llegir <End> No AAh, AAh Terminació de comanda <Write> No 52h,52h,52h Comanda d’escriptura <Address> Si 00h,FFh (Address 0) Adreça del controlador (sempre serà 0) <RegNum> Si 05h,FAh (RegNum 5) El registre que es vol llegir <Len> Si 04h,FBh (Len = 4) La longitud sempre serà 4. <Data> Si E8h,17h, 03h,FCh, 00h, FFh, 00h,FFh (Data = 1000) Les dades que s’han demanat al motor <End> No AAh, AAh Terminació de comanda
71 Una vegada analitzat tot el protocol, s’ha creat una classe que integra l’especificació del motor, de manera que fa fàcil i accessible l’operació d’aquest a través de la interfície d’usuari. 52 Classe JVLMotor pel control dels motors Com es pot observar, aquesta classe té les dues comandes “WriteSync” (“Write”) i “readSync” (“Read”). De totes maneres, s’ha encapsulat aquestes comandes amb les funcionalitats més interessants per aquest projecte. Aquest encapsulament s’ha realitzat amb dues funcions: • Move: Utilitza writeSync i getSimpleResponse (Aquesta funció espera l’acceptació del motor), escrivint en el registre P_SOLL la posició que volem assolir. • isInPosition: Aquesta funció utilitza readSync i getComplexResponse, que llegeix el valor del registre ERR_STAT, i consulta el valor del bit 4 (in Position), de manera que retorna el booleà corresponent a aquest bit. Així doncs, ja es disposa del control de motors. D’aquesta manera, només cal instanciar una classe per motor, especificant el port de comunicació i les posicions que es volen assolir. 6.2.4 Interfície gràfica d’usuari Alhora de fer la tria de la plataforma, també es va pensar en la facilitat per implementar una interfície gràfica adient per aquest tipus de màquina. Per dissenyar aquesta interfície s’han aplicat les següents consideracions:
72 1. Interfície senzilla i poc carregada. 2. Els botons que s’utilitzen amb més freqüència són més grossos. 3. S’han de facilitar vistes per introduir dades. 4. S’ha de poder controlar tota la màquina des de la interfície. La finestra principal està composada per una llista, elements explicatius, els botons d’acció i una llista de successos de la màquina. En qualsevol moment, qualsevol objecte pot escriure per aquesta llista, informant a l’usuari del que està passant. 53 Finestra principal de l'aplicació Com que la pantalla que estem utilitzant és tàctil, i l’usuari final no té cap mena de dispositiu d’entrada al PC, els botons més grossos s’han disposat de manera que siguin molt fàcilment accessibles. A partir de la pantalla principal, es poden anar obrint diferents finestres, de manera que l’usuari pot anar editant diferents aspectes de la màquina, ja siguin posicions, o diferents configuracions del barrotet. Per poder inserir totes aquestes dades, s’ha creat una finestra de teclat numèric, que es pot enllaçar amb qualsevol caixa de text que accepti números. L’usuari, doncs, només a de polsar el botó que hi ha al costat de cada caixa de text, introduir els números, i al polsar “OK”, les dades es posen en el quadre de text desitjat. Totes les finestres, doncs, poden accedir a aquest teclat numèric.
73 54 Teclat numèric de l'aplicació La configuració de les posicions de la màquina es fa mitjançant una finestra on es poden editar tots aquests valors, que més endavant s’especificarà la seva utilitat. Aquestes finestres, com les anteriors, compleixen la filosofia de pantalla tàctil: 55 Finestres per operar amb les dades del sistema
80 que hi hagi més d’un tall, i torna a apuntar a l’estat de tall. Finalment, la fase d’expulsió fa que el barrotet surti expulsat de la màquina amb totes les operacions desitjades. Pel que fa a la implementació final, s’ha definit un objecte “Worker”, que és capaç de treballar amb un fil apart, i que accedeix a tots els components creats anteriorment, així com l’objecte “ModPLC”, la classe “JVLMotor”, i s’encarrega d’inicialitzar-los, per poder disposar d’ells en temps d’execució, assegurant abans de començar que tot estigui disponible. Com s’ha pogut veure, les classes creades tenen una funció d’inicialització. D’igual manera, s’ha fet que aquesta classe en tingui una, així s’aconsegueix que aquesta funció s’encarregui d’inicialitzar totes les classes, i reportar errors en cas de fallada del sistema. En el moment de la creació, l’objecte “Worker”, espera la crida a la funció “run”, que és l’encarregada de crear el fil i executar la funcionalitat de la màquina. Finalment, el següent esquema mostra el disseny UML final de totes les classes dins aquest projecte. En aquest diagrama es pot observar com totes les classes de les vistes, classes lògiques i classes auxiliars estan directament o indirectament enllaçades amb l’objecte “Worker”. D’aquesta manera s’aconsegueix un control total des d’aquest objecte, ja que la interfície gràfica ha de reaccionar en funció dels events que ocorren en el sistema.
81 61 Diagrama UML de l'aplicació final
82 7. Avaluació del sistema Una vegada implementat el sistema, s’han realitzat una sèrie de proves, tant fora de la màquina com dins de la màquina. Això ha estat possible ja que s’ha disposat del material elèctric i informàtic abans de muntar el prototipus definitiu. 7.1 Proves realitzades i resultats obtinguts Una vegada tot els sistema va estar a punt, es va connectar un motor JVL, un sensor inductiu, la PLC amb l’adaptador de RS-485 a Ethernet i el PC industrial. El que es volia veure era que les comunicacions d’inicialització de tots els perifèrics funcionessin correctament. Així doncs, es va veure alguns petits errors, i la inicialització va estar corregida. Una vegada realitzada aquesta prova, es va intentar moure el motor a una posició concreta. El resultat va ser totalment satisfactori. Posteriorment, es va canviar de port el motor per provar-los tots tres. Encara que hi havia un motor que era diferent, el protocol de comunicacions havia de ser el mateix. Així doncs, es va provar amb un resultat satisfactori les tres comunicacions amb els tres ports diferents. Per provar la implementació i la comunicació del protocol Modbus, es va intentar llegir un sensor que estava connectat a una entrada. La prova va ser un èxit, cosa que no va estranyar gens, ja que la lectura estava implementada directament a la llibreria. Posteriorment es va intentar activar una sortida de la PLC. Aquí es va veure que l’escriptura necessitava uns petits retocs. Una vegada solucionats aquests problemes, les comunicacions estaven totalment testejades per poder funcionar. Per poder testejar la interfície gràfica, es va posar a punt el PC industrial, sense teclat i ratolí, i es van fer tots els passos que permet fer la interfície. D’aquesta manera es va detectar que en certs punts s’havien de canviar certes coses per fer la interfície més intuïtiva. Fins aquí les proves off-line determinaven que la part informàtica estava a punt per funcionar. Una vegada el quadre es va muntar i es van connectar la totalitat dels seus perifèrics, es va posar en marxa el sistema. L’única cosa que no es podia provar sense la totalitat dels elements era el cicle de funcionament normar de la màquina. Aquí és on hi
83 van haver més problemes. El primer problema de la posada en marxa va ser el sentit de moviment dels motors. Es van canviar el sentit de gir, i es va aprofitar per veure més o menys com reaccionava la mecànica. Un problema generalitzat van ser els retards després de tocar els sensors, ja que això provocava que la màquina no fes correctament totes les operacions. Es van haver d’afegir certs retards amb funcions que disposa la llibreria rllib. Un altre problema van ser les velocitats de moviment, cosa que a nivell informàtic no afecta, ja que tots els moviments han d’anar sempre a la mateixa velocitat. Aquesta falta de previsió de canvi, va alentir molt la posada en marxa de la màquina. Es van haver de tocar les velocitats una a una dels motors, amb el programa que subministra JVL: MacTalk. Després de tots aquests retocs, es va donar per finalitzada la fase de proves a nivell informàtic. Quedant pendent la resta, com pot ser la mecànica, la part elèctrica de maniobra, etc. 7.2 Avantatges i inconvenients de la solució Una vegada posada en marxa la màquina, es pot observar com el sistema funciona perfectament, amb tots els elements connectats, i sense cap sobre càrrega de cap tipus. Les avantatges indiscutibles d’aquest sistema són: Sistema flexible. Orientat totalment cap al perfil informàtic. Extensible, ja que s’han utilitzat elements estàndard de mercat, i se’n poden acoblar molts més. Sistema robust, ja que totes les CPU van molt descarregades (10% en el pitjor dels casos). Desenvolupament molt ràpid. Facilitat d’ús per l’operari final. Fàcilment modificable. Els inconvenients del sistema: Sistema de difícil manteniment, a causa de la necessitat de conèixer un llenguatge d’alt nivell. Per la funcionalitat demanada, no és el millor sistema, és a dir, “matem mosques a canonades”. No és el millor sistema relació qualitat – preu.
84 Encara que s’hagi volgut intentar simular un sistema en temps real, mai ho serà, encara que les diferències en aquest cas siguin imperceptibles. No és tot controlable des de la interfície d’usuari. Els motors de les serres no estan comandats per la PLC, i no podem saber si estan engegats o no. Així doncs, podem treure la conclusió que, a pesar de que és un sistema vàlid, on es pot aplicar aquesta solució, cal destacar que per fer una sèrie de màquines, s’hauria de buscar una alternativa. De totes maneres, per fer el prototipus objecte d’aquest projecte, s’ha de dir que aquesta solució s’ajusta al màxim donats els requeriments temporals i tècnics.
85
86 8. Conclusions 8.1 Valoració personal Aquest projecte per un informàtic es desmarca dels tòpics, ja que s’ha dissenyat un sistema que s’ha portat a la pràctica, aplicant els coneixements teòrics adquirits durant la carrera. Aquest sistema és diferent de tots els comuns perquè la teoria aplicada, no ha estat tant sols apresa durant la carrera, sinó que a més, s’ha fet una recerca profunda sobre l’automatització industrial i s’han adquirit coneixements nous sobre aquesta (poc coneguda, cal dir) branca de la informàtica. Aquest projecte ha estat interessant, no tant sols des del punt de vista informàtic, sinó també des del punt de vista de l’enginyeria, ja que s’ha intentat aplicar en tot moment una metodologia (definida en l’apartat corresponent), que assegura que s’assoliran els objectius de manera satisfactòria. Un altre dels aspectes clau d’aquest projecte és la quantitat de matèries complementàries que s’han hagut d’aplicar. Un clar exemple és el quadre elèctric. Per poder fer funcionar tots els sistemes tal i com especifiquen els fabricants, s’ha hagut de profunditzar molt en aquest camp, que per un futur enginyer en informàtica no és trivial. Aquests nous coneixements, barrejats amb l’experiència prèvia en el sector, fan que els resultats siguin els desitjats. Com a conclusió final, cal dir que poder portar a la pràctica un projecte com el de la present memòria, és una gran sort i una gran experiència, que pocs futurs enginyers poden gaudir i aprendre. A part de tota la recerca que s’ha dut a terme, cal fer una reflexió sobre el cost del sistema, i les millores que es poden aplicar en aquest disseny. 8.2 Tecnologies i eines utilitzades per la realització del projecte Per a la realització d’aquest projecte, s’han utilitzat els següents programes: - Visual Studio 2005: Per fer el programa amb C++. - TwidoSoft: Per fer el programa de la PLC. - MacTalk: Programa de JVL per entrar dades als motors. - StarUML: Per fer el disseny UML de l’aplicació.
87 - Microsoft Project 2003: Per fer la planificació. - Microsoft Office: Com el Word i l’Excel per redactar documents. 8.3 Cost del sistema Com a cost del sistema es contemplarà el que s’ha descrit en aquesta memòria, és a dir, la part elèctrica i la part informàtica. Així doncs, es contarà tot el quadre elèctric, i tots els components relacionats amb el sistema informàtic. El cost final de totes les parts és el següent: 15 Taula de costos de la solució Descripció Preu/unitat Unitats Preu Quadre de comandament elèctric 3.546,22 € 1 3.546,22 € PC industrial 1.150,00 € 1 1.150,00 € Material informàtic de comunicacions 200,00 € 1 200,00 € Motor JVL 140 850,00 € 2 1.700,00 € Motor JVL 800 1.250,00 € 1 1.250,00 € Motor Kelvin 50,00 € 1 50,00 € Total 7.896,22 € Cal subratllar, que dins del quadre de comandament elèctric inclou les hores de ma d’obra, el preu de la PLC (659,71 € sense IVA), i tots els components de dins del quadre. 8.4 Planificació Final Després d’haver realitzat tot el projecte, cal veure la diferència entre la planificació inicial i el resultat final. El que ha resultat finalment és que hi ha certes tasques del principi del projecte que s’han escurçat. La resta de tasques s’han mantingut, en gran part perquè la data d’entrega final ja estava pactada, i perquè no hi ha hagut gaires entrebancs alhora d’implementar el sistema. El protocol del motor era conegut prèviament, i el protocol Modbus té un estàndard molt ben especificat que assegura poder fer una planificació correcta. La resta de tasques d’implementació són conegudes per qualsevol informàtic, i per tant, fàcilment estimables temporalment. D’aquesta manera, la següent taula mostra les diferències de les tasques (en vermell):
88 16 Taula d'hores de la planificació final Tasca Dies Hores Anàlisis 10 dies 80 Definició 1 setm 20 Cerca d'actuadors 2 setm. 40 Cerca de Processadors 1 setm 20 Disseny 35 dies 280 Elèctric 2 setm. 80 Informàtic 2 setm. 80 PLC 1 setm 40 Aplicació VC++ 2 setm. 80 Implementació 35 dies 280 PLC 1 setm 40 Aplicació VC++ 1,5 mss 240 Quadre elèctric 1 ms 140 Posada en Marxa 3 setm. 120 Total 760 8.5 Millores possibles Com s’ha argumentat en varis capítols de la present memòria, aquest sistema té moltes avantatges, i molts inconvenients. Aquest projecte, al estar encarat per un enginyer en informàtica, s’han intentat escollir els sistemes que eren més còmodes i de ràpida implementació per assolir la solució. La primera millora evident és el cost, ja que el sistema de PC Industrial + PLC tenen un cost total de 2009,71 €. Els costos dels embedded systems ronden al voltant de 500 €, més una pantalla (450 €), estaríem parlant d’aproximadament 950 €. El sistema és més costós a nivell de desenvolupament, ja que les eines són més feixugues d’utilitzar, i l’entorn no és tant familiar. Evidentment, si la màquina deixa de ser un prototipus i passar a ser una sèrie, s’haurà d’optar per aquesta solució, o derivades que vagin a buscar un cost mínim. La millora que s’ha de fer imperativament és posar uns contactors que detectin que els motors de les serres estan en funcionament, ja que si no ho estan, el sistema no ha de començar el cicle.
89 El sistema informàtic actual només li queda ser un sistema en temps real. Hi ha plataformes de software que transformen el sistema operatiu Windows en un sistema en temps real, com per exemple, la plataforma TWinCat de Beckhoff. La xarxa amb la que es comuniquen els motors es pot millorar posant un bus de camp estàndard, dedicat a aquest tipus de comandes, com pot ser el bus CAN, amb el protocol CanOpen, que compliria el perfil DS-402 de servo-accionaments. Això obligaria al PC industrial, o a la controladora principal, disposar d’una tarja de comunicació amb la pila CanOpen implementada, juntament amb els mòduls de CanOpen dels motors JVL, cosa que pujaria els costos.