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

Ergebnis 1 bis 8 von 8

Thema: DB Variablen 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,
    hab noch eine Frage wegen der SCL Geschichte. Ich möchte zwei INT- Felder miteinander vergleichen. Die Variablen dafür sind schon in meinem DB vorhanden. Allerdings weiß ich nicht genau wie ich auf die Variablen zugreifen kann. Ich bekomm immer die Meldung "Datenspezifikation ist nicht korrekt". Im Anhang ist mein aktueller Stand, aber ich weiß gar nicht ob man das so überhaupt macht. Wär schön wenn mir jemand ne Möglichkeit zeigen könnte.
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: bmp VGL.bmp (336,3 KB, 36x aufgerufen)
    " Immer schön locker durch die Hose atmen"
    Zitieren Zitieren DB Variablen in SCL  

  2. #2
    Registriert seit
    12.02.2008
    Beiträge
    31
    Danke
    3
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Zitat Zitat von Felse Beitrag anzeigen
    aber ich weiß gar nicht ob man das so überhaupt macht.
    nein mein Sohn, dass macht man nicht so...

    lösche die Adresse der beiden Integer aus der var input deklaration, dann solltest du den FC compilieren können. Die Adresse der INT's gibts du dann dort an wo die den FC aufrufts...
    Geändert von nobby_nobbs (24.02.2009 um 11:09 Uhr)

  3. #3
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.629
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Es ist mir nicht klar was Du willst.
    Entweder direkten zugang auf DB addressen, oder über Parameter.
    Beide ist nicht möglich.

    Und, ich glaube nicht das "DB3.PP_WDG_21" ist gestattet.
    Du musst entweder Symbolisch, oder absolut addressieren.
    Also entweder DB3.DBW100 oder MyData.PP_WDG_21.

    Und eine bitte: Schreib einfach dein Code hier, ein bitmap ist viel zu umständlich.
    Jesper M. Pedersen

  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

    OK hab das jetzt so gemacht, funzt leider immernoch nicht.

    [FUNCTION FC6 : BOOL

    VAR_INPUT
    Eingabe_l:= DB3.DBW256 : INT;
    Eingabe_2:= DB3.DBW276 : INT;

    END_VAR
    VAR_OUTPUT
    Ausgabe: bool;
    END_VAR

    END_FUNCTION]

    "Komma oder Doppelpunkt fehlt" in den markierten Zeilen
    " Immer schön locker durch die Hose atmen"

  5. #5
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.629
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Probier:
    Code:
    FUNCTION FC6 : BOOL
     
    VAR_INPUT
    Eingabe_1  ,  Eingabe_2 : INT; 
    END_VAR
     
    FC6 := (Eingabe_1 > 0) OR (Eingabe_1 = 0) AND (Eingabe_2 >0) ;
     
    END_FUNCTION
    Dann übergibst Du DB3.DBW256 und DB3.DBW276 als Parameter wenn Du FC6 aufrufst.
    Jesper M. Pedersen

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Hallo Felse,
    in Anlehnung an dein Beispiel :
    Code:
    FUNCTION FC6 : BOOL
     
    VAR_INPUT
      Eingabe_l: INT;
      Eingabe_2: INT; 
    END_VAR
    VAR_OUTPUT
    Ausgabe: bool;
    END_VAR
     
    END_FUNCTION
    .. und dann die Verrechnung derselben intern.
    Du kannst innerhalb des FC's eine absolute Adresse verwenden (macht aber keinen Sinn) oder an deine symbolischen Eingangs-Parameter beim Aufruf der FC die absoluten Adressen übergeben.
    Das, was du da in deinem Script vorhattest, war eine Konstanten-Zuweisung auf (variable) IN-Parameter. Das geht nicht ...

    Gruß
    LL

    Edit: Ich sehe gerade, dass Jesper das auch schon geschrieben hat ...

  7. #7
    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

    Ah natürlich, sorry, war total die lange Leitung, läuft jetzt aber, danke.
    " Immer schön locker durch die Hose atmen"

  8. #8
    Registriert seit
    28.05.2008
    Beiträge
    103
    Danke
    9
    Erhielt 18 Danke für 17 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ..und neben all dem bin ich auch schon über den Umstand gestolpert,
    dass bei noch fehlenden Anweisungen mindestens ein ";" im Anweisungsteil stehen muss für eine erfolgreiche Übersetzung.
    Gruss aus CH

Ähnliche Themen

  1. ANY Variablen
    Von rsu76 im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 31.08.2010, 14:18
  2. Variablen
    Von Anger im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.04.2010, 15:12
  3. Antworten: 5
    Letzter Beitrag: 30.11.2009, 10:27
  4. Statische Variablen in FB´s
    Von Gerri im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 26.06.2008, 14:34
  5. IN-Out Variablen
    Von 1schilcher im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.07.2007, 12:03

Lesezeichen

Berechtigungen

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