Primera version
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
DATA_BLOCK "DB15990_FAT_DI"
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
NON_RETAIN
|
||||
"FB15990_ZC_FAT_DI"
|
||||
|
||||
BEGIN
|
||||
|
||||
END_DATA_BLOCK
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
DATA_BLOCK "DB15991_FAT_DO"
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
NON_RETAIN
|
||||
"FB15991_ZC_FAT_DO"
|
||||
|
||||
BEGIN
|
||||
|
||||
END_DATA_BLOCK
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
DATA_BLOCK "DB15992_FAT_AI"
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
NON_RETAIN
|
||||
"FB15992_ZC_FAT_AI"
|
||||
|
||||
BEGIN
|
||||
|
||||
END_DATA_BLOCK
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
DATA_BLOCK "DB15993_FAT_AO"
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
NON_RETAIN
|
||||
"FB15993_ZC_FAT_AO"
|
||||
|
||||
BEGIN
|
||||
|
||||
END_DATA_BLOCK
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
FUNCTION_BLOCK "FB15990_ZC_FAT_DI"
|
||||
TITLE = FB15990_ZC_FAT_DI
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
//Bloque de funcion para pruebas de entradas digitales
|
||||
VAR_INPUT
|
||||
ByteEntrada { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : DInt := 0; // Direccion Byte entrada
|
||||
Area { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Int := 0; // 0= Input / 1= Output / 2= Marcas / 3= DB / 4= Periferia
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Input_0 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 0
|
||||
Input_1 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 1
|
||||
Input_2 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 2
|
||||
Input_3 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 3
|
||||
Input_4 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 4
|
||||
Input_5 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 5
|
||||
Input_6 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 6
|
||||
Input_7 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Bool; // Bit 7
|
||||
END_VAR
|
||||
|
||||
VAR_TEMP
|
||||
t_Area : Byte;
|
||||
t_Input : Byte;
|
||||
END_VAR
|
||||
|
||||
VAR CONSTANT
|
||||
INPUT : Byte := 16#81; // Input
|
||||
OUTPUT : Byte := 16#82; // Output
|
||||
MARCAS : Byte := 16#83; // Marcas
|
||||
"DB" : Byte := 16#84; // DB
|
||||
PERIFERIA : Byte := 16#1; // Entrada de periferia (solo S7-1500)
|
||||
END_VAR
|
||||
|
||||
|
||||
BEGIN
|
||||
REGION DESCRIPCION
|
||||
(*
|
||||
###### (C)Copyright ZeusControl 2023 - 2023
|
||||
|
||||
---
|
||||
### Información del Sistema
|
||||
| Hardware Compatible | Entorno de Ingeniería |
|
||||
|---------------------|-----------------------|
|
||||
| PLC serie 1200/1500 | TIA Portal 18 |
|
||||
|
||||
---
|
||||
> **Restricciones:** Ninguna.
|
||||
|
||||
---
|
||||
### Descripción Funcional
|
||||
|
||||
Función para el forzado de las entradas digitales para las pruebas FAT de los cuadros.
|
||||
|
||||
---
|
||||
### Dependencias Requeridas
|
||||
| Tipo | Elementos |
|
||||
|------|-----------|
|
||||
| FC | - |
|
||||
| FB | - |
|
||||
| DB | - |
|
||||
| UDT | - |
|
||||
|
||||
---
|
||||
### Historial de Cambios
|
||||
| Versión | Fecha | Técnico | Cambios |
|
||||
|----------|------------|---------|---------|
|
||||
| 01.00.00 | 12.09.2023 | (ABH) | Primera version. |
|
||||
*)
|
||||
END_REGION DESCRIPCION
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION GESTION_TIPO
|
||||
|
||||
// Gestion de tipo
|
||||
CASE #Area OF
|
||||
0:
|
||||
#t_Area := #INPUT;
|
||||
1:
|
||||
#t_Area := #OUTPUT;
|
||||
2:
|
||||
#t_Area := #MARCAS;
|
||||
3:
|
||||
#t_Area := #DB;
|
||||
4:
|
||||
#t_Area := #PERIFERIA;
|
||||
|
||||
ELSE
|
||||
#t_Area := #INPUT;
|
||||
END_CASE;
|
||||
|
||||
END_REGION GESTION_TIPO
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION LECTURA
|
||||
|
||||
// Lectura de BYTE de entradas
|
||||
#t_Input := PEEK_BYTE(area := #t_Area, dbNumber := 0, byteOffset := #ByteEntrada);
|
||||
|
||||
END_REGION LECTURA
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION SALIDAS
|
||||
|
||||
// Gestion de salidas
|
||||
#Input_0 := #t_Input.%X0;
|
||||
#Input_1 := #t_Input.%X1;
|
||||
#Input_2 := #t_Input.%X2;
|
||||
#Input_3 := #t_Input.%X3;
|
||||
#Input_4 := #t_Input.%X4;
|
||||
#Input_5 := #t_Input.%X5;
|
||||
#Input_6 := #t_Input.%X6;
|
||||
#Input_7 := #t_Input.%X7;
|
||||
|
||||
END_REGION SALIDAS
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
FUNCTION_BLOCK "FB15991_ZC_FAT_DO"
|
||||
TITLE = FB15991_ZC_FAT_DO
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
//Bloque de funcion para pruebas de salidas digitales
|
||||
VAR_INPUT
|
||||
ByteSalida : DInt := 0; // Direccion Byte salida
|
||||
Area : Int := 1; // 0= Input / 1= Output / 2= Marcas / 3= DB / 4= Periferia
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
OrdenSalida : Array[0..7] of Bool;
|
||||
END_VAR
|
||||
VAR RETAIN
|
||||
s_oldByteSalida : DInt;
|
||||
END_VAR
|
||||
|
||||
VAR_TEMP
|
||||
for_i : Int;
|
||||
t_Area : Byte;
|
||||
END_VAR
|
||||
|
||||
VAR CONSTANT
|
||||
INPUT : Byte := 16#81; // Input
|
||||
OUTPUT : Byte := 16#82; // Output
|
||||
MARCAS : Byte := 16#83; // Marcas
|
||||
"DB" : Byte := 16#84; // DB
|
||||
PERIFERIA : Byte := 16#1; // Entrada de periferia (solo S7-1500)
|
||||
END_VAR
|
||||
|
||||
|
||||
BEGIN
|
||||
REGION DESCRIPCION
|
||||
(*
|
||||
###### (C)Copyright ZeusControl 2023 - 2024
|
||||
|
||||
---
|
||||
### Información del Sistema
|
||||
| Hardware Compatible | Entorno de Ingeniería |
|
||||
|---------------------|-----------------------|
|
||||
| PLC serie 1200/1500 | TIA Portal 18 |
|
||||
|
||||
---
|
||||
> **Restricciones:** Ninguna.
|
||||
|
||||
---
|
||||
### Descripción Funcional
|
||||
|
||||
Función para el forzado de las salidas digitales para las pruebas FAT de los cuadros.
|
||||
|
||||
---
|
||||
### Dependencias Requeridas
|
||||
| Tipo | Elementos |
|
||||
|------|-----------|
|
||||
| FC | - |
|
||||
| FB | - |
|
||||
| DB | - |
|
||||
| UDT | - |
|
||||
|
||||
---
|
||||
### Historial de Cambios
|
||||
| Versión | Fecha | Técnico | Cambios |
|
||||
|----------|------------|---------|---------|
|
||||
| 01.00.00 | 12.09.2023 | (ABH) | Primera version. |
|
||||
| 01.00.01 | 24.05.2024 | (ABH) | Se añade gestion desactivacion de salidas al cambio de direccion. |
|
||||
*)
|
||||
END_REGION DESCRIPCION
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION GESTION_TIPO
|
||||
|
||||
// Gestion de tipo
|
||||
CASE #Area OF
|
||||
0:
|
||||
#t_Area := #INPUT;
|
||||
1:
|
||||
#t_Area := #OUTPUT;
|
||||
2:
|
||||
#t_Area := #MARCAS;
|
||||
3:
|
||||
#t_Area := #DB;
|
||||
4:
|
||||
#t_Area := #PERIFERIA;
|
||||
|
||||
ELSE
|
||||
#t_Area := #INPUT;
|
||||
END_CASE;
|
||||
|
||||
END_REGION GESTION_TIPO
|
||||
|
||||
|
||||
REGION SALIDAS
|
||||
|
||||
// Gestion desactivacion salidas al cambio de direccion
|
||||
IF #s_oldByteSalida <> #ByteSalida THEN
|
||||
FOR #for_i := 0 TO 7 DO
|
||||
|
||||
POKE_BOOL(area := #t_Area,
|
||||
dbNumber := 0,
|
||||
byteOffset := #s_oldByteSalida,
|
||||
bitOffset := #for_i,
|
||||
value := FALSE);
|
||||
|
||||
#OrdenSalida[#for_i] := FALSE;
|
||||
|
||||
END_FOR;
|
||||
END_IF;
|
||||
|
||||
// Escritura de bit de salidas
|
||||
FOR #for_i := 0 TO 7 DO
|
||||
|
||||
POKE_BOOL(area := #t_Area,
|
||||
dbNumber := 0,
|
||||
byteOffset := #ByteSalida,
|
||||
bitOffset := #for_i,
|
||||
value := #OrdenSalida[#for_i]);
|
||||
|
||||
END_FOR;
|
||||
|
||||
#s_oldByteSalida := #ByteSalida;
|
||||
|
||||
END_REGION SALIDAS
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
FUNCTION_BLOCK "FB15992_ZC_FAT_AI"
|
||||
TITLE = FB15992_ZC_FAT_AI
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
//Bloque de funcion para pruebas de entradas analogicas
|
||||
VAR_INPUT
|
||||
ByteEntrada { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : DInt := 0; // Direccion Byte entrada
|
||||
Area { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Int := 0; // 0= Input / 1= Output / 2= Marcas / 3= DB / 4= Periferia
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Input_Raw { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : DInt; // Valor bruto del canal
|
||||
Input_0_100 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Real; // Valor porcentaje
|
||||
END_VAR
|
||||
|
||||
VAR_TEMP
|
||||
t_Area : Byte;
|
||||
t_Input : DInt;
|
||||
END_VAR
|
||||
|
||||
VAR CONSTANT
|
||||
INPUT : Byte := 16#81; // Input
|
||||
OUTPUT : Byte := 16#82; // Output
|
||||
MARCAS : Byte := 16#83; // Marcas
|
||||
"DB" : Byte := 16#84; // DB
|
||||
PERIFERIA : Byte := 16#1; // Entrada de periferia (solo S7-1500)
|
||||
VALOR_MAX_TARJETA : Real := 27648.0; // Valor maximo de tarjeta
|
||||
END_VAR
|
||||
|
||||
|
||||
BEGIN
|
||||
REGION DESCRIPCION
|
||||
(*
|
||||
###### (C)Copyright ZeusControl 2023 - 2023
|
||||
|
||||
---
|
||||
### Información del Sistema
|
||||
| Hardware Compatible | Entorno de Ingeniería |
|
||||
|---------------------|-----------------------|
|
||||
| PLC serie 1200/1500 | TIA Portal 18 |
|
||||
|
||||
---
|
||||
> **Restricciones:** Ninguna.
|
||||
|
||||
---
|
||||
### Descripción Funcional
|
||||
|
||||
Función para el forzado de las entradas analogicas para las pruebas FAT de los cuadros.
|
||||
|
||||
---
|
||||
### Dependencias Requeridas
|
||||
| Tipo | Elementos |
|
||||
|------|-----------|
|
||||
| FC | - |
|
||||
| FB | - |
|
||||
| DB | - |
|
||||
| UDT | - |
|
||||
|
||||
---
|
||||
### Historial de Cambios
|
||||
| Versión | Fecha | Técnico | Cambios |
|
||||
|----------|------------|---------|---------|
|
||||
| 01.00.00 | 12.09.2023 | (ABH) | Primera version. |
|
||||
*)
|
||||
END_REGION DESCRIPCION
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION GESTION_TIPO
|
||||
|
||||
// Gestion de tipo
|
||||
CASE #Area OF
|
||||
0:
|
||||
#t_Area := #INPUT;
|
||||
1:
|
||||
#t_Area := #OUTPUT;
|
||||
2:
|
||||
#t_Area := #MARCAS;
|
||||
3:
|
||||
#t_Area := #DB;
|
||||
4:
|
||||
#t_Area := #PERIFERIA;
|
||||
|
||||
ELSE
|
||||
#t_Area := #INPUT;
|
||||
END_CASE;
|
||||
|
||||
END_REGION GESTION_TIPO
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION LECTURA
|
||||
|
||||
// Lectura de entrada analogica
|
||||
#t_Input := WORD_TO_INT(PEEK_WORD(area := #t_Area, dbNumber := 0, byteOffset := #ByteEntrada));
|
||||
|
||||
END_REGION LECTURA
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION SALIDAS
|
||||
|
||||
// Gestion de salidas
|
||||
#Input_Raw := #t_Input;
|
||||
#Input_0_100 := (DINT_TO_REAL(#t_Input) * 100) / #VALOR_MAX_TARJETA;
|
||||
|
||||
END_REGION SALIDAS
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
FUNCTION_BLOCK "FB15993_ZC_FAT_AO"
|
||||
TITLE = FB15993_ZC_FAT_AO
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
AUTHOR : ABH
|
||||
FAMILY : ZeusControl
|
||||
VERSION : 1.0
|
||||
//Bloque de funcion para pruebas de salidas analogicas
|
||||
VAR_INPUT
|
||||
ByteSalida { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : DInt := 0; // Direccion Byte entrada
|
||||
Area { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Int := 1; // 0= Input / 1= Output / 2= Marcas / 3= DB / 4= Periferia
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Salida_Raw { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : DInt; // Valor bruto del canal
|
||||
END_VAR
|
||||
|
||||
VAR_IN_OUT
|
||||
Salida_0_100 { S7_HiddenAssignment := 'HideIfNoParamAssigned'} : Real; // Valor en porcentaje
|
||||
END_VAR
|
||||
|
||||
VAR RETAIN
|
||||
s_oldByteSalida : DInt;
|
||||
END_VAR
|
||||
|
||||
VAR_TEMP
|
||||
t_Area : Byte;
|
||||
t_Salida : Int;
|
||||
t_Salida_0_100 : Real;
|
||||
END_VAR
|
||||
|
||||
VAR CONSTANT
|
||||
INPUT : Byte := 16#81; // Input
|
||||
OUTPUT : Byte := 16#82; // Output
|
||||
MARCAS : Byte := 16#83; // Marcas
|
||||
"DB" : Byte := 16#84; // DB
|
||||
PERIFERIA : Byte := 16#1; // Entrada de periferia (solo S7-1500)
|
||||
VALOR_MAX_TARJETA : Real := 27648.0; // Valor maximo de tarjeta
|
||||
VALOR_CERO : Word;
|
||||
END_VAR
|
||||
|
||||
|
||||
BEGIN
|
||||
REGION DESCRIPCION
|
||||
(*
|
||||
###### (C)Copyright ZeusControl 2023 - 2023
|
||||
|
||||
---
|
||||
### Información del Sistema
|
||||
| Hardware Compatible | Entorno de Ingeniería |
|
||||
|---------------------|-----------------------|
|
||||
| PLC serie 1200/1500 | TIA Portal 18 |
|
||||
|
||||
---
|
||||
> **Restricciones:** Ninguna.
|
||||
|
||||
---
|
||||
### Descripción Funcional
|
||||
|
||||
Función para el forzado de las salidas analogicas para las pruebas FAT de los cuadros.
|
||||
|
||||
---
|
||||
### Dependencias Requeridas
|
||||
| Tipo | Elementos |
|
||||
|------|-----------|
|
||||
| FC | - |
|
||||
| FB | - |
|
||||
| DB | - |
|
||||
| UDT | - |
|
||||
|
||||
---
|
||||
### Historial de Cambios
|
||||
| Versión | Fecha | Técnico | Cambios |
|
||||
|----------|------------|---------|---------|
|
||||
| 01.00.00 | 12.09.2023 | (ABH) | Primera version. |
|
||||
| 01.00.00 | 24.05.2024 | (ABH) | Se añade gestion desactivacion de salidas al cambio de direccion. |
|
||||
*)
|
||||
END_REGION DESCRIPCION
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION GESTION_TIPO
|
||||
|
||||
// Gestion de tipo
|
||||
CASE #Area OF
|
||||
0:
|
||||
#t_Area := #INPUT;
|
||||
1:
|
||||
#t_Area := #OUTPUT;
|
||||
2:
|
||||
#t_Area := #MARCAS;
|
||||
3:
|
||||
#t_Area := #DB;
|
||||
4:
|
||||
#t_Area := #PERIFERIA;
|
||||
|
||||
ELSE
|
||||
#t_Area := #INPUT;
|
||||
END_CASE;
|
||||
|
||||
END_REGION GESTION_TIPO
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION CALCULOS
|
||||
|
||||
// Calculo de valor puntos tarjeta en base a porcentaje
|
||||
#t_Salida_0_100 := #Salida_0_100;
|
||||
IF #t_Salida_0_100 < 0.0 THEN
|
||||
#t_Salida_0_100 := 0.0;
|
||||
END_IF;
|
||||
IF #t_Salida_0_100 > 100.0 THEN
|
||||
#t_Salida_0_100 := 100.0;
|
||||
END_IF;
|
||||
#t_Salida := REAL_TO_INT((#t_Salida_0_100 * #VALOR_MAX_TARJETA) / 100);
|
||||
|
||||
|
||||
END_REGION CALCULOS
|
||||
|
||||
|
||||
// ==========================================================================================================
|
||||
REGION SALIDAS
|
||||
|
||||
// Gestion desactivacion salidas al cambio de direccion
|
||||
IF #s_oldByteSalida <> #ByteSalida THEN
|
||||
POKE(area := 16#82,
|
||||
dbNumber := 0,
|
||||
byteOffset := #s_oldByteSalida,
|
||||
value := #VALOR_CERO);
|
||||
#Salida_0_100 := 0;
|
||||
END_IF;
|
||||
|
||||
// Escritura de salida analogica
|
||||
POKE(area := 16#82,
|
||||
dbNumber := 0,
|
||||
byteOffset := #ByteSalida,
|
||||
value := INT_TO_WORD(#t_Salida));
|
||||
|
||||
// Gestion de salidas
|
||||
#Salida_Raw := #t_Salida;
|
||||
#s_oldByteSalida := #ByteSalida;
|
||||
|
||||
END_REGION SALIDAS
|
||||
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
Reference in New Issue
Block a user