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

Ergebnis 1 bis 5 von 5

Thema: SCL Vergleichsoperation . Hilfe!!

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich bin absoluter SCL Neuling. Probiere mich seit ein paar Wochen mit SCL einiges hat auch schon geklappt.
    Nur folgendes bereitet mir Kopfschmerzen.

    Also: ich habe nen DB1 gemacht, 0.0 -8.0 sind Int

    folgendes Funktioniert, wenn ich den db "symbolisch" anspreche

    FUNCTION FC100 : INT

    IF motor_m1.soll_1 > 20 THEN
    a8.0 :=1;
    END_IF
    FC100 := 100;
    ;
    END_FUNCTION

    ABER: Warum geht es nicht wenn ich den DB direkt eingebe? (motor_m1.soll_1 ist im Db, bzw Awl: db1.dbw4

    If db1.dw4 > 20 Then
    usw usw

    Als fehler bringt er mir immer : 1) unzulässige Operandentypen 2) der Ausdruck muss vom Datentyp BOOL sein.

    Versteh´s nicht, warum geht´s symbolisch??
    Zitieren Zitieren SCL Vergleichsoperation . Hilfe!!  

  2. #2
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    Die Erklärung dafür ist ziemlich lapidar, wenn du symbolisch programmierst, wird der Datentyp INT entsprechend berücksichtigt,
    folglich stehen dir auch sämtliche Vergleichertypen zur Verfügung.

    Wenn du direkt, also DB1.DW4 wird der Wert immer als WORD interpretiert, und folglich kannst du nur auf "=" bzw. "<>" vergleichen.

    Also müsstest du noch eine Typwandlung vornehmen: IF WORD_TO_INT(DB1.DW4) > 20 THEN ...

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  3. Folgender Benutzer sagt Danke zu MSB für den nützlichen Beitrag:

    Django2012 (03.06.2012)

  4. #3
    Avatar von Django2012
    Django2012 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.05.2012
    Beiträge
    157
    Danke
    28
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Lapidar, aber das Hilft mir wenigstens weiter. Danke! . Also bisschen blöd ist das ja schon gemacht, aber was solls. Hauptsache es geht am Schluß

  5. #4
    Registriert seit
    20.11.2006
    Ort
    Hamburg
    Beiträge
    225
    Danke
    35
    Erhielt 35 Danke für 32 Beiträge

    Standard

    Zitat Zitat von Django2012 Beitrag anzeigen


    FUNCTION FC100 : INT

    FC100 := 100;
    ;
    END_FUNCTION
    Nur mal so als Tipp.

    Wenn du schreibst:
    FUNSTION FC100 : VOID
    musst du im FC der Funktion kein Ergebnis zuweisen.

  6. #5
    Avatar von Django2012
    Django2012 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.05.2012
    Beiträge
    157
    Danke
    28
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke, hab nur schnell ne Bausteinvorlage im Editor eingefügt und dann hier rein. Der Tipp von dir, hat mich auch schon mal 2 Stunden beschäftigt SCL totaler beginner

Ähnliche Themen

  1. SCL Hilfe
    Von duMMbatz im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.07.2011, 12:34
  2. Hilfe zu SCL
    Von JensWi. im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 31.01.2008, 13:01
  3. Hilfe - scl
    Von engineering-01 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 22.03.2007, 10:10
  4. SCL- Hilfe
    Von buenne im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 15.02.2007, 12:54
  5. Brauche Hilfe bei SCL.SFC Aufrufen in SCL
    Von Gerold im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 06.10.2005, 10:47

Lesezeichen

Berechtigungen

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