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

RSLogix 500: Timer-AKK in den PRE-Wert eines anderen Timers verschieben

RSLogix-500-Timerprogrammierung: Den ACC-Wert eines laufenden Timers erfassen und an den PRE-Wert eines anderen Timers übertragen, um eine reversible Türsimu...

Die Emulation einer bidirektionalen Bewegung in RSLogix 500 erfordert häufig einen Timer, der so lange läuft, wie die Bewegung zuvor in die entgegengesetzte Richtung gedauert hat. Ein Garagentor-Trainer ist der klassische Fall: Wenn die Lichtschranke nach drei Sekunden Abwärtsbewegung auslöst, muss die Aufwärtsbewegung drei Sekunden lang laufen, nicht mit dem fest programmierten Preset von sechs Sekunden. Diese Anforderung lässt sich nicht durch Bearbeiten des Akkumulatorwerts des Quelltimers erfüllen. Das aktuelle .ACC-Wort wird von der Timeranweisung in jedem Scan überschrieben, solange der Rung true ist. Das robuste Muster besteht darin, .ACC bei einer Flanke mit einem One-Shot in eine Ganzzahl zu übernehmen und diese Ganzzahl vor der Aktivierung der Rückwärtsbewegung in das .PRE des Zieltimers zu schreiben.

RSLogix 500: Timer-ACC in PRE eines anderen Timers verschieben – Abbildung 1

.ACC auslesen, über N7 zwischenspeichern, in .PRE schreiben – den Akkumulator niemals als dauerhaften Sollwert behandeln.

Architektur der Timer-Datei

Jeder SLC-Timer belegt drei Wörter: Statusbits (EN/TT/DN), .PRE und .ACC. Die Zeitbasen sind 0,01 s, 0,1 s oder 1,0 s. Bei einer Zeitbasis von 0,01 s entspricht ein Preset von 600 sechs Sekunden. Die Publikation 1747-6.15 dokumentiert das Verhalten des Befehlssatzes ausführlich.

Element Funktion Beschreibbarer Sollwert?
T4:x.PRE Zielzählerstand Ja – das ist das richtige Ziel
T4:x.ACC Abgelaufener Zählerstand Keine dauerhafte Wirkung, solange EN true ist
T4:x/TT Zeitqualifizierer Zur Steuerung der Erfassung verwenden

Warum MOV nach .ACC fehlschlägt

Solange EN true ist, aktualisiert die TON/TOF/RTO-Anweisung .ACC in jedem Scan. Ein benutzerdefiniertes MOV nach .ACC wird im nächsten oder sogar im selben Scan überschrieben. Auch das erneute Laden von .ACC definiert das Vergleichsziel nicht neu; die Anweisung vergleicht .ACC mit .PRE. Das Schreiben eines neuen .PRE und der Neustart mit .ACC = 0 ist die kontrollierte Methode, die Dauer zu ändern.

Erfassung mit ONS, Übertragung mit MOV

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

Rung-Preset laden:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung-Veriegelung:
XIC Capture_Bit  OTL Preset_Loaded

Rung-Standard (verriegelt):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Netzwerk löschen:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 akzeptiert keinen MOV-Befehl, der dasselbe Timer-Element sowohl als Quelle als auch als Ziel verwendet. Stufen Sie den Wert immer über ein Wort in einer Ganzzahldatei wie N7:10 zwischen. Das ONS-Speicherbit hält die Erfassung auf der führenden Flanke der Lichtschranke fest, sodass ein dauerhaft anliegendes Eingangssignal den Voreinstellwert nicht bei jedem Scan erneut schreibt.

RSLogix 500: Timer-ACC in ein anderes Timer-PRE verschieben — Abbildung 2

Zustandsautomat rund um die Übergabe

Zustand Eintrittsbedingung Aktion
RUHEZUSTAND Einschalten / beide abgeschlossen One-Shot- und Richtungsbits löschen
AUFWÄRTSFAHRT AUFWÄRTS-Flanke Standardvoreinstellwert aufwärts, falls nicht geladen
ABWÄRTSFAHRT ABWÄRTS-Flanke Standardvoreinstellwert abwärts
UMKEHR Lichtschrankenflanke während Abwärtsbewegung ACC erfassen → PRE erhöhen, Aufwärtsbewegung aktivieren

Hinweise zur Studio-5000-Migration

Logix-Timer verwenden dieselbe .PRE-/.ACC-Semantik mit tagbasierten Adressen. Erfassen Sie den Wert in einem DINT, schreiben Sie den Wert in .PRE des Rückwärtstimers und behalten Sie die Flankenerkennung mit ONS oder einem gleichwertigen Verfahren bei. Knowledgebase A-43402 behandelt das Verschieben von Akkumulationswerten in andere Tags unter ControlLogix; die Elementrollen entsprechen dem SLC-Muster.

Kantenprüfungen für ACC-Erfassung und PRE-Schreiben

Lösen Sie die Lichtschranke zu einer bekannten verstrichenen Zeit aus und bestätigen Sie, dass der Rückwärtsvoreinstellwert innerhalb eines Zeitbasistakts dem erfassten ACC entspricht. Bestätigen Sie, dass Standardvoreinstellwerte nur geladen werden, wenn Preset_Loaded false ist. Häufige Fehler sind das Schreiben in .ACC, das Weglassen der Ganzzahlstufe, das Erfassen ohne /TT-Qualifizierung und das Überschreiben von .PRE nach der Erfassung durch ein Initialisierungsnetzwerk. Halten Sie die Timer-Dokumentation bei der Migration der Trainerlogik zu Logix an die übrigen SPS- und PAC-Standards angepasst.

Über den Autor

Mark Townsend | Leitender Automatisierungsingenieur – Allen-Bradley-Systeme

Mark Townsend ist ein leitender Automatisierungsingenieur mit mehr als 18 Jahren Erfahrung mit Allen-Bradley-Plattformen, darunter ControlLogix, CompactLogix und das ältere SLC-500. Zu seinen täglichen Aufgaben gehören die Erstellung und Inbetriebnahme von RSLogix-/Studio-5000-Logik sowie die Inbetriebnahme von FactoryTalk-View-HMIs in veralteten und gemischten Anlagenflotten.

RSLogix 500: Timer-AKK in den PRE-Wert eines anderen Timers verschieben

RSLogix-500-Timerprogrammierung: Den ACC-Wert eines laufenden Timers erfassen und an den PRE-Wert eines anderen Timers übertragen, um eine reversible Türsimulation mit Sicherheitslichtschranke zu r...

Die Emulation einer bidirektionalen Bewegung in RSLogix 500 erfordert häufig einen Timer, der so lange läuft, wie die Bewegung zuvor in die entgegengesetzte Richtung gedauert hat. Ein Garagentor-Trainer ist der klassische Fall: Wenn die Lichtschranke nach drei Sekunden Abwärtsbewegung auslöst, muss die Aufwärtsbewegung drei Sekunden lang laufen, nicht mit dem fest programmierten Preset von sechs Sekunden. Diese Anforderung lässt sich nicht durch Bearbeiten des Akkumulatorwerts des Quelltimers erfüllen. Das aktuelle .ACC-Wort wird von der Timeranweisung in jedem Scan überschrieben, solange der Rung true ist. Das robuste Muster besteht darin, .ACC bei einer Flanke mit einem One-Shot in eine Ganzzahl zu übernehmen und diese Ganzzahl vor der Aktivierung der Rückwärtsbewegung in das .PRE des Zieltimers zu schreiben.

RSLogix 500: Timer-ACC in PRE eines anderen Timers verschieben – Abbildung 1

.ACC auslesen, über N7 zwischenspeichern, in .PRE schreiben – den Akkumulator niemals als dauerhaften Sollwert behandeln.

Architektur der Timer-Datei

Jeder SLC-Timer belegt drei Wörter: Statusbits (EN/TT/DN), .PRE und .ACC. Die Zeitbasen sind 0,01 s, 0,1 s oder 1,0 s. Bei einer Zeitbasis von 0,01 s entspricht ein Preset von 600 sechs Sekunden. Die Publikation 1747-6.15 dokumentiert das Verhalten des Befehlssatzes ausführlich.

Element Funktion Beschreibbarer Sollwert?
T4:x.PRE Zielzählerstand Ja – das ist das richtige Ziel
T4:x.ACC Abgelaufener Zählerstand Keine dauerhafte Wirkung, solange EN true ist
T4:x/TT Zeitqualifizierer Zur Steuerung der Erfassung verwenden

Warum MOV nach .ACC fehlschlägt

Solange EN true ist, aktualisiert die TON/TOF/RTO-Anweisung .ACC in jedem Scan. Ein benutzerdefiniertes MOV nach .ACC wird im nächsten oder sogar im selben Scan überschrieben. Auch das erneute Laden von .ACC definiert das Vergleichsziel nicht neu; die Anweisung vergleicht .ACC mit .PRE. Das Schreiben eines neuen .PRE und der Neustart mit .ACC = 0 ist die kontrollierte Methode, die Dauer zu ändern.

Erfassung mit ONS, Übertragung mit MOV

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

Rung-Preset laden:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung-Veriegelung:
XIC Capture_Bit  OTL Preset_Loaded

Rung-Standard (verriegelt):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Netzwerk löschen:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 akzeptiert keinen MOV-Befehl, der dasselbe Timer-Element sowohl als Quelle als auch als Ziel verwendet. Stufen Sie den Wert immer über ein Wort in einer Ganzzahldatei wie N7:10 zwischen. Das ONS-Speicherbit hält die Erfassung auf der führenden Flanke der Lichtschranke fest, sodass ein dauerhaft anliegendes Eingangssignal den Voreinstellwert nicht bei jedem Scan erneut schreibt.

RSLogix 500: Timer-ACC in ein anderes Timer-PRE verschieben — Abbildung 2

Zustandsautomat rund um die Übergabe

Zustand Eintrittsbedingung Aktion
RUHEZUSTAND Einschalten / beide abgeschlossen One-Shot- und Richtungsbits löschen
AUFWÄRTSFAHRT AUFWÄRTS-Flanke Standardvoreinstellwert aufwärts, falls nicht geladen
ABWÄRTSFAHRT ABWÄRTS-Flanke Standardvoreinstellwert abwärts
UMKEHR Lichtschrankenflanke während Abwärtsbewegung ACC erfassen → PRE erhöhen, Aufwärtsbewegung aktivieren

Hinweise zur Studio-5000-Migration

Logix-Timer verwenden dieselbe .PRE-/.ACC-Semantik mit tagbasierten Adressen. Erfassen Sie den Wert in einem DINT, schreiben Sie den Wert in .PRE des Rückwärtstimers und behalten Sie die Flankenerkennung mit ONS oder einem gleichwertigen Verfahren bei. Knowledgebase A-43402 behandelt das Verschieben von Akkumulationswerten in andere Tags unter ControlLogix; die Elementrollen entsprechen dem SLC-Muster.

Kantenprüfungen für ACC-Erfassung und PRE-Schreiben

Lösen Sie die Lichtschranke zu einer bekannten verstrichenen Zeit aus und bestätigen Sie, dass der Rückwärtsvoreinstellwert innerhalb eines Zeitbasistakts dem erfassten ACC entspricht. Bestätigen Sie, dass Standardvoreinstellwerte nur geladen werden, wenn Preset_Loaded false ist. Häufige Fehler sind das Schreiben in .ACC, das Weglassen der Ganzzahlstufe, das Erfassen ohne /TT-Qualifizierung und das Überschreiben von .PRE nach der Erfassung durch ein Initialisierungsnetzwerk. Halten Sie die Timer-Dokumentation bei der Migration der Trainerlogik zu Logix an die übrigen SPS- und PAC-Standards angepasst.

Über den Autor

Mark Townsend | Leitender Automatisierungsingenieur – Allen-Bradley-Systeme

Mark Townsend ist ein leitender Automatisierungsingenieur mit mehr als 18 Jahren Erfahrung mit Allen-Bradley-Plattformen, darunter ControlLogix, CompactLogix und das ältere SLC-500. Zu seinen täglichen Aufgaben gehören die Erstellung und Inbetriebnahme von RSLogix-/Studio-5000-Logik sowie die Inbetriebnahme von FactoryTalk-View-HMIs in veralteten und gemischten Anlagenflotten.

Einen Kommentar hinterlassen

Bitte beachten Sie, dass Kommentare genehmigt werden müssen, bevor sie veröffentlicht werden.