Herunterladen Inhalt Inhalt Diese Seite drucken

ABB DC541-CM Betriebsanleitung Seite 15

Interrupt- und zählmodul
Vorschau ausblenden Andere Handbücher für DC541-CM:
Inhaltsverzeichnis

Werbung

Anschließend wird der Baustein DC541_INT_IN zur Erkennung der Inerruptquelle aufgerufen und
entsprechend dessen Ausgängen werden die Interruptzähler der Kanäle aktualisiert.
(* Read interrupt source --> if output = TRUE --> interrupt since last call *)
DC541_IntSource(EN := TRUE, SLOT := cbyDC541_SLOT);
(* count the interrupts for each interrupt input C0..C3 *)
dwCount_InX[0] := dwCount_InX[0] + BOOL_TO_DWORD(DC541_IntSource.IN0);
dwCount_InX[1] := dwCount_InX[1] + BOOL_TO_DWORD(DC541_IntSource.IN1);
dwCount_InX[2] := dwCount_InX[2] + BOOL_TO_DWORD(DC541_IntSource.IN2);
dwCount_InX[3] := dwCount_InX[3] + BOOL_TO_DWORD(DC541_IntSource.IN3);
dwCount_InX[4] := dwCount_InX[4] + BOOL_TO_DWORD(DC541_IntSource.IN4);
Bei einem Interrupt auf Kanal C4 werden die Zähler zurückgesetzt.
IF DC541_IntSource.IN4 THEN
dwIntCount := dwIntCountOld := 0;
FOR byInd := 0 TO cbyDC541_IntInp-1 DO
dwCount_InX[byInd] := dwCount_InXOld[byInd] := 0;
END_FOR; (* byInd *)
wIndex := 0;
END_IF; (* C4 = TRUE *)
Am Ende werden noch die statischen Ein-/Ausgänge bearbeitet, d. h.
- Eingänge lesen,
- Aktionen ausführen
- Ausgänge schreiben.
(* Read inputs of DC541 *)
DC541_IOs(EN := TRUE, SLOT := cbyDC541_SLOT );
DC541_IOs.OUT6 := DC541_IOs.IN5;
DC541_IOs.OUT7 := NOT DC541_IOs.OUT7;
(* Write outputs to DC541*)
DC541_IOs(EN := TRUE, SLOT := cbyDC541_SLOT);
Aufgabe des zyklischen Programmes: PLC_PRG
Im zyklischen Programm PLC_PRG sind folgende Funktionen realisiert:
- Zykluszähler
dwC := dwC + 1;
- Lesen der Konfiguration des DC541
Aufruf des Bausteines DC541_GET_CFG
- Lesen des Status des DC541
Aufruf des Bausteines DC541_STATE
- Lesen/Schreiben der statischen Kanäle des DC541
Aufruf des Bausteines DC541_IO
- Simulation der Interrupts für das DC541
Aufruf des Bausteines Simu_Pulse
Die Bausteine DC541_GET_CFG, DC541_STATE und DC541_IO sind Bestandteil der
DC541_AC500_V11.lib und sind ausführlich in der Dokumentation der Bibliothek beschrieben.
____________________________________________________________________________________________________________
G7
AC500-Systemtechnik E/A-Module
(* Input channel C4 = TRUE *)
(* reset count all interrupts *)
(* reset channel interrupt counters C0..C3 *)
(* start historical data from 0 *)
(* C6 := state of input channel C5 *)
(* toggle channel C7 *)
15
DC541
AC500 / Stand: 08.2006

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis