-> Hier kostenlos registrieren
Ich bearbeite gerade das Beispiel bezüglich Füllstandsmessung aus dem Handbuch/Interne Hilfe ("Beispiel für das Erfassen des Füllstands eines Lagerbereichs").
In diesem wird ein CTUD-Zähler verwendet. Dieser gibt auf dem CV-Ausgang den aktuellen Zählwert als INT aus. Diesen möchte ich der Variable "Paketanzahl" zuweisen. "Paketanzahl" ist in der Standard-Variablenliste ebenso als INT deklariert.
Habe das Beispiel mal ein wenig gekürzt. Wenn die Paketanzahl 100 beträgt, soll "Anzeige_VOLL" aktiv sein.
Wenn ich den Baustein (bzw. die Variable Paketanzahl) beobachte tauchen nur die Werte 256, 512 oder 768 auf. Wechseln in einem mir nicht logischen Muster in Abhängigkeit von CV.
In der Datenbank des Zählers ist der richtige Wert vermerkt.
Was mache ich falsch?
In diesem wird ein CTUD-Zähler verwendet. Dieser gibt auf dem CV-Ausgang den aktuellen Zählwert als INT aus. Diesen möchte ich der Variable "Paketanzahl" zuweisen. "Paketanzahl" ist in der Standard-Variablenliste ebenso als INT deklariert.
Habe das Beispiel mal ein wenig gekürzt. Wenn die Paketanzahl 100 beträgt, soll "Anzeige_VOLL" aktiv sein.
Code:
"IEC_Counter_0_DB".CTUD(CU:="Lichtschranke_IN",
CD:="Lichtschranke_OUT",
R:="Reset",
PV:=0,
CV=>"Paketanzahl");
IF "Paketanzahl" = 100 THEN
"Anzeige_VOLL" := 1;
END_IF;
Wenn ich den Baustein (bzw. die Variable Paketanzahl) beobachte tauchen nur die Werte 256, 512 oder 768 auf. Wechseln in einem mir nicht logischen Muster in Abhängigkeit von CV.
In der Datenbank des Zählers ist der richtige Wert vermerkt.
Was mache ich falsch?