IEC 61131-3 resumen

9
    ! " # " # $ # %& $ $%' ( )* $ + ,+ $ - +$. ( /0 " 1 2 3 % 4 5 5

Transcript of IEC 61131-3 resumen

IEC 61131-3LENGUA1ES DE PROGRAMACIN- 1 -Introduccion ............................................................................................................................................ 2Elementos comunes................................................................................................................................. 3Tipos de datos ..................................................................................................................................... 3Variables ............................................................................................................................................. 3ConIiguracion, recursos y tareas ......................................................................................................... 3Unidades de Organizacion de Programa ............................................................................................. 4Programas........................................................................................................................................ 4Funciones ........................................................................................................................................ 4Bloques Funcionales, FBs.............................................................................................................. 5GraIico Funcional Secuencial (Secuential Function Chart, SFC)....................................................... 5Lenguajes de Programacion .................................................................................................................... 6Top-down vs. Bottom-up- ....................................................................................................................... 7Implementaciones ................................................................................................................................... 8Conclusiones ........................................................................................................................................... 8IEC 61131-3LENGUA1ES DE PROGRAMACIN- 2 -IntroduccinIEC61131-3eslabaserealparaestandarizarloslenguajesdeprogramacionenlaautomatizacionindustrial, haciendo el trabajo independiente de cualquier compaia.Hay muchas maneras de describir el trabajo desarrollado en la tercera parte de esta norma, algunas deellas son: IEC 61131-3 es el resultado del gran esIuerzo realizado por 7 multinacionales con muchos aos deexperiencia en elcampo de la automatizacion industrial. Incluye 200 paginas de texto aproximadamente, con mas de 60 tablas. IEC61131-3definelasespecificacionesdelasintaxisysemnticadeloslenguajesdeprogramacin de PLCs, incluyendo el modelo de software y la estructura del lenguaje.La parte 3 del estandar presenta dos grandes bloques tematicos (ver Iigura 1): Elementos comunes. Lenguajes de programacion.Figura 1. Partes de IEC 61131-3La norma !EC 61131-3Elementos comunesLenguajes de programacinIEC 61131-3LENGUA1ES DE PROGRAMACIN- 3 -Elementos comunesTipos de datosDentrodeloselementoscomunes,sedeIinenlostiposdedatos.Lostiposdedatosprevienendeerrores en una Iase inicial, como por ejemplo la division de un dato tipo Iecha por un numero entero.Los tipos comunes de datos son: variables booleanas, numero entero, numero real, byte y palabra, perotambien Iechas, horas del dia y cadenas (strings).Basadoenestostiposdedatos,elusuariopuededeIinirsuspropiostiposdedatos,conocidoscomotiposdedatosderivados.Deestemodo,sepuededeIinirporejemplountipodedatodenominado'canal de entrada analogica.VariabIesLas variables permiten identiIicar los objetos de datos cuyos contenidos pueden cambiar, por ejemplo,losdatosasociadosaentradas,salidasoalamemoriadelautomataprogramable.Unavariablesepuede declarar como uno de los tipos de datos elementales deIinidos o como uno de los tipos de datosderivados.Deestemodosecreaunaltoniveldeindependenciaconelhardware,Iavoreciendolareusabilidad del soItware.El ambito de 'vida de una variable esta normalmente limitado a la unidad de organizacion en la cualhasidodeclarada(variablelocal).EstosigniIicaquesusnombrespuedenserreutilizadosenotraspartessinconIlictos,eliminandounaIrecuenteIuentedeerrores.Silasvariablesdebentenerunambitode'validezsuperior,handeserdeclaradascomoglobalesutilizandolapalabrareservadaVARGLOBAL.Puedenserasignadosparametrosyvaloresinicialesqueserestablecenalinicio,paraobtenerlaconIiguracion inicial correcta.Configuracin, recursos y tareasLa norma IEC 61131-3 deIine un modelo soItware representado en la Iigura 2.IEC 61131-3LENGUA1ES DE PROGRAMACIN- 4 -Figura 2. Modelo de soItwareAlmasaltonivel,elelementosoItwarerequeridoparasolucionarunproblemadecontrolparticularpuede ser Iormulado como una configuracion. Una conIiguracion es especiIica para un tipo de sistemadecontroleincluyelascaracteristicasdelhardware:procesadores,direccionamientodelamemoriapara los canales de I/O y otras capacidades del sistema. El concepto abstracto'conIiguracionpuedeser asimilado a un tipo de PLC dado.DentrodeunaconIiguracion,sepuedendeIinirunoomasrecursos.SepuedeentenderelrecursocomounprocesadorcapazdeejecutarprogramasdecontrolescritosenloslenguajesquedeIinelanorma. Dado que una conIiguracion puede tener tantos recursos como se desee, se puede decir que lanorma permite deIinir PLCs con tantas CPUs como se quiera.En el seno de un recurso pueden ser deIinidas una o mas tareas. Las tareas controlan la ejecucion deunconjuntodeprogramasy/obloquesIuncionales.Cadaunadeellospuedeserejecutadaperiodicamente o por una seal de disparo especiIicada, como el cambio de estado de una variable.ComparadoestemodeloconunPLCconvencional,esteultimocontieneunsolorecurso,ejecutandouna unica tarea que controla un unico programa de manera ciclica. IEC 61131-3 brinda la posibilidadde disponer de estructuras mas complejas. Asi seriaposible soportar multi-procesamiento,gestiondeprogramas por eventos sistemas de control distribuido o en tiempo real con este estandar.Unidades de Organizacin de ProgramaLa norma deIine tres Iormas distintas de 'presentar o crear programas de control para PLCs, a saber: Programas. Funciones. Bloques Iuncionales.Estaspresentacionesrecibenelnombrede'POUs(UnidadesdeOrganizaciondePrograma).LosPOUs seran diseados a partir de un diIerente numero de elementos de soItware, escritos en alguno delosdistintoslenguajesdeIinidosenlanorma.Tipicamente,unprogramaesunainteracciondeFuncionesyBloquesFuncionales,concapacidadparaintercambiardatos.FuncionesybloquesIuncionales son las partes basicas de construccion de un programa, que contienen unadeclaraciondedatos y variables y un conjunto de instrucciones.ProgramasLa norma deIine un programa como el 'conjunto logico de todos los elementos y construcciones queson necesarios para el tratamiento de seales que se requiere para el control de una maquina o procesomediante un PLC.Esdecir,queunprogramapuedecontenerladeclaraciondetiposdedatos,variableseinstanciasdebloquesIuncionalesjuntoconelconjuntodeinstrucciones(codigooprogramapropiamentedicho)necesario para llevar a cabo el control deseado del proceso o maquina.FuncionesIEC61131-3especiIicaIuncionesestandaryIuncionesdeIinidasporelusuario.LasIuncionesestandarsonporejemploADD(suma),ABS(valorabsoluto),SQRT(raizcuadrada),SIN(seno),yIEC 61131-3LENGUA1ES DE PROGRAMACIN- 5 -COS(coseno).LasIuncionesdeIinidasporelusuario,unavezimplementadaspuedenserusadasindeIinidamente en cualquier POU.Las Iunciones no pueden contener ninguna inIormacion de estado interno, es decir, que la invocaciondeunaIuncionvariasvecesconlosmismosargumentos(parametrosdeentrada)debesuministrarsiempre el mismo resultado (salida).Bloques Funcionales, FB'sLosbloquesIuncionalessonlosequivalentesdeloscircuitosintegradosusadosenelectronica,ICs,querepresentanIuncionesdecontrolespecializadas.LosFBscontienentantodatoscomoinstrucciones, pudiendo guardar los valores de dichas variables entre sucesivas ejecuciones (que es unadelasdiIerenciasconlasIunciones).SediceportantoquelosFBstienen'memoria,caracteristicaque les conIiere un gran potencial de uso.Presentan una interIaz de entradas y salidas bien deIinido y un codigo interno oculto, como un circuitointegrado o una caja negra. De este modo, establecen una clara separacion entre los diIerentes nivelesdeprogramadores,oelpersonaldemantenimiento.Unlazodecontroldetemperatura,PID,esunexcelente ejemplo de bloque Iuncional. Una vez deIinido, puede ser usado una y otra vez, en el mismoprograma, en diIerentes programas o en distintos proyectos. Esto lo hace altamente reutilizable.Los bloques Iuncionales pueden ser deIinidos por el usuario empleando alguno de los lenguajes de lanorma,perotambienexistenFBsestandar(biestables,detecciondeIlancos,contadores,temporizadores, etc.).Otra de las diIerencias Iundamentales con respecto a las Iunciones y que les conIiere gran potencia deuso, es la posibilidad de crear tantas copias como se desee de un mismo FB. A cada copia se le llamainstancia. Cada instancia llevara asociado un identiIicador y una estructura de datos que contenga susvariables de entrada, de salida e internas separada del resto de instancias.Grfico FuncionaI SecuenciaI (SecuentiaI Function Chart, SFC)Figura 3. SFC, ejemploIEC 61131-3LENGUA1ES DE PROGRAMACIN- -SFC describe graIicamente el comportamiento secuencialde unprogramadecontrol.EstadeIinicionderivadelasRedesdePetriyGRAFCET(IEC60848),conlasmodiIicacionesadecuadasparaconvertir las representaciones de una norma de documentacion (o de un lenguaje de modelado) en unconjunto de elementos de control de ejecucion para una POU de un automata programable (osea, en unlenguaje de programacion).SFCayudaaestructurarlaorganizacioninternadeunprograma,yadescomponerunproblemaenpartesmanejables,manteniendosimultaneamenteunavisionglobal.LoselementosdeSFCproporcionanunmedioparasubdividirunaPOUdeunautomataprogramableenunconjuntodeetapasytransicionesinterconectadas.Cadaetapallevaasociadosunconjuntobloquesdeaccionycadatransicionvaasociadaconunacondicionquecuandosecumple,causaladesactivaciondelaetapa anterior a la transicion y la activacion de la siguiente. Los bloques de accion permiten realizar elcontroldelproceso.Cadaelementopuedeserprogramadoenalgunodeloslenguajesdelanorma,incluyendoseelpropioSFC.DadoqueelmododeIuncionamientodeSFCrequierequelainIormacionalmacenadaacercadecualeslaetapaactivasemantengaentrellamadassucesivas,losunicos POUs que se pueden programar utilizando SFC son los bloques Iuncionales y los programas.Sepuedenusarsecuenciasalternativasyparalelas,comunmenteutilizadasenmuchasaplicaciones.Debido asuestructurageneral,desencillacomprension,SFCpermitelatransmisiondeinIormacionentre distintas personas con distintos niveles de preparacion y responsabilidad dentro de la empresa demanera sencilla e intuitiva.Lenguajes de ProgramacinLanormadeIinecuatrolenguajesdeprogramacionnormalizados.EstosigniIicaquesusintaxisysemantica ha sido deIinida, no permitiendo particularidades distintivas (dialectos).Los lenguajes consisten en dos de tipo literal y dos de tipo graIico:Literales: ` Lista de instrucciones (Instruction List, IL).` Texto estructurado (Structured Text, ST).GraIicos: ` Diagrama de escalera (Ladder Diagram, LD).* Diagrama de bloques Iuncionales (Function Block Diagram, FBD).Figura 4. Lenguajes IEC 61131-3IEC 61131-3LENGUA1ES DE PROGRAMACIN- 7 -EnlaIigurasuperior,loscuatroprogramasdescribenlamismaaccion.Laelecciondellenguajedeprogramacion depende de: los conocimientos del programador, el problema a tratar, el nivel de descripcion del proceso, la estructura del sistema de control, la coordinacion con otras personas o departamentos.Loscuatroslenguajesestaninterrelacionadosypermitensuempleopararesolverconjuntamenteunproblema comun segun la experiencia del usuario.El Diagrama de escalera (LD) tambien conocido como 'lenguaje de contactos tiene sus origenes enlosEstadosUnidos.EstabasadoenlarepresentaciongraIicadelalogicadereles(automatismoselectricos). Lista de Instrucciones (IL) es el modelo de lenguaje ensamblador basado un acumulador opila simple; procede del aleman 'Anweisungliste (AWL).ElDiagramasdeBloquesFuncionales(FBD)esmuycomunenaplicacionesqueimplicanIlujodeinIormacionodatosentrecomponentesdecontrol.LasIuncionesybloquesIuncionalesaparecencomo circuitos integrados y es ampliamente utilizado en Europa. El lenguaje Texto estructurado (ST)esunlenguajedealtonivelconorigenesenelAda,PascalyC.PuedeserutilizadoparacodiIicarexpresiones complejas e instrucciones anidadas mediante instrucciones para bucles (REPEAT-UNTIL;WHILE-DO), ejecucion condicional (IF-THEN-ELSE; CASE), Iunciones (SQRT, SIN, etc.), etc.Top-down vs. Bottom-up-Figura 5. Desarrollo de aplicaciones IEC 61131-3LanormadeIinedos Iormasdedesarrollar los programasdecontrol (verIigura5):dearribaaabajo(Top-down) y de abajo a arriba (bottom-up). Se puede especiIicar inicialmente la aplicacion completaydividirlaenpartes,declararlasvariablesydemas.Otambiensepuedecomenzarlaprogramaciondesdeabajo,porejemplo,pormediodeIuncionesybloqueIuncionalesqueresuelvanproblemasconcretos. Estas Iunciones y bloques Iuncionales adecuadamente combinados podran ser encapsuladosenIuncionesobloquesIuncionalesqueasuvezpodranserempleadospararesolverproblemasmascomplejos, y asi hasta resolver el problema en su totalidad.IEC 61131-3LENGUA1ES DE PROGRAMACIN- 8 -ImplementacionesCumplirtodoslosrequerimientosdelanormaIEC61131-3noesIacil,poresosepermitenimplementacionesparcialesenvariosaspectos.EstohacereIerenciaalnumerodelenguajesquesoportanlasherramientasdedesarrollodisponibles,yalnumerodeIuncionesydebloquesIuncionales.Conello sedejalibertadalsuministrador,peroelusuariodebetenercuidadoduranteelprocesodeselecciondelaherramientaadecuada.InclusounaactualizaciondelsoItwarepuededarlugar a una carga de trabajo mayo durante la implementacion.Muchos entornos de programacion IEC actuales oIrecen aquello que se espera a nivel de interIace deusuario:usoderaton,menusdesplegables,pantallasdeprogramaciongraIica,multiplesventanas,ayudaenlinea,veriIicacionduranteeldiseo,etc.DebehacersenotarqueestosdetallesnoestanespeciIicados en la norma por lo que es una de las partes donde los proveedores pueden diIerenciarse(Iigura 6).Figura 6. Ejemplos de herramientas de desarrollo IEC 61131-3ConclusionesLasimplicacionestecnicasdelanormaIEC61131-3sonaltas,dejandobastanteespacioparaelcrecimiento y la diIerenciacion. Esto la hace adecuada para entrar optimamente en el proximo siglo.La norma IEC 61131-3 tendra un gran impacto en el mundo del control industrial y este no se restringealmercadoconvencionaldelosPLCs.Ahoramismo,sepuedeveradoptadaenaplicacionesparacontroldemovimiento,sistemasdistribuidosysistemasdecontrolbasadosenPC(SoItPLC),incluyendo los paquetes SCADA. Y las areas de su utilizacion siguen creciendo.ElusodeIEC61131-3proporcionanumerososbeneIiciosparausuarios/programadores.LosbeneIicios de la adopcion de este estandar son varios, dependiendo de las areas de aplicacion: controldeprocesos,integradordesistemas,educacion,programacion,mantenimiento,instalacion,etc.Entreestos beneIicios cabe destacar:IEC 61131-3LENGUA1ES DE PROGRAMACIN- 9 -1. Se reduce el gasto en recursos humanos, Iormacion, mantenimiento y consultoria.2. EvitalasIuenteshabitualesdeproblemasporelaltoniveldeIlexibilidadyreusabilidaddelsoItware.3. Lastecnicasdeprogramacionsonutilizablesenampliossectores(controlindustrialengeneral).4. Combinan adecuadamente diIerentes elementos que pueden provenir de diIerentes Iabricantes,programas, proyectos...5. Incrementa la conectividad y comunicacion entre los distintos departamentos y compaias.El estandar IEC 61131-3 es una realidad en papel. Ahora los usuarios que aprecian los beneIicios delestandardebendemandarproductosquecubransusnecesidades,demodoquelasempresasproveedoras puedan amortizar los gastos de desarrollo de las herramientas adecuadas: 'el problema delhuevo v la gallina'.