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

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

Thema: AWL-Anweisung verstehen

  1. #1
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    was macht S7 bei folgender AWL-Anweisung in einem FC
    Code:
       U     L      0.0                  // Automatikbetrieb
    Wird die absolute Adresse M0.0 in den Akku geladen ??

    MFG

    Franky[/i]
    Zitieren Zitieren AWL-Anweisung verstehen  

  2. #2
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    vielleicht.

    schau mal im deklarationsteil unter temp. dort sind die lokaldaten definiert.

    L 0.0 ist das erste bit aus den lokaldaten.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  3. #3
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Zitat Zitat von kiestumpe
    Hallo,

    was macht S7 bei folgender AWL-Anweisung in einem FC
    Code:
       U     L      0.0                  // Automatikbetrieb
    Wird die absolute Adresse M0.0 in den Akku geladen ??

    MFG

    Franky[/i]
    Auf jeden Fall ist das keine saubere Arbeit. Siemens macht sowas gerne beim umschalten von KOP/FUP in AWL, aber ein Programmierer sollte das nicht tun.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.
    Zitieren Zitieren Re: AWL-Anweisung verstehen  

  4. #4
    Anonymous Gast

    Standard

    Auf jeden Fall ist das keine saubere Arbeit. Siemens macht sowas gerne beim umschalten von KOP/FUP in AWL, aber ein Programmierer sollte das nicht tun.
    warum nicht?

  5. #5
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    seh ich auch so. warum nicht?

    z.b. ich habe i tempbereich ein word liegen und muss unbedingt daruas den zustand eines bits wissen., ist das super über das L zu erreichen.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. #6
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Ähm, nachvollziehbarkeit???

    Mach das 20mal in einem Baustein.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  7. #7
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    ich mach das auch manchmal.
    aber nur bei kleinen einfachen bausteienen.

    ansonsten wird es nämlich pervers wenn später ein kollege die länge eines
    arrays ändert, eine structur erweitert oder einfach ein variable davor einfügt....


    die sauberste lösung um dies zu verhindern wäre wohl den pointer zu laden:


    L P##Word_Var
    U L [ar1,P#0.x]


    oder meinetwegen noch mit schmiemerkern:

    L Word_Var
    T MW240

    u m240.x


    aber direkter zugriff ist böse...
    aber hier darf man siemens mal wieder loben, wenn variablen aus dem temp-bereich absolut verwendet werden, dann mekert der editor beim einfügen neuer variablen...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  8. #8
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Einfach symbolisch arbeiten (zu verwendende Lokalvariablen in Variablentabelle des Bausteins deklarieren), dann ist es kein Problem und harmoniert mit FUP.
    Absolute Zugriffe auf Lokaldaten sollte man möglichst vermeiden.

  9. #9
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    Zitat Zitat von HeizDuese
    Einfach symbolisch arbeiten (zu verwendende Lokalvariablen in Variablentabelle des Bausteins deklarieren), dann ist es kein Problem und harmoniert mit FUP.
    Absolute Zugriffe auf Lokaldaten sollte man möglichst vermeiden.

    wenn aber "Word_Var" das LW0 belegt, und ich aus irgendeinem grund (es gibt welche) auf das erste bit dieses wortes zugreifen will, dann kann ich dieses bit nicht auch noch symbolisch adressieren weil alles von l0.0 bis l1.7 bereits von "Word_Var" belegt ist...

    dann geht nur noch absolut, oder über schmiermerker oder indirekt wie ich es oben gepostet habe...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  10. #10
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Markus
    wenn aber "Word_Var" das LW0 belegt, und ich aus irgendeinem grund (es gibt welche) auf das erste bit dieses wortes zugreifen will, dann kann ich dieses bit nicht auch noch symbolisch adressieren weil alles von l0.0 bis l1.7 bereits von "Word_Var" belegt ist...

    dann geht nur noch absolut, oder über schmiermerker oder indirekt wie ich es oben gepostet habe...
    klar, es gibt Aufgabenstellungen, zu denen Siemens oder auch die IEC 61131 noch keine Lösung parat hat, wo man aber mit verschiedenen Methoden Abhilfe schaffen kann.

    So ist es natürlich schnell und kompakt in diesem Fall absolut zu adressieren.

    Man könnte aber selbst hier, mit ein bißchen mehr Code auch noch symbolisch weitermachen:

    Code:
    L    #Word_Var
    L    1    // Bit 0 maskieren
    UW
     :
     :
    und noch auf ungleich 0 abfragen. Das bläht natürlich den Code auf und man neigt dann doch dazu, die schnelle, absolute Variante zu nutzen.

    Wäre ja auch zu schön, wenn so etwas gehen würde:
    Code:
    U     #Word_Var.0
     :
     :

Ähnliche Themen

  1. SCL und If-Anweisung
    Von steven001 im Forum Programmierstrategien
    Antworten: 33
    Letzter Beitrag: 09.06.2012, 17:54
  2. OB100 verstehen
    Von snowpanter im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 01.10.2010, 17:19
  3. Anweisung ?
    Von Xaverl im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.01.2010, 14:29
  4. S5 Code richtig verstehen
    Von Werner81 im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 03.03.2009, 13:37
  5. Hilfe zum verstehen einer SCL Quelle
    Von Lobo im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 13.01.2006, 17:02

Lesezeichen

Berechtigungen

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