chore: Se añade marca modo FAT en el DB1. Se modifica FC50_MAIN para poder gestionar la marca FAT.
This commit is contained in:
@@ -44,6 +44,8 @@ DATA_BLOCK DB1_SYS
|
|||||||
ResetEntidades : Bool;
|
ResetEntidades : Bool;
|
||||||
{ S7_MLC := "MLC_3pE" }
|
{ S7_MLC := "MLC_3pE" }
|
||||||
SincronizarFecha : Bool;
|
SincronizarFecha : Bool;
|
||||||
|
{ S7_MLC := "MLC_dm" }
|
||||||
|
FAT : Bool;
|
||||||
{ S7_MLC := "MLC_3v5" }
|
{ S7_MLC := "MLC_3v5" }
|
||||||
WatchDog : Int;
|
WatchDog : Int;
|
||||||
Pulsador : STRUCT
|
Pulsador : STRUCT
|
||||||
@@ -124,6 +126,7 @@ DATA_BLOCK DB1_SYS
|
|||||||
FlipFlop5seg := TRUE;
|
FlipFlop5seg := TRUE;
|
||||||
ResetEntidades := FALSE;
|
ResetEntidades := FALSE;
|
||||||
SincronizarFecha := FALSE;
|
SincronizarFecha := FALSE;
|
||||||
|
FAT := FALSE;
|
||||||
Pulsador.EscribirFechaHora.Hmi := FALSE;
|
Pulsador.EscribirFechaHora.Hmi := FALSE;
|
||||||
Pulsador.EscribirFechaHora.Plc := FALSE;
|
Pulsador.EscribirFechaHora.Plc := FALSE;
|
||||||
Pulsador.EscribirFechaHora.Permiso := TRUE;
|
Pulsador.EscribirFechaHora.Permiso := TRUE;
|
||||||
|
|||||||
@@ -33,6 +33,8 @@
|
|||||||
es-ES: Reset todas las entidades
|
es-ES: Reset todas las entidades
|
||||||
- id: MLC_3pE
|
- id: MLC_3pE
|
||||||
es-ES: Orden sincronizacion fecha desde sistema superior
|
es-ES: Orden sincronizacion fecha desde sistema superior
|
||||||
|
- id: MLC_dm
|
||||||
|
es-ES: Activar modo FAT para prueba de cuadros
|
||||||
- id: MLC_3v5
|
- id: MLC_3v5
|
||||||
es-ES: Watchdog para comunicaciones
|
es-ES: Watchdog para comunicaciones
|
||||||
- id: MLC_3ER
|
- id: MLC_3ER
|
||||||
|
|||||||
+116
-101
@@ -88,6 +88,122 @@ FUNCTION "FC1_ZC_SISTEMA" : Void
|
|||||||
END_REGION TIEMPO_DE_CICLO
|
END_REGION TIEMPO_DE_CICLO
|
||||||
|
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
REGION GESTION_MARCAS_GENERALES_Y_FLANCOS
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
// Marca siempre a ON
|
||||||
|
"DB1_SYS".OFF := FALSE;
|
||||||
|
|
||||||
|
// Marca siempre a OFF
|
||||||
|
"DB1_SYS".ON := TRUE;
|
||||||
|
|
||||||
|
// Marca primer arranque
|
||||||
|
"DB1_SYS".ARRANQUE := #CPU_MarcasSistema.%X0;
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
// Pulso por 100 ms
|
||||||
|
"DB1_SYS".Pulso100ms := #CPU_MarcasCiclo.%X0 AND NOT "DB1_SYS".Aux.P_Trig_Pulso100ms;
|
||||||
|
|
||||||
|
// Pulso por 1 segundo
|
||||||
|
"DB1_SYS".Pulso1seg := #CPU_MarcasCiclo.%X5 AND NOT "DB1_SYS".Aux.P_Trig_Pulso1Seg;
|
||||||
|
|
||||||
|
// Pulso por 2 segundos
|
||||||
|
"DB1_SYS".Pulso2seg := FALSE;
|
||||||
|
IF "DB1_SYS".Pulso1seg THEN
|
||||||
|
"DB1_SYS".Aux.Contador2seg += 1;
|
||||||
|
IF "DB1_SYS".Aux.Contador2seg >= 2 THEN
|
||||||
|
"DB1_SYS".Pulso2seg := TRUE;
|
||||||
|
"DB1_SYS".Aux.Contador2seg := 0;
|
||||||
|
END_IF;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// Pulso por 5 segundos
|
||||||
|
"DB1_SYS".Pulso5seg := FALSE;
|
||||||
|
IF "DB1_SYS".Pulso1seg THEN
|
||||||
|
"DB1_SYS".Aux.Contador5seg += 1;
|
||||||
|
IF "DB1_SYS".Aux.Contador5seg >= 5 THEN
|
||||||
|
"DB1_SYS".Pulso5seg := TRUE;
|
||||||
|
"DB1_SYS".Aux.Contador5seg := 0;
|
||||||
|
END_IF;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// Pulso por 1 minuto
|
||||||
|
"DB1_SYS".Pulso1min := FALSE;
|
||||||
|
IF "DB1_SYS".Pulso1seg THEN
|
||||||
|
"DB1_SYS".Aux.Contador1min += 1;
|
||||||
|
IF "DB1_SYS".Aux.Contador1min >= 60 THEN
|
||||||
|
"DB1_SYS".Pulso1min := TRUE;
|
||||||
|
"DB1_SYS".Aux.Contador1min := 0;
|
||||||
|
END_IF;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// Pulso por 1 hora
|
||||||
|
"DB1_SYS".Pulso1h := FALSE;
|
||||||
|
IF "DB1_SYS".Pulso1seg THEN
|
||||||
|
"DB1_SYS".Aux.Contador1h += 1;
|
||||||
|
IF "DB1_SYS".Aux.Contador1h >= 3600 THEN
|
||||||
|
"DB1_SYS".Pulso1h := TRUE;
|
||||||
|
"DB1_SYS".Aux.Contador1h := 0;
|
||||||
|
END_IF;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
// Flip Flop 1 segundo
|
||||||
|
IF "DB1_SYS".Pulso1seg AND NOT "DB1_SYS".FlipFlop1seg THEN
|
||||||
|
"DB1_SYS".FlipFlop1seg := TRUE;
|
||||||
|
ELSIF "DB1_SYS".Pulso1seg AND "DB1_SYS".FlipFlop1seg THEN
|
||||||
|
"DB1_SYS".FlipFlop1seg := FALSE;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// Flip Flop 2 segundos
|
||||||
|
IF "DB1_SYS".Pulso2seg AND NOT "DB1_SYS".FlipFlop2seg THEN
|
||||||
|
"DB1_SYS".FlipFlop2seg := TRUE;
|
||||||
|
ELSIF "DB1_SYS".Pulso2seg AND "DB1_SYS".FlipFlop2seg THEN
|
||||||
|
"DB1_SYS".FlipFlop2seg := FALSE;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// Flip Flop 5 segundos
|
||||||
|
IF "DB1_SYS".Pulso5seg AND NOT "DB1_SYS".FlipFlop5seg THEN
|
||||||
|
"DB1_SYS".FlipFlop5seg := TRUE;
|
||||||
|
ELSIF "DB1_SYS".Pulso5seg AND "DB1_SYS".FlipFlop5seg THEN
|
||||||
|
"DB1_SYS".FlipFlop5seg := FALSE;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
// Watchdog
|
||||||
|
IF "DB1_SYS".Pulso100ms THEN
|
||||||
|
"DB1_SYS".WatchDog += 1;
|
||||||
|
IF "DB1_SYS".WatchDog > 20000 THEN
|
||||||
|
"DB1_SYS".WatchDog := 0;
|
||||||
|
END_IF;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
// Estados anteriores
|
||||||
|
"DB1_SYS".Aux.P_Trig_Pulso100ms := #CPU_MarcasCiclo.%X0;
|
||||||
|
"DB1_SYS".Aux.P_Trig_Pulso1Seg := #CPU_MarcasCiclo.%X5;
|
||||||
|
|
||||||
|
END_REGION GESTION_MARCAS_GENERALES_Y_FLANCOS
|
||||||
|
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
REGION ARRANQUE
|
||||||
|
|
||||||
|
IF "DB1_SYS".ARRANQUE THEN
|
||||||
|
|
||||||
|
// Actualizamos la fecha y hora nueva para editar desde HMI/SCADA
|
||||||
|
#t_RetVal := RD_LOC_T("DB1_SYS".FechaHoraNuevaManual);
|
||||||
|
|
||||||
|
// Reseteamos marcas de simulacion y FAT
|
||||||
|
"DB1_SYS".SIM := FALSE;
|
||||||
|
"DB1_SYS".FAT := FALSE;
|
||||||
|
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
END_REGION ARRANQUE
|
||||||
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
// ==========================================================================================================
|
||||||
REGION GESTION_PULSADORES
|
REGION GESTION_PULSADORES
|
||||||
|
|
||||||
@@ -226,107 +342,6 @@ FUNCTION "FC1_ZC_SISTEMA" : Void
|
|||||||
END_REGION GESTION_ACUSE_GENERAL
|
END_REGION GESTION_ACUSE_GENERAL
|
||||||
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
|
||||||
REGION GESTION_MARCAS_GENERALES_Y_FLANCOS
|
|
||||||
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
|
||||||
// Marca siempre a ON
|
|
||||||
"DB1_SYS".OFF := FALSE;
|
|
||||||
|
|
||||||
// Marca siempre a OFF
|
|
||||||
"DB1_SYS".ON := TRUE;
|
|
||||||
|
|
||||||
// Marca primer arranque
|
|
||||||
"DB1_SYS".ARRANQUE := #CPU_MarcasSistema.%X0;
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
|
||||||
// Pulso por 100 ms
|
|
||||||
"DB1_SYS".Pulso100ms := #CPU_MarcasCiclo.%X0 AND NOT "DB1_SYS".Aux.P_Trig_Pulso100ms;
|
|
||||||
|
|
||||||
// Pulso por 1 segundo
|
|
||||||
"DB1_SYS".Pulso1seg := #CPU_MarcasCiclo.%X5 AND NOT "DB1_SYS".Aux.P_Trig_Pulso1Seg;
|
|
||||||
|
|
||||||
// Pulso por 2 segundos
|
|
||||||
"DB1_SYS".Pulso2seg := FALSE;
|
|
||||||
IF "DB1_SYS".Pulso1seg THEN
|
|
||||||
"DB1_SYS".Aux.Contador2seg += 1;
|
|
||||||
IF "DB1_SYS".Aux.Contador2seg >= 2 THEN
|
|
||||||
"DB1_SYS".Pulso2seg := TRUE;
|
|
||||||
"DB1_SYS".Aux.Contador2seg := 0;
|
|
||||||
END_IF;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
// Pulso por 5 segundos
|
|
||||||
"DB1_SYS".Pulso5seg := FALSE;
|
|
||||||
IF "DB1_SYS".Pulso1seg THEN
|
|
||||||
"DB1_SYS".Aux.Contador5seg += 1;
|
|
||||||
IF "DB1_SYS".Aux.Contador5seg >= 5 THEN
|
|
||||||
"DB1_SYS".Pulso5seg := TRUE;
|
|
||||||
"DB1_SYS".Aux.Contador5seg := 0;
|
|
||||||
END_IF;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
// Pulso por 1 minuto
|
|
||||||
"DB1_SYS".Pulso1min := FALSE;
|
|
||||||
IF "DB1_SYS".Pulso1seg THEN
|
|
||||||
"DB1_SYS".Aux.Contador1min += 1;
|
|
||||||
IF "DB1_SYS".Aux.Contador1min >= 60 THEN
|
|
||||||
"DB1_SYS".Pulso1min := TRUE;
|
|
||||||
"DB1_SYS".Aux.Contador1min := 0;
|
|
||||||
END_IF;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
// Pulso por 1 hora
|
|
||||||
"DB1_SYS".Pulso1h := FALSE;
|
|
||||||
IF "DB1_SYS".Pulso1seg THEN
|
|
||||||
"DB1_SYS".Aux.Contador1h += 1;
|
|
||||||
IF "DB1_SYS".Aux.Contador1h >= 3600 THEN
|
|
||||||
"DB1_SYS".Pulso1h := TRUE;
|
|
||||||
"DB1_SYS".Aux.Contador1h := 0;
|
|
||||||
END_IF;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
|
||||||
// Flip Flop 1 segundo
|
|
||||||
IF "DB1_SYS".Pulso1seg AND NOT "DB1_SYS".FlipFlop1seg THEN
|
|
||||||
"DB1_SYS".FlipFlop1seg := TRUE;
|
|
||||||
ELSIF "DB1_SYS".Pulso1seg AND "DB1_SYS".FlipFlop1seg THEN
|
|
||||||
"DB1_SYS".FlipFlop1seg := FALSE;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
// Flip Flop 2 segundos
|
|
||||||
IF "DB1_SYS".Pulso2seg AND NOT "DB1_SYS".FlipFlop2seg THEN
|
|
||||||
"DB1_SYS".FlipFlop2seg := TRUE;
|
|
||||||
ELSIF "DB1_SYS".Pulso2seg AND "DB1_SYS".FlipFlop2seg THEN
|
|
||||||
"DB1_SYS".FlipFlop2seg := FALSE;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
// Flip Flop 5 segundos
|
|
||||||
IF "DB1_SYS".Pulso5seg AND NOT "DB1_SYS".FlipFlop5seg THEN
|
|
||||||
"DB1_SYS".FlipFlop5seg := TRUE;
|
|
||||||
ELSIF "DB1_SYS".Pulso5seg AND "DB1_SYS".FlipFlop5seg THEN
|
|
||||||
"DB1_SYS".FlipFlop5seg := FALSE;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
|
||||||
// Watchdog
|
|
||||||
IF "DB1_SYS".Pulso100ms THEN
|
|
||||||
"DB1_SYS".WatchDog += 1;
|
|
||||||
IF "DB1_SYS".WatchDog > 20000 THEN
|
|
||||||
"DB1_SYS".WatchDog := 0;
|
|
||||||
END_IF;
|
|
||||||
END_IF;
|
|
||||||
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
|
||||||
// Estados anteriores
|
|
||||||
"DB1_SYS".Aux.P_Trig_Pulso100ms := #CPU_MarcasCiclo.%X0;
|
|
||||||
"DB1_SYS".Aux.P_Trig_Pulso1Seg := #CPU_MarcasCiclo.%X5;
|
|
||||||
|
|
||||||
END_REGION GESTION_MARCAS_GENERALES_Y_FLANCOS
|
|
||||||
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
// ==========================================================================================================
|
||||||
REGION FECHA_Y_HORA
|
REGION FECHA_Y_HORA
|
||||||
|
|
||||||
|
|||||||
-17
@@ -5,21 +5,4 @@
|
|||||||
S7_Version := "0.1"
|
S7_Version := "0.1"
|
||||||
}
|
}
|
||||||
ORGANIZATION_BLOCK "OB100_Startup"
|
ORGANIZATION_BLOCK "OB100_Startup"
|
||||||
VAR_TEMP
|
|
||||||
t_dummyInt : Int;
|
|
||||||
END_VAR
|
|
||||||
|
|
||||||
{
|
|
||||||
S7_Language := "LAD";
|
|
||||||
S7_NetworkTitle := "MLC_3Ju"
|
|
||||||
}
|
|
||||||
NETWORK
|
|
||||||
RUNG wire#powerrail
|
|
||||||
{ S7_Templates := "date_type := DTL" }
|
|
||||||
RD_LOC_T(
|
|
||||||
RET_VAL => #t_dummyInt,
|
|
||||||
OUT => "DB1_SYS".FechaHoraNuevaManual
|
|
||||||
)
|
|
||||||
END_RUNG
|
|
||||||
END_NETWORK
|
|
||||||
END_ORGANIZATION_BLOCK
|
END_ORGANIZATION_BLOCK
|
||||||
|
|||||||
-3
@@ -1,3 +0,0 @@
|
|||||||
MultiLingualTexts:
|
|
||||||
- id: MLC_3Ju
|
|
||||||
es-ES: Al arrancar, actualizamos la fecha y hora nueva para editar desde HMI/SCADA
|
|
||||||
+24
-5
@@ -68,13 +68,37 @@ FUNCTION "FC50_MAIN" : Void
|
|||||||
// ==========================================================================================================
|
// ==========================================================================================================
|
||||||
REGION SISTEMA
|
REGION SISTEMA
|
||||||
|
|
||||||
|
// Llamada a marcas de sistema
|
||||||
"FC1_ZC_SISTEMA"(CPU_MarcasCiclo := "Clock_Byte",
|
"FC1_ZC_SISTEMA"(CPU_MarcasCiclo := "Clock_Byte",
|
||||||
CPU_MarcasSistema := "System_Byte",
|
CPU_MarcasSistema := "System_Byte",
|
||||||
RedProfinet := "Local~PROFINET_IO-System");
|
RedProfinet := "Local~PROFINET_IO-System");
|
||||||
|
|
||||||
|
// Llamada a utilizades
|
||||||
|
"DB15994_ZC_INICIALIZAR_DISP"();
|
||||||
|
"DB15995_ZC_BUSCAR_DIR"();
|
||||||
|
|
||||||
END_REGION SISTEMA
|
END_REGION SISTEMA
|
||||||
|
|
||||||
|
|
||||||
|
// ==========================================================================================================
|
||||||
|
REGION FAT
|
||||||
|
|
||||||
|
// Llamada a bloques FAT
|
||||||
|
// Si tenemos la marca activada, salimos del bloque sin ejecutar nada mas para poder realizar
|
||||||
|
// las pruebas de señales de los cuadros.
|
||||||
|
IF "DB1_SYS".FAT THEN
|
||||||
|
|
||||||
|
"DB15990_FAT_DI"();
|
||||||
|
"DB15991_FAT_DO"();
|
||||||
|
"DB15992_FAT_AI"();
|
||||||
|
"DB15993_FAT_AO"();
|
||||||
|
|
||||||
|
RETURN;
|
||||||
|
END_IF;
|
||||||
|
|
||||||
|
END_REGION FAT
|
||||||
|
|
||||||
|
|
||||||
// ==========================================================================================================
|
// ==========================================================================================================
|
||||||
REGION DISPOSITIVOS
|
REGION DISPOSITIVOS
|
||||||
|
|
||||||
@@ -379,10 +403,5 @@ FUNCTION "FC50_MAIN" : Void
|
|||||||
|
|
||||||
END_REGION POST_PROGRAMA
|
END_REGION POST_PROGRAMA
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
END_NETWORK
|
END_NETWORK
|
||||||
END_FUNCTION
|
END_FUNCTION
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ FUNCTION "Documentacion" : Void
|
|||||||
{ S7_Language := "SCL" }
|
{ S7_Language := "SCL" }
|
||||||
NETWORK
|
NETWORK
|
||||||
|
|
||||||
|
|
||||||
REGION DESCRIPCION
|
REGION DESCRIPCION
|
||||||
(*
|
(*
|
||||||
###### (C)Copyright ZeusControl 2020 - 2026
|
###### (C)Copyright ZeusControl 2020 - 2026
|
||||||
@@ -20,7 +19,7 @@ FUNCTION "Documentacion" : Void
|
|||||||
| PLC serie 1200/1500 | TIA Portal 18 |ASasASadsadsasd
|
| PLC serie 1200/1500 | TIA Portal 18 |ASasASadsadsasd
|
||||||
|
|
||||||
---
|
---
|
||||||
> **Restricciones:** [!!! INDICA AQUÍ LIMITACIONES (O ESCRIBE "Ninguna") !!!]
|
> **Restricciones:** [!!! INDICA AQUÍ LIMITACIONES (O ESCRIBE "Ninguna.") !!!]
|
||||||
|
|
||||||
---
|
---
|
||||||
### Descripción Funcional
|
### Descripción Funcional
|
||||||
@@ -51,6 +50,6 @@ FUNCTION "Documentacion" : Void
|
|||||||
*)
|
*)
|
||||||
END_REGION DESCRIPCION
|
END_REGION DESCRIPCION
|
||||||
|
|
||||||
// borrar
|
|
||||||
END_NETWORK
|
END_NETWORK
|
||||||
END_FUNCTION
|
END_FUNCTION
|
||||||
|
|||||||
Reference in New Issue
Block a user