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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Frage zu Code?

  1. #1
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo liebes Forum,

    an einer Maschine, die mein Vorgänger programmiert hat, passiert sporadisch etwas, das ich mir (noch) nicht erklären kann.

    Obgleich beide Alarm-Wörter den Status 0 haben, ist der Merker M11.0 aktiv und zeigt einen anstehenden Alarm an... den es aber gar nicht gibt. Wie kann das sein?

    Alarm.jpg
    LG
    spirit
    Zitieren Zitieren Frage zu Code?  

  2. #2
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Aus dem Stückchen Code ist das nicht zu erkennen.
    Doppeltzuweisung?
    Woher kommen die Alarme?
    Gruß
    Michael

  3. #3
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Hi Michael,

    nein eine Doppelzuweisung liegt nicht vor. M11.0 wird nur noch an eine andere FC übergeben.

    Aber in dem Stückchen Code ist doch eindeutig zu erkennen, dass beide Vergleiche auf Ungleich 0 "false" sind, dann kann doch M11.0 nicht plötzlich den Status 1 haben, oder?

    Ich weiß ja nicht um was für einen Alarm es sich handeln soll; alles Bits in den beiden AlarmWörtern sind ebenfalls 0.
    LG
    spirit

  4. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    Für mich sieht das so aus, als ob es in (einem der) vorherigen Netzwerk(e) eine nicht abgeschlossene Verknüpfung steht.
    Also ein einzelnes "UND bzw. ODER" ohne folgende Zuweisung, wodurch das erste O( keine Erstabfrage darstellt.

    Du kannst mal im Status das Statuswort mit einblenden, hier gibt es das Bit /ER, dieses mal kontrollieren.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Ich vermute, das Netzwerk davor wurde nicht VKE-begrenzend abgeschlossen - wurde da vielleicht etwas auskommentiert?
    Füge mal vor den Vergleichen ein SET oder CLR ein.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Das "mitgeschleppte" VKE sieht man bei der ersten schließenden Klammer. Da müßte VKE=0 angezeigt werden - ist hier aber 1.
    (Zustand des VKE ist in der ersten Statusspalte)

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #7
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Wow! Ja, ihr habt Recht.

    Einige Netzwerke davor war etwas auskommentiert.

    Das heißt also, solche Klammerausdrücke sind nicht VKE-begrenzend - daher müsste im Normalfall nach jeder schließenden Klammer das VKE = 0 sein. Stimmt das so?

    Lieben Dank!
    LG
    spirit

  8. #8
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Deswegen sollte man solche Netzwerke immer mit einem UND beginnen.

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Das heißt also, solche Klammerausdrücke sind nicht VKE-begrenzend
    Ja

    daher müsste im Normalfall nach jeder schließenden Klammer das VKE = 0 sein. Stimmt das so?
    Nein.

    Die schließende Klammer verknüpft das in der Klammer gebildete "Unter-VKE" mit dem VKE der bisherigen Verknüpfung vom vorherigen "Klammer Auf" - so wie da angegeben - bei Dir also O( --> ODER
    Das kann auch VKE = 1 ergeben.

    VKE-begrenzend sind nur Zuweisungen S/R/=, SET, CLR, SPB, SPBN, (...?), jedoch kein Beginn einer Verknüpfung. Ob eine neue Verknüpfung beginnt oder eine laufende fortgesetzt wird, sehen die Verknüpfungsoperationen U/O/X/... am Statusbit /ER (Erstabfrage) - ist das Bit 0, dann beginnt eine neue Verknüpfung und das bei der Operation gebildete VKE wird direkt unverknüpft als VKE der Verknüpfungskette übernommen. Das Statusbit /ER wird von VKE-begrenzenden Operationen auf 0 gelöscht.


    Zitat Zitat von hucki Beitrag anzeigen
    Deswegen sollte man solche Netzwerke immer mit einem UND beginnen.
    Das ist ein offensichtlich weit verbreiteter Irrtum. Man sieht diese "Angst"-UND ja ziemlich häufig, doch die helfen leider auch nicht gegen die VKE-Verschleppung. Dann tritt nämlich der gegenteilige Effekt auf: die Verknüpfungskette ist voll erfüllt und doch entsteht keine VKE = 1, wenn von vorher ein VKE = 0 mitgeschleppt wird.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. Folgende 2 Benutzer sagen Danke zu PN/DP für den nützlichen Beitrag:

    Flux (22.10.2013),hucki (21.10.2013)

  11. #10
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von PN/DP Beitrag anzeigen
    Nein.

    Die schließende Klammer verknüpft das in der Klammer gebildete "Unter-VKE" mit dem VKE der bisherigen Verknüpfung vom vorherigen "Klammer Auf" - so wie da angegeben - bei Dir also O( --> ODER
    Das kann auch VKE = 1 ergeben.

    Harald
    Hm, so ganz verstehe ich das noch nicht, sorry.

    Die schließende Klammer sollte doch das bisherige (davorstehende) VKE mit dem in der Klammer verknüpfen.

    Bei mir hatte durch das Auskommentieren das VKE vor dem "(O" doch den Status 1, oder?
    Der Klammerausdruck war jedoch nicht erfüllt, somit VKE = 0.

    Nach Schließen der Klammer war das VKE = 1 durch ODER. Nur, woran hast du gesehen, dass da davor etwas auskommentiert sein muss - es ist doch nichts Ungewöhnliches, dass das VKE vor der Klammer 1 hat?
    LG
    spirit

Ähnliche Themen

  1. Code Frage
    Von mitchih im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.10.2012, 23:19
  2. C++ Code
    Von rabit im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 03.01.2010, 10:42
  3. Antworten: 15
    Letzter Beitrag: 09.04.2009, 20:57
  4. Spezielle Step7 Code-Frage
    Von ssound1de im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 07.11.2008, 09:12
  5. Antworten: 4
    Letzter Beitrag: 18.05.2005, 18:49

Lesezeichen

Berechtigungen

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