Detección de flancos (P, N, R_TRIG y F_TRIG) en TIA Portal: Cómo se usa paso a paso
Cómo detectar flancos positivos y negativos en TIA Portal: contactos P/N, bobinas, P_TRIG/N_TRIG y R_TRIG/F_TRIG, con simulador.

Un flanco es el instante en que una señal cambia: De 0 a 1 (positivo) o de 1 a 0 (negativo). La detección de flancos genera un pulso de un solo ciclo, ideal para contar, sumar una vez o dar un pulso de arranque aunque el botón siga presionado.
Parámetros
| Parámetro | Tipo de dato | Descripción |
|---|---|---|
| - | P | - / - |
| -(P)- / -(N)- | Bool + bit de memoria | Bobina que activa el operando un ciclo en el flanco del RLO |
| P_TRIG / N_TRIG | CLK + bit de memoria | Cuadro que detecta el flanco del RLO |
| R_TRIG / F_TRIG | CLK, Q (DB de instancia) | Bloques IEC con su propio DB; Q = 1 un ciclo |
Cómo se ejecuta
| Condición | Resultado |
|---|---|
| Flanco positivo | La señal pasa de 0 a 1 → pulso de un ciclo |
| Flanco negativo | La señal pasa de 1 a 0 → pulso de un ciclo |
| Señal estable | Sin pulso, aunque siga en 1 |
Ejemplo paso a paso (KOP)
- Crea
"Boton"(Bool) y una marca para el flanco,"Boton_Flanco"(Bool), que no uses en ningún otro lugar. - Arrastra el contacto P (Operaciones lógicas con bits).
- Escribe
"Boton"encima y"Boton_Flanco"debajo. - Detrás coloca, por ejemplo, INC de
"Contador_Cajas". - Prueba: Cada pulsación suma exactamente 1, aunque mantengas el botón presionado.
Equivalente en SCL:
"R_TRIG_Boton"(CLK := "Boton");
IF "R_TRIG_Boton".Q THEN
"Contador_Cajas" := "Contador_Cajas" + 1;
END_IF;
Consejos y errores comunes
- Cada detección de flanco necesita su propio bit de memoria. Si dos contactos P comparten el bit, uno de los dos fallará.
- No uses como bit de memoria una variable temporal (Temp): Pierde su valor entre ciclos.
- En bloques de función (FB) prefiere R_TRIG/F_TRIG como multiinstancia: Cada llamada guarda su propio estado.
Serie: Instrucciones de TIA Portal
- Contactos NA, NC y NOT
- Bobinas: Asignación, negada, Set y Reset
- Flip-flops SR y RS
- Detección de flancos (P, N, R_TRIG y F_TRIG)
- Temporizador TON (retardo a la conexión)
- Temporizador TOF (retardo a la desconexión)
- Temporizador TP (impulso)
- Temporizador TONR (acumulador de tiempo)
- Contador ascendente CTU
- Contadores CTD y CTUD
- Comparadores (CMP, IN_RANGE y OUT_RANGE)
- Matemáticas: ADD, SUB, MUL, DIV, MOD y CALCULATE
- MIN, MAX, LIMIT, INC y DEC
- Escalar analógicas con NORM_X y SCALE_X
- Conversión: CONVERT, ROUND, TRUNC, CEIL y FLOOR
- Desplazamiento y rotación: SHL, SHR, ROL y ROR
- Lógica de palabras: AND, OR, XOR e INVERT
- MOVE_BLK, FILL_BLK y SWAP
- Saltos: JMP, JMPN, LABEL y RET
- Selección: SEL y MUX
- MOVE en TIA Portal (tutorial de MOV)
Referencias
- Siemens AG. SIMATIC S7-1200 Programmable Controller: System Manual. Siemens Industry Online Support.
- Siemens AG. SIMATIC S7-1500 / STEP 7 (TIA Portal): Ayuda en pantalla, instrucciones básicas.
- Berger, H. Automating with SIMATIC S7-1500. Publicis.
- International Electrotechnical Commission. (2013). IEC 61131-3: Programmable controllers – Part 3: Programming languages (3.ª ed.). IEC.
SIMATIC, STEP 7 y TIA Portal son marcas de Siemens AG. Ilustraciones y simuladores originales de TdeAutomatización.


