SIMATIC Arca_31052025_RED_OK\ 24/07/2025 21
SIMATIC 315\CPU 315-2 PN/DP\...\FC1 - <offline>
FC1 - <offline>
"STC_EDD1"
Nombre: EDD1 Familia: STC
Autor: SITEC Versión: 2.0
Versión del bloque: 2
Hora y fecha Código: 03/03/2006 22:09:26
Interface: 04/08/2005 15:41:47
Longitud (bloque / código / datos): 01078 00870 00020
Nombre Tipo de datos Dirección Comentario
IN 0.0
Numero_Disp Int 0.0
Stop Bool 2.0
Seg Bool 2.1
OUT 0.0
IN_OUT 0.0
TEMP 0.0
Uxxx_BMS Bool 0.0 Bit Master Status de la Unidad
Uxxx_Pause_DD Bool 0.1 Pausa por DD de la Unidad
Uxxx_Pause Bool 0.2 Unidad en pausa
Uxxx_ACK Bool 0.3 Reconocimiento en Unidad
Uxxx_Reset Bool 0.4 Restart Unidad
ALM Bool 0.5 Alarma de dispositivo
ALM_MANTO Bool 0.6 Alarma de mantenimiento
NUNIT Int 2.0 Unidad del dispositivo
INDICE DWord 4.0
PUNTERO_DB_EDD1 DWord 8.0 Puntero a DB1 - EDD1
PUNTERO_DB_UNIT DWord 12.0 Puntero a DB90 - Unidad
PUNTERO_DB_ALM_EDD1 DWord 16.0 Puntero a DB81 - Alarmas EDD1
RETURN 0.0
RET_VAL 0.0
Bloque: FC1 RUTINA EDD1
Segm.: 1 Inicialización Indice
L 0
T #INDICE #INDICE
L #Numero_Disp #Numero_Disp
L 0
<=I
SPB fin
L #Numero_Disp #Numero_Disp
L 1000
>I
SPB fin
Página
SIMATIC Arca_31052025_RED_OK\ 24/07/2025 21
SIMATIC 315\CPU 315-2 PN/DP\...\FC1 - <offline>
Segm.: 2 Cálculo puntero
PUNT: L #INDICE #INDICE
L P#26.0
*D
T #PUNTERO_DB_EDD1 #PUNTERO_DB_EDD1 -- Puntero a DB1
- EDD1
LAR1
AUF "EDD1" DB1 -- Familia Dispo
sitivos 1
L DBW [AR1,P#24.0]
T #NUNIT #NUNIT -- Unidad del di
spositivo
L P#26.0
*D
T #PUNTERO_DB_UNIT #PUNTERO_DB_UNIT -- Puntero a DB9
0 - Unidad
LAR1
AUF "BWW_UNITS" DB90
U DBX [AR1,P#0.2] //BMS
= #Uxxx_BMS #Uxxx_BMS -- Bit Master St
atus de la Unidad
U DBX [AR1,P#2.3] //PAU_R
= #Uxxx_Pause #Uxxx_Pause -- Unidad en pau
sa
U DBX [AR1,P#18.0] //PAU_DD
= #Uxxx_Pause_DD #Uxxx_Pause_DD -- Pausa por DD
de la Unidad
U DBX [AR1,P#1.0] //RES_R
= #Uxxx_Reset #Uxxx_Reset -- Restart Unida
d
U DBX [AR1,P#1.5] //ACK_R
= #Uxxx_ACK #Uxxx_ACK -- Reconocimient
o en Unidad
L #PUNTERO_DB_EDD1 #PUNTERO_DB_EDD1 -- Puntero a DB1
- EDD1
LAR1
AUF "EDD1" DB1 -- Familia Dispo
sitivos 1
Segm.: 3
UN DBX [AR1,P#2.5] //EDD1[EDD_IND.INDICE1].SW2.5
UN DBX [AR1,P#0.2] //EDD1[EDD_IND.INDICE1].SW1.2
O
U DBX [AR1,P#2.5] //EDD1[EDD_IND.INDICE1].SW2.5
UN #Uxxx_Pause #Uxxx_Pause -- Unidad en pau
sa
UN DBX [AR1,P#0.2] //EDD1[EDD_IND.INDICE1].SW1.2
= DBX [AR1,P#2.4] //EDD1[EDD_IND.INDICE1].SW2.4
Segm.: 4 TIMER ON DELAY
U DBX [AR1,P#8.6] //EDD1[EDD_IND.INDICE1].HAB_DELAY_ON
U DBX [AR1,P#2.4] //EDD1[EDD_IND.INDICE1].SW2.4
SPBN RES1
U #Seg #Seg
SPB INC1
SPA FIN1
RES1: L 0
SPA MOV1
INC1: U DBX [AR1,P#10.2] //Timer Delay ON DONE
SPB FIN1
L DBW [AR1,P#16.0] //TTONDD1[EDD_IND.INDICE1]
L 1
+I
MOV1: T DBW [AR1,P#16.0] //TTONDD1[EDD_IND.INDICE1]
FIN1: L DBW [AR1,P#16.0] //TTONDD1[EDD_IND.INDICE1]
L DBW [AR1,P#12.0] //SP_DELAY_ON
>I
Página
SIMATIC Arca_31052025_RED_OK\ 24/07/2025 21
SIMATIC 315\CPU 315-2 PN/DP\...\FC1 - <offline>
= DBX [AR1,P#10.2] //Timer Delay ON DONE
Segm.: 5
U DBX [AR1,P#8.6] //EDD1[EDD_IND.INDICE1].HAB_DELAY_ON
U DBX [AR1,P#10.2] //Timer Delay ON DONE
O
UN DBX [AR1,P#8.6] //EDD1[EDD_IND.INDICE1].HAB_DELAY_ON
U DBX [AR1,P#2.4] //EDD1[EDD_IND.INDICE1].SW2.4
= DBX [AR1,P#9.0] //EDD1[EDD_IND.INDICE1].DN_DELAY_ON
Segm.: 6 TIMER OFF DELAY
U DBX [AR1,P#8.7] //EDD1[EDD_IND.INDICE1].HAB_DELAY_OFF
UN DBX [AR1,P#2.4] //EDD1[EDD_IND.INDICE1].SW2.4
SPBN RES2
U #Seg #Seg
SPB INC2
SPA FIN2
RES2: L 0
SPA MOV2
INC2: U DBX [AR1,P#10.3] //Timer Delay OFF DONE
SPB FIN2
L DBW [AR1,P#18.0] //TTOFDD1[EDD_IND.INDICE1]
L 1
+I
MOV2: T DBW [AR1,P#18.0] //TTOFDD1[EDD_IND.INDICE1]
FIN2: L DBW [AR1,P#18.0] //TTOFDD1[EDD_IND.INDICE1]
L DBW [AR1,P#14.0] //SP_DELAY_OFF
>=I
= DBX [AR1,P#10.3] //Timer Delay OFF DONE
Segm.: 7
U DBX [AR1,P#8.7] //EDD1[EDD_IND.INDICE1].HAB_DELAY_OFF
UN DBX [AR1,P#2.4] //EDD1[EDD_IND.INDICE1].SW2.4
UN DBX [AR1,P#10.3] //Timer Delay OFF DONE
= DBX [AR1,P#9.1] //EDD1[EDD_IND.INDICE1].DN_DELAY_OFF
Segm.: 8 TIMER ON DELAY PARA ALARMAS DE APERTURAS DE VALVULAS
O DBX [AR1,P#2.6] //EDD1[EDD_IND.INDICE1].SW2.6
O DBX [AR1,P#2.7] //EDD1[EDD_IND.INDICE1].SW2.7
SPBN RES3
U #Seg #Seg
SPB INC3
SPA FIN3
RES3: L 0
SPA MOV3
INC3: U DBX [AR1,P#10.5] //Timer Alrm DONE
SPB FIN3
L DBW [AR1,P#22.0] //TALMDD1[EDD_IND.INDICE1]
L 1
+I
MOV3: T DBW [AR1,P#22.0] //TALMDD1[EDD_IND.INDICE1]
FIN3: L DBW [AR1,P#22.0] //TALMDD1[EDD_IND.INDICE1]
L DBW [AR1,P#20.0] //SP_ALM
>I
U DBX [AR1,P#3.1] // EN_ALM
= DBX [AR1,P#10.5] //Timer Alrm DONE
Página
SIMATIC Arca_31052025_RED_OK\ 24/07/2025 21
SIMATIC 315\CPU 315-2 PN/DP\...\FC1 - <offline>
Segm.: 9
U DBX [AR1,P#10.5] //Timer Alrm DONE
= DBX [AR1,P#9.4] //EDD1[EDD_IND.INDICE1].DN_ALM
= #ALM #ALM -- Alarma de dis
positivo
Segm.: 10
U(
U DBX [AR1,P#1.1] //EDD1[EDD_IND.INDICE1].SW1.9
U(
O DBX [AR1,P#9.0] //EDD1[EDD_IND.INDICE1].DN_DELAY_ON
O DBX [AR1,P#9.1] //EDD1[EDD_IND.INDICE1].DN_DELAY_OFF
)
O
UN DBX [AR1,P#1.1] //EDD1[EDD_IND.INDICE1].SW1.9
U DBX [AR1,P#0.1] //EDD1[EDD_IND.INDICE1].SW1.1
)
U DBX [AR1,P#1.3] //EDD1[EDD_IND.INDICE1].SW1.11
UN DBX [AR1,P#1.4] //EDD1[EDD_IND.INDICE1].SW1.12
= DBX [AR1,P#1.2] //EDD1[EDD_IND.INDICE1].SW1.10
Segm.: 11
U DBX [AR1,P#1.1] //EDD1[EDD_IND.INDICE1].SW1.9
U DBX [AR1,P#1.2] //EDD1[EDD_IND.INDICE1].SW1.10
S DBX [AR1,P#0.1] //EDD1[EDD_IND.INDICE1].SW1.1
U DBX [AR1,P#1.1] //EDD1[EDD_IND.INDICE1].SW1.9
UN DBX [AR1,P#1.2] //EDD1[EDD_IND.INDICE1].SW1.10
R DBX [AR1,P#0.1] //EDD1[EDD_IND.INDICE1].SW1.1
Segm.: 12 AUTOMATICO - MANUAL
O DBX [AR1,P#3.2] //EDD1[EDD_IND.INDICE1].SW2.10
O DBX [AR1,P#3.3] //EDD1[EDD_IND.INDICE1].SW2.11
S DBX [AR1,P#1.1] //EDD1[EDD_IND.INDICE1].SW1.9
UN DBX [AR1,P#3.2] //EDD1[EDD_IND.INDICE1].SW2.10
UN DBX [AR1,P#3.3] //EDD1[EDD_IND.INDICE1].SW2.11
R DBX [AR1,P#1.1] //EDD1[EDD_IND.INDICE1].SW1.9
U DBX [AR1,P#3.3] //EDD1[EDD_IND.INDICE1].SW2.11
S DBX [AR1,P#3.2] //EDD1[EDD_IND.INDICE1].SW2.10
Segm.: 13
U(
UN DBX [AR1,P#3.0] //EDD1[EDD_IND.INDICE1].SW2.8
U DBX [AR1,P#1.2] //EDD1[EDD_IND.INDICE1].SW1.10
O
U DBX [AR1,P#3.0] //EDD1[EDD_IND.INDICE1].SW2.8
UN DBX [AR1,P#1.2] //EDD1[EDD_IND.INDICE1].SW1.10
)
UN #Stop #Stop
= DBX [AR1,P#8.0] //EDD1[EDD_IND.INDICE1].OUT
= DBX [AR1,P#0.0] //EDD1[EDD_IND.INDICE1].SW1.0
Segm.: 14 INDICACION DE RETRO DE POSICION CERRADO
UN DBX [AR1,P#1.5] //Simular
U DBX [AR1,P#8.1] //EDD1[EDD_IND.INDICE1].INCL
O
U DBX [AR1,P#1.5] //Simular
UN DBX [AR1,P#0.0] //EDD1[EDD_IND.INDICE1].SW1.0
= DBX [AR1,P#0.5] //EDD1[EDD_IND.INDICE1].SW1.5
Página
SIMATIC Arca_31052025_RED_OK\ 24/07/2025 21
SIMATIC 315\CPU 315-2 PN/DP\...\FC1 - <offline>
Segm.: 15 INDICACION DE RETRO DE POSICION ABIERTA
UN DBX [AR1,P#1.5] //Simular
U DBX [AR1,P#8.2] //EDD1[EDD_IND.INDICE1].INOP
O
U DBX [AR1,P#1.5] //Simular
U DBX [AR1,P#0.0] //EDD1[EDD_IND.INDICE1].SW1.0
= DBX [AR1,P#0.4] //EDD1[EDD_IND.INDICE1].SW1.4
Segm.: 16
O #Uxxx_BMS #Uxxx_BMS -- Bit Master St
atus de la Unidad
ON DBX [AR1,P#3.4] //HAB_MAN
S DBX [AR1,P#3.3] //MASTER
U DBX [AR1,P#3.4] //HAB_MAN
UN #Uxxx_BMS #Uxxx_BMS -- Bit Master St
atus de la Unidad
R DBX [AR1,P#3.3] //MASTER
Segm.: 17
U DBX [AR1,P#10.5] //EDD1[EDD_IND.INDICE1].DN_ALM
U DBX [AR1,P#2.6] //EDD1[EDD_IND.INDICE1].SW2.6
= DBX [AR1,P#0.6] //EDD1[EDD_IND.INDICE1].SW1.6
U DBX [AR1,P#10.5] //EDD1[EDD_IND.INDICE1].DN_ALM
U DBX [AR1,P#2.7] //EDD1[EDD_IND.INDICE1].SW2.7
= DBX [AR1,P#0.7] //EDD1[EDD_IND.INDICE1].SW1.7
Segm.: 18
U DBX [AR1,P#3.1]
U(
U DBX [AR1,P#0.0]
UN DBX [AR1,P#0.4]
O
U DBX [AR1,P#0.0]
U DBX [AR1,P#0.4]
U DBX [AR1,P#0.5]
)
= DBX [AR1,P#2.6]
U DBX [AR1,P#3.1]
U(
UN DBX [AR1,P#0.0]
UN DBX [AR1,P#0.5]
O
UN DBX [AR1,P#0.0]
U DBX [AR1,P#0.4]
U DBX [AR1,P#0.5]
)
= DBX [AR1,P#2.7]
Segm.: 19
O #Uxxx_Reset #Uxxx_Reset -- Restart Unidad
O #Uxxx_ACK #Uxxx_ACK -- Reconocimiento en Unidad
R #Uxxx_Pause_DD #Uxxx_Pause_DD -- Pausa por DD de la Unidad
Página
SIMATIC Arca_31052025_RED_OK\ 24/07/2025 21
SIMATIC 315\CPU 315-2 PN/DP\...\FC1 - <offline>
Segm.: 20
UN #Stop #Stop
UN DBX [AR1,P#1.0]
U DBX [AR1,P#8.5]
U(
O DBX [AR1,P#0.6]
O DBX [AR1,P#0.7]
)
S #Uxxx_Pause_DD #Uxxx_Pause_DD -- Pausa por DD de la Unidad
Segm.: 21
U DBX [AR1,P#0.0]
FP DBX [AR1,P#10.1]
SPBNB NOT1
L DBW [AR1,P#6.0]
L 1
+I
T DBW [AR1,P#6.0]
NOT1: NOP 0
Segm.: 22
L DBW [AR1,P#6.0]
L DBW [AR1,P#4.0]
>=I
= DBX [AR1,P#9.5]
= #ALM_MANTO #ALM_MANTO -- Alarma de mantenimiento
Segm.: 23
L #PUNTERO_DB_UNIT #PUNTERO_DB_UNIT -- Puntero a DB9
0 - Unidad
LAR1
AUF "BWW_UNITS" DB90
U #Uxxx_Pause_DD //PAU_DD #Uxxx_Pause_DD -- Pausa por DD
de la Unidad
= DBX [AR1,P#18.0]
Segm.: 24 CALCULO PUNTERO A DB ALARMA EDD1
L #INDICE #INDICE
L P#0.1
*D
T #PUNTERO_DB_ALM_EDD1 #PUNTERO_DB_ALM_EDD1 -- Puntero a DB81 - Alarmas EDD1
LAR1
AUF "ALM_EDD1" DB81
U #ALM #ALM -- Alarma de dispositivo
= DBX [AR1,P#0.0]
U #ALM_MANTO #ALM_MANTO -- Alarma de mantenimiento
= DBX [AR1,P#14.0]
Segm.: 25 Incremento Indice
L #INDICE #INDICE
L 1
+D
T #INDICE #INDICE
L #Numero_Disp #Numero_Disp
<I
SPB PUNT
fin: BE
Página