Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Principios de Programacionm Step7
Principios de Programacionm Step7
STEP7
Automatizacin Industrial
ndice
TEMA Principios de Programacin en STEP7
1. Programas en la CPU
2. Edicin de Programas
2.1 IEC 1131-3
2.2 Instrucciones/Operandos/Mdulos
3. Estructura de Programas
4. Tipos de Mdulos
4.1 Mdulos de Sistema
4.2 Mdulos de Usuario
5. Tipos de Procesamiento
6. Tiempos de Ciclo y Respuesta
7. Proyectos STEP7
Programas en la CPU
Sistema operativo: Est contenido en cada CPU y organiza todas las funciones y
procesos de la CPU no relacionados con una tarea de control especfica.
Entre sus funciones estn:
gestionar el arranque normal y completo del PLC/API
actualizar la imagen del proceso de entradas y salidas
llamar al programa de usuario
detectar alarmas y llamar a los programas de atencin a las mismas
reconocer y tratar los errores
administrar las reas de memoria
comunicar con unidades de programacin y otros sistemas de supervisin
Programa de usuario: Hay que crearlo y cargarlo la CPU. Contiene todas las funciones
necesarias para la tarea de control de una aplicacin especfica.
Entre las tareas del programa de usuario estn:
definir las condiciones de arranque (completo normal) de la CPU
tratar datos del proceso (funciones combinatorias, valores analgicos, ....)
reaccionar a alarmas
tratamiento de perturbaciones en el funcionamiento normal del programa
Ttulo
Contenidos
Parte 1
Informacin general
Parte 2
Especificaciones
y ensayos de los
equipos
Parte 3 Lenguajes de
programacin
Parte 4
Parte 5
Comunicaciones
IEC 1131-3
FBD
Function Block Diagram
STEP 7
FBD/FUP
Function Block Diagram
Diagrama de contactos
LD
Ladder Diagram
LAD/KOP
Ladder Logic
Lista de instrucciones
IL
Instruction List
STL/AWL
Statement List
Texto estructurado
ST
Structured Text
SCL
Structured Control Language
Grfico secuencial
SFC
Sequential Function Chart
GRAPH7
Diagrama de bloques
CFC
Continuous Function Chart
Diagrama de grfico
de estados
HIGRAPH7
Programas de Usuario
Bloque en el Programa de Usuario
STEP 7 permite estructurar el programa. Esto aporta las siguientes ventajas:
Edicin de un Programa
Programa
conjunto de todas las instrucciones y convenciones para el tratamiento de las
seales, por medio de las cuales se acta sobre la instalacin a controlar
(proceso), de acuerdo con unas rdenes de control
Estructura
Representacin
Tcnica modular
Segmentos
Comentarios
FBD / FUP
LAD / KOP
STL / AWL
Instruccin
Instruccin
unidad ms pequea autnoma del programa y constituye una
orden de trabajo para el procesador
Operacin
Operando
Instruccin
002: A
Parte operacional
Operando
Identificacin Parmetro
I 1.0
Parmetro
Identificador del operando
Direccin relativa de la instruccin en el
mdulo respectivo
Operandos
OPERANDOS
Entradas
NEMONICO
FUNCION
Salidas
Marcas
Datos
Tiempos
Contadores
Periferia
Constantes
Mdulos
OB, FB, FC
SFB, SFC
Ejemplo de Programa
Esquema STL/AWL
Elctrico
FBD/FUP
LAD/KOP
S1
S2
A I 0.0
AN I 0.1
= Q 4.5
I 0.0
&
I 0.1
H1
Programacin
Dividida
Arranque
Programacin
Estructurada
Arranque
Receta A
FB1
FC1
Receta B
OB1
OB1
OB1
Mezclador
FC2
FB2
Descarga
FC3
Programa Lineal:
Programa Estructurado:
Todas la instrucciones
estn contenidas en un
mdulo (normalmente
en el mdulo de
organizacin, OB1)
..
..
..
.
ltima instruccin
Programacin Lineal
OB1: Ejemplo de de un simple mdulo lineal en FUP
I 0.0
>=1
Q 4.0
&
Q 4.0
I 0.1
I 0.2
&
I 0.3
Q 4.1
I 0.4
I 0.2
I 0.3
I 0.4
Q 4.1
Programacin Dividida
FC
>=1
OB1
Ingrediente_A
Ingrediente_B
&
=
(CALL)
&
(CALL)
>=1
FC
Mezclador
Descarga
(CALL)
>=1
(CALL)
&
FC
>=1
FC
OB
Mdulo subrutina
Procesamiento
del programa
Instruccin que llaman
otros mdulos
Procesamiento
del programa
Fin de mdulo
FC
Sistema Operativo
Programacin Estructurada I
OB1
FC
FB
FB
FC
SFC
SFB
Otros
OBs
Programacin Estructurada II
Motor
OB1
>=1
&
=
Descarga
>=1
&
=
&
=
=
Mdulo 7
Mdulo 32
Procesar
mdulo 7
Lamar al
mdulo 32
..
..
.
Mdulo R
...
Llamar al
mdulo X
Retornar
Procesar
mdulo 10
Retornar
Mdulo 10
Retornar
Retornar
Retornar
Nivel1
Nivel2
Nivel3
Niveles 4..7
Nivel 8
Sistema operativo
Inicio
del OB 1
ciclo
FB 10
Tren
CINTA A
CALL FB 10
CALL FC 50
FC 50
DB inst. 10
FB 20
CINTA B
CALL FB 20
CALL FC 50
DB inst. 2
Accionamiento
Tiempo
Proceso
FB
FC
SFB
FB
FB
SFC
Mdulo de
Organizacin
Error
Modos de operacin del sistema
Bloques
Tamao
Leyenda:
Mdulo de
datos de
instancia
13 14
128
8 Kby
128 (0-127)
8 Kby
Funcin (FC)
128
128 (0-127)
8 Kby
127
127(1-127)
8 Kby
53
7 7
Caractersticas
Funcin del
Sistema
(SFC)
Mdulos de
Funciones
del Sistema
(SFB)
Dato de Sistema
(SDB)
Mdulos de Usuario
Tipo de Mdulo
Caractersticas
Organizacin (OB)
Mdulo de
funcin (FB)
Funcin (FC)
Mdulo de Datos
(DB)
Mdulo de organizacin
Ciclo libre
OB1
Alarmas horarias
OB 10 a OB 17
Alarmas de retardo
OB 20 a OB 23
de 3 a 6
Alarmas cclicas
OB 30 a OB 38
de 7 a 15
Alarmas de Proceso
OB 40 a OB 47
de 16 a 23
Alarma de
multiprocesamiento
OB 60
25
Error de redundancia
OB 70 y OB 72
25 y 28
Errores asncronos
OB 80 a OB 87
26
Ciclo no prioritario
OB 90
29
Arranque
OB 100 a OB 102
27
Errores sncronos
OB 121y OB 122
Prioridad
Ejecucin Cclica I
Sistema operativo Programa de usuario
Conectar
Ciclo
Programa
principal
Ejecucin Cclica II
Sistema operativo Programa de usuario
Conectar
Programa
de usuario
Ciclo
Programa
principal
Alarma
Interrupcin
Programa
de alarma
Error
Interrupcin
Tratamiento
de errores
Inicio
del
ciclo
Sistema operativo
OB 1
FB 1
FC 1
DB inst. 1
FB 2
DB inst. 2
FC 1
FB 1
SFC 1
DB inst. 1
DB 1
Ejecucin
del programa
Instruccin que llama a
otro mdulo
Mdulo llamado
(FB, FC, SFB, SFC)
Ejecucin
del programa
Fin de mdulo
Tiempo de Ciclo I
El tiempo de ciclo es el tiempo que el S.O. necesita para:
ejecutar el programa cclico
partes del programa que interrumpen al cclico (ejecucin otros OBs)
actividades del sistema (p.e. actualizacin de imgenes, ..)
El tiempo de ciclo se vigila
El tiempo de ciclo no es igual para cada ciclo
Tiempo de Ciclo II
La figura muestra la funcin del tiempo de vigilancia del ciclo en la
ejecucin del programa en las CPUs
Funciones FCs
Son mdulos programables. Con parmetros absolutos o fromales
Es un mdulo lgico sin memoria
Las variables temporales de FCs se memorizan en la pila de datos locales
Los datos locales se pierden tras la ejcucin de las FCs
Para memorizar los datos, pueden utilizar mdulos de datos globales.
A los datos locales de una FC no se le pueden asignar valores iniciles
Como una FC no tiene memoria, se han de indicar siempre parmetros actuales
Las FCs se pueden utilizar para:
devolver un valor de funcin al mdulo invocante (p.e. Fun. Matemticas)
ejecutar una funcin tecnolgica (p.e. Una combinacin binaria)
FB 20: Motor
Parmetros formales
DB 202: Motor_2
Parmetros actuales (reales)
Arranque: INT IN
Revoluciones: INT IN
Historial: DT IN_OUT
Tiempo efec.: TIME IN_OUT
FC 10
FC 11
FC 12
DB
global
(DB 20)
Acceso desde
todos los bloques
SFBs:
Es un FB integrado en la CPU
Forman parte del S.O.
No se cargan como parte integrante del programa
Al igual que los FBs, son mdulos con memoria
Hay que crear los DBs de instancia y cargarlos en la CPU como parte
intrgrante del programa.
Las CPUs ofrecen SFBs:
para la comunicacin va enlaces configurados
para las funciones especiales
SFCs:
Es una funcin programada integrada en la CPU
Las SFC se pueden llamar desde el programa de usuario
Forman parte del S.O.
No se cargan como parte integrante del programa
Al igual que las FCs, las SFCs son mdulos sin memoria
Las CPUs ofrecen SFCs para un conjunto muy amplio de aplicaciones
DB45
FBD/FUP
FB7
EN
Direccin actual
de los datos
I 1.0
I 1.1
MW20
ENO
Start
ejecutar
Stop
Longitud
M2.1
FB parmetro formal
LT
LT
LT
Botn de la seleccin
del tanque
LT
0 0 0 0
LT A
Ingrediente
Ingrediente B
Mdulo de entrada
Mdulo OB 1
A I 0.1
A I 1.1
= Q 4.0
.
.
.
.
Mdulo de salida
I2.7
I0.5
I03
Q4.4
Q4.3
PII
Byte 0
Byte 1
Byte 2
.
.
.
.
PIQ
1
Programa
de usuario
A(
O I 2.0
O Q 4.3
)
AN I 2.7
AN I 0.5
AN I 0.3
= Q 4.4
Byte 0
Byte 1
Byte 2
.
.
.
.
Tipo de Alarma
OBs de alarma
Aplicacin
Alarma horaria
OB 10 a OB 17
Alarma de retardo
OB 20 a OB 23
Alarma cclica
OB 30 a OB 38
Alarma de proceso
OB 40 a OB 47
CON
Procesamiento Cclico
procesamiento normal. OB1
Alarma
del proceso
Alarma de Proceso
Alarma
cclica
Alarma cclica
Alarma
horaria
Alarma
de retardo
Alarma horaria
Alarma de retardo
Tratamiento de Error
en funcin de fallos
slo en algunas gamas
Alarma
por errores
Tiempo de Ciclo
Definicin: El tiempo de ciclo es el tiempo que transcurre durante un
ciclo de programa. Est constituido por:
Tiempo de ejecucin del S.O.
Tiempo de transferencia de las imgenes del proceso (PII, PIQ)
Tiempo de ejecucin del programa
Temporizadores
Funciones integradas
Carga por alarmas
Carga por comunicacin (Profibus-DP, MPI)
S.O.
Programa
de usuario
Tiempo de ciclo
PII S.O.
Programa de usuario
A I 1.0
= Q 4.0
Interrupciones
por alarmas
PIQ PII
Tiempo de Respuesta
El tiempo de respuesta es el tiempo que transcurre entre el reconocimiento de una seal
de entrada y el cambio de estado de la seal de la salida correspondiente. Depende de:
Tiempo de ciclo
Retardo en las entradas y salidas
Tiempos de rotacin adicionales en la red Profibus
Tiempo de reaccin
Retardo de
los mdulos
de entrada
1
I 1.0 0
Q 4.0 0
tiempo
PII S.O.
PII
Estructura de un Proyecto S7
Programas S7/M7 (no asignados a ningn HW)
Programas de usuario con mdulos S7:
OBs, FBs, FCs, DBs,.......
Fuentes AWL para programas de usuario
Estacin HW de un S7 - 400
CPU programable de un S7-400
Programas S7/M7 (asignados a HW)
Programas de usuario (off-line)
Fuentes AWL
M7-FM programable
Mdulos de STEP7
Partes de un Mdulo
Tabla de
Declaracin
de Variables
Seccin de
Cdigo