Documentos de Académico
Documentos de Profesional
Documentos de Cultura
M Dulos de Funci N
M Dulos de Funci N
Automatizacin Industrial
ndice
TEMA Mdulos de Funcin
1. Llamadas a Mdulos
2. Partes de un Mdulo
2.1 Variables Locales
3. Funciones FCs
4. Mdulos de Funcin FBs
5. Parmetros de Funciones
5.1 Parmetros Formales
5.2 Parmetros Actuales
6. Mdulos de Funcin y Mdulos de Datos
6.1 Mdulos de Datos a Instancia
6.2 Mdulos de Multi-Instancia
Llamada a Mdulos
Mdulo que llama
(OB, FB, FC, SFB, SFC)
Ejecucin del
Programa
Instruccin que llama
a otro mdulo
Mdulo llamado
(FB, FC, SFB, SFC)
Ejecucin del
Programa
(FB, FC, SFB, SFC)
Ejecucin del
Programa
Instruccin que llama
a otro mdulo
Ejecucin del
Programa
(FB, FC, SFB, SFC)
Fin de Mdulo:
BEC. Fin de mdulo condicionado al RLO
BEU. Fin de mdulo incondicional
BE. Fin de mdulo. ltima sentencia del mdulo
Partes de un Mdulo
Tabla de
Declaracin
de Variables
Seccin de
Cdigo
ENO
Datos Locales
Smbolo
Tipo de Declaracin
Valor Inicial
Tipo de Datos
Comentario
Direccin
Declaracin
Nombre
Valor inicial
Comentario
0.0
temp
temporal1
Tipo
INT
Variable temporal
2.0
temp
temporal2
REAL
Variable temporal
Smbolo
Tipo de Declaracin
Valor Inicial
Tipo de Datos
Comentario
Declaracin
Nombre
0.0
temp
temporal1
Tipo
INT
Valor inicial
0
Comentario
Variable temporal
2.0
stat
Total
INT
Variable esttica
Ejemplo:
FB Totalizador
DB TotalizadorDato
0.0
temp
In
INT
0.0
temp
In
INT
2.0
stat
Total
INT
2.0
stat
Total
INT
L
L
+I
T
#In
#Total
#Total
Funciones FCs
Las Funciones son mdulos de cdigo que se ejecutan al ser llamadas desde otro
mdulo. Cuando se la llama, la funcin acta como una subrutina del programa.
Cuando termina de ejecutar su cdigo, el control se devuelve al mdulo y al
segmento desde el cual fue llamada.
Mdulo Subrutina FC
Ejecucin
del programa
Ejecucin del
Programa
DB10
Llamada a un
mdulo con los
parmetros
actuales
Ejemplo:
Call FB1,DB10
Copia la parte de
declaracin local del FB
FB1
rea de
Declaracin Local
Seccin de Cdigo
del mdulo llamado
usando los valores
del rea de
memoria local.
Parmetros de Funciones
Declaracin de los Parmetros:
Los parmetros de un mdulo representan el interfaz entre el modulo que llama y
el mdulo llamado
Soportan parmetros las funciones y los mdulos de funcin
Los parmetros pueden declararse de IN, OUT IN_OUT
// Primera llamada
CALL Adder
Numb_1 := MW 30
Numb_2 := MW 32
Numb_3 := MW 34
Result := MW 40
#L
Numb_1
#L
Numb_2
I+
#L
+I
Parmetros Parmetros
del mdulo actuales
#T
// Primera llamada
L
MW 30
L
MW 32
+I
L
MW 34
+I
T
MW 40
Numb_3
// Segunda llamada
CALL Adder
Numb_1 :=DB 10.DBW 30
Numb_2 :=DB10.DBW 32
Numb_3 :=DB10.DBW 34
Result :=DB10.DBW 40
Programa ejecutado
Result
Parmetros
formales
// Segunda llamada
L
DB 10.DBW 30
L
DB10.DBW 32
+I
L
DB10.DBW 34
+I
T
DB10.DBW 40
Declaracin de Parmetros
Los nombres de los parmetros de hasta 24 caracteres
El nombre de un parmetro no puede ser una palabra clave
Los parmetros IN/OUT pueden ser tipos de datos elementales, complejos o definidos
por el usurio
El valor inicial y el comentario son opcionales
Direccin
Smbolo
Tipo de Declaracin
Valor Inicial
Tipo de Datos
Comentario
Parmetros Formales
Los tipos de parmetros los clasifica en: datos simples, datos compuestos y parmetros
Parmetros Actuales
Cuando se llama a un mdulo se inicializan los parmetros con los
parmetros actuales con los que el mdulo se ejecuta
Pueden ser constantes, direcciones absolutas, direcciones simblicas, ..
El parmetro actual debe ser del mismo tipo que el parmetro del bloque
Cuando se llama a funciones se deben inicializar todos los parmetros
En los FBs es opcional inicializar todos o slo alguno de los parmetros
Valor_1
Input
Medida_1
Input
Valor_2
Output
Medida_2
Output
Valor_Total
In/Out
Medida_Total
In/Out
Call FC10
Medida_1:=Valor_1
Medida_2:=Valor_2
Medida_Total:= Valor_Total
OB1
FC1
MW5
Entrada1 Salida_A
3369
Entrada2
MW10
Entrada3
AW12
0.0
in
Entrada1
int
2.0
in
Entrada2
int
4.0
in
Entrada3
int
6.0
out
Salida_A
int
8.0
temp
TEMP1
int
muestra 1
constante
distancia
resultado
intermedia
ADD_I
#Entrada1 IN1
#Entrada2 IN2
#TEMP1
#Salida_A
FC1
SUB_I
MW2
Entrada1 Salida_A
6869
Entrada2
MW16
Entrada3
AW20
#TEMP1 IN1
#Entrada3 IN2
FBD
DB45
EN
Direcciones Actuales
donde residen los datos
o se almacenarn
I 1.0
I 1.1
MW20
FB7
ENO
Comenzar Correr
Parar
Longitud
FB sin DB a Instancia
Tabla de Declaracin
usando la memoria local
Seccin de
Cdigo
FC
Tabla de Declaracin
usando la memoria local
Seccin de
Cdigo
Registro DI
Bit
DBX y.x
DIX y.x
Byte
DBB y
DIB y
Palabra
DBW y
DIW y
Doble palabra
DBD y
DID y
Direccionamiento Completo
Se hace en dos pasos:
asignar nombre simblico al DB en la tabla de smbolos. p.e. MOTOR1 al DB 51
asignar direccin de los datos en el mdulos de datos. p.e. PAR a la DBW 20
Con direccionamineto simblico queda: L MOTOR1.PAR
Con direccionamiento absoluto queda: L
DB 51.DBW 20
Direccionamiento Partido
OPN DB 25
L DBW 10
OPN DB x
OPN DB nombre
OPN DI x
OPN DI nombre
Direccionamiento Completo
L DB25.DBW 10
DBLG // longitud de un DB
DBNO // nmero de un DB
DILG // longitud de un DI
DINO // nmero de un DI
CDB
FB que ejecuta
las instrucciones
lgicas
Usar este
rea primero
Mdulo de Datos
Multi-instancia
asociado a un FB
Segmentos dentro
FB que maneja
la seccin del mdulo
de datos a instancia
que mantendr los
ltimos parmetros
Usar este
rea despus
Variables usadas:
setpoint_value: real
sum: real
actual_value: real
DB Multi instancia