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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Subtraction in SCL

  1. #1
    Registriert seit
    20.02.2011
    Beiträge
    6
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ich habe mal eine frage bezüglich der SCL Programmierung.
    Ich möchte zwei MD's miteinander Subtraireren. Kann ich das einfach so schreiben:
    FUNCTION FC1 : INT

    VAR_TEMP

    END_VAR

    MD10 - MD20 := MD30;

    END FUNCTION
    MfG
    Stargatemaster
    Zitieren Zitieren Subtraction in SCL  

  2. #2
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Wie bei fast allen Programmiersprachen erfolgt die Zuweisung von rechts nach links.

    Code:
    Ergebnis := Zahl_1 - Zahl_2;

    [edit]
    Außer der Reihenfolge ist dazu noch aus dem Code nicht ersichtlich wie die Zahlen zu interpretieren sind.
    "MD" kann bei Siemens für DINT, DWORD oder REAL stehen.
    Daher sollte man zur symbolischen Darstellung von Variablen wechseln.
    [/edit]
    Geändert von zotos (28.03.2011 um 18:49 Uhr)
    If you open your Mind too much, your Brain will fall out.

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

    Stargatemaster (28.03.2011)

  4. #3
    Stargatemaster ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2011
    Beiträge
    6
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also würde es so Funktionieren?
    FUNCTION FC1 : INT

    VAR_TEMP

    END_VAR

    MD30 := MD10 - MD20;

    END FUNCTION
    Ich hab zur zeit leider keine SPS oder S7 zur verfügung...deshalb die frage.

    MfG

  5. #4
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von Stargatemaster Beitrag anzeigen
    Also würde es so Funktionieren?
    Nein. Warum nicht habe ich, zeitgleich zu Deiner Nachfrage, editiert.
    If you open your Mind too much, your Brain will fall out.

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

    Stargatemaster (28.03.2011)

  7. #5
    Stargatemaster ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2011
    Beiträge
    6
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    In meinem Beispiel wären es REAL Zahlen. ich habe sie vorher in der Symboltabelle definiert.
    Würde es dann funktionieren oder was muss ich noch dazuschreiben damit es Funktioniert?
    Danke für deine Hilfe

  8. #6
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Dann sollte es so funktionieren. Wie hast Du die Variablen denn in der Symboltabelle genannt? Nimm am besten die Namen aus der Symboltabelle.
    If you open your Mind too much, your Brain will fall out.

  9. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    Stargatemaster (28.03.2011)

  10. #7
    Stargatemaster ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2011
    Beiträge
    6
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Code:
    Symbol: MD10
    Adresse: MD 10
    Datentyp: REAL
    Kommentar: Minuend
    genauso hab ich es auch für die anderen MDs gemacht...

  11. #8
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Wie gesagt dann sollte es so gehen. Warum hast Du den Vraiablen keinen griffigeren Namen gegeben?
    Für was stehen den die Realwerte (Temperaturen, Füllstände, oder was)?
    If you open your Mind too much, your Brain will fall out.

  12. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    Stargatemaster (28.03.2011)

  13. #9
    Stargatemaster ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.02.2011
    Beiträge
    6
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja es ist Teil einer Füllstandsregelung. Ich hab Analoge eingänge und ausgänge und die hab ich vorher mit einem FC105 SCALE Baustein in Real werte gewandelt und mit diesen werten wollte ich dann rechnen. Abschließen werden die REAL werte wieder mit einem Unscale baustein in ein PAW ungewandelt.

    Hast du denn ein Vorschlag für Griffige Namen? Ich bin da immer so einfallslos...

  14. #10
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Stargatemaster Beitrag anzeigen
    Hast du denn ein Vorschlag für Griffige Namen? Ich bin da immer so einfallslos...
    Da der Kommentar sehr kurz ist, könntest du diesen direkt als Symbolnamen nehmen:
    Code:
    Symbol: Minuend
    Adresse: MD 10
    Datentyp: REAL
    Kommentar: Minuend
    Somit könnte es so ausschauen:
    Code:
    Differenz := Minuend - Subtrahend;
    //oder 
    Ergebnis := Istwert - Korrekturfaktor;
    //oder
    Leckeres_Essen := Fleisch + Nudeln;
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

Lesezeichen

Berechtigungen

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