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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: IF Abfrage in SCL

  1. #11
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So geht es:

    Code:
    // Richtstab reinfahren starten 
                IF NOT bPositionierung_REIN AND WORD_TO_INT(DB41.DW[iDW_Soll]) > WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(iDB_Zaehlerkarte)).DW[iDW_Zaehlerkarte]) THEN 
                    bReinfahren := true; 
                    bPositionierung_REIN := true; 
                END_IF;
    Such mal in der SCL-Hilfe unter "Vergleichsausdrücke". Man kann Word-Variablen nicht mit > oder < vergleichen, also muß man Variablen, bei denen das Format nicht bekannt ist wohl erst explizit in Int-Variablen umwandeln, damit der Compiler das schluckt.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  2. #12
    fbeine ist offline Benutzer
    Themenstarter
    Registriert seit
    03.12.2004
    Beiträge
    92
    Danke
    13
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Es klappt, vielen Dank für eure Hilfe

    bis denne
    Frank

  3. #13
    Registriert seit
    14.05.2012
    Beiträge
    157
    Danke
    28
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Block_DB geht nur so zu verwenden:

    Beispiel für Datentypen für Parameter
    Code:
    FUNCTION ABSTAND &#58; REAL
    VAR_INPUT
        MeinDB &#58; BLOCK_DB;
        ZEIT &#58; TIMER ;
    END_VAR
    VAR_TEMP
        INDEX &#58; INT ;
    END_VAR
    BEGIN
    
    ABSTAND &#58;= DWORD_TO_REAL&#40;MeinDB.DD4&#41; ;
    
    END_FUNCTION
    Du mußt die DB-Nummer übergeben und WORD_TO_BLOCK_DB benutzen:

    Code:
    VAR_INPUT
      // Eingangsparameter
      DB_Nr&#58; INT;
      StartP&#58; INT;
      Anzahl&#58; INT;
     
    END_VAR
    
    VAR_IN_OUT
      // Durchgangsparameter
    END_VAR
    
    VAR_OUTPUT
     // Ausgangsparameter
      MAXIMUM&#58; DINT;
    END_VAR
    
    VAR_TEMP
      // temporäre Variablen
      Wert&#58; DINT;
      I&#58; INT;
    END_VAR
    
    BEGIN
      // Anweisungsteil
      MAXIMUM &#58;= 0;
     
       FOR I &#58;= 1 TO Anzahl DO
           Wert &#58;= DWORD_TO_DINT&#40;WORD_TO_BLOCK_DB&#40;INT_TO_WORD&#40;DB_Nr&#41;&#41;.DD&#91;StartP+&#40;&#40;I-1&#41;*4&#41;&#93;&#41;; 
          
           IF MAXIMUM < Wert THEN MAXIMUM &#58;= Wert; END_IF;          
    END_FOR;
    Wofür stehen die ganzen &# ? #Variable? & ist aber kein "And" , oder?

  4. #14
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    @Django2012

    Der Code ist aus 2006, inzwischen hat die Forensoftware einige Versionsänderungen inkl. komplettem Systemwechsel erfahren. Da ist wohl was beim Umformatieren der Texte schiefgelaufen.

    &#58; ist ein Doppelpunkt ( : )
    &#40; ist Klammer auf ( ( )
    &#41; ist Klammer zu ( ) )

    usw.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #15
    Registriert seit
    14.05.2012
    Beiträge
    157
    Danke
    28
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ah. OK. Habe nämlich gestern in nem Siemens Beispiel schon %M10.0 entdeckt. Da war mir % schon nicht klar, das weiß ich mittlerweile. Aber die &# waren jetzt ein bisschen viel des guten ;-=

Ähnliche Themen

  1. Abfrage Bit und if Abfrage
    Von Move im Forum HMI
    Antworten: 5
    Letzter Beitrag: 11.05.2011, 21:58
  2. <> Abfrage
    Von husox81 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 19.04.2010, 10:18
  3. if- Abfrage
    Von Hannes im Forum Sonstige Steuerungen
    Antworten: 0
    Letzter Beitrag: 08.07.2009, 16:45
  4. abfrage SQL-Datenbank
    Von mertens2 im Forum PC- und Netzwerktechnik
    Antworten: 12
    Letzter Beitrag: 14.11.2008, 13:39
  5. bcd abfrage
    Von Hobby programmierer im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 26.05.2005, 22:51

Lesezeichen

Berechtigungen

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