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

Ergebnis 1 bis 4 von 4

Thema: OB1 mit Aufruf einer Funktion in SCL

  1. #1
    Registriert seit
    19.10.2007
    Beiträge
    261
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich wollte gerne in SCL eine Funktion FC1 im OB1 aufrufen:

    FUNCTION FC1 : VOID

    IF E0.0 = true THEN
    A0.0 := true;
    END_IF;
    END_FUNCTION

    ORGANIZATION_BLOCK OB1

    VAR_TEMP
    info : ARRAY[0..19] OF BYTE; // reserviert
    END_VAR

    Ausgabe := FC1; // Aufruf der Funktion FC1

    END_ORGANIZATION_BLOCK


    Allerdings kommt beim Übersetzen die Fehlermeldung:

    Der Bezeichner existiert nicht.

    Ich denke mal, es handelt sich um einen Fehler in Zusammenhang mit dem OB1.

    Was habe ich falsch gemacht?

    Vielen Dank für einen Denkanstoß!

    pinolino
    Zitieren Zitieren OB1 mit Aufruf einer Funktion in SCL  

  2. #2
    Registriert seit
    30.01.2009
    Beiträge
    442
    Danke
    25
    Erhielt 48 Danke für 44 Beiträge

    Standard

    Hi,

    ich habs mal getestet und das Übersetzen funktioniert ohne Fehler und Warnung.
    Jedoch habe ich in der Symboltabelle den FC1 den Symbolnamen "Ausgabe" gegeben, ich schätze das fehlt bei dir.

    Gruß
    @Move

  3. #3
    Registriert seit
    28.03.2008
    Beiträge
    142
    Danke
    19
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Der FC1 ist doch vom Type "Void" also kannst Du im OB1 die Zuweisung Ausgabe := FC1; vergessen.


    PS: Einfach FC1(); in den OB1 schreiben das ist dann Aufruf genug.
    Geändert von BoxHead (29.04.2009 um 15:39 Uhr)
    Komm und wecke den Teufel unter meiner Schädeldecke. Das Chaos hat die Macht!

  4. #4
    pinolino ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.10.2007
    Beiträge
    261
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank euch beiden!

    Beide Varianten gehen:

    Entweder der FC1 den symbolischen Namen "Ausgang" geben

    ODER

    einfach nur FC1(); in den aufrufenden OB einschreiben.

    Grüße

    pinolino

Ähnliche Themen

  1. Pointer als Rückgabewert einer Funktion
    Von kai86 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 12.04.2010, 12:07
  2. Antworten: 31
    Letzter Beitrag: 10.01.2009, 13:10
  3. Alle gesetzten Merker einer Funktion zurücksetzen
    Von dominik_Thesis im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 25.11.2008, 13:07
  4. Antworten: 8
    Letzter Beitrag: 13.07.2008, 11:23
  5. Antworten: 10
    Letzter Beitrag: 26.11.2007, 16:34

Lesezeichen

Berechtigungen

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