Sunteți pe pagina 1din 38

TEMARIO CURSO TIA PORTAL PROGRAMACION

1. Conceptos básicos

2. Llamada a bloques y cambio de parámetros


3. Bloques de organización
4. Bloques FC, FB y DB
5. 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:
- Wincc Basic
- Wincc Comfort
- Wincc Advanced
- Wincc Professional.

2. 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 Sección Función Disponible en


Parámetros de Input Parámetros cuyos Funciones, bloques de función y algunos
entrada valores lee el tipos de bloques de organización
bloque.
Parámetros de Output Parámetros cuyos Funciones y bloques de función.
salida valores escribe el
bloque.
Parámetros de InOut El bloque lee los Funciones y bloques de función
entrada/salida valores de estos
parámetros
al efectuar la
llamada y los
vuelve a escribir
en ellos tras la
ejecución.
Valor de retorno Return Valor que se Funciones
devuelve al
bloque que realiza
la llamada.

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.
Variable de proceso La variable de proceso es aquella que
puede cambiar las condiciones del
proceso.
Variable manipulada La variable manipula es aquella que se
varia para mantener constante la
variable medida.
Variable Medida La variable medida es aquella a la cual
se quiere mantener estable.
Setpoint El Setpoint es el valor el cual se desea
mantener la variable de proceso.
Error El error es la diferencia entre la variable
medida y el setpoint.
Controlador 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.
Actuador El actuador es el dispositivo final de
control que produce el cambio físico en
el proceso.
Captador El Captador es el dispositivo encargado
de realizar las mediciones de la variable
de proceso.

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

S-ar putea să vă placă și