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

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

Thema: S5 Code richtig verstehen

  1. #1
    Registriert seit
    16.02.2009
    Beiträge
    8
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich hab da mal ne Frage bezüglich eines S5 Codes, und zwar geht es um den Teil mit L KY 0,0. Ich kann das irgendwie nicht nachvollziehen. Es findet ja erst einmal der "Und Vergleich" statt aber was passiert danach?
    Mit KY 0,0 wird ja wenn ich es richtig verstanden hab mit der ersten 0 highbyte angesprochen und mit der zweiten das lowbyte?! Und wird einfach nur der Akku mit 0 überschrieben oder was soll das?
    was passiert mit dem Ergebniss aus dem vergleich? wird dieses in DW "inhalt MW206" geschrieben oder was passiert? und wann wird BEB gesetzt?
    Es wäre super wenn ihr mir helfen könnte ich tüftel an dem problem schon ein bissel länger.

    Code:
    //Auszug
    
    A DB8                   // Aufruf DB
    
    B MW200              //inhalt int z.B.: 10
    L DW 0                 // Adresse definiert durch B MW200  d.h.:  DW10 
    L KM 11111111 11111101 
    UW                      // WORD VERGLEICH
    L KY 0,0 
    B MW206
    T DW 0
    BEB
    
    B MW 200
    L DW 0
    L KM 00000000 00000010
    OW
    B MW 200
    T DW 0
    ***
    Zitieren Zitieren S5 Code richtig verstehen  

  2. #2
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo Werner,

    UW ist nicht VKE-beinflussend, BEB reagiert nur auf VKE=1. Was kommt vor deinem Codeschnippsel? Das DW mit Adresse in MW206 wird genullt. Biste dir sicher dass der Programmteil funktioniert wie er gedacht war?

    L KY 0,0 -> L KF 0

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Code  

  3. Folgender Benutzer sagt Danke zu sps-concept für den nützlichen Beitrag:

    Werner81 (03.03.2009)

  4. #3
    Werner81 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.02.2009
    Beiträge
    8
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey André

    Sicher bin ich mir da eigentlich schon, da dass Programm aus einer Laufenden Analge stammt. der code sieht im original so aus:
    Code:
    Netzwerk 4:
    
    U E0.0
    SPB =M001
    
    B MW200              //inhalt int z.B.: 10
    L DW 0                 // Adresse definiert durch B MW200  d.h.:  DW10 
    L KM 11111111 11111101 
    UW                      // WORD VERGLEICH
    L KY 0,0 
    B MW206
    T DW 0
    BEB
    
    M001:
    B MW 200
    L DW 0
    L KM 00000000 00000010
    OW
    B MW 200
    T DW 0
    ***
    der db wird in ein paar netzwerken vorher schon geöffnet. Aber wenn e0.0 true ist und das VKE gesetzt ist macht er ja nen sprung oder wird das vke auch gesetzt wenn e0.0 false ist?
    Oder kann das vke auch in den vorherigen netzwerken gesetzt werden?

  5. #4
    Registriert seit
    18.01.2008
    Beiträge
    40
    Danke
    7
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Code:
    //Auszug
     
    A DB8                   // Aufruf DB
     
    B MW200              //inhalt int z.B.: 10
    L DW 0                 // Adresse definiert durch B MW200  d.h.:  DW10 
    L KM 11111111 11111101 
    UW                      // WORD VERGLEICH
    L KY 0,0 
    B MW206
    T DW 0
    BEB
    Mit dem UW wird jetzt nur das .1 Bit ausgeblendet, das VKE wird nicht verändert.

    L KY 0,0 würde ich mit L 2#0 gleichsetzten!

    Nur wenn ich das richtig verstehe wird jetzt das KY 0,0 in das Datenwort transferiert, welches im MW 206 adressiert wird!?

    Das BEB wird von dem hier sichtbaren Code jedenfalls nicht beeinflusst, muss also davor liegen!

    Code:
    B MW 200
    L DW 0
    L KM 00000000 00000010
    OW
    B MW 200
    T DW 0
    ***
    Mit OW wird hier nur sichergestellt, das das .1 Bit auf jeden fall True ist!
    der Rest sollte klar sein!

    Mich würde dann auch interessieren was davor steht....

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

    Werner81 (03.03.2009)

  7. #5
    Registriert seit
    18.01.2008
    Beiträge
    40
    Danke
    7
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Mist, da war ich zu langsam!

    Also mit dem neuen Code macht das BEB noch weniger Sinn. Sobald E 0.0 = True, dann wird gesprungen, das bedeutet das das BEB nie eine Berücksichtigung findet, da das VKE an dieser Stelle (BEB) immer False sein muss.

    Ach so, das VKE kann bei S5 nicht über die Netzwerkgrenze hinaus benutzt werden!
    Geändert von schoeneberg (03.03.2009 um 11:09 Uhr) Grund: Was vergessen!

  8. Folgender Benutzer sagt Danke zu schoeneberg für den nützlichen Beitrag:

    Werner81 (03.03.2009)

  9. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich denke mal, da hätte auch ein BEA stehen können. Nach

    SPB =M001

    ist das VKE 1, das wird dort immer auf 1 gesetzt. Damit reagiert das BEB in diesem Falle wie ein BEA, denn wenn der Sprung ausgeführ wird, wird ja das BEB ohnehin übersprungen.

    Warum die aber das UW ausführen???
    L KY 0,0 wurde vielleicht nachträglich mal eingefügt um eine 0 auf das indirekt adressierte DW zu schreiben.
    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

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

    Werner81 (03.03.2009)

  11. #7
    Registriert seit
    18.01.2008
    Beiträge
    40
    Danke
    7
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Ich denke mal, da hätte auch ein BEA stehen können. Nach

    SPB =M001

    ist das VKE 1, das wird dort immer auf 1 gesetzt.
    Das ist mir neu. Das VKE wird doch durch den Sprung nicht beeinflusst.

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

    Werner81 (03.03.2009)

  13. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von schoeneberg Beitrag anzeigen
    Das ist mir neu. Das VKE wird doch durch den Sprung nicht beeinflusst.
    Nach dem Sprungbefehl ist das VKE immer 1, da ein Sprungbefehl VKE-begrenzend ist!

    PS: Hier mal noch die entsprechende Passage aus der Step7-Hilfe zu SPB (Ist aber bei Step5 auch so):

    Wenn VKE = 0, wird der Sprung nicht ausgeführt. Das VKE wird auf "1" gesetzt, und der Programmablauf wird mit der folgenden Anweisung fortgesetzt.
    Geändert von Ralle (03.03.2009 um 11:16 Uhr)
    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. Folgende 2 Benutzer sagen Danke zu Ralle für den nützlichen Beitrag:

    schoeneberg (03.03.2009),Werner81 (03.03.2009)

  15. #9
    Registriert seit
    18.01.2008
    Beiträge
    40
    Danke
    7
    Erhielt 6 Danke für 6 Beiträge

    Daumen hoch

    Ist mir noch nie Aufgefallen! Wieder was gelernt, danke!

  16. #10
    Werner81 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.02.2009
    Beiträge
    8
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich glaub ich hab die stelle gefunden in der das VKE gesetzt wird und zwar findet ein paar netzwerke vorher ein vergleich statt zwischen zwei int zahlen mit bool ergebnis. und danach gibt es für mich keine ersichtliche stelle wo das vke zurück gestzt wird.
    allerdings wie gesagt in einem andren netzwerk

Ähnliche Themen

  1. OB100 verstehen
    Von snowpanter im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 01.10.2010, 17:19
  2. C++ Code
    Von rabit im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 03.01.2010, 10:42
  3. AWL-Anweisung verstehen
    Von kiestumpe im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 26.01.2006, 08:51
  4. Hilfe zum verstehen einer SCL Quelle
    Von Lobo im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 13.01.2006, 17:02
  5. AWL-code
    Von Anonymous im Forum Simatic
    Antworten: 29
    Letzter Beitrag: 09.11.2005, 16:48

Stichworte

Lesezeichen

Berechtigungen

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