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

Ergebnis 1 bis 7 von 7

Thema: S5 AWL Syntax Problem (S5-115U 944B)

  1. #1
    Registriert seit
    09.08.2011
    Beiträge
    16
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen, zu allererst muss ich dieses Forum mal loben, habt mir schon oft Anregungen geben können!
    Nun hab ich allerdings ein Problem mit dem ich nicht weiter weiß:
    ich möchte eine FB schreiben der eine Anzahl von DW in einem DB auf 0 schreibt - soweit bin ich gekommen:
    Code:
     
    BEZ: DB B 
    BEZ: ANFG DKF 
    BEZ: LAEN DKF 
    BEZ: HMW EW  
    
    B  =DB 
    L  KF0 
    T  =HMW 
    LW =ANFG 
    T  =HMW
    
    M001: L KF0
    B =HMW
    T DW0
    
    L =HMW
    L KF1
    +F
    T =HMW
    
    L =HMW
    LW =LAEN
    <=F
    SPB =M001
    BE
    Mein Problem ist nun das "B" (also Bearbeite) anscheinend nur bei direkter Adressierung funktioniert - bei indirekter hab ich einen "BI" Befehl gefunden. Da weiß ich aber leider nicht wie ich den zu nutzen hab. In der Anleitung stand, dass das, was in ACCU1 steht dann zum bearbeiten genutzt wird - allerdings wo kommt dann der Lade 0 und der Transfer-Befehl bin?

    Wäre echt prima, wenn mir da einer weiterhelfen könnte.

    gruß
    Christoph78
    Geändert von christoph78 (09.08.2011 um 17:13 Uhr)
    Zitieren Zitieren S5 AWL Syntax Problem (S5-115U 944B)  

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

    Standard

    Zitat Zitat von christoph78 Beitrag anzeigen
    Mein Problem ist nun das "B" (also Bearbeite) anscheinend nur bei direkter Adressierung funktioniert - bei indirekter hab ich einen "BI" Befehl gefunden.
    Hallo Christoph,
    der "B" (Bearbeite) Befehl geht definitiv auch bei der indirekten Adressierung.
    Ersetze doch mal in deinem Programm das "HMW" durch ein richtiges Hilfsmerkerwort (z.B. MW200), dann sollte es funktionieren.
    Alternativ zu deiner Schleife gibt es auch den Befehl "TNB" für Byteweiser Blocktransfer.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  3. #3
    christoph78 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2011
    Beiträge
    16
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Paule,

    danke für die schnelle Antwort! Das mit dem direkten Merker (z.B B MW200) funktioniert auch. Da ich das in verschiedenen Steuerungen einsetzen möchte habe ich nicht immer das selbe Merkerwort zur Verfügung. Daher wollte ich das halt über diese Deklaration machen.

  4. #4
    Registriert seit
    08.10.2009
    Ort
    Südpfalz
    Beiträge
    273
    Danke
    43
    Erhielt 54 Danke für 47 Beiträge

    Standard

    Zitat Zitat von christoph78 Beitrag anzeigen
    ...
    Das mit dem direkten Merker (z.B B MW200) funktioniert auch. Da ich das in verschiedenen Steuerungen einsetzen möchte habe ich nicht immer das selbe Merkerwort zur Verfügung. Daher wollte ich das halt über diese Deklaration machen.
    Hi christoph,

    bei S5 wurden die Merker ab 200 sehr oft als "Schmiermerker" in FBs benutzt, auch von Siemens in ihren Standard-FBs.
    Da musst du also vorsichtig sein, wenn du diesen M-Bereich global benutzen willst/musst. Querverweisliste !!

    Aber probiere mal an deinem FB den Bezeichner =HMW als AW, nicht EW.
    Vielleicht klappt das dann mit dem beschreiben.

    Gruß Roland
    Nicht Mensch, nicht Tier: Programmierer halt ...

  5. #5
    christoph78 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2011
    Beiträge
    16
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Roland,

    Werde das morgen mal probieren.

    Mit dem Schmiermerker stimmt, ist bei einigen als PAFE oder ähnliches eingesetzt. Sollte also nicht so schlimm sein, da immer überschrieben wird (ist nur temporär, wird nicht ausgewertet)

    Schönen Abend noch
    Gruß
    Christoph

  6. #6
    christoph78 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2011
    Beiträge
    16
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Morgen zusammen,

    die Änderung von "EW" nach "AW" hat leider nicht funktioniert.

    Das Problem liegt meiner Meinung an dem "B", da dieser Befehl ja durch den Bausteinaufruf belegt ist - müßte also in meinem Fall irgendwie anders heißen um "Bearbeite" auszulösen.

    Gruß
    Christoph78

  7. #7
    Registriert seit
    01.11.2007
    Beiträge
    1.237
    Danke
    91
    Erhielt 407 Danke für 368 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hab den BI-Befehl (ohne Gewähr!) so in Erinnerung, dass im Aktualoperand der auszuführende MC5-Code steht.
    D.h. mit
    Code:
    L KF+4
    BI
    wird bei dir der 4. Formaloperand (dein HMW) indirekt bearbeitet.
    Wenn du nun als Aktualoperand für HMW z.B. MW120 verwendest und da drin 3300 (MC5-Code für T DW0) steht, so wird mit dem BI also T DW0 ausgeführt. Somit ließe sich deine Schleife ohne Schmiermerker realisieren, ob das dann verständlicher ist, ist eine andere Frage ...

    Grüße von HaDi

Ähnliche Themen

  1. Störung auf s5 115U mit CPU 944B
    Von Anfänger 2010 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 02.06.2011, 21:08
  2. s5-115u Problem
    Von Angelboert im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 21.12.2009, 18:03
  3. Unterschied 115U 943B => 944B
    Von reinholdus im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.07.2008, 14:29
  4. Problem mit FC5 Syntax
    Von Olbrich1983 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.06.2007, 19:17
  5. S5 115U Problem
    Von cmm1808 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 20.06.2005, 16:49

Lesezeichen

Berechtigungen

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