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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Zähler in SCL

  1. #1
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    ich habe folgendes Problem, ich möchte einen Vorwärts-/ Rückwärtszähler im SCL programmieren. Ich bekomm das aber einfach nicht hin, nach dem Übersetzen erhalte ich immer "Ungültiger oder fehlender Funktionstyp" in der letzten Zeile. Hat jemand ne Idee warum?
    Code:
     S_CUD (C_NO:=Z1,
      CD:=E16.0,
      CU:=E16.1,
      S:= E16.4 AND E16.5,
      PV:=0,
      R:=FALSE,
      CV:=Wert);
    " Immer schön locker durch die Hose atmen"
    Zitieren Zitieren Zähler in SCL  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo Felse,
    welchen Typ hat die Variable "Wert" in deinem Script ?
    Und wo ist der Ausgang "Q" ?

    Gruß
    LL

  3. #3
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Vielleicht hilft dir dieses Beispiel aus der SCL Hilfe:
    Beispiele
    //Beispiel für einen absoluten Aufruf:
    S_CUD (C_NO:=Z12,
    CD:=E0.0,
    CU:=E0.1,
    S:=E0.2 & E0.3,
    PV:=120,
    R:=FALSE,
    CV:=binVal,
    Q:=actFlag);

    //Beispiel für einen dynamischen Aufruf: Bei jedem Durchlauf einer
    //FOR-Schleife wird ein anderer Zähler aufgerufen:
    FUNCTION_BLOCK ZAEHL
    VAR_INPUT
    Zaehl: ARRAY [1..4] of STRUCT
    C_NO: INT;
    PV : WORD;
    END_STRUCT;
    .
    .
    END_VAR
    .
    .
    FOR I:= 1 TO 4 DO
    S_CD(C_NO:=Zaehl[i].C_NO, S:=true, PV:= Zaehl[i].PV);
    END_FOR;

    //Beispiel für einen dynamischen Aufruf bei Verwendung einer Variablen vom
    //Datentyp COUNTER:
    FUNCTION_BLOCK ZAEHLER
    VAR_INPUT
    MeinZaehler:COUNTER;
    END_VAR
    .
    .
    CurrVal:=S_CD (C_NO:=MeinZaehler,.....);

  4. #4
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    @ larry
    Wert ist eine"word" Variable und Q? Tja, ich hab gelesen, dass man Q einfach weglassen kann...? Brauch ich die unbedingt wenn ich sowieso nur den Wert von CV zur Weiterverarbeitung benötige?
    @hotsch
    Die hab ich mir auch schon angesehen, bin aber nicht wirklich schlau geworden.
    Geändert von Felse (09.03.2009 um 15:55 Uhr)
    " Immer schön locker durch die Hose atmen"

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo Felse,
    die Zähler haben einen Rückgabewert. Schreib also mal :
    Code:
    Istwert := S_CUD (...) ;
    dann sollte es gehen ...

    Gruß
    LL

  6. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    Felse (09.03.2009)

  7. #6
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Ja jetzt funktionierts... Danke
    " Immer schön locker durch die Hose atmen"

  8. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Ich finde es allerdings Klasse, dass man bei Siemens nicht in der Lage ist, in einem Beispiel darauf hinzuweisen ...
    Die Jungs habe ich im Augenblick aber sowieso gefressen ...

  9. #8
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Ich hab das mit der Variable in einem Buch von Siemens gelesen...
    Aber ne kleine Frage hab ich da noch: ich hab die Variable "C_NO" unter Var_input als "counter" festgelegt. Wenn ich die dann aber im OB1 aufrufe geht das nicht... "Element nicht gefunden". Was muss man da beachten?
    " Immer schön locker durch die Hose atmen"

  10. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    was hast du denn hinter der Abfrage "Counter" eingetragen ? Dort muß dann natürlich z.B. "Z12" (oder so) hin ...

  11. #10
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich dachte so:

    Code:
    Istwert := S_CUD (C_NO:=Z1,
      CD:=E16.0,
      CU:=E16.1,
      S:= E16.4 AND E16.5,
      PV:=0,
      R:=FALSE,
      CV:=CV);
    OB1 hab ich im FUP (find ich dafür einfach schöner), da kann ich C_NO ja anwählen, aber der wird mir dann gleich rot angezeigt.
    " Immer schön locker durch die Hose atmen"

Ähnliche Themen

  1. Betriebsstunden Zähler / max. Zähler Anzahl.
    Von superkato im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 03.12.2010, 16:38
  2. Zähler
    Von Mallako im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 09.02.2009, 18:03
  3. Maximalzählwert Zähler S7-300 + maximale Zähler CPU
    Von DennisBerger im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 02.07.2007, 10:54
  4. Zähler in FUB ???
    Von DeeWay im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 11.04.2007, 10:30
  5. Zähler
    Von Felix Jongleur im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.03.2006, 21:34

Lesezeichen

Berechtigungen

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