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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Kann man komplette Eingangsbytes auf Status überprüfen?

  1. #1
    Registriert seit
    15.02.2005
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo erstmal!
    Auch ich fange gerade erst an. (MHJ WinSPS-S7)

    In einer Programmieraufgabe sind viele Eingänge (Eingangsbytes 1-3) angegeben, die nur darauf untersucht werden müssten, ob eins oder mehrere Bits davon "1" sind.
    Jetzt kam mir die Idee, ob man für den Fall nicht ein komplettes Eingangswort, meinetwegen EW 1 und EB 3 oder EB 1-3 nehmen kann und einfach schaut, ob eins davon >0 ist.

    Ist das machbar oder muss ich jedes Bit einzelnd abfragen um ein Bit-Ergebnis zu bekommen?

    Kann ich ohne Fehlermeldung/Fehlfunktion bei einem Wort-Komparator einen Eingang auf "0" setzen?
    Bei WinSPS schickt der mir dann eine Warnung, dass die Verknüpfung in dem Netzwerk nicht abgeschlossen sei. Die Funktion stimmt allerdings.
    Problem: Mit einem einzelnen Byte geht das nicht. (?)
    Zitieren Zitieren Kann man komplette Eingangsbytes auf Status überprüfen?  

  2. #2
    cyberlight ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.02.2005
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Beispiel:
    Code:
           O(
           L    EW        1
           L    0
           >I
           )
           O(
           L    EB        3
           L    0
           >I
           )
    Wäre das schon eine gute Lösung?

    (Einfach mal ganz wild drauflosprogrammiert... )

  3. #3
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    bei Wörtern auf >0 vergleichen geht, bei Byte mußt Du umwandeln.
    Du kannst EW 0 z.B. auf 0 vergleichen, dann weißt du aber nicht in welchem Byte was gesetzt ist.
    Bei dem Wort Komparator weiß nicht genau was Du meinst, erklär mal näher.

    mfg

    dietmar

  4. #4
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    ich habe das mal ausprobiert mit PLCsim und S7 hat nicht gemeckert, ob das bei einer richtigen CPU klappt???
    So hab ich es geschrieben:
    O(
    L EW 1
    L 0
    >I
    )
    O(
    L EB 3
    L 0
    >I
    )
    = A 0.0

    also keine Probleme, und in der Simulation hat es Funktioniert.

    mfg

    dietmar

  5. #5
    cyberlight ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.02.2005
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Du kannst EW 0 z.B. auf 0 vergleichen, dann weißt du aber nicht in welchem Byte was gesetzt ist.
    In diesem Fall wäre das egal.

    Bei mir hat es in der Simulation auch funktioniert, sonst hätte ich das hier gar nicht erst hingeschrieben.
    Der Simulator meckert aber, dass ich "nur" EB3 genommen habe und auch, dass das "Netzwerk nicht abgeschlossen" ist.
    Wir ein Byte nicht "automatisch" in ein Wort umgewandelt, wenn man es in den Akku lädt?
    Somit sollte man das doch auch vergleichen können.

  6. #6
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    im FUP oder KOP wird das auch absolut nicht hinhauen, denn da wollen die Vergleicher mindesten Int haben, und das muß ja nun ein Wort sein.
    Meckern Netzwerk nicht abgeschloßen: wenn Du am Ende die Oder-Verknüpfung nicht abfragst, ergänze deinen Code um die Abfrage oder hattest Du schon und er meckert immer noch?


    mfg

    dietmar

  7. #7
    cyberlight ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.02.2005
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das Netzwerk lässt sich problemlos auch in FUP umwandeln, sogar ohne Zuordnung zu einem Merker.

    Du hattest aber auch Recht, denn die Warnung bezog sich wirklich auf den nicht belegten Ausgang.
    Die andere Meldung (EB3 war rot gekennzeichnet), ist allerdings auch verschwunden.

    Läuft ja auch im Simulator einwandfrei, aber ob das nun auch einwandfrei programmiert ist, würde ich doch ganz gern wissen.
    Vergleicher mindesten Int
    Ist ein Byte denn kein int?

    Gibt es auch noch eine andere/geeignetere Möglichkeit, das zu lösen?

  8. #8
    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

    Damit das ganze wirklich funktionieren kann, muß der Vergleicher
    <>I heißen, denn wenn von deinem Eingangswort Bit 15, also E0.7 (kein Verschreiber, ist bei Siemens halt so)
    High ist, dann würde das einen Vorzeichenwechsel bedeuten,
    was bedeutet das dein Wort trotz gesetzter Bits kleiner 0 ist.

    Der Vergleicher mit EB... funktioniert deshalb (zumindest in AWL) da die Sache ja sowieso in einen 16 bzw. 32 Bit Akku kopiert wird.

    Mfg
    Manuel

  9. #9
    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

    Zitat Zitat von cyberlight
    Das Netzwerk lässt sich problemlos auch in FUP umwandeln, sogar ohne Zuordnung zu einem Merker.
    Vielleicht eine "Besonderheit" von MHJ in Step7 gehts jedenfalls nicht

    Läuft ja auch im Simulator einwandfrei, aber ob das nun auch einwandfrei programmiert ist, würde ich doch ganz gern wissen.
    Also ich mach das im Prinzip auch immer so.
    Ist ein Byte denn kein int?
    Nein ein Byte, ist "eben nur" ein Byte, ein INT ist als Wort (16Bit) definiert!

    Mfg
    Manuels

  10. #10
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @ MSB: stimmt hatte das Vorzeichen Bit vergessen , Wandlung in Fup oder KOP geht in Step 7 nicht.

    mfg

    dietmar

Ähnliche Themen

  1. Komplette Bausteine gelöscht
    Von Waelder im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 26.04.2017, 10:05
  2. B: Komplette CPU 416-2 Incl, CPs u.s.w.
    Von Unimog-HeizeR im Forum Suche - Biete
    Antworten: 6
    Letzter Beitrag: 25.01.2011, 17:55
  3. Biete komplette TI
    Von spsfred im Forum Suche - Biete
    Antworten: 1
    Letzter Beitrag: 01.06.2010, 13:39
  4. Komplette Anlage in codesys
    Von Bensen83 im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 21.01.2010, 22:47
  5. Eingangsbytes und Eingangswörter unter Unity Pro
    Von ElRackadusch im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 05.02.2008, 08:01

Lesezeichen

Berechtigungen

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