Académique Documents
Professionnel Documents
Culture Documents
Pgina 1 de 40
Tenga en cuenta que estos paquetes de instructor pueden ser sustituidos por paquetes actualizados.
Encontrar una relacin de los paquetes SCE actualmente disponibles en la pgina: www.siemens.com/sce/tp
Cursos avanzados
Para los cursos avanzados regionales de Siemens SCE, pngase en contacto con el partner SCE de su regin
www.siemens.com/sce/contact
Pgina 2 de 40
PGINA:
1.
2.
2.1
Prlogo..................................................................................................................................................... 4
Notas sobre la programacin de SIMATIC S7-1200.................................................................................6
Sistema de automatizacin SIMATIC S7-1200.........................................................................................6
2.2
3.1
3.2
Programacin estructurada....................................................................................................................... 8
3.
4.
5.
3.3.1
Bloques de organizacin................................................................................................................ 10
3.3.2
Funciones....................................................................................................................................... 11
3.3.3
Bloques de funcin......................................................................................................................... 11
3.3.4
Bloques de datos............................................................................................................................ 12
Tarea de ejemplo: bloque de funcin para el control de cintas...............................................................13
Programacin del control de cinta para SIMATIC S7-1200....................................................................14
Pgina 3 de 40
1. Prlogo
El contenido del mdulo SCE_ES_010-020 est asociado a la unidad formativa "Fundamentos de la
programacin de PLC" y constituye una gua de inicio rpido a la programacin de SIMATIC S7
1200 con el TIA Portal.
Fundamentos de la
programacin de PLC
Mdulos 10, mdulos 20
Simulacin de plantas
SIMIT Mdulos 150
Funciones adicionales
relacionadas con la programacin de PLC Mdulos 30
PROFIBUS
Mdulos 60
Otros lenguajes de
programacin
Mdulos 40
Funciones de
seguridad
Mdulos 80
PROFINET
Mdulos 70
Tecnologa de sensores
Mdulos 110
Visualizacin de procesos
(HMI)
Module 90
AS-Interface
Mdulos 50
Accionamientos
Mdulos 100
Objetivo didctico:
En este mdulo, el lector conocer los tipos de bloques existentes para la programacin de SIMATIC
S7-1200 con la herramienta de programacin TIA Portal. El mdulo explica los distintos tipos de
bloques y muestra en los siguientes pasos el procedimiento para crear un programa en un bloque de
funcin.
Requisitos:
Para un procesamiento adecuado de este mdulo, se requieren los siguientes conocimientos:
Fundamentos de la programacin de PLC con TIA Portal (p. ej., el mdulo_10-10_R1201 Iniciacin a la programacin de SIMATIC S7-1200 con TIA Portal V11)
Pgina 4 de 40
PC Pentium 4, 1.7 GHz 1 (XP) 2 (Vista) GB RAM, aprox. 2 GB de memoria de disco libre
Sistema operativo Windows XP Professional SP3 / Windows 7 Professional / Windows 7
Enterprise / Windows 7 Ultimate / Windows 2003 Server R2 / Windows Server 2008 Premium
SP1, Business SP1, Ultimate SP1
Software STEP 7 Professional V11 SP1 (Totally Integrated Automation (TIA) Portal V11)
2 STEP 7 Professional
V11 (TIA Portal)
1 PC
3 Conexin Ethernet
Pgina 5 de 40
2.2
SIMATIC S7-1200
SIMATIC S7-300
SIMATIC S7-400
SIMATIC WinAC
Con STEP 7 Professional V11 se pueden utilizar las siguientes funciones para la automatizacin de
una instalacin:
-
Definicin de la comunicacin
Programacin
Documentacin
Creacin de visualizaciones para los SIMATIC Basic Panels con WinCC Basic integrado.
Con otros paquetes WinCC tambin se pueden crear soluciones de visualizacin para PC y otros
Panels
Pgina 6 de 40
3.1
Programacin lineal
En la programacin lineal se guardan las instrucciones en un bloque y se ejecutan en el orden en el
que se han guardado en la memoria de programa. Al llegar al fin del programa (fin de bloque), vuelve
a comenzar la ejecucin del programa desde el principio.
Esto se denomina ejecucin cclica.
El tiempo que necesita un dispositivo para ejecutar una vez todas las instrucciones se denomina
tiempo de ciclo.
La ejecucin lineal del programa se utiliza normalmente para controladores sencillos, no demasiado
amplios, y se puede implementar en un nico bloque de organizacin (OB).
OB1
1. instruccin
2. instruccin
3. instruccin
Fin de bloque
Pgina 7 de 40
3.2
Programacin estructurada
En el caso de tareas de control amplias, se subdivide el programa en bloques de programa ms
pequeos, abarcables y ordenados por funciones. Esto presenta la ventaja de permitir la comprobacin
de las partes del programa de forma independiente y ejecutarlas como una funcin global durante el
funcionamiento.
Los bloques de programa deben ser llamados por el bloque de orden superior. Si se detecta un fin de
bloque (BE), el programa continuar ejecutndose en el bloque que llama, detrs de la llamada.
OB 1
FB 1
FC 21
DB 11
DB global para
todos los
FB
FC
OB
BE
DB 10
DB de
instancia
Datos locales
de solo FB1
BE
FC 2
OB = bloque de organizacin
FB = bloque de funcin
FC = funcin
DB = bloque de datos
BE
Pgina 8 de 40
Nota:
Si solo se han utilizado variables internas en la programacin de FC y FB, estas pueden utilizarse
varias veces como bloques estndar.
Posteriormente pueden ser llamadas con cualquier frecuencia, aunque a los FB se les debe asignar en
cada llamada un rea de memoria, la denominada instancia (p. ej. un DB).
Pgina 9 de 40
Pgina 10 de 40
3.3.2 Funciones
Una funcin contiene un programa que se ejecuta cada vez que la funcin es llamada por otro bloque
lgico.
Las funciones (FC) son bloques lgicos sin memoria. Los datos de las variables temporales se pierden
tras haberse procesado la funcin. 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:
Ejecutar funciones tecnolgicas, p. ej. controles individuales con operaciones lgicas binarias
Una funcin tambin se puede llamar varias veces en diferentes puntos de un programa. Esto facilita
la programacin de funciones complejas que se repiten con frecuencia.
Cuando son necesarios temporizadores y contadores en los bloques (consulte el mdulo M3).
Un bloque de funcin tambin se puede llamar varias veces en diferentes puntos de un programa. Esto
facilita la programacin de funciones complejas que se repiten con frecuencia.
Instancias de bloques de funcin
La llamada de un bloque de funcin se denomina instancia.
A cada instancia de un bloque de funcin se asigna un rea de memoria que contiene los datos que
utiliza el bloque de funcin. Esta memoria es proporcionada por bloques de datos que son creados
automticamente por el software. La memoria tambin puede estar disponible para varias instancias
como multiinstancia en un bloque de datos.
Pgina 11 de 40
Todo bloque de funcin, toda funcin o todo bloque de organizacin 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 funcin se denomina instancia. A cada llamada de un bloque de funcin
con transferencia de parmetros se asigna un bloque de datos de instancia que sirve de memoria de
datos. En l se depositan los parmetros actuales y los datos estticos del bloque de funcin.
El tamao mximo de los bloques de datos instancia vara en funcin de la CPU. Las variables
declaradas en el bloque de funcin determinan la estructura del bloque de datos de instancia.
Un bloque de datos global y un bloque de datos de instancia pueden estar abiertos simultneamente.
Pgina 12 de 40
Smbolo
%E 0.0
%E 0.1
%E 0.2
%E 0.3
%A 0.2
S1
S2
S3
S4
M1
Comentario
Pulsador modo de operacin manual S1 NO
Pulsador modo de operacin automtico S2 NO
Pulsador ON S3 NO
Pulsador OFF S4 NC
Motor de la cinta M1
Nota:
En este caso, el pulsador OFF S4 es un contacto NC, para garantizar la seguridad en caso de rotura
de hilo. Esto significa que el equipo se detiene automticamente en caso de rotura de hilo con este
pulsador. De lo contrario, ya no se podra detener en caso de rotura de hilo. Por este motivo, en la
tecnologa de control deben ejecutarse todos los interruptores o pulsadores de parada o desconexin
como contactos NC.
Pgina 13 de 40
Con los siguientes pasos se puede crear un proyecto para SIMATIC S7-1200 y programar la solucin
para las tareas planteadas:
1. La herramienta central es el "Totally Integrated Automation Portal", que se abre aqu haciendo
doble clic. ( Totally Integrated Automation Portal V11)
Pgina 14 de 40
2. Los programas para SIMATIC S7-1200 se administran en proyectos. Un proyecto de este tipo se
crea en la vista del portal ( Create new project (Crear nuevo proyecto) FB_conveyor (FB cinta)
Create (Crear))
Pgina 15 de 40
3. Ahora se proponen los "First steps (Primeros pasos)" de configuracin. En primer lugar nos
interesa la opcin "Configure a device (Configurar un dispositivo)". ( First steps (Primeros
pasos) Configure a device (Configurar un dispositivo))
Pgina 16 de 40
Pgina 17 de 40
Pgina 18 de 40
6. Para que el software acceda posteriormente a la CPU correcta, deben configurarse su direccin IP
y la mscara de subred.
( Properties (Propiedades) General (General) PROFINET interface (Interfaz PROFINET) IP
address (Direccin IP): 192.168.0.1 Subnet mask (Mscara de subred): 255.255.255.0)
Pgina 19 de 40
7. Como en la programacin moderna no se programa con direcciones absolutas, sino con variables,
aqu deben determinarse las variables PLC globales.
Estas variables PLC globales son nombres descriptivos con comentarios para cada entrada y salida
que se utilice en el programa. Ms adelante se puede acceder a las variables PLC globales a travs de
este nombre durante la programacin.
Estas variables globales se pueden utilizar en todos los bloques del programa.
Para ello, seleccione en la navegacin del proyecto "Controlador de cinta [CPU1214C DC/DC/DC]"
y, a continuacin, "PLC tags (Variables PLC)". Abra la tabla "PLC tags (Variables PLC)" haciendo
doble clic e introduzca los nombres de las entradas y salidas, tal y como se indica abajo. ( Controller
conveyor (Controlador de cinta) [CPU1214C DC/DC/DC] PLC-tags (Variables PLC) PLC tags
(Variables PLC)
Pgina 20 de 40
8.
Para crear el bloque de funcin FB1, seleccione en la navegacin del proyecto "Controller
conveyor (Controlador de cinta) [CPU1214C DC/DC/DC]" y, a continuacin, "Program blocks
(Bloques de programa)". A continuacin, haga doble clic en "Add new block (Agregar nuevo
bloque)". ( Controller conveyor (Controlador de cinta) [CPU1214C DC/DC/DC] Program blocks
(Bloques de programa) Add new block (Agregar nuevo bloque))
Pgina 21 de 40
9. Seleccione "Function block (FB) (Bloque de funcin (FB))" e indique el nombre "Conveyor
(Cinta)". Como lenguaje de programacin se especifica el diagrama de funciones "FUP". La
numeracin es automtica. En cualquier caso, el nmero no es tan importante, pues este FB1 ser
llamado posteriormente a travs del nombre simblico. Confirme las entradas con "OK (Aceptar)".
( Function block (Bloque de funcin) (FB1) Conveyor (Cinta) FUP OK (Aceptar))
Pgina 22 de 40
10. El bloque "Conveyor (Cinta) [FB1]" se abrir automticamente. Para poder escribir el programa,
debe declararse la interfaz del bloque.
Al declarar la interfaz, se determinan las variables locales, conocidas solo en este bloque.
Las variables se dividen en dos grupos:
Parmetros de bloque que forman la interfaz del bloque para la llamada en el programa.
Tipo
Denominacin Funcin
Disponible en
Parmetros de salida
Output
InOut
Parmetros de
entrada/salida
Datos locales
temporales
Denominacin Funcin
Temp
Disponible en
Pgina 23 de 40
11. Para la declaracin de las variables locales, en nuestro ejemplo son necesarias las siguientes
variables.
Input:
manual
automatic
on
off
Aqu se lee la
Aqu se lee la
Aqu se lee la
Aqu se lee la
Output:
motor
Todas las variables son de tipo "bool", es decir, son variables binarias que solo pueden tener el estado
"0" (falso) o "1" (verdadero).
En este ejemplo es importante destacar que el estado de las dos variables "mem_automatic" y
"mem_motor" se debe memorizar durante un perodo de tiempo ms prolongado. Por eso aqu se
utiliza el tipo de variable "Static" (Esttica). Este tipo de variable solo se encuentra en un bloque de
funcin FB. Todas las variables locales deben incluir un comentario detallado para facilitar su
comprensin.
Pgina 24 de 40
12. Una vez que las variables locales han sido declaradas, se puede introducir el programa utilizando
el nombre de la variable. (Las variables se identifican con el smbolo "#".) Para este ejemplo en FUP
podra quedar as:
Programa en diagrama de funciones (FUP):
Pgina 25 de 40
Pgina 26 de 40
13. Haga clic con el botn derecho del ratn en el bloque "Main [OB1]".
En "Switch programming language (Cambiar lenguaje de programacin)", seleccione el diagrama
de funciones "FUP".
Pgina 27 de 40
14. El bloque "Conveyor (Cinta)" debe ser llamado desde el bloque de programa Main [OB1]. De lo
contrario, el bloque no se ejecutara.
Abra dicho bloque haciendo doble clic en "Main [OB1]". ( Main [OB1])
Pgina 28 de 40
15. El bloque "Conveyor (Cinta) [FB1]" puede arrastrarse mediante "arrastrar y soltar" al segmento 1
del bloque Main [OB1]. ( Conveyor (Cinta) [FB1])
Pgina 29 de 40
16. Como en este caso se trata de un bloque de funcin, debe disponer de una memoria. SIMATIC
S7-1200 tiene bloques de datos disponibles como memoria. Un bloque de datos asignado de este tipo
se denomina bloque de datos de instancia.
Este debera definirse y crearse como "Automatic" (Automtico). ( Automatic (Automtico) OK
(Aceptar))
Pgina 30 de 40
17. En el OB1 se interconectan las variables de entrada, as como las de salida, con las variables
PLC aqu mostradas.
Para ello deben arrastrarse las variables PLC a las variables de bloque.
Haciendo clic con el ratn en
"M01"
Atencin!
El pulsador OFF S4 es un contacto NC, de modo que se debe negar al conectarse en el bloque.
Es decir, el bloque dispone de la funcin de desconexin si se acciona el pulsador OFF S4 y, por tanto,
no hay seal en el borne %E0.3.
Pgina 31 de 40
18. Para cargar todo el programa en la CPU, marque primero la carpeta "Controller conveyor
(Controlador de cinta)"y haga clic en el smbolo
( Controller conveyor (Controlador de cinta)
Pgina 32 de 40
19. Si olvid determinar la interfaz PG/PC previamente, se mostrar una ventana en la que lo puede
realizar.
( Interfaz PG/PC para operacin de carga Load (Cargar)
Pgina 33 de 40
20. Vuelva a hacer clic en "Load" (Cargar). Durante el proceso de carga se muestra el estado en una
ventana. ( Load (Cargar))
21. Se muestra en una ventana que la carga se ha realizado con xito. Haga clic con el ratn en
"Finish (Finalizar)". ( Finish (Finalizar))
Pgina 34 de 40
. (
23. Confirme la pregunta de si realmente quiere iniciar la CPU con "OK (Aceptar)". ( Yes
(Aceptar))
Pgina 35 de 40
Pgina 36 de 40
25. Dado que nuestro bloque "Conveyor (Cinta)" fue creado segn las normas de los bloques estndar
(sin utilizar variables globales dentro del bloque!!), se puede utilizar y llamar con cualquier
frecuencia.
Aqu se muestra una tabla de variables PLC avanzada, con entradas y salidas para dos cintas.
Pgina 37 de 40
26. Ahora se puede llamar al bloque "Conveyor (Cinta)" en el OB1 dos veces, cada una de ellas con
una conexin diferente. Para cada llamada se define un bloque de datos de instancia distinto.
Programa en diagrama de funciones (FUP):
Pgina 38 de 40
Pgina 39 de 40
A travs del mismo bloque de cinta se pueden controlar dos cintas de forma independiente.
nicamente debe asignarse en cada llamada un bloque de datos de instancia distinto.
Pgina 40 de 40