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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 36

Thema: TIA SCL-Code vereinfachen ?

  1. #11
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.713
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Blockmove Beitrag anzeigen
    Ein "IF ... THEN ... ELSE ... END_IF" ist eine Zuweisung(=).
    Aber eine zweiteilige mit Sprungbefehlen sowie SET und Clear.

    Eine reine Zuweisung wäre in meinen Augen das, was MasterOhh gepostet hat.

  2. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    de vliegende hollander (07.05.2015)

  3. #12
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.476
    Danke
    1.140
    Erhielt 1.238 Danke für 971 Beiträge

    Standard

    Zitat Zitat von hucki Beitrag anzeigen
    Aber eine zweiteilige mit Sprungbefehlen sowie SET und Clear.

    Eine reine Zuweisung wäre in meinen Augen das, was MasterOhh gepostet hat.
    Eines der "Probleme" mit SCL ist, dass manche Programmierer alles mit IF-THEN erschlagen wollen.
    Da werden selbst einfache binäre Verknüpfungen zu wahren Orgien von verschachtelten IF-THEN-Ausdrücken.

    Wenn man in AWL schreibt
    Code:
    U E1.0
    S M1.0
    UN E1.0
    R M1.0
    sagt jeder, dass das unschön ist und eine simple Zuweisung
    Code:
    U E1.0
    = M1.0
    richtiger ist

    In SCL findest du aber jede Menge
    Code:
    IF E1.0 THEN
      M1.0 := TRUE;
    ELSE
      M1.0 := FALSE;
    END_IF;
    obwohl hier genauso
    Code:
    M1.0 := E1.0;
    die bessere Wahl wäre.

    Gruß
    Dieter

  4. Folgende 5 Benutzer sagen Danke zu Blockmove für den nützlichen Beitrag:

    de vliegende hollander (06.05.2015),friendo (06.05.2015),hucki (05.05.2015),rostiger Nagel (06.05.2015),testuser (07.05.2015)

  5. #13
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.713
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard



    Du nimmst mir die Worte aus dem Mund, was ich aber vorhin am Handy nicht so ausführlich schreiben konnte.

  6. #14
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Zitat Zitat von Blockmove Beitrag anzeigen
    Eines der "Probleme" mit SCL ist, dass manche Programmierer alles mit IF-THEN erschlagen wollen.
    Da werden selbst einfache binäre Verknüpfungen zu wahren Orgien von verschachtelten IF-THEN-Ausdrücken.
    Wollen nicht unbedingt.
    Hab gedenkt es muss so.

    Hellebarde hat es ein paar Treads her auch so geschrieben.

    Ziel ist schon einen saubere, übersichtliche schnelle SCl Code schreiben zu können.
    Und dabei fange ich unten an...



    xxxxxxxxxxxxxxxxxxxxxxx

    So, der SCL Baustein ist fertig.
    Im vergleich zu seine AWL (Zykluszeitoptimierte Version) Vorlage ist er auch 5 bis 10% schneller

    Bram
    Geändert von de vliegende hollander (06.05.2015 um 11:33 Uhr) Grund: baustein fertig
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  7. Folgender Benutzer sagt Danke zu de vliegende hollander für den nützlichen Beitrag:

    Blockmove (07.05.2015)

  8. #15
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard

    Zitat Zitat von de vliegende hollander Beitrag anzeigen
    Wollen nicht unbedingt.
    Hab gedenkt es muss so.

    Hellebarde hat es ein paar Treads her auch so geschrieben.

    Ziel ist schon einen saubere, übersichtliche schnelle SCl Code schreiben zu können.
    Und dabei fange ich unten an...



    xxxxxxxxxxxxxxxxxxxxxxx

    So, der SCL Baustein ist fertig.
    Im vergleich zu seine AWL (Zykluszeitoptimierte Version) Vorlage ist er auch 5 bis 10% schneller

    Bram
    Hallo

    da kann ich mir ja gleich zwei grinsen.

    Erstens, dass diese unnötigen IF ... THEN ... := true ELSE ... := false verschwinden
    und zweitens, dass SCL schneller geworden ist wie die Zykluszeitoptimierte AWL-Version


    'n schön' Tach auch
    HB

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

    de vliegende hollander (07.05.2015)

  10. #16
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.476
    Danke
    1.140
    Erhielt 1.238 Danke für 971 Beiträge

    Standard

    Wenn man vernünftigen SCL-Code schreibt, dann erzeugt der Compiler auch schnellen Code.
    Löst man die Aufgabe selber in AWL, dann ist geschwindigkeitsoptimierter Code oft unübersichtlich.

    Gruß
    Dieter

  11. Folgender Benutzer sagt Danke zu Blockmove für den nützlichen Beitrag:

    de vliegende hollander (07.05.2015)

  12. #17
    Registriert seit
    07.05.2015
    Beiträge
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Mahlzeit.
    Hab mich grad wegen dieser Diskusion angemeldet, da ich selber eine Frage diesbezüglich habe und jeden tag ins Forum schaue um neue Ideen zu sammeln.
    Wie würdet ihr das Vorzeichen einer Real variable in SCL entfernen? Ich hab das Bisher so gemacht
    Code:
     #T_POS_RE_DIF := DWORD_TO_REAL(DW#16#7FFFFFFF And REAL_TO_DWORD(#IO_AKT_PRG[1].WKZ_H - #IO_AKT_PRG[2].WKZ_H));
    was absolut nicht schön ist, so mach ich das normaler weise auch in AWL.

  13. #18
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von neonlamp3 Beitrag anzeigen
    mahlzeit.
    Hab mich grad wegen dieser diskusion angemeldet, da ich selber eine frage diesbezüglich habe und jeden tag ins forum schaue um neue ideen zu sammeln.
    Wie würdet ihr das vorzeichen einer real variable in scl entfernen? Ich hab das bisher so gemacht
    Code:
     #t_pos_re_dif := dword_to_real(dw#16#7fffffff and real_to_dword(#io_akt_prg[1].wkz_h - #io_akt_prg[2].wkz_h));
    was absolut nicht schön ist, so mach ich das normaler weise auch in awl.
    Code:
    #t_pos_re_dif := ABS(#io_akt_prg[1].wkz_h - #io_akt_prg[2].wkz_h);
    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

  14. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    NeoNlAmp3 (07.05.2015)

  15. #19
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Zitat Zitat von NeoNlAmp3 Beitrag anzeigen
    Mahlzeit.
    Hab mich grad wegen dieser Diskusion angemeldet, da ich selber eine Frage diesbezüglich habe und jeden tag ins Forum schaue um neue Ideen zu sammeln.
    Wie würdet ihr das Vorzeichen einer Real variable in SCL entfernen? Ich hab das Bisher so gemacht
    Code:
     #T_POS_RE_DIF := DWORD_TO_REAL(DW#16#7FFFFFFF And REAL_TO_DWORD(#IO_AKT_PRG[1].WKZ_H - #IO_AKT_PRG[2].WKZ_H));
    was absolut nicht schön ist, so mach ich das normaler weise auch in AWL.
    Solche Converter Funktionen würde ich auch einsetzen, und es wird immer andere und bessere wegen geben denke ich.


    Wie mehr ich jetzt mit der SCL mache, wie mehr ich mir abfrage warum ich mich nicht früher damit auseinander gesetzt hab.
    hab jetzt echt so etwas von " Ich mache nie wieder AWL"
    Es macht echt spaß.

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  16. Folgende 2 Benutzer sagen Danke zu de vliegende hollander für den nützlichen Beitrag:

    Blockmove (07.05.2015),shrimps (07.05.2015)

  17. #20
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.476
    Danke
    1.140
    Erhielt 1.238 Danke für 971 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von de vliegende hollander Beitrag anzeigen
    Wie mehr ich jetzt mit der SCL mache, wie mehr ich mir abfrage warum ich mich nicht früher damit auseinander gesetzt hab.
    hab jetzt echt so etwas von " Ich mache nie wieder AWL"
    Es macht echt spaß.

    Bram
    Schau dir die Sichten / Views (Deklaration mit AT) an.
    Das macht dann richtig Spass!

    Gruß
    Dieter

Ähnliche Themen

  1. TIA SCL Code Problem
    Von lsr im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 19.02.2015, 22:44
  2. Step 7 SCL Code
    Von Casio im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 12.03.2014, 10:33
  3. Exponent im SCL Code
    Von paula23 im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 08.09.2013, 19:40
  4. SCL code
    Von awl-scl im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 14.01.2008, 17:02
  5. 1.Adressübertragung?, 2.SCL-code?
    Von hobel im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 05.09.2006, 14:49

Lesezeichen

Berechtigungen

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