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

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

Thema: Übersetzungsfehler in SCL

  1. #1
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Ihr,

    ich bin gerade dabei mich etwas in SCL einzuarbeiten; naja so gut es halt geht, da es nicht so viel Übungsmaterial gibt.

    Habe aber etwas gefunden:

    Code:
    FUNCTION_BLOCK FB1
     
    VAR_TEMP
        // temporäre Variablen
    END_VAR
     
    VAR
        // statische Variablen
     
        biVal_R22 : WORD;
        actFlag_R22 : BOOL;
        curr_time_R22 : S5TIME;
        S5Timer_flag_R22 : BOOL;
     
        State_ST_1 : INT := 0;
     
    END_VAR
     
    BEGIN
     
        IF (E1.0 = true) THEN         
        State_ST_1 := 1; 
        S5Timer_flag_R22 := false;
     
    END_IF;
     
    1:
               curr_time_R22 := S_ODT (T_NO:=T22, 
                           S := S5Timer_flag_R22, 
                          TV := T#3S,
                           R := FALSE, 
                          BI := biVal_R22, 
                           Q := actFlag_R22); 
     
        IF (S5Timer_flag_R22 = false) THEN  // Start Timer
        S5Timer_flag_R22 := true; 
     
    END_IF;   
     
        IF (actFlag_R22 = true) THEN        // Timer abgelaufen
        S5Timer_flag_R22:= false;
        A1.0 := false;                   
     
    END_IF;
     
    END_FUNCTION_Block
    Bei der Übersetzung bekomme ich allerdings die Meldung

    "Unbekannte Anweisung"

    an folgender Stelle: curr_time_R22 := S_ODT (T_NO:=T22,


    Offensichtlich handelt es sich hier um einen Sprung mit der Sprungmarke 1?

    Wenn ich die 1 nämlich auskommentiere, dann gibt es keinen Übersetzungsfehler.

    Frage:

    Da ich den Code 1:1 übernommen habe, muss er eigentlich funktionieren - was kann da faul sein?
    Grüße
    petzi
    Zitieren Zitieren Übersetzungsfehler in SCL  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Hallo Petzi,
    eine Sprungmarke (LABEL) muß in SCL genau wie eine Variable deklariert werden (siehe dazu in der SCL-Hilfe). Außerdem bin ich mir da wegen der Syntax jetzt im Augenblick absolut nicht sicher ("1:") - nach meiner Meinung müßte die Label-Bezeichnung u.U. auch mit einem Buchstaben beginnen (da bin ich aber nicht sicher).

    Gruß
    Larry

  3. #3
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    eine Sprungmarke (LABEL) muß in SCL genau wie eine Variable deklariert werden (siehe dazu in der SCL-Hilfe).
    Gruß

    Larry
    Hallo LL,

    das wäre sie aber doch - nämlich unter den statischen Variablen, oder?

    State_ST_1 : INT := 0;
    Grüße
    petzi

  4. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von petzi Beitrag anzeigen
    Hallo LL,

    das wäre sie aber doch - nämlich unter den statischen Variablen, oder?

    State_ST_1 : INT := 0;
    nope!

    Code:
    *
    LABEL
        meinLabel;
    END_LABEL
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke VL,

    also dann ist die Deklaration sozusagen falsch...


    Könnte es denn sein, dass (wie von mir angenommen) es sich bei diesem

    "State_ST_1 : INT := 0;"

    gar nicht um eine Sprungmarke (Sprungbefehl) handelt, sondern um etwas völlig anderes?
    Grüße
    petzi

  6. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von petzi Beitrag anzeigen
    Könnte es denn sein, dass (wie von mir angenommen) es sich bei diesem

    "State_ST_1 : INT := 0;"

    gar nicht um eine Sprungmarke (Sprungbefehl) handelt, sondern um etwas völlig anderes?
    die möglichkeit besteht, ja, durchaus, ist fast sicher, behaupte ich sogar
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... ich vermute, das das "1:" ein Überbleibsel aus einem SELECT CASE ist ...

    Anmerkung dazu noch :
    Ich würde beim Einarbeiten in SCL nicht zu sehr auf vorgefertigte Beispiele setzen. Oft sind sie nicht so Klasse und manchmal versteht man zunächst gar nicht, was da erstellt worden ist und kopiert sich so dann ggf. etwas, das hinterher Unsinn ist ...
    Geändert von Larry Laffer (08.10.2010 um 09:34 Uhr)

  8. #8
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ... ich vermute, das das "1:" ein Überbleibsel aus einem SELECT CASE ist ...

    Anmerkung dazu noch :
    Ich würde beim Einarbeiten in SCL nicht zu sehr auf vorgefertigte Beispiele setzen. Oft sind sie nicht so Klasse und manchmal versteht man zunächst gar nicht, was da erstellt worden ist und kopiert sich so dann ggf. etwas, das hinterher Unsinn ist ...
    Ok, vermutlich war meine Annahme bezüglich Sprung falsch...

    Leider gibt es halt in SCL kaum Übungen im Netz - zumindest finde ich keine. Habt ihr evtl. einen Link, wo es rein um SCL geht?

    Vielen Dank!
    Grüße
    petzi

  9. #9
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von petzi Beitrag anzeigen
    Ok, vermutlich war meine Annahme bezüglich Sprung falsch...

    Leider gibt es halt in SCL kaum Übungen im Netz - zumindest finde ich keine. Habt ihr evtl. einen Link, wo es rein um SCL geht?

    Vielen Dank!
    modul C2 in den siemens ausbildungsunterlagen ( https://www.automation.siemens.com/m...n/Default.aspx )
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #10
    petzi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.12.2008
    Beiträge
    255
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja danke VL, dieses Modul hatte ich mir auch schon mal angesehen...

    Es ist halt sehr begrenzt; ich vermisse dabei einfach verschiedene SCL-Anwendungen. Aber offensichtlich gibt es nicht viel Übungsmaterial im Netz über SCL.
    Grüße
    petzi

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 01.09.2011, 17:47
  2. Antworten: 6
    Letzter Beitrag: 27.04.2009, 18:19
  3. Antworten: 7
    Letzter Beitrag: 08.11.2007, 08:11

Lesezeichen

Berechtigungen

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