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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 38 von 38

Thema: Fehlermeldung bei SCL-Programm

  1. #31
    Tuggi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.01.2011
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von dalbi Beitrag anzeigen
    Nachtrag: Die MAXSIZE könnte man wieder über den ANY ermitteln.

    Gruss Daniel

    hi,
    ich muss zugeben, dass ich es mir viel zu einfach vorgestellt hatte. Ich habe mal deine zweite Variante versucht zu testen, wobei nach der Übersetzung erneut Fehlermeldungen auftraten. Funktioniert das denn bei dir?
    Fehlermeldungen:

    Baustein: UDT_Values
    F: Z 00003 S 00001: Symbolischer Bausteinname: 'UDT_Values' nicht erkannt.
    Baustein: Daten
    F: Z 00011 S 00001: Symbolischer Bausteinname: 'Daten' nicht erkannt.
    Baustein: SelectionSort
    F: Z 00022 S 00001: Symbolischer Baustinname: 'SelectionSort' nicht erkannt.
    Baustein: OB1
    F: Z 00074 S 00009: Der Bezeichner existiert nicht.
    F: Z 00074 S 00009: Fehlerhafte Variable, der Punkt ist nicht zulässig.
    F: Z 00074 S 00032: Der Baustein SelectionSort konnte nicht gefunden oder kopiert werden.
    F: Z 00074 S 00032: Funktion nicht definiert.
    F: Z 00074 S 00050: Der Bezeichner existiert nicht.
    F: Z 00074 S 00050: Fehlerhafte Vairable, der Punkt ist nicht zulässig.
    W: Der Code-Generator wurde wegen eines Fehlers nicht aufgerufen.
    Ergebnis 9 Fehler, 1 Warnung(en)
    Geändert von Tuggi (17.01.2011 um 11:10 Uhr)

  2. #32
    Tuggi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.01.2011
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kann es sein, dass ich die Variablendeklarationen aus dem SCL-Programm zusätzlich noch in die Bausteine eintragen muss?

    z.B. die Strukturelemente bei UDT aus dem Programm in einem Baustein UDT1 wieder auflisten.
    Geändert von Tuggi (17.01.2011 um 10:41 Uhr)

  3. #33
    Registriert seit
    27.08.2003
    Ort
    Schweitenkirchen
    Beiträge
    472
    Danke
    101
    Erhielt 73 Danke für 59 Beiträge

    Standard

    Code:
    Baustein: UDT_Values
    F: Z 00003 S 00001: Symbolischer Bausteinname: 'UDT_Values' nicht erkannt.
    Baustein: Daten
    F: Z 00011 S 00001: Symbolischer Bausteinname: 'Daten' nicht erkannt.
    Baustein: SelectionSort
    F: Z 00022 S 00001: Symbolischer Baustinname: 'SelectionSort' nicht erkannt.
    Diese Bausteine müssen in der Symbolik stehen.
    SCL kann nicht einfach den UDT_Values erstellen ohne die UDT Nummer zu wissen. In der Symbolik muss dann in etwa stehen

    UDT1 | UDT_Values

    Wenn diese 3 Bausteine in der Symbolik stehen sollten diese Fehler schon mal weg sein.



    Code:
    Baustein: OB1
    F: Z 00074 S 00009: Der Bezeichner existiert nicht.
    F: Z 00074 S 00009: Fehlerhafte Variable, der Punkt ist nicht zulässig.
    F: Z 00074 S 00032: Der Baustein SelectionSort konnte nicht gefunden oder kopiert werden.
    F: Z 00074 S 00032: Funktion nicht definiert.
    F: Z 00074 S 00050: Der Bezeichner existiert nicht.
    F: Z 00074 S 00050: Fehlerhafte Vairable, der Punkt ist nicht zulässig.
    W: Der Code-Generator wurde wegen eines Fehlers nicht aufgerufen.
    Ergebnis 9 Fehler, 1 Warnung(en)
    Wenn oberer Teil Fehlerfrei ist, sollte hier nicht viel übrig bleiben.

    Wenn Fehlerfrei übersetzt wurde, müssen im Ordner Bausteine die UDT, der DB und die FC stehen.

    Schau erstmal dass komplett Fehlerfrei übersetzt wird und du die Abläufe verstehst erst dann schlag dich mit dem Any rum.
    Wenn ich einen meiner Finger in eines deiner Nasenlöcher stecke, haben wir beide nen Finger in der Nase

  4. Folgender Benutzer sagt Danke zu Zefix für den nützlichen Beitrag:

    Tuggi (17.01.2011)

  5. #34
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Also wenn in der Symbolik folgendes als Beispiel steht funktioniert das Kompilieren

    UDT_Values UDT 1 UDT 1
    Daten DB 1 DB 1
    SelectionSort FC 1 FC 1


    bike

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

    Tuggi (17.01.2011)

  7. #35
    Tuggi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.01.2011
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke ihr beiden,

    jetzt funktioniert das Übersetzen.

    0 Fehler

    Gruß Tuggi

  8. #36
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    die einfachste Variante.

    Code:
    // SCL-Programmbeispiel-SelectionSort
    FUNCTION SelectionSort : INT
    
    CONST
      MAXSIZE := 4;
    END_CONST
    
    VAR_IN_OUT // Variablendeklaration
      arrValues : ARRAY[0..MAXSIZE] OF INT;
    END_VAR
    
    VAR_TEMP
      Idx1, Idx2, MaxIdx, MaxVal : INT;
    END_VAR
    
    BEGIN
    
      FOR Idx1 := MAXSIZE TO 1 BY -1 DO // Werte des Feldes erfassen
        MaxVal := arrValues[Idx1];
        MaxIdx := Idx1;
        
        FOR Idx2 := 0 TO Idx1-1 DO // Bestimmung des größten Wertes der Zelle aus dem Feld
          IF arrValues[Idx2] > MaxVal THEN // und deren Indexübernahme
            MaxVal := arrValues[Idx2];
            MaxIdx := Idx2;
          END_IF;
        END_FOR;
        
        IF MaxIdx < Idx1 THEN // größter Wert der hochwertigsten Zelle übergeben
          arrValues[MaxIdx] := arrValues[Idx1];
          arrValues[Idx1] := MaxVal;
        END_IF;
      END_FOR;
      SelectionSort := 100;
    
    END_FUNCTION
    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  9. #37
    Tuggi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.01.2011
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von dalbi Beitrag anzeigen
    Hi,

    die einfachste Variante.

    Code:
    // SCL-Programmbeispiel-SelectionSort
    FUNCTION SelectionSort : INT
    
    CONST
      MAXSIZE := 4;
    END_CONST
    
    VAR_IN_OUT // Variablendeklaration
      arrValues : ARRAY[0..MAXSIZE] OF INT;
    END_VAR
    
    VAR_TEMP
      Idx1, Idx2, MaxIdx, MaxVal : INT;
    END_VAR
    
    BEGIN
    
      FOR Idx1 := MAXSIZE TO 1 BY -1 DO // Werte des Feldes erfassen
        MaxVal := arrValues[Idx1];
        MaxIdx := Idx1;
        
        FOR Idx2 := 0 TO Idx1-1 DO // Bestimmung des größten Wertes der Zelle aus dem Feld
          IF arrValues[Idx2] > MaxVal THEN // und deren Indexübernahme
            MaxVal := arrValues[Idx2];
            MaxIdx := Idx2;
          END_IF;
        END_FOR;
        
        IF MaxIdx < Idx1 THEN // größter Wert der hochwertigsten Zelle übergeben
          arrValues[MaxIdx] := arrValues[Idx1];
          arrValues[Idx1] := MaxVal;
        END_IF;
      END_FOR;
      SelectionSort := 100;
    
    END_FUNCTION
    Gruss Daniel


    Aha ok,
    dafür müsste ich jetzt nur noch in der Symboltabelle z.B. einen FC1 als "SelectionSort" benennen. Bei dieser Variante haben die Zellen aber keinen Inhalt. Was würde denn beim Beobachten der Variablen angezeigt werden? - Irgendwelche Zahlen?!

    Fehlt bei diesem Quellcode nicht auch noch der Aufruf im OB1 so wie du das bei deinen anderen Varianten getan hast?

    und die letzte Frage vorerst:

    Was bedeutet die Fehlermeldung "Der Baustein-Ordner(ONLINE) konnte nicht erreicht werden" ?

    Diese Fehlermeldung entsteht beim Brillensymbol im SCL Editor, wenn ich also die Variablen beobachten möchte.
    Geändert von Tuggi (19.01.2011 um 17:10 Uhr)

  10. #38
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    Zitat Zitat von Tuggi Beitrag anzeigen
    Aha ok,
    dafür müsste ich jetzt nur noch in der Symboltabelle z.B. einen FC1 als "SelectionSort" benennen. Bei dieser Variante haben die Zellen aber keinen Inhalt. Was würde denn beim Beobachten der Variablen angezeigt werden? - Irgendwelche Zahlen?!
    nein, Du musst natürlich den DB und den Aufruf noch mit reinpacken.
    Achtung! Das Array im DB muss exakt dem in Baustein entsprechen.

    Zitat Zitat von Tuggi Beitrag anzeigen
    Fehlt bei diesem Quellcode nicht auch noch der Aufruf im OB1 so wie du das bei deinen anderen Varianten getan hast?
    ja, siehe oben.

    Zitat Zitat von Tuggi Beitrag anzeigen
    Was bedeutet die Fehlermeldung "Der Baustein-Ordner(ONLINE) konnte nicht erreicht werden" ?
    Sind da mehrere Ordner in Deinem Projekt?
    Lege die Quelle mal in dem Ordner unter der CPU ab, was passiert da?

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

Ähnliche Themen

  1. S5 Programm überschreiben zu S7 Programm
    Von Tabler im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 29.03.2011, 22:37
  2. Antworten: 8
    Letzter Beitrag: 09.12.2010, 18:08
  3. Fehlermeldung PS4 201 MM1
    Von Mike Macho im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 18.11.2008, 14:49
  4. Antworten: 0
    Letzter Beitrag: 05.10.2006, 13:56
  5. S5 Programm in ein S7 Programm umwandeln
    Von 1schilcher im Forum HMI
    Antworten: 3
    Letzter Beitrag: 15.01.2006, 11:53

Stichworte

Lesezeichen

Berechtigungen

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