Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 3 von 3

Thema: [SCL] IEC-Zähler (CTUD) schreibt auf CV Variable falsche Werte, gleicher Datentyp

  1. #1
    Registriert seit
    09.04.2015
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> 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.

    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?
    Zitieren Zitieren [SCL] IEC-Zähler (CTUD) schreibt auf CV Variable falsche Werte, gleicher Datentyp  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Das klingt ein bisschen wie High-Byte und Low-Byte vertauscht - ich kann mir aber nicht vorstellen, wie das innerhalb SCL passieren können soll. (bzw. zur Zeit ist Siemens bei TIA ja jeder mögliche und unmögliche Bug zuzutrauen )

    Gibt es vielleicht noch Zugriffe auf "Paketanzahl" von woanders her oder Überlappungen mit anderen Variablen?
    Wie ist "Paketanzahl" deklariert? Magst Du uns etwas mehr Code zeigen?
    Was für eine CPU hast Du? Oder simulierst Du nur? Welche TIA-Version hast Du?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Warwick ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.04.2015
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gerade als ich die Datenbank und Variablentabelle hochladen wollte, ist mir aufgefallen, dass ich Paketanzahl als Eingang deklariert habe. Als Ausgang funktioniert es einwandfrei - interessanterweise funktioniert es danach weiterhin, falls ich es wieder als Eingang deklariere. Muss ich jetzt nicht verstehen.

    Dennoch vielen dank für die schnelle Antwort.

Ähnliche Themen

  1. Step7 CFC Zähler CTUD
    Von DI87 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 22.03.2013, 09:55
  2. Buskoppler liest und schreibt keine Werte
    Von buddd im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 20.09.2011, 17:26
  3. IEC-61131 Pointer mit Index auf BOOL Variable
    Von Stussi im Forum CODESYS und IEC61131
    Antworten: 21
    Letzter Beitrag: 14.12.2007, 09:11
  4. Falsche Werte mit CRC_GEN
    Von CBRA im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 11.11.2007, 21:53
  5. Antworten: 2
    Letzter Beitrag: 29.05.2007, 23:10

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •