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.
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.
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.