Programacion avanzada

TEMARIO CURSO TIA PORTAL PROGRAMACION 1. Conceptos básicos 2. Llamada a bloques y cambio de parámetros 3. Bloques de or

Views 180 Downloads 4 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TEMARIO CURSO TIA PORTAL PROGRAMACION 1. Conceptos básicos 2. Llamada a bloques y cambio de parámetros 3.

Bloques de organización 4.

5.

Bloques FC, FB y DB

Aplicación de Multi-Instancia

6.

Aplicación de Datos Complejos 7.

Direccionamiento Indirecto

8. Organización de proyecto. 9.

S7 Comunicación

10. Industrial Ethernet 11. PROFINET IO 12. Control PID 13. Recetas S7 14. Instrucciones relacionadas.

1

1. Conceptos básicos TIA PORTAL Totally Integrated Automation (TIA) Portal, una plataforma software que abre las puertas al concepto de la futura Fábrica Digital que fue desarrollado desde 1996, que integra varias aplicaciones para la industria moderna como son las HMI, PLC, variadores de frecuencia, servovariadores, dispositivos de campo (PID, RFID, entradas/salidas discretas y análogas, etc.). Es la evolución del S7 profesional y existen varias versiones: -

Tia Portal Basic (S7 1200 y HMI Basic). Con lenguajes de programacion KOP y SCL. Tia Portal Professional (S7 1200, S7 1500, S7 300, S7 400, HMI Basic y Comfort). Con lenguajes de programación KOP, FUP, SCL, AWL (STL) y Graph.

Dentro del Tia Portal Professional hay una división del Wincc que son: -

2.

Wincc Basic Wincc Comfort Wincc Advanced Wincc Professional.

Llamada a bloques y declaración de parámetros

Bloques de usuario para SIMATIC S7-1200 Para la programación estructurada existen los siguientes bloques de usuario: • OB (bloque de organización): Un OB es llamado por el sistema operativo de forma cíclica y constituye la interfaz entre el programa de usuario y el sistema operativo. En este OB, se comunica a la unidad de control del sistema de automatización qué bloques de programa debe ejecutar a través de comandos de llamada de bloque.

2

3

• FB (bloque de función): El FB necesita un área de memoria asignada para cada llamada (instancia). Al llamar a un FB se le puede asignar, p. ej., un bloque de datos (DB) como bloque de datos instancia. A los datos de este DB de instancia se accede a través de las variables del FB. Si se llama varias veces a un FB, se le deben asignar distintas áreas de memoria. En un bloque de función también pueden ser llamados otros FB y FC. Un FB puede ser llamado dentro de un OB, FC u otro FB.

• FC (función): En una función también pueden ser llamados de un OB así como otros FB y FC. • DB (bloque de datos): Los DB se utilizan para proporcionar espacio de memoria para las variables de datos. Existen dos tipos de bloques de datos. DB globales, en los que todos los OB, FB y FC pueden leer los datos almacenados o escribir datos, y el DB de instancia, que están asignados a un FB determinado.

4

Parámetros de bloque. La tabla siguiente muestra los tipos de parámetros de bloque: Tipo Parámetros de entrada

Sección Input

Parámetros de salida

Output

Parámetros de entrada/salida

InOut

Valor de retorno

Return

Función Parámetros cuyos valores lee el bloque. Parámetros cuyos valores escribe el bloque. El bloque lee los valores de estos parámetros al efectuar la llamada y los vuelve a escribir en ellos tras la ejecución. Valor que se devuelve al bloque que realiza la llamada.

Disponible en Funciones, bloques de función y algunos tipos de bloques de organización Funciones y bloques de función.

Funciones y bloques de función

Funciones

5

3.

Bloques de organización

Bloques de organización (OB) Los bloques de organización (OB) constituyen la interfaz entre el sistema operativo y el programa de usuario. Estos bloques son llamados por el sistema operativo y controlan los procesos siguientes: -

Comportamiento en arranque del sistema de automatización. Ejecución cíclica del programa. Ejecución del programa controlada por alarmas. Tratamiento de errores.

Programando libremente los bloques de organización definen el comportamiento de la CPU. Los bloques de organización pueden utilizarse de distintas maneras en el programa: • OB de arranque, OB de ciclo, OB de error de tiempo y OB de diagnóstico. Estos bloques de organización pueden insertarse y programarse fácilmente en el proyecto. No es necesario parametrizar ni llamar a estos bloques de organización.

6

7

• OB de alarma de proceso y OB de alarma cíclica. Estos bloques de organización se deben parametrizar tras insertarlos en el programa. Además, durante el tiempo de ejecución, los OB de alarma de proceso se pueden asociar a un evento mediante la instrucción ATTACH y desasociar nuevamente con DETACH. • OB de alarma de retardo: El OB de alarma de retardo se puede insertar y programar en el proyecto. Además, es preciso llamarlo en el programa de usuario mediante la instrucción SRT_DINT. No es necesario parametrizarlo.

Información de arranque Al arrancar algunos bloques de organización, el sistema operativo emite información que puede evaluarse en el programa de usuario. Esto puede resultar muy útil, sobre todo, para el diagnóstico de fallos. En las descripciones de los bloques de organización se indica si se emite información y de qué información se trata.

8

4.

Bloques FC, FB y DB

Función Una función contiene un programa que se ejecuta cada vez que la función es llamada por otro bloque lógico. Las funciones (FC) son bloques lógicos sin memoria. Los datos de las variables temporales se pierden tras haberse procesado la función. Para guardar datos de forma permanente, las funciones pueden utilizar bloques de datos globales. Las funciones se pueden utilizar p. ej. para los siguientes fines: • Devolver valores de función al bloque invocante, p. ej. en funciones matemáticas • Ejecutar funciones tecnológicas, p. ej. controles individuales con operaciones lógicas binarias Una función también se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de funciones complejas que se repiten con frecuencia. Bloques de función Los bloques de función contienen programa que se ejecuta cada vez que un bloque de función es llamado por otro bloque lógico. Los bloques de función son bloques lógicos que depositan sus valores de forma permanente en bloques de datos de instancia, de modo que siguen disponibles tras procesar el bloque. Los parámetros de entrada, salida y entrada/salida se depositan de forma permanente en bloques de datos de instancia. Gracias a ello, continúan disponibles tras el procesamiento del bloque. Por este motivo, se conocen también como bloques con "memoria". Los bloques de función se utilizan en tareas que no se pueden realizar con funciones: -

Cuando son necesarios temporizadores y contadores en los bloques. Cuando hay que almacenar información en el programa. Cuando hay objetos con características iguales, pero diferente llamado.

9

Un bloque de función también se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de funciones complejas que se repiten con frecuencia. Instancias de bloques de función La llamada de un bloque de función se denomina instancia. A cada instancia de un bloque de función se asigna un área de memoria que contiene los datos que utiliza el bloque de función. Esta memoria es proporcionada por bloques de datos que son creados automáticamente por el software. La memoria también puede estar disponible para varias instancias como multiinstancia en un bloque de datos. Bloques de datos Al contrario que los bloques lógicos, los bloques de datos no contienen instrucciones, sino que sirven para almacenar datos de usuario. Por tanto, los bloques de datos contienen datos variables, con los que trabaja el programa de usuario. Los bloques de datos globales almacenan datos de usuario utilizables desde todos los demás bloques. El tamaño máximo de los bloques de datos varía en función de la CPU. La estructura de bloques de datos globales puede definirse a discreción. Guardar recetas de determinados productos. Todo bloque de función, toda función o todo bloque de organización puede leer datos de un bloque de datos global o escribir datos en él. Estos datos se conservan en el bloque de datos incluso al cerrarlo. La llamada de un bloque de función se denomina instancia. A cada llamada de un bloque de función con transferencia de parámetros se asigna un bloque de datos de instancia que sirve de memoria de datos. En él se depositan los parámetros actuales y los datos estáticos del bloque de función. El tamaño máximo de los bloques de datos instancia varía en función de la CPU. Las variables declaradas en el bloque de función determinan la estructura del bloque de datos de instancia. Un bloque de datos global y un bloque de datos de instancia pueden estar abiertos simultáneamente.

10

Datos locales. Tipo

Sección

Función

Disponible en

Datos locales temporales

Temp

Variables que sirven para almacenar Funciones, bloques de resultados intermedios temporales. Los función y bloques de datos temporales se conservan solo organización durante un ciclo. Si utiliza datos locales temporales, se debe asegurar de que los valores se escriben dentro del ciclo en el que desea leerlos. De lo contrario, los valores serán aleatorios.

Datos locales estáticos

Static

Variables que sirven para almacenar Bloques de función resultados intermedios estáticos en el bloque de datos de instancia. Los datos estáticos se conservan hasta que se vuelven a escribir, también a lo largo de varios ciclos. Los nombres de los bloques que son llamados como multiinstancia en un bloque lógico también se depositan en datos locales estáticos.

Constante

Constant

Constantes con nombres simbólicos Funciones, bloques de declarados que se utilizan dentro del función y bloques de bloque. organización

5.

Aplicación de Multi-Instancia

¿Qué son multiinstancias en Step 7? Empezaremos definiendo qué es una instancia en programación. De Step 7 o de Visual Basic. El vocablo instancia proviene de la programación orientada a objetos y de las clases y se explica mediante un ejemplo: Una clase podríamos definirla como el concepto fantasma del Pacman con todas sus cualidades, propiedades y funcionalidades. Una instancia sería uno de los fantasmas en concreto sin tener en cuenta el color. Al pertenecer a la clase fantasma, tendrán las mismas propiedades y funcionalidades entre ellos, pero no los mismos valores en cada uno de los campos, por así decirlo. Así por ejemplo pueden tener diferente color, pero siguen perteneciendo a la misma clase. 11

Llevándolo a nuestro campo, crear multiinstancias en Step 7 va a ser crear nuevos objetos que hagan referencia a la clase a la que pertenecen. Así, la clase puede ser TON (un temporizador IEC como retardo a la conexión) y lo que haremos será crear tantas instancias de ese TON como necesitemos. Es decir, crearemos esos temporizadores de verdad dentro de nuestros FB. Como la creación de estos TON puede ser múltiple o conjugada con la creación de otras instancias diferentes, se denominarán multiinstancia. Esto se usa para ahorrar código al no generar DB de instancia por cada llamado de una FB que es multiistanciada sino que sus datos quedan dentro del FB de llamado como una variable STATIC más.

6.

Aplicación de Datos Complejos

Lenguaje SCL (Structured Text Language). Antes de responder a la pregunta de si deberías aprender SCL en TIA Portal, deberías ponerte en esta situación: Imagina que tengas que programar una instalación donde tienes que mover información no de forma lineal, sino que tienes que moverla en función de ciertos parámetros, recorrer arrays, o realizar cálculos complejos. 12

Si sólo conoces la programación en escalera o en FUP, puedes encontrarte en que tu situación se complique bastante debido a las propias limitaciones de escalera y diagrama de bloques. La programación escalera está pensado fundamentalmente para la programación de lógica booleana. Para aplicaciones complejas en manejo de datos hay lenguajes de alto nivel como SCL cuyo objetivo es precisamente este: la programación más compleja. La programación de los autómatas tradicionalmente ha sustituido a la lógica cableada. Con los PLC se podían desarrollar operaciones más complejas que serían imposibles de realizar a base de relés. La cuestión es que los autómatas programables, y obviamente los PLC de Siemens también, cada vez son más potentes y más versátiles. Pueden hacer muchas más cosas que hace 20 años eran impensables. La limitación proviene entonces, no por el hardware, ya que las CPU son muy potentes, sino por el software. La programación en escalera, si bien va avanzando cada vez más, en algunos casos, no avanza lo suficientemente rápido a las necesidades del mercado. Y ahí es donde entra el SCL en TIA Portal. El SCL permite hacer operaciones como:    

Manejar datos complejos Optimización de procesos Manejar recetas a lo largo de las líneas/máquinas. Operaciones matemáticas o estadísticas.

El problema es que SCL no es unir contactos abiertos con contactos cerrados. Es un lenguaje de alto nivel (derivado del Pascal) y que, si no estás familiarizado con él, se te puede hacer complejo, porque la forma de pensar va a ser muy diferente.

13

Lenguaje AWL (Lista de instrucciones). El AWL no es más que uno de los cuatro lenguajes básicos de Step 7. En la entrada AWL, FUP, KOP y SCL, es muy similar al lenguaje ensamblador (lenguaje de programación de maquina). Es la mamá de todos los lenguajes en Step 7. Todos finalmente se van a traducir a AWL y todo aquello que no se pueda programar en AWL es que simplemente no lo vas a poder programar. Otra cosa es los sudores que te costaría hacer directamente en AWL tareas complejas, pero por poder, se podría. Con AWL en Step 7 se pueden hacer auténticas filigranas ahorrando código a más no poder. Digamos que es la forma de programar más compacta de todas (en general). Si hiciéramos una comparación con otros lenguajes, tendríamos lenguajes de alto nivel como el Pascal (SCL en nuestro caso) y luego tendríamos lenguajes de bajo nivel como Ensamblador, que en nuestro caso sería el AWL. ¿Qué es el RLO y STA? El RLO no es más que una variable que almacena el valor de una operación en forma binaria, significa el resultado de una operación lógica en los bits de estado. Es el bit 1 de la palabra de estado STW. El bit STA contiene el estado del operando actual, y se combina con el RLO anterior para generar el RLO siguiente. La primera instrucción en un segmento verifica el estado de la señal de contacto. El RLO se establece en '' 1 '' si STA es “1”. La segunda instrucción también verifica el estado de la señal de contacto si STA es “1”, este resultado de verificación ahora se combina con el valor almacenado en el bit RLO de acuerdo con las reglas de álgebra booleana y se almacena en el bit RLO. Esta cadena lógica finaliza después de una asignación o un salto condicional. Dependiendo del valor del bit RLO, se ejecuta una asignación o un salto condicional.

14

7.

Direccionamiento Indirecto

Direccionamiento en S7. Existen tres tipos de direccionamiento: -

Direccionamiento Inmediato Direccionamiento Directo Direccionamiento Indirecto

Direccionamiento inmediato. El valor del operando está codificado directamente en la operación, es decir que la operación va seguida directamente del operando con el que operará. Por otra parte, una operación también puede aportar su propio valor. Ejemplo: L W#16#3478 (carga el valor entero en hexadecimal 3478)

15

Direccionamiento directo. La dirección del operando se encuentra codificada en la operación, es decir, el operando indica la dirección del valor que va a procesar la operación. El operando se compone de dos partes: -

Un identificador (p. ej. “IB” para “byte de entrada”) Una dirección exacta dentro del área de memoria indicada por el identificador.

El operando indica directamente la dirección del valor. Ejemplo: L MW 122 (carga valor contenido en MW112); A I 1.2 (valor “1” o “0” de entrada). Área

Ejemplo

Tipo de Acceso

Descripción

I

I0.0

Bit, Byte, Palabra, Doble palabra

Imagen de Proceso de Entradas

Q

QB1

Bit, Byte, Palabra, Doble palabra

Imagen de Proceso de Salidas

PI

PIW10

Bit, Byte, Palabra, Doble palabra

Entradas de periferia

PQ

PQD12

Bit, Byte, Palabra, Doble palabra

Salidas de periferia

M

M100.0

Bit, Byte, Palabra, Doble palabra

Marcas

T

T15

Temporizadores

C

C1

Contadores

DB

DBX0.0

Bit, Byte, Palabra, Doble palabra

Datos de un DB global

DI

DIW20

Bit, Byte, Palabra, Doble palabra

Datos de un DB de instancia

L

LB34

Bit, Byte, Palabra, Doble palabra

Datos locales

Direccionamiento indirecto. El operando indica la dirección del valor que va a procesar la operación. Ejemplo: A I[MD 2]. 16

Mediante esta función podemos acceder a diferentes áreas de memoria de una manera indirecta indicada por un índice o puntero. Este tipo de direccionamiento nos puede llegar a ahorrar muchas líneas de programa sobre todo cuando trabajamos moviendo datos. Por ello: -

Permite asignar direcciones que no son conocidas hasta la ejecución Permite múltiples procesamientos de partes del programa Como las direcciones no son calculadas hasta la ejecución hay un riesgo de que áreas de la memoria sean sobrescritas.

Tipos de Direccionamiento Indirecto -

Direccionamiento Indirecto por Memoria con Número Direccionamiento Indirecto por Memoria con Puntero de Área Direccionamiento Indirecto por Registro e Intraárea (área interna) Direccionamiento Indirecto por Registro e Interárea (área cruzada)

Direccionamiento Indirecto por Memoria con Número. Dentro de los direccionamientos indirectos por memoria con número a su vez, podemos usar MW (o DW de un DB) o MD (o DD de un DB) para acceder: Usando formato palabra: accederemos a temporizadores, contadores, abriremos DB y accederemos a FB y FC. Usando formato doble palabra: accederemos a datos de tipo bit, byte, palabra y doble palabra Direccionamiento indirecto por memoria con número formato palabra: es el más fácil de entender en un número entero (palabra) introducimos el valor de DB, FB, temporizador, etc., que queramos leer L 10 T MW 10

17

U T[MW10] Aquí estamos leyendo el estado del temporizador T10. Direccionamiento Indirecto por Memoria con Puntero de Área El direccionamiento indirecto por memoria con número en formato palabra doble o lo que es lo mismo con puntero de área, aquí se introduce el término puntero el cual no es más que una dirección. Nada más. No tiene un valor, sólo apunta: L P#10.0 T MD10 U E[MD10] = A [MD10] O lo que es lo mismo: U E10.0 = A10.0

18

8. Organización de proyecto. Grafcet. El GRAFCET (Graphe Fonctionnel de Commande Etape Transition), nació en 1977 fuente del trabajo de la AFCET (Asociación Francesa para la Cibernética Económica y Técnica), en principio como síntesis teórica de las diferentes herramientas existentes por aquel entonces (Organigrama, Organifase, Diagramas de Girard, Red de Petri, etc...). Le otorgó su actual forma en 1979 la ADEPA francesa (Agencia Nacional para el Desarrollo de la Producción Automatizada). Normalizada en Europa como (EN61131) e internacionalmente en 1992 como (norma CEI 1131). Básicamente, el GRAFCET, es un modelo de representación gráfica, de los sucesivos comportamientos de un sistema lógico, predefinido por sus entradas y salidas. También, es un grafo, o diagrama funcional normalizado, que permite hacer un modelo del proceso a automatizar, contemplando entradas, acciones a realizar, y los procesos intermedios que provocan estas acciones. Inicialmente fue propuesto para documentar la etapa secuencial de los sistemas de control de procesos a eventos discretos. No fue concebido como un lenguaje de programación de autómatas, sino un tipo de Grafo para elaborar el modelo pensando en la ejecución directa del automatismo o programa de autómata. Varios fabricantes en sus autómatas de gama alta hacen este paso directo, lo que lo ha convertido en un potente lenguaje gráfico de programación para autómatas, adaptado a la resolución de sistemas secuenciales. En la actualidad no tiene una amplia difusión como lenguaje, puesto que la mayoría de los autómatas no pueden programarse directamente en este lenguaje, a diferencia del Lenguaje Ladder. Pero se ha universalizado como herramienta de modelado que permite el paso directo a programación, también con Ladder.

19

Programación Orientada a Objetos. La programación orientada a objetos (POO u OOP según sus siglas en inglés) es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.

9.

S7 Comunicación

S7 Comunicación. Con frecuencia se suele confundir en las explicaciones técnicas de los especialistas de los soportes físicos de las comunicaciones con los protocolos que soportan las mismas. Se entiende por protocolo según los manuales: “el convenio exacto entre interlocutores para poder ejecutar un determinado servicio de comunicación. El protocolo define el contenido estructural del tráfico de datos en la línea física, definiendo el modo de operación, la forma de realizar el establecimiento del enlace, la protección de los datos o la velocidad de transferencia.” En otras palabras, el protocolo es el lenguaje que se utiliza en la comunicación para que se entiendan dos equipos a la hora de comunicar.

20

Por otro lado, se entiende por soporte de transmisión o soporte físico “el medio físico sobre el que se transmite el protocolo de comunicaciones”. Es decir, es por donde circula dicho lenguaje o telegrama de comunicaciones. Tipos de soportes físicos. En el mundo de S7 se trabaja con tres tipos de soportes físicos para la comunicación entre equipos: -

-

Cable bifilar no trenzado, sin apantallar: es el utilizado en el bus de comunicaciones AS-i. El cable de AS-i es de mayor grosor que los demás soportes, debido a que por sus características especiales soporta no solo el protocolo de comunicaciones, sino que alimenta a través de sí a la electrónica de los equipos esclavos con los que comunica el maestro. El hecho de que no se trence y que no esté apantallado se debe a que las interferencias electromagnéticas no deben de afectar a la red AS-i. Como el protocolo As-i se transmite como un rizado sobre una señal continua (la alimentación a los módulos esclavos), no se ve afectado por estas variaciones comunes a los dos conductores del cable. cable bifilar trenzado y apantallado: es el utilizado en la comunicación PROFIBUS en sus diferentes variantes y en MPI. fibra óptica: puede ser utilizada para PROFIBUS o para ETHERNET, aunque es más usual en este último protocolo. La fibra a su vez puede ser de vidrio o de plástico, dependiendo de la distancia que separa a los equipos a enlazar. La fibra de plástico alcanza una distancia máxima de 80 m. entre interlocutores, por lo que se suele utilizar la fibra de vidrio, con la cual utilizando repetidores se pueden llegar a salvar grandes distancias de decenas de kilómetros.

La norma RS485. La mayoría de los protocolos que más adelante describiremos, utilizan como soporte físico el cable trenzado y apantallado siguiendo la norma RS485. Esta norma se basa en una diferencia de tensión entre ambos conductores, por lo que es bastante inmune al ruido debido a que una elevación en la tensión de ambos conductores no afecta a la señal transmitida.

21

Los cables de comunicaciones en esta norma se denominan señal A y señal B, realizándose la conexión de los elementos mediante conexiones en paralelo. Las derivaciones en estrella son posibles mediante repetidores de comunicaciones. En los extremos de la red es necesario que se conecten unas resistencias de finalización del bus de datos.

Resistencias de finalización RS485. Se suele llamar a esta norma el soporte físico de los protocolos Profibús DP, FMS, FDL y protocolo MPI en sus conexiones eléctricas, aunque es más la norma del soporte que el propio soporte en sí.

22

Conector S7 300. Las velocidades y las distancias de transmisión en esta norma están relacionadas. Así, para la comunicación MPI sobre RS485, las distancias/velocidades son: -

Sin amplificar la señal MPI: 50 m. (salvo CPU 318-2 DP que son 100 m.) Con cada repetidor RS485: 1000 m. a 187 Kbaud.

Para la comunicación en Profibús en sus distintas modalidades, la relación velocidad/distancia es: -

100 m. a 12 Mbaud. 200 m. a 1.5 Mbaud. 400 m. a 500 Kbaud. 1000 m. a 187 Kbaud.

Estas distancias se duplican por repetidor. Redes maestro-esclavo. Las redes maestro-esclavo se caracterizan por poseer un único maestro y todos los demás equipos son esclavos. Se entiende por equipo maestro aquel que toma el control del bus de comunicaciones (con exclusividad) y emite al mismo un telegrama por iniciativa propia, y sin que se le haya solicitado previamente dicha acción. Se entiende por esclavo aquel equipo que es capaz de emitir un telegrama a la red si recibe previamente una petición por parte del maestro dirigida al mismo, pero que no puede solicitar datos a ningún equipo de la red por iniciativa propia. 23

Redes multimaestro. Para evitar el inconveniente anterior aparecen las redes en las cuales todos los equipos pueden tomar la iniciativa de la comunicación en la red. Pero dentro de esta posibilidad existen también dos subdivisiones: -

Redes Token-Passing, o de paso por testigo y Redes CSMA/CD, o de acceso aleatorio.

Esta subdivisión es necesaria debido a que, en un determinado instante, solo uno de los equipos puede emitir un telegrama a la red, y hasta que dicho telegrama sea acusado por el equipo receptor, ningún otro equipo debe de emitir. Esto obliga a establecer un criterio en el tráfico de la información por el soporte físico. En las redes de paso por testigo, el token o testigo es la autorización para poder disponer de la red de comunicaciones y emitir las peticiones o los envíos que el equipo en cuestión desee. Mientras una CPU dispone del token, las demás se comportan como esclavas, por lo que exclusivamente podrán responder ante una petición del maestro actual. Cada cierto tiempo determinado por el sistema, el testigo pasa al siguiente equipo que esté configurado como maestro. El orden de paso no viene determinado por la posición física de los equipos en la red, sino por la ordenación numérica de sus números de estación dentro de la misma. Generalmente una red de paso por testigo es en anillo (token-ring), por lo que cuando se alcanza el último maestro, vuelve el sistema se lo pasa al primero de estos de nuevo y así sucesivamente. Si uno de los equipos que deben de tomar el testigo no responde, el sistema automáticamente lo pasa al siguiente en la lista de autorizaciones. En las redes de acceso aleatorio, este paso por testigo no existe en absoluto. En este método, todas las estaciones pueden enviar en cualquier instante siempre que no emita ninguna en dicho momento. Lógicamente, esto genera a la larga conflictos condicionados por tiempos de propagación, cuando dos estaciones intentan emitir al mismo tiempo por haber detectado que está libre el bus. En este método, ambas estaciones detectan la colisión, por lo que dejan de emitir, y sólo reemprenden ésta después de esperar un tiempo definido aleatoriamente, con lo que la probabilidad de colisionar de nuevo es muy baja. En cualquier caso, si esto ocurriera, se repetiría el proceso anterior. Este método es el utilizado por ETHERNET para comunicar entre sus equipos. Recursos en S7. Las configuraciones de las posibles comunicaciones en S7 vienen determinadas generalmente por los “recursos” de la CPU. Un recurso es la posibilidad de realizar una comunicación mediante funciones S7 por parte de la CPU. Como veremos posteriormente, el tipo de comunicaciones más sencillo con otros equipos (PC’s, OP’s, PLC’s) va a ser mediante funciones S7. Es por esto importante conocer de 24

cuantos recursos disponemos en nuestra CPU, para saber si podemos realizar una configuración determinada de comunicaciones.

Protocolos soportados por redes. Un protocolo de comunicaciones determina el telegrama a transmitir en la red de comunicaciones. Por lo tanto, es el “lenguaje” con el que dialogan los equipos. Lógicamente, como pasa en la lengua hablada, no tiene porqué existir en un determinado lenguaje un servicio que sí que existe en otro. A estas posibilidades se les denominan prestaciones en los servicios de comunicaciones. Las diferentes redes que existen en S7 son: -

AS-i MPI Profibús ETHERNET.

Pues bien, veamos que protocolos o servicios soportan cada una de estas redes decomunicaciones. -

La red AS-i únicamente soporta el protocolo AS-i. La red MPI la comunicación por datos globales (GD) y la comunicación mediante funciones S7. La red Profibús soporta la comunicación mediante Profibús DP, Profibús FDL, Profibús FMS y funciones S7. La red ETHERNET soporta la comunicación mediante protocolo TCP/IP, ISO Transport y funciones S7.

25

Veamos en profundidad que realizan cada uno de estos protocolos, y cuál es su finalidad, sus virtudes y sus limitaciones. Servicios AS-i. El protocolo de comunicaciones AS-i está diseñado para la comunicación entre un equipo maestro y actuadores o sensores de campo (detectores, electroválvulas, etc.). Protocolo MPI La Red MPI (Multi Point Interface) es la interfase de comunicación más sencilla que existe entre los equipos S7, y la más económica, ya que no requiere a diferencia de las otras comunicaciones una tarjeta adicional (CP). Se puede transferir o acceder a cualquier zona del mapa de memoria del PLC con el que deseamos comunicarnos, y tan sólo es necesario indicar donde queremos que se nos dejen los datos leídos o cuales es la fuente de datos a enviar.

Protocolo Profibús Profibus (abreviatura de Process Field BUS) es un conjunto de redes de control (o buses de campo) diseñado para resolver las necesidades de comunicación de los procesos industriales tanto discretos como continuos. El protocolo Profibús DP (Decentralised Periphery) es una red o bus de campo cuyo protocolo esta optimizado para realizar las transferencias de información en el nivel de proceso de la pirámide CIM, y está constituida por los dispositivos, sensores y actuadores de campo. Es el más utilizado de todos los tipos de comunicaciones en S7 ya que permite de una manera sencilla a nivel técnico y ajustada en precio realizar una descentralización de las señales de campo, con el consiguiente ahorro en cableado y horas de montaje en campo. Se corresponde con la norma europea EN 50170 Vol. 2, PROFIBUS.

26

El número máximo de participantes es de 127.

El protocolo Profibus PA (Process Automation), es una red o bus de campo cuyo protocolo esta optimizado para realizar las transferencias de información necesarias entre los sistemas electrónicos de control y los sistemas de instrumentación utilizados por la industria de los procesos continuos (reguladores de caudal, temperatura, presión, válvulas proporcionales, etc.), que se caracterizan por realizar 27

medidas de variables analógicas y actuar sobre el proceso en función del valor de dicha medida. Se utiliza en zonas de seguridad intrínseca, para ello posibilita la comunicación de datos a una velocidad máxima inferior y la alimentación de los procesadores de comunicación a través de un único par de hilos mediante fuentes de alimentación especiales.

10. Industrial Ethernet Ethernet. Los trabajos de investigación aplicada y desarrollo llevados a cabo por diferentes fabricantes de equipos de automatización a partir de finales de la década de los 90 han promovido la adaptación y redefinición de las tecnologías que son normas “de facto” en el ámbito de las redes de datos, para poder utilizarlas en ámbitos mas cercanos a los de las redes de control, como resultado se definió el conjunto de redes denominadas “Industrial Ethernet” cuya capa de enlace esta basada en la técnica de acceso al medio normalizada denominada Ethernet y los protocolos básicos de comunicación de las capas de red y transporte TCP/IP. Las redes “Industrial Ethernet” tratan fundamentalmente de rediseñar el harware y el software asociado a las redes Ethernet con el objetivo principal de adecuarlas para que tengan un tiempo de respuesta que permita utilizarlas como redes de control y redes de sensores-actuadores.

28

11. PROFINET IO Red Industrial Universal Profinet. Profinet (Proccess Field Net) es una red universal Ethernet Industrial, basada en la red Ethernet y en los protocolos TCP/IP de internet. Profinet proporciona el servicio para implementar las comunicaciones en todos los niveles de la Pirámide CIM, y sustituye por ello a las redes de datos, las de controladores y las de sensores actuadores y se supera para poder controlar en tiempo real sistemas en movimiento (motion control) que exigen un tiempo de respuesta T R (Response Time) inferior a 1 ms. La red Profinet facilita la comunicación entre los diferentes dispositivos de acuerdo con el tipo y son: -

-

-

Los controladores (autómatas programables) y las unidades de interfaz usuario-maquina (HMI) que se utilizan en aplicaciones que necesitan un tiempo de respuesta comprendido entre 10 y 100 ms. Las comunicaciones de este tipo de sistemas reciben en Profinet el nombre de comunicaciones que no se realizan en tiempo real y se les conoce como NRT (Non Real Time). Los controladores (autómatas programables) y las unidades de entrada/salidas remotas (distributed field device) que se utilizan en aplicaciones que necesitan un tiempo de respuesta entre 1 y 10 ms. Las comunicaciones de este tipo reciben el nombre de comunicaciones RT (Real Time). Los equipos de control de movimientos, como los sistemas de control numérico de gran capacidad, que necesitan un tiempo de respuesta inferior a un 1 ms. Reciben el nombre de comunicaciones isócronas en tiempo real IRT (Isochronous Real Time).

12. Control PID Que es el control PID. La programación de autómatas programables ofrece una gran variedad de herramientas para llevar a cabo un control eficiente sobre el proceso; en aplicaciones críticas donde las variables a controlar deben estar en constante supervisión, control y estabilización, los autómatas programables presentan una instrucción muy útil, los controladores PID. El controlador PID es una de las herramientas más importantes y utilizadas en las arquitecturas basadas en autómatas programables, ya que permite llevar a cabo el control de procesos o plantas, programando y configurando una serie de variables que permitirán la estabilidad continua del mismo.

29

Conceptos básicos. El control de procesos tiene como finalidad la optimización de los procesos en la industria, para alcanzar tal fin este se soporta en la automatización y la instrumentación industrial, los cuales permiten realizar un análisis, diseño, automatización y optimización a los procesos de cualquier industria. Al hablar de control de procesos es necesario tener claro ciertos conceptos necesarios, por tal motivo a continuación se presenta una tabla con los conceptos más importantes a tener en cuenta en el control de procesos industriales:

Variable

Definición

Proceso

El termino proceso se refiere a cambiar o refinar una materia prima para lograr un producto final. La variable de proceso es aquella que puede cambiar las condiciones del proceso. La variable manipula es aquella que se varia para mantener constante la variable medida. La variable medida es aquella a la cual se quiere mantener estable. El Setpoint es el valor el cual se desea mantener la variable de proceso. El error es la diferencia entre la variable medida y el setpoint. El controlador es el equipo que recibe los datos medidos, los compara con el setpoint y si es caso toma las decisiones para que el proceso sea estable. El actuador es el dispositivo final de control que produce el cambio físico en el proceso. El Captador es el dispositivo encargado de realizar las mediciones de la variable de proceso.

Variable de proceso

Variable manipulada

Variable Medida Setpoint Error Controlador

Actuador

Captador

30

Tipos de controladores Controlador Proporcional (P): Los controladores proporcionales se utilizan para disminuir el error en estado estacionario del sistema, generando una salida proporcional al error, por tal motivo en este tipo de controlador la variable manipulada siempre es proporcional al error

.

Respuesta ideal de un controlador proporcional. Estos controladores reaccionan inmediatamente ante un error de regulación y tan solo genera una acción a la variable manipulada si existe un error en el sistema. La principal ventaja del controlador proporcional es su simplicidad y su rapidez de reacción; la principal desventaja es el error de regulación permanente lo cual hace que el controlador no pueda alcanzar del todo el setpoint.

Respuesta real de un controlador proporcional. 31

Entre mayor sea el valor del factor proporcional a el error de regulación del sistema, la salida aumentará, hasta llegar a un estado de oscilación permanente, de manera que la magnitud regulada se alejará periódicamente del setpoint por efecto del propio regulador, y no por efecto de la perturbación del sistema. Controlador Integral (I): En estos reguladores el valor de la acción de control es proporcional a la integral de la señal de error, por lo que en este tipo de control la acción varía en función de la desviación de la salida y del tiempo en el que se mantiene esta desviación [3]. El controlador integral es utilizado para solucionar errores de regulación, éste controlador genera una salida proporcional al error acumulado. Uno de los inconvenientes del controlador integral es que la respuesta inicial es muy lenta, y, el controlador no empieza a ser efectivo hasta haber transcurrido un cierto tiempo. En cambio, anula el error remanente que presenta el controlador proporcional. Controlador Proporcional Integral (PI): El controlador PI se obtiene al conectar en paralelo un controlador proporcional y un integral; la ventaja de este tipo de controlador es que reúne las ventajas de ambos tipos de controladores y permite un control estable y rápido, sin error de regulación permanente. En el controlador PI el regulador proporcional actúa primero (instantáneamente) mientras que el integral actúa durante un intervalo de tiempo. Un inconveniente del controlador PI y que limita su comportamiento, es que solo considera los valores del error que han ocurrido en el pasado, es decir, no intenta predecir lo que pasará con la señal en un futuro inmediato.

Controlador Derivativo (D). Este tipo de controlador genera su magnitud a la variable manipulada a partir de la velocidad de variación del error de regulación, no a partir de su amplitud como ocurre con el controlador proporcional. Por lo tanto, reacciona todavía más rápido que el controlador proporcional. Hay que ser muy cuidadoso a la hora de escoger el valor del tiempo derivativo. En la mayoría de las aplicaciones es común desactivar la acción derivativa, aunque para sistemas de control de temperatura es muy recomendada.

32

Controlador PID Un controlador PID es un mecanismo que realiza el control de una variable (velocidad, nivel, temperatura, flujo, presión, entre otras) a través de un lazo de retroalimentación. El lazo controla la variable final calculando la diferencia entre una variable real y una variable deseada.

Un controlador PID combina tres variables fundamentales: Ganancia proporcional (P), Integral (I) y Derivativo (D).

El controlador PID trata de aprovechar las ventajas de cada uno de los controladores de acciones básicas, de manera que, si la señal de error varía lentamente en el tiempo, predomina la acción proporcional e integral y, mientras que, si la señal de error varía rápidamente, predomina la acción derivativa. Tiene la ventaja de ofrecer una respuesta muy rápida y una compensación de la señal de error inmediata en el caso de perturbaciones. Presenta el inconveniente de que este sistema es muy propenso a oscilar y los ajustes de los parámetros son mucho más difíciles de realizar.

33

13. Recetas S7 Para que recetas en S7. Las funciones con recetas integradas facilitan una administración sencilla de las recetas. Las funciones con recetas se pueden utilizar, por ejemplo, a través de páginas web definidas por el usuario (AWP) en los servidores web del PLC. 34

Tarea En producción o en la automatización de procesos, la aplicación de recetas es útil si se deben producir diferentes variantes o composiciones de un producto. En consecuencia, la aplicación no está restringida a la diferente composición de varios materiales contenidos. Las recetas pueden, por ejemplo, ser aplicables también a los diferentes procesos de producción. Por ejemplo, el producto A se envuelve, se fleja y se etiqueta, el producto B se empaqueta, se imprime sobre él y se envuelve. La aplicación debería ilustrar un proceso de llenado simplificado y trabaja con una gestión de receta. A través de una interfaz de operación sencilla, el usuario debería de poder observar y controlar el proceso. La integración en una infraestructura ya existente tendría que ser posible sin grandes esfuerzos. Solución La solución de automatización emplea un controlador S7-1200 y la funcionalidad de servidor web y receta integradas. La conexión de un PG/PC al controlador permite la llamada de los valores del proceso de llenado a través de la página web definida por el usuario (AWP) en el servidor web de la CPU. Además, es posible visualizar las recetas (función de exportación), cambiar y volver a cargar recetas (función de importación) así como controlar la aplicación a través de la página web definida por el usuario. El funcionamiento se maneja a través del buscador de la PG o del PC, por ejemplo, Internet Explorer.

Fig. 1 Ventaja La solución introducida en este ejemplo le ofrece las siguientes ventajas: -

Ahorro de tiempo y de coste mediante la configuración sencilla a través de TIA Portal y uso del hardware ya existente Capacidad de ampliación Fácil integración en los sistemas ya existentes

35

-

-

Opción cómoda para lograr una visión general de la aplicación o incluso realizar funciones de control Acceso a la CPU a través de los mecanismos estándares, especialmente acorde a la planta - cada CPU puede tener su propia página, si fuese necesario Protección de acceso para el servidor web por medio de una gestión de usuarios

Al personal de operación sin conocimientos en automatización también se le ofrece un acceso sencillo a la CPU.

36

14. Instrucciones relacionadas S7 comunicaciones.

37

PID.

Recetas.

38