RSLogix 500: Moving Timer ACC into Another Timer PRE — figure 1

RSLogix 500: Mover el valor ACC de un temporizador a otro PRE de temporizador

Programación de temporizadores en RSLogix 500: capturar el ACC de un temporizador en funcionamiento y transferirlo al PRE de otro temporizador para simular u...

La emulación del movimiento bidireccional en RSLogix 500 suele requerir un temporizador que funcione durante el tiempo ya empleado en desplazarse en la dirección opuesta. Un entrenador de puerta de garaje es el caso clásico: si la fotocélula se activa después de tres segundos de recorrido descendente, el recorrido ascendente inverso debe durar tres segundos, no los seis segundos codificados como valor predeterminado. Ese requisito no puede cumplirse editando el acumulador del temporizador de origen. La instrucción del temporizador sobrescribe la palabra .ACC activa en cada exploración mientras el rung sea verdadero. El patrón persistente consiste en capturar .ACC en un entero mediante un flanco de un solo disparo y, después, escribir ese entero en el .PRE del temporizador de destino antes de habilitar el recorrido inverso.

RSLogix 500: Transferencia de ACC de un temporizador a PRE de otro temporizador — figura 1

Leer .ACC, almacenarlo provisionalmente mediante N7 y escribirlo en .PRE; nunca tratar el acumulador como un valor de consigna persistente.

Arquitectura del archivo de temporizadores

Cada temporizador SLC ocupa tres palabras: bits de estado (EN/TT/DN), .PRE y .ACC. Las bases de tiempo son 0,01 s, 0,1 s o 1,0 s. Con una base de 0,01 s, un valor predeterminado de 600 equivale a seis segundos. La publicación 1747-6.15 documenta detalladamente el comportamiento del conjunto de instrucciones.

Elemento Función ¿Valor de consigna escribible?
T4:x.PRE Conteo objetivo Sí: destino correcto
T4:x.ACC Conteo transcurrido Sin efecto persistente mientras EN sea verdadero
T4:x/TT Calificador de temporización Usar para controlar la captura

Por qué falla MOV en .ACC

Mientras EN sea verdadero, la instrucción TON/TOF/RTO actualiza .ACC en cada exploración. Un MOV del usuario en .ACC se sobrescribe en la siguiente exploración (o incluso en la misma). Recargar .ACC tampoco redefine el objetivo de comparación; la instrucción compara .ACC con .PRE. Escribir un nuevo .PRE y reiniciar desde .ACC = 0 es la forma controlada de cambiar la duración.

Captura con ONS, transferencia con MOV

Rung de captura:
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Rung de carga del valor predeterminado:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung de enclavamiento:
XIC Capture_Bit  OTL Preset_Loaded

Rung de valor predeterminado (controlado):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Peldaño de borrado:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 no aceptará un MOV que use el mismo elemento de temporizador como origen y destino. Utilice siempre una palabra de archivo entero intermedia, como N7:10. El bit de almacenamiento de ONS mantiene la captura en el flanco ascendente del haz, de modo que una entrada mantenida no reescriba el valor predeterminado en cada escaneo.

RSLogix 500: mover ACC de un temporizador a PRE de otro temporizador — figura 2

Máquina de estados alrededor de la transferencia

Estado Condición de entrada Acción
EN ESPERA Al encender / ambos completados Borrar disparos únicos y bits de dirección
SUBIENDO Flanco ASCENDENTE Valor predeterminado ascendente si no se ha cargado
DESCENDIENDO Flanco DESCENDENTE Valor predeterminado descendente
INVERSIÓN Flanco del haz mientras desciende Capturar ACC → cargar en PRE ascendente, habilitar ascendente

Notas de migración a Studio 5000

Los temporizadores de Logix usan la misma semántica .PRE / .ACC, con direcciones basadas en etiquetas. Capture el valor en un DINT, escriba el .PRE del temporizador inverso y conserve la detección de flancos de un solo disparo con ONS o un equivalente. El artículo A-43402 de la base de conocimientos analiza cómo mover valores acumulados a otras etiquetas en ControlLogix; las funciones de los elementos coinciden con el patrón de SLC.

Comprobaciones de flanco para capturar ACC y escribir PRE

Interrumpa el haz en un tiempo transcurrido conocido y confirme que el valor predeterminado inverso coincide con el ACC capturado dentro de un tic de la base de tiempo. Confirme que los valores predeterminados solo se carguen cuando Preset_Loaded sea false. Los errores comunes incluyen escribir en .ACC, omitir la etapa entera, capturar sin la calificación /TT y permitir que un peldaño de inicialización sobrescriba .PRE después de la captura. Mantenga la documentación de los temporizadores coherente con otros estándares de PLC y PAC al migrar la lógica del entrenador a Logix.

Sobre el autor

Mark Townsend | Ingeniero sénior de automatización – Sistemas Allen-Bradley

Mark Townsend es un ingeniero sénior de automatización con más de 18 años de experiencia en plataformas Allen-Bradley, incluidos ControlLogix, CompactLogix y el SLC-500 heredado. Su trabajo diario consiste en desarrollar lógica en RSLogix / Studio 5000 y poner en marcha HMI de FactoryTalk View en flotas antiguas y mixtas.

RSLogix 500: Mover el valor ACC de un temporizador a otro PRE de temporizador

Programación de temporizadores en RSLogix 500: capturar el ACC de un temporizador en funcionamiento y transferirlo al PRE de otro temporizador para simular una puerta reversible con barrera de segu...

La emulación del movimiento bidireccional en RSLogix 500 suele requerir un temporizador que funcione durante el tiempo ya empleado en desplazarse en la dirección opuesta. Un entrenador de puerta de garaje es el caso clásico: si la fotocélula se activa después de tres segundos de recorrido descendente, el recorrido ascendente inverso debe durar tres segundos, no los seis segundos codificados como valor predeterminado. Ese requisito no puede cumplirse editando el acumulador del temporizador de origen. La instrucción del temporizador sobrescribe la palabra .ACC activa en cada exploración mientras el rung sea verdadero. El patrón persistente consiste en capturar .ACC en un entero mediante un flanco de un solo disparo y, después, escribir ese entero en el .PRE del temporizador de destino antes de habilitar el recorrido inverso.

RSLogix 500: Transferencia de ACC de un temporizador a PRE de otro temporizador — figura 1

Leer .ACC, almacenarlo provisionalmente mediante N7 y escribirlo en .PRE; nunca tratar el acumulador como un valor de consigna persistente.

Arquitectura del archivo de temporizadores

Cada temporizador SLC ocupa tres palabras: bits de estado (EN/TT/DN), .PRE y .ACC. Las bases de tiempo son 0,01 s, 0,1 s o 1,0 s. Con una base de 0,01 s, un valor predeterminado de 600 equivale a seis segundos. La publicación 1747-6.15 documenta detalladamente el comportamiento del conjunto de instrucciones.

Elemento Función ¿Valor de consigna escribible?
T4:x.PRE Conteo objetivo Sí: destino correcto
T4:x.ACC Conteo transcurrido Sin efecto persistente mientras EN sea verdadero
T4:x/TT Calificador de temporización Usar para controlar la captura

Por qué falla MOV en .ACC

Mientras EN sea verdadero, la instrucción TON/TOF/RTO actualiza .ACC en cada exploración. Un MOV del usuario en .ACC se sobrescribe en la siguiente exploración (o incluso en la misma). Recargar .ACC tampoco redefine el objetivo de comparación; la instrucción compara .ACC con .PRE. Escribir un nuevo .PRE y reiniciar desde .ACC = 0 es la forma controlada de cambiar la duración.

Captura con ONS, transferencia con MOV

Rung de captura:
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Rung de carga del valor predeterminado:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung de enclavamiento:
XIC Capture_Bit  OTL Preset_Loaded

Rung de valor predeterminado (controlado):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Peldaño de borrado:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 no aceptará un MOV que use el mismo elemento de temporizador como origen y destino. Utilice siempre una palabra de archivo entero intermedia, como N7:10. El bit de almacenamiento de ONS mantiene la captura en el flanco ascendente del haz, de modo que una entrada mantenida no reescriba el valor predeterminado en cada escaneo.

RSLogix 500: mover ACC de un temporizador a PRE de otro temporizador — figura 2

Máquina de estados alrededor de la transferencia

Estado Condición de entrada Acción
EN ESPERA Al encender / ambos completados Borrar disparos únicos y bits de dirección
SUBIENDO Flanco ASCENDENTE Valor predeterminado ascendente si no se ha cargado
DESCENDIENDO Flanco DESCENDENTE Valor predeterminado descendente
INVERSIÓN Flanco del haz mientras desciende Capturar ACC → cargar en PRE ascendente, habilitar ascendente

Notas de migración a Studio 5000

Los temporizadores de Logix usan la misma semántica .PRE / .ACC, con direcciones basadas en etiquetas. Capture el valor en un DINT, escriba el .PRE del temporizador inverso y conserve la detección de flancos de un solo disparo con ONS o un equivalente. El artículo A-43402 de la base de conocimientos analiza cómo mover valores acumulados a otras etiquetas en ControlLogix; las funciones de los elementos coinciden con el patrón de SLC.

Comprobaciones de flanco para capturar ACC y escribir PRE

Interrumpa el haz en un tiempo transcurrido conocido y confirme que el valor predeterminado inverso coincide con el ACC capturado dentro de un tic de la base de tiempo. Confirme que los valores predeterminados solo se carguen cuando Preset_Loaded sea false. Los errores comunes incluyen escribir en .ACC, omitir la etapa entera, capturar sin la calificación /TT y permitir que un peldaño de inicialización sobrescriba .PRE después de la captura. Mantenga la documentación de los temporizadores coherente con otros estándares de PLC y PAC al migrar la lógica del entrenador a Logix.

Sobre el autor

Mark Townsend | Ingeniero sénior de automatización – Sistemas Allen-Bradley

Mark Townsend es un ingeniero sénior de automatización con más de 18 años de experiencia en plataformas Allen-Bradley, incluidos ControlLogix, CompactLogix y el SLC-500 heredado. Su trabajo diario consiste en desarrollar lógica en RSLogix / Studio 5000 y poner en marcha HMI de FactoryTalk View en flotas antiguas y mixtas.

Deja un comentario

Tenga en cuenta que los comentarios deben ser aprobados antes de ser publicados.